packages feed

ua-parser 0.7.5.1 → 0.7.6.0

raw patch · 10 files changed

+15291/−12229 lines, 10 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

changelog.md view
@@ -1,3 +1,7 @@+0.7.6.0+* Newer GHC support+* Update regexes+ 0.7.5.1 * Resolve deprecation warning in YAML parsing. 
deps/uap-core/regexes.yaml view
@@ -1,4944 +1,5587 @@ user_agent_parsers:   #### SPECIAL CASES TOP #### -  # @note: iOS / OSX Applications-  - regex: '(CFNetwork)(?:/(\d+)\.(\d+)\.?(\d+)?)?'-    family_replacement: 'CFNetwork'--  # Pingdom-  - regex: '(Pingdom.com_bot_version_)(\d+)\.(\d+)'-    family_replacement: 'PingdomBot'-    # 'Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) PingdomTMS/0.8.5 Safari/534.34'-  - regex: '(PingdomTMS)/(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'PingdomBot'--  #StatusCake-  - regex: '(\(StatusCake\))'-    family_replacement: 'StatusCakeBot'--  # Facebook-  - regex: '(facebookexternalhit)/(\d+)\.(\d+)'-    family_replacement: 'FacebookBot'--  # Google Plus-  - regex: 'Google.*/\+/web/snippet'-    family_replacement: 'GooglePlusBot'--  # Gmail-  - regex: 'via ggpht.com GoogleImageProxy'-    family_replacement: 'GmailImageProxy'--  # Twitter-  - regex: '(Twitterbot)/(\d+)\.(\d+)'-    family_replacement: 'TwitterBot'--  # Bots Pattern '/name-0.0'-  - regex: '/((?:Ant-)?Nutch|[A-z]+[Bb]ot|[A-z]+[Ss]pider|Axtaris|fetchurl|Isara|ShopSalad|Tailsweep)[ \-](\d+)(?:\.(\d+)(?:\.(\d+))?)?'-  # Bots Pattern 'name/0.0'-  - regex: '\b(008|Altresium|Argus|BaiduMobaider|BoardReader|DNSGroup|DataparkSearch|EDI|Goodzer|Grub|INGRID|Infohelfer|LinkedInBot|LOOQ|Nutch|PathDefender|Peew|PostPost|Steeler|Twitterbot|VSE|WebCrunch|WebZIP|Y!J-BR[A-Z]|YahooSeeker|envolk|sproose|wminer)/(\d+)(?:\.(\d+)(?:\.(\d+))?)?'--  # MSIECrawler-  - regex: '(MSIE) (\d+)\.(\d+)([a-z]\d?)?;.* MSIECrawler'-    family_replacement: 'MSIECrawler'--  # Downloader ...-  - regex: '(Google-HTTP-Java-Client|Apache-HttpClient|http%20client|Python-urllib|HttpMonitor|TLSProber|WinHTTP|JNLP|okhttp)(?:[ /](\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'--  # Bots-  - regex: '(1470\.net crawler|50\.nu|8bo Crawler Bot|Aboundex|Accoona-[A-z]+-Agent|AdsBot-Google(?:-[a-z]+)?|altavista|AppEngine-Google|archive.*?\.org_bot|archiver|Ask Jeeves|[Bb]ai[Dd]u[Ss]pider(?:-[A-Za-z]+)*|bingbot|BingPreview|blitzbot|BlogBridge|Bloglovin|BoardReader(?: [A-Za-z]+)*|boitho.com-dc|BotSeer|\b\w*favicon\w*\b|\bYeti(?:-[a-z]+)?|Catchpoint(?: bot)?|[Cc]harlotte|Checklinks|clumboot|Comodo HTTP\(S\) Crawler|Comodo-Webinspector-Crawler|ConveraCrawler|CRAWL-E|CrawlConvera|Daumoa(?:-feedfetcher)?|Feed Seeker Bot|Feedbin|findlinks|Flamingo_SearchEngine|FollowSite Bot|furlbot|Genieo|gigabot|GomezAgent|gonzo1|(?:[a-zA-Z]+-)?Googlebot(?:-[a-zA-Z]+)?|Google SketchUp|grub-client|gsa-crawler|heritrix|HiddenMarket|holmes|HooWWWer|htdig|ia_archiver|ICC-Crawler|Icarus6j|ichiro(?:/mobile)?|IconSurf|IlTrovatore(?:-Setaccio)?|InfuzApp|Innovazion Crawler|InternetArchive|IP2[a-z]+Bot|jbot\b|KaloogaBot|Kraken|Kurzor|larbin|LEIA|LesnikBot|Linguee Bot|LinkAider|LinkedInBot|Lite Bot|Llaut|lycos|Mail\.RU_Bot|masscan|masidani_bot|Mediapartners-Google|Microsoft .*? Bot|mogimogi|mozDex|MJ12bot|msnbot(?:-media *)?|msrbot|Mtps Feed Aggregation System|netresearch|Netvibes|NewsGator[^/]*|^NING|Nutch[^/]*|Nymesis|ObjectsSearch|Orbiter|OOZBOT|PagePeeker|PagesInventory|PaxleFramework|Peeplo Screenshot Bot|PlantyNet_WebRobot|Pompos|Qwantify|Read%20Later|Reaper|RedCarpet|Retreiver|Riddler|Rival IQ|scooter|Scrapy|Scrubby|searchsight|seekbot|semanticdiscovery|Simpy|SimplePie|SEOstats|SimpleRSS|SiteCon|Slackbot-LinkExpanding|Slack-ImgProxy|Slurp|snappy|Speedy Spider|Squrl Java|Stringer|TheUsefulbot|ThumbShotsBot|Thumbshots\.ru|Tiny Tiny RSS|TwitterBot|WhatsApp|URL2PNG|Vagabondo|VoilaBot|^vortex|Votay bot|^voyager|WASALive.Bot|Web-sniffer|WebThumb|WeSEE:[A-z]+|WhatWeb|WIRE|WordPress|Wotbox|www\.almaden\.ibm\.com|Xenu(?:.s)? Link Sleuth|Xerka [A-z]+Bot|yacy(?:bot)?|Yahoo[a-z]*Seeker|Yahoo! Slurp|Yandex\w+|YodaoBot(?:-[A-z]+)?|YottaaMonitor|Yowedo|^Zao|^Zao-Crawler|ZeBot_www\.ze\.bz|ZooShot|ZyBorg)(?:[ /]v?(\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'--  # Bots General matcher 'name/0.0'-  - regex: '(?:\/[A-Za-z0-9\.]+)? *([A-Za-z0-9 \-_\!\[\]:]*(?:[Aa]rchiver|[Ii]ndexer|[Ss]craper|[Bb]ot|[Ss]pider|[Cc]rawl[a-z]*))/(\d+)(?:\.(\d+)(?:\.(\d+))?)?'-  # Bots General matcher 'name 0.0'-  - regex: '(?:\/[A-Za-z0-9\.]+)? *([A-Za-z0-9 _\!\[\]:]*(?:[Aa]rchiver|[Ii]ndexer|[Ss]craper|[Bb]ot|[Ss]pider|[Cc]rawl[a-z]*)) (\d+)(?:\.(\d+)(?:\.(\d+))?)?'-  # Bots containing spider|scrape|bot(but not CUBOT)|Crawl-  - regex: '((?:[A-z0-9]+|[A-z\-]+ ?)?(?: the )?(?:[Ss][Pp][Ii][Dd][Ee][Rr]|[Ss]crape|[A-Za-z0-9-]*(?:[^C][^Uu])[Bb]ot|[Cc][Rr][Aa][Ww][Ll])[A-z0-9]*)(?:(?:[ /]| v)(\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'--  # HbbTV standard defines what features the browser should understand.-  # but it's like targeting "HTML5 browsers", effective browser support depends on the model-  # See os_parsers if you want to target a specific TV-  - regex: '(HbbTV)/(\d+)\.(\d+)\.(\d+) \('--  # must go before Firefox to catch Chimera/SeaMonkey/Camino-  - regex: '(Chimera|SeaMonkey|Camino)/(\d+)\.(\d+)\.?([ab]?\d+[a-z]*)?'--  # Social Networks-  # Facebook-  - regex: '\[FB.*;(FBAV)/(\d+)(?:\.(\d+)(?:\.(\d)+)?)?'-    family_replacement: 'Facebook'-  # Pinterest-  - regex: '\[(Pinterest)/[^\]]+\]'-  - regex: '(Pinterest)(?: for Android(?: Tablet)?)?/(\d+)(?:\.(\d+)(?:\.(\d)+)?)?'--  # Pale Moon-  - regex: '(PaleMoon)/(\d+)\.(\d+)\.?(\d+)?'-    family_replacement: 'Pale Moon'--  # Firefox-  - regex: '(Fennec)/(\d+)\.(\d+)\.?([ab]?\d+[a-z]*)'-    family_replacement: 'Firefox Mobile'-  - regex: '(Fennec)/(\d+)\.(\d+)(pre)'-    family_replacement: 'Firefox Mobile'-  - regex: '(Fennec)/(\d+)\.(\d+)'-    family_replacement: 'Firefox Mobile'-  - regex: '(?:Mobile|Tablet);.*(Firefox)/(\d+)\.(\d+)'-    family_replacement: 'Firefox Mobile'-  - regex: '(Namoroka|Shiretoko|Minefield)/(\d+)\.(\d+)\.(\d+(?:pre)?)'-    family_replacement: 'Firefox ($1)'-  - regex: '(Firefox)/(\d+)\.(\d+)(a\d+[a-z]*)'-    family_replacement: 'Firefox Alpha'-  - regex: '(Firefox)/(\d+)\.(\d+)(b\d+[a-z]*)'-    family_replacement: 'Firefox Beta'-  - regex: '(Firefox)-(?:\d+\.\d+)?/(\d+)\.(\d+)(a\d+[a-z]*)'-    family_replacement: 'Firefox Alpha'-  - regex: '(Firefox)-(?:\d+\.\d+)?/(\d+)\.(\d+)(b\d+[a-z]*)'-    family_replacement: 'Firefox Beta'-  - regex: '(Namoroka|Shiretoko|Minefield)/(\d+)\.(\d+)([ab]\d+[a-z]*)?'-    family_replacement: 'Firefox ($1)'-  - regex: '(Firefox).*Tablet browser (\d+)\.(\d+)\.(\d+)'-    family_replacement: 'MicroB'-  - regex: '(MozillaDeveloperPreview)/(\d+)\.(\d+)([ab]\d+[a-z]*)?'-  - regex: '(FxiOS)/(\d+)\.(\d+)(\.(\d+))?(\.(\d+))?'-    family_replacement: 'Firefox iOS'--  # e.g.: Flock/2.0b2-  - regex: '(Flock)/(\d+)\.(\d+)(b\d+?)'--  # RockMelt-  - regex: '(RockMelt)/(\d+)\.(\d+)\.(\d+)'--  # e.g.: Fennec/0.9pre-  - regex: '(Navigator)/(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Netscape'--  - regex: '(Navigator)/(\d+)\.(\d+)([ab]\d+)'-    family_replacement: 'Netscape'--  - regex: '(Netscape6)/(\d+)\.(\d+)\.?([ab]?\d+)?'-    family_replacement: 'Netscape'--  - regex: '(MyIBrow)/(\d+)\.(\d+)'-    family_replacement: 'My Internet Browser'--  # UC Browser-  # we need check it before opera. In other case case UC Browser detected look like Opera Mini-  - regex: '(UC? ?Browser|UCWEB|U3)[ /]?(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'UC Browser'--  # Opera will stop at 9.80 and hide the real version in the Version string.-  # see: http://dev.opera.com/articles/view/opera-ua-string-changes/-  - regex: '(Opera Tablet).*Version/(\d+)\.(\d+)(?:\.(\d+))?'-  - regex: '(Opera Mini)(?:/att)?/?(\d+)?(?:\.(\d+))?(?:\.(\d+))?'-  - regex: '(Opera)/.+Opera Mobi.+Version/(\d+)\.(\d+)'-    family_replacement: 'Opera Mobile'-  - regex: '(Opera)/(\d+)\.(\d+).+Opera Mobi'-    family_replacement: 'Opera Mobile'-  - regex: 'Opera Mobi.+(Opera)(?:/|\s+)(\d+)\.(\d+)'-    family_replacement: 'Opera Mobile'-  - regex: 'Opera Mobi'-    family_replacement: 'Opera Mobile'-  - regex: '(Opera)/9.80.*Version/(\d+)\.(\d+)(?:\.(\d+))?'--  # Opera 14 for Android uses a WebKit render engine.-  - regex: '(?:Mobile Safari).*(OPR)/(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Opera Mobile'--  # Opera >=15 for Desktop is similar to Chrome but includes an "OPR" Version string.-  - regex: '(?:Chrome).*(OPR)/(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Opera'--  # Opera Coast-  - regex: '(Coast)/(\d+).(\d+).(\d+)'-    family_replacement: 'Opera Coast'--  # Opera Mini for iOS (from version 8.0.0)-  - regex: '(OPiOS)/(\d+).(\d+).(\d+)'-    family_replacement: 'Opera Mini'--  # Opera Neon-  - regex: 'Chrome/.+( MMS)/(\d+).(\d+).(\d+)'-    family_replacement: 'Opera Neon'--  # Palm WebOS looks a lot like Safari.-  - regex: '(hpw|web)OS/(\d+)\.(\d+)(?:\.(\d+))?'-    family_replacement: 'webOS Browser'--  # LuaKit has no version info.-  # http://luakit.org/projects/luakit/-  - regex: '(luakit)'-    family_replacement: 'LuaKit'--  # Snowshoe-  - regex: '(Snowshoe)/(\d+)\.(\d+).(\d+)'--  # Lightning (for Thunderbird)-  # http://www.mozilla.org/projects/calendar/lightning/-  - regex: 'Gecko/\d+ (Lightning)/(\d+)\.(\d+)\.?((?:[ab]?\d+[a-z]*)|(?:\d*))'--  # Swiftfox-  - regex: '(Firefox)/(\d+)\.(\d+)\.(\d+(?:pre)?) \(Swiftfox\)'-    family_replacement: 'Swiftfox'-  - regex: '(Firefox)/(\d+)\.(\d+)([ab]\d+[a-z]*)? \(Swiftfox\)'-    family_replacement: 'Swiftfox'--  # Rekonq-  - regex: '(rekonq)/(\d+)\.(\d+)\.?(\d+)? Safari'-    family_replacement: 'Rekonq'-  - regex: 'rekonq'-    family_replacement: 'Rekonq'--  # Conkeror lowercase/uppercase-  # http://conkeror.org/-  - regex: '(conkeror|Conkeror)/(\d+)\.(\d+)\.?(\d+)?'-    family_replacement: 'Conkeror'--  # catches lower case konqueror-  - regex: '(konqueror)/(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Konqueror'--  - regex: '(WeTab)-Browser'--  - regex: '(Comodo_Dragon)/(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Comodo Dragon'--  - regex: '(Symphony) (\d+).(\d+)'--  - regex: 'PLAYSTATION 3.+WebKit'-    family_replacement: 'NetFront NX'-  - regex: 'PLAYSTATION 3'-    family_replacement: 'NetFront'-  - regex: '(PlayStation Portable)'-    family_replacement: 'NetFront'-  - regex: '(PlayStation Vita)'-    family_replacement: 'NetFront NX'--  - regex: 'AppleWebKit.+ (NX)/(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'NetFront NX'-  - regex: '(Nintendo 3DS)'-    family_replacement: 'NetFront NX'--  # Amazon Silk, should go before Safari and Chrome Mobile-  - regex: '(Silk)/(\d+)\.(\d+)(?:\.([0-9\-]+))?'-    family_replacement: 'Amazon Silk'--  # @ref: http://www.puffinbrowser.com-  - regex: '(Puffin)/(\d+)\.(\d+)(?:\.(\d+))?'--  # Edge Mobile-  - regex: 'Windows Phone .*(Edge)/(\d+)\.(\d+)'-    family_replacement: 'Edge Mobile'--  # Samsung Internet (based on Chrome, but lacking some features)-  - regex: '(SamsungBrowser)/(\d+)\.(\d+)'-    family_replacement: 'Samsung Internet'--  # Seznam.cz browser (based on WebKit)-  - regex: '(SznProhlizec)/(\d+)\.(\d+)(?:\.(\d+))?'-    family_replacement: 'Seznam.cz'--  # Coc Coc browser, based on Chrome (used in Vietnam)-  - regex: '(coc_coc_browser)/(\d+)\.(\d+)(?:\.(\d+))?'-    family_replacement: 'Coc Coc'--  # Baidu Browsers (desktop spoofs chrome & IE, explorer is mobile)-  - regex: '(baidubrowser)[/\s](\d+)(?:\.(\d+)(?:\.(\d+))?)?'-    family_replacement: 'Baidu Browser'-  - regex: '(FlyFlow)/(\d+)\.(\d+)'-    family_replacement: 'Baidu Explorer'--  # MxBrowser is Maxthon. Must go before Mobile Chrome for Android-  - regex: '(MxBrowser)/(\d+)\.(\d+)(?:\.(\d+))?'-    family_replacement: 'Maxthon'--  # Crosswalk must go before Mobile Chrome for Android-  - regex: '(Crosswalk)/(\d+)\.(\d+)\.(\d+)\.(\d+)'--  # Chrome Mobile-  - regex: '; wv\).+(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Chrome Mobile WebView'-  - regex: '(CrMo)/(\d+)\.(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Chrome Mobile'-  - regex: '(CriOS)/(\d+)\.(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Chrome Mobile iOS'-  - regex: '(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+) Mobile(?:[ /]|$)'-    family_replacement: 'Chrome Mobile'-  - regex: ' Mobile .*(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Chrome Mobile'--  # Chrome Frame must come before MSIE.-  - regex: '(chromeframe)/(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Chrome Frame'--  # Tizen Browser (second case included in browser/major.minor regex)-  - regex: '(SLP Browser)/(\d+)\.(\d+)'-    family_replacement: 'Tizen Browser'--  # Sogou Explorer 2.X-  - regex: '(SE 2\.X) MetaSr (\d+)\.(\d+)'-    family_replacement: 'Sogou Explorer'--  # QQ Browsers-  - regex: '(MQQBrowser/Mini)(?:(\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'-    family_replacement: 'QQ Browser Mini'-  - regex: '(MQQBrowser)(?:/(\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'-    family_replacement: 'QQ Browser Mobile'-  - regex: '(QQBrowser)(?:/(\d+)(?:\.(\d+)\.(\d+)(?:\.(\d+))?)?)?'-    family_replacement: 'QQ Browser'--  # Rackspace Monitoring-  - regex: '(Rackspace Monitoring)/(\d+)\.(\d+)'-    family_replacement: 'RackspaceBot'--  # PyAMF-  - regex: '(PyAMF)/(\d+)\.(\d+)\.(\d+)'--  # Yandex Browser-  - regex: '(YaBrowser)/(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Yandex Browser'--  # Mail.ru Amigo/Internet Browser (Chromium-based)-  - regex: '(Chrome)/(\d+)\.(\d+)\.(\d+).* MRCHROME'-    family_replacement: 'Mail.ru Chromium Browser'--  # AOL Browser (IE-based)-  - regex: '(AOL) (\d+)\.(\d+); AOLBuild (\d+)'--  #### END SPECIAL CASES TOP ####--  #### MAIN CASES - this catches > 50% of all browsers ####---  # Slack desktop client (needs to be before Apple Mail, Electron, and Chrome as it gets wrongly detected on Mac OS otherwise)-  - regex: '(Slack_SSB)/(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Slack Desktop Client'-  -  # HipChat provides a version on Mac, but not on Windows.-  # Needs to be before Chrome on Windows, and AppleMail on Mac.-  - regex: '(HipChat)/?(\d+)?'-    family_replacement: 'HipChat Desktop Client'--  # Browser/major_version.minor_version.beta_version-  - regex: '\b(MobileIron|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Epiphany|Shiira|Sunrise|Spotify|Flock|Netscape|Lunascape|WebPilot|NetFront|Netfront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|ThunderBrowse|Iris|UP\.Browser|Bunjalloo|Google Earth|Raven for Mac|Openwave|MacOutlook|Electron)/(\d+)\.(\d+)\.(\d+)'--  # Outlook 2007-  - regex: 'Microsoft Office Outlook 12\.\d+\.\d+|MSOffice 12'-    family_replacement: 'Outlook'-    v1_replacement: '2007'--  # Outlook 2010-  - regex: 'Microsoft Outlook 14\.\d+\.\d+|MSOffice 14'-    family_replacement: 'Outlook'-    v1_replacement: '2010'--  # Outlook 2013-  - regex: 'Microsoft Outlook 15\.\d+\.\d+'-    family_replacement: 'Outlook'-    v1_replacement: '2013'--  # Outlook 2016-  - regex: 'Microsoft Outlook (?:Mail )?16\.\d+\.\d+'-    family_replacement: 'Outlook'-    v1_replacement: '2016'--  # Windows Live Mail-  - regex: 'Outlook-Express\/7\.0.*'-    family_replacement: 'Windows Live Mail'--  # Apple Air Mail-  - regex: '(Airmail) (\d+)\.(\d+)(?:\.(\d+))?'--  # Thunderbird-  - regex: '(Thunderbird)/(\d+)\.(\d+)(?:\.(\d+(?:pre)?))?'-    family_replacement: 'Thunderbird'--  # Postbox-  - regex: '(Postbox)/(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Postbox'--  # Barca-  - regex: '(Barca(?:Pro)?)/(\d+)\.(\d+)(?:\.(\d+))?'-    family_replacement: 'Barca'--  # Lotus Notes-  - regex: '(Lotus-Notes)/(\d+)\.(\d+)(?:\.(\d+))?'-    family_replacement: 'Lotus Notes'--  # Vivaldi uses "Vivaldi"-  - regex: '(Vivaldi)/(\d+)\.(\d+)\.(\d+)'--  # Edge/major_version.minor_version-  - regex: '(Edge)/(\d+)(?:\.(\d+))?'--  # Brave Browser https://brave.com/-  - regex: '(brave)/(\d+)\.(\d+)\.(\d+) Chrome'-    family_replacement: 'Brave'--  # Iron Browser ~since version 50-  - regex: '(Chrome)/(\d+)\.(\d+)\.(\d+)[\d.]* Iron[^/]'-    family_replacement: 'Iron'--  # Dolphin Browser-  # @ref: http://www.dolphin.com-  - regex: '\b(Dolphin)(?: |HDCN/|/INT\-)(\d+)\.(\d+)\.?(\d+)?'--  # Headless Chrome-  # https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md-  # Currently only available on Linux-  - regex: 'HeadlessChrome'-    family_replacement: 'HeadlessChrome'--  # Browser/major_version.minor_version-  - regex: '(bingbot|Bolt|AdobeAIR|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|NetFront|Netfront|Konqueror|Googlebot|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|iTunes|MacAppStore|NetNewsWire|Space Bison|Stainless|Orca|Dolfin|BOLT|Minimo|Tizen Browser|Polaris|Abrowser|Planetweb|ICE Browser|mDolphin|qutebrowser|Otter|QupZilla|MailBar|kmail2|YahooMobileMail|ExchangeWebServices|ExchangeServicesClient|Dragon|Outlook-iOS-Android)/(\d+)\.(\d+)(?:\.(\d+))?'--  # Chrome/Chromium/major_version.minor_version-  - regex: '(Chromium|Chrome)/(\d+)\.(\d+)(?:\.(\d+))?'--  ##########-  # IE Mobile needs to happen before Android to catch cases such as:-  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920)...-  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; ANZ821)...-  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; Orange)...-  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; Vodafone)...-  ##########--  # IE Mobile-  - regex: '(IEMobile)[ /](\d+)\.(\d+)'-    family_replacement: 'IE Mobile'--  # Baca Berita App News Reader-  - regex: '(BacaBerita App)\/(\d+)\.(\d+)\.(\d+)'--  # Browser major_version.minor_version.beta_version (space instead of slash)-  - regex: '(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\d+)\.(\d+)\.(\d+)'-  # Browser major_version.minor_version (space instead of slash)-  - regex: '(iCab|Lunascape|Opera|Android|Jasmine|Polaris|Microsoft SkyDriveSync|The Bat!) (\d+)\.(\d+)\.?(\d+)?'--  # Kindle WebKit-  - regex: '(Kindle)/(\d+)\.(\d+)'--  # weird android UAs-  - regex: '(Android) Donut'-    v1_replacement: '1'-    v2_replacement: '2'--  - regex: '(Android) Eclair'-    v1_replacement: '2'-    v2_replacement: '1'--  - regex: '(Android) Froyo'-    v1_replacement: '2'-    v2_replacement: '2'--  - regex: '(Android) Gingerbread'-    v1_replacement: '2'-    v2_replacement: '3'--  - regex: '(Android) Honeycomb'-    v1_replacement: '3'--  # desktop mode-  # http://www.anandtech.com/show/3982/windows-phone-7-review-  - regex: '(MSIE) (\d+)\.(\d+).*XBLWP7'-    family_replacement: 'IE Large Screen'---  #### END MAIN CASES ####--  #### SPECIAL CASES ####-  - regex: '(Obigo)InternetBrowser'-  - regex: '(Obigo)\-Browser'-  - regex: '(Obigo|OBIGO)[^\d]*(\d+)(?:.(\d+))?'-    family_replacement: 'Obigo'--  - regex: '(MAXTHON|Maxthon) (\d+)\.(\d+)'-    family_replacement: 'Maxthon'-  - regex: '(Maxthon|MyIE2|Uzbl|Shiira)'-    v1_replacement: '0'--  - regex: '(BrowseX) \((\d+)\.(\d+)\.(\d+)'--  - regex: '(NCSA_Mosaic)/(\d+)\.(\d+)'-    family_replacement: 'NCSA Mosaic'--  # Polaris/d.d is above-  - regex: '(POLARIS)/(\d+)\.(\d+)'-    family_replacement: 'Polaris'-  - regex: '(Embider)/(\d+)\.(\d+)'-    family_replacement: 'Polaris'--  - regex: '(BonEcho)/(\d+)\.(\d+)\.?([ab]?\d+)?'-    family_replacement: 'Bon Echo'--  # @note: iOS / OSX Applications-  - regex: '(iPod|iPhone|iPad).+Version/(\d+)\.(\d+)(?:\.(\d+))?.*[ +]Safari'-    family_replacement: 'Mobile Safari'-  - regex: '(iPod|iPhone|iPad).+Version/(\d+)\.(\d+)(?:\.(\d+))?'-    family_replacement: 'Mobile Safari UI/WKWebView'-  - regex: '(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\d+)_(\d+)(?:_(\d+))?.*Mobile.*[ +]Safari'-    family_replacement: 'Mobile Safari'-  - regex: '(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\d+)_(\d+)(?:_(\d+))?.*Mobile'-    family_replacement: 'Mobile Safari UI/WKWebView'-  - regex: '(iPod|iPhone|iPad).* Safari'-    family_replacement: 'Mobile Safari'-  - regex: '(iPod|iPhone|iPad)'-    family_replacement: 'Mobile Safari UI/WKWebView'--  - regex: '(AvantGo) (\d+).(\d+)'--  - regex: '(OneBrowser)/(\d+).(\d+)'-    family_replacement: 'ONE Browser'--  - regex: '(Avant)'-    v1_replacement: '1'--  # This is the Tesla Model S (see similar entry in device parsers)-  - regex: '(QtCarBrowser)'-    v1_replacement: '1'--  - regex: '^(iBrowser/Mini)(\d+).(\d+)'-    family_replacement: 'iBrowser Mini'-  - regex: '^(iBrowser|iRAPP)/(\d+).(\d+)'--  # nokia browsers-  # based on: http://www.developer.nokia.com/Community/Wiki/User-Agent_headers_for_Nokia_devices-  - regex: '^(Nokia)'-    family_replacement: 'Nokia Services (WAP) Browser'-  - regex: '(NokiaBrowser)/(\d+)\.(\d+).(\d+)\.(\d+)'-    family_replacement: 'Nokia Browser'-  - regex: '(NokiaBrowser)/(\d+)\.(\d+).(\d+)'-    family_replacement: 'Nokia Browser'-  - regex: '(NokiaBrowser)/(\d+)\.(\d+)'-    family_replacement: 'Nokia Browser'-  - regex: '(BrowserNG)/(\d+)\.(\d+).(\d+)'-    family_replacement: 'Nokia Browser'-  - regex: '(Series60)/5\.0'-    family_replacement: 'Nokia Browser'-    v1_replacement: '7'-    v2_replacement: '0'-  - regex: '(Series60)/(\d+)\.(\d+)'-    family_replacement: 'Nokia OSS Browser'-  - regex: '(S40OviBrowser)/(\d+)\.(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Ovi Browser'-  - regex: '(Nokia)[EN]?(\d+)'--  # BlackBerry devices-  - regex: '(PlayBook).+RIM Tablet OS (\d+)\.(\d+)\.(\d+)'-    family_replacement: 'BlackBerry WebKit'-  - regex: '(Black[bB]erry|BB10).+Version/(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'BlackBerry WebKit'-  - regex: '(Black[bB]erry)\s?(\d+)'-    family_replacement: 'BlackBerry'--  - regex: '(OmniWeb)/v(\d+)\.(\d+)'--  - regex: '(Blazer)/(\d+)\.(\d+)'-    family_replacement: 'Palm Blazer'--  - regex: '(Pre)/(\d+)\.(\d+)'-    family_replacement: 'Palm Pre'--  # fork of Links-  - regex: '(ELinks)/(\d+)\.(\d+)'-  - regex: '(ELinks) \((\d+)\.(\d+)'-  - regex: '(Links) \((\d+)\.(\d+)'--  - regex: '(QtWeb) Internet Browser/(\d+)\.(\d+)'--  #- regex: '\(iPad;.+(Version)/(\d+)\.(\d+)(?:\.(\d+))?.*Safari/'-  #  family_replacement: 'iPad'--  # Phantomjs, should go before Safari-  - regex: '(PhantomJS)/(\d+)\.(\d+)\.(\d+)'--  # WebKit Nightly-  - regex: '(AppleWebKit)/(\d+)\.?(\d+)?\+ .* Safari'-    family_replacement: 'WebKit Nightly'--  # Safari-  - regex: '(Version)/(\d+)\.(\d+)(?:\.(\d+))?.*Safari/'-    family_replacement: 'Safari'-  # Safari didn't provide "Version/d.d.d" prior to 3.0-  - regex: '(Safari)/\d+'--  - regex: '(OLPC)/Update(\d+)\.(\d+)'--  - regex: '(OLPC)/Update()\.(\d+)'-    v1_replacement: '0'--  - regex: '(SEMC\-Browser)/(\d+)\.(\d+)'--  - regex: '(Teleca)'-    family_replacement: 'Teleca Browser'--  - regex: '(Phantom)/V(\d+)\.(\d+)'-    family_replacement: 'Phantom Browser'--  - regex: 'Trident(.*)rv.(\d+)\.(\d+)'-    family_replacement: 'IE'--  # Espial-  - regex: '(Espial)/(\d+)(?:\.(\d+))?(?:\.(\d+))?'-- # Apple Mail--  # apple mail - not directly detectable, have it after Safari stuff-  - regex: '(AppleWebKit)/(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Apple Mail'--  # AFTER THE EDGE CASES ABOVE!-  # AFTER IE11-  # BEFORE all other IE-  - regex: '(Firefox)/(\d+)\.(\d+)\.(\d+)'-  - regex: '(Firefox)/(\d+)\.(\d+)(pre|[ab]\d+[a-z]*)?'--  - regex: '([MS]?IE) (\d+)\.(\d+)'-    family_replacement: 'IE'--  - regex: '(python-requests)/(\d+)\.(\d+)'-    family_replacement: 'Python Requests'--  # headless user-agents-  - regex: '\b(Windows-Update-Agent|Microsoft-CryptoAPI|SophosUpdateManager|SophosAgent|Debian APT-HTTP|Ubuntu APT-HTTP|libcurl-agent|libwww-perl|urlgrabber|curl|Wget|OpenBSD ftp|jupdate)(?:[ /](\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'--  - regex: '(Java)[/ ]{0,1}\d+\.(\d+)\.(\d+)[_-]*([a-zA-Z0-9]+)*'--  # Roku Digital-Video-Players https://www.roku.com/-  - regex: '^(Roku)/DVP-(\d+)\.(\d+)'--  # Kurio App News Reader https://kurio.co.id/-  - regex: '(Kurio)\/(\d+)\.(\d+)\.(\d+)'-    family_replacement: 'Kurio App'---os_parsers:-  ##########-  # HbbTV vendors-  ##########--  # starts with the easy one : Panasonic seems consistent across years, hope it will continue-  #HbbTV/1.1.1 (;Panasonic;VIERA 2011;f.532;0071-0802 2000-0000;)-  #HbbTV/1.1.1 (;Panasonic;VIERA 2012;1.261;0071-3103 2000-0000;)-  #HbbTV/1.2.1 (;Panasonic;VIERA 2013;3.672;4101-0003 0002-0000;)-  #- regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Panasonic);VIERA ([0-9]{4});'--  # Sony is consistent too but do not place year like the other-  # Opera/9.80 (Linux armv7l; HbbTV/1.1.1 (; Sony; KDL32W650A; PKG3.211EUA; 2013;); ) Presto/2.12.362 Version/12.11-  # Opera/9.80 (Linux mips; U;  HbbTV/1.1.1 (; Sony; KDL40HX751; PKG1.902EUA; 2012;);; en) Presto/2.10.250 Version/11.60-  # Opera/9.80 (Linux mips; U;  HbbTV/1.1.1 (; Sony; KDL22EX320; PKG4.017EUA; 2011;);; en) Presto/2.7.61 Version/11.00-  #- regex: 'HbbTV/\d+\.\d+\.\d+ \(; (Sony);.*;.*; ([0-9]{4});\)'---  # LG is consistent too, but we need to add manually the year model-  #Mozilla/5.0 (Unknown; Linux armv7l) AppleWebKit/537.1+ (KHTML, like Gecko) Safari/537.1+ HbbTV/1.1.1 ( ;LGE ;NetCast 4.0 ;03.20.30 ;1.0M ;)-  #Mozilla/5.0 (DirectFB; Linux armv7l) AppleWebKit/534.26+ (KHTML, like Gecko) Version/5.0 Safari/534.26+ HbbTV/1.1.1 ( ;LGE ;NetCast 3.0 ;1.0 ;1.0M ;)-  - regex: 'HbbTV/\d+\.\d+\.\d+ \( ;(LG)E ;NetCast 4.0'-    os_v1_replacement: '2013'-  - regex: 'HbbTV/\d+\.\d+\.\d+ \( ;(LG)E ;NetCast 3.0'-    os_v1_replacement: '2012'--  # Samsung is on its way of normalizing their user-agent-  # HbbTV/1.1.1 (;Samsung;SmartTV2013;T-FXPDEUC-1102.2;;) WebKit-  # HbbTV/1.1.1 (;Samsung;SmartTV2013;T-MST12DEUC-1102.1;;) WebKit-  # HbbTV/1.1.1 (;Samsung;SmartTV2012;;;) WebKit-  # HbbTV/1.1.1 (;;;;;) Maple_2011-  - regex: 'HbbTV/1.1.1 \(;;;;;\) Maple_2011'-    os_replacement: 'Samsung'-    os_v1_replacement: '2011'-  # manage the two models of 2013-  - regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Samsung);SmartTV([0-9]{4});.*FXPDEUC'-    os_v2_replacement: 'UE40F7000'-  - regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Samsung);SmartTV([0-9]{4});.*MST12DEUC'-    os_v2_replacement: 'UE32F4500'-  # generic Samsung (works starting in 2012)-  #- regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Samsung);SmartTV([0-9]{4});'--  # Philips : not found any other way than a manual mapping-  # Opera/9.80 (Linux mips; U; HbbTV/1.1.1 (; Philips; ; ; ; ) CE-HTML/1.0 NETTV/4.1.3 PHILIPSTV/1.1.1; en) Presto/2.10.250 Version/11.60-  # Opera/9.80 (Linux mips ; U; HbbTV/1.1.1 (; Philips; ; ; ; ) CE-HTML/1.0 NETTV/3.2.1; en) Presto/2.6.33 Version/10.70-  - regex: 'HbbTV/1.1.1 \(; (Philips);.*NETTV/4'-    os_v1_replacement: '2013'-  - regex: 'HbbTV/1.1.1 \(; (Philips);.*NETTV/3'-    os_v1_replacement: '2012'-  - regex: 'HbbTV/1.1.1 \(; (Philips);.*NETTV/2'-    os_v1_replacement: '2011'--  # the HbbTV emulator developers use HbbTV/1.1.1 (;;;;;) firetv-firefox-plugin 1.1.20-  - regex: 'HbbTV/\d+\.\d+\.\d+.*(firetv)-firefox-plugin (\d+).(\d+).(\d+)'-    os_replacement: 'FireHbbTV'--  # generic HbbTV, hoping to catch manufacturer name (always after 2nd comma) and the first string that looks like a 2011-2019 year-  - regex: 'HbbTV/\d+\.\d+\.\d+ \(.*; ?([a-zA-Z]+) ?;.*(201[1-9]).*\)'--  ##########-  # @note: Windows Phone needs to come before Windows NT 6.1 *and* before Android to catch cases such as:-  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920)...-  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; ANZ821)...-  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; Orange)...-  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; Vodafone)...-  ##########--  - regex: '(Windows Phone) (?:OS[ /])?(\d+)\.(\d+)'--  # Again a MS-special one: iPhone.*Outlook-iOS-Android/x.x is erroneously detected as Android-  - regex: '(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone)[ +]+(\d+)[_\.](\d+)(?:[_\.](\d+))?.*Outlook-iOS-Android'-    os_replacement: 'iOS'--  ##########-  # Android-  # can actually detect rooted android os. do we care?-  ##########-  - regex: '(Android)[ \-/](\d+)\.(\d+)(?:[.\-]([a-z0-9]+))?'--  - regex: '(Android) Donut'-    os_v1_replacement: '1'-    os_v2_replacement: '2'--  - regex: '(Android) Eclair'-    os_v1_replacement: '2'-    os_v2_replacement: '1'--  - regex: '(Android) Froyo'-    os_v1_replacement: '2'-    os_v2_replacement: '2'--  - regex: '(Android) Gingerbread'-    os_v1_replacement: '2'-    os_v2_replacement: '3'--  - regex: '(Android) Honeycomb'-    os_v1_replacement: '3'--  # UCWEB-  - regex: '^UCWEB.*; (Adr) (\d+)\.(\d+)(?:[.\-]([a-z0-9]+))?;'-    os_replacement: 'Android'-  - regex: '^UCWEB.*; (iPad|iPh|iPd) OS (\d+)_(\d+)(?:_(\d+))?;'-    os_replacement: 'iOS'-  - regex: '^UCWEB.*; (wds) (\d+)\.(\d+)(?:\.(\d+))?;'-    os_replacement: 'Windows Phone'-  # JUC-  - regex: '^(JUC).*; ?U; ?(?:Android)?(\d+)\.(\d+)(?:[\.\-]([a-z0-9]+))?'-    os_replacement: 'Android'--  ##########-  # Kindle Android-  ##########-  - regex: '(Silk-Accelerated=[a-z]{4,5})'-    os_replacement: 'Android'--  ##########-  # Windows-  # http://en.wikipedia.org/wiki/Windows_NT#Releases-  # possibility of false positive when different marketing names share same NT kernel-  # e.g. windows server 2003 and windows xp-  # lots of ua strings have Windows NT 4.1 !?!?!?!? !?!? !? !????!?! !!! ??? !?!?! ?-  # (very) roughly ordered in terms of frequency of occurence of regex (win xp currently most frequent, etc)-  ##########--  # ie mobile desktop mode-  # spoofs nt 6.1. must come before windows 7-  - regex: '(XBLWP7)'-    os_replacement: 'Windows Phone'--  # @note: This needs to come before Windows NT 6.1-  - regex: '(Windows ?Mobile)'-    os_replacement: 'Windows Mobile'--  - regex: '(Windows (?:NT 5\.2|NT 5\.1))'-    os_replacement: 'Windows XP'--  - regex: '(Windows NT 6\.1)'-    os_replacement: 'Windows 7'--  - regex: '(Windows NT 6\.0)'-    os_replacement: 'Windows Vista'--  - regex: '(Win 9x 4\.90)'-    os_replacement: 'Windows ME'--  - regex: '(Windows 98|Windows XP|Windows ME|Windows 95|Windows CE|Windows 7|Windows NT 4\.0|Windows Vista|Windows 2000|Windows 3.1)'--  - regex: '(Windows NT 6\.2; ARM;)'-    os_replacement: 'Windows RT'-  - regex: '(Windows NT 6\.2)'-    os_replacement: 'Windows 8'--  - regex: '(Windows NT 6\.3; ARM;)'-    os_replacement: 'Windows RT 8.1'-  - regex: '(Windows NT 6\.3)'-    os_replacement: 'Windows 8.1'--  - regex: '(Windows NT 6\.4)'-    os_replacement: 'Windows 10'-  - regex: '(Windows NT 10\.0)'-    os_replacement: 'Windows 10'--  - regex: '(Windows NT 5\.0)'-    os_replacement: 'Windows 2000'--  - regex: '(WinNT4.0)'-    os_replacement: 'Windows NT 4.0'--  - regex: '(Windows ?CE)'-    os_replacement: 'Windows CE'--  - regex: 'Win ?(95|98|3.1|NT|ME|2000)'-    os_replacement: 'Windows $1'--  - regex: 'Win16'-    os_replacement: 'Windows 3.1'--  - regex: 'Win32'-    os_replacement: 'Windows 95'--  ##########-  # Tizen OS from Samsung-  # spoofs Android so pushing it above-  ##########-  - regex: '(Tizen)[/ ](\d+)\.(\d+)'--  ##########-  # Mac OS-  # @ref: http://en.wikipedia.org/wiki/Mac_OS_X#Versions-  # @ref: http://www.puredarwin.org/curious/versions-  ##########-  - regex: '((?:Mac[ +]?|; )OS[ +]X)[\s+/](?:(\d+)[_.](\d+)(?:[_.](\d+))?|Mach-O)'-    os_replacement: 'Mac OS X'-  # Leopard-  - regex: ' (Dar)(win)/(9).(\d+).*\((?:i386|x86_64|Power Macintosh)\)'-    os_replacement: 'Mac OS X'-    os_v1_replacement: '10'-    os_v2_replacement: '5'-  # Snow Leopard-  - regex: ' (Dar)(win)/(10).(\d+).*\((?:i386|x86_64)\)'-    os_replacement: 'Mac OS X'-    os_v1_replacement: '10'-    os_v2_replacement: '6'-  # Lion-  - regex: ' (Dar)(win)/(11).(\d+).*\((?:i386|x86_64)\)'-    os_replacement: 'Mac OS X'-    os_v1_replacement: '10'-    os_v2_replacement: '7'-  # Mountain Lion-  - regex: ' (Dar)(win)/(12).(\d+).*\((?:i386|x86_64)\)'-    os_replacement: 'Mac OS X'-    os_v1_replacement: '10'-    os_v2_replacement: '8'-  # Mavericks-  - regex: ' (Dar)(win)/(13).(\d+).*\((?:i386|x86_64)\)'-    os_replacement: 'Mac OS X'-    os_v1_replacement: '10'-    os_v2_replacement: '9'-  # Yosemite is Darwin/14.x but patch versions are inconsistent in the Darwin string;-  # more accurately covered by CFNetwork regexes downstream--  # IE on Mac doesn't specify version number-  - regex: 'Mac_PowerPC'-    os_replacement: 'Mac OS'--  # builds before tiger don't seem to specify version?--  # ios devices spoof (mac os x), so including intel/ppc prefixes-  - regex: '(?:PPC|Intel) (Mac OS X)'--  ##########-  # iOS-  # http://en.wikipedia.org/wiki/IOS_version_history-  ##########-  # keep this above generic iOS, since AppleTV UAs contain 'CPU OS'-  - regex: '(Apple\s?TV)(?:/(\d+)\.(\d+))?'-    os_replacement: 'ATV OS X'--  - regex: '(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS)[ +]+(\d+)[_\.](\d+)(?:[_\.](\d+))?'-    os_replacement: 'iOS'--  # remaining cases are mostly only opera uas, so catch opera as to not catch iphone spoofs-  - regex: '(iPhone|iPad|iPod); Opera'-    os_replacement: 'iOS'--  # few more stragglers-  - regex: '(iPhone|iPad|iPod).*Mac OS X.*Version/(\d+)\.(\d+)'-    os_replacement: 'iOS'--  # CFNetwork/Darwin - The specific CFNetwork or Darwin version determines-  # whether the os maps to Mac OS, or iOS, or just Darwin.-  # See: http://user-agents.me/cfnetwork-version-list-  - regex: '(CFNetwork)/(5)48\.0\.3.* Darwin/11\.0\.0'-    os_replacement: 'iOS'-  - regex: '(CFNetwork)/(5)48\.(0)\.4.* Darwin/(1)1\.0\.0'-    os_replacement: 'iOS'-  - regex: '(CFNetwork)/(5)48\.(1)\.4'-    os_replacement: 'iOS'-  - regex: '(CFNetwork)/(4)85\.1(3)\.9'-    os_replacement: 'iOS'-  - regex: '(CFNetwork)/(6)09\.(1)\.4'-    os_replacement: 'iOS'-  - regex: '(CFNetwork)/(6)(0)9'-    os_replacement: 'iOS'-  - regex: '(CFNetwork)/6(7)2\.(1)\.13'-    os_replacement: 'iOS'-  - regex: '(CFNetwork)/6(7)2\.(1)\.(1)4'-    os_replacement: 'iOS'-  - regex: '(CF)(Network)/6(7)(2)\.1\.15'-    os_replacement: 'iOS'-    os_v1_replacement: '7'-    os_v2_replacement: '1'-  - regex: '(CFNetwork)/6(7)2\.(0)\.(?:2|8)'-    os_replacement: 'iOS'-  - regex: '(CFNetwork)/709\.1'-    os_replacement: 'iOS'-    os_v1_replacement: '8'-    os_v2_replacement: '0.b5'-  - regex: '(CF)(Network)/711\.(\d)'-    os_replacement: 'iOS'-    os_v1_replacement: '8'-  - regex: '(CF)(Network)/(720)\.(\d)'-    os_replacement: 'Mac OS X'-    os_v1_replacement: '10'-    os_v2_replacement: '10'-  - regex: '(CF)(Network)/(760)\.(\d)'-    os_replacement: 'Mac OS X'-    os_v1_replacement: '10'-    os_v2_replacement: '11'-  - regex: '(CF)(Network)/758\.(\d)'-    os_replacement: 'iOS'-    os_v1_replacement: '9'-  - regex: '(CF)(Network)/808\.(\d)'-    os_replacement: 'iOS'-    os_v1_replacement: '10'--  ##########-  # CFNetwork macOS Apps (must be before CFNetwork iOS Apps-  # @ref: https://en.wikipedia.org/wiki/Darwin_(operating_system)#Release_history-  ##########-  - regex: 'CFNetwork/.* Darwin/16\.\d+.*\(x86_64\)'-    os_replacement: 'Mac OS X'-    os_v1_replacement: '10'-    os_v2_replacement: '12'-  - regex: 'CFNetwork/8.* Darwin/15\.\d+.*\(x86_64\)'-    os_replacement: 'Mac OS X'-    os_v1_replacement: '10'-    os_v2_replacement: '11'-  ##########-  # CFNetwork iOS Apps-  # @ref: https://en.wikipedia.org/wiki/Darwin_(operating_system)#Release_history-  ##########-  - regex: 'CFNetwork/.* Darwin/(9)\.\d+'-    os_replacement: 'iOS'-    os_v1_replacement: '1'-  - regex: 'CFNetwork/.* Darwin/(10)\.\d+'-    os_replacement: 'iOS'-    os_v1_replacement: '4'-  - regex: 'CFNetwork/.* Darwin/(11)\.\d+'-    os_replacement: 'iOS'-    os_v1_replacement: '5'-  - regex: 'CFNetwork/.* Darwin/(13)\.\d+'-    os_replacement: 'iOS'-    os_v1_replacement: '6'-  - regex: 'CFNetwork/6.* Darwin/(14)\.\d+'-    os_replacement: 'iOS'-    os_v1_replacement: '7'-  - regex: 'CFNetwork/7.* Darwin/(14)\.\d+'-    os_replacement: 'iOS'-    os_v1_replacement: '8'-    os_v2_replacement: '0'-  - regex: 'CFNetwork/7.* Darwin/(15)\.\d+'-    os_replacement: 'iOS'-    os_v1_replacement: '9'-    os_v2_replacement: '0'-  - regex: 'CFNetwork/8.* Darwin/(16)\.\d+'-    os_replacement: 'iOS'-    os_v1_replacement: '10'-  # iOS Apps-  - regex: '\b(iOS[ /]|iOS; |iPhone(?:/| v|[ _]OS[/,]|; | OS : |\d,\d/|\d,\d; )|iPad/)(\d{1,2})[_\.](\d{1,2})(?:[_\.](\d+))?'-    os_replacement: 'iOS'-  - regex: '\((iOS);'--  ##########-  # Apple TV-  ##########-  - regex: '(tvOS)/(\d+).(\d+)'-    os_replacement: 'tvOS'--  ##########-  # Chrome OS-  # if version 0.0.0, probably this stuff:-  # http://code.google.com/p/chromium-os/issues/detail?id=11573-  # http://code.google.com/p/chromium-os/issues/detail?id=13790-  ##########-  - regex: '(CrOS) [a-z0-9_]+ (\d+)\.(\d+)(?:\.(\d+))?'-    os_replacement: 'Chrome OS'--  ##########-  # Linux distros-  ##########-  - regex: '([Dd]ebian)'-    os_replacement: 'Debian'-  - regex: '(Linux Mint)(?:/(\d+))?'-  - regex: '(Mandriva)(?: Linux)?/(?:[\d.-]+m[a-z]{2}(\d+).(\d))?'--  ##########-  # Symbian + Symbian OS-  # http://en.wikipedia.org/wiki/History_of_Symbian-  ##########-  - regex: '(Symbian[Oo][Ss])[/ ](\d+)\.(\d+)'-    os_replacement: 'Symbian OS'-  - regex: '(Symbian/3).+NokiaBrowser/7\.3'-    os_replacement: 'Symbian^3 Anna'-  - regex: '(Symbian/3).+NokiaBrowser/7\.4'-    os_replacement: 'Symbian^3 Belle'-  - regex: '(Symbian/3)'-    os_replacement: 'Symbian^3'-  - regex: '\b(Series 60|SymbOS|S60Version|S60V\d|S60\b)'-    os_replacement: 'Symbian OS'-  - regex: '(MeeGo)'-  - regex: 'Symbian [Oo][Ss]'-    os_replacement: 'Symbian OS'-  - regex: 'Series40;'-    os_replacement: 'Nokia Series 40'-  - regex: 'Series30Plus;'-    os_replacement: 'Nokia Series 30 Plus'--  ##########-  # BlackBerry devices-  ##########-  - regex: '(BB10);.+Version/(\d+)\.(\d+)\.(\d+)'-    os_replacement: 'BlackBerry OS'-  - regex: '(Black[Bb]erry)[0-9a-z]+/(\d+)\.(\d+)\.(\d+)(?:\.(\d+))?'-    os_replacement: 'BlackBerry OS'-  - regex: '(Black[Bb]erry).+Version/(\d+)\.(\d+)\.(\d+)(?:\.(\d+))?'-    os_replacement: 'BlackBerry OS'-  - regex: '(RIM Tablet OS) (\d+)\.(\d+)\.(\d+)'-    os_replacement: 'BlackBerry Tablet OS'-  - regex: '(Play[Bb]ook)'-    os_replacement: 'BlackBerry Tablet OS'-  - regex: '(Black[Bb]erry)'-    os_replacement: 'BlackBerry OS'--  ##########-  # Firefox OS-  ##########-  - regex: '\((?:Mobile|Tablet);.+Gecko/18.0 Firefox/\d+\.\d+'-    os_replacement: 'Firefox OS'-    os_v1_replacement: '1'-    os_v2_replacement: '0'-    os_v3_replacement: '1'--  - regex: '\((?:Mobile|Tablet);.+Gecko/18.1 Firefox/\d+\.\d+'-    os_replacement: 'Firefox OS'-    os_v1_replacement: '1'-    os_v2_replacement: '1'--  - regex: '\((?:Mobile|Tablet);.+Gecko/26.0 Firefox/\d+\.\d+'-    os_replacement: 'Firefox OS'-    os_v1_replacement: '1'-    os_v2_replacement: '2'--  - regex: '\((?:Mobile|Tablet);.+Gecko/28.0 Firefox/\d+\.\d+'-    os_replacement: 'Firefox OS'-    os_v1_replacement: '1'-    os_v2_replacement: '3'--  - regex: '\((?:Mobile|Tablet);.+Gecko/30.0 Firefox/\d+\.\d+'-    os_replacement: 'Firefox OS'-    os_v1_replacement: '1'-    os_v2_replacement: '4'--  - regex: '\((?:Mobile|Tablet);.+Gecko/32.0 Firefox/\d+\.\d+'-    os_replacement: 'Firefox OS'-    os_v1_replacement: '2'-    os_v2_replacement: '0'--  - regex: '\((?:Mobile|Tablet);.+Gecko/34.0 Firefox/\d+\.\d+'-    os_replacement: 'Firefox OS'-    os_v1_replacement: '2'-    os_v2_replacement: '1'--  # Firefox OS Generic-  - regex: '\((?:Mobile|Tablet);.+Firefox/\d+\.\d+'-    os_replacement: 'Firefox OS'---  ##########-  # BREW-  # yes, Brew is lower-cased for Brew MP-  ##########-  - regex: '(BREW)[ /](\d+)\.(\d+)\.(\d+)'-  - regex: '(BREW);'-  - regex: '(Brew MP|BMP)[ /](\d+)\.(\d+)\.(\d+)'-    os_replacement: 'Brew MP'-  - regex: 'BMP;'-    os_replacement: 'Brew MP'--  ##########-  # Google TV-  ##########-  - regex: '(GoogleTV)(?: (\d+)\.(\d+)(?:\.(\d+))?|/[\da-z]+)'--  - regex: '(WebTV)/(\d+).(\d+)'--  ##########-  # Chromecast-  ##########-  - regex: '(CrKey)(?:[/](\d+)\.(\d+)(?:\.(\d+))?)?'-    os_replacement: 'Chromecast'--  ##########-  # Misc mobile-  ##########-  - regex: '(hpw|web)OS/(\d+)\.(\d+)(?:\.(\d+))?'-    os_replacement: 'webOS'-  - regex: '(VRE);'--  ##########-  # Generic patterns-  # since the majority of os cases are very specific, these go last-  ##########-  - regex: '(Fedora|Red Hat|PCLinuxOS|Puppy|Ubuntu|Kindle|Bada|Lubuntu|BackTrack|Slackware|(?:Free|Open|Net|\b)BSD)[/ ](\d+)\.(\d+)(?:\.(\d+)(?:\.(\d+))?)?'--  # Gentoo Linux + Kernel Version-  - regex: '(Linux)[ /](\d+)\.(\d+)(?:\.(\d+))?.*gentoo'-    os_replacement: 'Gentoo'--  # Opera Mini Bada-  - regex: '\((Bada);'--  # just os-  - regex: '(Windows|Android|WeTab|Maemo|Web0S)'-  - regex: '(Ubuntu|Kubuntu|Arch Linux|CentOS|Slackware|Gentoo|openSUSE|SUSE|Red Hat|Fedora|PCLinuxOS|Mageia|(?:Free|Open|Net|\b)BSD)'-  # Linux + Kernel Version-  - regex: '(Linux)(?:[ /](\d+)\.(\d+)(?:\.(\d+))?)?'-  - regex: 'SunOS'-    os_replacement: 'Solaris'--  # Roku Digital-Video-Players https://www.roku.com/-  - regex: '^(Roku)/DVP-(\d+)\.(\d+)'--device_parsers:--  #########-  # Mobile Spiders-  # Catch the mobile crawler before checking for iPhones / Androids.-  #########-  - regex: '(?:(?:iPhone|Windows CE|Windows Phone|Android).*(?:(?:Bot|Yeti)-Mobile|YRSpider|BingPreview|bots?/\d|(?:bot|spider)\.html)|AdsBot-Google-Mobile.*iPhone)'-    regex_flag: 'i'-    device_replacement: 'Spider'-    brand_replacement: 'Spider'-    model_replacement: 'Smartphone'-  - regex: '(?:DoCoMo|\bMOT\b|\bLG\b|Nokia|Samsung|SonyEricsson).*(?:(?:Bot|Yeti)-Mobile|bots?/\d|(?:bot|crawler)\.html|(?:jump|google|Wukong)bot|ichiro/mobile|/spider|YahooSeeker)'-    regex_flag: 'i'-    device_replacement: 'Spider'-    brand_replacement: 'Spider'-    model_replacement: 'Feature Phone'--  #########-  # WebBrowser for SmartWatch-  # @ref: https://play.google.com/store/apps/details?id=se.vaggan.webbrowser&hl=en-  #########-  - regex: '\bSmartWatch *\( *([^;]+) *; *([^;]+) *;'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'--  ######################################################################-  # Android parsers-  #-  # @ref: https://support.google.com/googleplay/answer/1727131?hl=en-  ######################################################################--  # Android Application-  - regex: 'Android Application[^\-]+ - (Sony) ?(Ericsson)? (.+) \w+ - '-    device_replacement: '$1 $2'-    brand_replacement: '$1$2'-    model_replacement: '$3'-  - regex: 'Android Application[^\-]+ - (?:HTC|HUAWEI|LGE|LENOVO|MEDION|TCT) (HTC|HUAWEI|LG|LENOVO|MEDION|ALCATEL)[ _\-](.+) \w+ - '-    regex_flag: 'i'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'-  - regex: 'Android Application[^\-]+ - ([^ ]+) (.+) \w+ - '-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'--  #########-  # 3Q-  # @ref: http://www.3q-int.com/-  #########-  - regex: '; *([BLRQ]C\d{4}[A-Z]+) +Build/'-    device_replacement: '3Q $1'-    brand_replacement: '3Q'-    model_replacement: '$1'-  - regex: '; *(?:3Q_)([^;/]+) +Build'-    device_replacement: '3Q $1'-    brand_replacement: '3Q'-    model_replacement: '$1'--  #########-  # Acer-  # @ref: http://us.acer.com/ac/en/US/content/group/tablets-  #########-  - regex: 'Android [34].*; *(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700(?: Lite| 3G)?|A701|B1-A71|A1-\d{3}|B1-\d{3}|V360|V370|W500|W500P|W501|W501P|W510|W511|W700|Slider SL101|DA22[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Acer'-    model_replacement: '$1'-  - regex: '; *Acer Iconia Tab ([^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Acer'-    model_replacement: '$1'-  - regex: '; *(Z1[1235]0|E320[^/]*|S500|S510|Liquid[^;/]*|Iconia A\d+) Build'-    device_replacement: '$1'-    brand_replacement: 'Acer'-    model_replacement: '$1'-  - regex: '; *(Acer |ACER )([^;/]+) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Acer'-    model_replacement: '$2'--  #########-  # Advent-  # @ref: https://en.wikipedia.org/wiki/Advent_Vega-  # @note: VegaBean and VegaComb (names derived from jellybean, honeycomb) are-  #   custom ROM builds for Vega-  #########-  - regex: '; *(Advent )?(Vega(?:Bean|Comb)?).* Build'-    device_replacement: '$1$2'-    brand_replacement: 'Advent'-    model_replacement: '$2'--  #########-  # Ainol-  # @ref: http://www.ainol.com/plugin.php?identifier=ainol&module=product-  #########-  - regex: '; *(Ainol )?((?:NOVO|[Nn]ovo)[^;/]+) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Ainol'-    model_replacement: '$2'--  #########-  # Airis-  # @ref: http://airis.es/Tienda/Default.aspx?idG=001-  #########-  - regex: '; *AIRIS[ _\-]?([^/;\)]+) *(?:;|\)|Build)'-    regex_flag: 'i'-    device_replacement: '$1'-    brand_replacement: 'Airis'-    model_replacement: '$1'-  - regex: '; *(OnePAD[^;/]+) Build'-    regex_flag: 'i'-    device_replacement: '$1'-    brand_replacement: 'Airis'-    model_replacement: '$1'--  #########-  # Airpad-  # @ref: ??-  #########-  - regex: '; *Airpad[ \-]([^;/]+) Build'-    device_replacement: 'Airpad $1'-    brand_replacement: 'Airpad'-    model_replacement: '$1'--  #########-  # Alcatel - TCT-  # @ref: http://www.alcatelonetouch.com/global-en/products/smartphones.html-  #########-  - regex: '; *(one ?touch) (EVO7|T10|T20) Build'-    device_replacement: 'Alcatel One Touch $2'-    brand_replacement: 'Alcatel'-    model_replacement: 'One Touch $2'-  - regex: '; *(?:alcatel[ _])?(?:(?:one[ _]?touch[ _])|ot[ \-])([^;/]+);? Build'-    regex_flag: 'i'-    device_replacement: 'Alcatel One Touch $1'-    brand_replacement: 'Alcatel'-    model_replacement: 'One Touch $1'-  - regex: '; *(TCL)[ _]([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'-  # operator specific models-  - regex: '; *(Vodafone Smart II|Optimus_Madrid) Build'-    device_replacement: 'Alcatel $1'-    brand_replacement: 'Alcatel'-    model_replacement: '$1'-  - regex: '; *BASE_Lutea_3 Build'-    device_replacement: 'Alcatel One Touch 998'-    brand_replacement: 'Alcatel'-    model_replacement: 'One Touch 998'-  - regex: '; *BASE_Varia Build'-    device_replacement: 'Alcatel One Touch 918D'-    brand_replacement: 'Alcatel'-    model_replacement: 'One Touch 918D'--  #########-  # Allfine-  # @ref: http://www.myallfine.com/Products.asp-  #########-  - regex: '; *((?:FINE|Fine)\d[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Allfine'-    model_replacement: '$1'--  #########-  # Allview-  # @ref: http://www.allview.ro/produse/droseries/lista-tablete-pc/-  #########-  - regex: '; *(ALLVIEW[ _]?|Allview[ _]?)((?:Speed|SPEED).*) Build/'-    device_replacement: '$1$2'-    brand_replacement: 'Allview'-    model_replacement: '$2'-  - regex: '; *(ALLVIEW[ _]?|Allview[ _]?)?(AX1_Shine|AX2_Frenzy) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Allview'-    model_replacement: '$2'-  - regex: '; *(ALLVIEW[ _]?|Allview[ _]?)([^;/]*) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Allview'-    model_replacement: '$2'--  #########-  # Allwinner-  # @ref: http://www.allwinner.com/-  # @models: A31 (13.3"),A20,A10,-  #########-  - regex: '; *(A13-MID) Build'-    device_replacement: '$1'-    brand_replacement: 'Allwinner'-    model_replacement: '$1'-  - regex: '; *(Allwinner)[ _\-]?([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'Allwinner'-    model_replacement: '$1'--  #########-  # Amaway-  # @ref: http://www.amaway.cn/-  #########-  - regex: '; *(A651|A701B?|A702|A703|A705|A706|A707|A711|A712|A713|A717|A722|A785|A801|A802|A803|A901|A902|A1002|A1003|A1006|A1007|A9701|A9703|Q710|Q80) Build'-    device_replacement: '$1'-    brand_replacement: 'Amaway'-    model_replacement: '$1'--  #########-  # Amoi-  # @ref: http://www.amoi.com/en/prd/prd_index.jspx-  #########-  - regex: '; *(?:AMOI|Amoi)[ _]([^;/]+) Build'-    device_replacement: 'Amoi $1'-    brand_replacement: 'Amoi'-    model_replacement: '$1'-  - regex: '^(?:AMOI|Amoi)[ _]([^;/]+) Linux'-    device_replacement: 'Amoi $1'-    brand_replacement: 'Amoi'-    model_replacement: '$1'--  #########-  # Aoc-  # @ref: http://latin.aoc.com/media_tablet-  #########-  - regex: '; *(MW(?:0[789]|10)[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Aoc'-    model_replacement: '$1'--  #########-  # Aoson-  # @ref: http://www.luckystar.com.cn/en/mid.aspx?page=1-  # @ref: http://www.luckystar.com.cn/en/mobiletel.aspx?page=1-  # @note: brand owned by luckystar-  #########-  - regex: '; *(G7|M1013|M1015G|M11[CG]?|M-?12[B]?|M15|M19[G]?|M30[ACQ]?|M31[GQ]|M32|M33[GQ]|M36|M37|M38|M701T|M710|M712B|M713|M715G|M716G|M71(?:G|GS|T)?|M72[T]?|M73[T]?|M75[GT]?|M77G|M79T|M7L|M7LN|M81|M810|M81T|M82|M92|M92KS|M92S|M717G|M721|M722G|M723|M725G|M739|M785|M791|M92SK|M93D) Build'-    device_replacement: 'Aoson $1'-    brand_replacement: 'Aoson'-    model_replacement: '$1'-  - regex: '; *Aoson ([^;/]+) Build'-    regex_flag: 'i'-    device_replacement: 'Aoson $1'-    brand_replacement: 'Aoson'-    model_replacement: '$1'--  #########-  # Apanda-  # @ref: http://www.apanda.com.cn/-  #########-  - regex: '; *[Aa]panda[ _\-]([^;/]+) Build'-    device_replacement: 'Apanda $1'-    brand_replacement: 'Apanda'-    model_replacement: '$1'--  #########-  # Archos-  # @ref: http://www.archos.com/de/products/tablets.html-  # @ref: http://www.archos.com/de/products/smartphones/index.html-  #########-  - regex: '; *(?:ARCHOS|Archos) ?(GAMEPAD.*?)(?: Build|[;/\(\)\-])'-    device_replacement: 'Archos $1'-    brand_replacement: 'Archos'-    model_replacement: '$1'-  - regex: 'ARCHOS; GOGI; ([^;]+);'-    device_replacement: 'Archos $1'-    brand_replacement: 'Archos'-    model_replacement: '$1'-  - regex: '(?:ARCHOS|Archos)[ _]?(.*?)(?: Build|[;/\(\)\-]|$)'-    device_replacement: 'Archos $1'-    brand_replacement: 'Archos'-    model_replacement: '$1'-  - regex: '; *(AN(?:7|8|9|10|13)[A-Z0-9]{1,4}) Build'-    device_replacement: 'Archos $1'-    brand_replacement: 'Archos'-    model_replacement: '$1'-  - regex: '; *(A28|A32|A43|A70(?:BHT|CHT|HB|S|X)|A101(?:B|C|IT)|A7EB|A7EB-WK|101G9|80G9) Build'-    device_replacement: 'Archos $1'-    brand_replacement: 'Archos'-    model_replacement: '$1'--  #########-  # A-rival-  # @ref: http://www.a-rival.de/de/-  #########-  - regex: '; *(PAD-FMD[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Arival'-    model_replacement: '$1'-  - regex: '; *(BioniQ) ?([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'Arival'-    model_replacement: '$1 $2'--  #########-  # Arnova-  # @ref: http://arnovatech.com/-  #########-  - regex: '; *(AN\d[^;/]+|ARCHM\d+) Build'-    device_replacement: 'Arnova $1'-    brand_replacement: 'Arnova'-    model_replacement: '$1'-  - regex: '; *(?:ARNOVA|Arnova) ?([^;/]+) Build'-    device_replacement: 'Arnova $1'-    brand_replacement: 'Arnova'-    model_replacement: '$1'--  #########-  # Assistant-  # @ref: http://www.assistant.ua-  #########-  - regex: '; *(?:ASSISTANT )?(AP)-?([1789]\d{2}[A-Z]{0,2}|80104) Build'-    device_replacement: 'Assistant $1-$2'-    brand_replacement: 'Assistant'-    model_replacement: '$1-$2'--  #########-  # Asus-  # @ref: http://www.asus.com/uk/Tablets_Mobile/-  #########-  - regex: '; *(ME17\d[^;/]*|ME3\d{2}[^;/]+|K00[A-Z]|Nexus 10|Nexus 7(?: 2013)?|PadFone[^;/]*|Transformer[^;/]*|TF\d{3}[^;/]*|eeepc) Build'-    device_replacement: 'Asus $1'-    brand_replacement: 'Asus'-    model_replacement: '$1'-  - regex: '; *ASUS[ _]*([^;/]+) Build'-    device_replacement: 'Asus $1'-    brand_replacement: 'Asus'-    model_replacement: '$1'--  #########-  # Garmin-Asus-  #########-  - regex: '; *Garmin-Asus ([^;/]+) Build'-    device_replacement: 'Garmin-Asus $1'-    brand_replacement: 'Garmin-Asus'-    model_replacement: '$1'-  - regex: '; *(Garminfone) Build'-    device_replacement: 'Garmin $1'-    brand_replacement: 'Garmin-Asus'-    model_replacement: '$1'--  #########-  # Attab-  # @ref: http://www.theattab.com/-  #########-  - regex: '; (@TAB-[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Attab'-    model_replacement: '$1'--  #########-  # Audiosonic-  # @ref: ??-  # @note: Take care with Docomo T-01 Toshiba-  #########-  - regex: '; *(T-(?:07|[^0]\d)[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Audiosonic'-    model_replacement: '$1'--  #########-  # Axioo-  # @ref: http://www.axiooworld.com/ww/index.php-  #########-  - regex: '; *(?:Axioo[ _\-]([^;/]+)|(picopad)[ _\-]([^;/]+)) Build'-    regex_flag: 'i'-    device_replacement: 'Axioo $1$2 $3'-    brand_replacement: 'Axioo'-    model_replacement: '$1$2 $3'--  #########-  # Azend-  # @ref: http://azendcorp.com/index.php/products/portable-electronics-  #########-  - regex: '; *(V(?:100|700|800)[^;/]*) Build'-    device_replacement: '$1'-    brand_replacement: 'Azend'-    model_replacement: '$1'--  #########-  # Bak-  # @ref: http://www.bakinternational.com/produtos.php?cat=80-  #########-  - regex: '; *(IBAK\-[^;/]*) Build'-    regex_flag: 'i'-    device_replacement: '$1'-    brand_replacement: 'Bak'-    model_replacement: '$1'--  #########-  # Bedove-  # @ref: http://www.bedove.com/product.html-  # @models: HY6501|HY5001|X12|X21|I5-  #########-  - regex: '; *(HY5001|HY6501|X12|X21|I5) Build'-    device_replacement: 'Bedove $1'-    brand_replacement: 'Bedove'-    model_replacement: '$1'--  #########-  # Benss-  # @ref: http://www.benss.net/-  #########-  - regex: '; *(JC-[^;/]*) Build'-    device_replacement: 'Benss $1'-    brand_replacement: 'Benss'-    model_replacement: '$1'--  #########-  # Blackberry-  # @ref: http://uk.blackberry.com/-  # @note: Android Apps seams to be used here-  #########-  - regex: '; *(BB) ([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'Blackberry'-    model_replacement: '$2'--  #########-  # Blackbird-  # @ref: http://iblackbird.co.kr-  #########-  - regex: '; *(BlackBird)[ _](I8.*) Build'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'-  - regex: '; *(BlackBird)[ _](.*) Build'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'--  #########-  # Blaupunkt-  # @ref: http://www.blaupunkt.com-  #########-  # Endeavour-  - regex: '; *([0-9]+BP[EM][^;/]*|Endeavour[^;/]+) Build'-    device_replacement: 'Blaupunkt $1'-    brand_replacement: 'Blaupunkt'-    model_replacement: '$1'--  #########-  # Blu-  # @ref: http://bluproducts.com-  #########-  - regex: '; *((?:BLU|Blu)[ _\-])([^;/]+) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Blu'-    model_replacement: '$2'-  # BMOBILE = operator branded device-  - regex: '; *(?:BMOBILE )?(Blu|BLU|DASH [^;/]+|VIVO 4\.3|TANK 4\.5) Build'-    device_replacement: '$1'-    brand_replacement: 'Blu'-    model_replacement: '$1'--  #########-  # Blusens-  # @ref: http://www.blusens.com/es/?sg=1&sv=al&roc=1-  #########-  # tablet-  - regex: '; *(TOUCH\d[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Blusens'-    model_replacement: '$1'--  #########-  # Bmobile-  # @ref: http://bmobile.eu.com/?categoria=smartphones-2-  # @note: Might collide with Maxx as AX is used also there.-  #########-  # smartphone-  - regex: '; *(AX5\d+) Build'-    device_replacement: '$1'-    brand_replacement: 'Bmobile'-    model_replacement: '$1'--  #########-  # bq-  # @ref: http://bqreaders.com-  #########-  - regex: '; *([Bb]q) ([^;/]+);? Build'-    device_replacement: '$1 $2'-    brand_replacement: 'bq'-    model_replacement: '$2'-  - regex: '; *(Maxwell [^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'bq'-    model_replacement: '$1'--  #########-  # Braun Phototechnik-  # @ref: http://www.braun-phototechnik.de/en/products/list/~pcat.250/Tablet-PC.html-  #########-  - regex: '; *((?:B-Tab|B-TAB) ?\d[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Braun'-    model_replacement: '$1'--  #########-  # Broncho-  # @ref: http://www.broncho.cn/-  #########-  - regex: '; *(Broncho) ([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'--  #########-  # Captiva-  # @ref: http://www.captiva-power.de-  #########-  - regex: '; *CAPTIVA ([^;/]+) Build'-    device_replacement: 'Captiva $1'-    brand_replacement: 'Captiva'-    model_replacement: '$1'--  #########-  # Casio-  # @ref: http://www.casiogzone.com/-  #########-  - regex: '; *(C771|CAL21|IS11CA) Build'-    device_replacement: '$1'-    brand_replacement: 'Casio'-    model_replacement: '$1'--  #########-  # Cat-  # @ref: http://www.cat-sound.com-  #########-  - regex: '; *(?:Cat|CAT) ([^;/]+) Build'-    device_replacement: 'Cat $1'-    brand_replacement: 'Cat'-    model_replacement: '$1'-  - regex: '; *(?:Cat)(Nova.*) Build'-    device_replacement: 'Cat $1'-    brand_replacement: 'Cat'-    model_replacement: '$1'-  - regex: '; *(INM8002KP|ADM8000KP_[AB]) Build'-    device_replacement: '$1'-    brand_replacement: 'Cat'-    model_replacement: 'Tablet PHOENIX 8.1J0'--  #########-  # Celkon-  # @ref: http://www.celkonmobiles.com/?_a=products-  # @models: A10, A19Q, A101, A105, A107, A107\+, A112, A118, A119, A119Q, A15, A19, A20, A200, A220, A225, A22 Race, A27, A58, A59, A60, A62, A63, A64, A66, A67, A69, A75, A77, A79, A8\+, A83, A85, A86, A87, A89 Ultima, A9\+, A90, A900, A95, A97i, A98, AR 40, AR 45, AR 50, ML5-  #########-  - regex: '; *(?:[Cc]elkon[ _\*]|CELKON[ _\*])([^;/\)]+) ?(?:Build|;|\))'-    device_replacement: '$1'-    brand_replacement: 'Celkon'-    model_replacement: '$1'-  - regex: 'Build/(?:[Cc]elkon)+_?([^;/_\)]+)'-    device_replacement: '$1'-    brand_replacement: 'Celkon'-    model_replacement: '$1'-  - regex: '; *(CT)-?(\d+) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Celkon'-    model_replacement: '$1$2'-  # smartphones-  - regex: '; *(A19|A19Q|A105|A107[^;/\)]*) ?(?:Build|;|\))'-    device_replacement: '$1'-    brand_replacement: 'Celkon'-    model_replacement: '$1'--  #########-  # ChangJia-  # @ref: http://www.cjshowroom.com/eproducts.aspx?classcode=004001001-  # @brief: China manufacturer makes tablets for different small brands-  #         (eg. http://www.zeepad.net/index.html)-  #########-  - regex: '; *(TPC[0-9]{4,5}) Build'-    device_replacement: '$1'-    brand_replacement: 'ChangJia'-    model_replacement: '$1'--  #########-  # Cloudfone-  # @ref: http://www.cloudfonemobile.com/-  #########-  - regex: '; *(Cloudfone)[ _](Excite)([^ ][^;/]+) Build'-    device_replacement: '$1 $2 $3'-    brand_replacement: 'Cloudfone'-    model_replacement: '$1 $2 $3'-  - regex: '; *(Excite|ICE)[ _](\d+[^;/]+) Build'-    device_replacement: 'Cloudfone $1 $2'-    brand_replacement: 'Cloudfone'-    model_replacement: 'Cloudfone $1 $2'-  - regex: '; *(Cloudfone|CloudPad)[ _]([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'Cloudfone'-    model_replacement: '$1 $2'--  #########-  # Cmx-  # @ref: http://cmx.at/de/-  #########-  - regex: '; *((?:Aquila|Clanga|Rapax)[^;/]+) Build'-    regex_flag: 'i'-    device_replacement: '$1'-    brand_replacement: 'Cmx'-    model_replacement: '$1'--  #########-  # CobyKyros-  # @ref: http://cobykyros.com-  # @note: Be careful with MID\d{3} from MpMan or Manta-  #########-  - regex: '; *(?:CFW-|Kyros )?(MID[0-9]{4}(?:[ABC]|SR|TV)?)(\(3G\)-4G| GB 8K| 3G| 8K| GB)? *(?:Build|[;\)])'-    device_replacement: 'CobyKyros $1$2'-    brand_replacement: 'CobyKyros'-    model_replacement: '$1$2'--  #########-  # Coolpad-  # @ref: ??-  #########-  - regex: '; *([^;/]*)Coolpad[ _]([^;/]+) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Coolpad'-    model_replacement: '$1$2'--  #########-  # Cube-  # @ref: http://www.cube-tablet.com/buy-products.html-  #########-  - regex: '; *(CUBE[ _])?([KU][0-9]+ ?GT.*|A5300) Build'-    regex_flag: 'i'-    device_replacement: '$1$2'-    brand_replacement: 'Cube'-    model_replacement: '$2'--  #########-  # Cubot-  # @ref: http://www.cubotmall.com/-  #########-  - regex: '; *CUBOT ([^;/]+) Build'-    regex_flag: 'i'-    device_replacement: '$1'-    brand_replacement: 'Cubot'-    model_replacement: '$1'-  - regex: '; *(BOBBY) Build'-    regex_flag: 'i'-    device_replacement: '$1'-    brand_replacement: 'Cubot'-    model_replacement: '$1'--  #########-  # Danew-  # @ref: http://www.danew.com/produits-tablette.php-  #########-  - regex: '; *(Dslide [^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Danew'-    model_replacement: '$1'--  #########-  # Dell-  # @ref: http://www.dell.com-  # @ref: http://www.softbank.jp/mobile/support/product/101dl/-  # @ref: http://www.softbank.jp/mobile/support/product/001dl/-  # @ref: http://developer.emnet.ne.jp/android.html-  # @ref: http://www.dell.com/in/p/mobile-xcd28/pd-  # @ref: http://www.dell.com/in/p/mobile-xcd35/pd-  #########-  - regex: '; *(XCD)[ _]?(28|35) Build'-    device_replacement: 'Dell $1$2'-    brand_replacement: 'Dell'-    model_replacement: '$1$2'-  - regex: '; *(001DL) Build'-    device_replacement: 'Dell $1'-    brand_replacement: 'Dell'-    model_replacement: 'Streak'-  - regex: '; *(?:Dell|DELL) (Streak) Build'-    device_replacement: 'Dell $1'-    brand_replacement: 'Dell'-    model_replacement: 'Streak'-  - regex: '; *(101DL|GS01|Streak Pro[^;/]*) Build'-    device_replacement: 'Dell $1'-    brand_replacement: 'Dell'-    model_replacement: 'Streak Pro'-  - regex: '; *([Ss]treak ?7) Build'-    device_replacement: 'Dell $1'-    brand_replacement: 'Dell'-    model_replacement: 'Streak 7'-  - regex: '; *(Mini-3iX) Build'-    device_replacement: 'Dell $1'-    brand_replacement: 'Dell'-    model_replacement: '$1'-  - regex: '; *(?:Dell|DELL)[ _](Aero|Venue|Thunder|Mini.*|Streak[ _]Pro) Build'-    device_replacement: 'Dell $1'-    brand_replacement: 'Dell'-    model_replacement: '$1'-  - regex: '; *Dell[ _]([^;/]+) Build'-    device_replacement: 'Dell $1'-    brand_replacement: 'Dell'-    model_replacement: '$1'-  - regex: '; *Dell ([^;/]+) Build'-    device_replacement: 'Dell $1'-    brand_replacement: 'Dell'-    model_replacement: '$1'--  #########-  # Denver-  # @ref: http://www.denver-electronics.com/tablets1/-  #########-  - regex: '; *(TA[CD]-\d+[^;/]*) Build'-    device_replacement: '$1'-    brand_replacement: 'Denver'-    model_replacement: '$1'--  #########-  # Dex-  # @ref: http://dex.ua/-  #########-  - regex: '; *(iP[789]\d{2}(?:-3G)?|IP10\d{2}(?:-8GB)?) Build'-    device_replacement: '$1'-    brand_replacement: 'Dex'-    model_replacement: '$1'--  #########-  # DNS AirTab-  # @ref: http://www.dns-shop.ru/-  #########-  - regex: '; *(AirTab)[ _\-]([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'DNS'-    model_replacement: '$1 $2'--  #########-  # Docomo (Operator Branded Device)-  # @ref: http://www.ipentec.com/document/document.aspx?page=android-useragent-  #########-  - regex: '; *(F\-\d[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Fujitsu'-    model_replacement: '$1'-  - regex: '; *(HT-03A) Build'-    device_replacement: '$1'-    brand_replacement: 'HTC'-    model_replacement: 'Magic'-  - regex: '; *(HT\-\d[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'HTC'-    model_replacement: '$1'-  - regex: '; *(L\-\d[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'LG'-    model_replacement: '$1'-  - regex: '; *(N\-\d[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Nec'-    model_replacement: '$1'-  - regex: '; *(P\-\d[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Panasonic'-    model_replacement: '$1'-  - regex: '; *(SC\-\d[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Samsung'-    model_replacement: '$1'-  - regex: '; *(SH\-\d[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Sharp'-    model_replacement: '$1'-  - regex: '; *(SO\-\d[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'SonyEricsson'-    model_replacement: '$1'-  - regex: '; *(T\-0[12][^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Toshiba'-    model_replacement: '$1'--  #########-  # DOOV-  # @ref: http://www.doov.com.cn/-  #########-  - regex: '; *(DOOV)[ _]([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'DOOV'-    model_replacement: '$2'--  #########-  # Enot-  # @ref: http://www.enot.ua/-  #########-  - regex: '; *(Enot|ENOT)[ -]?([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'Enot'-    model_replacement: '$2'--  #########-  # Evercoss-  # @ref: http://evercoss.com/android/-  #########-  - regex: '; *[^;/]+ Build/(?:CROSS|Cross)+[ _\-]([^\)]+)'-    device_replacement: 'CROSS $1'-    brand_replacement: 'Evercoss'-    model_replacement: 'Cross $1'-  - regex: '; *(CROSS|Cross)[ _\-]([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'Evercoss'-    model_replacement: 'Cross $2'--  #########-  # Explay-  # @ref: http://explay.ru/-  #########-  - regex: '; *Explay[_ ](.+?)(?:[\)]| Build)'-    device_replacement: '$1'-    brand_replacement: 'Explay'-    model_replacement: '$1'--  #########-  # Fly-  # @ref: http://www.fly-phone.com/-  #########-  - regex: '; *(IQ.*) Build'-    device_replacement: '$1'-    brand_replacement: 'Fly'-    model_replacement: '$1'-  - regex: '; *(Fly|FLY)[ _](IQ[^;]+|F[34]\d+[^;]*);? Build'-    device_replacement: '$1 $2'-    brand_replacement: 'Fly'-    model_replacement: '$2'--  #########-  # Fujitsu-  # @ref: http://www.fujitsu.com/global/-  #########-  - regex: '; *(M532|Q572|FJL21) Build/'-    device_replacement: '$1'-    brand_replacement: 'Fujitsu'-    model_replacement: '$1'--  #########-  # Galapad-  # @ref: http://www.galapad.net/product.html-  #########-  - regex: '; *(G1) Build'-    device_replacement: '$1'-    brand_replacement: 'Galapad'-    model_replacement: '$1'--  #########-  # Geeksphone-  # @ref: http://www.geeksphone.com/-  #########-  - regex: '; *(Geeksphone) ([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'--  #########-  # Gfive-  # @ref: http://www.gfivemobile.com/en-  #########-  #- regex: '; *(G\'?FIVE) ([^;/]+) Build' # there is a problem with python yaml parser here-  - regex: '; *(G[^F]?FIVE) ([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'Gfive'-    model_replacement: '$2'--  #########-  # Gionee-  # @ref: http://www.gionee.com/-  #########-  - regex: '; *(Gionee)[ _\-]([^;/]+)(?:/[^;/]+)? Build'-    regex_flag: 'i'-    device_replacement: '$1 $2'-    brand_replacement: 'Gionee'-    model_replacement: '$2'-  - regex: '; *(GN\d+[A-Z]?|INFINITY_PASSION|Ctrl_V1) Build'-    device_replacement: 'Gionee $1'-    brand_replacement: 'Gionee'-    model_replacement: '$1'-  - regex: '; *(E3) Build/JOP40D'-    device_replacement: 'Gionee $1'-    brand_replacement: 'Gionee'-    model_replacement: '$1'--  #########-  # GoClever-  # @ref: http://www.goclever.com-  #########-  - regex: '; *((?:FONE|QUANTUM|INSIGNIA) \d+[^;/]*|PLAYTAB) Build'-    device_replacement: 'GoClever $1'-    brand_replacement: 'GoClever'-    model_replacement: '$1'-  - regex: '; *GOCLEVER ([^;/]+) Build'-    device_replacement: 'GoClever $1'-    brand_replacement: 'GoClever'-    model_replacement: '$1'--  #########-  # Google-  # @ref: http://www.google.de/glass/start/-  #########-  - regex: '; *(Glass \d+) Build'-    device_replacement: '$1'-    brand_replacement: 'Google'-    model_replacement: '$1'-  - regex: '; *(Pixel \w+) Build'-    device_replacement: '$1'-    brand_replacement: 'Google'-    model_replacement: '$1'--  #########-  # Gigabyte-  # @ref: http://gsmart.gigabytecm.com/en/-  #########-  - regex: '; *(GSmart)[ -]([^/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'Gigabyte'-    model_replacement: '$1 $2'--  #########-  # Freescale development boards-  # @ref: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX53QSB-  #########-  - regex: '; *(imx5[13]_[^/]+) Build'-    device_replacement: 'Freescale $1'-    brand_replacement: 'Freescale'-    model_replacement: '$1'--  #########-  # Haier-  # @ref: http://www.haier.com/-  # @ref: http://www.haier.com/de/produkte/tablet/-  #########-  - regex: '; *Haier[ _\-]([^/]+) Build'-    device_replacement: 'Haier $1'-    brand_replacement: 'Haier'-    model_replacement: '$1'-  - regex: '; *(PAD1016) Build'-    device_replacement: 'Haipad $1'-    brand_replacement: 'Haipad'-    model_replacement: '$1'--  #########-  # Haipad-  # @ref: http://www.haipad.net/-  # @models: V7P|M7SM7S|M9XM9X|M7XM7X|M9|M8|M7-M|M1002|M7|M701-  #########-  - regex: '; *(M701|M7|M8|M9) Build'-    device_replacement: 'Haipad $1'-    brand_replacement: 'Haipad'-    model_replacement: '$1'--  #########-  # Hannspree-  # @ref: http://www.hannspree.eu/-  # @models: SN10T1|SN10T2|SN70T31B|SN70T32W-  #########-  - regex: '; *(SN\d+T[^;\)/]*)(?: Build|[;\)])'-    device_replacement: 'Hannspree $1'-    brand_replacement: 'Hannspree'-    model_replacement: '$1'--  #########-  # HCLme-  # @ref: http://www.hclmetablet.com/india/-  #########-  - regex: 'Build/HCL ME Tablet ([^;\)]+)[\);]'-    device_replacement: 'HCLme $1'-    brand_replacement: 'HCLme'-    model_replacement: '$1'-  - regex: '; *([^;\/]+) Build/HCL'-    device_replacement: 'HCLme $1'-    brand_replacement: 'HCLme'-    model_replacement: '$1'--  #########-  # Hena-  # @ref: http://www.henadigital.com/en/product/index.asp?id=6-  #########-  - regex: '; *(MID-?\d{4}C[EM]) Build'-    device_replacement: 'Hena $1'-    brand_replacement: 'Hena'-    model_replacement: '$1'--  #########-  # Hisense-  # @ref: http://www.hisense.com/-  #########-  - regex: '; *(EG\d{2,}|HS-[^;/]+|MIRA[^;/]+) Build'-    device_replacement: 'Hisense $1'-    brand_replacement: 'Hisense'-    model_replacement: '$1'-  - regex: '; *(andromax[^;/]+) Build'-    regex_flag: 'i'-    device_replacement: 'Hisense $1'-    brand_replacement: 'Hisense'-    model_replacement: '$1'--  #########-  # hitech-  # @ref: http://www.hitech-mobiles.com/-  #########-  - regex: '; *(?:AMAZE[ _](S\d+)|(S\d+)[ _]AMAZE) Build'-    device_replacement: 'AMAZE $1$2'-    brand_replacement: 'hitech'-    model_replacement: 'AMAZE $1$2'--  #########-  # HP-  # @ref: http://www.hp.com/-  #########-  - regex: '; *(PlayBook) Build'-    device_replacement: 'HP $1'-    brand_replacement: 'HP'-    model_replacement: '$1'-  - regex: '; *HP ([^/]+) Build'-    device_replacement: 'HP $1'-    brand_replacement: 'HP'-    model_replacement: '$1'-  - regex: '; *([^/]+_tenderloin) Build'-    device_replacement: 'HP TouchPad'-    brand_replacement: 'HP'-    model_replacement: 'TouchPad'--  #########-  # Huawei-  # @ref: http://www.huaweidevice.com-  # @note: Needs to be before HTC due to Desire HD Build on U8815-  #########-  - regex: '; *(HUAWEI |Huawei-)?([UY][^;/]+) Build/(?:Huawei|HUAWEI)([UY][^\);]+)\)'-    device_replacement: '$1$2'-    brand_replacement: 'Huawei'-    model_replacement: '$2'-  - regex: '; *([^;/]+) Build[/ ]Huawei(MT1-U06|[A-Z]+\d+[^\);]+)[^\);]*\)'-    device_replacement: '$1'-    brand_replacement: 'Huawei'-    model_replacement: '$2'-  - regex: '; *(S7|M860) Build'-    device_replacement: '$1'-    brand_replacement: 'Huawei'-    model_replacement: '$1'-  - regex: '; *((?:HUAWEI|Huawei)[ \-]?)(MediaPad) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Huawei'-    model_replacement: '$2'-  - regex: '; *((?:HUAWEI[ _]?|Huawei[ _])?Ascend[ _])([^;/]+) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Huawei'-    model_replacement: '$2'-  - regex: '; *((?:HUAWEI|Huawei)[ _\-]?)((?:G700-|MT-)[^;/]+) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Huawei'-    model_replacement: '$2'-  - regex: '; *((?:HUAWEI|Huawei)[ _\-]?)([^;/]+) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Huawei'-    model_replacement: '$2'-  - regex: '; *(MediaPad[^;]+|SpringBoard) Build/Huawei'-    device_replacement: '$1'-    brand_replacement: 'Huawei'-    model_replacement: '$1'-  - regex: '; *([^;]+) Build/(?:Huawei|HUAWEI)'-    device_replacement: '$1'-    brand_replacement: 'Huawei'-    model_replacement: '$1'-  - regex: '; *([Uu])([89]\d{3}) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Huawei'-    model_replacement: 'U$2'-  - regex: '; *(?:Ideos |IDEOS )(S7) Build'-    device_replacement: 'Huawei Ideos$1'-    brand_replacement: 'Huawei'-    model_replacement: 'Ideos$1'-  - regex: '; *(?:Ideos |IDEOS )([^;/]+\s*|\s*)Build'-    device_replacement: 'Huawei Ideos$1'-    brand_replacement: 'Huawei'-    model_replacement: 'Ideos$1'-  - regex: '; *(Orange Daytona|Pulse|Pulse Mini|Vodafone 858|C8500|C8600|C8650|C8660|Nexus 6P|ATH-.+?) Build[/ ]'-    device_replacement: 'Huawei $1'-    brand_replacement: 'Huawei'-    model_replacement: '$1'--  #########-  # HTC-  # @ref: http://www.htc.com/www/products/-  # @ref: http://en.wikipedia.org/wiki/List_of_HTC_phones-  #########--  - regex: '; *HTC[ _]([^;]+); Windows Phone'-    device_replacement: 'HTC $1'-    brand_replacement: 'HTC'-    model_replacement: '$1'--  # Android HTC with Version Number matcher-  # ; HTC_0P3Z11/1.12.161.3 Build-  # ;HTC_A3335 V2.38.841.1 Build-  - regex: '; *(?:HTC[ _/])+([^ _/]+)(?:[/\\]1\.0 | V|/| +)\d+\.\d[\d\.]*(?: *Build|\))'-    device_replacement: 'HTC $1'-    brand_replacement: 'HTC'-    model_replacement: '$1'-  - regex: '; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+))?(?:[/\\]1\.0 | V|/| +)\d+\.\d[\d\.]*(?: *Build|\))'-    device_replacement: 'HTC $1 $2'-    brand_replacement: 'HTC'-    model_replacement: '$1 $2'-  - regex: '; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+))?)?(?:[/\\]1\.0 | V|/| +)\d+\.\d[\d\.]*(?: *Build|\))'-    device_replacement: 'HTC $1 $2 $3'-    brand_replacement: 'HTC'-    model_replacement: '$1 $2 $3'-  - regex: '; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+))?)?)?(?:[/\\]1\.0 | V|/| +)\d+\.\d[\d\.]*(?: *Build|\))'-    device_replacement: 'HTC $1 $2 $3 $4'-    brand_replacement: 'HTC'-    model_replacement: '$1 $2 $3 $4'--  # Android HTC without Version Number matcher-  - regex: '; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/;]+)(?: *Build|[;\)]| - )'-    device_replacement: 'HTC $1'-    brand_replacement: 'HTC'-    model_replacement: '$1'-  - regex: '; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/]+)(?:[ _/]([^ _/;\)]+))?(?: *Build|[;\)]| - )'-    device_replacement: 'HTC $1 $2'-    brand_replacement: 'HTC'-    model_replacement: '$1 $2'-  - regex: '; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/;\)]+))?)?(?: *Build|[;\)]| - )'-    device_replacement: 'HTC $1 $2 $3'-    brand_replacement: 'HTC'-    model_replacement: '$1 $2 $3'-  - regex: '; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ /;]+))?)?)?(?: *Build|[;\)]| - )'-    device_replacement: 'HTC $1 $2 $3 $4'-    brand_replacement: 'HTC'-    model_replacement: '$1 $2 $3 $4'--  # HTC Streaming Player-  - regex: 'HTC Streaming Player [^\/]*/[^\/]*/ htc_([^/]+) /'-    device_replacement: 'HTC $1'-    brand_replacement: 'HTC'-    model_replacement: '$1'-  # general matcher for anything else-  - regex: '(?:[;,] *|^)(?:htccn_chs-)?HTC[ _-]?([^;]+?)(?: *Build|clay|Android|-?Mozilla| Opera| Profile| UNTRUSTED|[;/\(\)]|$)'-    regex_flag: 'i'-    device_replacement: 'HTC $1'-    brand_replacement: 'HTC'-    model_replacement: '$1'-  # Android matchers without HTC-  - regex: '; *(A6277|ADR6200|ADR6300|ADR6350|ADR6400[A-Z]*|ADR6425[A-Z]*|APX515CKT|ARIA|Desire[^_ ]*|Dream|EndeavorU|Eris|Evo|Flyer|HD2|Hero|HERO200|Hero CDMA|HTL21|Incredible|Inspire[A-Z0-9]*|Legend|Liberty|Nexus ?(?:One|HD2)|One|One S C2|One[ _]?(?:S|V|X\+?)\w*|PC36100|PG06100|PG86100|S31HT|Sensation|Wildfire)(?: Build|[/;\(\)])'-    regex_flag: 'i'-    device_replacement: 'HTC $1'-    brand_replacement: 'HTC'-    model_replacement: '$1'-  - regex: '; *(ADR6200|ADR6400L|ADR6425LVW|Amaze|DesireS?|EndeavorU|Eris|EVO|Evo\d[A-Z]+|HD2|IncredibleS?|Inspire[A-Z0-9]*|Inspire[A-Z0-9]*|Sensation[A-Z0-9]*|Wildfire)[ _-](.+?)(?:[/;\)]|Build|MIUI|1\.0)'-    regex_flag: 'i'-    device_replacement: 'HTC $1 $2'-    brand_replacement: 'HTC'-    model_replacement: '$1 $2'--  #########-  # Hyundai-  # @ref: http://www.hyundaitechnologies.com-  #########-  - regex: '; *HYUNDAI (T\d[^/]*) Build'-    device_replacement: 'Hyundai $1'-    brand_replacement: 'Hyundai'-    model_replacement: '$1'-  - regex: '; *HYUNDAI ([^;/]+) Build'-    device_replacement: 'Hyundai $1'-    brand_replacement: 'Hyundai'-    model_replacement: '$1'-  # X900? http://www.amazon.com/Hyundai-X900-Retina-Android-Bluetooth/dp/B00AO07H3O-  - regex: '; *(X700|Hold X|MB-6900) Build'-    device_replacement: 'Hyundai $1'-    brand_replacement: 'Hyundai'-    model_replacement: '$1'--  #########-  # iBall-  # @ref: http://www.iball.co.in/Category/Mobiles/22-  #########-  - regex: '; *(?:iBall[ _\-])?(Andi)[ _]?(\d[^;/]*) Build'-    regex_flag: 'i'-    device_replacement: '$1 $2'-    brand_replacement: 'iBall'-    model_replacement: '$1 $2'-  - regex: '; *(IBall)(?:[ _]([^;/]+)|) Build'-    regex_flag: 'i'-    device_replacement: '$1 $2'-    brand_replacement: 'iBall'-    model_replacement: '$2'--  #########-  # IconBIT-  # @ref: http://www.iconbit.com/catalog/tablets/-  #########-  - regex: '; *(NT-\d+[^ ;/]*|Net[Tt]AB [^;/]+|Mercury [A-Z]+|iconBIT)(?: S/N:[^;/]+)? Build'-    device_replacement: '$1'-    brand_replacement: 'IconBIT'-    model_replacement: '$1'--  #########-  # IMO-  # @ref: http://www.ponselimo.com/-  #########-  - regex: '; *(IMO)[ _]([^;/]+) Build'-    regex_flag: 'i'-    device_replacement: '$1 $2'-    brand_replacement: 'IMO'-    model_replacement: '$2'--  #########-  # i-mobile-  # @ref: http://www.i-mobilephone.com/-  #########-  - regex: '; *i-?mobile[ _]([^/]+) Build/'-    regex_flag: 'i'-    device_replacement: 'i-mobile $1'-    brand_replacement: 'imobile'-    model_replacement: '$1'-  - regex: '; *(i-(?:style|note)[^/]*) Build/'-    regex_flag: 'i'-    device_replacement: 'i-mobile $1'-    brand_replacement: 'imobile'-    model_replacement: '$1'--  #########-  # Impression-  # @ref: http://impression.ua/planshetnye-kompyutery-  #########-  - regex: '; *(ImPAD) ?(\d+(?:.)*) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'Impression'-    model_replacement: '$1 $2'--  #########-  # Infinix-  # @ref: http://www.infinixmobility.com/index.html-  #########-  - regex: '; *(Infinix)[ _]([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'Infinix'-    model_replacement: '$2'--  #########-  # Informer-  # @ref: ??-  #########-  - regex: '; *(Informer)[ \-]([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'Informer'-    model_replacement: '$2'--  #########-  # Intenso-  # @ref: http://www.intenso.de-  # @models: 7":TAB 714,TAB 724;8":TAB 814,TAB 824;10":TAB 1004-  #########-  - regex: '; *(TAB) ?([78][12]4) Build'-    device_replacement: 'Intenso $1'-    brand_replacement: 'Intenso'-    model_replacement: '$1 $2'--  #########-  # Intex-  # @ref: http://intexmobile.in/index.aspx-  # @note: Zync also offers a "Cloud Z5" device-  #########-  # smartphones-  - regex: '; *(?:Intex[ _])?(AQUA|Aqua)([ _\.\-])([^;/]+) *(?:Build|;)'-    device_replacement: '$1$2$3'-    brand_replacement: 'Intex'-    model_replacement: '$1 $3'-  # matches "INTEX CLOUD X1"-  - regex: '; *(?:INTEX|Intex)(?:[_ ]([^\ _;/]+))(?:[_ ]([^\ _;/]+))? *(?:Build|;)'-    device_replacement: '$1 $2'-    brand_replacement: 'Intex'-    model_replacement: '$1 $2'-  # tablets-  - regex: '; *([iI]Buddy)[ _]?(Connect)(?:_|\?_| )?([^;/]*) *(?:Build|;)'-    device_replacement: '$1 $2 $3'-    brand_replacement: 'Intex'-    model_replacement: 'iBuddy $2 $3'-  - regex: '; *(I-Buddy)[ _]([^;/]+) *(?:Build|;)'-    device_replacement: '$1 $2'-    brand_replacement: 'Intex'-    model_replacement: 'iBuddy $2'--  #########-  # iOCEAN-  # @ref: http://www.iocean.cc/-  #########-  - regex: '; *(iOCEAN) ([^/]+) Build'-    regex_flag: 'i'-    device_replacement: '$1 $2'-    brand_replacement: 'iOCEAN'-    model_replacement: '$2'--  #########-  # i.onik-  # @ref: http://www.i-onik.de/-  #########-  - regex: '; *(TP\d+(?:\.\d+)?\-\d[^;/]+) Build'-    device_replacement: 'ionik $1'-    brand_replacement: 'ionik'-    model_replacement: '$1'--  #########-  # IRU.ru-  # @ref: http://www.iru.ru/catalog/soho/planetable/-  #########-  - regex: '; *(M702pro) Build'-    device_replacement: '$1'-    brand_replacement: 'Iru'-    model_replacement: '$1'--  #########-  # Ivio-  # @ref: http://www.ivio.com/mobile.php-  # @models: DG80,DG20,DE38,DE88,MD70-  #########-  - regex: '; *(DE88Plus|MD70) Build'-    device_replacement: '$1'-    brand_replacement: 'Ivio'-    model_replacement: '$1'-  - regex: '; *IVIO[_\-]([^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Ivio'-    model_replacement: '$1'--  #########-  # Jaytech-  # @ref: http://www.jay-tech.de/jaytech/servlet/frontend/-  #########-  - regex: '; *(TPC-\d+|JAY-TECH) Build'-    device_replacement: '$1'-    brand_replacement: 'Jaytech'-    model_replacement: '$1'--  #########-  # Jiayu-  # @ref: http://www.ejiayu.com/en/Product.html-  #########-  - regex: '; *(JY-[^;/]+|G[234]S?) Build'-    device_replacement: '$1'-    brand_replacement: 'Jiayu'-    model_replacement: '$1'--  #########-  # JXD-  # @ref: http://www.jxd.hk/-  #########-  - regex: '; *(JXD)[ _\-]([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'JXD'-    model_replacement: '$2'--  #########-  # Karbonn-  # @ref: http://www.karbonnmobiles.com/products_tablet.php-  #########-  - regex: '; *Karbonn[ _]?([^;/]+) *(?:Build|;)'-    regex_flag: 'i'-    device_replacement: '$1'-    brand_replacement: 'Karbonn'-    model_replacement: '$1'-  - regex: '; *([^;]+) Build/Karbonn'-    device_replacement: '$1'-    brand_replacement: 'Karbonn'-    model_replacement: '$1'-  - regex: '; *(A11|A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2|Titanium S\d) +Build'-    device_replacement: '$1'-    brand_replacement: 'Karbonn'-    model_replacement: '$1'--  #########-  # KDDI (Operator Branded Device)-  # @ref: http://www.ipentec.com/document/document.aspx?page=android-useragent-  #########-  - regex: '; *(IS01|IS03|IS05|IS\d{2}SH) Build'-    device_replacement: '$1'-    brand_replacement: 'Sharp'-    model_replacement: '$1'-  - regex: '; *(IS04) Build'-    device_replacement: '$1'-    brand_replacement: 'Regza'-    model_replacement: '$1'-  - regex: '; *(IS06|IS\d{2}PT) Build'-    device_replacement: '$1'-    brand_replacement: 'Pantech'-    model_replacement: '$1'-  - regex: '; *(IS11S) Build'-    device_replacement: '$1'-    brand_replacement: 'SonyEricsson'-    model_replacement: 'Xperia Acro'-  - regex: '; *(IS11CA) Build'-    device_replacement: '$1'-    brand_replacement: 'Casio'-    model_replacement: 'GzOne $1'-  - regex: '; *(IS11LG) Build'-    device_replacement: '$1'-    brand_replacement: 'LG'-    model_replacement: 'Optimus X'-  - regex: '; *(IS11N) Build'-    device_replacement: '$1'-    brand_replacement: 'Medias'-    model_replacement: '$1'-  - regex: '; *(IS11PT) Build'-    device_replacement: '$1'-    brand_replacement: 'Pantech'-    model_replacement: 'MIRACH'-  - regex: '; *(IS12F) Build'-    device_replacement: '$1'-    brand_replacement: 'Fujitsu'-    model_replacement: 'Arrows ES'-  # @ref: https://ja.wikipedia.org/wiki/IS12M-  - regex: '; *(IS12M) Build'-    device_replacement: '$1'-    brand_replacement: 'Motorola'-    model_replacement: 'XT909'-  - regex: '; *(IS12S) Build'-    device_replacement: '$1'-    brand_replacement: 'SonyEricsson'-    model_replacement: 'Xperia Acro HD'-  - regex: '; *(ISW11F) Build'-    device_replacement: '$1'-    brand_replacement: 'Fujitsu'-    model_replacement: 'Arrowz Z'-  - regex: '; *(ISW11HT) Build'-    device_replacement: '$1'-    brand_replacement: 'HTC'-    model_replacement: 'EVO'-  - regex: '; *(ISW11K) Build'-    device_replacement: '$1'-    brand_replacement: 'Kyocera'-    model_replacement: 'DIGNO'-  - regex: '; *(ISW11M) Build'-    device_replacement: '$1'-    brand_replacement: 'Motorola'-    model_replacement: 'Photon'-  - regex: '; *(ISW11SC) Build'-    device_replacement: '$1'-    brand_replacement: 'Samsung'-    model_replacement: 'GALAXY S II WiMAX'-  - regex: '; *(ISW12HT) Build'-    device_replacement: '$1'-    brand_replacement: 'HTC'-    model_replacement: 'EVO 3D'-  - regex: '; *(ISW13HT) Build'-    device_replacement: '$1'-    brand_replacement: 'HTC'-    model_replacement: 'J'-  - regex: '; *(ISW?[0-9]{2}[A-Z]{0,2}) Build'-    device_replacement: '$1'-    brand_replacement: 'KDDI'-    model_replacement: '$1'-  - regex: '; *(INFOBAR [^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'KDDI'-    model_replacement: '$1'--  #########-  # Kingcom-  # @ref: http://www.e-kingcom.com-  #########-  - regex: '; *(JOYPAD|Joypad)[ _]([^;/]+) Build/'-    device_replacement: '$1 $2'-    brand_replacement: 'Kingcom'-    model_replacement: '$1 $2'--  #########-  # Kobo-  # @ref: https://en.wikipedia.org/wiki/Kobo_Inc.-  # @ref: http://www.kobo.com/devices#tablets-  #########-  - regex: '; *(Vox|VOX|Arc|K080) Build/'-    regex_flag: 'i'-    device_replacement: '$1'-    brand_replacement: 'Kobo'-    model_replacement: '$1'-  - regex: '\b(Kobo Touch)\b'-    device_replacement: '$1'-    brand_replacement: 'Kobo'-    model_replacement: '$1'--  #########-  # K-Touch-  # @ref: ??-  #########-  - regex: '; *(K-Touch)[ _]([^;/]+) Build'-    regex_flag: 'i'-    device_replacement: '$1 $2'-    brand_replacement: 'Ktouch'-    model_replacement: '$2'--  #########-  # KT Tech-  # @ref: http://www.kttech.co.kr-  #########-  - regex: '; *((?:EV|KM)-S\d+[A-Z]?) Build'-    regex_flag: 'i'-    device_replacement: '$1'-    brand_replacement: 'KTtech'-    model_replacement: '$1'--  #########-  # Kyocera-  # @ref: http://www.android.com/devices/?country=all&m=kyocera-  #########-  - regex: '; *(Zio|Hydro|Torque|Event|EVENT|Echo|Milano|Rise|URBANO PROGRESSO|WX04K|WX06K|WX10K|KYL21|101K|C5[12]\d{2}) Build/'-    device_replacement: '$1'-    brand_replacement: 'Kyocera'-    model_replacement: '$1'--  #########-  # Lava-  # @ref: http://www.lavamobiles.com/-  #########-  - regex: '; *(?:LAVA[ _])?IRIS[ _\-]?([^/;\)]+) *(?:;|\)|Build)'-    regex_flag: 'i'-    device_replacement: 'Iris $1'-    brand_replacement: 'Lava'-    model_replacement: 'Iris $1'-  - regex: '; *LAVA[ _]([^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Lava'-    model_replacement: '$1'--  #########-  # Lemon-  # @ref: http://www.lemonmobiles.com/products.php?type=1-  #########-  - regex: '; *(?:(Aspire A1)|(?:LEMON|Lemon)[ _]([^;/]+))_? Build'-    device_replacement: 'Lemon $1$2'-    brand_replacement: 'Lemon'-    model_replacement: '$1$2'--  #########-  # Lenco-  # @ref: http://www.lenco.com/c/tablets/-  #########-  - regex: '; *(TAB-1012) Build/'-    device_replacement: 'Lenco $1'-    brand_replacement: 'Lenco'-    model_replacement: '$1'-  - regex: '; Lenco ([^;/]+) Build/'-    device_replacement: 'Lenco $1'-    brand_replacement: 'Lenco'-    model_replacement: '$1'--  #########-  # Lenovo-  # @ref: http://support.lenovo.com/en_GB/downloads/default.page?#-  #########-  - regex: '; *(A1_07|A2107A-H|S2005A-H|S1-37AH0) Build'-    device_replacement: '$1'-    brand_replacement: 'Lenovo'-    model_replacement: '$1'-  - regex: '; *(Idea[Tp]ab)[ _]([^;/]+);? Build'-    device_replacement: 'Lenovo $1 $2'-    brand_replacement: 'Lenovo'-    model_replacement: '$1 $2'-  - regex: '; *(Idea(?:Tab|pad)) ?([^;/]+) Build'-    device_replacement: 'Lenovo $1 $2'-    brand_replacement: 'Lenovo'-    model_replacement: '$1 $2'-  - regex: '; *(ThinkPad) ?(Tablet) Build/'-    device_replacement: 'Lenovo $1 $2'-    brand_replacement: 'Lenovo'-    model_replacement: '$1 $2'-  - regex: '; *(?:LNV-)?(?:=?[Ll]enovo[ _\-]?|LENOVO[ _])+(.+?)(?:Build|[;/\)])'-    device_replacement: 'Lenovo $1'-    brand_replacement: 'Lenovo'-    model_replacement: '$1'-  - regex: '[;,] (?:Vodafone )?(SmartTab) ?(II) ?(\d+) Build/'-    device_replacement: 'Lenovo $1 $2 $3'-    brand_replacement: 'Lenovo'-    model_replacement: '$1 $2 $3'-  - regex: '; *(?:Ideapad )?K1 Build/'-    device_replacement: 'Lenovo Ideapad K1'-    brand_replacement: 'Lenovo'-    model_replacement: 'Ideapad K1'-  - regex: '; *(3GC101|3GW10[01]|A390) Build/'-    device_replacement: '$1'-    brand_replacement: 'Lenovo'-    model_replacement: '$1'-  - regex: '\b(?:Lenovo|LENOVO)+[ _\-]?([^,;:/ ]+)'-    device_replacement: 'Lenovo $1'-    brand_replacement: 'Lenovo'-    model_replacement: '$1'--  #########-  # Lexibook-  # @ref: http://www.lexibook.com/fr-  #########-  - regex: '; *(MFC\d+)[A-Z]{2}([^;,/]*),? Build'-    device_replacement: '$1$2'-    brand_replacement: 'Lexibook'-    model_replacement: '$1$2'--  #########-  # LG-  # @ref: http://www.lg.com/uk/mobile-  #########-  - regex: '; *(E[34][0-9]{2}|LS[6-8][0-9]{2}|VS[6-9][0-9]+[^;/]+|Nexus 4|Nexus 5X?|GT540f?|Optimus (?:2X|G|4X HD)|OptimusX4HD) *(?:Build|;)'-    device_replacement: '$1'-    brand_replacement: 'LG'-    model_replacement: '$1'-  - regex: '[;:] *(L-\d+[A-Z]|LGL\d+[A-Z]?)(?:/V\d+)? *(?:Build|[;\)])'-    device_replacement: '$1'-    brand_replacement: 'LG'-    model_replacement: '$1'-  - regex: '; *(LG-)([A-Z]{1,2}\d{2,}[^,;/\)\(]*?)(?:Build| V\d+|[,;/\)\(]|$)'-    device_replacement: '$1$2'-    brand_replacement: 'LG'-    model_replacement: '$2'-  - regex: '; *(LG[ \-]|LG)([^;/]+)[;/]? Build'-    device_replacement: '$1$2'-    brand_replacement: 'LG'-    model_replacement: '$2'-  - regex: '^(LG)-([^;/]+)/ Mozilla/.*; Android'-    device_replacement: '$1 $2'-    brand_replacement: 'LG'-    model_replacement: '$2'-  - regex: '(Web0S); Linux/(SmartTV)'-    device_replacement: 'LG $1 $2'-    brand_replacement: 'LG'-    model_replacement: '$1 $2'--  #########-  # Malata-  # @ref: http://www.malata.com/en/products.aspx?classid=680-  #########-  - regex: '; *((?:SMB|smb)[^;/]+) Build/'-    device_replacement: '$1'-    brand_replacement: 'Malata'-    model_replacement: '$1'-  - regex: '; *(?:Malata|MALATA) ([^;/]+) Build/'-    device_replacement: '$1'-    brand_replacement: 'Malata'-    model_replacement: '$1'--  #########-  # Manta-  # @ref: http://www.manta.com.pl/en-  #########-  - regex: '; *(MS[45][0-9]{3}|MID0[568][NS]?|MID[1-9]|MID[78]0[1-9]|MID970[1-9]|MID100[1-9]) Build/'-    device_replacement: '$1'-    brand_replacement: 'Manta'-    model_replacement: '$1'--  #########-  # Match-  # @ref: http://www.match.net.cn/products.asp-  #########-  - regex: '; *(M1052|M806|M9000|M9100|M9701|MID100|MID120|MID125|MID130|MID135|MID140|MID701|MID710|MID713|MID727|MID728|MID731|MID732|MID733|MID735|MID736|MID737|MID760|MID800|MID810|MID820|MID830|MID833|MID835|MID860|MID900|MID930|MID933|MID960|MID980) Build/'-    device_replacement: '$1'-    brand_replacement: 'Match'-    model_replacement: '$1'--  #########-  # Maxx-  # @ref: http://www.maxxmobile.in/-  # @models: Maxx MSD7-Play, Maxx MX245+ Trance, Maxx AX8 Race, Maxx MSD7 3G- AX50, Maxx Genx Droid 7 - AX40, Maxx AX5 Duo,-  #   Maxx AX3 Duo, Maxx AX3, Maxx AX8 Note II (Note 2), Maxx AX8 Note I, Maxx AX8, Maxx AX5 Plus, Maxx MSD7 Smarty,-  #   Maxx AX9Z Race,-  #   Maxx MT150, Maxx MQ601, Maxx M2020, Maxx Sleek MX463neo, Maxx MX525, Maxx MX192-Tune, Maxx Genx Droid 7 AX353,-  # @note: Need more User-Agents!!!-  #########-  - regex: '; *(GenxDroid7|MSD7.*|AX\d.*|Tab 701|Tab 722) Build/'-    device_replacement: 'Maxx $1'-    brand_replacement: 'Maxx'-    model_replacement: '$1'--  #########-  # Mediacom-  # @ref: http://www.mediacomeurope.it/-  #########-  - regex: '; *(M-PP[^;/]+|PhonePad ?\d{2,}[^;/]+) Build'-    device_replacement: 'Mediacom $1'-    brand_replacement: 'Mediacom'-    model_replacement: '$1'-  - regex: '; *(M-MP[^;/]+|SmartPad ?\d{2,}[^;/]+) Build'-    device_replacement: 'Mediacom $1'-    brand_replacement: 'Mediacom'-    model_replacement: '$1'--  #########-  # Medion-  # @ref: http://www.medion.com/en/-  #########-  - regex: '; *(?:MD_)?LIFETAB[ _]([^;/]+) Build'-    regex_flag: 'i'-    device_replacement: 'Medion Lifetab $1'-    brand_replacement: 'Medion'-    model_replacement: 'Lifetab $1'-  - regex: '; *MEDION ([^;/]+) Build'-    device_replacement: 'Medion $1'-    brand_replacement: 'Medion'-    model_replacement: '$1'--  #########-  # Meizu-  # @ref: http://www.meizu.com-  #########-  - regex: '; *(M030|M031|M035|M040|M065|m9) Build'-    device_replacement: 'Meizu $1'-    brand_replacement: 'Meizu'-    model_replacement: '$1'-  - regex: '; *(?:meizu_|MEIZU )(.+?) *(?:Build|[;\)])'-    device_replacement: 'Meizu $1'-    brand_replacement: 'Meizu'-    model_replacement: '$1'--  #########-  # Micromax-  # @ref: http://www.micromaxinfo.com-  #########-  - regex: '; *(?:Micromax[ _](A111|A240)|(A111|A240)) Build'-    regex_flag: 'i'-    device_replacement: 'Micromax $1$2'-    brand_replacement: 'Micromax'-    model_replacement: '$1$2'-  - regex: '; *Micromax[ _](A\d{2,3}[^;/]*) Build'-    regex_flag: 'i'-    device_replacement: 'Micromax $1'-    brand_replacement: 'Micromax'-    model_replacement: '$1'-  # be carefull here with Acer e.g. A500-  - regex: '; *(A\d{2}|A[12]\d{2}|A90S|A110Q) Build'-    regex_flag: 'i'-    device_replacement: 'Micromax $1'-    brand_replacement: 'Micromax'-    model_replacement: '$1'-  - regex: '; *Micromax[ _](P\d{3}[^;/]*) Build'-    regex_flag: 'i'-    device_replacement: 'Micromax $1'-    brand_replacement: 'Micromax'-    model_replacement: '$1'-  - regex: '; *(P\d{3}|P\d{3}\(Funbook\)) Build'-    regex_flag: 'i'-    device_replacement: 'Micromax $1'-    brand_replacement: 'Micromax'-    model_replacement: '$1'--  #########-  # Mito-  # @ref: http://new.mitomobile.com/-  #########-  - regex: '; *(MITO)[ _\-]?([^;/]+) Build'-    regex_flag: 'i'-    device_replacement: '$1 $2'-    brand_replacement: 'Mito'-    model_replacement: '$2'--  #########-  # Mobistel-  # @ref: http://www.mobistel.com/-  #########-  - regex: '; *(Cynus)[ _](F5|T\d|.+?) *(?:Build|[;/\)])'-    regex_flag: 'i'-    device_replacement: '$1 $2'-    brand_replacement: 'Mobistel'-    model_replacement: '$1 $2'--  #########-  # Modecom-  # @ref: http://www.modecom.eu/tablets/portal/-  #########-  - regex: '; *(MODECOM )?(FreeTab) ?([^;/]+) Build'-    regex_flag: 'i'-    device_replacement: '$1$2 $3'-    brand_replacement: 'Modecom'-    model_replacement: '$2 $3'-  - regex: '; *(MODECOM )([^;/]+) Build'-    regex_flag: 'i'-    device_replacement: '$1 $2'-    brand_replacement: 'Modecom'-    model_replacement: '$2'--  #########-  # Motorola-  # @ref: http://www.motorola.com/us/shop-all-mobile-phones/-  #########-  - regex: '; *(MZ\d{3}\+?|MZ\d{3} 4G|Xoom|XOOM[^;/]*) Build'-    device_replacement: 'Motorola $1'-    brand_replacement: 'Motorola'-    model_replacement: '$1'-  - regex: '; *(Milestone )(XT[^;/]*) Build'-    device_replacement: 'Motorola $1$2'-    brand_replacement: 'Motorola'-    model_replacement: '$2'-  - regex: '; *(Motoroi ?x|Droid X|DROIDX) Build'-    regex_flag: 'i'-    device_replacement: 'Motorola $1'-    brand_replacement: 'Motorola'-    model_replacement: 'DROID X'-  - regex: '; *(Droid[^;/]*|DROID[^;/]*|Milestone[^;/]*|Photon|Triumph|Devour|Titanium) Build'-    device_replacement: 'Motorola $1'-    brand_replacement: 'Motorola'-    model_replacement: '$1'-  - regex: '; *(A555|A85[34][^;/]*|A95[356]|ME[58]\d{2}\+?|ME600|ME632|ME722|MB\d{3}\+?|MT680|MT710|MT870|MT887|MT917|WX435|WX453|WX44[25]|XT\d{3,4}[A-Z\+]*|CL[iI]Q|CL[iI]Q XT) Build'-    device_replacement: '$1'-    brand_replacement: 'Motorola'-    model_replacement: '$1'-  - regex: '; *(Motorola MOT-|Motorola[ _\-]|MOT\-?)([^;/]+) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Motorola'-    model_replacement: '$2'-  - regex: '; *(Moto[_ ]?|MOT\-)([^;/]+) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Motorola'-    model_replacement: '$2'--  #########-  # MpMan-  # @ref: http://www.mpmaneurope.com-  #########-  - regex: '; *((?:MP[DQ]C|MPG\d{1,4}|MP\d{3,4}|MID(?:(?:10[234]|114|43|7[247]|8[24]|7)C|8[01]1))[^;/]*) Build'-    device_replacement: '$1'-    brand_replacement: 'Mpman'-    model_replacement: '$1'--  #########-  # MSI-  # @ref: http://www.msi.com/product/windpad/-  #########-  - regex: '; *(?:MSI[ _])?(Primo\d+|Enjoy[ _\-][^;/]+) Build'-    regex_flag: 'i'-    device_replacement: '$1'-    brand_replacement: 'Msi'-    model_replacement: '$1'--  #########-  # Multilaser-  # http://www.multilaser.com.br/listagem_produtos.php?cat=5-  #########-  - regex: '; *Multilaser[ _]([^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Multilaser'-    model_replacement: '$1'--  #########-  # MyPhone-  # @ref: http://myphone.com.ph/-  #########-  - regex: '; *(My)[_]?(Pad)[ _]([^;/]+) Build'-    device_replacement: '$1$2 $3'-    brand_replacement: 'MyPhone'-    model_replacement: '$1$2 $3'-  - regex: '; *(My)\|?(Phone)[ _]([^;/]+) Build'-    device_replacement: '$1$2 $3'-    brand_replacement: 'MyPhone'-    model_replacement: '$3'-  - regex: '; *(A\d+)[ _](Duo)? Build'-    regex_flag: 'i'-    device_replacement: '$1 $2'-    brand_replacement: 'MyPhone'-    model_replacement: '$1 $2'--  #########-  # Mytab-  # @ref: http://www.mytab.eu/en/category/mytab-products/-  #########-  - regex: '; *(myTab[^;/]*) Build'-    device_replacement: '$1'-    brand_replacement: 'Mytab'-    model_replacement: '$1'--  #########-  # Nabi-  # @ref: https://www.nabitablet.com-  #########-  - regex: '; *(NABI2?-)([^;/]+) Build/'-    device_replacement: '$1$2'-    brand_replacement: 'Nabi'-    model_replacement: '$2'--  #########-  # Nec Medias-  # @ref: http://www.n-keitai.com/-  #########-  - regex: '; *(N-\d+[CDE]) Build/'-    device_replacement: '$1'-    brand_replacement: 'Nec'-    model_replacement: '$1'-  - regex: '; ?(NEC-)(.*) Build/'-    device_replacement: '$1$2'-    brand_replacement: 'Nec'-    model_replacement: '$2'-  - regex: '; *(LT-NA7) Build/'-    device_replacement: '$1'-    brand_replacement: 'Nec'-    model_replacement: 'Lifetouch Note'--  #########-  # Nextbook-  # @ref: http://nextbookusa.com-  #########-  - regex: '; *(NXM\d+[A-z0-9_]*|Next\d[A-z0-9_ \-]*|NEXT\d[A-z0-9_ \-]*|Nextbook [A-z0-9_ ]*|DATAM803HC|M805)(?: Build|[\);])'-    device_replacement: '$1'-    brand_replacement: 'Nextbook'-    model_replacement: '$1'--  #########-  # Nokia-  # @ref: http://www.nokia.com-  #########-  - regex: '; *(Nokia)([ _\-]*)([^;/]*) Build'-    regex_flag: 'i'-    device_replacement: '$1$2$3'-    brand_replacement: 'Nokia'-    model_replacement: '$3'--  #########-  # Nook-  # @ref:-  # TODO nook browser/1.0-  #########-  - regex: '; *(Nook ?|Barnes & Noble Nook |BN )([^;/]+) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Nook'-    model_replacement: '$2'-  - regex: '; *(NOOK )?(BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Nook'-    model_replacement: '$2'-  - regex: '; Build/(Nook)'-    device_replacement: '$1'-    brand_replacement: 'Nook'-    model_replacement: 'Tablet'--  #########-  # Olivetti-  # @ref: http://www.olivetti.de/EN/Page/t02/view_html?idp=348-  #########-  - regex: '; *(OP110|OliPad[^;/]+) Build'-    device_replacement: 'Olivetti $1'-    brand_replacement: 'Olivetti'-    model_replacement: '$1'--  #########-  # Omega-  # @ref: http://omega-technology.eu/en/produkty/346/tablets-  # @note: MID tablets might get matched by CobyKyros first-  # @models: (T107|MID(?:700[2-5]|7031|7108|7132|750[02]|8001|8500|9001|971[12])-  #########-  - regex: '; *OMEGA[ _\-](MID[^;/]+) Build'-    device_replacement: 'Omega $1'-    brand_replacement: 'Omega'-    model_replacement: '$1'-  - regex: '^(MID7500|MID\d+) Mozilla/5\.0 \(iPad;'-    device_replacement: 'Omega $1'-    brand_replacement: 'Omega'-    model_replacement: '$1'--  #########-  # OpenPeak-  # @ref: https://support.google.com/googleplay/answer/1727131?hl=en-  #########-  - regex: '; *((?:CIUS|cius)[^;/]*) Build'-    device_replacement: 'Openpeak $1'-    brand_replacement: 'Openpeak'-    model_replacement: '$1'--  #########-  # Oppo-  # @ref: http://en.oppo.com/products/-  #########-  - regex: '; *(Find ?(?:5|7a)|R8[012]\d{1,2}|T703\d{0,1}|U70\d{1,2}T?|X90\d{1,2}) Build'-    device_replacement: 'Oppo $1'-    brand_replacement: 'Oppo'-    model_replacement: '$1'-  - regex: '; *OPPO ?([^;/]+) Build/'-    device_replacement: 'Oppo $1'-    brand_replacement: 'Oppo'-    model_replacement: '$1'--  #########-  # Odys-  # @ref: http://odys.de-  #########-  - regex: '; *(?:Odys\-|ODYS\-|ODYS )([^;/]+) Build'-    device_replacement: 'Odys $1'-    brand_replacement: 'Odys'-    model_replacement: '$1'-  - regex: '; *(SELECT) ?(7) Build'-    device_replacement: 'Odys $1 $2'-    brand_replacement: 'Odys'-    model_replacement: '$1 $2'-  - regex: '; *(PEDI)_(PLUS)_(W) Build'-    device_replacement: 'Odys $1 $2 $3'-    brand_replacement: 'Odys'-    model_replacement: '$1 $2 $3'-  # Weltbild - Tablet PC 4 = Cat Phoenix = Odys Tablet PC 4?-  - regex: '; *(AEON|BRAVIO|FUSION|FUSION2IN1|Genio|EOS10|IEOS[^;/]*|IRON|Loox|LOOX|LOOX Plus|Motion|NOON|NOON_PRO|NEXT|OPOS|PEDI[^;/]*|PRIME[^;/]*|STUDYTAB|TABLO|Tablet-PC-4|UNO_X8|XELIO[^;/]*|Xelio ?\d+ ?[Pp]ro|XENO10|XPRESS PRO) Build'-    device_replacement: 'Odys $1'-    brand_replacement: 'Odys'-    model_replacement: '$1'--  #########-  # OnePlus-  # @ref https://oneplus.net/-  #########-  - regex: '; (ONE [a-zA-Z]\d+) Build/'-    device_replacement: 'OnePlus $1'-    brand_replacement: 'OnePlus'-    model_replacement: '$1'-  - regex: '; (ONEPLUS [a-zA-Z]\d+) Build/'-    device_replacement: 'OnePlus $1'-    brand_replacement: 'OnePlus'-    model_replacement: '$1'--  #########-  # Orion-  # @ref: http://www.orion.ua/en/products/computer-products/tablet-pcs.html-  #########-  - regex: '; *(TP-\d+) Build/'-    device_replacement: 'Orion $1'-    brand_replacement: 'Orion'-    model_replacement: '$1'--  #########-  # PackardBell-  # @ref: http://www.packardbell.com/pb/en/AE/content/productgroup/tablets-  #########-  - regex: '; *(G100W?) Build/'-    device_replacement: 'PackardBell $1'-    brand_replacement: 'PackardBell'-    model_replacement: '$1'--  #########-  # Panasonic-  # @ref: http://panasonic.jp/mobile/-  # @models: T11, T21, T31, P11, P51, Eluga Power, Eluga DL1-  # @models: (tab) Toughpad FZ-A1, Toughpad JT-B1-  #########-  - regex: '; *(Panasonic)[_ ]([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'-  # Toughpad-  - regex: '; *(FZ-A1B|JT-B1) Build'-    device_replacement: 'Panasonic $1'-    brand_replacement: 'Panasonic'-    model_replacement: '$1'-  # Eluga Power-  - regex: '; *(dL1|DL1) Build'-    device_replacement: 'Panasonic $1'-    brand_replacement: 'Panasonic'-    model_replacement: '$1'--  #########-  # Pantech-  # @href: http://www.pantech.co.kr/en/prod/prodList.do?gbrand=PANTECH-  # @href: http://www.pantech.co.kr/en/prod/prodList.do?gbrand=VEGA-  # @models: ADR8995, ADR910L, ADR930VW, C790, CDM8992, CDM8999, IS06, IS11PT, P2000, P2020, P2030, P4100, P5000, P6010, P6020, P6030, P7000, P7040, P8000, P8010, P9020, P9050, P9060, P9070, P9090, PT001, PT002, PT003, TXT8040, TXT8045, VEGA PTL21-  #########-  - regex: '; *(SKY[ _])?(IM\-[AT]\d{3}[^;/]+).* Build/'-    device_replacement: 'Pantech $1$2'-    brand_replacement: 'Pantech'-    model_replacement: '$1$2'-  - regex: '; *((?:ADR8995|ADR910L|ADR930L|ADR930VW|PTL21|P8000)(?: 4G)?) Build/'-    device_replacement: '$1'-    brand_replacement: 'Pantech'-    model_replacement: '$1'-  - regex: '; *Pantech([^;/]+).* Build/'-    device_replacement: 'Pantech $1'-    brand_replacement: 'Pantech'-    model_replacement: '$1'--  #########-  # Papayre-  # @ref: http://grammata.es/-  #########-  - regex: '; *(papyre)[ _\-]([^;/]+) Build/'-    regex_flag: 'i'-    device_replacement: '$1 $2'-    brand_replacement: 'Papyre'-    model_replacement: '$2'--  #########-  # Pearl-  # @ref: http://www.pearl.de/c-1540.shtml-  #########-  - regex: '; *(?:Touchlet )?(X10\.[^;/]+) Build/'-    device_replacement: 'Pearl $1'-    brand_replacement: 'Pearl'-    model_replacement: '$1'--  #########-  # Phicomm-  # @ref: http://www.phicomm.com.cn/-  #########-  - regex: '; PHICOMM (i800) Build/'-    device_replacement: 'Phicomm $1'-    brand_replacement: 'Phicomm'-    model_replacement: '$1'-  - regex: '; PHICOMM ([^;/]+) Build/'-    device_replacement: 'Phicomm $1'-    brand_replacement: 'Phicomm'-    model_replacement: '$1'-  - regex: '; *(FWS\d{3}[^;/]+) Build/'-    device_replacement: 'Phicomm $1'-    brand_replacement: 'Phicomm'-    model_replacement: '$1'--  #########-  # Philips-  # @ref: http://www.support.philips.com/support/catalog/products.jsp?_dyncharset=UTF-8&country=&categoryid=MOBILE_PHONES_SMART_SU_CN_CARE&userLanguage=en&navCount=2&groupId=PC_PRODUCTS_AND_PHONES_GR_CN_CARE&catalogType=&navAction=push&userCountry=cn&title=Smartphones&cateId=MOBILE_PHONES_CA_CN_CARE-  # @TODO: Philips Tablets User-Agents missing!-  # @ref: http://www.support.philips.com/support/catalog/products.jsp?_dyncharset=UTF-8&country=&categoryid=ENTERTAINMENT_TABLETS_SU_CN_CARE&userLanguage=en&navCount=0&groupId=&catalogType=&navAction=push&userCountry=cn&title=Entertainment+Tablets&cateId=TABLETS_CA_CN_CARE-  #########-  # @note: this a best guess according to available philips models. Need more User-Agents-  - regex: '; *(D633|D822|D833|T539|T939|V726|W335|W336|W337|W3568|W536|W5510|W626|W632|W6350|W6360|W6500|W732|W736|W737|W7376|W820|W832|W8355|W8500|W8510|W930) Build'-    device_replacement: '$1'-    brand_replacement: 'Philips'-    model_replacement: '$1'-  - regex: '; *(?:Philips|PHILIPS)[ _]([^;/]+) Build'-    device_replacement: 'Philips $1'-    brand_replacement: 'Philips'-    model_replacement: '$1'--  #########-  # Pipo-  # @ref: http://www.pipo.cn/En/-  #########-  - regex: 'Android 4\..*; *(M[12356789]|U[12368]|S[123])\ ?(pro)? Build'-    device_replacement: 'Pipo $1$2'-    brand_replacement: 'Pipo'-    model_replacement: '$1$2'--  #########-  # Ployer-  # @ref: http://en.ployer.cn/-  #########-  - regex: '; *(MOMO[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Ployer'-    model_replacement: '$1'--  #########-  # Polaroid/ Acho-  # @ref: http://polaroidstore.com/store/start.asp?category_id=382&category_id2=0&order=title&filter1=&filter2=&filter3=&view=all-  #########-  - regex: '; *(?:Polaroid[ _])?((?:MIDC\d{3,}|PMID\d{2,}|PTAB\d{3,})[^;/]*)(\/[^;/]*)? Build/'-    device_replacement: '$1'-    brand_replacement: 'Polaroid'-    model_replacement: '$1'-  - regex: '; *(?:Polaroid )(Tablet) Build/'-    device_replacement: '$1'-    brand_replacement: 'Polaroid'-    model_replacement: '$1'--  #########-  # Pomp-  # @ref: http://pompmobileshop.com/-  #########-  #~ TODO-  - regex: '; *(POMP)[ _\-](.+?) *(?:Build|[;/\)])'-    device_replacement: '$1 $2'-    brand_replacement: 'Pomp'-    model_replacement: '$2'--  #########-  # Positivo-  # @ref: http://www.positivoinformatica.com.br/www/pessoal/tablet-ypy/-  #########-  - regex: '; *(TB07STA|TB10STA|TB07FTA|TB10FTA) Build/'-    device_replacement: '$1'-    brand_replacement: 'Positivo'-    model_replacement: '$1'-  - regex: '; *(?:Positivo )?((?:YPY|Ypy)[^;/]+) Build/'-    device_replacement: '$1'-    brand_replacement: 'Positivo'-    model_replacement: '$1'--  #########-  # POV-  # @ref: http://www.pointofview-online.com/default2.php-  # @TODO: Smartphone Models MOB-3515, MOB-5045-B missing-  #########-  - regex: '; *(MOB-[^;/]+) Build/'-    device_replacement: '$1'-    brand_replacement: 'POV'-    model_replacement: '$1'-  - regex: '; *POV[ _\-]([^;/]+) Build/'-    device_replacement: 'POV $1'-    brand_replacement: 'POV'-    model_replacement: '$1'-  - regex: '; *((?:TAB-PLAYTAB|TAB-PROTAB|PROTAB|PlayTabPro|Mobii[ _\-]|TAB-P)[^;/]*) Build/'-    device_replacement: 'POV $1'-    brand_replacement: 'POV'-    model_replacement: '$1'--  #########-  # Prestigio-  # @ref: http://www.prestigio.com/catalogue/MultiPhones-  # @ref: http://www.prestigio.com/catalogue/MultiPads-  #########-  - regex: '; *(?:Prestigio )?((?:PAP|PMP)\d[^;/]+) Build/'-    device_replacement: 'Prestigio $1'-    brand_replacement: 'Prestigio'-    model_replacement: '$1'--  #########-  # Proscan-  # @ref: http://www.proscanvideo.com/products-search.asp?itemClass=TABLET&itemnmbr=-  #########-  - regex: '; *(PLT[0-9]{4}.*) Build/'-    device_replacement: '$1'-    brand_replacement: 'Proscan'-    model_replacement: '$1'--  #########-  # QMobile-  # @ref: http://www.qmobile.com.pk/-  #########-  - regex: '; *(A2|A5|A8|A900)_?(Classic)? Build'-    device_replacement: '$1 $2'-    brand_replacement: 'Qmobile'-    model_replacement: '$1 $2'-  - regex: '; *(Q[Mm]obile)_([^_]+)_([^_]+) Build'-    device_replacement: 'Qmobile $2 $3'-    brand_replacement: 'Qmobile'-    model_replacement: '$2 $3'-  - regex: '; *(Q\-?[Mm]obile)[_ ](A[^;/]+) Build'-    device_replacement: 'Qmobile $2'-    brand_replacement: 'Qmobile'-    model_replacement: '$2'--  #########-  # Qmobilevn-  # @ref: http://qmobile.vn/san-pham.html-  #########-  - regex: '; *(Q\-Smart)[ _]([^;/]+) Build/'-    device_replacement: '$1 $2'-    brand_replacement: 'Qmobilevn'-    model_replacement: '$2'-  - regex: '; *(Q\-?[Mm]obile)[ _\-](S[^;/]+) Build/'-    device_replacement: '$1 $2'-    brand_replacement: 'Qmobilevn'-    model_replacement: '$2'--  #########-  # Quanta-  # @ref: ?-  #########-  - regex: '; *(TA1013) Build'-    device_replacement: '$1'-    brand_replacement: 'Quanta'-    model_replacement: '$1'--  #########-  # RCA-  # @ref: http://rcamobilephone.com/-  #########-  - regex: '; (RCT\w+) Build/'-    device_replacement: '$1'-    brand_replacement: 'RCA'-    model_replacement: '$1'--  #########-  # Rockchip-  # @ref: http://www.rock-chips.com/a/cn/product/index.html-  # @note: manufacturer sells chipsets - I assume that these UAs are dev-boards-  #########-  - regex: '; *(RK\d+),? Build/'-    device_replacement: '$1'-    brand_replacement: 'Rockchip'-    model_replacement: '$1'-  - regex: ' Build/(RK\d+)'-    device_replacement: '$1'-    brand_replacement: 'Rockchip'-    model_replacement: '$1'--  #########-  # Samsung Android Devices-  # @ref: http://www.samsung.com/us/mobile/cell-phones/all-products-  #########-  - regex: '; *(SAMSUNG |Samsung )?((?:Galaxy (?:Note II|S\d)|GT-I9082|GT-I9205|GT-N7\d{3}|SM-N9005)[^;/]*)\/?[^;/]* Build/'-    device_replacement: 'Samsung $1$2'-    brand_replacement: 'Samsung'-    model_replacement: '$2'-  - regex: '; *(Google )?(Nexus [Ss](?: 4G)?) Build/'-    device_replacement: 'Samsung $1$2'-    brand_replacement: 'Samsung'-    model_replacement: '$2'-  - regex: '; *(SAMSUNG |Samsung )([^\/]*)\/[^ ]* Build/'-    device_replacement: 'Samsung $2'-    brand_replacement: 'Samsung'-    model_replacement: '$2'-  - regex: '; *(Galaxy(?: Ace| Nexus| S ?II+|Nexus S| with MCR 1.2| Mini Plus 4G)?) Build/'-    device_replacement: 'Samsung $1'-    brand_replacement: 'Samsung'-    model_replacement: '$1'-  - regex: '; *(SAMSUNG[ _\-] *)+([^;/]+) Build'-    device_replacement: 'Samsung $2'-    brand_replacement: 'Samsung'-    model_replacement: '$2'-  - regex: '; *(SAMSUNG-)?(GT\-[BINPS]\d{4}[^\/]*)(\/[^ ]*) Build'-    device_replacement: 'Samsung $1$2$3'-    brand_replacement: 'Samsung'-    model_replacement: '$2'-  - regex: '(?:; *|^)((?:GT\-[BIiNPS]\d{4}|I9\d{2}0[A-Za-z\+]?\b)[^;/\)]*?)(?:Build|Linux|MIUI|[;/\)])'-    device_replacement: 'Samsung $1'-    brand_replacement: 'Samsung'-    model_replacement: '$1'-  - regex: '; (SAMSUNG-)([A-Za-z0-9\-]+).* Build/'-    device_replacement: 'Samsung $1$2'-    brand_replacement: 'Samsung'-    model_replacement: '$2'-  - regex: '; *((?:SCH|SGH|SHV|SHW|SPH|SC|SM)\-[A-Za-z0-9 ]+)(/?[^ ]*)? Build'-    device_replacement: 'Samsung $1'-    brand_replacement: 'Samsung'-    model_replacement: '$1'-  - regex: ' ((?:SCH)\-[A-Za-z0-9 ]+)(/?[^ ]*)? Build'-    device_replacement: 'Samsung $1'-    brand_replacement: 'Samsung'-    model_replacement: '$1'-  - regex: '; *(Behold ?(?:2|II)|YP\-G[^;/]+|EK-GC100|SCL21|I9300) Build'-    device_replacement: 'Samsung $1'-    brand_replacement: 'Samsung'-    model_replacement: '$1'--  #########-  # Sharp-  # @ref: http://www.sharp-phone.com/en/index.html-  # @ref: http://www.android.com/devices/?country=all&m=sharp-  #########-  - regex: '; *(SH\-?\d\d[^;/]+|SBM\d[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Sharp'-    model_replacement: '$1'-  - regex: '; *(SHARP[ -])([^;/]+) Build'-    device_replacement: '$1$2'-    brand_replacement: 'Sharp'-    model_replacement: '$2'--  #########-  # Simvalley-  # @ref: http://www.simvalley-mobile.de/-  #########-  - regex: '; *(SPX[_\-]\d[^;/]*) Build/'-    device_replacement: '$1'-    brand_replacement: 'Simvalley'-    model_replacement: '$1'-  - regex: '; *(SX7\-PEARL\.GmbH) Build/'-    device_replacement: '$1'-    brand_replacement: 'Simvalley'-    model_replacement: '$1'-  - regex: '; *(SP[T]?\-\d{2}[^;/]*) Build/'-    device_replacement: '$1'-    brand_replacement: 'Simvalley'-    model_replacement: '$1'--  #########-  # SK Telesys-  # @ref: http://www.sk-w.com/phone/phone_list.jsp-  # @ref: http://www.android.com/devices/?country=all&m=sk-telesys-  #########-  - regex: '; *(SK\-.*) Build/'-    device_replacement: '$1'-    brand_replacement: 'SKtelesys'-    model_replacement: '$1'--  #########-  # Skytex-  # @ref: http://skytex.com/android-  #########-  - regex: '; *(?:SKYTEX|SX)-([^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Skytex'-    model_replacement: '$1'-  - regex: '; *(IMAGINE [^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Skytex'-    model_replacement: '$1'--  #########-  # SmartQ-  # @ref: http://en.smartdevices.com.cn/Products/-  # @models: Z8, X7, U7H, U7, T30, T20, Ten3, V5-II, T7-3G, SmartQ5, K7, S7, Q8, T19, Ten2, Ten, R10, T7, R7, V5, V7, SmartQ7-  #########-  - regex: '; *(SmartQ) ?([^;/]+) Build/'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'--  #########-  # Smartbitt-  # @ref: http://www.smartbitt.com/-  # @missing: SBT Useragents-  #########-  - regex: '; *(WF7C|WF10C|SBT[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Smartbitt'-    model_replacement: '$1'--  #########-  # Softbank (Operator Branded Devices)-  # @ref: http://www.ipentec.com/document/document.aspx?page=android-useragent-  #########-  - regex: '; *(SBM(?:003SH|005SH|006SH|007SH|102SH)) Build'-    device_replacement: '$1'-    brand_replacement: 'Sharp'-    model_replacement: '$1'-  - regex: '; *(003P|101P|101P11C|102P) Build'-    device_replacement: '$1'-    brand_replacement: 'Panasonic'-    model_replacement: '$1'-  - regex: '; *(00\dZ) Build/'-    device_replacement: '$1'-    brand_replacement: 'ZTE'-    model_replacement: '$1'-  - regex: '; HTC(X06HT) Build'-    device_replacement: '$1'-    brand_replacement: 'HTC'-    model_replacement: '$1'-  - regex: '; *(001HT|X06HT) Build'-    device_replacement: '$1'-    brand_replacement: 'HTC'-    model_replacement: '$1'-  - regex: '; *(201M) Build'-    device_replacement: '$1'-    brand_replacement: 'Motorola'-    model_replacement: 'XT902'--  #########-  # Trekstor-  # @ref: http://www.trekstor.co.uk/surftabs-en.html-  # @note: Must come before SonyEricsson-  #########-  - regex: '; *(ST\d{4}.*)Build/ST'-    device_replacement: 'Trekstor $1'-    brand_replacement: 'Trekstor'-    model_replacement: '$1'-  - regex: '; *(ST\d{4}.*) Build/'-    device_replacement: 'Trekstor $1'-    brand_replacement: 'Trekstor'-    model_replacement: '$1'--  #########-  # SonyEricsson-  # @note: Must come before nokia since they also use symbian-  # @ref: http://www.android.com/devices/?country=all&m=sony-ericssons-  # @TODO: type!-  #########-  # android matchers-  - regex: '; *(Sony ?Ericsson ?)([^;/]+) Build'-    device_replacement: '$1$2'-    brand_replacement: 'SonyEricsson'-    model_replacement: '$2'-  - regex: '; *((?:SK|ST|E|X|LT|MK|MT|WT)\d{2}[a-z0-9]*(?:-o)?|R800i|U20i) Build'-    device_replacement: '$1'-    brand_replacement: 'SonyEricsson'-    model_replacement: '$1'-  # TODO X\d+ is wrong-  - regex: '; *(Xperia (?:A8|Arc|Acro|Active|Live with Walkman|Mini|Neo|Play|Pro|Ray|X\d+)[^;/]*) Build'-    regex_flag: 'i'-    device_replacement: '$1'-    brand_replacement: 'SonyEricsson'-    model_replacement: '$1'--  #########-  # Sony-  # @ref: http://www.sonymobile.co.jp/index.html-  # @ref: http://www.sonymobile.com/global-en/products/phones/-  # @ref: http://www.sony.jp/tablet/-  #########-  - regex: '; Sony (Tablet[^;/]+) Build'-    device_replacement: 'Sony $1'-    brand_replacement: 'Sony'-    model_replacement: '$1'-  - regex: '; Sony ([^;/]+) Build'-    device_replacement: 'Sony $1'-    brand_replacement: 'Sony'-    model_replacement: '$1'-  - regex: '; *(Sony)([A-Za-z0-9\-]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'-  - regex: '; *(Xperia [^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Sony'-    model_replacement: '$1'-  - regex: '; *(C(?:1[0-9]|2[0-9]|53|55|6[0-9])[0-9]{2}|D[25]\d{3}|D6[56]\d{2}) Build'-    device_replacement: '$1'-    brand_replacement: 'Sony'-    model_replacement: '$1'-  - regex: '; *(SGP\d{3}|SGPT\d{2}) Build'-    device_replacement: '$1'-    brand_replacement: 'Sony'-    model_replacement: '$1'-  - regex: '; *(NW-Z1000Series) Build'-    device_replacement: '$1'-    brand_replacement: 'Sony'-    model_replacement: '$1'--  ##########-  # Sony PlayStation-  # @ref: http://playstation.com-  # The Vita spoofs the Kindle-  ##########-  - regex: 'PLAYSTATION 3'-    device_replacement: 'PlayStation 3'-    brand_replacement: 'Sony'-    model_replacement: 'PlayStation 3'-  - regex: '(PlayStation (?:Portable|Vita|\d+))'-    device_replacement: '$1'-    brand_replacement: 'Sony'-    model_replacement: '$1'--  #########-  # Spice-  # @ref: http://www.spicemobilephones.co.in/-  #########-  - regex: '; *((?:CSL_Spice|Spice|SPICE|CSL)[ _\-]?)?([Mm][Ii])([ _\-])?(\d{3}[^;/]*) Build/'-    device_replacement: '$1$2$3$4'-    brand_replacement: 'Spice'-    model_replacement: 'Mi$4'--  #########-  # Sprint (Operator Branded Devices)-  # @ref:-  #########-  - regex: '; *(Sprint )(.+?) *(?:Build|[;/])'-    device_replacement: '$1$2'-    brand_replacement: 'Sprint'-    model_replacement: '$2'-  - regex: '\b(Sprint)[: ]([^;,/ ]+)'-    device_replacement: '$1$2'-    brand_replacement: 'Sprint'-    model_replacement: '$2'--  #########-  # Tagi-  # @ref: ??-  #########-  - regex: '; *(TAGI[ ]?)(MID) ?([^;/]+) Build/'-    device_replacement: '$1$2$3'-    brand_replacement: 'Tagi'-    model_replacement: '$2$3'--  #########-  # Tecmobile-  # @ref: http://www.tecmobile.com/-  #########-  - regex: '; *(Oyster500|Opal 800) Build'-    device_replacement: 'Tecmobile $1'-    brand_replacement: 'Tecmobile'-    model_replacement: '$1'--  #########-  # Tecno-  # @ref: www.tecno-mobile.com/‎-  #########-  - regex: '; *(TECNO[ _])([^;/]+) Build/'-    device_replacement: '$1$2'-    brand_replacement: 'Tecno'-    model_replacement: '$2'--  #########-  # Telechips, Techvision evaluation boards-  # @ref:-  #########-  - regex: '; *Android for (Telechips|Techvision) ([^ ]+) '-    regex_flag: 'i'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'--  #########-  # Telstra-  # @ref: http://www.telstra.com.au/home-phone/thub-2/-  # @ref: https://support.google.com/googleplay/answer/1727131?hl=en-  #########-  - regex: '; *(T-Hub2) Build/'-    device_replacement: '$1'-    brand_replacement: 'Telstra'-    model_replacement: '$1'--  #########-  # Terra-  # @ref: http://www.wortmann.de/-  #########-  - regex: '; *(PAD) ?(100[12]) Build/'-    device_replacement: 'Terra $1$2'-    brand_replacement: 'Terra'-    model_replacement: '$1$2'--  #########-  # Texet-  # @ref: http://www.texet.ru/tablet/-  #########-  - regex: '; *(T[BM]-\d{3}[^;/]+) Build/'-    device_replacement: '$1'-    brand_replacement: 'Texet'-    model_replacement: '$1'--  #########-  # Thalia-  # @ref: http://www.thalia.de/shop/tolino-shine-ereader/show/-  #########-  - regex: '; *(tolino [^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Thalia'-    model_replacement: '$1'-  - regex: '; *Build/.* (TOLINO_BROWSER)'-    device_replacement: '$1'-    brand_replacement: 'Thalia'-    model_replacement: 'Tolino Shine'--  #########-  # Thl-  # @ref: http://en.thl.com.cn/Mobile-  # @ref: http://thlmobilestore.com-  #########-  - regex: '; *(?:CJ[ -])?(ThL|THL)[ -]([^;/]+) Build/'-    device_replacement: '$1 $2'-    brand_replacement: 'Thl'-    model_replacement: '$2'-  - regex: '; *(T100|T200|T5|W100|W200|W8s) Build/'-    device_replacement: '$1'-    brand_replacement: 'Thl'-    model_replacement: '$1'--  #########-  # T-Mobile (Operator Branded Devices)-  #########-  # @ref: https://en.wikipedia.org/wiki/HTC_Hero-  - regex: '; *(T-Mobile[ _]G2[ _]Touch) Build'-    device_replacement: '$1'-    brand_replacement: 'HTC'-    model_replacement: 'Hero'-  # @ref: https://en.wikipedia.org/wiki/HTC_Desire_Z-  - regex: '; *(T-Mobile[ _]G2) Build'-    device_replacement: '$1'-    brand_replacement: 'HTC'-    model_replacement: 'Desire Z'-  - regex: '; *(T-Mobile myTouch Q) Build'-    device_replacement: '$1'-    brand_replacement: 'Huawei'-    model_replacement: 'U8730'-  - regex: '; *(T-Mobile myTouch) Build'-    device_replacement: '$1'-    brand_replacement: 'Huawei'-    model_replacement: 'U8680'-  - regex: '; *(T-Mobile_Espresso) Build'-    device_replacement: '$1'-    brand_replacement: 'HTC'-    model_replacement: 'Espresso'-  - regex: '; *(T-Mobile G1) Build'-    device_replacement: '$1'-    brand_replacement: 'HTC'-    model_replacement: 'Dream'-  - regex: '\b(T-Mobile ?)?(myTouch)[ _]?([34]G)[ _]?([^\/]*) (?:Mozilla|Build)'-    device_replacement: '$1$2 $3 $4'-    brand_replacement: 'HTC'-    model_replacement: '$2 $3 $4'-  - regex: '\b(T-Mobile)_([^_]+)_(.*) Build'-    device_replacement: '$1 $2 $3'-    brand_replacement: 'Tmobile'-    model_replacement: '$2 $3'-  - regex: '\b(T-Mobile)[_ ]?(.*?)Build'-    device_replacement: '$1 $2'-    brand_replacement: 'Tmobile'-    model_replacement: '$2'--  #########-  # Tomtec-  # @ref: http://www.tom-tec.eu/pages/tablets.php-  #########-  - regex: ' (ATP[0-9]{4}) Build'-    device_replacement: '$1'-    brand_replacement: 'Tomtec'-    model_replacement: '$1'--  #########-  # Tooky-  # @ref: http://www.tookymobile.com/-  #########-  - regex: ' *(TOOKY)[ _\-]([^;/]+) ?(?:Build|;)'-    regex_flag: 'i'-    device_replacement: '$1 $2'-    brand_replacement: 'Tooky'-    model_replacement: '$2'--  #########-  # Toshiba-  # @ref: http://www.toshiba.co.jp/-  # @missing: LT170, Thrive 7, TOSHIBA STB10-  #########-  - regex: '\b(TOSHIBA_AC_AND_AZ|TOSHIBA_FOLIO_AND_A|FOLIO_AND_A)'-    device_replacement: '$1'-    brand_replacement: 'Toshiba'-    model_replacement: 'Folio 100'-  - regex: '; *([Ff]olio ?100) Build/'-    device_replacement: '$1'-    brand_replacement: 'Toshiba'-    model_replacement: 'Folio 100'-  - regex: '; *(AT[0-9]{2,3}(?:\-A|LE\-A|PE\-A|SE|a)?|AT7-A|AT1S0|Hikari-iFrame/WDPF-[^;/]+|THRiVE|Thrive) Build/'-    device_replacement: 'Toshiba $1'-    brand_replacement: 'Toshiba'-    model_replacement: '$1'--  #########-  # Touchmate-  # @ref: http://touchmatepc.com/new/-  #########-  - regex: '; *(TM-MID\d+[^;/]+|TOUCHMATE|MID-750) Build'-    device_replacement: '$1'-    brand_replacement: 'Touchmate'-    model_replacement: '$1'-  # @todo: needs verification user-agents missing-  - regex: '; *(TM-SM\d+[^;/]+) Build'-    device_replacement: '$1'-    brand_replacement: 'Touchmate'-    model_replacement: '$1'--  #########-  # Treq-  # @ref: http://www.treq.co.id/product-  #########-  - regex: '; *(A10 [Bb]asic2?) Build/'-    device_replacement: '$1'-    brand_replacement: 'Treq'-    model_replacement: '$1'-  - regex: '; *(TREQ[ _\-])([^;/]+) Build'-    regex_flag: 'i'-    device_replacement: '$1$2'-    brand_replacement: 'Treq'-    model_replacement: '$2'--  #########-  # Umeox-  # @ref: http://umeox.com/-  # @models: A936|A603|X-5|X-3-  #########-  # @todo: guessed markers-  - regex: '; *(X-?5|X-?3) Build/'-    device_replacement: '$1'-    brand_replacement: 'Umeox'-    model_replacement: '$1'-  # @todo: guessed markers-  - regex: '; *(A502\+?|A936|A603|X1|X2) Build/'-    device_replacement: '$1'-    brand_replacement: 'Umeox'-    model_replacement: '$1'--  #########-  # Versus-  # @ref: http://versusuk.com/support.html-  #########-  - regex: '(TOUCH(?:TAB|PAD).+?) Build/'-    regex_flag: 'i'-    device_replacement: 'Versus $1'-    brand_replacement: 'Versus'-    model_replacement: '$1'--  #########-  # Vertu-  # @ref: http://www.vertu.com/-  #########-  - regex: '(VERTU) ([^;/]+) Build/'-    device_replacement: '$1 $2'-    brand_replacement: 'Vertu'-    model_replacement: '$2'--  #########-  # Videocon-  # @ref: http://www.videoconmobiles.com-  #########-  - regex: '; *(Videocon)[ _\-]([^;/]+) *(?:Build|;)'-    device_replacement: '$1 $2'-    brand_replacement: 'Videocon'-    model_replacement: '$2'-  - regex: ' (VT\d{2}[A-Za-z]*) Build'-    device_replacement: '$1'-    brand_replacement: 'Videocon'-    model_replacement: '$1'--  #########-  # Viewsonic-  # @ref: http://viewsonic.com-  #########-  - regex: '; *((?:ViewPad|ViewPhone|VSD)[^;/]+) Build/'-    device_replacement: '$1'-    brand_replacement: 'Viewsonic'-    model_replacement: '$1'-  - regex: '; *(ViewSonic-)([^;/]+) Build/'-    device_replacement: '$1$2'-    brand_replacement: 'Viewsonic'-    model_replacement: '$2'-  - regex: '; *(GTablet.*) Build/'-    device_replacement: '$1'-    brand_replacement: 'Viewsonic'-    model_replacement: '$1'--  #########-  # vivo-  # @ref: http://vivo.cn/-  #########-  - regex: '; *([Vv]ivo)[ _]([^;/]+) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'vivo'-    model_replacement: '$2'--  #########-  # Vodafone (Operator Branded Devices)-  # @ref: ??-  #########-  - regex: '(Vodafone) (.*) Build/'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'--  #########-  # Walton-  # @ref: http://www.waltonbd.com/-  #########-  - regex: '; *(?:Walton[ _\-])?(Primo[ _\-][^;/]+) Build'-    regex_flag: 'i'-    device_replacement: 'Walton $1'-    brand_replacement: 'Walton'-    model_replacement: '$1'--  #########-  # Wiko-  # @ref: http://fr.wikomobile.com/collection.php?s=Smartphones-  #########-  - regex: '; *(?:WIKO[ \-])?(CINK\+?|BARRY|BLOOM|DARKFULL|DARKMOON|DARKNIGHT|DARKSIDE|FIZZ|HIGHWAY|IGGY|OZZY|RAINBOW|STAIRWAY|SUBLIM|WAX|CINK [^;/]+) Build/'-    regex_flag: 'i'-    device_replacement: 'Wiko $1'-    brand_replacement: 'Wiko'-    model_replacement: '$1'--  #########-  # WellcoM-  # @ref: ??-  #########-  - regex: '; *WellcoM-([^;/]+) Build'-    device_replacement: 'Wellcom $1'-    brand_replacement: 'Wellcom'-    model_replacement: '$1'--  ##########-  # WeTab-  # @ref: http://wetab.mobi/-  ##########-  - regex: '(?:(WeTab)-Browser|; (wetab) Build)'-    device_replacement: '$1'-    brand_replacement: 'WeTab'-    model_replacement: 'WeTab'--  #########-  # Wolfgang-  # @ref: http://wolfgangmobile.com/-  #########-  - regex: '; *(AT-AS[^;/]+) Build'-    device_replacement: 'Wolfgang $1'-    brand_replacement: 'Wolfgang'-    model_replacement: '$1'--  #########-  # Woxter-  # @ref: http://www.woxter.es/es-es/categories/index-  #########-  - regex: '; *(?:Woxter|Wxt) ([^;/]+) Build'-    device_replacement: 'Woxter $1'-    brand_replacement: 'Woxter'-    model_replacement: '$1'--  #########-  # Yarvik Zania-  # @ref: http://yarvik.com-  #########-  - regex: '; *(?:Xenta |Luna )?(TAB[234][0-9]{2}|TAB0[78]-\d{3}|TAB0?9-\d{3}|TAB1[03]-\d{3}|SMP\d{2}-\d{3}) Build/'-    device_replacement: 'Yarvik $1'-    brand_replacement: 'Yarvik'-    model_replacement: '$1'--  #########-  # Yifang-  # @note: Needs to be at the very last as manufacturer builds for other brands.-  # @ref: http://www.yifangdigital.com/-  # @models: M1010, M1011, M1007, M1008, M1005, M899, M899LP, M909, M8000,-  #   M8001, M8002, M8003, M849, M815, M816, M819, M805, M878, M780LPW,-  #   M778, M7000, M7000AD, M7000NBD, M7001, M7002, M7002KBD, M777, M767,-  #   M789, M799, M769, M757, M755, M753, M752, M739, M729, M723, M712, M727-  #########-  - regex: '; *([A-Z]{2,4})(M\d{3,}[A-Z]{2})([^;\)\/]*)(?: Build|[;\)])'-    device_replacement: 'Yifang $1$2$3'-    brand_replacement: 'Yifang'-    model_replacement: '$2'--  #########-  # XiaoMi-  # @ref: http://www.xiaomi.com/event/buyphone-  #########-  - regex: '; *((MI|HM|MI-ONE|Redmi)[ -](NOTE |Note )?[^;/]*) (Build|MIUI)/'-    device_replacement: 'XiaoMi $1'-    brand_replacement: 'XiaoMi'-    model_replacement: '$1'--  #########-  # Xolo-  # @ref: http://www.xolo.in/-  #########-  - regex: '; *XOLO[ _]([^;/]*tab.*) Build'-    regex_flag: 'i'-    device_replacement: 'Xolo $1'-    brand_replacement: 'Xolo'-    model_replacement: '$1'-  - regex: '; *XOLO[ _]([^;/]+) Build'-    regex_flag: 'i'-    device_replacement: 'Xolo $1'-    brand_replacement: 'Xolo'-    model_replacement: '$1'-  - regex: '; *(q\d0{2,3}[a-z]?) Build'-    regex_flag: 'i'-    device_replacement: 'Xolo $1'-    brand_replacement: 'Xolo'-    model_replacement: '$1'--  #########-  # Xoro-  # @ref: http://www.xoro.de/produkte/-  #########-  - regex: '; *(PAD ?[79]\d+[^;/]*|TelePAD\d+[^;/]) Build'-    device_replacement: 'Xoro $1'-    brand_replacement: 'Xoro'-    model_replacement: '$1'--  #########-  # Zopo-  # @ref: http://www.zopomobiles.com/products.html-  #########-  - regex: '; *(?:(?:ZOPO|Zopo)[ _]([^;/]+)|(ZP ?(?:\d{2}[^;/]+|C2))|(C[2379])) Build'-    device_replacement: '$1$2$3'-    brand_replacement: 'Zopo'-    model_replacement: '$1$2$3'--  #########-  # ZiiLabs-  # @ref: http://www.ziilabs.com/products/platforms/androidreferencetablets.php-  #########-  - regex: '; *(ZiiLABS) (Zii[^;/]*) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'ZiiLabs'-    model_replacement: '$2'-  - regex: '; *(Zii)_([^;/]*) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'ZiiLabs'-    model_replacement: '$2'--  #########-  # ZTE-  # @ref: http://www.ztedevices.com/-  #########-  - regex: '; *(ARIZONA|(?:ATLAS|Atlas) W|D930|Grand (?:[SX][^;]*|Era|Memo[^;]*)|JOE|(?:Kis|KIS)\b[^;]*|Libra|Light [^;]*|N8[056][01]|N850L|N8000|N9[15]\d{2}|N9810|NX501|Optik|(?:Vip )Racer[^;]*|RacerII|RACERII|San Francisco[^;]*|V9[AC]|V55|V881|Z[679][0-9]{2}[A-z]?) Build'-    device_replacement: '$1'-    brand_replacement: 'ZTE'-    model_replacement: '$1'-  - regex: '; *([A-Z]\d+)_USA_[^;]* Build'-    device_replacement: '$1'-    brand_replacement: 'ZTE'-    model_replacement: '$1'-  - regex: '; *(SmartTab\d+)[^;]* Build'-    device_replacement: '$1'-    brand_replacement: 'ZTE'-    model_replacement: '$1'-  - regex: '; *(?:Blade|BLADE|ZTE-BLADE)([^;/]*) Build'-    device_replacement: 'ZTE Blade$1'-    brand_replacement: 'ZTE'-    model_replacement: 'Blade$1'-  - regex: '; *(?:Skate|SKATE|ZTE-SKATE)([^;/]*) Build'-    device_replacement: 'ZTE Skate$1'-    brand_replacement: 'ZTE'-    model_replacement: 'Skate$1'-  - regex: '; *(Orange |Optimus )(Monte Carlo|San Francisco) Build'-    device_replacement: '$1$2'-    brand_replacement: 'ZTE'-    model_replacement: '$1$2'-  - regex: '; *(?:ZXY-ZTE_|ZTE\-U |ZTE[\- _]|ZTE-C[_ ])([^;/]+) Build'-    device_replacement: 'ZTE $1'-    brand_replacement: 'ZTE'-    model_replacement: '$1'-  # operator specific-  - regex: '; (BASE) (lutea|Lutea 2|Tab[^;]*) Build'-    device_replacement: '$1 $2'-    brand_replacement: 'ZTE'-    model_replacement: '$1 $2'-  - regex: '; (Avea inTouch 2|soft stone|tmn smart a7|Movistar[ _]Link) Build'-    regex_flag: 'i'-    device_replacement: '$1'-    brand_replacement: 'ZTE'-    model_replacement: '$1'-  - regex: '; *(vp9plus)\)'-    device_replacement: '$1'-    brand_replacement: 'ZTE'-    model_replacement: '$1'--  ##########-  # Zync-  # @ref: http://www.zync.in/index.php/our-products/tablet-phablets-  ##########-  - regex: '; ?(Cloud[ _]Z5|z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900) Build/'-    device_replacement: '$1'-    brand_replacement: 'Zync'-    model_replacement: '$1'--  ##########-  # Kindle-  # @note: Needs to be after Sony Playstation Vita as this UA contains Silk/3.2-  # @ref: https://developer.amazon.com/sdk/fire/specifications.html-  # @ref: http://amazonsilk.wordpress.com/useful-bits/silk-user-agent/-  ##########-  - regex: '; ?(KFOT|Kindle Fire) Build\b'-    device_replacement: 'Kindle Fire'-    brand_replacement: 'Amazon'-    model_replacement: 'Kindle Fire'-  - regex: '; ?(KFOTE|Amazon Kindle Fire2) Build\b'-    device_replacement: 'Kindle Fire 2'-    brand_replacement: 'Amazon'-    model_replacement: 'Kindle Fire 2'-  - regex: '; ?(KFTT) Build\b'-    device_replacement: 'Kindle Fire HD'-    brand_replacement: 'Amazon'-    model_replacement: 'Kindle Fire HD 7"'-  - regex: '; ?(KFJWI) Build\b'-    device_replacement: 'Kindle Fire HD 8.9" WiFi'-    brand_replacement: 'Amazon'-    model_replacement: 'Kindle Fire HD 8.9" WiFi'-  - regex: '; ?(KFJWA) Build\b'-    device_replacement: 'Kindle Fire HD 8.9" 4G'-    brand_replacement: 'Amazon'-    model_replacement: 'Kindle Fire HD 8.9" 4G'-  - regex: '; ?(KFSOWI) Build\b'-    device_replacement: 'Kindle Fire HD 7" WiFi'-    brand_replacement: 'Amazon'-    model_replacement: 'Kindle Fire HD 7" WiFi'-  - regex: '; ?(KFTHWI) Build\b'-    device_replacement: 'Kindle Fire HDX 7" WiFi'-    brand_replacement: 'Amazon'-    model_replacement: 'Kindle Fire HDX 7" WiFi'-  - regex: '; ?(KFTHWA) Build\b'-    device_replacement: 'Kindle Fire HDX 7" 4G'-    brand_replacement: 'Amazon'-    model_replacement: 'Kindle Fire HDX 7" 4G'-  - regex: '; ?(KFAPWI) Build\b'-    device_replacement: 'Kindle Fire HDX 8.9" WiFi'-    brand_replacement: 'Amazon'-    model_replacement: 'Kindle Fire HDX 8.9" WiFi'-  - regex: '; ?(KFAPWA) Build\b'-    device_replacement: 'Kindle Fire HDX 8.9" 4G'-    brand_replacement: 'Amazon'-    model_replacement: 'Kindle Fire HDX 8.9" 4G'-  - regex: '; ?Amazon ([^;/]+) Build\b'-    device_replacement: '$1'-    brand_replacement: 'Amazon'-    model_replacement: '$1'-  - regex: '; ?(Kindle) Build\b'-    device_replacement: 'Kindle'-    brand_replacement: 'Amazon'-    model_replacement: 'Kindle'-  - regex: '; ?(Silk)/(\d+)\.(\d+)(?:\.([0-9\-]+))? Build\b'-    device_replacement: 'Kindle Fire'-    brand_replacement: 'Amazon'-    model_replacement: 'Kindle Fire$2'-  - regex: ' (Kindle)/(\d+\.\d+)'-    device_replacement: 'Kindle'-    brand_replacement: 'Amazon'-    model_replacement: '$1 $2'-  - regex: ' (Silk|Kindle)/(\d+)\.'-    device_replacement: 'Kindle'-    brand_replacement: 'Amazon'-    model_replacement: 'Kindle'--  #########-  # Devices from chinese manufacturer(s)-  # @note: identified by x-wap-profile http://218.249.47.94/Xianghe/.*-  #########-  - regex: '(sprd)\-([^/]+)/'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'-  # @ref: http://eshinechina.en.alibaba.com/-  - regex: '; *(H\d{2}00\+?) Build'-    device_replacement: '$1'-    brand_replacement: 'Hero'-    model_replacement: '$1'-  - regex: '; *(iphone|iPhone5) Build/'-    device_replacement: 'Xianghe $1'-    brand_replacement: 'Xianghe'-    model_replacement: '$1'-  - regex: '; *(e\d{4}[a-z]?_?v\d+|v89_[^;/]+)[^;/]+ Build/'-    device_replacement: 'Xianghe $1'-    brand_replacement: 'Xianghe'-    model_replacement: '$1'--  #########-  # Cellular-  # @ref:-  # @note: Operator branded devices-  #########-  - regex: '\bUSCC[_\-]?([^ ;/\)]+)'-    device_replacement: '$1'-    brand_replacement: 'Cellular'-    model_replacement: '$1'--  ######################################################################-  # Windows Phone Parsers-  ######################################################################--  #########-  # Alcatel Windows Phones-  #########-  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:ALCATEL)[^;]*; *([^;,\)]+)'-    device_replacement: 'Alcatel $1'-    brand_replacement: 'Alcatel'-    model_replacement: '$1'--  #########-  # Asus Windows Phones-  #########-  #~ - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:ASUS|Asus)[^;]*; *([^;,\)]+)'-  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:ASUS|Asus)[^;]*; *([^;,\)]+)'-    device_replacement: 'Asus $1'-    brand_replacement: 'Asus'-    model_replacement: '$1'--  #########-  # Dell Windows Phones-  #########-  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:DELL|Dell)[^;]*; *([^;,\)]+)'-    device_replacement: 'Dell $1'-    brand_replacement: 'Dell'-    model_replacement: '$1'--  #########-  # HTC Windows Phones-  #########-  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:HTC|Htc|HTC_blocked[^;]*)[^;]*; *(?:HTC)?([^;,\)]+)'-    device_replacement: 'HTC $1'-    brand_replacement: 'HTC'-    model_replacement: '$1'--  #########-  # Huawei Windows Phones-  #########-  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:HUAWEI)[^;]*; *(?:HUAWEI )?([^;,\)]+)'-    device_replacement: 'Huawei $1'-    brand_replacement: 'Huawei'-    model_replacement: '$1'--  #########-  # LG Windows Phones-  #########-  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:LG|Lg)[^;]*; *(?:LG[ \-])?([^;,\)]+)'-    device_replacement: 'LG $1'-    brand_replacement: 'LG'-    model_replacement: '$1'--  #########-  # Noka Windows Phones-  #########-  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:rv:11; )?(?:NOKIA|Nokia)[^;]*; *(?:NOKIA ?|Nokia ?|LUMIA ?|[Ll]umia ?)*(\d{3,}[^;\)]*)'-    device_replacement: 'Lumia $1'-    brand_replacement: 'Nokia'-    model_replacement: 'Lumia $1'-  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:NOKIA|Nokia)[^;]*; *(RM-\d{3,})'-    device_replacement: 'Nokia $1'-    brand_replacement: 'Nokia'-    model_replacement: '$1'-  - regex: '(?:Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)]|WPDesktop;) ?(?:ARM; ?Touch; ?|Touch; ?)?(?:NOKIA|Nokia)[^;]*; *(?:NOKIA ?|Nokia ?|LUMIA ?|[Ll]umia ?)*([^;\)]+)'-    device_replacement: 'Nokia $1'-    brand_replacement: 'Nokia'-    model_replacement: '$1'--  #########-  # Microsoft Windows Phones-  #########-  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:Microsoft(?: Corporation)?)[^;]*; *([^;,\)]+)'-    device_replacement: 'Microsoft $1'-    brand_replacement: 'Microsoft'-    model_replacement: '$1'--  #########-  # Samsung Windows Phones-  #########-  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:SAMSUNG)[^;]*; *(?:SAMSUNG )?([^;,\.\)]+)'-    device_replacement: 'Samsung $1'-    brand_replacement: 'Samsung'-    model_replacement: '$1'--  #########-  # Toshiba Windows Phones-  #########-  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:TOSHIBA|FujitsuToshibaMobileCommun)[^;]*; *([^;,\)]+)'-    device_replacement: 'Toshiba $1'-    brand_replacement: 'Toshiba'-    model_replacement: '$1'--  #########-  # Generic Windows Phones-  #########-  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?([^;]+); *([^;,\)]+)'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'--  ######################################################################-  # Other Devices Parser-  ######################################################################--  #########-  # Samsung Bada Phones-  #########-  - regex: '(?:^|; )SAMSUNG\-([A-Za-z0-9\-]+).* Bada/'-    device_replacement: 'Samsung $1'-    brand_replacement: 'Samsung'-    model_replacement: '$1'--  #########-  # Firefox OS-  #########-  - regex: '\(Mobile; ALCATEL ?(One|ONE) ?(Touch|TOUCH) ?([^;/]+)(?:/[^;]+)?; rv:[^\)]+\) Gecko/[^\/]+ Firefox/'-    device_replacement: 'Alcatel $1 $2 $3'-    brand_replacement: 'Alcatel'-    model_replacement: 'One Touch $3'-  - regex: '\(Mobile; (?:ZTE([^;]+)|(OpenC)); rv:[^\)]+\) Gecko/[^\/]+ Firefox/'-    device_replacement: 'ZTE $1$2'-    brand_replacement: 'ZTE'-    model_replacement: '$1$2'--  ##########-  # NOKIA-  # @note: NokiaN8-00 comes before iphone. Sometimes spoofs iphone-  ##########-  - regex: 'Nokia(N[0-9]+)([A-z_\-][A-z0-9_\-]*)'-    device_replacement: 'Nokia $1'-    brand_replacement: 'Nokia'-    model_replacement: '$1$2'-  - regex: '(?:NOKIA|Nokia)(?:\-| *)(?:([A-Za-z0-9]+)\-[0-9a-f]{32}|([A-Za-z0-9\-]+)(?:UCBrowser)|([A-Za-z0-9\-]+))'-    device_replacement: 'Nokia $1$2$3'-    brand_replacement: 'Nokia'-    model_replacement: '$1$2$3'-  - regex: 'Lumia ([A-Za-z0-9\-]+)'-    device_replacement: 'Lumia $1'-    brand_replacement: 'Nokia'-    model_replacement: 'Lumia $1'-  # UCWEB Browser on Symbian-  - regex: '\(Symbian; U; S60 V5; [A-z]{2}\-[A-z]{2}; (SonyEricsson|Samsung|Nokia|LG)([^;/]+)\)'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'-  # Nokia Symbian-  - regex: '\(Symbian(?:/3)?; U; ([^;]+);'-    device_replacement: 'Nokia $1'-    brand_replacement: 'Nokia'-    model_replacement: '$1'--  ##########-  # BlackBerry-  # @ref: http://www.useragentstring.com/pages/BlackBerry/-  ##########-  - regex: 'BB10; ([A-Za-z0-9\- ]+)\)'-    device_replacement: 'BlackBerry $1'-    brand_replacement: 'BlackBerry'-    model_replacement: '$1'-  - regex: 'Play[Bb]ook.+RIM Tablet OS'-    device_replacement: 'BlackBerry Playbook'-    brand_replacement: 'BlackBerry'-    model_replacement: 'Playbook'-  - regex: 'Black[Bb]erry ([0-9]+);'-    device_replacement: 'BlackBerry $1'-    brand_replacement: 'BlackBerry'-    model_replacement: '$1'-  - regex: 'Black[Bb]erry([0-9]+)'-    device_replacement: 'BlackBerry $1'-    brand_replacement: 'BlackBerry'-    model_replacement: '$1'-  - regex: 'Black[Bb]erry;'-    device_replacement: 'BlackBerry'-    brand_replacement: 'BlackBerry'--  ##########-  # PALM / HP-  # @note: some palm devices must come before iphone. sometimes spoofs iphone in ua-  ##########-  - regex: '(Pre|Pixi)/\d+\.\d+'-    device_replacement: 'Palm $1'-    brand_replacement: 'Palm'-    model_replacement: '$1'-  - regex: 'Palm([0-9]+)'-    device_replacement: 'Palm $1'-    brand_replacement: 'Palm'-    model_replacement: '$1'-  - regex: 'Treo([A-Za-z0-9]+)'-    device_replacement: 'Palm Treo $1'-    brand_replacement: 'Palm'-    model_replacement: 'Treo $1'-  - regex: 'webOS.*(P160U(?:NA)?)/(\d+).(\d+)'-    device_replacement: 'HP Veer'-    brand_replacement: 'HP'-    model_replacement: 'Veer'-  - regex: '(Touch[Pp]ad)/\d+\.\d+'-    device_replacement: 'HP TouchPad'-    brand_replacement: 'HP'-    model_replacement: 'TouchPad'-  - regex: 'HPiPAQ([A-Za-z0-9]+)/\d+.\d+'-    device_replacement: 'HP iPAQ $1'-    brand_replacement: 'HP'-    model_replacement: 'iPAQ $1'-  - regex: 'PDA; (PalmOS)/sony/model ([a-z]+)/Revision'-    device_replacement: '$1'-    brand_replacement: 'Sony'-    model_replacement: '$1 $2'--  ##########-  # AppleTV-  # No built in browser that I can tell-  # Stack Overflow indicated iTunes-AppleTV/4.1 as a known UA for app available and I'm seeing it in live traffic-  ##########-  - regex: '(Apple\s?TV)'-    device_replacement: 'AppleTV'-    brand_replacement: 'Apple'-    model_replacement: 'AppleTV'--  #########-  # Tesla Model S-  #########-  - regex: '(QtCarBrowser)'-    device_replacement: 'Tesla Model S'-    brand_replacement: 'Tesla'-    model_replacement: 'Model S'--  ##########-  # iSTUFF-  # @note: complete but probably catches spoofs-  #   ipad and ipod must be parsed before iphone-  #   cannot determine specific device type from ua string. (3g, 3gs, 4, etc)-  ##########-  # @note: on some ua the device can be identified e.g. iPhone5,1-  - regex: '(iPhone|iPad|iPod)(\d+,\d+)'-    device_replacement: '$1'-    brand_replacement: 'Apple'-    model_replacement: '$1$2'-  # @note: iPad needs to be before iPhone-  - regex: '(iPad)(?:;| Simulator;)'-    device_replacement: '$1'-    brand_replacement: 'Apple'-    model_replacement: '$1'-  - regex: '(iPod)(?:;| touch;| Simulator;)'-    device_replacement: '$1'-    brand_replacement: 'Apple'-    model_replacement: '$1'-  - regex: '(iPhone)(?:;| Simulator;)'-    device_replacement: '$1'-    brand_replacement: 'Apple'-    model_replacement: '$1'-  # @note: desktop applications show device info-  - regex: 'CFNetwork/.* Darwin/\d.*\(((?:Mac|iMac|PowerMac|PowerBook)[^\d]*)(\d+)(?:,|%2C)(\d+)'-    device_replacement: '$1$2,$3'-    brand_replacement: 'Apple'-    model_replacement: '$1$2,$3'-  # @note: newer desktop applications don't show device info-  # This is here so as to not have them recorded as iOS-Device-  - regex: 'CFNetwork/.* Darwin/\d+\.\d+\.\d+ \(x86_64\)'-    device_replacement: 'Mac'-    brand_replacement: 'Apple'-    model_replacement: 'Mac'-  # @note: iOS applications do not show device info-  - regex: 'CFNetwork/.* Darwin/\d'-    device_replacement: 'iOS-Device'-    brand_replacement: 'Apple'-    model_replacement: 'iOS-Device'--  ##########-  # Acer-  ##########-  - regex: 'acer_([A-Za-z0-9]+)_'-    device_replacement: 'Acer $1'-    brand_replacement: 'Acer'-    model_replacement: '$1'--  ##########-  # Alcatel-  ##########-  - regex: '(?:ALCATEL|Alcatel)-([A-Za-z0-9\-]+)'-    device_replacement: 'Alcatel $1'-    brand_replacement: 'Alcatel'-    model_replacement: '$1'--  ##########-  # Amoi-  ##########-  - regex: '(?:Amoi|AMOI)\-([A-Za-z0-9]+)'-    device_replacement: 'Amoi $1'-    brand_replacement: 'Amoi'-    model_replacement: '$1'--  ##########-  # Asus-  ##########-  - regex: '(?:; |\/|^)((?:Transformer (?:Pad|Prime) |Transformer |PadFone[ _]?)[A-Za-z0-9]*)'-    device_replacement: 'Asus $1'-    brand_replacement: 'Asus'-    model_replacement: '$1'-  - regex: '(?:asus.*?ASUS|Asus|ASUS|asus)[\- ;]*((?:Transformer (?:Pad|Prime) |Transformer |Padfone |Nexus[ _])?[A-Za-z0-9]+)'-    device_replacement: 'Asus $1'-    brand_replacement: 'Asus'-    model_replacement: '$1'---  ##########-  # Bird-  ##########-  - regex: '\bBIRD[ \-\.]([A-Za-z0-9]+)'-    device_replacement: 'Bird $1'-    brand_replacement: 'Bird'-    model_replacement: '$1'--  ##########-  # Dell-  ##########-  - regex: '\bDell ([A-Za-z0-9]+)'-    device_replacement: 'Dell $1'-    brand_replacement: 'Dell'-    model_replacement: '$1'--  ##########-  # DoCoMo-  ##########-  - regex: 'DoCoMo/2\.0 ([A-Za-z0-9]+)'-    device_replacement: 'DoCoMo $1'-    brand_replacement: 'DoCoMo'-    model_replacement: '$1'-  - regex: '([A-Za-z0-9]+)_W;FOMA'-    device_replacement: 'DoCoMo $1'-    brand_replacement: 'DoCoMo'-    model_replacement: '$1'-  - regex: '([A-Za-z0-9]+);FOMA'-    device_replacement: 'DoCoMo $1'-    brand_replacement: 'DoCoMo'-    model_replacement: '$1'--  ##########-  # htc-  ##########-  - regex: '\b(?:HTC/|HTC/[a-z0-9]+/)?HTC[ _\-;]? *(.*?)(?:-?Mozilla|fingerPrint|[;/\(\)]|$)'-    device_replacement: 'HTC $1'-    brand_replacement: 'HTC'-    model_replacement: '$1'--  ##########-  # Huawei-  ##########-  - regex: 'Huawei([A-Za-z0-9]+)'-    device_replacement: 'Huawei $1'-    brand_replacement: 'Huawei'-    model_replacement: '$1'-  - regex: 'HUAWEI-([A-Za-z0-9]+)'-    device_replacement: 'Huawei $1'-    brand_replacement: 'Huawei'-    model_replacement: '$1'-  - regex: 'vodafone([A-Za-z0-9]+)'-    device_replacement: 'Huawei Vodafone $1'-    brand_replacement: 'Huawei'-    model_replacement: 'Vodafone $1'--  ##########-  # i-mate-  ##########-  - regex: 'i\-mate ([A-Za-z0-9]+)'-    device_replacement: 'i-mate $1'-    brand_replacement: 'i-mate'-    model_replacement: '$1'--  ##########-  # kyocera-  ##########-  - regex: 'Kyocera\-([A-Za-z0-9]+)'-    device_replacement: 'Kyocera $1'-    brand_replacement: 'Kyocera'-    model_replacement: '$1'-  - regex: 'KWC\-([A-Za-z0-9]+)'-    device_replacement: 'Kyocera $1'-    brand_replacement: 'Kyocera'-    model_replacement: '$1'--  ##########-  # lenovo-  ##########-  - regex: 'Lenovo[_\-]([A-Za-z0-9]+)'-    device_replacement: 'Lenovo $1'-    brand_replacement: 'Lenovo'-    model_replacement: '$1'--  ##########-  # HbbTV (European and Australian standard)-  # written before the LG regexes, as LG is making HbbTV too-  ##########-  - regex: '(HbbTV)/[0-9]+\.[0-9]+\.[0-9]+ \([^;]*; *(LG)E *; *([^;]*) *;[^;]*;[^;]*;\)'-    device_replacement: '$1'-    brand_replacement: '$2'-    model_replacement: '$3'-  - regex: '(HbbTV)/1\.1\.1.*CE-HTML/1\.\d;(Vendor/)*(THOM[^;]*?)[;\s](?:.*SW-Version/.*)*(LF[^;]+);?'-    device_replacement: '$1'-    brand_replacement: 'Thomson'-    model_replacement: '$4'-  - regex: '(HbbTV)(?:/1\.1\.1)?(?: ?\(;;;;;\))?; *CE-HTML(?:/1\.\d)?; *([^ ]+) ([^;]+);'-    device_replacement: '$1'-    brand_replacement: '$2'-    model_replacement: '$3'-  - regex: '(HbbTV)/1\.1\.1 \(;;;;;\) Maple_2011'-    device_replacement: '$1'-    brand_replacement: 'Samsung'-  - regex: '(HbbTV)/[0-9]+\.[0-9]+\.[0-9]+ \([^;]*; *(?:CUS:([^;]*)|([^;]+)) *; *([^;]*) *;.*;'-    device_replacement: '$1'-    brand_replacement: '$2$3'-    model_replacement: '$4'-  - regex: '(HbbTV)/[0-9]+\.[0-9]+\.[0-9]+'-    device_replacement: '$1'--  ##########-  # LGE NetCast TV-  ##########-  - regex: 'LGE; (?:Media\/)?([^;]*);[^;]*;[^;]*;?\); "?LG NetCast(\.TV|\.Media|)-\d+'-    device_replacement: 'NetCast$2'-    brand_replacement: 'LG'-    model_replacement: '$1'--  ##########-  # InettvBrowser-  ##########-  - regex: 'InettvBrowser/[0-9]+\.[0-9A-Z]+ \([^;]*;(Sony)([^;]*);[^;]*;[^\)]*\)'-    device_replacement: 'Inettv'-    brand_replacement: '$1'-    model_replacement: '$2'-  - regex: 'InettvBrowser/[0-9]+\.[0-9A-Z]+ \([^;]*;([^;]*);[^;]*;[^\)]*\)'-    device_replacement: 'Inettv'-    brand_replacement: 'Generic_Inettv'-    model_replacement: '$1'-  - regex: '(?:InettvBrowser|TSBNetTV|NETTV|HBBTV)'-    device_replacement: 'Inettv'-    brand_replacement: 'Generic_Inettv'--  ##########-  # lg-  ##########-  # LG Symbian Phones-  - regex: 'Series60/\d\.\d (LG)[\-]?([A-Za-z0-9 \-]+)'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'-  # other LG phones-  - regex: '\b(?:LGE[ \-]LG\-(?:AX)?|LGE |LGE?-LG|LGE?[ \-]|LG[ /\-]|lg[\-])([A-Za-z0-9]+)\b'-    device_replacement: 'LG $1'-    brand_replacement: 'LG'-    model_replacement: '$1'-  - regex: '(?:^LG[\-]?|^LGE[\-/]?)([A-Za-z]+[0-9]+[A-Za-z]*)'-    device_replacement: 'LG $1'-    brand_replacement: 'LG'-    model_replacement: '$1'-  - regex: '^LG([0-9]+[A-Za-z]*)'-    device_replacement: 'LG $1'-    brand_replacement: 'LG'-    model_replacement: '$1'--  ##########-  # microsoft-  ##########-  - regex: '(KIN\.[^ ]+) (\d+)\.(\d+)'-    device_replacement: 'Microsoft $1'-    brand_replacement: 'Microsoft'-    model_replacement: '$1'-  - regex: '(?:MSIE|XBMC).*\b(Xbox)\b'-    device_replacement: '$1'-    brand_replacement: 'Microsoft'-    model_replacement: '$1'-  - regex: '; ARM; Trident/6\.0; Touch[\);]'-    device_replacement: 'Microsoft Surface RT'-    brand_replacement: 'Microsoft'-    model_replacement: 'Surface RT'--  ##########-  # motorola-  ##########-  - regex: 'Motorola\-([A-Za-z0-9]+)'-    device_replacement: 'Motorola $1'-    brand_replacement: 'Motorola'-    model_replacement: '$1'-  - regex: 'MOTO\-([A-Za-z0-9]+)'-    device_replacement: 'Motorola $1'-    brand_replacement: 'Motorola'-    model_replacement: '$1'-  - regex: 'MOT\-([A-z0-9][A-z0-9\-]*)'-    device_replacement: 'Motorola $1'-    brand_replacement: 'Motorola'-    model_replacement: '$1'--  ##########-  # nintendo-  ##########-  - regex: 'Nintendo WiiU'-    device_replacement: 'Nintendo Wii U'-    brand_replacement: 'Nintendo'-    model_replacement: 'Wii U'-  - regex: 'Nintendo (DS|3DS|DSi|Wii);'-    device_replacement: 'Nintendo $1'-    brand_replacement: 'Nintendo'-    model_replacement: '$1'--  ##########-  # pantech-  ##########-  - regex: '(?:Pantech|PANTECH)[ _-]?([A-Za-z0-9\-]+)'-    device_replacement: 'Pantech $1'-    brand_replacement: 'Pantech'-    model_replacement: '$1'--  ##########-  # philips-  ##########-  - regex: 'Philips([A-Za-z0-9]+)'-    device_replacement: 'Philips $1'-    brand_replacement: 'Philips'-    model_replacement: '$1'-  - regex: 'Philips ([A-Za-z0-9]+)'-    device_replacement: 'Philips $1'-    brand_replacement: 'Philips'-    model_replacement: '$1'--  ##########-  # Samsung-  ##########-  # Samsung Smart-TV-  - regex: '(SMART-TV); .* Tizen '-    device_replacement: 'Samsung $1'-    brand_replacement: 'Samsung'-    model_replacement: '$1'-  # Samsung Symbian Devices-  - regex: 'SymbianOS/9\.\d.* Samsung[/\-]([A-Za-z0-9 \-]+)'-    device_replacement: 'Samsung $1'-    brand_replacement: 'Samsung'-    model_replacement: '$1'-  - regex: '(Samsung)(SGH)(i[0-9]+)'-    device_replacement: '$1 $2$3'-    brand_replacement: '$1'-    model_replacement: '$2-$3'-  - regex: 'SAMSUNG-ANDROID-MMS/([^;/]+)'-    device_replacement: '$1'-    brand_replacement: 'Samsung'-    model_replacement: '$1'-  # Other Samsung-  #- regex: 'SAMSUNG(?:; |-)([A-Za-z0-9\-]+)'-  - regex: 'SAMSUNG(?:; |[ -/])([A-Za-z0-9\-]+)'-    regex_flag: 'i'-    device_replacement: 'Samsung $1'-    brand_replacement: 'Samsung'-    model_replacement: '$1'--  ##########-  # Sega-  ##########-  - regex: '(Dreamcast)'-    device_replacement: 'Sega $1'-    brand_replacement: 'Sega'-    model_replacement: '$1'--  ##########-  # Siemens mobile-  ##########-  - regex: '^SIE-([A-Za-z0-9]+)'-    device_replacement: 'Siemens $1'-    brand_replacement: 'Siemens'-    model_replacement: '$1'--  ##########-  # Softbank-  ##########-  - regex: 'Softbank/[12]\.0/([A-Za-z0-9]+)'-    device_replacement: 'Softbank $1'-    brand_replacement: 'Softbank'-    model_replacement: '$1'--  ##########-  # SonyEricsson-  ##########-  - regex: 'SonyEricsson ?([A-Za-z0-9\-]+)'-    device_replacement: 'Ericsson $1'-    brand_replacement: 'SonyEricsson'-    model_replacement: '$1'--  ##########-  # Sony-  ##########-  - regex: 'Android [^;]+; ([^ ]+) (Sony)/'-    device_replacement: '$2 $1'-    brand_replacement: '$2'-    model_replacement: '$1'-  - regex: '(Sony)(?:BDP\/|\/)?([^ /;\)]+)[ /;\)]'-    device_replacement: '$1 $2'-    brand_replacement: '$1'-    model_replacement: '$2'--  #########-  # Puffin Browser Device detect-  # A=Android, I=iOS, P=Phone, T=Tablet-  # AT=Android+Tablet-  #########-  - regex: 'Puffin/[\d\.]+IT'-    device_replacement: 'iPad'-    brand_replacement: 'Apple'-    model_replacement: 'iPad'-  - regex: 'Puffin/[\d\.]+IP'-    device_replacement: 'iPhone'-    brand_replacement: 'Apple'-    model_replacement: 'iPhone'-  - regex: 'Puffin/[\d\.]+AT'-    device_replacement: 'Generic Tablet'-    brand_replacement: 'Generic'-    model_replacement: 'Tablet'-  - regex: 'Puffin/[\d\.]+AP'-    device_replacement: 'Generic Smartphone'-    brand_replacement: 'Generic'-    model_replacement: 'Smartphone'--  #########-  # Android General Device Matching (far from perfect)-  #########-  - regex: 'Android[\- ][\d]+\.[\d]+; [A-Za-z]{2}\-[A-Za-z]{0,2}; WOWMobile (.+) Build[/ ]'-    brand_replacement: 'Generic_Android'-    model_replacement: '$1'-  - regex: 'Android[\- ][\d]+\.[\d]+\-update1; [A-Za-z]{2}\-[A-Za-z]{0,2} *; *(.+?) Build[/ ]'-    brand_replacement: 'Generic_Android'-    model_replacement: '$1'-  - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}; *[A-Za-z]{2}[_\-][A-Za-z]{0,2}\-? *; *(.+?) Build[/ ]'-    brand_replacement: 'Generic_Android'-    model_replacement: '$1'-  - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}; *[A-Za-z]{0,2}\- *; *(.+?) Build[/ ]'-    brand_replacement: 'Generic_Android'-    model_replacement: '$1'-  # No build info at all - "Build" follows locale immediately-  - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}; *[a-z]{0,2}[_\-]?[A-Za-z]{0,2};? Build[/ ]'-    device_replacement: 'Generic Smartphone'-    brand_replacement: 'Generic'-    model_replacement: 'Smartphone'-  - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}; *\-?[A-Za-z]{2}; *(.+?) Build[/ ]'-    brand_replacement: 'Generic_Android'-    model_replacement: '$1'-  - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}(?:;.*)?; *(.+?) Build[/ ]'-    brand_replacement: 'Generic_Android'-    model_replacement: '$1'--  ##########-  # Google TV-  ##########-  - regex: '(GoogleTV)'-    brand_replacement: 'Generic_Inettv'-    model_replacement: '$1'--  ##########-  # WebTV-  ##########-  - regex: '(WebTV)/\d+.\d+'-    brand_replacement: 'Generic_Inettv'-    model_replacement: '$1'-  # Roku Digital-Video-Players https://www.roku.com/-  - regex: '^(Roku)/DVP-\d+\.\d+'-    brand_replacement: 'Generic_Inettv'-    model_replacement: '$1'--  ##########-  # Generic Tablet-  ##########-  - regex: '(Android 3\.\d|Opera Tablet|Tablet; .+Firefox/|Android.*(?:Tab|Pad))'-    regex_flag: 'i'-    device_replacement: 'Generic Tablet'-    brand_replacement: 'Generic'-    model_replacement: 'Tablet'--  ##########-  # Generic Smart Phone-  ##########-  - regex: '(Symbian|\bS60(Version|V\d)|\bS60\b|\((Series 60|Windows Mobile|Palm OS|Bada); Opera Mini|Windows CE|Opera Mobi|BREW|Brew|Mobile; .+Firefox/|iPhone OS|Android|MobileSafari|Windows *Phone|\(webOS/|PalmOS)'-    device_replacement: 'Generic Smartphone'-    brand_replacement: 'Generic'-    model_replacement: 'Smartphone'-  - regex: '(hiptop|avantgo|plucker|xiino|blazer|elaine)'-    regex_flag: 'i'-    device_replacement: 'Generic Smartphone'-    brand_replacement: 'Generic'-    model_replacement: 'Smartphone'--  ##########-  # Spiders (this is hack...)-  ##########-  - regex: '(bot|zao|borg|DBot|oegp|silk|Xenu|zeal|^NING|CCBot|crawl|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|^Java/|^JNLP/|Daumoa|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|spider|msnbot|msrbot|vortex|^vortex|crawler|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|bingbot|BingPreview|openbot|gigabot|furlbot|polybot|seekbot|^voyager|archiver|Icarus6j|mogimogi|Netvibes|blitzbot|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|SeznamBot|ProoXiBot|wsr\-agent|Squrl Java|EtaoSpider|PaperLiBot|SputnikBot|A6\-Indexer|netresearch|searchsight|baiduspider|YisouSpider|ICC\-Crawler|http%20client|Python-urllib|dataparksearch|converacrawler|Screaming Frog|AppEngine-Google|YahooCacheSystem|fast\-webcrawler|Sogou Pic Spider|semanticdiscovery|Innovazion Crawler|facebookexternalhit|Google.*/\+/web/snippet|Google-HTTP-Java-Client|BlogBridge|IlTrovatore-Setaccio|InternetArchive|GomezAgent|WebThumbnail|heritrix|NewsGator|PagePeeker|Reaper|ZooShot|holmes|NL-Crawler|Pingdom|StatusCake|WhatsApp|masscan|Google Web Preview|Qwantify)'-    regex_flag: 'i'-    device_replacement: 'Spider'-    brand_replacement: 'Spider'-    model_replacement: 'Desktop'--  ##########-  # Generic Feature Phone-  # take care to do case insensitive matching-  ##########-  - regex: '^(1207|3gso|4thp|501i|502i|503i|504i|505i|506i|6310|6590|770s|802s|a wa|acer|acs\-|airn|alav|asus|attw|au\-m|aur |aus |abac|acoo|aiko|alco|alca|amoi|anex|anny|anyw|aptu|arch|argo|bmobile|bell|bird|bw\-n|bw\-u|beck|benq|bilb|blac|c55/|cdm\-|chtm|capi|comp|cond|dall|dbte|dc\-s|dica|ds\-d|ds12|dait|devi|dmob|doco|dopo|dorado|el(?:38|39|48|49|50|55|58|68)|el[3456]\d{2}dual|erk0|esl8|ex300|ez40|ez60|ez70|ezos|ezze|elai|emul|eric|ezwa|fake|fly\-|fly_|g\-mo|g1 u|g560|gf\-5|grun|gene|go.w|good|grad|hcit|hd\-m|hd\-p|hd\-t|hei\-|hp i|hpip|hs\-c|htc |htc\-|htca|htcg)'-    regex_flag: 'i'-    device_replacement: 'Generic Feature Phone'-    brand_replacement: 'Generic'-    model_replacement: 'Feature Phone'-  - regex: '^(htcp|htcs|htct|htc_|haie|hita|huaw|hutc|i\-20|i\-go|i\-ma|i\-mobile|i230|iac|iac\-|iac/|ig01|im1k|inno|iris|jata|kddi|kgt|kgt/|kpt |kwc\-|klon|lexi|lg g|lg\-a|lg\-b|lg\-c|lg\-d|lg\-f|lg\-g|lg\-k|lg\-l|lg\-m|lg\-o|lg\-p|lg\-s|lg\-t|lg\-u|lg\-w|lg/k|lg/l|lg/u|lg50|lg54|lge\-|lge/|leno|m1\-w|m3ga|m50/|maui|mc01|mc21|mcca|medi|meri|mio8|mioa|mo01|mo02|mode|modo|mot |mot\-|mt50|mtp1|mtv |mate|maxo|merc|mits|mobi|motv|mozz|n100|n101|n102|n202|n203|n300|n302|n500|n502|n505|n700|n701|n710|nec\-|nem\-|newg|neon)'-    regex_flag: 'i'-    device_replacement: 'Generic Feature Phone'-    brand_replacement: 'Generic'-    model_replacement: 'Feature Phone'-  - regex: '^(netf|noki|nzph|o2 x|o2\-x|opwv|owg1|opti|oran|ot\-s|p800|pand|pg\-1|pg\-2|pg\-3|pg\-6|pg\-8|pg\-c|pg13|phil|pn\-2|pt\-g|palm|pana|pire|pock|pose|psio|qa\-a|qc\-2|qc\-3|qc\-5|qc\-7|qc07|qc12|qc21|qc32|qc60|qci\-|qwap|qtek|r380|r600|raks|rim9|rove|s55/|sage|sams|sc01|sch\-|scp\-|sdk/|se47|sec\-|sec0|sec1|semc|sgh\-|shar|sie\-|sk\-0|sl45|slid|smb3|smt5|sp01|sph\-|spv |spv\-|sy01|samm|sany|sava|scoo|send|siem|smar|smit|soft|sony|t\-mo|t218|t250|t600|t610|t618|tcl\-|tdg\-|telm|tim\-|ts70|tsm\-|tsm3|tsm5|tx\-9|tagt)'-    regex_flag: 'i'-    device_replacement: 'Generic Feature Phone'-    brand_replacement: 'Generic'-    model_replacement: 'Feature Phone'-  - regex: '^(talk|teli|topl|tosh|up.b|upg1|utst|v400|v750|veri|vk\-v|vk40|vk50|vk52|vk53|vm40|vx98|virg|vertu|vite|voda|vulc|w3c |w3c\-|wapj|wapp|wapu|wapm|wig |wapi|wapr|wapv|wapy|wapa|waps|wapt|winc|winw|wonu|x700|xda2|xdag|yas\-|your|zte\-|zeto|aste|audi|avan|blaz|brew|brvw|bumb|ccwa|cell|cldc|cmd\-|dang|eml2|fetc|hipt|http|ibro|idea|ikom|ipaq|jbro|jemu|jigs|keji|kyoc|kyok|libw|m\-cr|midp|mmef|moto|mwbp|mywa|newt|nok6|o2im|pant|pdxg|play|pluc|port|prox|rozo|sama|seri|smal|symb|treo|upsi|vx52|vx53|vx60|vx61|vx70|vx80|vx81|vx83|vx85|wap\-|webc|whit|wmlb|xda\-|xda_)'-    regex_flag: 'i'-    device_replacement: 'Generic Feature Phone'-    brand_replacement: 'Generic'-    model_replacement: 'Feature Phone'-  - regex: '^(Ice)$'-    device_replacement: 'Generic Feature Phone'-    brand_replacement: 'Generic'-    model_replacement: 'Feature Phone'-  - regex: '(wap[\-\ ]browser|maui|netfront|obigo|teleca|up\.browser|midp|Opera Mini)'-    regex_flag: 'i'-    device_replacement: 'Generic Feature Phone'-    brand_replacement: 'Generic'-    model_replacement: 'Feature Phone'+  # ESRI Server products+  - regex: '(GeoEvent Server) (\d+)(?:\.(\d+)(?:\.(\d+)|)|)'++  # ESRI ArcGIS Desktop Products+  - regex: '(ArcGIS Pro)(?: (\d+)\.(\d+)\.([^ ]+)|)'++  - regex: 'ArcGIS Client Using WinInet'+    family_replacement: 'ArcMap'++  - regex: '(OperationsDashboard)-(?:Windows)-(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Operations Dashboard for ArcGIS'++  - regex: '(arcgisearth)/(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'ArcGIS Earth'++  - regex: 'com.esri.(earth).phone/(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'ArcGIS Earth'++  # ESRI ArcGIS Mobile Products+  - regex: '(arcgis-explorer)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Explorer for ArcGIS'++  - regex: 'arcgis-(collector|aurora)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Collector for ArcGIS'++  - regex: '(arcgis-workforce)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Workforce for ArcGIS'++  - regex: '(Collector|Explorer|Workforce)-(?:Android|iOS)-(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: '$1 for ArcGIS'++  - regex: '(Explorer|Collector)/(\d+) CFNetwork'+    family_replacement: '$1 for ArcGIS'++  # ESRI ArcGIS Runtimes+  - regex: 'ArcGISRuntime-(Android|iOS|NET|Qt)/(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'ArcGIS Runtime SDK for $1'++  - regex: 'ArcGIS\.?(iOS|Android|NET|Qt)(?:-|\.)(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'ArcGIS Runtime SDK for $1'+  +  - regex: 'ArcGIS\.Runtime\.(Qt)\.(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'ArcGIS Runtime SDK for $1'++  # CFNetwork Podcast catcher Applications+  - regex: '^(Luminary)[Stage]+/(\d+) CFNetwork'+  - regex: '(ESPN)[%20| ]+Radio/(\d+)\.(\d+)\.(\d+) CFNetwork'+  - regex: '(Antenna)/(\d+) CFNetwork'+    family_replacement: 'AntennaPod'+  - regex: '(TopPodcasts)Pro/(\d+) CFNetwork'+  - regex: '(MusicDownloader)Lite/(\d+)\.(\d+)\.(\d+) CFNetwork'+  - regex: '^(.*)-iPad\/(\d+)(?:\.(\d+)|)(?:\.(\d+)|)(?:\.(\d+)|) CFNetwork'+  - regex: '^(.*)-iPhone/(\d+)(?:\.(\d+)|)(?:\.(\d+)|)(?:\.(\d+)|) CFNetwork'+  - regex: '^(.*)/(\d+)(?:\.(\d+)|)(?:\.(\d+)|)(?:\.(\d+)|) CFNetwork'++  # Podcast catchers+  - regex: '^(Luminary)/(\d+)(?:\.(\d+)|)(?:\.(\d+)|)'+  - regex: '(espn\.go)'+    family_replacement: 'ESPN'+  - regex: '(espnradio\.com)'+    family_replacement: 'ESPN'+  - regex: 'ESPN APP$'+    family_replacement: 'ESPN'+  - regex: '(audioboom\.com)'+    family_replacement: 'AudioBoom'+  - regex: ' (Rivo) RHYTHM'++  # @note: iOS / OSX Applications+  - regex: '(CFNetwork)(?:/(\d+)\.(\d+)(?:\.(\d+)|)|)'+    family_replacement: 'CFNetwork'++  # Pingdom+  - regex: '(Pingdom\.com_bot_version_)(\d+)\.(\d+)'+    family_replacement: 'PingdomBot'+  # 'Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) PingdomTMS/0.8.5 Safari/534.34'+  - regex: '(PingdomTMS)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'PingdomBot'++  # PTST / WebPageTest.org crawlers+  - regex: ' (PTST)/(\d+)(?:\.(\d+)|)$'+    family_replacement: 'WebPageTest.org bot'++  # Datanyze.com spider+  - regex: 'X11; (Datanyze); Linux'++  # New Relic Pinger+  - regex: '(NewRelicPinger)/(\d+)\.(\d+)'+    family_replacement: 'NewRelicPingerBot'++  # Tableau+  - regex: '(Tableau)/(\d+)\.(\d+)'+    family_replacement: 'Tableau'++  # Adobe CreativeCloud+  - regex: 'AppleWebKit/\d+\.\d+.* Safari.* (CreativeCloud)/(\d+)\.(\d+).(\d+)'+    family_replacement: 'Adobe CreativeCloud'++  # Salesforce+  - regex: '(Salesforce)(?:.)\/(\d+)\.(\d?)'++  #StatusCake+  - regex: '(\(StatusCake\))'+    family_replacement: 'StatusCakeBot'++  # Facebook+  - regex: '(facebookexternalhit)/(\d+)\.(\d+)'+    family_replacement: 'FacebookBot'++  # Google Plus+  - regex: 'Google.*/\+/web/snippet'+    family_replacement: 'GooglePlusBot'++  # Gmail+  - regex: 'via ggpht\.com GoogleImageProxy'+    family_replacement: 'GmailImageProxy'++  # Yahoo+  - regex: 'YahooMailProxy; https://help\.yahoo\.com/kb/yahoo-mail-proxy-SLN28749\.html'+    family_replacement: 'YahooMailProxy'++  # Twitter+  - regex: '(Twitterbot)/(\d+)\.(\d+)'+    family_replacement: 'Twitterbot'++  # Bots Pattern 'name/0.0.0'+  - regex: '/((?:Ant-|)Nutch|[A-z]+[Bb]ot|[A-z]+[Ss]pider|Axtaris|fetchurl|Isara|ShopSalad|Tailsweep)[ \-](\d+)(?:\.(\d+)|)(?:\.(\d+)|)'+  # Bots Pattern 'name/0.0.0'+  - regex: '\b(008|Altresium|Argus|BaiduMobaider|BoardReader|DNSGroup|DataparkSearch|EDI|Goodzer|Grub|INGRID|Infohelfer|LinkedInBot|LOOQ|Nutch|OgScrper|PathDefender|Peew|PostPost|Steeler|Twitterbot|VSE|WebCrunch|WebZIP|Y!J-BR[A-Z]|YahooSeeker|envolk|sproose|wminer)/(\d+)(?:\.(\d+)|)(?:\.(\d+)|)'++  # MSIECrawler+  - regex: '(MSIE) (\d+)\.(\d+)([a-z]\d|[a-z]|);.* MSIECrawler'+    family_replacement: 'MSIECrawler'++  # DAVdroid+  - regex: '(DAVdroid)/(\d+)\.(\d+)(?:\.(\d+)|)'++  # Downloader ...+  - regex: '(Google-HTTP-Java-Client|Apache-HttpClient|Go-http-client|scalaj-http|http%20client|Python-urllib|HttpMonitor|TLSProber|WinHTTP|JNLP|okhttp|aihttp|reqwest|axios|unirest-(?:java|python|ruby|nodejs|php|net))(?:[ /](\d+)(?:\.(\d+)|)(?:\.(\d+)|)|)'++  # Pinterestbot+  - regex: '(Pinterest(?:bot|))/(\d+)(?:\.(\d+)|)(?:\.(\d+)|)[;\s(]+\+https://www.pinterest.com/bot.html'+    family_replacement: 'Pinterestbot'++  # Bots+  - regex: '(CSimpleSpider|Cityreview Robot|CrawlDaddy|CrawlFire|Finderbots|Index crawler|Job Roboter|KiwiStatus Spider|Lijit Crawler|QuerySeekerSpider|ScollSpider|Trends Crawler|USyd-NLP-Spider|SiteCat Webbot|BotName\/\$BotVersion|123metaspider-Bot|1470\.net crawler|50\.nu|8bo Crawler Bot|Aboundex|Accoona-[A-z]{1,30}-Agent|AdsBot-Google(?:-[a-z]{1,30}|)|altavista|AppEngine-Google|archive.{0,30}\.org_bot|archiver|Ask Jeeves|[Bb]ai[Dd]u[Ss]pider(?:-[A-Za-z]{1,30})(?:-[A-Za-z]{1,30}|)|bingbot|BingPreview|blitzbot|BlogBridge|Bloglovin|BoardReader Blog Indexer|BoardReader Favicon Fetcher|boitho.com-dc|BotSeer|BUbiNG|\b\w{0,30}favicon\w{0,30}\b|\bYeti(?:-[a-z]{1,30}|)|Catchpoint(?: bot|)|[Cc]harlotte|Checklinks|clumboot|Comodo HTTP\(S\) Crawler|Comodo-Webinspector-Crawler|ConveraCrawler|CRAWL-E|CrawlConvera|Daumoa(?:-feedfetcher|)|Feed Seeker Bot|Feedbin|findlinks|Flamingo_SearchEngine|FollowSite Bot|furlbot|Genieo|gigabot|GomezAgent|gonzo1|(?:[a-zA-Z]{1,30}-|)Googlebot(?:-[a-zA-Z]{1,30}|)|Google SketchUp|grub-client|gsa-crawler|heritrix|HiddenMarket|holmes|HooWWWer|htdig|ia_archiver|ICC-Crawler|Icarus6j|ichiro(?:/mobile|)|IconSurf|IlTrovatore(?:-Setaccio|)|InfuzApp|Innovazion Crawler|InternetArchive|IP2[a-z]{1,30}Bot|jbot\b|KaloogaBot|Kraken|Kurzor|larbin|LEIA|LesnikBot|Linguee Bot|LinkAider|LinkedInBot|Lite Bot|Llaut|lycos|Mail\.RU_Bot|masscan|masidani_bot|Mediapartners-Google|Microsoft .{0,30} Bot|mogimogi|mozDex|MJ12bot|msnbot(?:-media {0,2}|)|msrbot|Mtps Feed Aggregation System|netresearch|Netvibes|NewsGator[^/]{0,30}|^NING|Nutch[^/]{0,30}|Nymesis|ObjectsSearch|OgScrper|Orbiter|OOZBOT|PagePeeker|PagesInventory|PaxleFramework|Peeplo Screenshot Bot|PlantyNet_WebRobot|Pompos|Qwantify|Read%20Later|Reaper|RedCarpet|Retreiver|Riddler|Rival IQ|scooter|Scrapy|Scrubby|searchsight|seekbot|semanticdiscovery|SemrushBot|Simpy|SimplePie|SEOstats|SimpleRSS|SiteCon|Slackbot-LinkExpanding|Slack-ImgProxy|Slurp|snappy|Speedy Spider|Squrl Java|Stringer|TheUsefulbot|ThumbShotsBot|Thumbshots\.ru|Tiny Tiny RSS|Twitterbot|WhatsApp|URL2PNG|Vagabondo|VoilaBot|^vortex|Votay bot|^voyager|WASALive.Bot|Web-sniffer|WebThumb|WeSEE:[A-z]{1,30}|WhatWeb|WIRE|WordPress|Wotbox|www\.almaden\.ibm\.com|Xenu(?:.s|) Link Sleuth|Xerka [A-z]{1,30}Bot|yacy(?:bot|)|YahooSeeker|Yahoo! Slurp|Yandex\w{1,30}|YodaoBot(?:-[A-z]{1,30}|)|YottaaMonitor|Yowedo|^Zao|^Zao-Crawler|ZeBot_www\.ze\.bz|ZooShot|ZyBorg|ArcGIS Hub Indexer)(?:[ /]v?(\d+)(?:\.(\d+)(?:\.(\d+)|)|)|)'++  # AWS S3 Clients+  # must come before "Bots General matcher" to catch "boto"/"boto3" before "bot"+  - regex: '\b(Boto3?|JetS3t|aws-(?:cli|sdk-(?:cpp|go|java|nodejs|ruby2?|dotnet-(?:\d{1,2}|core)))|s3fs)/(\d+)\.(\d+)(?:\.(\d+)|)'++  # SAFE FME+  - regex: '(FME)\/(\d+\.\d+)\.(\d+)\.(\d+)'++  # QGIS+  - regex: '(QGIS)\/(\d)\.?0?(\d{1,2})\.?0?(\d{1,2})'++  # JOSM+  - regex: '(JOSM)/(\d+)\.(\d+)'++  # Tygron Platform+  - regex: '(Tygron Platform) \((\d+)\.(\d+)\.(\d+(?:\.\d+| RC \d+\.\d+))'++  # Facebook+  # Must come before "Bots General matcher" to catch OrangeBotswana+  # Facebook Messenger must go before Facebook+  - regex: '\[(FBAN/MessengerForiOS|FB_IAB/MESSENGER);FBAV/(\d+)(?:\.(\d+)(?:\.(\d+)|)|)'+    family_replacement: 'Facebook Messenger'+  # Facebook+  - regex: '\[FB.*;(FBAV)/(\d+)(?:\.(\d+)|)(?:\.(\d+)|)'+    family_replacement: 'Facebook'+  # Sometimes Facebook does not specify a version (FBAV)+  - regex: '\[FB.*;'+    family_replacement: 'Facebook'++  # Bots General matcher 'name/0.0'+  - regex: '(?:\/[A-Za-z0-9\.]+|) {0,5}([A-Za-z0-9 \-_\!\[\]:]{0,50}(?:[Aa]rchiver|[Ii]ndexer|[Ss]craper|[Bb]ot|[Ss]pider|[Cc]rawl[a-z]{0,50}))[/ ](\d+)(?:\.(\d+)(?:\.(\d+)|)|)'+  # Bots containing bot(but not CUBOT)+  - regex: '((?:[A-Za-z][A-Za-z0-9 -]{0,50}|)[^C][^Uu][Bb]ot)\b(?:(?:[ /]| v)(\d+)(?:\.(\d+)|)(?:\.(\d+)|)|)'+  # Bots containing spider|scrape|Crawl+  - regex: '((?:[A-z0-9]{1,50}|[A-z\-]{1,50} ?|)(?: the |)(?:[Ss][Pp][Ii][Dd][Ee][Rr]|[Ss]crape|[Cc][Rr][Aa][Ww][Ll])[A-z0-9]{0,50})(?:(?:[ /]| v)(\d+)(?:\.(\d+)|)(?:\.(\d+)|)|)'++  # HbbTV standard defines what features the browser should understand.+  # but it's like targeting "HTML5 browsers", effective browser support depends on the model+  # See os_parsers if you want to target a specific TV+  - regex: '(HbbTV)/(\d+)\.(\d+)\.(\d+) \('++  # must go before Firefox to catch Chimera/SeaMonkey/Camino/Waterfox+  - regex: '(Chimera|SeaMonkey|Camino|Waterfox)/(\d+)\.(\d+)\.?([ab]?\d+[a-z]*|)'++  # must be before Firefox / Gecko to catch SailfishBrowser properly+  - regex: '(SailfishBrowser)/(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'Sailfish Browser'++  # Social Networks (non-Facebook)+  # Pinterest+  - regex: '\[(Pinterest)/[^\]]+\]'+  - regex: '(Pinterest)(?: for Android(?: Tablet|)|)/(\d+)(?:\.(\d+)|)(?:\.(\d+)|)'+  # Instagram app+  - regex: 'Mozilla.*Mobile.*(Instagram).(\d+)\.(\d+)\.(\d+)'+  # Flipboard app+  - regex: 'Mozilla.*Mobile.*(Flipboard).(\d+)\.(\d+)\.(\d+)'+  # Flipboard-briefing app+  - regex: 'Mozilla.*Mobile.*(Flipboard-Briefing).(\d+)\.(\d+)\.(\d+)'+  # Onefootball app+  - regex: 'Mozilla.*Mobile.*(Onefootball)\/Android.(\d+)\.(\d+)\.(\d+)'+  # Snapchat+  - regex: '(Snapchat)\/(\d+)\.(\d+)\.(\d+)\.(\d+)'+  # Twitter+  - regex: '(Twitter for (?:iPhone|iPad)|TwitterAndroid)(?:\/(\d+)\.(\d+)|)'+    family_replacement: 'Twitter'++  # aspiegel.com spider (owned by Huawei)+  - regex: 'Mozilla.*Mobile.*AspiegelBot'+    family_replacement: 'Spider'+    brand_replacement: 'Spider'+    model_replacement: 'Smartphone'++  - regex: 'AspiegelBot'+    family_replacement: 'Spider'+    brand_replacement: 'Spider'+    model_replacement: 'Desktop'++  # Basilisk+  - regex: '(Firefox)/(\d+)\.(\d+) Basilisk/(\d+)'+    family_replacement: 'Basilisk'++  # Pale Moon+  - regex: '(PaleMoon)/(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'Pale Moon'++  # Firefox+  - regex: '(Fennec)/(\d+)\.(\d+)\.?([ab]?\d+[a-z]*)'+    family_replacement: 'Firefox Mobile'+  - regex: '(Fennec)/(\d+)\.(\d+)(pre)'+    family_replacement: 'Firefox Mobile'+  - regex: '(Fennec)/(\d+)\.(\d+)'+    family_replacement: 'Firefox Mobile'+  - regex: '(?:Mobile|Tablet);.*(Firefox)/(\d+)\.(\d+)'+    family_replacement: 'Firefox Mobile'+  - regex: '(Namoroka|Shiretoko|Minefield)/(\d+)\.(\d+)\.(\d+(?:pre|))'+    family_replacement: 'Firefox ($1)'+  - regex: '(Firefox)/(\d+)\.(\d+)(a\d+[a-z]*)'+    family_replacement: 'Firefox Alpha'+  - regex: '(Firefox)/(\d+)\.(\d+)(b\d+[a-z]*)'+    family_replacement: 'Firefox Beta'+  - regex: '(Firefox)-(?:\d+\.\d+|)/(\d+)\.(\d+)(a\d+[a-z]*)'+    family_replacement: 'Firefox Alpha'+  - regex: '(Firefox)-(?:\d+\.\d+|)/(\d+)\.(\d+)(b\d+[a-z]*)'+    family_replacement: 'Firefox Beta'+  - regex: '(Namoroka|Shiretoko|Minefield)/(\d+)\.(\d+)([ab]\d+[a-z]*|)'+    family_replacement: 'Firefox ($1)'+  - regex: '(Firefox).*Tablet browser (\d+)\.(\d+)\.(\d+)'+    family_replacement: 'MicroB'+  - regex: '(MozillaDeveloperPreview)/(\d+)\.(\d+)([ab]\d+[a-z]*|)'+  - regex: '(FxiOS)/(\d+)\.(\d+)(\.(\d+)|)(\.(\d+)|)'+    family_replacement: 'Firefox iOS'++  # e.g.: Flock/2.0b2+  - regex: '(Flock)/(\d+)\.(\d+)(b\d+?)'++  # RockMelt+  - regex: '(RockMelt)/(\d+)\.(\d+)\.(\d+)'++  # e.g.: Fennec/0.9pre+  - regex: '(Navigator)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Netscape'++  - regex: '(Navigator)/(\d+)\.(\d+)([ab]\d+)'+    family_replacement: 'Netscape'++  - regex: '(Netscape6)/(\d+)\.(\d+)\.?([ab]?\d+|)'+    family_replacement: 'Netscape'++  - regex: '(MyIBrow)/(\d+)\.(\d+)'+    family_replacement: 'My Internet Browser'++  # UC Browser+  # we need check it before opera. In other case case UC Browser detected look like Opera Mini+  - regex: '(UC? ?Browser|UCWEB|U3)[ /]?(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'UC Browser'++  # Opera will stop at 9.80 and hide the real version in the Version string.+  # see: http://dev.opera.com/articles/view/opera-ua-string-changes/+  - regex: '(Opera Tablet).*Version/(\d+)\.(\d+)(?:\.(\d+)|)'+  - regex: '(Opera Mini)(?:/att|)/?(\d+|)(?:\.(\d+)|)(?:\.(\d+)|)'+  - regex: '(Opera)/.+Opera Mobi.+Version/(\d+)\.(\d+)'+    family_replacement: 'Opera Mobile'+  - regex: '(Opera)/(\d+)\.(\d+).+Opera Mobi'+    family_replacement: 'Opera Mobile'+  - regex: 'Opera Mobi.+(Opera)(?:/|\s+)(\d+)\.(\d+)'+    family_replacement: 'Opera Mobile'+  - regex: 'Opera Mobi'+    family_replacement: 'Opera Mobile'+  - regex: '(Opera)/9.80.*Version/(\d+)\.(\d+)(?:\.(\d+)|)'++  # Opera 14 for Android uses a WebKit render engine.+  - regex: '(?:Mobile Safari).*(OPR)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Opera Mobile'++  # Opera >=15 for Desktop is similar to Chrome but includes an "OPR" Version string.+  - regex: '(?:Chrome).*(OPR)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Opera'++  # Opera Coast+  - regex: '(Coast)/(\d+).(\d+).(\d+)'+    family_replacement: 'Opera Coast'++  # Opera Mini for iOS (from version 8.0.0)+  - regex: '(OPiOS)/(\d+).(\d+).(\d+)'+    family_replacement: 'Opera Mini'++  # Opera Neon+  - regex: 'Chrome/.+( MMS)/(\d+).(\d+).(\d+)'+    family_replacement: 'Opera Neon'++  # Palm WebOS looks a lot like Safari.+  - regex: '(hpw|web)OS/(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'webOS Browser'++  # LuaKit has no version info.+  # http://luakit.org/projects/luakit/+  - regex: '(luakit)'+    family_replacement: 'LuaKit'++  # Snowshoe+  - regex: '(Snowshoe)/(\d+)\.(\d+).(\d+)'++  # Lightning (for Thunderbird)+  # http://www.mozilla.org/projects/calendar/lightning/+  - regex: 'Gecko/\d+ (Lightning)/(\d+)\.(\d+)\.?((?:[ab]?\d+[a-z]*)|(?:\d*))'++  # Swiftfox+  - regex: '(Firefox)/(\d+)\.(\d+)\.(\d+(?:pre|)) \(Swiftfox\)'+    family_replacement: 'Swiftfox'+  - regex: '(Firefox)/(\d+)\.(\d+)([ab]\d+[a-z]*|) \(Swiftfox\)'+    family_replacement: 'Swiftfox'++  # Rekonq+  - regex: '(rekonq)/(\d+)\.(\d+)(?:\.(\d+)|) Safari'+    family_replacement: 'Rekonq'+  - regex: 'rekonq'+    family_replacement: 'Rekonq'++  # Conkeror lowercase/uppercase+  # http://conkeror.org/+  - regex: '(conkeror|Conkeror)/(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'Conkeror'++  # catches lower case konqueror+  - regex: '(konqueror)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Konqueror'++  - regex: '(WeTab)-Browser'++  - regex: '(Comodo_Dragon)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Comodo Dragon'++  - regex: '(Symphony) (\d+).(\d+)'++  - regex: 'PLAYSTATION 3.+WebKit'+    family_replacement: 'NetFront NX'+  - regex: 'PLAYSTATION 3'+    family_replacement: 'NetFront'+  - regex: '(PlayStation Portable)'+    family_replacement: 'NetFront'+  - regex: '(PlayStation Vita)'+    family_replacement: 'NetFront NX'++  - regex: 'AppleWebKit.+ (NX)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'NetFront NX'+  - regex: '(Nintendo 3DS)'+    family_replacement: 'NetFront NX'++  # Amazon Silk, should go before Safari and Chrome Mobile+  - regex: '(Silk)/(\d+)\.(\d+)(?:\.([0-9\-]+)|)'+    family_replacement: 'Amazon Silk'++  # @ref: http://www.puffinbrowser.com+  - regex: '(Puffin)/(\d+)\.(\d+)(?:\.(\d+)|)'++  # Edge Mobile+  - regex: 'Windows Phone .*(Edge)/(\d+)\.(\d+)'+    family_replacement: 'Edge Mobile'+  - regex: '(EdgiOS|EdgA)/(\d+)\.(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Edge Mobile'++  # Samsung Internet (based on Chrome, but lacking some features)+  - regex: '(SamsungBrowser)/(\d+)\.(\d+)'+    family_replacement: 'Samsung Internet'++  # Seznam.cz browser (based on WebKit)+  - regex: '(SznProhlizec)/(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'Seznam prohlížeč'++  # Coc Coc browser, based on Chrome (used in Vietnam)+  - regex: '(coc_coc_browser)/(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'Coc Coc'++  # Baidu Browsers (desktop spoofs chrome & IE, explorer is mobile)+  - regex: '(baidubrowser)[/\s](\d+)(?:\.(\d+)|)(?:\.(\d+)|)'+    family_replacement: 'Baidu Browser'+  - regex: '(FlyFlow)/(\d+)\.(\d+)'+    family_replacement: 'Baidu Explorer'++  # MxBrowser is Maxthon. Must go before Mobile Chrome for Android+  - regex: '(MxBrowser)/(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'Maxthon'++  # Crosswalk must go before Mobile Chrome for Android+  - regex: '(Crosswalk)/(\d+)\.(\d+)\.(\d+)\.(\d+)'++  # LINE https://line.me/en/+  # Must go before Mobile Chrome for Android+  - regex: '(Line)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'LINE'++  # MiuiBrowser should got before Mobile Chrome for Android+  - regex: '(MiuiBrowser)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'MiuiBrowser'++  # Mint Browser should got before Mobile Chrome for Android+  - regex: '(Mint Browser)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Mint Browser'++  # TopBuzz Android must go before Chrome Mobile WebView+  - regex: '(TopBuzz)/(\d+).(\d+).(\d+)'+    family_replacement: 'TopBuzz'++  # Google Search App on Android, eg:+  - regex: 'Mozilla.+Android.+(GSA)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Google'++  # QQ Browsers+  - regex: '(MQQBrowser/Mini)(?:(\d+)(?:\.(\d+)|)(?:\.(\d+)|)|)'+    family_replacement: 'QQ Browser Mini'+  - regex: '(MQQBrowser)(?:/(\d+)(?:\.(\d+)|)(?:\.(\d+)|)|)'+    family_replacement: 'QQ Browser Mobile'+  - regex: '(QQBrowser)(?:/(\d+)(?:\.(\d+)\.(\d+)(?:\.(\d+)|)|)|)'+    family_replacement: 'QQ Browser'++  # Chrome Mobile+  - regex: 'Version/.+(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Chrome Mobile WebView'+  - regex: '; wv\).+(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Chrome Mobile WebView'+  - regex: '(CrMo)/(\d+)\.(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Chrome Mobile'+  - regex: '(CriOS)/(\d+)\.(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Chrome Mobile iOS'+  - regex: '(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+) Mobile(?:[ /]|$)'+    family_replacement: 'Chrome Mobile'+  - regex: ' Mobile .*(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Chrome Mobile'++  # Chrome Frame must come before MSIE.+  - regex: '(chromeframe)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Chrome Frame'++  # Tizen Browser (second case included in browser/major.minor regex)+  - regex: '(SLP Browser)/(\d+)\.(\d+)'+    family_replacement: 'Tizen Browser'++  # Sogou Explorer 2.X+  - regex: '(SE 2\.X) MetaSr (\d+)\.(\d+)'+    family_replacement: 'Sogou Explorer'++  # Rackspace Monitoring+  - regex: '(Rackspace Monitoring)/(\d+)\.(\d+)'+    family_replacement: 'RackspaceBot'++  # PRTG Network Monitoring+  - regex: '(PRTG Network Monitor)'++  # PyAMF+  - regex: '(PyAMF)/(\d+)\.(\d+)\.(\d+)'++  # Yandex Browser+  - regex: '(YaBrowser)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Yandex Browser'++  # Mail.ru Amigo/Internet Browser (Chromium-based)+  - regex: '(Chrome)/(\d+)\.(\d+)\.(\d+).* MRCHROME'+    family_replacement: 'Mail.ru Chromium Browser'++  # AOL Browser (IE-based)+  - regex: '(AOL) (\d+)\.(\d+); AOLBuild (\d+)'++  # Podcast catcher Applications using iTunes+  - regex: '(PodCruncher|Downcast)[ /]?(\d+)(?:\.(\d+)|)(?:\.(\d+)|)(?:\.(\d+)|)'++  # Box Notes https://www.box.com/resources/downloads+  # Must be before Electron+  - regex: ' (BoxNotes)/(\d+)\.(\d+)\.(\d+)'++  # Whale+  - regex: '(Whale)/(\d+)\.(\d+)\.(\d+)\.(\d+) Mobile(?:[ /]|$)'+    family_replacement: 'Whale'++  - regex: '(Whale)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Whale'++  # 1Password+  - regex: '(1Password)/(\d+)\.(\d+)\.(\d+)'++  # Ghost+  # @ref: http://www.ghost.org+  - regex: '(Ghost)/(\d+)\.(\d+)\.(\d+)'++  #### END SPECIAL CASES TOP ####++  #### MAIN CASES - this catches > 50% of all browsers ####+++  # Slack desktop client (needs to be before Apple Mail, Electron, and Chrome as it gets wrongly detected on Mac OS otherwise)+  - regex: '(Slack_SSB)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Slack Desktop Client'++  # HipChat provides a version on Mac, but not on Windows.+  # Needs to be before Chrome on Windows, and AppleMail on Mac.+  - regex: '(HipChat)/?(\d+|)'+    family_replacement: 'HipChat Desktop Client'++  # Browser/major_version.minor_version.beta_version+  - regex: '\b(MobileIron|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Epiphany|Shiira|Sunrise|Spotify|Flock|Netscape|Lunascape|WebPilot|NetFront|Netfront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|ThunderBrowse|Iris|UP\.Browser|Bunjalloo|Google Earth|Raven for Mac|Openwave|MacOutlook|Electron|OktaMobile)/(\d+)\.(\d+)\.(\d+)'++  # Outlook 2007+  - regex: 'Microsoft Office Outlook 12\.\d+\.\d+|MSOffice 12'+    family_replacement: 'Outlook'+    v1_replacement: '2007'++  # Outlook 2010+  - regex: 'Microsoft Outlook 14\.\d+\.\d+|MSOffice 14'+    family_replacement: 'Outlook'+    v1_replacement: '2010'++  # Outlook 2013+  - regex: 'Microsoft Outlook 15\.\d+\.\d+'+    family_replacement: 'Outlook'+    v1_replacement: '2013'++  # Outlook 2016+  - regex: 'Microsoft Outlook (?:Mail )?16\.\d+\.\d+|MSOffice 16'+    family_replacement: 'Outlook'+    v1_replacement: '2016'++  # Word 2014+  - regex: 'Microsoft Office (Word) 2014'++  # Windows Live Mail+  - regex: 'Outlook-Express\/7\.0.*'+    family_replacement: 'Windows Live Mail'++  # Apple Air Mail+  - regex: '(Airmail) (\d+)\.(\d+)(?:\.(\d+)|)'++  # Thunderbird+  - regex: '(Thunderbird)/(\d+)\.(\d+)(?:\.(\d+(?:pre|))|)'+    family_replacement: 'Thunderbird'++  # Postbox+  - regex: '(Postbox)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Postbox'++  # Barca+  - regex: '(Barca(?:Pro)?)/(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'Barca'++  # Lotus Notes+  - regex: '(Lotus-Notes)/(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'Lotus Notes'++  # Superhuman Mail Client+  # @ref: https://www.superhuman.com+  - regex: 'Superhuman'+    family_replacement: 'Superhuman'++  # Vivaldi uses "Vivaldi"+  - regex: '(Vivaldi)/(\d+)\.(\d+)\.(\d+)'++  # Edge/major_version.minor_version+  # Edge with chromium Edg/major_version.minor_version.patch.minor_patch+  - regex: '(Edge?)/(\d+)(?:\.(\d+)|)(?:\.(\d+)|)(?:\.(\d+)|)'+    family_replacement: 'Edge'++  # Brave Browser https://brave.com/+  - regex: '(brave)/(\d+)\.(\d+)\.(\d+) Chrome'+    family_replacement: 'Brave'++  # Iron Browser ~since version 50+  - regex: '(Chrome)/(\d+)\.(\d+)\.(\d+)[\d.]* Iron[^/]'+    family_replacement: 'Iron'++  # Dolphin Browser+  # @ref: http://www.dolphin.com+  - regex: '\b(Dolphin)(?: |HDCN/|/INT\-)(\d+)\.(\d+)(?:\.(\d+)|)'++  # Headless Chrome+  # https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md+  - regex: '(HeadlessChrome)(?:/(\d+)\.(\d+)\.(\d+)|)'++  # Evolution Mail CardDav/CalDav integration+  - regex: '(Evolution)/(\d+)\.(\d+)\.(\d+\.\d+)'++  # Roundcube Mail CardDav plugin+  - regex: '(RCM CardDAV plugin)/(\d+)\.(\d+)\.(\d+(?:-dev|))'++  # Browser/major_version.minor_version+  - regex: '(bingbot|Bolt|AdobeAIR|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|NetFront|Netfront|Konqueror|Googlebot|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|iTunes|MacAppStore|NetNewsWire|Space Bison|Stainless|Orca|Dolfin|BOLT|Minimo|Tizen Browser|Polaris|Abrowser|Planetweb|ICE Browser|mDolphin|qutebrowser|Otter|QupZilla|MailBar|kmail2|YahooMobileMail|ExchangeWebServices|ExchangeServicesClient|Dragon|Outlook-iOS-Android)/(\d+)\.(\d+)(?:\.(\d+)|)'++  # Chrome/Chromium/major_version.minor_version+  - regex: '(Chromium|Chrome)/(\d+)\.(\d+)(?:\.(\d+)|)(?:\.(\d+)|)'++  ##########+  # IE Mobile needs to happen before Android to catch cases such as:+  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920)...+  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; ANZ821)...+  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; Orange)...+  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; Vodafone)...+  ##########++  # IE Mobile+  - regex: '(IEMobile)[ /](\d+)\.(\d+)'+    family_replacement: 'IE Mobile'++  # Baca Berita App News Reader+  - regex: '(BacaBerita App)\/(\d+)\.(\d+)\.(\d+)'++  # Podcast catchers+  - regex: '^(bPod|Pocket Casts|Player FM)$'+  - regex: '^(AlexaMediaPlayer|VLC)/(\d+)\.(\d+)\.([^.\s]+)'+  - regex: '^(AntennaPod|WMPlayer|Zune|Podkicker|Radio|ExoPlayerDemo|Overcast|PocketTunes|NSPlayer|okhttp|DoggCatcher|QuickNews|QuickTime|Peapod|Podcasts|GoldenPod|VLC|Spotify|Miro|MediaGo|Juice|iPodder|gPodder|Banshee)/(\d+)\.(\d+)(?:\.(\d+)|)(?:\.(\d+)|)'+  - regex: '^(Peapod|Liferea)/([^.\s]+)\.([^.\s]+|)\.?([^.\s]+|)'+  - regex: '^(bPod|Player FM) BMID/(\S+)'+  - regex: '^(Podcast ?Addict)/v(\d+) '+  - regex: '^(Podcast ?Addict) '+    family_replacement: 'PodcastAddict'+  - regex: '(Replay) AV'+  - regex: '(VOX) Music Player'+  - regex: '(CITA) RSS Aggregator/(\d+)\.(\d+)'+  - regex: '(Pocket Casts)$'+  - regex: '(Player FM)$'+  - regex: '(LG Player|Doppler|FancyMusic|MediaMonkey|Clementine) (\d+)\.(\d+)\.?([^.\s]+|)\.?([^.\s]+|)'+  - regex: '(philpodder)/(\d+)\.(\d+)\.?([^.\s]+|)\.?([^.\s]+|)'+  - regex: '(Player FM|Pocket Casts|DoggCatcher|Spotify|MediaMonkey|MediaGo|BashPodder)'+  - regex: '(QuickTime)\.(\d+)\.(\d+)\.(\d+)'+  - regex: '(Kinoma)(\d+)'+  - regex: '(Fancy) Cloud Music (\d+)\.(\d+)'+    family_replacement: 'FancyMusic'+  - regex: 'EspnDownloadManager'+    family_replacement: 'ESPN'+  - regex: '(ESPN) Radio (\d+)\.(\d+)(?:\.(\d+)|) ?(?:rv:(\d+)|) '+  - regex: '(podracer|jPodder) v ?(\d+)\.(\d+)(?:\.(\d+)|)'+  - regex: '(ZDM)/(\d+)\.(\d+)[; ]?'+  - regex: '(Zune|BeyondPod) (\d+)(?:\.(\d+)|)[\);]'+  - regex: '(WMPlayer)/(\d+)\.(\d+)\.(\d+)\.(\d+)'+  - regex: '^(Lavf)'+    family_replacement: 'WMPlayer'+  - regex: '^(RSSRadio)[ /]?(\d+|)'+  - regex: '(RSS_Radio) (\d+)\.(\d+)'+    family_replacement: 'RSSRadio'+  - regex: '(Podkicker) \S+/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Podkicker'+  - regex: '^(HTC) Streaming Player \S+ / \S+ / \S+ / (\d+)\.(\d+)(?:\.(\d+)|)'+  - regex: '^(Stitcher)/iOS'+  - regex: '^(Stitcher)/Android'+  - regex: '^(VLC) .*version (\d+)\.(\d+)\.(\d+)'+  - regex: ' (VLC) for'+  - regex: '(vlc)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'VLC'+  - regex: '^(foobar)\S+/([^.\s]+)\.([^.\s]+|)\.?([^.\s]+|)'+  - regex: '^(Clementine)\S+ ([^.\s]+)\.([^.\s]+|)\.?([^.\s]+|)'+  - regex: '(amarok)/([^.\s]+)\.([^.\s]+|)\.?([^.\s]+|)'+    family_replacement: 'Amarok'+  - regex: '(Custom)-Feed Reader'++  # Browser major_version.minor_version.beta_version (space instead of slash)+  - regex: '(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\d+)\.(\d+)\.(\d+)'+  # Browser major_version.minor_version (space instead of slash)+  - regex: '(iCab|Lunascape|Opera|Android|Jasmine|Polaris|Microsoft SkyDriveSync|The Bat!) (\d+)(?:\.(\d+)|)(?:\.(\d+)|)'++  # Kindle WebKit+  - regex: '(Kindle)/(\d+)\.(\d+)'++  # weird android UAs+  - regex: '(Android) Donut'+    v1_replacement: '1'+    v2_replacement: '2'++  - regex: '(Android) Eclair'+    v1_replacement: '2'+    v2_replacement: '1'++  - regex: '(Android) Froyo'+    v1_replacement: '2'+    v2_replacement: '2'++  - regex: '(Android) Gingerbread'+    v1_replacement: '2'+    v2_replacement: '3'++  - regex: '(Android) Honeycomb'+    v1_replacement: '3'++  # desktop mode+  # http://www.anandtech.com/show/3982/windows-phone-7-review+  - regex: '(MSIE) (\d+)\.(\d+).*XBLWP7'+    family_replacement: 'IE Large Screen'++  # Nextcloud desktop sync client+  - regex: '(Nextcloud)'++  # Generic mirall client+  - regex: '(mirall)/(\d+)\.(\d+)\.(\d+)'++  # Nextcloud/Owncloud android client+  - regex: '(ownCloud-android)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Owncloud'++  # Skype for Business+  - regex: '(OC)/(\d+)\.(\d+)\.(\d+)\.(\d+) \(Skype for Business\)'+    family_replacement: 'Skype'++  #### END MAIN CASES ####++  #### SPECIAL CASES ####+  - regex: '(Obigo)InternetBrowser'+  - regex: '(Obigo)\-Browser'+  - regex: '(Obigo|OBIGO)[^\d]*(\d+)(?:.(\d+)|)'+    family_replacement: 'Obigo'++  - regex: '(MAXTHON|Maxthon) (\d+)\.(\d+)'+    family_replacement: 'Maxthon'+  - regex: '(Maxthon|MyIE2|Uzbl|Shiira)'+    v1_replacement: '0'++  - regex: '(BrowseX) \((\d+)\.(\d+)\.(\d+)'++  - regex: '(NCSA_Mosaic)/(\d+)\.(\d+)'+    family_replacement: 'NCSA Mosaic'++  # Polaris/d.d is above+  - regex: '(POLARIS)/(\d+)\.(\d+)'+    family_replacement: 'Polaris'+  - regex: '(Embider)/(\d+)\.(\d+)'+    family_replacement: 'Polaris'++  - regex: '(BonEcho)/(\d+)\.(\d+)\.?([ab]?\d+|)'+    family_replacement: 'Bon Echo'++    # topbuzz on IOS+  - regex: '(TopBuzz) com.alex.NewsMaster/(\d+).(\d+).(\d+)'+    family_replacement: 'TopBuzz'+  - regex: '(TopBuzz) com.mobilesrepublic.newsrepublic/(\d+).(\d+).(\d+)'+    family_replacement: 'TopBuzz'+  - regex: '(TopBuzz) com.topbuzz.videoen/(\d+).(\d+).(\d+)'+    family_replacement: 'TopBuzz'++  # @note: iOS / OSX Applications+  - regex: '(iPod|iPhone|iPad).+GSA/(\d+)\.(\d+)\.(\d+)(?:\.(\d+)|) Mobile'+    family_replacement: 'Google'+  - regex: '(iPod|iPhone|iPad).+Version/(\d+)\.(\d+)(?:\.(\d+)|).*[ +]Safari'+    family_replacement: 'Mobile Safari'+  - regex: '(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\d+)_(\d+)(?:_(\d+)|).* AppleNews\/\d+\.\d+\.\d+?'+    family_replacement: 'Mobile Safari UI/WKWebView'+  - regex: '(iPod|iPhone|iPad).+Version/(\d+)\.(\d+)(?:\.(\d+)|)'+    family_replacement: 'Mobile Safari UI/WKWebView'+  - regex: '(iPod|iPod touch|iPhone|iPad).* Safari'+    family_replacement: 'Mobile Safari'+  - regex: '(iPod|iPod touch|iPhone|iPad)'+    family_replacement: 'Mobile Safari UI/WKWebView'+  - regex: '(Watch)(\d+),(\d+)'+    family_replacement: 'Apple $1 App'++  ##########################+  # Outlook on iOS >= 2.62.0+  ##########################+  - regex: '(Outlook-iOS)/\d+\.\d+\.prod\.iphone \((\d+)\.(\d+)\.(\d+)\)'++  - regex: '(AvantGo) (\d+).(\d+)'++  - regex: '(OneBrowser)/(\d+).(\d+)'+    family_replacement: 'ONE Browser'++  - regex: '(Avant)'+    v1_replacement: '1'++  # This is the Tesla Model S (see similar entry in device parsers)+  - regex: '(QtCarBrowser)'+    v1_replacement: '1'++  - regex: '^(iBrowser/Mini)(\d+).(\d+)'+    family_replacement: 'iBrowser Mini'+  - regex: '^(iBrowser|iRAPP)/(\d+).(\d+)'++  # nokia browsers+  # based on: http://www.developer.nokia.com/Community/Wiki/User-Agent_headers_for_Nokia_devices+  - regex: '^(Nokia)'+    family_replacement: 'Nokia Services (WAP) Browser'+  - regex: '(NokiaBrowser)/(\d+)\.(\d+).(\d+)\.(\d+)'+    family_replacement: 'Nokia Browser'+  - regex: '(NokiaBrowser)/(\d+)\.(\d+).(\d+)'+    family_replacement: 'Nokia Browser'+  - regex: '(NokiaBrowser)/(\d+)\.(\d+)'+    family_replacement: 'Nokia Browser'+  - regex: '(BrowserNG)/(\d+)\.(\d+).(\d+)'+    family_replacement: 'Nokia Browser'+  - regex: '(Series60)/5\.0'+    family_replacement: 'Nokia Browser'+    v1_replacement: '7'+    v2_replacement: '0'+  - regex: '(Series60)/(\d+)\.(\d+)'+    family_replacement: 'Nokia OSS Browser'+  - regex: '(S40OviBrowser)/(\d+)\.(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Ovi Browser'+  - regex: '(Nokia)[EN]?(\d+)'++  # BlackBerry devices+  - regex: '(PlayBook).+RIM Tablet OS (\d+)\.(\d+)\.(\d+)'+    family_replacement: 'BlackBerry WebKit'+  - regex: '(Black[bB]erry|BB10).+Version/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'BlackBerry WebKit'+  - regex: '(Black[bB]erry)\s?(\d+)'+    family_replacement: 'BlackBerry'++  - regex: '(OmniWeb)/v(\d+)\.(\d+)'++  - regex: '(Blazer)/(\d+)\.(\d+)'+    family_replacement: 'Palm Blazer'++  - regex: '(Pre)/(\d+)\.(\d+)'+    family_replacement: 'Palm Pre'++  # fork of Links+  - regex: '(ELinks)/(\d+)\.(\d+)'+  - regex: '(ELinks) \((\d+)\.(\d+)'+  - regex: '(Links) \((\d+)\.(\d+)'++  - regex: '(QtWeb) Internet Browser/(\d+)\.(\d+)'++  #- regex: '\(iPad;.+(Version)/(\d+)\.(\d+)(?:\.(\d+)|).*Safari/'+  #  family_replacement: 'iPad'++  # Phantomjs, should go before Safari+  - regex: '(PhantomJS)/(\d+)\.(\d+)\.(\d+)'++  # WebKit Nightly+  - regex: '(AppleWebKit)/(\d+)(?:\.(\d+)|)\+ .* Safari'+    family_replacement: 'WebKit Nightly'++  # Safari+  - regex: '(Version)/(\d+)\.(\d+)(?:\.(\d+)|).*Safari/'+    family_replacement: 'Safari'+  # Safari didn't provide "Version/d.d.d" prior to 3.0+  - regex: '(Safari)/\d+'++  - regex: '(OLPC)/Update(\d+)\.(\d+)'++  - regex: '(OLPC)/Update()\.(\d+)'+    v1_replacement: '0'++  - regex: '(SEMC\-Browser)/(\d+)\.(\d+)'++  - regex: '(Teleca)'+    family_replacement: 'Teleca Browser'++  - regex: '(Phantom)/V(\d+)\.(\d+)'+    family_replacement: 'Phantom Browser'++  - regex: '(Trident)/(7|8)\.(0)'+    family_replacement: 'IE'+    v1_replacement: '11'++  - regex: '(Trident)/(6)\.(0)'+    family_replacement: 'IE'+    v1_replacement: '10'++  - regex: '(Trident)/(5)\.(0)'+    family_replacement: 'IE'+    v1_replacement: '9'++  - regex: '(Trident)/(4)\.(0)'+    family_replacement: 'IE'+    v1_replacement: '8'++  # Espial+  - regex: '(Espial)/(\d+)(?:\.(\d+)|)(?:\.(\d+)|)'++  # Apple Mail++  # apple mail - not directly detectable, have it after Safari stuff+  - regex: '(AppleWebKit)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Apple Mail'++  # AFTER THE EDGE CASES ABOVE!+  # AFTER IE11+  # BEFORE all other IE+  - regex: '(Firefox)/(\d+)\.(\d+)\.(\d+)'+  - regex: '(Firefox)/(\d+)\.(\d+)(pre|[ab]\d+[a-z]*|)'++  - regex: '([MS]?IE) (\d+)\.(\d+)'+    family_replacement: 'IE'++  - regex: '(python-requests)/(\d+)\.(\d+)'+    family_replacement: 'Python Requests'++  # headless user-agents+  - regex: '\b(Windows-Update-Agent|WindowsPowerShell|Microsoft-CryptoAPI|SophosUpdateManager|SophosAgent|Debian APT-HTTP|Ubuntu APT-HTTP|libcurl-agent|libwww-perl|urlgrabber|curl|PycURL|Wget|wget2|aria2|Axel|OpenBSD ftp|lftp|jupdate|insomnia|fetch libfetch|akka-http|got)(?:[ /](\d+)(?:\.(\d+)|)(?:\.(\d+)|)|)'++  # Asynchronous HTTP Client/Server for asyncio and Python (https://aiohttp.readthedocs.io/)+  - regex: '(Python/3\.\d{1,3} aiohttp)/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Python aiohttp'++  - regex: '(Java)[/ ]?\d+\.(\d+)\.(\d+)[_-]*([a-zA-Z0-9]+|)'++  # Cloud Storage Clients+  - regex: '^(Cyberduck)/(\d+)\.(\d+)\.(\d+)(?:\.\d+|)'+  - regex: '^(S3 Browser) (\d+)-(\d+)-(\d+)(?:\s*http://s3browser\.com|)'+  - regex: '(S3Gof3r)'+  # IBM COS (Cloud Object Storage) API+  - regex: '\b(ibm-cos-sdk-(?:core|java|js|python))/(\d+)\.(\d+)(?:\.(\d+)|)'+  # rusoto - Rusoto - AWS SDK for Rust - https://github.com/rusoto/rusoto+  - regex: '^(rusoto)/(\d+)\.(\d+)\.(\d+)'+  # rclone - rsync for cloud storage - https://rclone.org/+  - regex: '^(rclone)/v(\d+)\.(\d+)'++  # Roku Digital-Video-Players https://www.roku.com/+  - regex: '^(Roku)/DVP-(\d+)\.(\d+)'++  # Kurio App News Reader https://kurio.co.id/+  - regex: '(Kurio)\/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'Kurio App'++  # Box Drive and Box Sync https://www.box.com/resources/downloads+  - regex: '^(Box(?: Sync)?)/(\d+)\.(\d+)\.(\d+)'++  # ViaFree streaming app https://www.viafree.{dk|se|no}+  - regex: '^(ViaFree|Viafree)-(?:tvOS-)?[A-Z]{2}/(\d+)\.(\d+)\.(\d+)'+    family_replacement: 'ViaFree'++os_parsers:+  ##########+  # HbbTV vendors+  ##########++  # starts with the easy one : Panasonic seems consistent across years, hope it will continue+  #HbbTV/1.1.1 (;Panasonic;VIERA 2011;f.532;0071-0802 2000-0000;)+  #HbbTV/1.1.1 (;Panasonic;VIERA 2012;1.261;0071-3103 2000-0000;)+  #HbbTV/1.2.1 (;Panasonic;VIERA 2013;3.672;4101-0003 0002-0000;)+  #- regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Panasonic);VIERA ([0-9]{4});'++  # Sony is consistent too but do not place year like the other+  # Opera/9.80 (Linux armv7l; HbbTV/1.1.1 (; Sony; KDL32W650A; PKG3.211EUA; 2013;); ) Presto/2.12.362 Version/12.11+  # Opera/9.80 (Linux mips; U;  HbbTV/1.1.1 (; Sony; KDL40HX751; PKG1.902EUA; 2012;);; en) Presto/2.10.250 Version/11.60+  # Opera/9.80 (Linux mips; U;  HbbTV/1.1.1 (; Sony; KDL22EX320; PKG4.017EUA; 2011;);; en) Presto/2.7.61 Version/11.00+  #- regex: 'HbbTV/\d+\.\d+\.\d+ \(; (Sony);.*;.*; ([0-9]{4});\)'+++  # LG is consistent too, but we need to add manually the year model+  #Mozilla/5.0 (Unknown; Linux armv7l) AppleWebKit/537.1+ (KHTML, like Gecko) Safari/537.1+ HbbTV/1.1.1 ( ;LGE ;NetCast 4.0 ;03.20.30 ;1.0M ;)+  #Mozilla/5.0 (DirectFB; Linux armv7l) AppleWebKit/534.26+ (KHTML, like Gecko) Version/5.0 Safari/534.26+ HbbTV/1.1.1 ( ;LGE ;NetCast 3.0 ;1.0 ;1.0M ;)+  - regex: 'HbbTV/\d+\.\d+\.\d+ \( ;(LG)E ;NetCast 4.0'+    os_v1_replacement: '2013'+  - regex: 'HbbTV/\d+\.\d+\.\d+ \( ;(LG)E ;NetCast 3.0'+    os_v1_replacement: '2012'++  # Samsung is on its way of normalizing their user-agent+  # HbbTV/1.1.1 (;Samsung;SmartTV2013;T-FXPDEUC-1102.2;;) WebKit+  # HbbTV/1.1.1 (;Samsung;SmartTV2013;T-MST12DEUC-1102.1;;) WebKit+  # HbbTV/1.1.1 (;Samsung;SmartTV2012;;;) WebKit+  # HbbTV/1.1.1 (;;;;;) Maple_2011+  - regex: 'HbbTV/1.1.1 \(;;;;;\) Maple_2011'+    os_replacement: 'Samsung'+    os_v1_replacement: '2011'+  # manage the two models of 2013+  - regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Samsung);SmartTV([0-9]{4});.*FXPDEUC'+    os_v2_replacement: 'UE40F7000'+  - regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Samsung);SmartTV([0-9]{4});.*MST12DEUC'+    os_v2_replacement: 'UE32F4500'+  # generic Samsung (works starting in 2012)+  #- regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Samsung);SmartTV([0-9]{4});'++  # Philips : not found any other way than a manual mapping+  # Opera/9.80 (Linux mips; U; HbbTV/1.1.1 (; Philips; ; ; ; ) CE-HTML/1.0 NETTV/4.1.3 PHILIPSTV/1.1.1; en) Presto/2.10.250 Version/11.60+  # Opera/9.80 (Linux mips ; U; HbbTV/1.1.1 (; Philips; ; ; ; ) CE-HTML/1.0 NETTV/3.2.1; en) Presto/2.6.33 Version/10.70+  - regex: 'HbbTV/1\.1\.1 \(; (Philips);.*NETTV/4'+    os_v1_replacement: '2013'+  - regex: 'HbbTV/1\.1\.1 \(; (Philips);.*NETTV/3'+    os_v1_replacement: '2012'+  - regex: 'HbbTV/1\.1\.1 \(; (Philips);.*NETTV/2'+    os_v1_replacement: '2011'++  # the HbbTV emulator developers use HbbTV/1.1.1 (;;;;;) firetv-firefox-plugin 1.1.20+  - regex: 'HbbTV/\d+\.\d+\.\d+.*(firetv)-firefox-plugin (\d+).(\d+).(\d+)'+    os_replacement: 'FireHbbTV'++  # generic HbbTV, hoping to catch manufacturer name (always after 2nd comma) and the first string that looks like a 2011-2019 year+  - regex: 'HbbTV/\d+\.\d+\.\d+ \(.*; ?([a-zA-Z]+) ?;.*(201[1-9]).*\)'++  # aspiegel.com spider (owned by Huawei)+  - regex: 'AspiegelBot'+    os_replacement: 'Other'++  ##########+  # @note: Windows Phone needs to come before Windows NT 6.1 *and* before Android to catch cases such as:+  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920)...+  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; ANZ821)...+  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; Orange)...+  # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; Vodafone)...+  ##########++  - regex: '(Windows Phone) (?:OS[ /])?(\d+)\.(\d+)'++  # Again a MS-special one: iPhone.*Outlook-iOS-Android/x.x is erroneously detected as Android+  - regex: '(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone)[ +]+(\d+)[_\.](\d+)(?:[_\.](\d+)|).*Outlook-iOS-Android'+    os_replacement: 'iOS'++  # Special case for old ArcGIS Mobile products+  - regex: 'ArcGIS\.?(iOS|Android)-\d+\.\d+(?:\.\d+|)(?:[^\/]+|)\/(\d+)(?:\.(\d+)(?:\.(\d+)|)|)'++  # Special case for new ArcGIS Mobile products+  - regex: 'ArcGISRuntime-(?:Android|iOS)\/\d+\.\d+(?:\.\d+|) \((Android|iOS) (\d+)(?:\.(\d+)(?:\.(\d+)|)|);'++  ##########+  # Android+  # can actually detect rooted android os. do we care?+  ##########+  - regex: '(Android)[ \-/](\d+)(?:\.(\d+)|)(?:[.\-]([a-z0-9]+)|)'++  - regex: '(Android) Donut'+    os_v1_replacement: '1'+    os_v2_replacement: '2'++  - regex: '(Android) Eclair'+    os_v1_replacement: '2'+    os_v2_replacement: '1'++  - regex: '(Android) Froyo'+    os_v1_replacement: '2'+    os_v2_replacement: '2'++  - regex: '(Android) Gingerbread'+    os_v1_replacement: '2'+    os_v2_replacement: '3'++  - regex: '(Android) Honeycomb'+    os_v1_replacement: '3'++  # Android 9; Android 10;+  - regex: '(Android) (\d+);'++  # UCWEB+  - regex: '^UCWEB.*; (Adr) (\d+)\.(\d+)(?:[.\-]([a-z0-9]+)|);'+    os_replacement: 'Android'+  - regex: '^UCWEB.*; (iPad|iPh|iPd) OS (\d+)_(\d+)(?:_(\d+)|);'+    os_replacement: 'iOS'+  - regex: '^UCWEB.*; (wds) (\d+)\.(\d+)(?:\.(\d+)|);'+    os_replacement: 'Windows Phone'+  # JUC+  - regex: '^(JUC).*; ?U; ?(?:Android|)(\d+)\.(\d+)(?:[\.\-]([a-z0-9]+)|)'+    os_replacement: 'Android'++  # Salesforce+  - regex: '(android)\s(?:mobile\/)(\d+)(?:\.(\d+)(?:\.(\d+)|)|)'+    os_replacement: 'Android'++  ##########+  # Kindle Android+  ##########+  - regex: '(Silk-Accelerated=[a-z]{4,5})'+    os_replacement: 'Android'++  # Citrix Chrome App on Chrome OS+  # Note, this needs to come before the windows parsers as the app doesn't+  # properly identify as Chrome OS+  #+  # ex: Mozilla/5.0 (X11; Windows aarch64 10718.88.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.118 Safari/537.36 CitrixChromeApp+  - regex: '(x86_64|aarch64)\ (\d+)\.(\d+)\.(\d+).*Chrome.*(?:CitrixChromeApp)$'+    os_replacement: 'Chrome OS'++  ##########+  # Windows+  # http://en.wikipedia.org/wiki/Windows_NT#Releases+  # possibility of false positive when different marketing names share same NT kernel+  # e.g. windows server 2003 and windows xp+  # lots of ua strings have Windows NT 4.1 !?!?!?!? !?!? !? !????!?! !!! ??? !?!?! ?+  # (very) roughly ordered in terms of frequency of occurence of regex (win xp currently most frequent, etc)+  ##########++  # ie mobile desktop mode+  # spoofs nt 6.1. must come before windows 7+  - regex: '(XBLWP7)'+    os_replacement: 'Windows Phone'++  # @note: This needs to come before Windows NT 6.1+  - regex: '(Windows ?Mobile)'+    os_replacement: 'Windows Mobile'++  - regex: '(Windows 10)'+    os_replacement: 'Windows'+    os_v1_replacement: '10'++  - regex: '(Windows (?:NT 5\.2|NT 5\.1))'+    os_replacement: 'Windows'+    os_v1_replacement: 'XP'++  - regex: '(Win(?:dows NT |32NT\/)6\.1)'+    os_replacement: 'Windows'+    os_v1_replacement: '7'++  - regex: '(Win(?:dows NT |32NT\/)6\.0)'+    os_replacement: 'Windows'+    os_v1_replacement: 'Vista'++  - regex: '(Win 9x 4\.90)'+    os_replacement: 'Windows'+    os_v1_replacement: 'ME'++  - regex: '(Windows NT 6\.2; ARM;)'+    os_replacement: 'Windows'+    os_v1_replacement: 'RT'++  - regex: '(Win(?:dows NT |32NT\/)6\.2)'+    os_replacement: 'Windows'+    os_v1_replacement: '8'++  - regex: '(Windows NT 6\.3; ARM;)'+    os_replacement: 'Windows'+    os_v1_replacement: 'RT 8'+    os_v2_replacement: '1'++  - regex: '(Win(?:dows NT |32NT\/)6\.3)'+    os_replacement: 'Windows'+    os_v1_replacement: '8'+    os_v2_replacement: '1'++  - regex: '(Win(?:dows NT |32NT\/)6\.4)'+    os_replacement: 'Windows'+    os_v1_replacement: '10'++  - regex: '(Windows NT 10\.0)'+    os_replacement: 'Windows'+    os_v1_replacement: '10'++  - regex: '(Windows NT 5\.0)'+    os_replacement: 'Windows'+    os_v1_replacement: '2000'++  - regex: '(WinNT4.0)'+    os_replacement: 'Windows'+    os_v1_replacement: 'NT 4.0'++  - regex: '(Windows ?CE)'+    os_replacement: 'Windows'+    os_v1_replacement: 'CE'++  - regex: 'Win(?:dows)? ?(95|98|3.1|NT|ME|2000|XP|Vista|7|CE)'+    os_replacement: 'Windows'+    os_v1_replacement: '$1'++  - regex: 'Win16'+    os_replacement: 'Windows'+    os_v1_replacement: '3.1'++  - regex: 'Win32'+    os_replacement: 'Windows'+    os_v1_replacement: '95'++  # Box apps (Drive, Sync, Notes) on Windows https://www.box.com/resources/downloads+  - regex: '^Box.*Windows/([\d.]+);'+    os_replacement: 'Windows'+    os_v1_replacement: '$1'++  ##########+  # Tizen OS from Samsung+  # spoofs Android so pushing it above+  ##########+  - regex: '(Tizen)[/ ](\d+)\.(\d+)'++  ##########+  # Mac OS+  # @ref: http://en.wikipedia.org/wiki/Mac_OS_X#Versions+  # @ref: http://www.puredarwin.org/curious/versions+  ##########+  - regex: '((?:Mac[ +]?|; )OS[ +]X)[\s+/](?:(\d+)[_.](\d+)(?:[_.](\d+)|)|Mach-O)'+    os_replacement: 'Mac OS X'+  - regex: '\w+\s+Mac OS X\s+\w+\s+(\d+).(\d+).(\d+).*'+    os_replacement: 'Mac OS X'+    os_v1_replacement: '$1'+    os_v2_replacement: '$2'+    os_v3_replacement: '$3'+  # Leopard+  - regex: ' (Dar)(win)/(9).(\d+).*\((?:i386|x86_64|Power Macintosh)\)'+    os_replacement: 'Mac OS X'+    os_v1_replacement: '10'+    os_v2_replacement: '5'+  # Snow Leopard+  - regex: ' (Dar)(win)/(10).(\d+).*\((?:i386|x86_64)\)'+    os_replacement: 'Mac OS X'+    os_v1_replacement: '10'+    os_v2_replacement: '6'+  # Lion+  - regex: ' (Dar)(win)/(11).(\d+).*\((?:i386|x86_64)\)'+    os_replacement: 'Mac OS X'+    os_v1_replacement: '10'+    os_v2_replacement: '7'+  # Mountain Lion+  - regex: ' (Dar)(win)/(12).(\d+).*\((?:i386|x86_64)\)'+    os_replacement: 'Mac OS X'+    os_v1_replacement: '10'+    os_v2_replacement: '8'+  # Mavericks+  - regex: ' (Dar)(win)/(13).(\d+).*\((?:i386|x86_64)\)'+    os_replacement: 'Mac OS X'+    os_v1_replacement: '10'+    os_v2_replacement: '9'+  # Yosemite is Darwin/14.x but patch versions are inconsistent in the Darwin string;+  # more accurately covered by CFNetwork regexes downstream++  # IE on Mac doesn't specify version number+  - regex: 'Mac_PowerPC'+    os_replacement: 'Mac OS'++  # builds before tiger don't seem to specify version?++  # ios devices spoof (mac os x), so including intel/ppc prefixes+  - regex: '(?:PPC|Intel) (Mac OS X)'++  # Box Drive and Box Sync on Mac OS X use OSX version numbers, not Darwin+  - regex: '^Box.*;(Darwin)/(10)\.(1\d)(?:\.(\d+)|)'+    os_replacement: 'Mac OS X'++  ##########+  # iOS+  # http://en.wikipedia.org/wiki/IOS_version_history+  ##########+  # keep this above generic iOS, since AppleTV UAs contain 'CPU OS'+  - regex: '(Apple\s?TV)(?:/(\d+)\.(\d+)|)'+    os_replacement: 'ATV OS X'++  - regex: '(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS)[ +]+(\d+)[_\.](\d+)(?:[_\.](\d+)|)'+    os_replacement: 'iOS'++  # remaining cases are mostly only opera uas, so catch opera as to not catch iphone spoofs+  - regex: '(iPhone|iPad|iPod); Opera'+    os_replacement: 'iOS'++  # few more stragglers+  - regex: '(iPhone|iPad|iPod).*Mac OS X.*Version/(\d+)\.(\d+)'+    os_replacement: 'iOS'++  # CFNetwork/Darwin - The specific CFNetwork or Darwin version determines+  # whether the os maps to Mac OS, or iOS, or just Darwin.+  # See: http://user-agents.me/cfnetwork-version-list+  - regex: '(CFNetwork)/(5)48\.0\.3.* Darwin/11\.0\.0'+    os_replacement: 'iOS'+  - regex: '(CFNetwork)/(5)48\.(0)\.4.* Darwin/(1)1\.0\.0'+    os_replacement: 'iOS'+  - regex: '(CFNetwork)/(5)48\.(1)\.4'+    os_replacement: 'iOS'+  - regex: '(CFNetwork)/(4)85\.1(3)\.9'+    os_replacement: 'iOS'+  - regex: '(CFNetwork)/(6)09\.(1)\.4'+    os_replacement: 'iOS'+  - regex: '(CFNetwork)/(6)(0)9'+    os_replacement: 'iOS'+  - regex: '(CFNetwork)/6(7)2\.(1)\.13'+    os_replacement: 'iOS'+  - regex: '(CFNetwork)/6(7)2\.(1)\.(1)4'+    os_replacement: 'iOS'+  - regex: '(CF)(Network)/6(7)(2)\.1\.15'+    os_replacement: 'iOS'+    os_v1_replacement: '7'+    os_v2_replacement: '1'+  - regex: '(CFNetwork)/6(7)2\.(0)\.(?:2|8)'+    os_replacement: 'iOS'+  - regex: '(CFNetwork)/709\.1'+    os_replacement: 'iOS'+    os_v1_replacement: '8'+    os_v2_replacement: '0.b5'+  - regex: '(CF)(Network)/711\.(\d)'+    os_replacement: 'iOS'+    os_v1_replacement: '8'+  - regex: '(CF)(Network)/(720)\.(\d)'+    os_replacement: 'Mac OS X'+    os_v1_replacement: '10'+    os_v2_replacement: '10'+  - regex: '(CF)(Network)/(760)\.(\d)'+    os_replacement: 'Mac OS X'+    os_v1_replacement: '10'+    os_v2_replacement: '11'+  - regex: 'CFNetwork/7.* Darwin/15\.4\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '9'+    os_v2_replacement: '3'+    os_v3_replacement: '1'+  - regex: 'CFNetwork/7.* Darwin/15\.5\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '9'+    os_v2_replacement: '3'+    os_v3_replacement: '2'+  - regex: 'CFNetwork/7.* Darwin/15\.6\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '9'+    os_v2_replacement: '3'+    os_v3_replacement: '5'+  - regex: '(CF)(Network)/758\.(\d)'+    os_replacement: 'iOS'+    os_v1_replacement: '9'+  - regex: 'CFNetwork/808\.3 Darwin/16\.3\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '10'+    os_v2_replacement: '2'+    os_v3_replacement: '1'+  - regex: '(CF)(Network)/808\.(\d)'+    os_replacement: 'iOS'+    os_v1_replacement: '10'++  ##########+  # CFNetwork macOS Apps (must be before CFNetwork iOS Apps+  # @ref: https://en.wikipedia.org/wiki/Darwin_(operating_system)#Release_history+  ##########+  - regex: 'CFNetwork/.* Darwin/17\.\d+.*\(x86_64\)'+    os_replacement: 'Mac OS X'+    os_v1_replacement: '10'+    os_v2_replacement: '13'+  - regex: 'CFNetwork/.* Darwin/16\.\d+.*\(x86_64\)'+    os_replacement: 'Mac OS X'+    os_v1_replacement: '10'+    os_v2_replacement: '12'+  - regex: 'CFNetwork/8.* Darwin/15\.\d+.*\(x86_64\)'+    os_replacement: 'Mac OS X'+    os_v1_replacement: '10'+    os_v2_replacement: '11'+  ##########+  # CFNetwork iOS Apps+  # @ref: https://en.wikipedia.org/wiki/Darwin_(operating_system)#Release_history+  ##########+  - regex: 'CFNetwork/.* Darwin/(9)\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '1'+  - regex: 'CFNetwork/.* Darwin/(10)\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '4'+  - regex: 'CFNetwork/.* Darwin/(11)\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '5'+  - regex: 'CFNetwork/.* Darwin/(13)\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '6'+  - regex: 'CFNetwork/6.* Darwin/(14)\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '7'+  - regex: 'CFNetwork/7.* Darwin/(14)\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '8'+    os_v2_replacement: '0'+  - regex: 'CFNetwork/7.* Darwin/(15)\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '9'+    os_v2_replacement: '0'+  - regex: 'CFNetwork/8.* Darwin/16\.5\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '10'+    os_v2_replacement: '3'+  - regex: 'CFNetwork/8.* Darwin/16\.6\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '10'+    os_v2_replacement: '3'+    os_v3_replacement: '2'+  - regex: 'CFNetwork/8.* Darwin/16\.7\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '10'+    os_v2_replacement: '3'+    os_v3_replacement: '3'+  - regex: 'CFNetwork/8.* Darwin/(16)\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '10'+  - regex: 'CFNetwork/8.* Darwin/17\.0\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '11'+    os_v2_replacement: '0'+  - regex: 'CFNetwork/8.* Darwin/17\.2\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '11'+    os_v2_replacement: '1'+  - regex: 'CFNetwork/8.* Darwin/17\.3\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '11'+    os_v2_replacement: '2'+  - regex: 'CFNetwork/8.* Darwin/17\.4\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '11'+    os_v2_replacement: '2'+    os_v3_replacement: '6'+  - regex: 'CFNetwork/8.* Darwin/17\.5\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '11'+    os_v2_replacement: '3'+  - regex: 'CFNetwork/9.* Darwin/17\.6\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '11'+    os_v2_replacement: '4'+  - regex: 'CFNetwork/9.* Darwin/17\.7\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '11'+    os_v2_replacement: '4'+    os_v3_replacement: '1'+  - regex: 'CFNetwork/8.* Darwin/(17)\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '11'+  - regex: 'CFNetwork/9.* Darwin/18\.0\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '12'+    os_v2_replacement: '0'+  - regex: 'CFNetwork/9.* Darwin/(18)\.\d+'+    os_replacement: 'iOS'+    os_v1_replacement: '12'+  - regex: 'CFNetwork/.* Darwin/'+    os_replacement: 'iOS'++  # iOS Apps+  - regex: '\b(iOS[ /]|iOS; |iPhone(?:/| v|[ _]OS[/,]|; | OS : |\d,\d/|\d,\d; )|iPad/)(\d{1,2})[_\.](\d{1,2})(?:[_\.](\d+)|)'+    os_replacement: 'iOS'+  - regex: '\((iOS);'++  ##########+  # Apple Watch+  ##########+  - regex: '(watchOS)/(\d+)\.(\d+)(?:\.(\d+)|)'+    os_replacement: 'WatchOS'++  ##########################+  # Outlook on iOS >= 2.62.0+  ##########################+  - regex: 'Outlook-(iOS)/\d+\.\d+\.prod\.iphone'++  ##########################+  # iOS devices, the same regex matches mobile safari webviews+  ##########################+  - regex: '(iPod|iPhone|iPad)'+    os_replacement: 'iOS'++  ##########+  # Apple TV+  ##########+  - regex: '(tvOS)[/ ](\d+)\.(\d+)(?:\.(\d+)|)'+    os_replacement: 'tvOS'++  ##########+  # Chrome OS+  # if version 0.0.0, probably this stuff:+  # http://code.google.com/p/chromium-os/issues/detail?id=11573+  # http://code.google.com/p/chromium-os/issues/detail?id=13790+  ##########+  - regex: '(CrOS) [a-z0-9_]+ (\d+)\.(\d+)(?:\.(\d+)|)'+    os_replacement: 'Chrome OS'++  ##########+  # Linux distros+  ##########+  - regex: '([Dd]ebian)'+    os_replacement: 'Debian'+  - regex: '(Linux Mint)(?:/(\d+)|)'+  - regex: '(Mandriva)(?: Linux|)/(?:[\d.-]+m[a-z]{2}(\d+).(\d)|)'++  ##########+  # Symbian + Symbian OS+  # http://en.wikipedia.org/wiki/History_of_Symbian+  ##########+  - regex: '(Symbian[Oo][Ss])[/ ](\d+)\.(\d+)'+    os_replacement: 'Symbian OS'+  - regex: '(Symbian/3).+NokiaBrowser/7\.3'+    os_replacement: 'Symbian^3 Anna'+  - regex: '(Symbian/3).+NokiaBrowser/7\.4'+    os_replacement: 'Symbian^3 Belle'+  - regex: '(Symbian/3)'+    os_replacement: 'Symbian^3'+  - regex: '\b(Series 60|SymbOS|S60Version|S60V\d|S60\b)'+    os_replacement: 'Symbian OS'+  - regex: '(MeeGo)'+  - regex: 'Symbian [Oo][Ss]'+    os_replacement: 'Symbian OS'+  - regex: 'Series40;'+    os_replacement: 'Nokia Series 40'+  - regex: 'Series30Plus;'+    os_replacement: 'Nokia Series 30 Plus'++  ##########+  # BlackBerry devices+  ##########+  - regex: '(BB10);.+Version/(\d+)\.(\d+)\.(\d+)'+    os_replacement: 'BlackBerry OS'+  - regex: '(Black[Bb]erry)[0-9a-z]+/(\d+)\.(\d+)\.(\d+)(?:\.(\d+)|)'+    os_replacement: 'BlackBerry OS'+  - regex: '(Black[Bb]erry).+Version/(\d+)\.(\d+)\.(\d+)(?:\.(\d+)|)'+    os_replacement: 'BlackBerry OS'+  - regex: '(RIM Tablet OS) (\d+)\.(\d+)\.(\d+)'+    os_replacement: 'BlackBerry Tablet OS'+  - regex: '(Play[Bb]ook)'+    os_replacement: 'BlackBerry Tablet OS'+  - regex: '(Black[Bb]erry)'+    os_replacement: 'BlackBerry OS'++  ##########+  # KaiOS+  ##########+  - regex: '(K[Aa][Ii]OS)\/(\d+)\.(\d+)(?:\.(\d+)|)'+    os_replacement: 'KaiOS'++  ##########+  # Firefox OS+  ##########+  - regex: '\((?:Mobile|Tablet);.+Gecko/18.0 Firefox/\d+\.\d+'+    os_replacement: 'Firefox OS'+    os_v1_replacement: '1'+    os_v2_replacement: '0'+    os_v3_replacement: '1'++  - regex: '\((?:Mobile|Tablet);.+Gecko/18.1 Firefox/\d+\.\d+'+    os_replacement: 'Firefox OS'+    os_v1_replacement: '1'+    os_v2_replacement: '1'++  - regex: '\((?:Mobile|Tablet);.+Gecko/26.0 Firefox/\d+\.\d+'+    os_replacement: 'Firefox OS'+    os_v1_replacement: '1'+    os_v2_replacement: '2'++  - regex: '\((?:Mobile|Tablet);.+Gecko/28.0 Firefox/\d+\.\d+'+    os_replacement: 'Firefox OS'+    os_v1_replacement: '1'+    os_v2_replacement: '3'++  - regex: '\((?:Mobile|Tablet);.+Gecko/30.0 Firefox/\d+\.\d+'+    os_replacement: 'Firefox OS'+    os_v1_replacement: '1'+    os_v2_replacement: '4'++  - regex: '\((?:Mobile|Tablet);.+Gecko/32.0 Firefox/\d+\.\d+'+    os_replacement: 'Firefox OS'+    os_v1_replacement: '2'+    os_v2_replacement: '0'++  - regex: '\((?:Mobile|Tablet);.+Gecko/34.0 Firefox/\d+\.\d+'+    os_replacement: 'Firefox OS'+    os_v1_replacement: '2'+    os_v2_replacement: '1'++  # Firefox OS Generic+  - regex: '\((?:Mobile|Tablet);.+Firefox/\d+\.\d+'+    os_replacement: 'Firefox OS'+++  ##########+  # BREW+  # yes, Brew is lower-cased for Brew MP+  ##########+  - regex: '(BREW)[ /](\d+)\.(\d+)\.(\d+)'+  - regex: '(BREW);'+  - regex: '(Brew MP|BMP)[ /](\d+)\.(\d+)\.(\d+)'+    os_replacement: 'Brew MP'+  - regex: 'BMP;'+    os_replacement: 'Brew MP'++  ##########+  # Google TV+  ##########+  - regex: '(GoogleTV)(?: (\d+)\.(\d+)(?:\.(\d+)|)|/[\da-z]+)'++  - regex: '(WebTV)/(\d+).(\d+)'++  ##########+  # Chromecast+  ##########+  - regex: '(CrKey)(?:[/](\d+)\.(\d+)(?:\.(\d+)|)|)'+    os_replacement: 'Chromecast'++  ##########+  # Misc mobile+  ##########+  - regex: '(hpw|web)OS/(\d+)\.(\d+)(?:\.(\d+)|)'+    os_replacement: 'webOS'+  - regex: '(VRE);'++  ##########+  # Generic patterns+  # since the majority of os cases are very specific, these go last+  ##########+  - regex: '(Fedora|Red Hat|PCLinuxOS|Puppy|Ubuntu|Kindle|Bada|Sailfish|Lubuntu|BackTrack|Slackware|(?:Free|Open|Net|\b)BSD)[/ ](\d+)\.(\d+)(?:\.(\d+)|)(?:\.(\d+)|)'++  # Gentoo Linux + Kernel Version+  - regex: '(Linux)[ /](\d+)\.(\d+)(?:\.(\d+)|).*gentoo'+    os_replacement: 'Gentoo'++  # Opera Mini Bada+  - regex: '\((Bada);'++  # just os+  - regex: '(Windows|Android|WeTab|Maemo|Web0S)'+  - regex: '(Ubuntu|Kubuntu|Arch Linux|CentOS|Slackware|Gentoo|openSUSE|SUSE|Red Hat|Fedora|PCLinuxOS|Mageia|(?:Free|Open|Net|\b)BSD)'+  # Linux + Kernel Version+  - regex: '(Linux)(?:[ /](\d+)\.(\d+)(?:\.(\d+)|)|)'+  - regex: 'SunOS'+    os_replacement: 'Solaris'+  # Wget/x.x.x (linux-gnu)+  - regex: '\(linux-gnu\)'+    os_replacement: 'Linux'+  - regex: '\(x86_64-redhat-linux-gnu\)'+    os_replacement: 'Red Hat'+  - regex: '\((freebsd)(\d+)\.(\d+)\)'+    os_replacement: 'FreeBSD'+  - regex: 'linux'+    os_replacement: 'Linux'++  # Roku Digital-Video-Players https://www.roku.com/+  - regex: '^(Roku)/DVP-(\d+)\.(\d+)'++device_parsers:++  #########+  # Mobile Spiders+  # Catch the mobile crawler before checking for iPhones / Androids.+  #########+  - regex: '(?:(?:iPhone|Windows CE|Windows Phone|Android).*(?:(?:Bot|Yeti)-Mobile|YRSpider|BingPreview|bots?/\d|(?:bot|spider)\.html)|AdsBot-Google-Mobile.*iPhone)'+    regex_flag: 'i'+    device_replacement: 'Spider'+    brand_replacement: 'Spider'+    model_replacement: 'Smartphone'+  - regex: '(?:DoCoMo|\bMOT\b|\bLG\b|Nokia|Samsung|SonyEricsson).*(?:(?:Bot|Yeti)-Mobile|bots?/\d|(?:bot|crawler)\.html|(?:jump|google|Wukong)bot|ichiro/mobile|/spider|YahooSeeker)'+    regex_flag: 'i'+    device_replacement: 'Spider'+    brand_replacement: 'Spider'+    model_replacement: 'Feature Phone'++  # PTST / WebPageTest.org crawlers+  - regex: ' PTST/\d+(?:\.)?\d+$'+    device_replacement: 'Spider'+    brand_replacement: 'Spider'++  # Datanyze.com spider+  - regex: 'X11; Datanyze; Linux'+    device_replacement: 'Spider'+    brand_replacement: 'Spider'++  # aspiegel.com spider (owned by Huawei)+  - regex: 'Mozilla.*Mobile.*AspiegelBot'+    device_replacement: 'Spider'+    brand_replacement: 'Spider'+    model_replacement: 'Smartphone'+  - regex: 'Mozilla.*AspiegelBot'+    device_replacement: 'Spider'+    brand_replacement: 'Spider'+    model_replacement: 'Desktop'++  #########+  # WebBrowser for SmartWatch+  # @ref: https://play.google.com/store/apps/details?id=se.vaggan.webbrowser&hl=en+  #########+  - regex: '\bSmartWatch {0,2}\( {0,2}([^;]+) {0,2}; {0,2}([^;]+) {0,2};'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'++  ######################################################################+  # Android parsers+  #+  # @ref: https://support.google.com/googleplay/answer/1727131?hl=en+  ######################################################################++  # Android Application+  - regex: 'Android Application[^\-]+ - (Sony) ?(Ericsson|) (.+) \w+ - '+    device_replacement: '$1 $2'+    brand_replacement: '$1$2'+    model_replacement: '$3'+  - regex: 'Android Application[^\-]+ - (?:HTC|HUAWEI|LGE|LENOVO|MEDION|TCT) (HTC|HUAWEI|LG|LENOVO|MEDION|ALCATEL)[ _\-](.+) \w+ - '+    regex_flag: 'i'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'+  - regex: 'Android Application[^\-]+ - ([^ ]+) (.+) \w+ - '+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'++  #########+  # 3Q+  # @ref: http://www.3q-int.com/+  #########+  - regex: '; *([BLRQ]C\d{4}[A-Z]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '3Q $1'+    brand_replacement: '3Q'+    model_replacement: '$1'+  - regex: '; *(?:3Q_)([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '3Q $1'+    brand_replacement: '3Q'+    model_replacement: '$1'++  #########+  # Acer+  # @ref: http://us.acer.com/ac/en/US/content/group/tablets+  #########+  - regex: 'Android [34].*; *(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700(?: Lite| 3G|)|A701|B1-A71|A1-\d{3}|B1-\d{3}|V360|V370|W500|W500P|W501|W501P|W510|W511|W700|Slider SL101|DA22[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Acer'+    model_replacement: '$1'+  - regex: '; *Acer Iconia Tab ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Acer'+    model_replacement: '$1'+  - regex: '; *(Z1[1235]0|E320[^/]*|S500|S510|Liquid[^;/]*|Iconia A\d+)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Acer'+    model_replacement: '$1'+  - regex: '; *(Acer |ACER )([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Acer'+    model_replacement: '$2'++  #########+  # Advent+  # @ref: https://en.wikipedia.org/wiki/Advent_Vega+  # @note: VegaBean and VegaComb (names derived from jellybean, honeycomb) are+  #   custom ROM builds for Vega+  #########+  - regex: '; *(Advent |)(Vega(?:Bean|Comb|)).*?(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Advent'+    model_replacement: '$2'++  #########+  # Ainol+  # @ref: http://www.ainol.com/plugin.php?identifier=ainol&module=product+  #########+  - regex: '; *(Ainol |)((?:NOVO|[Nn]ovo)[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Ainol'+    model_replacement: '$2'++  #########+  # Airis+  # @ref: http://airis.es/Tienda/Default.aspx?idG=001+  #########+  - regex: '; *AIRIS[ _\-]?([^/;\)]+) *(?:;|\)|Build)'+    regex_flag: 'i'+    device_replacement: '$1'+    brand_replacement: 'Airis'+    model_replacement: '$1'+  - regex: '; *(OnePAD[^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1'+    brand_replacement: 'Airis'+    model_replacement: '$1'++  #########+  # Airpad+  # @ref: ??+  #########+  - regex: '; *Airpad[ \-]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Airpad $1'+    brand_replacement: 'Airpad'+    model_replacement: '$1'++  #########+  # Alcatel - TCT+  # @ref: http://www.alcatelonetouch.com/global-en/products/smartphones.html+  #########+  - regex: '; *(one ?touch) (EVO7|T10|T20)(?: Build|\) AppleWebKit)'+    device_replacement: 'Alcatel One Touch $2'+    brand_replacement: 'Alcatel'+    model_replacement: 'One Touch $2'+  - regex: '; *(?:alcatel[ _]|)(?:(?:one[ _]?touch[ _])|ot[ \-])([^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: 'Alcatel One Touch $1'+    brand_replacement: 'Alcatel'+    model_replacement: 'One Touch $1'+  - regex: '; *(TCL)[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'+  # operator specific models+  - regex: '; *(Vodafone Smart II|Optimus_Madrid)(?: Build|\) AppleWebKit)'+    device_replacement: 'Alcatel $1'+    brand_replacement: 'Alcatel'+    model_replacement: '$1'+  - regex: '; *BASE_Lutea_3(?: Build|\) AppleWebKit)'+    device_replacement: 'Alcatel One Touch 998'+    brand_replacement: 'Alcatel'+    model_replacement: 'One Touch 998'+  - regex: '; *BASE_Varia(?: Build|\) AppleWebKit)'+    device_replacement: 'Alcatel One Touch 918D'+    brand_replacement: 'Alcatel'+    model_replacement: 'One Touch 918D'++  #########+  # Allfine+  # @ref: http://www.myallfine.com/Products.asp+  #########+  - regex: '; *((?:FINE|Fine)\d[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Allfine'+    model_replacement: '$1'++  #########+  # Allview+  # @ref: http://www.allview.ro/produse/droseries/lista-tablete-pc/+  #########+  - regex: '; *(ALLVIEW[ _]?|Allview[ _]?)((?:Speed|SPEED).*?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Allview'+    model_replacement: '$2'+  - regex: '; *(ALLVIEW[ _]?|Allview[ _]?|)(AX1_Shine|AX2_Frenzy)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Allview'+    model_replacement: '$2'+  - regex: '; *(ALLVIEW[ _]?|Allview[ _]?)([^;/]*?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Allview'+    model_replacement: '$2'++  #########+  # Allwinner+  # @ref: http://www.allwinner.com/+  # @models: A31 (13.3"),A20,A10,+  #########+  - regex: '; *(A13-MID)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Allwinner'+    model_replacement: '$1'+  - regex: '; *(Allwinner)[ _\-]?([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Allwinner'+    model_replacement: '$1'++  #########+  # Amaway+  # @ref: http://www.amaway.cn/+  #########+  - regex: '; *(A651|A701B?|A702|A703|A705|A706|A707|A711|A712|A713|A717|A722|A785|A801|A802|A803|A901|A902|A1002|A1003|A1006|A1007|A9701|A9703|Q710|Q80)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Amaway'+    model_replacement: '$1'++  #########+  # Amoi+  # @ref: http://www.amoi.com/en/prd/prd_index.jspx+  #########+  - regex: '; *(?:AMOI|Amoi)[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Amoi $1'+    brand_replacement: 'Amoi'+    model_replacement: '$1'+  - regex: '^(?:AMOI|Amoi)[ _]([^;/]+?) Linux'+    device_replacement: 'Amoi $1'+    brand_replacement: 'Amoi'+    model_replacement: '$1'++  #########+  # Aoc+  # @ref: http://latin.aoc.com/media_tablet+  #########+  - regex: '; *(MW(?:0[789]|10)[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Aoc'+    model_replacement: '$1'++  #########+  # Aoson+  # @ref: http://www.luckystar.com.cn/en/mid.aspx?page=1+  # @ref: http://www.luckystar.com.cn/en/mobiletel.aspx?page=1+  # @note: brand owned by luckystar+  #########+  - regex: '; *(G7|M1013|M1015G|M11[CG]?|M-?12[B]?|M15|M19[G]?|M30[ACQ]?|M31[GQ]|M32|M33[GQ]|M36|M37|M38|M701T|M710|M712B|M713|M715G|M716G|M71(?:G|GS|T|)|M72[T]?|M73[T]?|M75[GT]?|M77G|M79T|M7L|M7LN|M81|M810|M81T|M82|M92|M92KS|M92S|M717G|M721|M722G|M723|M725G|M739|M785|M791|M92SK|M93D)(?: Build|\) AppleWebKit)'+    device_replacement: 'Aoson $1'+    brand_replacement: 'Aoson'+    model_replacement: '$1'+  - regex: '; *Aoson ([^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: 'Aoson $1'+    brand_replacement: 'Aoson'+    model_replacement: '$1'++  #########+  # Apanda+  # @ref: http://www.apanda.com.cn/+  #########+  - regex: '; *[Aa]panda[ _\-]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Apanda $1'+    brand_replacement: 'Apanda'+    model_replacement: '$1'++  #########+  # Archos+  # @ref: http://www.archos.com/de/products/tablets.html+  # @ref: http://www.archos.com/de/products/smartphones/index.html+  #########+  - regex: '; *(?:ARCHOS|Archos) ?(GAMEPAD.*?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Archos $1'+    brand_replacement: 'Archos'+    model_replacement: '$1'+  - regex: 'ARCHOS; GOGI; ([^;]+);'+    device_replacement: 'Archos $1'+    brand_replacement: 'Archos'+    model_replacement: '$1'+  - regex: '(?:ARCHOS|Archos)[ _]?(.*?)(?: Build|[;/\(\)\-]|$)'+    device_replacement: 'Archos $1'+    brand_replacement: 'Archos'+    model_replacement: '$1'+  - regex: '; *(AN(?:7|8|9|10|13)[A-Z0-9]{1,4})(?: Build|\) AppleWebKit)'+    device_replacement: 'Archos $1'+    brand_replacement: 'Archos'+    model_replacement: '$1'+  - regex: '; *(A28|A32|A43|A70(?:BHT|CHT|HB|S|X)|A101(?:B|C|IT)|A7EB|A7EB-WK|101G9|80G9)(?: Build|\) AppleWebKit)'+    device_replacement: 'Archos $1'+    brand_replacement: 'Archos'+    model_replacement: '$1'++  #########+  # A-rival+  # @ref: http://www.a-rival.de/de/+  #########+  - regex: '; *(PAD-FMD[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Arival'+    model_replacement: '$1'+  - regex: '; *(BioniQ) ?([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Arival'+    model_replacement: '$1 $2'++  #########+  # Arnova+  # @ref: http://arnovatech.com/+  #########+  - regex: '; *(AN\d[^;/]+|ARCHM\d+)(?: Build|\) AppleWebKit)'+    device_replacement: 'Arnova $1'+    brand_replacement: 'Arnova'+    model_replacement: '$1'+  - regex: '; *(?:ARNOVA|Arnova) ?([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Arnova $1'+    brand_replacement: 'Arnova'+    model_replacement: '$1'++  #########+  # Assistant+  # @ref: http://www.assistant.ua+  #########+  - regex: '; *(?:ASSISTANT |)(AP)-?([1789]\d{2}[A-Z]{0,2}|80104)(?: Build|\) AppleWebKit)'+    device_replacement: 'Assistant $1-$2'+    brand_replacement: 'Assistant'+    model_replacement: '$1-$2'++  #########+  # Asus+  # @ref: http://www.asus.com/uk/Tablets_Mobile/+  #########+  - regex: '; *(ME17\d[^;/]*|ME3\d{2}[^;/]+|K00[A-Z]|Nexus 10|Nexus 7(?: 2013|)|PadFone[^;/]*|Transformer[^;/]*|TF\d{3}[^;/]*|eeepc)(?: Build|\) AppleWebKit)'+    device_replacement: 'Asus $1'+    brand_replacement: 'Asus'+    model_replacement: '$1'+  - regex: '; *ASUS[ _]*([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Asus $1'+    brand_replacement: 'Asus'+    model_replacement: '$1'++  #########+  # Garmin-Asus+  #########+  - regex: '; *Garmin-Asus ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Garmin-Asus $1'+    brand_replacement: 'Garmin-Asus'+    model_replacement: '$1'+  - regex: '; *(Garminfone)(?: Build|\) AppleWebKit)'+    device_replacement: 'Garmin $1'+    brand_replacement: 'Garmin-Asus'+    model_replacement: '$1'++  #########+  # Attab+  # @ref: http://www.theattab.com/+  #########+  - regex: '; (@TAB-[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Attab'+    model_replacement: '$1'++  #########+  # Audiosonic+  # @ref: ??+  # @note: Take care with Docomo T-01 Toshiba+  #########+  - regex: '; *(T-(?:07|[^0]\d)[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Audiosonic'+    model_replacement: '$1'++  #########+  # Axioo+  # @ref: http://www.axiooworld.com/ww/index.php+  #########+  - regex: '; *(?:Axioo[ _\-]([^;/]+?)|(picopad)[ _\-]([^;/]+?))(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: 'Axioo $1$2 $3'+    brand_replacement: 'Axioo'+    model_replacement: '$1$2 $3'++  #########+  # Azend+  # @ref: http://azendcorp.com/index.php/products/portable-electronics+  #########+  - regex: '; *(V(?:100|700|800)[^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Azend'+    model_replacement: '$1'++  #########+  # Bak+  # @ref: http://www.bakinternational.com/produtos.php?cat=80+  #########+  - regex: '; *(IBAK\-[^;/]*)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1'+    brand_replacement: 'Bak'+    model_replacement: '$1'++  #########+  # Bedove+  # @ref: http://www.bedove.com/product.html+  # @models: HY6501|HY5001|X12|X21|I5+  #########+  - regex: '; *(HY5001|HY6501|X12|X21|I5)(?: Build|\) AppleWebKit)'+    device_replacement: 'Bedove $1'+    brand_replacement: 'Bedove'+    model_replacement: '$1'++  #########+  # Benss+  # @ref: http://www.benss.net/+  #########+  - regex: '; *(JC-[^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: 'Benss $1'+    brand_replacement: 'Benss'+    model_replacement: '$1'++  #########+  # Blackberry+  # @ref: http://uk.blackberry.com/+  # @note: Android Apps seams to be used here+  #########+  - regex: '; *(BB) ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Blackberry'+    model_replacement: '$2'++  #########+  # Blackbird+  # @ref: http://iblackbird.co.kr+  #########+  - regex: '; *(BlackBird)[ _](I8.*?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'+  - regex: '; *(BlackBird)[ _](.*?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'++  #########+  # Blaupunkt+  # @ref: http://www.blaupunkt.com+  #########+  # Endeavour+  - regex: '; *([0-9]+BP[EM][^;/]*|Endeavour[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Blaupunkt $1'+    brand_replacement: 'Blaupunkt'+    model_replacement: '$1'++  #########+  # Blu+  # @ref: http://bluproducts.com+  #########+  - regex: '; *((?:BLU|Blu)[ _\-])([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Blu'+    model_replacement: '$2'+  # BMOBILE = operator branded device+  - regex: '; *(?:BMOBILE )?(Blu|BLU|DASH [^;/]+|VIVO 4\.3|TANK 4\.5)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Blu'+    model_replacement: '$1'++  #########+  # Blusens+  # @ref: http://www.blusens.com/es/?sg=1&sv=al&roc=1+  #########+  # tablet+  - regex: '; *(TOUCH\d[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Blusens'+    model_replacement: '$1'++  #########+  # Bmobile+  # @ref: http://bmobile.eu.com/?categoria=smartphones-2+  # @note: Might collide with Maxx as AX is used also there.+  #########+  # smartphone+  - regex: '; *(AX5\d+)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Bmobile'+    model_replacement: '$1'++  #########+  # bq+  # @ref: http://bqreaders.com+  #########+  - regex: '; *([Bb]q) ([^;/]+?);?(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'bq'+    model_replacement: '$2'+  - regex: '; *(Maxwell [^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'bq'+    model_replacement: '$1'++  #########+  # Braun Phototechnik+  # @ref: http://www.braun-phototechnik.de/en/products/list/~pcat.250/Tablet-PC.html+  #########+  - regex: '; *((?:B-Tab|B-TAB) ?\d[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Braun'+    model_replacement: '$1'++  #########+  # Broncho+  # @ref: http://www.broncho.cn/+  #########+  - regex: '; *(Broncho) ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'++  #########+  # Captiva+  # @ref: http://www.captiva-power.de+  #########+  - regex: '; *CAPTIVA ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Captiva $1'+    brand_replacement: 'Captiva'+    model_replacement: '$1'++  #########+  # Casio+  # @ref: http://www.casiogzone.com/+  #########+  - regex: '; *(C771|CAL21|IS11CA)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Casio'+    model_replacement: '$1'++  #########+  # Cat+  # @ref: http://www.cat-sound.com+  #########+  - regex: '; *(?:Cat|CAT) ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Cat $1'+    brand_replacement: 'Cat'+    model_replacement: '$1'+  - regex: '; *(?:Cat)(Nova.*?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Cat $1'+    brand_replacement: 'Cat'+    model_replacement: '$1'+  - regex: '; *(INM8002KP|ADM8000KP_[AB])(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Cat'+    model_replacement: 'Tablet PHOENIX 8.1J0'++  #########+  # Celkon+  # @ref: http://www.celkonmobiles.com/?_a=products+  # @models: A10, A19Q, A101, A105, A107, A107\+, A112, A118, A119, A119Q, A15, A19, A20, A200, A220, A225, A22 Race, A27, A58, A59, A60, A62, A63, A64, A66, A67, A69, A75, A77, A79, A8\+, A83, A85, A86, A87, A89 Ultima, A9\+, A90, A900, A95, A97i, A98, AR 40, AR 45, AR 50, ML5+  #########+  - regex: '; *(?:[Cc]elkon[ _\*]|CELKON[ _\*])([^;/\)]+) ?(?:Build|;|\))'+    device_replacement: '$1'+    brand_replacement: 'Celkon'+    model_replacement: '$1'+  - regex: 'Build/(?:[Cc]elkon)+_?([^;/_\)]+)'+    device_replacement: '$1'+    brand_replacement: 'Celkon'+    model_replacement: '$1'+  - regex: '; *(CT)-?(\d+)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Celkon'+    model_replacement: '$1$2'+  # smartphones+  - regex: '; *(A19|A19Q|A105|A107[^;/\)]*) ?(?:Build|;|\))'+    device_replacement: '$1'+    brand_replacement: 'Celkon'+    model_replacement: '$1'++  #########+  # ChangJia+  # @ref: http://www.cjshowroom.com/eproducts.aspx?classcode=004001001+  # @brief: China manufacturer makes tablets for different small brands+  #         (eg. http://www.zeepad.net/index.html)+  #########+  - regex: '; *(TPC[0-9]{4,5})(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'ChangJia'+    model_replacement: '$1'++  #########+  # Cloudfone+  # @ref: http://www.cloudfonemobile.com/+  #########+  - regex: '; *(Cloudfone)[ _](Excite)([^ ][^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2 $3'+    brand_replacement: 'Cloudfone'+    model_replacement: '$1 $2 $3'+  - regex: '; *(Excite|ICE)[ _](\d+[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Cloudfone $1 $2'+    brand_replacement: 'Cloudfone'+    model_replacement: 'Cloudfone $1 $2'+  - regex: '; *(Cloudfone|CloudPad)[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Cloudfone'+    model_replacement: '$1 $2'++  #########+  # Cmx+  # @ref: http://cmx.at/de/+  #########+  - regex: '; *((?:Aquila|Clanga|Rapax)[^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1'+    brand_replacement: 'Cmx'+    model_replacement: '$1'++  #########+  # CobyKyros+  # @ref: http://cobykyros.com+  # @note: Be careful with MID\d{3} from MpMan or Manta+  #########+  - regex: '; *(?:CFW-|Kyros )?(MID[0-9]{4}(?:[ABC]|SR|TV)?)(\(3G\)-4G| GB 8K| 3G| 8K| GB)? *(?:Build|[;\)])'+    device_replacement: 'CobyKyros $1$2'+    brand_replacement: 'CobyKyros'+    model_replacement: '$1$2'++  #########+  # Coolpad+  # @ref: ??+  #########+  - regex: '; *([^;/]*)Coolpad[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Coolpad'+    model_replacement: '$1$2'++  #########+  # Cube+  # @ref: http://www.cube-tablet.com/buy-products.html+  #########+  - regex: '; *(CUBE[ _])?([KU][0-9]+ ?GT.*?|A5300)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1$2'+    brand_replacement: 'Cube'+    model_replacement: '$2'++  #########+  # Cubot+  # @ref: http://www.cubotmall.com/+  #########+  - regex: '; *CUBOT ([^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1'+    brand_replacement: 'Cubot'+    model_replacement: '$1'+  - regex: '; *(BOBBY)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1'+    brand_replacement: 'Cubot'+    model_replacement: '$1'++  #########+  # Danew+  # @ref: http://www.danew.com/produits-tablette.php+  #########+  - regex: '; *(Dslide [^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Danew'+    model_replacement: '$1'++  #########+  # Dell+  # @ref: http://www.dell.com+  # @ref: http://www.softbank.jp/mobile/support/product/101dl/+  # @ref: http://www.softbank.jp/mobile/support/product/001dl/+  # @ref: http://developer.emnet.ne.jp/android.html+  # @ref: http://www.dell.com/in/p/mobile-xcd28/pd+  # @ref: http://www.dell.com/in/p/mobile-xcd35/pd+  #########+  - regex: '; *(XCD)[ _]?(28|35)(?: Build|\) AppleWebKit)'+    device_replacement: 'Dell $1$2'+    brand_replacement: 'Dell'+    model_replacement: '$1$2'+  - regex: '; *(001DL)(?: Build|\) AppleWebKit)'+    device_replacement: 'Dell $1'+    brand_replacement: 'Dell'+    model_replacement: 'Streak'+  - regex: '; *(?:Dell|DELL) (Streak)(?: Build|\) AppleWebKit)'+    device_replacement: 'Dell $1'+    brand_replacement: 'Dell'+    model_replacement: 'Streak'+  - regex: '; *(101DL|GS01|Streak Pro[^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: 'Dell $1'+    brand_replacement: 'Dell'+    model_replacement: 'Streak Pro'+  - regex: '; *([Ss]treak ?7)(?: Build|\) AppleWebKit)'+    device_replacement: 'Dell $1'+    brand_replacement: 'Dell'+    model_replacement: 'Streak 7'+  - regex: '; *(Mini-3iX)(?: Build|\) AppleWebKit)'+    device_replacement: 'Dell $1'+    brand_replacement: 'Dell'+    model_replacement: '$1'+  - regex: '; *(?:Dell|DELL)[ _](Aero|Venue|Thunder|Mini.*?|Streak[ _]Pro)(?: Build|\) AppleWebKit)'+    device_replacement: 'Dell $1'+    brand_replacement: 'Dell'+    model_replacement: '$1'+  - regex: '; *Dell[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Dell $1'+    brand_replacement: 'Dell'+    model_replacement: '$1'+  - regex: '; *Dell ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Dell $1'+    brand_replacement: 'Dell'+    model_replacement: '$1'++  #########+  # Denver+  # @ref: http://www.denver-electronics.com/tablets1/+  #########+  - regex: '; *(TA[CD]-\d+[^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Denver'+    model_replacement: '$1'++  #########+  # Dex+  # @ref: http://dex.ua/+  #########+  - regex: '; *(iP[789]\d{2}(?:-3G)?|IP10\d{2}(?:-8GB)?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Dex'+    model_replacement: '$1'++  #########+  # DNS AirTab+  # @ref: http://www.dns-shop.ru/+  #########+  - regex: '; *(AirTab)[ _\-]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'DNS'+    model_replacement: '$1 $2'++  #########+  # Docomo (Operator Branded Device)+  # @ref: http://www.ipentec.com/document/document.aspx?page=android-useragent+  #########+  - regex: '; *(F\-\d[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Fujitsu'+    model_replacement: '$1'+  - regex: '; *(HT-03A)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'HTC'+    model_replacement: 'Magic'+  - regex: '; *(HT\-\d[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'HTC'+    model_replacement: '$1'+  - regex: '; *(L\-\d[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'LG'+    model_replacement: '$1'+  - regex: '; *(N\-\d[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Nec'+    model_replacement: '$1'+  - regex: '; *(P\-\d[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Panasonic'+    model_replacement: '$1'+  - regex: '; *(SC\-\d[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Samsung'+    model_replacement: '$1'+  - regex: '; *(SH\-\d[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Sharp'+    model_replacement: '$1'+  - regex: '; *(SO\-\d[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'SonyEricsson'+    model_replacement: '$1'+  - regex: '; *(T\-0[12][^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Toshiba'+    model_replacement: '$1'++  #########+  # DOOV+  # @ref: http://www.doov.com.cn/+  #########+  - regex: '; *(DOOV)[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'DOOV'+    model_replacement: '$2'++  #########+  # Enot+  # @ref: http://www.enot.ua/+  #########+  - regex: '; *(Enot|ENOT)[ -]?([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Enot'+    model_replacement: '$2'++  #########+  # Evercoss+  # @ref: http://evercoss.com/android/+  #########+  - regex: '; *[^;/]+ Build/(?:CROSS|Cross)+[ _\-]([^\)]+)'+    device_replacement: 'CROSS $1'+    brand_replacement: 'Evercoss'+    model_replacement: 'Cross $1'+  - regex: '; *(CROSS|Cross)[ _\-]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Evercoss'+    model_replacement: 'Cross $2'++  #########+  # Explay+  # @ref: http://explay.ru/+  #########+  - regex: '; *Explay[_ ](.+?)(?:[\)]| Build)'+    device_replacement: '$1'+    brand_replacement: 'Explay'+    model_replacement: '$1'++  #########+  # Fly+  # @ref: http://www.fly-phone.com/+  #########+  - regex: '; *(IQ.*?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Fly'+    model_replacement: '$1'+  - regex: '; *(Fly|FLY)[ _](IQ[^;]+?|F[34]\d+[^;]*?);?(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Fly'+    model_replacement: '$2'++  #########+  # Fujitsu+  # @ref: http://www.fujitsu.com/global/+  #########+  - regex: '; *(M532|Q572|FJL21)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Fujitsu'+    model_replacement: '$1'++  #########+  # Galapad+  # @ref: http://www.galapad.net/product.html+  #########+  - regex: '; *(G1)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Galapad'+    model_replacement: '$1'++  #########+  # Geeksphone+  # @ref: http://www.geeksphone.com/+  #########+  - regex: '; *(Geeksphone) ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'++  #########+  # Gfive+  # @ref: http://www.gfivemobile.com/en+  #########+  #- regex: '; *(G\'?FIVE) ([^;/]+) Build' # there is a problem with python yaml parser here+  - regex: '; *(G[^F]?FIVE) ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Gfive'+    model_replacement: '$2'++  #########+  # Gionee+  # @ref: http://www.gionee.com/+  #########+  - regex: '; *(Gionee)[ _\-]([^;/]+?)(?:/[^;/]+|)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1 $2'+    brand_replacement: 'Gionee'+    model_replacement: '$2'+  - regex: '; *(GN\d+[A-Z]?|INFINITY_PASSION|Ctrl_V1)(?: Build|\) AppleWebKit)'+    device_replacement: 'Gionee $1'+    brand_replacement: 'Gionee'+    model_replacement: '$1'+  - regex: '; *(E3) Build/JOP40D'+    device_replacement: 'Gionee $1'+    brand_replacement: 'Gionee'+    model_replacement: '$1'+  - regex: '\sGIONEE[-\s_](\w*)'+    regex_flag: 'i'+    device_replacement: 'Gionee $1'+    brand_replacement: 'Gionee'+    model_replacement: '$1'++  #########+  # GoClever+  # @ref: http://www.goclever.com+  #########+  - regex: '; *((?:FONE|QUANTUM|INSIGNIA) \d+[^;/]*|PLAYTAB)(?: Build|\) AppleWebKit)'+    device_replacement: 'GoClever $1'+    brand_replacement: 'GoClever'+    model_replacement: '$1'+  - regex: '; *GOCLEVER ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'GoClever $1'+    brand_replacement: 'GoClever'+    model_replacement: '$1'++  #########+  # Google+  # @ref: http://www.google.de/glass/start/+  #########+  - regex: '; *(Glass \d+)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Google'+    model_replacement: '$1'+  - regex: '; *(Pixel.*?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Google'+    model_replacement: '$1'++  #########+  # Gigabyte+  # @ref: http://gsmart.gigabytecm.com/en/+  #########+  - regex: '; *(GSmart)[ -]([^/]+)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Gigabyte'+    model_replacement: '$1 $2'++  #########+  # Freescale development boards+  # @ref: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX53QSB+  #########+  - regex: '; *(imx5[13]_[^/]+)(?: Build|\) AppleWebKit)'+    device_replacement: 'Freescale $1'+    brand_replacement: 'Freescale'+    model_replacement: '$1'++  #########+  # Haier+  # @ref: http://www.haier.com/+  # @ref: http://www.haier.com/de/produkte/tablet/+  #########+  - regex: '; *Haier[ _\-]([^/]+)(?: Build|\) AppleWebKit)'+    device_replacement: 'Haier $1'+    brand_replacement: 'Haier'+    model_replacement: '$1'+  - regex: '; *(PAD1016)(?: Build|\) AppleWebKit)'+    device_replacement: 'Haipad $1'+    brand_replacement: 'Haipad'+    model_replacement: '$1'++  #########+  # Haipad+  # @ref: http://www.haipad.net/+  # @models: V7P|M7SM7S|M9XM9X|M7XM7X|M9|M8|M7-M|M1002|M7|M701+  #########+  - regex: '; *(M701|M7|M8|M9)(?: Build|\) AppleWebKit)'+    device_replacement: 'Haipad $1'+    brand_replacement: 'Haipad'+    model_replacement: '$1'++  #########+  # Hannspree+  # @ref: http://www.hannspree.eu/+  # @models: SN10T1|SN10T2|SN70T31B|SN70T32W+  #########+  - regex: '; *(SN\d+T[^;\)/]*)(?: Build|[;\)])'+    device_replacement: 'Hannspree $1'+    brand_replacement: 'Hannspree'+    model_replacement: '$1'++  #########+  # HCLme+  # @ref: http://www.hclmetablet.com/india/+  #########+  - regex: 'Build/HCL ME Tablet ([^;\)]+)[\);]'+    device_replacement: 'HCLme $1'+    brand_replacement: 'HCLme'+    model_replacement: '$1'+  - regex: '; *([^;\/]+) Build/HCL'+    device_replacement: 'HCLme $1'+    brand_replacement: 'HCLme'+    model_replacement: '$1'++  #########+  # Hena+  # @ref: http://www.henadigital.com/en/product/index.asp?id=6+  #########+  - regex: '; *(MID-?\d{4}C[EM])(?: Build|\) AppleWebKit)'+    device_replacement: 'Hena $1'+    brand_replacement: 'Hena'+    model_replacement: '$1'++  #########+  # Hisense+  # @ref: http://www.hisense.com/+  #########+  - regex: '; *(EG\d{2,}|HS-[^;/]+|MIRA[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Hisense $1'+    brand_replacement: 'Hisense'+    model_replacement: '$1'+  - regex: '; *(andromax[^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: 'Hisense $1'+    brand_replacement: 'Hisense'+    model_replacement: '$1'++  #########+  # hitech+  # @ref: http://www.hitech-mobiles.com/+  #########+  - regex: '; *(?:AMAZE[ _](S\d+)|(S\d+)[ _]AMAZE)(?: Build|\) AppleWebKit)'+    device_replacement: 'AMAZE $1$2'+    brand_replacement: 'hitech'+    model_replacement: 'AMAZE $1$2'++  #########+  # HP+  # @ref: http://www.hp.com/+  #########+  - regex: '; *(PlayBook)(?: Build|\) AppleWebKit)'+    device_replacement: 'HP $1'+    brand_replacement: 'HP'+    model_replacement: '$1'+  - regex: '; *HP ([^/]+)(?: Build|\) AppleWebKit)'+    device_replacement: 'HP $1'+    brand_replacement: 'HP'+    model_replacement: '$1'+  - regex: '; *([^/]+_tenderloin)(?: Build|\) AppleWebKit)'+    device_replacement: 'HP TouchPad'+    brand_replacement: 'HP'+    model_replacement: 'TouchPad'++  #########+  # Huawei+  # @ref: http://www.huaweidevice.com+  # @note: Needs to be before HTC due to Desire HD Build on U8815+  #########+  - regex: '; *(HUAWEI |Huawei-|)([UY][^;/]+) Build/(?:Huawei|HUAWEI)([UY][^\);]+)\)'+    device_replacement: '$1$2'+    brand_replacement: 'Huawei'+    model_replacement: '$2'+  - regex: '; *([^;/]+) Build[/ ]Huawei(MT1-U06|[A-Z]+\d+[^\);]+)\)'+    device_replacement: '$1'+    brand_replacement: 'Huawei'+    model_replacement: '$2'+  - regex: '; *(S7|M860) Build'+    device_replacement: '$1'+    brand_replacement: 'Huawei'+    model_replacement: '$1'+  - regex: '; *((?:HUAWEI|Huawei)[ \-]?)(MediaPad) Build'+    device_replacement: '$1$2'+    brand_replacement: 'Huawei'+    model_replacement: '$2'+  - regex: '; *((?:HUAWEI[ _]?|Huawei[ _]|)Ascend[ _])([^;/]+) Build'+    device_replacement: '$1$2'+    brand_replacement: 'Huawei'+    model_replacement: '$2'+  - regex: '; *((?:HUAWEI|Huawei)[ _\-]?)((?:G700-|MT-)[^;/]+) Build'+    device_replacement: '$1$2'+    brand_replacement: 'Huawei'+    model_replacement: '$2'+  - regex: '; *((?:HUAWEI|Huawei)[ _\-]?)([^;/]+) Build'+    device_replacement: '$1$2'+    brand_replacement: 'Huawei'+    model_replacement: '$2'+  - regex: '; *(MediaPad[^;]+|SpringBoard) Build/Huawei'+    device_replacement: '$1'+    brand_replacement: 'Huawei'+    model_replacement: '$1'+  - regex: '; *([^;]+) Build/(?:Huawei|HUAWEI)'+    device_replacement: '$1'+    brand_replacement: 'Huawei'+    model_replacement: '$1'+  - regex: '; *([Uu])([89]\d{3}) Build'+    device_replacement: '$1$2'+    brand_replacement: 'Huawei'+    model_replacement: 'U$2'+  - regex: '; *(?:Ideos |IDEOS )(S7) Build'+    device_replacement: 'Huawei Ideos$1'+    brand_replacement: 'Huawei'+    model_replacement: 'Ideos$1'+  - regex: '; *(?:Ideos |IDEOS )([^;/]+\s*|\s*)Build'+    device_replacement: 'Huawei Ideos$1'+    brand_replacement: 'Huawei'+    model_replacement: 'Ideos$1'+  - regex: '; *(Orange Daytona|Pulse|Pulse Mini|Vodafone 858|C8500|C8600|C8650|C8660|Nexus 6P|ATH-.+?) Build[/ ]'+    device_replacement: 'Huawei $1'+    brand_replacement: 'Huawei'+    model_replacement: '$1'+  - regex: '; *((?:[A-Z]{3})\-L[A-Za0-9]{2})[\)]'+    device_replacement: 'Huawei $1'+    brand_replacement: 'Huawei'+    model_replacement: '$1'++  #########+  # HTC+  # @ref: http://www.htc.com/www/products/+  # @ref: http://en.wikipedia.org/wiki/List_of_HTC_phones+  #########++  - regex: '; *HTC[ _]([^;]+); Windows Phone'+    device_replacement: 'HTC $1'+    brand_replacement: 'HTC'+    model_replacement: '$1'++  # Android HTC with Version Number matcher+  # ; HTC_0P3Z11/1.12.161.3 Build+  # ;HTC_A3335 V2.38.841.1 Build+  - regex: '; *(?:HTC[ _/])+([^ _/]+)(?:[/\\]1\.0 | V|/| +)\d+\.\d[\d\.]*(?: *Build|\))'+    device_replacement: 'HTC $1'+    brand_replacement: 'HTC'+    model_replacement: '$1'+  - regex: '; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)|)(?:[/\\]1\.0 | V|/| +)\d+\.\d[\d\.]*(?: *Build|\))'+    device_replacement: 'HTC $1 $2'+    brand_replacement: 'HTC'+    model_replacement: '$1 $2'+  - regex: '; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)|)|)(?:[/\\]1\.0 | V|/| +)\d+\.\d[\d\.]*(?: *Build|\))'+    device_replacement: 'HTC $1 $2 $3'+    brand_replacement: 'HTC'+    model_replacement: '$1 $2 $3'+  - regex: '; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)|)|)|)(?:[/\\]1\.0 | V|/| +)\d+\.\d[\d\.]*(?: *Build|\))'+    device_replacement: 'HTC $1 $2 $3 $4'+    brand_replacement: 'HTC'+    model_replacement: '$1 $2 $3 $4'++  # Android HTC without Version Number matcher+  - regex: '; *(?:(?:HTC|htc)(?:_blocked|)[ _/])+([^ _/;]+)(?: *Build|[;\)]| - )'+    device_replacement: 'HTC $1'+    brand_replacement: 'HTC'+    model_replacement: '$1'+  - regex: '; *(?:(?:HTC|htc)(?:_blocked|)[ _/])+([^ _/]+)(?:[ _/]([^ _/;\)]+)|)(?: *Build|[;\)]| - )'+    device_replacement: 'HTC $1 $2'+    brand_replacement: 'HTC'+    model_replacement: '$1 $2'+  - regex: '; *(?:(?:HTC|htc)(?:_blocked|)[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/;\)]+)|)|)(?: *Build|[;\)]| - )'+    device_replacement: 'HTC $1 $2 $3'+    brand_replacement: 'HTC'+    model_replacement: '$1 $2 $3'+  - regex: '; *(?:(?:HTC|htc)(?:_blocked|)[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ /;]+)|)|)|)(?: *Build|[;\)]| - )'+    device_replacement: 'HTC $1 $2 $3 $4'+    brand_replacement: 'HTC'+    model_replacement: '$1 $2 $3 $4'++  # HTC Streaming Player+  - regex: 'HTC Streaming Player [^\/]*/[^\/]*/ htc_([^/]+) /'+    device_replacement: 'HTC $1'+    brand_replacement: 'HTC'+    model_replacement: '$1'+  # general matcher for anything else+  - regex: '(?:[;,] *|^)(?:htccn_chs-|)HTC[ _-]?([^;]+?)(?: *Build|clay|Android|-?Mozilla| Opera| Profile| UNTRUSTED|[;/\(\)]|$)'+    regex_flag: 'i'+    device_replacement: 'HTC $1'+    brand_replacement: 'HTC'+    model_replacement: '$1'+  # Android matchers without HTC+  - regex: '; *(A6277|ADR6200|ADR6300|ADR6350|ADR6400[A-Z]*|ADR6425[A-Z]*|APX515CKT|ARIA|Desire[^_ ]*|Dream|EndeavorU|Eris|Evo|Flyer|HD2|Hero|HERO200|Hero CDMA|HTL21|Incredible|Inspire[A-Z0-9]*|Legend|Liberty|Nexus ?(?:One|HD2)|One|One S C2|One[ _]?(?:S|V|X\+?)\w*|PC36100|PG06100|PG86100|S31HT|Sensation|Wildfire)(?: Build|[/;\(\)])'+    regex_flag: 'i'+    device_replacement: 'HTC $1'+    brand_replacement: 'HTC'+    model_replacement: '$1'+  - regex: '; *(ADR6200|ADR6400L|ADR6425LVW|Amaze|DesireS?|EndeavorU|Eris|EVO|Evo\d[A-Z]+|HD2|IncredibleS?|Inspire[A-Z0-9]*|Inspire[A-Z0-9]*|Sensation[A-Z0-9]*|Wildfire)[ _-](.+?)(?:[/;\)]|Build|MIUI|1\.0)'+    regex_flag: 'i'+    device_replacement: 'HTC $1 $2'+    brand_replacement: 'HTC'+    model_replacement: '$1 $2'++  #########+  # Hyundai+  # @ref: http://www.hyundaitechnologies.com+  #########+  - regex: '; *HYUNDAI (T\d[^/]*)(?: Build|\) AppleWebKit)'+    device_replacement: 'Hyundai $1'+    brand_replacement: 'Hyundai'+    model_replacement: '$1'+  - regex: '; *HYUNDAI ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Hyundai $1'+    brand_replacement: 'Hyundai'+    model_replacement: '$1'+  # X900? http://www.amazon.com/Hyundai-X900-Retina-Android-Bluetooth/dp/B00AO07H3O+  - regex: '; *(X700|Hold X|MB-6900)(?: Build|\) AppleWebKit)'+    device_replacement: 'Hyundai $1'+    brand_replacement: 'Hyundai'+    model_replacement: '$1'++  #########+  # iBall+  # @ref: http://www.iball.co.in/Category/Mobiles/22+  #########+  - regex: '; *(?:iBall[ _\-]|)(Andi)[ _]?(\d[^;/]*)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1 $2'+    brand_replacement: 'iBall'+    model_replacement: '$1 $2'+  - regex: '; *(IBall)(?:[ _]([^;/]+?)|)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1 $2'+    brand_replacement: 'iBall'+    model_replacement: '$2'++  #########+  # IconBIT+  # @ref: http://www.iconbit.com/catalog/tablets/+  #########+  - regex: '; *(NT-\d+[^ ;/]*|Net[Tt]AB [^;/]+|Mercury [A-Z]+|iconBIT)(?: S/N:[^;/]+|)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'IconBIT'+    model_replacement: '$1'++  #########+  # IMO+  # @ref: http://www.ponselimo.com/+  #########+  - regex: '; *(IMO)[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1 $2'+    brand_replacement: 'IMO'+    model_replacement: '$2'++  #########+  # i-mobile+  # @ref: http://www.i-mobilephone.com/+  #########+  - regex: '; *i-?mobile[ _]([^/]+)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: 'i-mobile $1'+    brand_replacement: 'imobile'+    model_replacement: '$1'+  - regex: '; *(i-(?:style|note)[^/]*)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: 'i-mobile $1'+    brand_replacement: 'imobile'+    model_replacement: '$1'++  #########+  # Impression+  # @ref: http://impression.ua/planshetnye-kompyutery+  #########+  - regex: '; *(ImPAD) ?(\d+(?:.)*?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Impression'+    model_replacement: '$1 $2'++  #########+  # Infinix+  # @ref: http://www.infinixmobility.com/index.html+  #########+  - regex: '; *(Infinix)[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Infinix'+    model_replacement: '$2'++  #########+  # Informer+  # @ref: ??+  #########+  - regex: '; *(Informer)[ \-]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Informer'+    model_replacement: '$2'++  #########+  # Intenso+  # @ref: http://www.intenso.de+  # @models: 7":TAB 714,TAB 724;8":TAB 814,TAB 824;10":TAB 1004+  #########+  - regex: '; *(TAB) ?([78][12]4)(?: Build|\) AppleWebKit)'+    device_replacement: 'Intenso $1'+    brand_replacement: 'Intenso'+    model_replacement: '$1 $2'++  #########+  # Intex+  # @ref: http://intexmobile.in/index.aspx+  # @note: Zync also offers a "Cloud Z5" device+  #########+  # smartphones+  - regex: '; *(?:Intex[ _]|)(AQUA|Aqua)([ _\.\-])([^;/]+?) *(?:Build|;)'+    device_replacement: '$1$2$3'+    brand_replacement: 'Intex'+    model_replacement: '$1 $3'+  # matches "INTEX CLOUD X1"+  - regex: '; *(?:INTEX|Intex)(?:[_ ]([^\ _;/]+))(?:[_ ]([^\ _;/]+)|) *(?:Build|;)'+    device_replacement: '$1 $2'+    brand_replacement: 'Intex'+    model_replacement: '$1 $2'+  # tablets+  - regex: '; *([iI]Buddy)[ _]?(Connect)(?:_|\?_| |)([^;/]*) *(?:Build|;)'+    device_replacement: '$1 $2 $3'+    brand_replacement: 'Intex'+    model_replacement: 'iBuddy $2 $3'+  - regex: '; *(I-Buddy)[ _]([^;/]+?) *(?:Build|;)'+    device_replacement: '$1 $2'+    brand_replacement: 'Intex'+    model_replacement: 'iBuddy $2'++  #########+  # iOCEAN+  # @ref: http://www.iocean.cc/+  #########+  - regex: '; *(iOCEAN) ([^/]+)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1 $2'+    brand_replacement: 'iOCEAN'+    model_replacement: '$2'++  #########+  # i.onik+  # @ref: http://www.i-onik.de/+  #########+  - regex: '; *(TP\d+(?:\.\d+|)\-\d[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'ionik $1'+    brand_replacement: 'ionik'+    model_replacement: '$1'++  #########+  # IRU.ru+  # @ref: http://www.iru.ru/catalog/soho/planetable/+  #########+  - regex: '; *(M702pro)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Iru'+    model_replacement: '$1'++  #########+  # Itel Mobile+  # @ref: https://www.itel-mobile.com/global/products/+  #########+  - regex: '; *itel ([^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: 'Itel $1'+    brand_replacement: 'Itel'+    model_replacement: '$1'++  #########+  # Ivio+  # @ref: http://www.ivio.com/mobile.php+  # @models: DG80,DG20,DE38,DE88,MD70+  #########+  - regex: '; *(DE88Plus|MD70)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Ivio'+    model_replacement: '$1'+  - regex: '; *IVIO[_\-]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Ivio'+    model_replacement: '$1'++  #########+  # Jaytech+  # @ref: http://www.jay-tech.de/jaytech/servlet/frontend/+  #########+  - regex: '; *(TPC-\d+|JAY-TECH)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Jaytech'+    model_replacement: '$1'++  #########+  # Jiayu+  # @ref: http://www.ejiayu.com/en/Product.html+  #########+  - regex: '; *(JY-[^;/]+|G[234]S?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Jiayu'+    model_replacement: '$1'++  #########+  # JXD+  # @ref: http://www.jxd.hk/+  #########+  - regex: '; *(JXD)[ _\-]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'JXD'+    model_replacement: '$2'++  #########+  # Karbonn+  # @ref: http://www.karbonnmobiles.com/products_tablet.php+  #########+  - regex: '; *Karbonn[ _]?([^;/]+) *(?:Build|;)'+    regex_flag: 'i'+    device_replacement: '$1'+    brand_replacement: 'Karbonn'+    model_replacement: '$1'+  - regex: '; *([^;]+) Build/Karbonn'+    device_replacement: '$1'+    brand_replacement: 'Karbonn'+    model_replacement: '$1'+  - regex: '; *(A11|A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2|Titanium S\d) +Build'+    device_replacement: '$1'+    brand_replacement: 'Karbonn'+    model_replacement: '$1'++  #########+  # KDDI (Operator Branded Device)+  # @ref: http://www.ipentec.com/document/document.aspx?page=android-useragent+  #########+  - regex: '; *(IS01|IS03|IS05|IS\d{2}SH)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Sharp'+    model_replacement: '$1'+  - regex: '; *(IS04)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Regza'+    model_replacement: '$1'+  - regex: '; *(IS06|IS\d{2}PT)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Pantech'+    model_replacement: '$1'+  - regex: '; *(IS11S)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'SonyEricsson'+    model_replacement: 'Xperia Acro'+  - regex: '; *(IS11CA)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Casio'+    model_replacement: 'GzOne $1'+  - regex: '; *(IS11LG)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'LG'+    model_replacement: 'Optimus X'+  - regex: '; *(IS11N)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Medias'+    model_replacement: '$1'+  - regex: '; *(IS11PT)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Pantech'+    model_replacement: 'MIRACH'+  - regex: '; *(IS12F)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Fujitsu'+    model_replacement: 'Arrows ES'+  # @ref: https://ja.wikipedia.org/wiki/IS12M+  - regex: '; *(IS12M)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Motorola'+    model_replacement: 'XT909'+  - regex: '; *(IS12S)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'SonyEricsson'+    model_replacement: 'Xperia Acro HD'+  - regex: '; *(ISW11F)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Fujitsu'+    model_replacement: 'Arrowz Z'+  - regex: '; *(ISW11HT)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'HTC'+    model_replacement: 'EVO'+  - regex: '; *(ISW11K)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Kyocera'+    model_replacement: 'DIGNO'+  - regex: '; *(ISW11M)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Motorola'+    model_replacement: 'Photon'+  - regex: '; *(ISW11SC)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Samsung'+    model_replacement: 'GALAXY S II WiMAX'+  - regex: '; *(ISW12HT)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'HTC'+    model_replacement: 'EVO 3D'+  - regex: '; *(ISW13HT)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'HTC'+    model_replacement: 'J'+  - regex: '; *(ISW?[0-9]{2}[A-Z]{0,2})(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'KDDI'+    model_replacement: '$1'+  - regex: '; *(INFOBAR [^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'KDDI'+    model_replacement: '$1'++  #########+  # Kingcom+  # @ref: http://www.e-kingcom.com+  #########+  - regex: '; *(JOYPAD|Joypad)[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Kingcom'+    model_replacement: '$1 $2'++  #########+  # Kobo+  # @ref: https://en.wikipedia.org/wiki/Kobo_Inc.+  # @ref: http://www.kobo.com/devices#tablets+  #########+  - regex: '; *(Vox|VOX|Arc|K080)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1'+    brand_replacement: 'Kobo'+    model_replacement: '$1'+  - regex: '\b(Kobo Touch)\b'+    device_replacement: '$1'+    brand_replacement: 'Kobo'+    model_replacement: '$1'++  #########+  # K-Touch+  # @ref: ??+  #########+  - regex: '; *(K-Touch)[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1 $2'+    brand_replacement: 'Ktouch'+    model_replacement: '$2'++  #########+  # KT Tech+  # @ref: http://www.kttech.co.kr+  #########+  - regex: '; *((?:EV|KM)-S\d+[A-Z]?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1'+    brand_replacement: 'KTtech'+    model_replacement: '$1'++  #########+  # Kyocera+  # @ref: http://www.android.com/devices/?country=all&m=kyocera+  #########+  - regex: '; *(Zio|Hydro|Torque|Event|EVENT|Echo|Milano|Rise|URBANO PROGRESSO|WX04K|WX06K|WX10K|KYL21|101K|C5[12]\d{2})(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Kyocera'+    model_replacement: '$1'++  #########+  # Lava+  # @ref: http://www.lavamobiles.com/+  #########+  - regex: '; *(?:LAVA[ _]|)IRIS[ _\-]?([^/;\)]+) *(?:;|\)|Build)'+    regex_flag: 'i'+    device_replacement: 'Iris $1'+    brand_replacement: 'Lava'+    model_replacement: 'Iris $1'+  - regex: '; *LAVA[ _]([^;/]+) Build'+    device_replacement: '$1'+    brand_replacement: 'Lava'+    model_replacement: '$1'++  #########+  # Lemon+  # @ref: http://www.lemonmobiles.com/products.php?type=1+  #########+  - regex: '; *(?:(Aspire A1)|(?:LEMON|Lemon)[ _]([^;/]+))_?(?: Build|\) AppleWebKit)'+    device_replacement: 'Lemon $1$2'+    brand_replacement: 'Lemon'+    model_replacement: '$1$2'++  #########+  # Lenco+  # @ref: http://www.lenco.com/c/tablets/+  #########+  - regex: '; *(TAB-1012)(?: Build|\) AppleWebKit)'+    device_replacement: 'Lenco $1'+    brand_replacement: 'Lenco'+    model_replacement: '$1'+  - regex: '; Lenco ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Lenco $1'+    brand_replacement: 'Lenco'+    model_replacement: '$1'++  #########+  # Lenovo+  # @ref: http://support.lenovo.com/en_GB/downloads/default.page?#+  #########+  - regex: '; *(A1_07|A2107A-H|S2005A-H|S1-37AH0) Build'+    device_replacement: '$1'+    brand_replacement: 'Lenovo'+    model_replacement: '$1'+  - regex: '; *(Idea[Tp]ab)[ _]([^;/]+);? Build'+    device_replacement: 'Lenovo $1 $2'+    brand_replacement: 'Lenovo'+    model_replacement: '$1 $2'+  - regex: '; *(Idea(?:Tab|pad)) ?([^;/]+) Build'+    device_replacement: 'Lenovo $1 $2'+    brand_replacement: 'Lenovo'+    model_replacement: '$1 $2'+  - regex: '; *(ThinkPad) ?(Tablet) Build/'+    device_replacement: 'Lenovo $1 $2'+    brand_replacement: 'Lenovo'+    model_replacement: '$1 $2'+  - regex: '; *(?:LNV-|)(?:=?[Ll]enovo[ _\-]?|LENOVO[ _])(.+?)(?:Build|[;/\)])'+    device_replacement: 'Lenovo $1'+    brand_replacement: 'Lenovo'+    model_replacement: '$1'+  - regex: '[;,] (?:Vodafone |)(SmartTab) ?(II) ?(\d+) Build/'+    device_replacement: 'Lenovo $1 $2 $3'+    brand_replacement: 'Lenovo'+    model_replacement: '$1 $2 $3'+  - regex: '; *(?:Ideapad |)K1 Build/'+    device_replacement: 'Lenovo Ideapad K1'+    brand_replacement: 'Lenovo'+    model_replacement: 'Ideapad K1'+  - regex: '; *(3GC101|3GW10[01]|A390) Build/'+    device_replacement: '$1'+    brand_replacement: 'Lenovo'+    model_replacement: '$1'+  - regex: '\b(?:Lenovo|LENOVO)+[ _\-]?([^,;:/ ]+)'+    device_replacement: 'Lenovo $1'+    brand_replacement: 'Lenovo'+    model_replacement: '$1'++  #########+  # Lexibook+  # @ref: http://www.lexibook.com/fr+  #########+  - regex: '; *(MFC\d+)[A-Z]{2}([^;,/]*),?(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Lexibook'+    model_replacement: '$1$2'++  #########+  # LG+  # @ref: http://www.lg.com/uk/mobile+  #########+  - regex: '; *(E[34][0-9]{2}|LS[6-8][0-9]{2}|VS[6-9][0-9]+[^;/]+|Nexus 4|Nexus 5X?|GT540f?|Optimus (?:2X|G|4X HD)|OptimusX4HD) *(?:Build|;)'+    device_replacement: '$1'+    brand_replacement: 'LG'+    model_replacement: '$1'+  - regex: '[;:] *(L-\d+[A-Z]|LGL\d+[A-Z]?)(?:/V\d+|) *(?:Build|[;\)])'+    device_replacement: '$1'+    brand_replacement: 'LG'+    model_replacement: '$1'+  - regex: '; *(LG-)([A-Z]{1,2}\d{2,}[^,;/\)\(]*?)(?:Build| V\d+|[,;/\)\(]|$)'+    device_replacement: '$1$2'+    brand_replacement: 'LG'+    model_replacement: '$2'+  - regex: '; *(LG[ \-]|LG)([^;/]+)[;/]? Build'+    device_replacement: '$1$2'+    brand_replacement: 'LG'+    model_replacement: '$2'+  - regex: '^(LG)-([^;/]+)/ Mozilla/.*; Android'+    device_replacement: '$1 $2'+    brand_replacement: 'LG'+    model_replacement: '$2'+  - regex: '(Web0S); Linux/(SmartTV)'+    device_replacement: 'LG $1 $2'+    brand_replacement: 'LG'+    model_replacement: '$1 $2'++  #########+  # Malata+  # @ref: http://www.malata.com/en/products.aspx?classid=680+  #########+  - regex: '; *((?:SMB|smb)[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Malata'+    model_replacement: '$1'+  - regex: '; *(?:Malata|MALATA) ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Malata'+    model_replacement: '$1'++  #########+  # Manta+  # @ref: http://www.manta.com.pl/en+  #########+  - regex: '; *(MS[45][0-9]{3}|MID0[568][NS]?|MID[1-9]|MID[78]0[1-9]|MID970[1-9]|MID100[1-9])(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Manta'+    model_replacement: '$1'++  #########+  # Match+  # @ref: http://www.match.net.cn/products.asp+  #########+  - regex: '; *(M1052|M806|M9000|M9100|M9701|MID100|MID120|MID125|MID130|MID135|MID140|MID701|MID710|MID713|MID727|MID728|MID731|MID732|MID733|MID735|MID736|MID737|MID760|MID800|MID810|MID820|MID830|MID833|MID835|MID860|MID900|MID930|MID933|MID960|MID980)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Match'+    model_replacement: '$1'++  #########+  # Maxx+  # @ref: http://www.maxxmobile.in/+  # @models: Maxx MSD7-Play, Maxx MX245+ Trance, Maxx AX8 Race, Maxx MSD7 3G- AX50, Maxx Genx Droid 7 - AX40, Maxx AX5 Duo,+  #   Maxx AX3 Duo, Maxx AX3, Maxx AX8 Note II (Note 2), Maxx AX8 Note I, Maxx AX8, Maxx AX5 Plus, Maxx MSD7 Smarty,+  #   Maxx AX9Z Race,+  #   Maxx MT150, Maxx MQ601, Maxx M2020, Maxx Sleek MX463neo, Maxx MX525, Maxx MX192-Tune, Maxx Genx Droid 7 AX353,+  # @note: Need more User-Agents!!!+  #########+  - regex: '; *(GenxDroid7|MSD7.*?|AX\d.*?|Tab 701|Tab 722)(?: Build|\) AppleWebKit)'+    device_replacement: 'Maxx $1'+    brand_replacement: 'Maxx'+    model_replacement: '$1'++  #########+  # Mediacom+  # @ref: http://www.mediacomeurope.it/+  #########+  - regex: '; *(M-PP[^;/]+|PhonePad ?\d{2,}[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Mediacom $1'+    brand_replacement: 'Mediacom'+    model_replacement: '$1'+  - regex: '; *(M-MP[^;/]+|SmartPad ?\d{2,}[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Mediacom $1'+    brand_replacement: 'Mediacom'+    model_replacement: '$1'++  #########+  # Medion+  # @ref: http://www.medion.com/en/+  #########+  - regex: '; *(?:MD_|)LIFETAB[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: 'Medion Lifetab $1'+    brand_replacement: 'Medion'+    model_replacement: 'Lifetab $1'+  - regex: '; *MEDION ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Medion $1'+    brand_replacement: 'Medion'+    model_replacement: '$1'++  #########+  # Meizu+  # @ref: http://www.meizu.com+  #########+  - regex: '; *(M030|M031|M035|M040|M065|m9)(?: Build|\) AppleWebKit)'+    device_replacement: 'Meizu $1'+    brand_replacement: 'Meizu'+    model_replacement: '$1'+  - regex: '; *(?:meizu_|MEIZU )(.+?) *(?:Build|[;\)])'+    device_replacement: 'Meizu $1'+    brand_replacement: 'Meizu'+    model_replacement: '$1'++  #########+  # Micromax+  # @ref: http://www.micromaxinfo.com+  #########+  - regex: '; *(?:Micromax[ _](A111|A240)|(A111|A240)) Build'+    regex_flag: 'i'+    device_replacement: 'Micromax $1$2'+    brand_replacement: 'Micromax'+    model_replacement: '$1$2'+  - regex: '; *Micromax[ _](A\d{2,3}[^;/]*) Build'+    regex_flag: 'i'+    device_replacement: 'Micromax $1'+    brand_replacement: 'Micromax'+    model_replacement: '$1'+  # be carefull here with Acer e.g. A500+  - regex: '; *(A\d{2}|A[12]\d{2}|A90S|A110Q) Build'+    regex_flag: 'i'+    device_replacement: 'Micromax $1'+    brand_replacement: 'Micromax'+    model_replacement: '$1'+  - regex: '; *Micromax[ _](P\d{3}[^;/]*) Build'+    regex_flag: 'i'+    device_replacement: 'Micromax $1'+    brand_replacement: 'Micromax'+    model_replacement: '$1'+  - regex: '; *(P\d{3}|P\d{3}\(Funbook\)) Build'+    regex_flag: 'i'+    device_replacement: 'Micromax $1'+    brand_replacement: 'Micromax'+    model_replacement: '$1'++  #########+  # Mito+  # @ref: http://new.mitomobile.com/+  #########+  - regex: '; *(MITO)[ _\-]?([^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1 $2'+    brand_replacement: 'Mito'+    model_replacement: '$2'++  #########+  # Mobistel+  # @ref: http://www.mobistel.com/+  #########+  - regex: '; *(Cynus)[ _](F5|T\d|.+?) *(?:Build|[;/\)])'+    regex_flag: 'i'+    device_replacement: '$1 $2'+    brand_replacement: 'Mobistel'+    model_replacement: '$1 $2'++  #########+  # Modecom+  # @ref: http://www.modecom.eu/tablets/portal/+  #########+  - regex: '; *(MODECOM |)(FreeTab) ?([^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1$2 $3'+    brand_replacement: 'Modecom'+    model_replacement: '$2 $3'+  - regex: '; *(MODECOM )([^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1 $2'+    brand_replacement: 'Modecom'+    model_replacement: '$2'++  #########+  # Motorola+  # @ref: http://www.motorola.com/us/shop-all-mobile-phones/+  #########+  - regex: '; *(MZ\d{3}\+?|MZ\d{3} 4G|Xoom|XOOM[^;/]*) Build'+    device_replacement: 'Motorola $1'+    brand_replacement: 'Motorola'+    model_replacement: '$1'+  - regex: '; *(Milestone )(XT[^;/]*) Build'+    device_replacement: 'Motorola $1$2'+    brand_replacement: 'Motorola'+    model_replacement: '$2'+  - regex: '; *(Motoroi ?x|Droid X|DROIDX) Build'+    regex_flag: 'i'+    device_replacement: 'Motorola $1'+    brand_replacement: 'Motorola'+    model_replacement: 'DROID X'+  - regex: '; *(Droid[^;/]*|DROID[^;/]*|Milestone[^;/]*|Photon|Triumph|Devour|Titanium) Build'+    device_replacement: 'Motorola $1'+    brand_replacement: 'Motorola'+    model_replacement: '$1'+  - regex: '; *(A555|A85[34][^;/]*|A95[356]|ME[58]\d{2}\+?|ME600|ME632|ME722|MB\d{3}\+?|MT680|MT710|MT870|MT887|MT917|WX435|WX453|WX44[25]|XT\d{3,4}[A-Z\+]*|CL[iI]Q|CL[iI]Q XT) Build'+    device_replacement: '$1'+    brand_replacement: 'Motorola'+    model_replacement: '$1'+  - regex: '; *(Motorola MOT-|Motorola[ _\-]|MOT\-?)([^;/]+) Build'+    device_replacement: '$1$2'+    brand_replacement: 'Motorola'+    model_replacement: '$2'+  - regex: '; *(Moto[_ ]?|MOT\-)([^;/]+) Build'+    device_replacement: '$1$2'+    brand_replacement: 'Motorola'+    model_replacement: '$2'++  #########+  # MpMan+  # @ref: http://www.mpmaneurope.com+  #########+  - regex: '; *((?:MP[DQ]C|MPG\d{1,4}|MP\d{3,4}|MID(?:(?:10[234]|114|43|7[247]|8[24]|7)C|8[01]1))[^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Mpman'+    model_replacement: '$1'++  #########+  # MSI+  # @ref: http://www.msi.com/product/windpad/+  #########+  - regex: '; *(?:MSI[ _]|)(Primo\d+|Enjoy[ _\-][^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1'+    brand_replacement: 'Msi'+    model_replacement: '$1'++  #########+  # Multilaser+  # http://www.multilaser.com.br/listagem_produtos.php?cat=5+  #########+  - regex: '; *Multilaser[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Multilaser'+    model_replacement: '$1'++  #########+  # MyPhone+  # @ref: http://myphone.com.ph/+  #########+  - regex: '; *(My)[_]?(Pad)[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2 $3'+    brand_replacement: 'MyPhone'+    model_replacement: '$1$2 $3'+  - regex: '; *(My)\|?(Phone)[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2 $3'+    brand_replacement: 'MyPhone'+    model_replacement: '$3'+  - regex: '; *(A\d+)[ _](Duo|)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1 $2'+    brand_replacement: 'MyPhone'+    model_replacement: '$1 $2'++  #########+  # Mytab+  # @ref: http://www.mytab.eu/en/category/mytab-products/+  #########+  - regex: '; *(myTab[^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Mytab'+    model_replacement: '$1'++  #########+  # Nabi+  # @ref: https://www.nabitablet.com+  #########+  - regex: '; *(NABI2?-)([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Nabi'+    model_replacement: '$2'++  #########+  # Nec Medias+  # @ref: http://www.n-keitai.com/+  #########+  - regex: '; *(N-\d+[CDE])(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Nec'+    model_replacement: '$1'+  - regex: '; ?(NEC-)(.*?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Nec'+    model_replacement: '$2'+  - regex: '; *(LT-NA7)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Nec'+    model_replacement: 'Lifetouch Note'++  #########+  # Nextbook+  # @ref: http://nextbookusa.com+  #########+  - regex: '; *(NXM\d+[A-Za-z0-9_]*|Next\d[A-Za-z0-9_ \-]*|NEXT\d[A-Za-z0-9_ \-]*|Nextbook [A-Za-z0-9_ ]*|DATAM803HC|M805)(?: Build|[\);])'+    device_replacement: '$1'+    brand_replacement: 'Nextbook'+    model_replacement: '$1'++  #########+  # Nokia+  # @ref: http://www.nokia.com+  #########+  - regex: '; *(Nokia)([ _\-]*)([^;/]*) Build'+    regex_flag: 'i'+    device_replacement: '$1$2$3'+    brand_replacement: 'Nokia'+    model_replacement: '$3'+  - regex: '; *(TA\-\d{4})(?: Build|\) AppleWebKit)'+    device_replacement: 'Nokia $1'+    brand_replacement: 'Nokia'+    model_replacement: '$1'++  #########+  # Nook+  # @ref:+  # TODO nook browser/1.0+  #########+  - regex: '; *(Nook ?|Barnes & Noble Nook |BN )([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Nook'+    model_replacement: '$2'+  - regex: '; *(NOOK |)(BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Nook'+    model_replacement: '$2'+  - regex: '; Build/(Nook)'+    device_replacement: '$1'+    brand_replacement: 'Nook'+    model_replacement: 'Tablet'++  #########+  # Olivetti+  # @ref: http://www.olivetti.de/EN/Page/t02/view_html?idp=348+  #########+  - regex: '; *(OP110|OliPad[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Olivetti $1'+    brand_replacement: 'Olivetti'+    model_replacement: '$1'++  #########+  # Omega+  # @ref: http://omega-technology.eu/en/produkty/346/tablets+  # @note: MID tablets might get matched by CobyKyros first+  # @models: (T107|MID(?:700[2-5]|7031|7108|7132|750[02]|8001|8500|9001|971[12])+  #########+  - regex: '; *OMEGA[ _\-](MID[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Omega $1'+    brand_replacement: 'Omega'+    model_replacement: '$1'+  - regex: '^(MID7500|MID\d+) Mozilla/5\.0 \(iPad;'+    device_replacement: 'Omega $1'+    brand_replacement: 'Omega'+    model_replacement: '$1'++  #########+  # OpenPeak+  # @ref: https://support.google.com/googleplay/answer/1727131?hl=en+  #########+  - regex: '; *((?:CIUS|cius)[^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: 'Openpeak $1'+    brand_replacement: 'Openpeak'+    model_replacement: '$1'++  #########+  # Oppo+  # @ref: http://en.oppo.com/products/+  #########+  - regex: '; *(Find ?(?:5|7a)|R8[012]\d{1,2}|T703\d?|U70\d{1,2}T?|X90\d{1,2}|[AFR]\d{1,2}[a-z]{1,2})(?: Build|\) AppleWebKit)'+    device_replacement: 'Oppo $1'+    brand_replacement: 'Oppo'+    model_replacement: '$1'+  - regex: '; *OPPO ?([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Oppo $1'+    brand_replacement: 'Oppo'+    model_replacement: '$1'+  - regex: '; *(CPH\d{1,4}|RMX\d{1,4}|P[A-Z]{3}\d{2})(?: Build|\) AppleWebKit)'+    device_replacement: 'Oppo $1'+    brand_replacement: 'Oppo'+  - regex: '; *(A1601)(?: Build|\) AppleWebKit)'+    device_replacement: 'Oppo F1s'+    brand_replacement: 'Oppo'+    model_replacement: '$1'++  #########+  # Odys+  # @ref: http://odys.de+  #########+  - regex: '; *(?:Odys\-|ODYS\-|ODYS )([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Odys $1'+    brand_replacement: 'Odys'+    model_replacement: '$1'+  - regex: '; *(SELECT) ?(7)(?: Build|\) AppleWebKit)'+    device_replacement: 'Odys $1 $2'+    brand_replacement: 'Odys'+    model_replacement: '$1 $2'+  - regex: '; *(PEDI)_(PLUS)_(W)(?: Build|\) AppleWebKit)'+    device_replacement: 'Odys $1 $2 $3'+    brand_replacement: 'Odys'+    model_replacement: '$1 $2 $3'+  # Weltbild - Tablet PC 4 = Cat Phoenix = Odys Tablet PC 4?+  - regex: '; *(AEON|BRAVIO|FUSION|FUSION2IN1|Genio|EOS10|IEOS[^;/]*|IRON|Loox|LOOX|LOOX Plus|Motion|NOON|NOON_PRO|NEXT|OPOS|PEDI[^;/]*|PRIME[^;/]*|STUDYTAB|TABLO|Tablet-PC-4|UNO_X8|XELIO[^;/]*|Xelio ?\d+ ?[Pp]ro|XENO10|XPRESS PRO)(?: Build|\) AppleWebKit)'+    device_replacement: 'Odys $1'+    brand_replacement: 'Odys'+    model_replacement: '$1'++  #########+  # OnePlus+  # @ref https://oneplus.net/+  #########+  - regex: '; (ONE [a-zA-Z]\d+)(?: Build|\) AppleWebKit)'+    device_replacement: 'OnePlus $1'+    brand_replacement: 'OnePlus'+    model_replacement: '$1'+  - regex: '; (ONEPLUS [a-zA-Z]\d+)(?: Build|\) AppleWebKit)'+    device_replacement: 'OnePlus $1'+    brand_replacement: 'OnePlus'+    model_replacement: '$1'++  #########+  # Orion+  # @ref: http://www.orion.ua/en/products/computer-products/tablet-pcs.html+  #########+  - regex: '; *(TP-\d+)(?: Build|\) AppleWebKit)'+    device_replacement: 'Orion $1'+    brand_replacement: 'Orion'+    model_replacement: '$1'++  #########+  # PackardBell+  # @ref: http://www.packardbell.com/pb/en/AE/content/productgroup/tablets+  #########+  - regex: '; *(G100W?)(?: Build|\) AppleWebKit)'+    device_replacement: 'PackardBell $1'+    brand_replacement: 'PackardBell'+    model_replacement: '$1'++  #########+  # Panasonic+  # @ref: http://panasonic.jp/mobile/+  # @models: T11, T21, T31, P11, P51, Eluga Power, Eluga DL1+  # @models: (tab) Toughpad FZ-A1, Toughpad JT-B1+  #########+  - regex: '; *(Panasonic)[_ ]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'+  # Toughpad+  - regex: '; *(FZ-A1B|JT-B1)(?: Build|\) AppleWebKit)'+    device_replacement: 'Panasonic $1'+    brand_replacement: 'Panasonic'+    model_replacement: '$1'+  # Eluga Power+  - regex: '; *(dL1|DL1)(?: Build|\) AppleWebKit)'+    device_replacement: 'Panasonic $1'+    brand_replacement: 'Panasonic'+    model_replacement: '$1'++  #########+  # Pantech+  # @href: http://www.pantech.co.kr/en/prod/prodList.do?gbrand=PANTECH+  # @href: http://www.pantech.co.kr/en/prod/prodList.do?gbrand=VEGA+  # @models: ADR8995, ADR910L, ADR930VW, C790, CDM8992, CDM8999, IS06, IS11PT, P2000, P2020, P2030, P4100, P5000, P6010, P6020, P6030, P7000, P7040, P8000, P8010, P9020, P9050, P9060, P9070, P9090, PT001, PT002, PT003, TXT8040, TXT8045, VEGA PTL21+  #########+  - regex: '; *(SKY[ _]|)(IM\-[AT]\d{3}[^;/]+).* Build/'+    device_replacement: 'Pantech $1$2'+    brand_replacement: 'Pantech'+    model_replacement: '$1$2'+  - regex: '; *((?:ADR8995|ADR910L|ADR930L|ADR930VW|PTL21|P8000)(?: 4G|)) Build/'+    device_replacement: '$1'+    brand_replacement: 'Pantech'+    model_replacement: '$1'+  - regex: '; *Pantech([^;/]+).* Build/'+    device_replacement: 'Pantech $1'+    brand_replacement: 'Pantech'+    model_replacement: '$1'++  #########+  # Papayre+  # @ref: http://grammata.es/+  #########+  - regex: '; *(papyre)[ _\-]([^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1 $2'+    brand_replacement: 'Papyre'+    model_replacement: '$2'++  #########+  # Pearl+  # @ref: http://www.pearl.de/c-1540.shtml+  #########+  - regex: '; *(?:Touchlet )?(X10\.[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Pearl $1'+    brand_replacement: 'Pearl'+    model_replacement: '$1'++  #########+  # Phicomm+  # @ref: http://www.phicomm.com.cn/+  #########+  - regex: '; PHICOMM (i800)(?: Build|\) AppleWebKit)'+    device_replacement: 'Phicomm $1'+    brand_replacement: 'Phicomm'+    model_replacement: '$1'+  - regex: '; PHICOMM ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Phicomm $1'+    brand_replacement: 'Phicomm'+    model_replacement: '$1'+  - regex: '; *(FWS\d{3}[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Phicomm $1'+    brand_replacement: 'Phicomm'+    model_replacement: '$1'++  #########+  # Philips+  # @ref: http://www.support.philips.com/support/catalog/products.jsp?_dyncharset=UTF-8&country=&categoryid=MOBILE_PHONES_SMART_SU_CN_CARE&userLanguage=en&navCount=2&groupId=PC_PRODUCTS_AND_PHONES_GR_CN_CARE&catalogType=&navAction=push&userCountry=cn&title=Smartphones&cateId=MOBILE_PHONES_CA_CN_CARE+  # @TODO: Philips Tablets User-Agents missing!+  # @ref: http://www.support.philips.com/support/catalog/products.jsp?_dyncharset=UTF-8&country=&categoryid=ENTERTAINMENT_TABLETS_SU_CN_CARE&userLanguage=en&navCount=0&groupId=&catalogType=&navAction=push&userCountry=cn&title=Entertainment+Tablets&cateId=TABLETS_CA_CN_CARE+  #########+  # @note: this a best guess according to available philips models. Need more User-Agents+  - regex: '; *(D633|D822|D833|T539|T939|V726|W335|W336|W337|W3568|W536|W5510|W626|W632|W6350|W6360|W6500|W732|W736|W737|W7376|W820|W832|W8355|W8500|W8510|W930)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Philips'+    model_replacement: '$1'+  - regex: '; *(?:Philips|PHILIPS)[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Philips $1'+    brand_replacement: 'Philips'+    model_replacement: '$1'++  #########+  # Pipo+  # @ref: http://www.pipo.cn/En/+  #########+  - regex: 'Android 4\..*; *(M[12356789]|U[12368]|S[123])\ ?(pro)?(?: Build|\) AppleWebKit)'+    device_replacement: 'Pipo $1$2'+    brand_replacement: 'Pipo'+    model_replacement: '$1$2'++  #########+  # Ployer+  # @ref: http://en.ployer.cn/+  #########+  - regex: '; *(MOMO[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Ployer'+    model_replacement: '$1'++  #########+  # Polaroid/ Acho+  # @ref: http://polaroidstore.com/store/start.asp?category_id=382&category_id2=0&order=title&filter1=&filter2=&filter3=&view=all+  #########+  - regex: '; *(?:Polaroid[ _]|)((?:MIDC\d{3,}|PMID\d{2,}|PTAB\d{3,})[^;/]*?)(\/[^;/]*|)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Polaroid'+    model_replacement: '$1'+  - regex: '; *(?:Polaroid )(Tablet)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Polaroid'+    model_replacement: '$1'++  #########+  # Pomp+  # @ref: http://pompmobileshop.com/+  #########+  #~ TODO+  - regex: '; *(POMP)[ _\-](.+?) *(?:Build|[;/\)])'+    device_replacement: '$1 $2'+    brand_replacement: 'Pomp'+    model_replacement: '$2'++  #########+  # Positivo+  # @ref: http://www.positivoinformatica.com.br/www/pessoal/tablet-ypy/+  #########+  - regex: '; *(TB07STA|TB10STA|TB07FTA|TB10FTA)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Positivo'+    model_replacement: '$1'+  - regex: '; *(?:Positivo |)((?:YPY|Ypy)[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Positivo'+    model_replacement: '$1'++  #########+  # POV+  # @ref: http://www.pointofview-online.com/default2.php+  # @TODO: Smartphone Models MOB-3515, MOB-5045-B missing+  #########+  - regex: '; *(MOB-[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'POV'+    model_replacement: '$1'+  - regex: '; *POV[ _\-]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'POV $1'+    brand_replacement: 'POV'+    model_replacement: '$1'+  - regex: '; *((?:TAB-PLAYTAB|TAB-PROTAB|PROTAB|PlayTabPro|Mobii[ _\-]|TAB-P)[^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: 'POV $1'+    brand_replacement: 'POV'+    model_replacement: '$1'++  #########+  # Prestigio+  # @ref: http://www.prestigio.com/catalogue/MultiPhones+  # @ref: http://www.prestigio.com/catalogue/MultiPads+  #########+  - regex: '; *(?:Prestigio |)((?:PAP|PMP)\d[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Prestigio $1'+    brand_replacement: 'Prestigio'+    model_replacement: '$1'++  #########+  # Proscan+  # @ref: http://www.proscanvideo.com/products-search.asp?itemClass=TABLET&itemnmbr=+  #########+  - regex: '; *(PLT[0-9]{4}.*?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Proscan'+    model_replacement: '$1'++  #########+  # QMobile+  # @ref: http://www.qmobile.com.pk/+  #########+  - regex: '; *(A2|A5|A8|A900)_?(Classic|)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Qmobile'+    model_replacement: '$1 $2'+  - regex: '; *(Q[Mm]obile)_([^_]+)_([^_]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Qmobile $2 $3'+    brand_replacement: 'Qmobile'+    model_replacement: '$2 $3'+  - regex: '; *(Q\-?[Mm]obile)[_ ](A[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Qmobile $2'+    brand_replacement: 'Qmobile'+    model_replacement: '$2'++  #########+  # Qmobilevn+  # @ref: http://qmobile.vn/san-pham.html+  #########+  - regex: '; *(Q\-Smart)[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Qmobilevn'+    model_replacement: '$2'+  - regex: '; *(Q\-?[Mm]obile)[ _\-](S[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Qmobilevn'+    model_replacement: '$2'++  #########+  # Quanta+  # @ref: ?+  #########+  - regex: '; *(TA1013)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Quanta'+    model_replacement: '$1'++  #########+  # RCA+  # @ref: http://rcamobilephone.com/+  #########+  - regex: '; (RCT\w+)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'RCA'+    model_replacement: '$1'+  - regex: '; RCA (\w+)(?: Build|\) AppleWebKit)'+    device_replacement: 'RCA $1'+    brand_replacement: 'RCA'+    model_replacement: '$1'++  #########+  # Rockchip+  # @ref: http://www.rock-chips.com/a/cn/product/index.html+  # @note: manufacturer sells chipsets - I assume that these UAs are dev-boards+  #########+  - regex: '; *(RK\d+),?(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Rockchip'+    model_replacement: '$1'+  - regex: ' Build/(RK\d+)'+    device_replacement: '$1'+    brand_replacement: 'Rockchip'+    model_replacement: '$1'++  #########+  # Samsung Android Devices+  # @ref: http://www.samsung.com/us/mobile/cell-phones/all-products+  #########+  - regex: '; *(SAMSUNG |Samsung |)((?:Galaxy (?:Note II|S\d)|GT-I9082|GT-I9205|GT-N7\d{3}|SM-N9005)[^;/]*)\/?[^;/]* Build/'+    device_replacement: 'Samsung $1$2'+    brand_replacement: 'Samsung'+    model_replacement: '$2'+  - regex: '; *(Google |)(Nexus [Ss](?: 4G|)) Build/'+    device_replacement: 'Samsung $1$2'+    brand_replacement: 'Samsung'+    model_replacement: '$2'+  - regex: '; *(SAMSUNG |Samsung )([^\/]*)\/[^ ]* Build/'+    device_replacement: 'Samsung $2'+    brand_replacement: 'Samsung'+    model_replacement: '$2'+  - regex: '; *(Galaxy(?: Ace| Nexus| S ?II+|Nexus S| with MCR 1.2| Mini Plus 4G|)) Build/'+    device_replacement: 'Samsung $1'+    brand_replacement: 'Samsung'+    model_replacement: '$1'+  - regex: '; *(SAMSUNG[ _\-]|)(?:SAMSUNG[ _\-])([^;/]+) Build'+    device_replacement: 'Samsung $2'+    brand_replacement: 'Samsung'+    model_replacement: '$2'+  - regex: '; *(SAMSUNG-|)(GT\-[BINPS]\d{4}[^\/]*)(\/[^ ]*) Build'+    device_replacement: 'Samsung $1$2$3'+    brand_replacement: 'Samsung'+    model_replacement: '$2'+  - regex: '(?:; *|^)((?:GT\-[BIiNPS]\d{4}|I9\d{2}0[A-Za-z\+]?\b)[^;/\)]*?)(?:Build|Linux|MIUI|[;/\)])'+    device_replacement: 'Samsung $1'+    brand_replacement: 'Samsung'+    model_replacement: '$1'+  - regex: '; (SAMSUNG-)([A-Za-z0-9\-]+).* Build/'+    device_replacement: 'Samsung $1$2'+    brand_replacement: 'Samsung'+    model_replacement: '$2'+  - regex: '; *((?:SCH|SGH|SHV|SHW|SPH|SC|SM)\-[A-Za-z0-9 ]+)(/?[^ ]*|) Build'+    device_replacement: 'Samsung $1'+    brand_replacement: 'Samsung'+    model_replacement: '$1'+  - regex: '; *((?:SC)\-[A-Za-z0-9 ]+)(/?[^ ]*|)\)'+    device_replacement: 'Samsung $1'+    brand_replacement: 'Samsung'+    model_replacement: '$1'+  - regex: ' ((?:SCH)\-[A-Za-z0-9 ]+)(/?[^ ]*|) Build'+    device_replacement: 'Samsung $1'+    brand_replacement: 'Samsung'+    model_replacement: '$1'+  - regex: '; *(Behold ?(?:2|II)|YP\-G[^;/]+|EK-GC100|SCL21|I9300) Build'+    device_replacement: 'Samsung $1'+    brand_replacement: 'Samsung'+    model_replacement: '$1'+  - regex: '; *((?:SCH|SGH|SHV|SHW|SPH|SC|SM)\-[A-Za-z0-9]{5,6})[\)]'+    device_replacement: 'Samsung $1'+    brand_replacement: 'Samsung'+    model_replacement: '$1'++  #########+  # Sharp+  # @ref: http://www.sharp-phone.com/en/index.html+  # @ref: http://www.android.com/devices/?country=all&m=sharp+  #########+  - regex: '; *(SH\-?\d\d[^;/]+|SBM\d[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Sharp'+    model_replacement: '$1'+  - regex: '; *(SHARP[ -])([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Sharp'+    model_replacement: '$2'++  #########+  # Simvalley+  # @ref: http://www.simvalley-mobile.de/+  #########+  - regex: '; *(SPX[_\-]\d[^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Simvalley'+    model_replacement: '$1'+  - regex: '; *(SX7\-PEARL\.GmbH)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Simvalley'+    model_replacement: '$1'+  - regex: '; *(SP[T]?\-\d{2}[^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Simvalley'+    model_replacement: '$1'++  #########+  # SK Telesys+  # @ref: http://www.sk-w.com/phone/phone_list.jsp+  # @ref: http://www.android.com/devices/?country=all&m=sk-telesys+  #########+  - regex: '; *(SK\-.*?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'SKtelesys'+    model_replacement: '$1'++  #########+  # Skytex+  # @ref: http://skytex.com/android+  #########+  - regex: '; *(?:SKYTEX|SX)-([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Skytex'+    model_replacement: '$1'+  - regex: '; *(IMAGINE [^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Skytex'+    model_replacement: '$1'++  #########+  # SmartQ+  # @ref: http://en.smartdevices.com.cn/Products/+  # @models: Z8, X7, U7H, U7, T30, T20, Ten3, V5-II, T7-3G, SmartQ5, K7, S7, Q8, T19, Ten2, Ten, R10, T7, R7, V5, V7, SmartQ7+  #########+  - regex: '; *(SmartQ) ?([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'++  #########+  # Smartbitt+  # @ref: http://www.smartbitt.com/+  # @missing: SBT Useragents+  #########+  - regex: '; *(WF7C|WF10C|SBT[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Smartbitt'+    model_replacement: '$1'++  #########+  # Softbank (Operator Branded Devices)+  # @ref: http://www.ipentec.com/document/document.aspx?page=android-useragent+  #########+  - regex: '; *(SBM(?:003SH|005SH|006SH|007SH|102SH)) Build'+    device_replacement: '$1'+    brand_replacement: 'Sharp'+    model_replacement: '$1'+  - regex: '; *(003P|101P|101P11C|102P) Build'+    device_replacement: '$1'+    brand_replacement: 'Panasonic'+    model_replacement: '$1'+  - regex: '; *(00\dZ) Build/'+    device_replacement: '$1'+    brand_replacement: 'ZTE'+    model_replacement: '$1'+  - regex: '; HTC(X06HT) Build'+    device_replacement: '$1'+    brand_replacement: 'HTC'+    model_replacement: '$1'+  - regex: '; *(001HT|X06HT) Build'+    device_replacement: '$1'+    brand_replacement: 'HTC'+    model_replacement: '$1'+  - regex: '; *(201M) Build'+    device_replacement: '$1'+    brand_replacement: 'Motorola'+    model_replacement: 'XT902'++  #########+  # Trekstor+  # @ref: http://www.trekstor.co.uk/surftabs-en.html+  # @note: Must come before SonyEricsson+  #########+  - regex: '; *(ST\d{4}.*)Build/ST'+    device_replacement: 'Trekstor $1'+    brand_replacement: 'Trekstor'+    model_replacement: '$1'+  - regex: '; *(ST\d{4}.*?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Trekstor $1'+    brand_replacement: 'Trekstor'+    model_replacement: '$1'++  #########+  # SonyEricsson+  # @note: Must come before nokia since they also use symbian+  # @ref: http://www.android.com/devices/?country=all&m=sony-ericssons+  # @TODO: type!+  #########+  # android matchers+  - regex: '; *(Sony ?Ericsson ?)([^;/]+) Build'+    device_replacement: '$1$2'+    brand_replacement: 'SonyEricsson'+    model_replacement: '$2'+  - regex: '; *((?:SK|ST|E|X|LT|MK|MT|WT)\d{2}[a-z0-9]*(?:-o|)|R800i|U20i) Build'+    device_replacement: '$1'+    brand_replacement: 'SonyEricsson'+    model_replacement: '$1'+  # TODO X\d+ is wrong+  - regex: '; *(Xperia (?:A8|Arc|Acro|Active|Live with Walkman|Mini|Neo|Play|Pro|Ray|X\d+)[^;/]*) Build'+    regex_flag: 'i'+    device_replacement: '$1'+    brand_replacement: 'SonyEricsson'+    model_replacement: '$1'++  #########+  # Sony+  # @ref: http://www.sonymobile.co.jp/index.html+  # @ref: http://www.sonymobile.com/global-en/products/phones/+  # @ref: http://www.sony.jp/tablet/+  #########+  - regex: '; Sony (Tablet[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Sony $1'+    brand_replacement: 'Sony'+    model_replacement: '$1'+  - regex: '; Sony ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Sony $1'+    brand_replacement: 'Sony'+    model_replacement: '$1'+  - regex: '; *(Sony)([A-Za-z0-9\-]+)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'+  - regex: '; *(Xperia [^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Sony'+    model_replacement: '$1'+  - regex: '; *(C(?:1[0-9]|2[0-9]|53|55|6[0-9])[0-9]{2}|D[25]\d{3}|D6[56]\d{2})(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Sony'+    model_replacement: '$1'+  - regex: '; *(SGP\d{3}|SGPT\d{2})(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Sony'+    model_replacement: '$1'+  - regex: '; *(NW-Z1000Series)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Sony'+    model_replacement: '$1'++  ##########+  # Sony PlayStation+  # @ref: http://playstation.com+  # The Vita spoofs the Kindle+  ##########+  - regex: 'PLAYSTATION 3'+    device_replacement: 'PlayStation 3'+    brand_replacement: 'Sony'+    model_replacement: 'PlayStation 3'+  - regex: '(PlayStation (?:Portable|Vita|\d+))'+    device_replacement: '$1'+    brand_replacement: 'Sony'+    model_replacement: '$1'++  #########+  # Spice+  # @ref: http://www.spicemobilephones.co.in/+  #########+  - regex: '; *((?:CSL_Spice|Spice|SPICE|CSL)[ _\-]?|)([Mm][Ii])([ _\-]|)(\d{3}[^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2$3$4'+    brand_replacement: 'Spice'+    model_replacement: 'Mi$4'++  #########+  # Sprint (Operator Branded Devices)+  # @ref:+  #########+  - regex: '; *(Sprint )(.+?) *(?:Build|[;/])'+    device_replacement: '$1$2'+    brand_replacement: 'Sprint'+    model_replacement: '$2'+  - regex: '\b(Sprint)[: ]([^;,/ ]+)'+    device_replacement: '$1$2'+    brand_replacement: 'Sprint'+    model_replacement: '$2'++  #########+  # Tagi+  # @ref: ??+  #########+  - regex: '; *(TAGI[ ]?)(MID) ?([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2$3'+    brand_replacement: 'Tagi'+    model_replacement: '$2$3'++  #########+  # Tecmobile+  # @ref: http://www.tecmobile.com/+  #########+  - regex: '; *(Oyster500|Opal 800)(?: Build|\) AppleWebKit)'+    device_replacement: 'Tecmobile $1'+    brand_replacement: 'Tecmobile'+    model_replacement: '$1'++  #########+  # Tecno+  # @ref: www.tecno-mobile.com/‎+  #########+  - regex: '; *(TECNO[ _])([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Tecno'+    model_replacement: '$2'++  #########+  # Telechips, Techvision evaluation boards+  # @ref:+  #########+  - regex: '; *Android for (Telechips|Techvision) ([^ ]+) '+    regex_flag: 'i'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'++  #########+  # Telstra+  # @ref: http://www.telstra.com.au/home-phone/thub-2/+  # @ref: https://support.google.com/googleplay/answer/1727131?hl=en+  #########+  - regex: '; *(T-Hub2)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Telstra'+    model_replacement: '$1'++  #########+  # Terra+  # @ref: http://www.wortmann.de/+  #########+  - regex: '; *(PAD) ?(100[12])(?: Build|\) AppleWebKit)'+    device_replacement: 'Terra $1$2'+    brand_replacement: 'Terra'+    model_replacement: '$1$2'++  #########+  # Texet+  # @ref: http://www.texet.ru/tablet/+  #########+  - regex: '; *(T[BM]-\d{3}[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Texet'+    model_replacement: '$1'++  #########+  # Thalia+  # @ref: http://www.thalia.de/shop/tolino-shine-ereader/show/+  #########+  - regex: '; *(tolino [^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Thalia'+    model_replacement: '$1'+  - regex: '; *Build/.* (TOLINO_BROWSER)'+    device_replacement: '$1'+    brand_replacement: 'Thalia'+    model_replacement: 'Tolino Shine'++  #########+  # Thl+  # @ref: http://en.thl.com.cn/Mobile+  # @ref: http://thlmobilestore.com+  #########+  - regex: '; *(?:CJ[ -])?(ThL|THL)[ -]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Thl'+    model_replacement: '$2'+  - regex: '; *(T100|T200|T5|W100|W200|W8s)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Thl'+    model_replacement: '$1'++  #########+  # T-Mobile (Operator Branded Devices)+  #########+  # @ref: https://en.wikipedia.org/wiki/HTC_Hero+  - regex: '; *(T-Mobile[ _]G2[ _]Touch) Build'+    device_replacement: '$1'+    brand_replacement: 'HTC'+    model_replacement: 'Hero'+  # @ref: https://en.wikipedia.org/wiki/HTC_Desire_Z+  - regex: '; *(T-Mobile[ _]G2) Build'+    device_replacement: '$1'+    brand_replacement: 'HTC'+    model_replacement: 'Desire Z'+  - regex: '; *(T-Mobile myTouch Q) Build'+    device_replacement: '$1'+    brand_replacement: 'Huawei'+    model_replacement: 'U8730'+  - regex: '; *(T-Mobile myTouch) Build'+    device_replacement: '$1'+    brand_replacement: 'Huawei'+    model_replacement: 'U8680'+  - regex: '; *(T-Mobile_Espresso) Build'+    device_replacement: '$1'+    brand_replacement: 'HTC'+    model_replacement: 'Espresso'+  - regex: '; *(T-Mobile G1) Build'+    device_replacement: '$1'+    brand_replacement: 'HTC'+    model_replacement: 'Dream'+  - regex: '\b(T-Mobile ?|)(myTouch)[ _]?([34]G)[ _]?([^\/]*) (?:Mozilla|Build)'+    device_replacement: '$1$2 $3 $4'+    brand_replacement: 'HTC'+    model_replacement: '$2 $3 $4'+  - regex: '\b(T-Mobile)_([^_]+)_(.*) Build'+    device_replacement: '$1 $2 $3'+    brand_replacement: 'Tmobile'+    model_replacement: '$2 $3'+  - regex: '\b(T-Mobile)[_ ]?(.*?)Build'+    device_replacement: '$1 $2'+    brand_replacement: 'Tmobile'+    model_replacement: '$2'++  #########+  # Tomtec+  # @ref: http://www.tom-tec.eu/pages/tablets.php+  #########+  - regex: ' (ATP[0-9]{4})(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Tomtec'+    model_replacement: '$1'++  #########+  # Tooky+  # @ref: http://www.tookymobile.com/+  #########+  - regex: ' *(TOOKY)[ _\-]([^;/]+?) ?(?:Build|;)'+    regex_flag: 'i'+    device_replacement: '$1 $2'+    brand_replacement: 'Tooky'+    model_replacement: '$2'++  #########+  # Toshiba+  # @ref: http://www.toshiba.co.jp/+  # @missing: LT170, Thrive 7, TOSHIBA STB10+  #########+  - regex: '\b(TOSHIBA_AC_AND_AZ|TOSHIBA_FOLIO_AND_A|FOLIO_AND_A)'+    device_replacement: '$1'+    brand_replacement: 'Toshiba'+    model_replacement: 'Folio 100'+  - regex: '; *([Ff]olio ?100)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Toshiba'+    model_replacement: 'Folio 100'+  - regex: '; *(AT[0-9]{2,3}(?:\-A|LE\-A|PE\-A|SE|a|)|AT7-A|AT1S0|Hikari-iFrame/WDPF-[^;/]+|THRiVE|Thrive)(?: Build|\) AppleWebKit)'+    device_replacement: 'Toshiba $1'+    brand_replacement: 'Toshiba'+    model_replacement: '$1'++  #########+  # Touchmate+  # @ref: http://touchmatepc.com/new/+  #########+  - regex: '; *(TM-MID\d+[^;/]+|TOUCHMATE|MID-750)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Touchmate'+    model_replacement: '$1'+  # @todo: needs verification user-agents missing+  - regex: '; *(TM-SM\d+[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Touchmate'+    model_replacement: '$1'++  #########+  # Treq+  # @ref: http://www.treq.co.id/product+  #########+  - regex: '; *(A10 [Bb]asic2?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Treq'+    model_replacement: '$1'+  - regex: '; *(TREQ[ _\-])([^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1$2'+    brand_replacement: 'Treq'+    model_replacement: '$2'++  #########+  # Umeox+  # @ref: http://umeox.com/+  # @models: A936|A603|X-5|X-3+  #########+  # @todo: guessed markers+  - regex: '; *(X-?5|X-?3)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Umeox'+    model_replacement: '$1'+  # @todo: guessed markers+  - regex: '; *(A502\+?|A936|A603|X1|X2)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Umeox'+    model_replacement: '$1'++  #########+  # Versus+  # @ref: http://versusuk.com/support.html+  #########+  - regex: '(TOUCH(?:TAB|PAD).+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: 'Versus $1'+    brand_replacement: 'Versus'+    model_replacement: '$1'++  #########+  # Vertu+  # @ref: http://www.vertu.com/+  #########+  - regex: '(VERTU) ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'Vertu'+    model_replacement: '$2'++  #########+  # Videocon+  # @ref: http://www.videoconmobiles.com+  #########+  - regex: '; *(Videocon)[ _\-]([^;/]+?) *(?:Build|;)'+    device_replacement: '$1 $2'+    brand_replacement: 'Videocon'+    model_replacement: '$2'+  - regex: ' (VT\d{2}[A-Za-z]*)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Videocon'+    model_replacement: '$1'++  #########+  # Viewsonic+  # @ref: http://viewsonic.com+  #########+  - regex: '; *((?:ViewPad|ViewPhone|VSD)[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Viewsonic'+    model_replacement: '$1'+  - regex: '; *(ViewSonic-)([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'Viewsonic'+    model_replacement: '$2'+  - regex: '; *(GTablet.*?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Viewsonic'+    model_replacement: '$1'++  #########+  # vivo+  # @ref: http://vivo.cn/+  #########+  - regex: '; *([Vv]ivo)[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'vivo'+    model_replacement: '$2'++  #########+  # Vodafone (Operator Branded Devices)+  # @ref: ??+  #########+  - regex: '(Vodafone) (.*?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'++  #########+  # Walton+  # @ref: http://www.waltonbd.com/+  #########+  - regex: '; *(?:Walton[ _\-]|)(Primo[ _\-][^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: 'Walton $1'+    brand_replacement: 'Walton'+    model_replacement: '$1'++  #########+  # Wiko+  # @ref: http://fr.wikomobile.com/collection.php?s=Smartphones+  #########+  - regex: '; *(?:WIKO[ \-]|)(CINK\+?|BARRY|BLOOM|DARKFULL|DARKMOON|DARKNIGHT|DARKSIDE|FIZZ|HIGHWAY|IGGY|OZZY|RAINBOW|STAIRWAY|SUBLIM|WAX|CINK [^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: 'Wiko $1'+    brand_replacement: 'Wiko'+    model_replacement: '$1'++  #########+  # WellcoM+  # @ref: ??+  #########+  - regex: '; *WellcoM-([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Wellcom $1'+    brand_replacement: 'Wellcom'+    model_replacement: '$1'++  ##########+  # WeTab+  # @ref: http://wetab.mobi/+  ##########+  - regex: '(?:(WeTab)-Browser|; (wetab) Build)'+    device_replacement: '$1'+    brand_replacement: 'WeTab'+    model_replacement: 'WeTab'++  #########+  # Wolfgang+  # @ref: http://wolfgangmobile.com/+  #########+  - regex: '; *(AT-AS[^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Wolfgang $1'+    brand_replacement: 'Wolfgang'+    model_replacement: '$1'++  #########+  # Woxter+  # @ref: http://www.woxter.es/es-es/categories/index+  #########+  - regex: '; *(?:Woxter|Wxt) ([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'Woxter $1'+    brand_replacement: 'Woxter'+    model_replacement: '$1'++  #########+  # Yarvik Zania+  # @ref: http://yarvik.com+  #########+  - regex: '; *(?:Xenta |Luna |)(TAB[234][0-9]{2}|TAB0[78]-\d{3}|TAB0?9-\d{3}|TAB1[03]-\d{3}|SMP\d{2}-\d{3})(?: Build|\) AppleWebKit)'+    device_replacement: 'Yarvik $1'+    brand_replacement: 'Yarvik'+    model_replacement: '$1'++  #########+  # Yifang+  # @note: Needs to be at the very last as manufacturer builds for other brands.+  # @ref: http://www.yifangdigital.com/+  # @models: M1010, M1011, M1007, M1008, M1005, M899, M899LP, M909, M8000,+  #   M8001, M8002, M8003, M849, M815, M816, M819, M805, M878, M780LPW,+  #   M778, M7000, M7000AD, M7000NBD, M7001, M7002, M7002KBD, M777, M767,+  #   M789, M799, M769, M757, M755, M753, M752, M739, M729, M723, M712, M727+  #########+  - regex: '; *([A-Z]{2,4})(M\d{3,}[A-Z]{2})([^;\)\/]*)(?: Build|[;\)])'+    device_replacement: 'Yifang $1$2$3'+    brand_replacement: 'Yifang'+    model_replacement: '$2'++  #########+  # XiaoMi+  # @ref: http://www.xiaomi.com/event/buyphone+  #########+  - regex: '; *((Mi|MI|HM|MI-ONE|Redmi)[ -](NOTE |Note |)[^;/]*) (Build|MIUI)/'+    device_replacement: 'XiaoMi $1'+    brand_replacement: 'XiaoMi'+    model_replacement: '$1'+  - regex: '; *((Mi|MI|HM|MI-ONE|Redmi)[ -](NOTE |Note |)[^;/\)]*)'+    device_replacement: 'XiaoMi $1'+    brand_replacement: 'XiaoMi'+    model_replacement: '$1'+  - regex: '; *(MIX) (Build|MIUI)/'+    device_replacement: 'XiaoMi $1'+    brand_replacement: 'XiaoMi'+    model_replacement: '$1'+  - regex: '; *((MIX) ([^;/]*)) (Build|MIUI)/'+    device_replacement: 'XiaoMi $1'+    brand_replacement: 'XiaoMi'+    model_replacement: '$1'++  #########+  # Xolo+  # @ref: http://www.xolo.in/+  #########+  - regex: '; *XOLO[ _]([^;/]*tab.*)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: 'Xolo $1'+    brand_replacement: 'Xolo'+    model_replacement: '$1'+  - regex: '; *XOLO[ _]([^;/]+?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: 'Xolo $1'+    brand_replacement: 'Xolo'+    model_replacement: '$1'+  - regex: '; *(q\d0{2,3}[a-z]?)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: 'Xolo $1'+    brand_replacement: 'Xolo'+    model_replacement: '$1'++  #########+  # Xoro+  # @ref: http://www.xoro.de/produkte/+  #########+  - regex: '; *(PAD ?[79]\d+[^;/]*|TelePAD\d+[^;/])(?: Build|\) AppleWebKit)'+    device_replacement: 'Xoro $1'+    brand_replacement: 'Xoro'+    model_replacement: '$1'++  #########+  # Zopo+  # @ref: http://www.zopomobiles.com/products.html+  #########+  - regex: '; *(?:(?:ZOPO|Zopo)[ _]([^;/]+?)|(ZP ?(?:\d{2}[^;/]+|C2))|(C[2379]))(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2$3'+    brand_replacement: 'Zopo'+    model_replacement: '$1$2$3'++  #########+  # ZiiLabs+  # @ref: http://www.ziilabs.com/products/platforms/androidreferencetablets.php+  #########+  - regex: '; *(ZiiLABS) (Zii[^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'ZiiLabs'+    model_replacement: '$2'+  - regex: '; *(Zii)_([^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'ZiiLabs'+    model_replacement: '$2'++  #########+  # ZTE+  # @ref: http://www.ztedevices.com/+  #########+  - regex: '; *(ARIZONA|(?:ATLAS|Atlas) W|D930|Grand (?:[SX][^;]*?|Era|Memo[^;]*?)|JOE|(?:Kis|KIS)\b[^;]*?|Libra|Light [^;]*?|N8[056][01]|N850L|N8000|N9[15]\d{2}|N9810|NX501|Optik|(?:Vip )Racer[^;]*?|RacerII|RACERII|San Francisco[^;]*?|V9[AC]|V55|V881|Z[679][0-9]{2}[A-z]?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'ZTE'+    model_replacement: '$1'+  - regex: '; *([A-Z]\d+)_USA_[^;]*(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'ZTE'+    model_replacement: '$1'+  - regex: '; *(SmartTab\d+)[^;]*(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'ZTE'+    model_replacement: '$1'+  - regex: '; *(?:Blade|BLADE|ZTE-BLADE)([^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: 'ZTE Blade$1'+    brand_replacement: 'ZTE'+    model_replacement: 'Blade$1'+  - regex: '; *(?:Skate|SKATE|ZTE-SKATE)([^;/]*)(?: Build|\) AppleWebKit)'+    device_replacement: 'ZTE Skate$1'+    brand_replacement: 'ZTE'+    model_replacement: 'Skate$1'+  - regex: '; *(Orange |Optimus )(Monte Carlo|San Francisco)(?: Build|\) AppleWebKit)'+    device_replacement: '$1$2'+    brand_replacement: 'ZTE'+    model_replacement: '$1$2'+  - regex: '; *(?:ZXY-ZTE_|ZTE\-U |ZTE[\- _]|ZTE-C[_ ])([^;/]+?)(?: Build|\) AppleWebKit)'+    device_replacement: 'ZTE $1'+    brand_replacement: 'ZTE'+    model_replacement: '$1'+  # operator specific+  - regex: '; (BASE) (lutea|Lutea 2|Tab[^;]*?)(?: Build|\) AppleWebKit)'+    device_replacement: '$1 $2'+    brand_replacement: 'ZTE'+    model_replacement: '$1 $2'+  - regex: '; (Avea inTouch 2|soft stone|tmn smart a7|Movistar[ _]Link)(?: Build|\) AppleWebKit)'+    regex_flag: 'i'+    device_replacement: '$1'+    brand_replacement: 'ZTE'+    model_replacement: '$1'+  - regex: '; *(vp9plus)\)'+    device_replacement: '$1'+    brand_replacement: 'ZTE'+    model_replacement: '$1'++  ##########+  # Zync+  # @ref: http://www.zync.in/index.php/our-products/tablet-phablets+  ##########+  - regex: '; ?(Cloud[ _]Z5|z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900)(?: Build|\) AppleWebKit)'+    device_replacement: '$1'+    brand_replacement: 'Zync'+    model_replacement: '$1'++  ##########+  # Kindle+  # @note: Needs to be after Sony Playstation Vita as this UA contains Silk/3.2+  # @ref: https://developer.amazon.com/sdk/fire/specifications.html+  # @ref: http://amazonsilk.wordpress.com/useful-bits/silk-user-agent/+  ##########+  - regex: '; ?(KFOT|Kindle Fire) Build\b'+    device_replacement: 'Kindle Fire'+    brand_replacement: 'Amazon'+    model_replacement: 'Kindle Fire'+  - regex: '; ?(KFOTE|Amazon Kindle Fire2) Build\b'+    device_replacement: 'Kindle Fire 2'+    brand_replacement: 'Amazon'+    model_replacement: 'Kindle Fire 2'+  - regex: '; ?(KFTT) Build\b'+    device_replacement: 'Kindle Fire HD'+    brand_replacement: 'Amazon'+    model_replacement: 'Kindle Fire HD 7"'+  - regex: '; ?(KFJWI) Build\b'+    device_replacement: 'Kindle Fire HD 8.9" WiFi'+    brand_replacement: 'Amazon'+    model_replacement: 'Kindle Fire HD 8.9" WiFi'+  - regex: '; ?(KFJWA) Build\b'+    device_replacement: 'Kindle Fire HD 8.9" 4G'+    brand_replacement: 'Amazon'+    model_replacement: 'Kindle Fire HD 8.9" 4G'+  - regex: '; ?(KFSOWI) Build\b'+    device_replacement: 'Kindle Fire HD 7" WiFi'+    brand_replacement: 'Amazon'+    model_replacement: 'Kindle Fire HD 7" WiFi'+  - regex: '; ?(KFTHWI) Build\b'+    device_replacement: 'Kindle Fire HDX 7" WiFi'+    brand_replacement: 'Amazon'+    model_replacement: 'Kindle Fire HDX 7" WiFi'+  - regex: '; ?(KFTHWA) Build\b'+    device_replacement: 'Kindle Fire HDX 7" 4G'+    brand_replacement: 'Amazon'+    model_replacement: 'Kindle Fire HDX 7" 4G'+  - regex: '; ?(KFAPWI) Build\b'+    device_replacement: 'Kindle Fire HDX 8.9" WiFi'+    brand_replacement: 'Amazon'+    model_replacement: 'Kindle Fire HDX 8.9" WiFi'+  - regex: '; ?(KFAPWA) Build\b'+    device_replacement: 'Kindle Fire HDX 8.9" 4G'+    brand_replacement: 'Amazon'+    model_replacement: 'Kindle Fire HDX 8.9" 4G'+  - regex: '; ?Amazon ([^;/]+) Build\b'+    device_replacement: '$1'+    brand_replacement: 'Amazon'+    model_replacement: '$1'+  - regex: '; ?(Kindle) Build\b'+    device_replacement: 'Kindle'+    brand_replacement: 'Amazon'+    model_replacement: 'Kindle'+  - regex: '; ?(Silk)/(\d+)\.(\d+)(?:\.([0-9\-]+)|) Build\b'+    device_replacement: 'Kindle Fire'+    brand_replacement: 'Amazon'+    model_replacement: 'Kindle Fire$2'+  - regex: ' (Kindle)/(\d+\.\d+)'+    device_replacement: 'Kindle'+    brand_replacement: 'Amazon'+    model_replacement: '$1 $2'+  - regex: ' (Silk|Kindle)/(\d+)\.'+    device_replacement: 'Kindle'+    brand_replacement: 'Amazon'+    model_replacement: 'Kindle'++  #########+  # Devices from chinese manufacturer(s)+  # @note: identified by x-wap-profile http://218.249.47.94/Xianghe/.*+  #########+  - regex: '(sprd)\-([^/]+)/'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'+  # @ref: http://eshinechina.en.alibaba.com/+  - regex: '; *(H\d{2}00\+?) Build'+    device_replacement: '$1'+    brand_replacement: 'Hero'+    model_replacement: '$1'+  - regex: '; *(iphone|iPhone5) Build/'+    device_replacement: 'Xianghe $1'+    brand_replacement: 'Xianghe'+    model_replacement: '$1'+  - regex: '; *(e\d{4}[a-z]?_?v\d+|v89_[^;/]+)[^;/]+ Build/'+    device_replacement: 'Xianghe $1'+    brand_replacement: 'Xianghe'+    model_replacement: '$1'++  #########+  # Cellular+  # @ref:+  # @note: Operator branded devices+  #########+  - regex: '\bUSCC[_\-]?([^ ;/\)]+)'+    device_replacement: '$1'+    brand_replacement: 'Cellular'+    model_replacement: '$1'++  ######################################################################+  # Windows Phone Parsers+  ######################################################################++  #########+  # Alcatel Windows Phones+  #########+  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|)(?:ALCATEL)[^;]*; *([^;,\)]+)'+    device_replacement: 'Alcatel $1'+    brand_replacement: 'Alcatel'+    model_replacement: '$1'++  #########+  # Asus Windows Phones+  #########+  #~ - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?|)(?:ASUS|Asus)[^;]*; *([^;,\)]+)'+  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?|)(?:ASUS|Asus)[^;]*; *([^;,\)]+)'+    device_replacement: 'Asus $1'+    brand_replacement: 'Asus'+    model_replacement: '$1'++  #########+  # Dell Windows Phones+  #########+  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|)(?:DELL|Dell)[^;]*; *([^;,\)]+)'+    device_replacement: 'Dell $1'+    brand_replacement: 'Dell'+    model_replacement: '$1'++  #########+  # HTC Windows Phones+  #########+  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?|)(?:HTC|Htc|HTC_blocked[^;]*)[^;]*; *(?:HTC|)([^;,\)]+)'+    device_replacement: 'HTC $1'+    brand_replacement: 'HTC'+    model_replacement: '$1'++  #########+  # Huawei Windows Phones+  #########+  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|)(?:HUAWEI)[^;]*; *(?:HUAWEI |)([^;,\)]+)'+    device_replacement: 'Huawei $1'+    brand_replacement: 'Huawei'+    model_replacement: '$1'++  #########+  # LG Windows Phones+  #########+  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|)(?:LG|Lg)[^;]*; *(?:LG[ \-]|)([^;,\)]+)'+    device_replacement: 'LG $1'+    brand_replacement: 'LG'+    model_replacement: '$1'++  #########+  # Noka Windows Phones+  #########+  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|)(?:rv:11; |)(?:NOKIA|Nokia)[^;]*; *(?:NOKIA ?|Nokia ?|LUMIA ?|[Ll]umia ?|)(\d{3,10}[^;\)]*)'+    device_replacement: 'Lumia $1'+    brand_replacement: 'Nokia'+    model_replacement: 'Lumia $1'+  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|)(?:NOKIA|Nokia)[^;]*; *(RM-\d{3,})'+    device_replacement: 'Nokia $1'+    brand_replacement: 'Nokia'+    model_replacement: '$1'+  - regex: '(?:Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)]|WPDesktop;) ?(?:ARM; ?Touch; ?|Touch; ?|)(?:NOKIA|Nokia)[^;]*; *(?:NOKIA ?|Nokia ?|LUMIA ?|[Ll]umia ?|)([^;\)]+)'+    device_replacement: 'Nokia $1'+    brand_replacement: 'Nokia'+    model_replacement: '$1'++  #########+  # Microsoft Windows Phones+  #########+  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|)(?:Microsoft(?: Corporation|))[^;]*; *([^;,\)]+)'+    device_replacement: 'Microsoft $1'+    brand_replacement: 'Microsoft'+    model_replacement: '$1'++  #########+  # Samsung Windows Phones+  #########+  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?|)(?:SAMSUNG)[^;]*; *(?:SAMSUNG |)([^;,\.\)]+)'+    device_replacement: 'Samsung $1'+    brand_replacement: 'Samsung'+    model_replacement: '$1'++  #########+  # Toshiba Windows Phones+  #########+  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?|)(?:TOSHIBA|FujitsuToshibaMobileCommun)[^;]*; *([^;,\)]+)'+    device_replacement: 'Toshiba $1'+    brand_replacement: 'Toshiba'+    model_replacement: '$1'++  #########+  # Generic Windows Phones+  #########+  - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?|)([^;]+); *([^;,\)]+)'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'++  ######################################################################+  # Other Devices Parser+  ######################################################################++  #########+  # Samsung Bada Phones+  #########+  - regex: '(?:^|; )SAMSUNG\-([A-Za-z0-9\-]+).* Bada/'+    device_replacement: 'Samsung $1'+    brand_replacement: 'Samsung'+    model_replacement: '$1'++  #########+  # Firefox OS+  #########+  - regex: '\(Mobile; ALCATEL ?(One|ONE) ?(Touch|TOUCH) ?([^;/]+?)(?:/[^;]+|); rv:[^\)]+\) Gecko/[^\/]+ Firefox/'+    device_replacement: 'Alcatel $1 $2 $3'+    brand_replacement: 'Alcatel'+    model_replacement: 'One Touch $3'+  - regex: '\(Mobile; (?:ZTE([^;]+)|(OpenC)); rv:[^\)]+\) Gecko/[^\/]+ Firefox/'+    device_replacement: 'ZTE $1$2'+    brand_replacement: 'ZTE'+    model_replacement: '$1$2'++  #########+  # KaiOS+  #########+  - regex: '\(Mobile; ALCATEL([A-Za-z0-9\-]+); rv:[^\)]+\) Gecko/[^\/]+ Firefox/[^\/]+ KaiOS/'+    device_replacement: 'Alcatel $1'+    brand_replacement: 'Alcatel'+    model_replacement: '$1'+  - regex: '\(Mobile; LYF\/([A-Za-z0-9\-]+)\/.+;.+rv:[^\)]+\) Gecko/[^\/]+ Firefox/[^\/]+ KAIOS/'+    device_replacement: 'LYF $1'+    brand_replacement: 'LYF'+    model_replacement: '$1'+  - regex: '\(Mobile; Nokia_([A-Za-z0-9\-]+)_.+; rv:[^\)]+\) Gecko/[^\/]+ Firefox/[^\/]+ KAIOS/'+    device_replacement: 'Nokia $1'+    brand_replacement: 'Nokia'+    model_replacement: '$1'++  ##########+  # NOKIA+  # @note: NokiaN8-00 comes before iphone. Sometimes spoofs iphone+  ##########+  - regex: 'Nokia(N[0-9]+)([A-Za-z_\-][A-Za-z0-9_\-]*)'+    device_replacement: 'Nokia $1'+    brand_replacement: 'Nokia'+    model_replacement: '$1$2'+  - regex: '(?:NOKIA|Nokia)(?:\-| *)(?:([A-Za-z0-9]+)\-[0-9a-f]{32}|([A-Za-z0-9\-]+)(?:UCBrowser)|([A-Za-z0-9\-]+))'+    device_replacement: 'Nokia $1$2$3'+    brand_replacement: 'Nokia'+    model_replacement: '$1$2$3'+  - regex: 'Lumia ([A-Za-z0-9\-]+)'+    device_replacement: 'Lumia $1'+    brand_replacement: 'Nokia'+    model_replacement: 'Lumia $1'+  # UCWEB Browser on Symbian+  - regex: '\(Symbian; U; S60 V5; [A-z]{2}\-[A-z]{2}; (SonyEricsson|Samsung|Nokia|LG)([^;/]+?)\)'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'+  # Nokia Symbian+  - regex: '\(Symbian(?:/3|); U; ([^;]+);'+    device_replacement: 'Nokia $1'+    brand_replacement: 'Nokia'+    model_replacement: '$1'++  ##########+  # BlackBerry+  # @ref: http://www.useragentstring.com/pages/BlackBerry/+  ##########+  - regex: 'BB10; ([A-Za-z0-9\- ]+)\)'+    device_replacement: 'BlackBerry $1'+    brand_replacement: 'BlackBerry'+    model_replacement: '$1'+  - regex: 'Play[Bb]ook.+RIM Tablet OS'+    device_replacement: 'BlackBerry Playbook'+    brand_replacement: 'BlackBerry'+    model_replacement: 'Playbook'+  - regex: 'Black[Bb]erry ([0-9]+);'+    device_replacement: 'BlackBerry $1'+    brand_replacement: 'BlackBerry'+    model_replacement: '$1'+  - regex: 'Black[Bb]erry([0-9]+)'+    device_replacement: 'BlackBerry $1'+    brand_replacement: 'BlackBerry'+    model_replacement: '$1'+  - regex: 'Black[Bb]erry;'+    device_replacement: 'BlackBerry'+    brand_replacement: 'BlackBerry'++  ##########+  # PALM / HP+  # @note: some palm devices must come before iphone. sometimes spoofs iphone in ua+  ##########+  - regex: '(Pre|Pixi)/\d+\.\d+'+    device_replacement: 'Palm $1'+    brand_replacement: 'Palm'+    model_replacement: '$1'+  - regex: 'Palm([0-9]+)'+    device_replacement: 'Palm $1'+    brand_replacement: 'Palm'+    model_replacement: '$1'+  - regex: 'Treo([A-Za-z0-9]+)'+    device_replacement: 'Palm Treo $1'+    brand_replacement: 'Palm'+    model_replacement: 'Treo $1'+  - regex: 'webOS.*(P160U(?:NA|))/(\d+).(\d+)'+    device_replacement: 'HP Veer'+    brand_replacement: 'HP'+    model_replacement: 'Veer'+  - regex: '(Touch[Pp]ad)/\d+\.\d+'+    device_replacement: 'HP TouchPad'+    brand_replacement: 'HP'+    model_replacement: 'TouchPad'+  - regex: 'HPiPAQ([A-Za-z0-9]+)/\d+.\d+'+    device_replacement: 'HP iPAQ $1'+    brand_replacement: 'HP'+    model_replacement: 'iPAQ $1'+  - regex: 'PDA; (PalmOS)/sony/model ([a-z]+)/Revision'+    device_replacement: '$1'+    brand_replacement: 'Sony'+    model_replacement: '$1 $2'++  ##########+  # AppleTV+  # No built in browser that I can tell+  # Stack Overflow indicated iTunes-AppleTV/4.1 as a known UA for app available and I'm seeing it in live traffic+  ##########+  - regex: '(Apple\s?TV)'+    device_replacement: 'AppleTV'+    brand_replacement: 'Apple'+    model_replacement: 'AppleTV'++  #########+  # Tesla Model S+  #########+  - regex: '(QtCarBrowser)'+    device_replacement: 'Tesla Model S'+    brand_replacement: 'Tesla'+    model_replacement: 'Model S'++  ##########+  # iSTUFF+  # @note: complete but probably catches spoofs+  #   ipad and ipod must be parsed before iphone+  #   cannot determine specific device type from ua string. (3g, 3gs, 4, etc)+  ##########+  # @note: on some ua the device can be identified e.g. iPhone5,1+  - regex: '(iPhone|iPad|iPod)(\d+,\d+)'+    device_replacement: '$1'+    brand_replacement: 'Apple'+    model_replacement: '$1$2'+  # @note: iPad needs to be before iPhone+  - regex: '(iPad)(?:;| Simulator;)'+    device_replacement: '$1'+    brand_replacement: 'Apple'+    model_replacement: '$1'+  - regex: '(iPod)(?:;| touch;| Simulator;)'+    device_replacement: '$1'+    brand_replacement: 'Apple'+    model_replacement: '$1'+  - regex: '(iPhone)(?:;| Simulator;)'+    device_replacement: '$1'+    brand_replacement: 'Apple'+    model_replacement: '$1'+  - regex: '(Watch)(\d+,\d+)'+    device_replacement: 'Apple $1'+    brand_replacement: 'Apple'+    model_replacement: '$1$2'+  - regex: '(Apple Watch)(?:;| Simulator;)'+    device_replacement: '$1'+    brand_replacement: 'Apple'+    model_replacement: '$1'+  - regex: '(HomePod)(?:;| Simulator;)'+    device_replacement: '$1'+    brand_replacement: 'Apple'+    model_replacement: '$1'+  - regex: 'iPhone'+    device_replacement: 'iPhone'+    brand_replacement: 'Apple'+    model_replacement: 'iPhone'+  # @note: desktop applications show device info+  - regex: 'CFNetwork/.* Darwin/\d.*\(((?:Mac|iMac|PowerMac|PowerBook)[^\d]*)(\d+)(?:,|%2C)(\d+)'+    device_replacement: '$1$2,$3'+    brand_replacement: 'Apple'+    model_replacement: '$1$2,$3'+  # @note: newer desktop applications don't show device info+  # This is here so as to not have them recorded as iOS-Device+  - regex: 'CFNetwork/.* Darwin/\d+\.\d+\.\d+ \(x86_64\)'+    device_replacement: 'Mac'+    brand_replacement: 'Apple'+    model_replacement: 'Mac'+  # @note: iOS applications do not show device info+  - regex: 'CFNetwork/.* Darwin/\d'+    device_replacement: 'iOS-Device'+    brand_replacement: 'Apple'+    model_replacement: 'iOS-Device'++  ##########################+  # Outlook on iOS >= 2.62.0+  ##########################+  - regex: 'Outlook-(iOS)/\d+\.\d+\.prod\.iphone'+    brand_replacement: 'Apple'+    device_replacement: 'iPhone'+    model_replacement: 'iPhone'++  ##########+  # Acer+  ##########+  - regex: 'acer_([A-Za-z0-9]+)_'+    device_replacement: 'Acer $1'+    brand_replacement: 'Acer'+    model_replacement: '$1'++  ##########+  # Alcatel+  ##########+  - regex: '(?:ALCATEL|Alcatel)-([A-Za-z0-9\-]+)'+    device_replacement: 'Alcatel $1'+    brand_replacement: 'Alcatel'+    model_replacement: '$1'++  ##########+  # Amoi+  ##########+  - regex: '(?:Amoi|AMOI)\-([A-Za-z0-9]+)'+    device_replacement: 'Amoi $1'+    brand_replacement: 'Amoi'+    model_replacement: '$1'++  ##########+  # Asus+  ##########+  - regex: '(?:; |\/|^)((?:Transformer (?:Pad|Prime) |Transformer |PadFone[ _]?)[A-Za-z0-9]*)'+    device_replacement: 'Asus $1'+    brand_replacement: 'Asus'+    model_replacement: '$1'+  - regex: '(?:asus.*?ASUS|Asus|ASUS|asus)[\- ;]*((?:Transformer (?:Pad|Prime) |Transformer |Padfone |Nexus[ _]|)[A-Za-z0-9]+)'+    device_replacement: 'Asus $1'+    brand_replacement: 'Asus'+    model_replacement: '$1'+  - regex: '(?:ASUS)_([A-Za-z0-9\-]+)'+    device_replacement: 'Asus $1'+    brand_replacement: 'Asus'+    model_replacement: '$1'+++  ##########+  # Bird+  ##########+  - regex: '\bBIRD[ \-\.]([A-Za-z0-9]+)'+    device_replacement: 'Bird $1'+    brand_replacement: 'Bird'+    model_replacement: '$1'++  ##########+  # Dell+  ##########+  - regex: '\bDell ([A-Za-z0-9]+)'+    device_replacement: 'Dell $1'+    brand_replacement: 'Dell'+    model_replacement: '$1'++  ##########+  # DoCoMo+  ##########+  - regex: 'DoCoMo/2\.0 ([A-Za-z0-9]+)'+    device_replacement: 'DoCoMo $1'+    brand_replacement: 'DoCoMo'+    model_replacement: '$1'+  - regex: '([A-Za-z0-9]+)_W;FOMA'+    device_replacement: 'DoCoMo $1'+    brand_replacement: 'DoCoMo'+    model_replacement: '$1'+  - regex: '([A-Za-z0-9]+);FOMA'+    device_replacement: 'DoCoMo $1'+    brand_replacement: 'DoCoMo'+    model_replacement: '$1'++  ##########+  # htc+  ##########+  - regex: '\b(?:HTC/|HTC/[a-z0-9]+/|)HTC[ _\-;]? *(.*?)(?:-?Mozilla|fingerPrint|[;/\(\)]|$)'+    device_replacement: 'HTC $1'+    brand_replacement: 'HTC'+    model_replacement: '$1'++  ##########+  # Huawei+  ##########+  - regex: 'Huawei([A-Za-z0-9]+)'+    device_replacement: 'Huawei $1'+    brand_replacement: 'Huawei'+    model_replacement: '$1'+  - regex: 'HUAWEI-([A-Za-z0-9]+)'+    device_replacement: 'Huawei $1'+    brand_replacement: 'Huawei'+    model_replacement: '$1'+  - regex: 'HUAWEI ([A-Za-z0-9\-]+)'+    device_replacement: 'Huawei $1'+    brand_replacement: 'Huawei'+    model_replacement: '$1'+  - regex: 'vodafone([A-Za-z0-9]+)'+    device_replacement: 'Huawei Vodafone $1'+    brand_replacement: 'Huawei'+    model_replacement: 'Vodafone $1'++  ##########+  # i-mate+  ##########+  - regex: 'i\-mate ([A-Za-z0-9]+)'+    device_replacement: 'i-mate $1'+    brand_replacement: 'i-mate'+    model_replacement: '$1'++  ##########+  # kyocera+  ##########+  - regex: 'Kyocera\-([A-Za-z0-9]+)'+    device_replacement: 'Kyocera $1'+    brand_replacement: 'Kyocera'+    model_replacement: '$1'+  - regex: 'KWC\-([A-Za-z0-9]+)'+    device_replacement: 'Kyocera $1'+    brand_replacement: 'Kyocera'+    model_replacement: '$1'++  ##########+  # lenovo+  ##########+  - regex: 'Lenovo[_\-]([A-Za-z0-9]+)'+    device_replacement: 'Lenovo $1'+    brand_replacement: 'Lenovo'+    model_replacement: '$1'++  ##########+  # HbbTV (European and Australian standard)+  # written before the LG regexes, as LG is making HbbTV too+  ##########+  - regex: '(HbbTV)/[0-9]+\.[0-9]+\.[0-9]+ \( ?;(LG)E ?;([^;]{0,30})'+    device_replacement: '$1'+    brand_replacement: '$2'+    model_replacement: '$3'+  - regex: '(HbbTV)/1\.1\.1.*CE-HTML/1\.\d;(Vendor/|)(THOM[^;]*?)[;\s].{0,30}(LF[^;]+);?'+    device_replacement: '$1'+    brand_replacement: 'Thomson'+    model_replacement: '$4'+  - regex: '(HbbTV)(?:/1\.1\.1|) ?(?: \(;;;;;\)|); *CE-HTML(?:/1\.\d|); *([^ ]+) ([^;]+);'+    device_replacement: '$1'+    brand_replacement: '$2'+    model_replacement: '$3'+  - regex: '(HbbTV)/1\.1\.1 \(;;;;;\) Maple_2011'+    device_replacement: '$1'+    brand_replacement: 'Samsung'+  - regex: '(HbbTV)/[0-9]+\.[0-9]+\.[0-9]+ \([^;]{0,30}; ?(?:CUS:([^;]*)|([^;]+)) ?; ?([^;]{0,30})'+    device_replacement: '$1'+    brand_replacement: '$2$3'+    model_replacement: '$4'+  - regex: '(HbbTV)/[0-9]+\.[0-9]+\.[0-9]+'+    device_replacement: '$1'++  ##########+  # LGE NetCast TV+  ##########+  - regex: 'LGE; (?:Media\/|)([^;]*);[^;]*;[^;]*;?\); "?LG NetCast(\.TV|\.Media|)-\d+'+    device_replacement: 'NetCast$2'+    brand_replacement: 'LG'+    model_replacement: '$1'++  ##########+  # InettvBrowser+  ##########+  - regex: 'InettvBrowser/[0-9]+\.[0-9A-Z]+ \([^;]*;(Sony)([^;]*);[^;]*;[^\)]*\)'+    device_replacement: 'Inettv'+    brand_replacement: '$1'+    model_replacement: '$2'+  - regex: 'InettvBrowser/[0-9]+\.[0-9A-Z]+ \([^;]*;([^;]*);[^;]*;[^\)]*\)'+    device_replacement: 'Inettv'+    brand_replacement: 'Generic_Inettv'+    model_replacement: '$1'+  - regex: '(?:InettvBrowser|TSBNetTV|NETTV|HBBTV)'+    device_replacement: 'Inettv'+    brand_replacement: 'Generic_Inettv'++  ##########+  # lg+  ##########+  # LG Symbian Phones+  - regex: 'Series60/\d\.\d (LG)[\-]?([A-Za-z0-9 \-]+)'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'+  # other LG phones+  - regex: '\b(?:LGE[ \-]LG\-(?:AX|)|LGE |LGE?-LG|LGE?[ \-]|LG[ /\-]|lg[\-])([A-Za-z0-9]+)\b'+    device_replacement: 'LG $1'+    brand_replacement: 'LG'+    model_replacement: '$1'+  - regex: '(?:^LG[\-]?|^LGE[\-/]?)([A-Za-z]+[0-9]+[A-Za-z]*)'+    device_replacement: 'LG $1'+    brand_replacement: 'LG'+    model_replacement: '$1'+  - regex: '^LG([0-9]+[A-Za-z]*)'+    device_replacement: 'LG $1'+    brand_replacement: 'LG'+    model_replacement: '$1'++  ##########+  # microsoft+  ##########+  - regex: '(KIN\.[^ ]+) (\d+)\.(\d+)'+    device_replacement: 'Microsoft $1'+    brand_replacement: 'Microsoft'+    model_replacement: '$1'+  - regex: '(?:MSIE|XBMC).*\b(Xbox)\b'+    device_replacement: '$1'+    brand_replacement: 'Microsoft'+    model_replacement: '$1'+  - regex: '; ARM; Trident/6\.0; Touch[\);]'+    device_replacement: 'Microsoft Surface RT'+    brand_replacement: 'Microsoft'+    model_replacement: 'Surface RT'++  ##########+  # motorola+  ##########+  - regex: 'Motorola\-([A-Za-z0-9]+)'+    device_replacement: 'Motorola $1'+    brand_replacement: 'Motorola'+    model_replacement: '$1'+  - regex: 'MOTO\-([A-Za-z0-9]+)'+    device_replacement: 'Motorola $1'+    brand_replacement: 'Motorola'+    model_replacement: '$1'+  - regex: 'MOT\-([A-z0-9][A-z0-9\-]*)'+    device_replacement: 'Motorola $1'+    brand_replacement: 'Motorola'+    model_replacement: '$1'++  ##########+  # nintendo+  ##########+  - regex: 'Nintendo WiiU'+    device_replacement: 'Nintendo Wii U'+    brand_replacement: 'Nintendo'+    model_replacement: 'Wii U'+  - regex: 'Nintendo (DS|3DS|DSi|Wii);'+    device_replacement: 'Nintendo $1'+    brand_replacement: 'Nintendo'+    model_replacement: '$1'++  ##########+  # pantech+  ##########+  - regex: '(?:Pantech|PANTECH)[ _-]?([A-Za-z0-9\-]+)'+    device_replacement: 'Pantech $1'+    brand_replacement: 'Pantech'+    model_replacement: '$1'++  ##########+  # philips+  ##########+  - regex: 'Philips([A-Za-z0-9]+)'+    device_replacement: 'Philips $1'+    brand_replacement: 'Philips'+    model_replacement: '$1'+  - regex: 'Philips ([A-Za-z0-9]+)'+    device_replacement: 'Philips $1'+    brand_replacement: 'Philips'+    model_replacement: '$1'++  ##########+  # Samsung+  ##########+  # Samsung Smart-TV+  - regex: '(SMART-TV); .* Tizen '+    device_replacement: 'Samsung $1'+    brand_replacement: 'Samsung'+    model_replacement: '$1'+  # Samsung Symbian Devices+  - regex: 'SymbianOS/9\.\d.* Samsung[/\-]([A-Za-z0-9 \-]+)'+    device_replacement: 'Samsung $1'+    brand_replacement: 'Samsung'+    model_replacement: '$1'+  - regex: '(Samsung)(SGH)(i[0-9]+)'+    device_replacement: '$1 $2$3'+    brand_replacement: '$1'+    model_replacement: '$2-$3'+  - regex: 'SAMSUNG-ANDROID-MMS/([^;/]+)'+    device_replacement: '$1'+    brand_replacement: 'Samsung'+    model_replacement: '$1'+  # Other Samsung+  #- regex: 'SAMSUNG(?:; |-)([A-Za-z0-9\-]+)'+  - regex: 'SAMSUNG(?:; |[ -/])([A-Za-z0-9\-]+)'+    regex_flag: 'i'+    device_replacement: 'Samsung $1'+    brand_replacement: 'Samsung'+    model_replacement: '$1'++  ##########+  # Sega+  ##########+  - regex: '(Dreamcast)'+    device_replacement: 'Sega $1'+    brand_replacement: 'Sega'+    model_replacement: '$1'++  ##########+  # Siemens mobile+  ##########+  - regex: '^SIE-([A-Za-z0-9]+)'+    device_replacement: 'Siemens $1'+    brand_replacement: 'Siemens'+    model_replacement: '$1'++  ##########+  # Softbank+  ##########+  - regex: 'Softbank/[12]\.0/([A-Za-z0-9]+)'+    device_replacement: 'Softbank $1'+    brand_replacement: 'Softbank'+    model_replacement: '$1'++  ##########+  # SonyEricsson+  ##########+  - regex: 'SonyEricsson ?([A-Za-z0-9\-]+)'+    device_replacement: 'Ericsson $1'+    brand_replacement: 'SonyEricsson'+    model_replacement: '$1'++  ##########+  # Sony+  ##########+  - regex: 'Android [^;]+; ([^ ]+) (Sony)/'+    device_replacement: '$2 $1'+    brand_replacement: '$2'+    model_replacement: '$1'+  - regex: '(Sony)(?:BDP\/|\/|)([^ /;\)]+)[ /;\)]'+    device_replacement: '$1 $2'+    brand_replacement: '$1'+    model_replacement: '$2'++  #########+  # Puffin Browser Device detect+  # A=Android, I=iOS, P=Phone, T=Tablet+  # AT=Android+Tablet+  #########+  - regex: 'Puffin/[\d\.]+IT'+    device_replacement: 'iPad'+    brand_replacement: 'Apple'+    model_replacement: 'iPad'+  - regex: 'Puffin/[\d\.]+IP'+    device_replacement: 'iPhone'+    brand_replacement: 'Apple'+    model_replacement: 'iPhone'+  - regex: 'Puffin/[\d\.]+AT'+    device_replacement: 'Generic Tablet'+    brand_replacement: 'Generic'+    model_replacement: 'Tablet'+  - regex: 'Puffin/[\d\.]+AP'+    device_replacement: 'Generic Smartphone'+    brand_replacement: 'Generic'+    model_replacement: 'Smartphone'++  #########+  # Android General Device Matching (far from perfect)+  #########+  - regex: 'Android[\- ][\d]+\.[\d]+; [A-Za-z]{2}\-[A-Za-z]{0,2}; WOWMobile (.+)( Build[/ ]|\))'+    brand_replacement: 'Generic_Android'+    model_replacement: '$1'+  - regex: 'Android[\- ][\d]+\.[\d]+\-update1; [A-Za-z]{2}\-[A-Za-z]{0,2} *; *(.+?)( Build[/ ]|\))'+    brand_replacement: 'Generic_Android'+    model_replacement: '$1'+  - regex: 'Android[\- ][\d]+(?:\.[\d]+)(?:\.[\d]+|); *[A-Za-z]{2}[_\-][A-Za-z]{0,2}\-? *; *(.+?)( Build[/ ]|\))'+    brand_replacement: 'Generic_Android'+    model_replacement: '$1'+  - regex: 'Android[\- ][\d]+(?:\.[\d]+)(?:\.[\d]+|); *[A-Za-z]{0,2}\- *; *(.+?)( Build[/ ]|\))'+    brand_replacement: 'Generic_Android'+    model_replacement: '$1'+  # No build info at all - "Build" follows locale immediately+  - regex: 'Android[\- ][\d]+(?:\.[\d]+)(?:\.[\d]+|); *[a-z]{0,2}[_\-]?[A-Za-z]{0,2};?( Build[/ ]|\))'+    device_replacement: 'Generic Smartphone'+    brand_replacement: 'Generic'+    model_replacement: 'Smartphone'+  - regex: 'Android[\- ][\d]+(?:\.[\d]+)(?:\.[\d]+|); *\-?[A-Za-z]{2}; *(.+?)( Build[/ ]|\))'+    brand_replacement: 'Generic_Android'+    model_replacement: '$1'+  - regex: 'Android \d+?(?:\.\d+|)(?:\.\d+|); ([^;]+?)(?: Build|\) AppleWebKit).+? Mobile Safari'+    brand_replacement: 'Generic_Android'+    model_replacement: '$1'+  - regex: 'Android \d+?(?:\.\d+|)(?:\.\d+|); ([^;]+?)(?: Build|\) AppleWebKit).+? Safari'+    brand_replacement: 'Generic_Android_Tablet'+    model_replacement: '$1'+  - regex: 'Android \d+?(?:\.\d+|)(?:\.\d+|); ([^;]+?)(?: Build|\))'+    brand_replacement: 'Generic_Android'+    model_replacement: '$1'++  ##########+  # Google TV+  ##########+  - regex: '(GoogleTV)'+    brand_replacement: 'Generic_Inettv'+    model_replacement: '$1'++  ##########+  # WebTV+  ##########+  - regex: '(WebTV)/\d+.\d+'+    brand_replacement: 'Generic_Inettv'+    model_replacement: '$1'+  # Roku Digital-Video-Players https://www.roku.com/+  - regex: '^(Roku)/DVP-\d+\.\d+'+    brand_replacement: 'Generic_Inettv'+    model_replacement: '$1'++  ##########+  # Generic Tablet+  ##########+  - regex: '(Android 3\.\d|Opera Tablet|Tablet; .+Firefox/|Android.*(?:Tab|Pad))'+    regex_flag: 'i'+    device_replacement: 'Generic Tablet'+    brand_replacement: 'Generic'+    model_replacement: 'Tablet'++  ##########+  # Generic Smart Phone+  ##########+  - regex: '(Symbian|\bS60(Version|V\d)|\bS60\b|\((Series 60|Windows Mobile|Palm OS|Bada); Opera Mini|Windows CE|Opera Mobi|BREW|Brew|Mobile; .+Firefox/|iPhone OS|Android|MobileSafari|Windows *Phone|\(webOS/|PalmOS)'+    device_replacement: 'Generic Smartphone'+    brand_replacement: 'Generic'+    model_replacement: 'Smartphone'+  - regex: '(hiptop|avantgo|plucker|xiino|blazer|elaine)'+    regex_flag: 'i'+    device_replacement: 'Generic Smartphone'+    brand_replacement: 'Generic'+    model_replacement: 'Smartphone'++  ##########+  # Spiders (this is a hack...)+  ##########+  - regex: '(bot|BUbiNG|zao|borg|DBot|oegp|silk|Xenu|zeal|^NING|CCBot|crawl|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|^Java/|^JNLP/|Daumoa|Daum|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|spider|msnbot|msrbot|vortex|^vortex|crawler|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|bingbot|BingPreview|openbot|gigabot|furlbot|polybot|seekbot|^voyager|archiver|Icarus6j|mogimogi|Netvibes|blitzbot|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|SeznamBot|ProoXiBot|wsr\-agent|Squrl Java|EtaoSpider|PaperLiBot|SputnikBot|A6\-Indexer|netresearch|searchsight|baiduspider|YisouSpider|ICC\-Crawler|http%20client|Python-urllib|dataparksearch|converacrawler|Screaming Frog|AppEngine-Google|YahooCacheSystem|fast\-webcrawler|Sogou Pic Spider|semanticdiscovery|Innovazion Crawler|facebookexternalhit|Google.*/\+/web/snippet|Google-HTTP-Java-Client|BlogBridge|IlTrovatore-Setaccio|InternetArchive|GomezAgent|WebThumbnail|heritrix|NewsGator|PagePeeker|Reaper|ZooShot|holmes|NL-Crawler|Pingdom|StatusCake|WhatsApp|masscan|Google Web Preview|Qwantify|Yeti|OgScrper)'+    regex_flag: 'i'+    device_replacement: 'Spider'+    brand_replacement: 'Spider'+    model_replacement: 'Desktop'++  ##########+  # Generic Feature Phone+  # take care to do case insensitive matching+  ##########+  - regex: '^(1207|3gso|4thp|501i|502i|503i|504i|505i|506i|6310|6590|770s|802s|a wa|acer|acs\-|airn|alav|asus|attw|au\-m|aur |aus |abac|acoo|aiko|alco|alca|amoi|anex|anny|anyw|aptu|arch|argo|bmobile|bell|bird|bw\-n|bw\-u|beck|benq|bilb|blac|c55/|cdm\-|chtm|capi|comp|cond|dall|dbte|dc\-s|dica|ds\-d|ds12|dait|devi|dmob|doco|dopo|dorado|el(?:38|39|48|49|50|55|58|68)|el[3456]\d{2}dual|erk0|esl8|ex300|ez40|ez60|ez70|ezos|ezze|elai|emul|eric|ezwa|fake|fly\-|fly_|g\-mo|g1 u|g560|gf\-5|grun|gene|go.w|good|grad|hcit|hd\-m|hd\-p|hd\-t|hei\-|hp i|hpip|hs\-c|htc |htc\-|htca|htcg)'+    regex_flag: 'i'+    device_replacement: 'Generic Feature Phone'+    brand_replacement: 'Generic'+    model_replacement: 'Feature Phone'+  - regex: '^(htcp|htcs|htct|htc_|haie|hita|huaw|hutc|i\-20|i\-go|i\-ma|i\-mobile|i230|iac|iac\-|iac/|ig01|im1k|inno|iris|jata|kddi|kgt|kgt/|kpt |kwc\-|klon|lexi|lg g|lg\-a|lg\-b|lg\-c|lg\-d|lg\-f|lg\-g|lg\-k|lg\-l|lg\-m|lg\-o|lg\-p|lg\-s|lg\-t|lg\-u|lg\-w|lg/k|lg/l|lg/u|lg50|lg54|lge\-|lge/|leno|m1\-w|m3ga|m50/|maui|mc01|mc21|mcca|medi|meri|mio8|mioa|mo01|mo02|mode|modo|mot |mot\-|mt50|mtp1|mtv |mate|maxo|merc|mits|mobi|motv|mozz|n100|n101|n102|n202|n203|n300|n302|n500|n502|n505|n700|n701|n710|nec\-|nem\-|newg|neon)'+    regex_flag: 'i'+    device_replacement: 'Generic Feature Phone'+    brand_replacement: 'Generic'+    model_replacement: 'Feature Phone'+  - regex: '^(netf|noki|nzph|o2 x|o2\-x|opwv|owg1|opti|oran|ot\-s|p800|pand|pg\-1|pg\-2|pg\-3|pg\-6|pg\-8|pg\-c|pg13|phil|pn\-2|pt\-g|palm|pana|pire|pock|pose|psio|qa\-a|qc\-2|qc\-3|qc\-5|qc\-7|qc07|qc12|qc21|qc32|qc60|qci\-|qwap|qtek|r380|r600|raks|rim9|rove|s55/|sage|sams|sc01|sch\-|scp\-|sdk/|se47|sec\-|sec0|sec1|semc|sgh\-|shar|sie\-|sk\-0|sl45|slid|smb3|smt5|sp01|sph\-|spv |spv\-|sy01|samm|sany|sava|scoo|send|siem|smar|smit|soft|sony|t\-mo|t218|t250|t600|t610|t618|tcl\-|tdg\-|telm|tim\-|ts70|tsm\-|tsm3|tsm5|tx\-9|tagt)'+    regex_flag: 'i'+    device_replacement: 'Generic Feature Phone'+    brand_replacement: 'Generic'+    model_replacement: 'Feature Phone'+  - regex: '^(talk|teli|topl|tosh|up.b|upg1|utst|v400|v750|veri|vk\-v|vk40|vk50|vk52|vk53|vm40|vx98|virg|vertu|vite|voda|vulc|w3c |w3c\-|wapj|wapp|wapu|wapm|wig |wapi|wapr|wapv|wapy|wapa|waps|wapt|winc|winw|wonu|x700|xda2|xdag|yas\-|your|zte\-|zeto|aste|audi|avan|blaz|brew|brvw|bumb|ccwa|cell|cldc|cmd\-|dang|eml2|fetc|hipt|http|ibro|idea|ikom|ipaq|jbro|jemu|jigs|keji|kyoc|kyok|libw|m\-cr|midp|mmef|moto|mwbp|mywa|newt|nok6|o2im|pant|pdxg|play|pluc|port|prox|rozo|sama|seri|smal|symb|treo|upsi|vx52|vx53|vx60|vx61|vx70|vx80|vx81|vx83|vx85|wap\-|webc|whit|wmlb|xda\-|xda_)'+    regex_flag: 'i'+    device_replacement: 'Generic Feature Phone'+    brand_replacement: 'Generic'+    model_replacement: 'Feature Phone'+  - regex: '^(Ice)$'+    device_replacement: 'Generic Feature Phone'+    brand_replacement: 'Generic'+    model_replacement: 'Feature Phone'+  - regex: '(wap[\-\ ]browser|maui|netfront|obigo|teleca|up\.browser|midp|Opera Mini)'+    regex_flag: 'i'+    device_replacement: 'Generic Feature Phone'+    brand_replacement: 'Generic'+    model_replacement: 'Feature Phone'++  #########+  # Apple+  # @ref: https://www.apple.com/mac/+  # @note: lookup Mac OS, but exclude iPad, Apple TV, a HTC phone, Kindle, LG+  # @note: put this at the end, since it is hard to implement contains foo, but not contain bar1, bar 2, bar 3 in go's re2+  #########+  - regex: 'Mac OS'+    device_replacement: 'Mac'+    brand_replacement: 'Apple'+    model_replacement: 'Mac'
deps/uap-core/test_resources/pgts_browser_list.yaml view
@@ -4159,9 +4159,9 @@     patch:    - user_agent_string: 'fetch libfetch/2.0'-    family: 'Other'-    major:-    minor:+    family: 'fetch libfetch'+    major: '2'+    minor: '0'     patch:    - user_agent_string: 'libwww-perl/5.79'@@ -39415,9 +39415,9 @@     patch:    - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0; 3COM U.S. Robotics)'-    family: 'Robotics'-    major:-    minor:+    family: 'IE'+    major: '6'+    minor: '0'     patch:    - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0; ABN AMRO)'@@ -63409,7 +63409,7 @@     patch:    - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows XP Professional Bot v.5.)'-    family: 'XP Professional Bot'+    family: 'Windows XP Professional Bot'     major:     minor:     patch:
+ deps/uap-core/test_resources/podcasting_user_agent_strings.yaml view
@@ -0,0 +1,732 @@+test_cases:++  - user_agent_string: 'okhttp/2.7.5'+    family: 'okhttp'+    major: '2'+    minor: '7'+    patch: '5'+  - user_agent_string: 'Stitcher/iOS'+    family: 'Stitcher'+    major:+    minor:+    patch:+  - user_agent_string: 'Stitcher/Android'+    family: 'Stitcher'+    major:+    minor:+    patch:+  - user_agent_string: 'Mozilla/5.0 (Linux; U; en-us; BeyondPod 4)'+    family: 'BeyondPod'+    major: '4'+    minor:+    patch:+  - user_agent_string: 'NSPlayer/10.0.0.3702 WMFSDK/10.0'+    family: 'NSPlayer'+    major: '10'+    minor: '0'+    patch: '0'+    patch_minor: '3702'+  - user_agent_string: 'NSPlayer/12.00.10011.16384 WMFSDK/12.00.10011.16384'+    family: 'NSPlayer'+    major: '12'+    minor: '00'+    patch: '10011'+    patch_minor: '16384'+  - user_agent_string: 'Pocket Casts'+    family: 'Pocket Casts'+    major:+    minor:+    patch:+  - user_agent_string: 'Shifty Jelly Pocket Casts, Android v4.3.5'+    family: 'Pocket Casts'+    major:+    minor:+    patch:+  - user_agent_string: 'Player/LG Player 1.0 for Android 4.4.2 (stagefright alternative), Pocket Casts'+    family: 'Pocket Casts'+    major:+    minor:+    patch:+  - user_agent_string: 'PocketTunes/5.5.8'+    family: 'PocketTunes'+    major: '5'+    minor: '5'+    patch: '8'+  - user_agent_string: 'Overcast/2.0 (+http://overcast.fm/; iOS podcast app)'+    family: 'Overcast'+    major: '2'+    minor: '0'+    patch:+  - user_agent_string: 'Overcast/1.0 Podcast Sync (+http://overcast.fm/)'+    family: 'Overcast'+    major: '1'+    minor: '0'+    patch:+  - user_agent_string: 'Player FM'+    family: 'Player FM'+    major:+    minor:+    patch:+  - user_agent_string: 'Player/LG Player 1.0 for Android 4.4.2 (stagefright alternative), Player FM'+    family: 'Player FM'+    major:+    minor:+    patch:+  - user_agent_string: 'AppleCoreMedia/1.0.0.9A405 (iPad; U; CPU OS 5_0_1 like Mac OS X; zh_cn), Player FM'+    family: 'Player FM'+    major:+    minor:+    patch:+  - user_agent_string: 'Player FM BMID/E6804C1C77'+    family: 'Player FM'+    major: 'E6804C1C77'+    minor:+    patch:+  - user_agent_string: 'ExoPlayerDemo/4.11 (Linux;Android 5.1.1) ExoPlayerLib/1.5.2'+    family: 'ExoPlayerDemo'+    major: '4'+    minor: '11'+    patch:+  - user_agent_string: 'Radio/1.0 (Linux;Android 6.0.1) ExoPlayerLib/1.5.2'+    family: 'Radio'+    major: '1'+    minor: '0'+    patch:+  - user_agent_string: 'AlexaMediaPlayer/5.3.1-21 (Linux;Android 5.1) ExoPlayerLib/1.3.3 '+    family: 'AlexaMediaPlayer'+    major: '5'+    minor: '3'+    patch: '1-21'+  - user_agent_string: 'Podkicker/2.2.4'+    family: 'Podkicker'+    major: '2'+    minor: '2'+    patch: '4'+  - user_agent_string: 'Podkicker Pro/2.2.2 '+    family: 'Podkicker'+    major: '2'+    minor: '2'+    patch: '2'+  - user_agent_string: 'Podkicker Classic/1.2.9'+    family: 'Podkicker'+    major: '1'+    minor: '2'+    patch: '9'+  - user_agent_string: 'Downcast/2.9.13 (iPhone; iOS 9.2.1; Scale/2.00)'+    family: 'Downcast'+    major: '2'+    minor: '9'+    patch: '13'+  - user_agent_string: 'iTunes/10.7 Downcast/5608'+    family: 'Downcast'+    major: '5608'+    minor:+    patch:+  - user_agent_string: 'Downcast/2.9.10 (Mac OS X Version 10.11.3 (Build 15D21))'+    family: 'Downcast'+    major: '2'+    minor: '9'+    patch: '10'+  - user_agent_string: 'iTunes/10.7 Downcast/2.8.14.1002'+    family: 'Downcast'+    major: '2'+    minor: '8'+    patch: '14'+    patch_minor: '1002'+  - user_agent_string: 'ESPN%20Radio/3.2.113 CFNetwork/485.12.30 Darwin/10.4.0'+    family: 'ESPN'+    major: '3'+    minor: '2'+    patch: '113'+  - user_agent_string: 'ESPN Radio/3.2.113 CFNetwork/485.12.30 Darwin/10.4.0'+    family: 'ESPN'+    major: '3'+    minor: '2'+    patch: '113'+  - user_agent_string: 'Stitcher/28420 CFNetwork/548.1.4 Darwin/11.0.0'+    family: 'Stitcher'+    major: '28420'+    minor:+    patch:+  - user_agent_string: 'Stitcher/3.310746 CFNetwork/459 Darwin/10.0.0d3'+    family: 'Stitcher'+    major: '3'+    minor: '310746'+    patch:+  - user_agent_string: 'Mark%20Levin%20Show/11 CFNetwork/758.3.15 Darwin/15.4.0'+    family: 'Mark%20Levin%20Show'+    major: '11'+    minor:+    patch:+  - user_agent_string: 'The%20Dan%20Patrick%20Show/11 CFNetwork/758.2.8 Darwin/15.0.0'+    family: 'The%20Dan%20Patrick%20Show'+    major: '11'+    minor:+    patch:+  - user_agent_string: 'The Dan Patrick Show/11 CFNetwork/758.2.8 Darwin/15.0.0'+    family: 'The Dan Patrick Show'+    major: '11'+    minor:+    patch:+  - user_agent_string: '77%20WABC/11 CFNetwork/758.3.15 Darwin/15.4.0'+    family: '77%20WABC'+    major: '11'+    minor:+    patch:+  - user_agent_string: '77 WABC/11 CFNetwork/758.3.15 Darwin/15.4.0'+    family: '77 WABC'+    major: '11'+    minor:+    patch:+  - user_agent_string: 'KNBR%20680/11 CFNetwork/758.3.15 Darwin/15.4.0'+    family: 'KNBR%20680'+    major: '11'+    minor:+    patch:+  - user_agent_string: 'PodcastOne/3.0.6 CFNetwork/758.3.15 Darwin/15.4.0'+    family: 'PodcastOne'+    major: '3'+    minor: '0'+    patch: '6'+  - user_agent_string: 'PodcastOne/2.0 CFNetwork/758.2.8 Darwin/15.0.0 '+    family: 'PodcastOne'+    major: '2'+    minor: '0'+    patch:+  - user_agent_string: 'AudioBoom/226 CFNetwork/758.3.15 Darwin/15.4.0'+    family: 'AudioBoom'+    major: '226'+    minor:+    patch:+  - user_agent_string: 'https://audioboom.com/boos/'+    family: 'AudioBoom'+    major:+    minor:+    patch:+  - user_agent_string: 'Sports%20Talk%201050/10 CFNetwork/758.3.15 Darwin/15.4.0'+    family: 'Sports%20Talk%201050'+    major: '10'+    minor:+    patch:+  - user_agent_string: 'PodCruncher/3.2 CFNetwork/758.2.8 Darwin/15.0.0'+    family: 'PodCruncher'+    major: '3'+    minor: '2'+    patch:+  - user_agent_string: 'iTunes/10.5.2 (PodCruncher 2.2)'+    family: 'PodCruncher'+    major: '2'+    minor: '2'+    patch:+  - user_agent_string: 'Zune/4.8'+    family: 'Zune'+    major: '4'+    minor: '8'+    patch:+  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; Zune 4.7)'+    family: 'Zune'+    major: '4'+    minor: '7'+    patch:+  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2; OverDrive Download Station 1.0; Zune 4.7; .NET4.0C)'+    family: 'Zune'+    major: '4'+    minor: '7'+    patch:+  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Zune 4.0; InfoPath.3; MS-RTC LM 8; .NET4.0C; .NET4.0E)'+    family: 'Zune'+    major: '4'+    minor: '0'+    patch:+  - user_agent_string: 'RSSRadio/8899 (iPhone,iPhone OS,9.3)'+    family: 'RSSRadio'+    major: '8899'+    minor:+    patch:+  - user_agent_string: 'RSSRadio (Push Notification Scanner;support@dorada.co.uk)'+    family: 'RSSRadio'+    major:+    minor:+    patch:+  - user_agent_string: 'RSS_Radio 1.5'+    family: 'RSSRadio'+    major: '1'+    minor: '5'+    patch:+  - user_agent_string: 'RSSRadio/2.68.14049 CFNetwork/672.1.15 Darwin/14.0.0'+    family: 'RSSRadio'+    major: '2'+    minor: '68'+    patch: '14049'+  - user_agent_string: 'Lavf/56.15.102'+    family: 'WMPlayer'+    major:+    minor:+    patch:+  - user_agent_string: 'Lavf52.64.2'+    family: 'WMPlayer'+    major:+    minor:+    patch:+  - user_agent_string: 'Lavf53.32.100/WinampMPEG/2.8'+    family: 'WMPlayer'+    major:+    minor:+    patch:+  - user_agent_string: 'Lavf52.104.0 WMPlayer/10.0.0.364 guid/3300AD50-2C39-46C0-AE0A-AC7B8159E203'+    family: 'WMPlayer'+    major: '10'+    minor: '0'+    patch: '0'+    patch_minor: '364'+  - user_agent_string: 'WMPlayer/10.0.0.364 guid/3300AD50-2C39-46C0-AE0A-AC7B8159E203'+    family: 'WMPlayer'+    major: '10'+    minor: '0'+    patch: '0'+    patch_minor: '364'+  - user_agent_string: 'AntennaPod/1.5.2.0'+    family: 'AntennaPod'+    major: '1'+    minor: '5'+    patch: '2'+    patch_minor: '0'+  - user_agent_string: 'Antenna/965 CFNetwork/758.2.8 Darwin/15.0.0'+    family: 'AntennaPod'+    major: '965'+    minor:+    patch:+  - user_agent_string: 'AntennaPod/1.2.1'+    family: 'AntennaPod'+    major: '1'+    minor: '2'+    patch: '1'+  - user_agent_string: 'HTC Streaming Player htc / 1.0 / cingular_us / 5.0.2'+    family: 'HTC'+    major: '5'+    minor: '0'+    patch: '2'+  - user_agent_string: 'HTC Streaming Player utstarcom_wwe-generic / 1.0 / htc_kingdom / 2.3.4'+    family: 'HTC'+    major: '2'+    minor: '3'+    patch: '4'+  - user_agent_string: 'HTC Streaming Player telus_wwe / 1.0 / htc_ruby / 4.0.3'+    family: 'HTC'+    major: '4'+    minor: '0'+    patch: '3'+  - user_agent_string: 'HTC Streaming Player htc / 1.0 / himauhl_htc_asia_tw / 6.0 '+    family: 'HTC'+    major: '6'+    minor: '0'+    patch:+  - user_agent_string: 'ZDM/4.0; Windows Mobile 8.1'+    family: 'ZDM'+    major: '4'+    minor: '0'+    patch:+  - user_agent_string: 'bPod'+    family: 'bPod'+    major:+    minor:+    patch:+  - user_agent_string: 'bPod BMID/E679FACD4C'+    family: 'bPod'+    major: 'E679FACD4C'+    minor:+    patch:+  - user_agent_string: 'PodcastAddict/v2 - Dalvik/2.1.0 (Linux; U; Android 6.0; LG-H811 Build/MRA58K)'+    family: 'PodcastAddict'+    major: '2'+    minor:+    patch:+  - user_agent_string: 'Podcast Addict - Dalvik/2.1.0 (Linux; U; Android 5.1.1; SM-G920P Build/LMY47X)'+    family: 'PodcastAddict'+    major:+    minor:+    patch:+  - user_agent_string: 'LG-H345/V10f Player/LG Player 1.0 for Android 5.1.1 (stagefright alternative)'+    family: 'LG Player'+    major: '1'+    minor: '0'+    patch:+  - user_agent_string: 'Player/LG Player 1.0 for Android 6.0 (stagefright alternative)'+    family: 'LG Player'+    major: '1'+    minor: '0'+    patch:+  - user_agent_string: 'EspnDownloadManager'+    family: 'ESPN'+    major:+    minor:+    patch:+  - user_agent_string: 'ESPN Radio 4.7.4 rv:1032 (iPhone; iPhone OS 9.2.1; en_US)'+    family: 'ESPN'+    major: '4'+    minor: '7'+    patch: '4'+    patch_minor: '1032'+  - user_agent_string: 'ESPN Radio 4.5.1 (iPhone; iPhone OS 5.1.1; en_US)'+    family: 'ESPN'+    major: '4'+    minor: '5'+    patch: '1'+  - user_agent_string: 'ESPN Radio 4.0 (iPhone; iPhone OS 7.1.2; en_AU)'+    family: 'ESPN'+    major: '4'+    minor: '0'+    patch:+  - user_agent_string: 'http://c.espnradio.com/s:'+    family: 'ESPN'+    major:+    minor:+    patch:+  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.4.4; HP Slate 17 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Safari/537.36ESPN APP'+    family: 'ESPN'+    major:+    minor:+    patch:+  - user_agent_string: 'Mozilla/5.0 (compatible; heritrix/3.2.0 +http://espn.go.com'+    family: 'ESPN'+    major:+    minor:+    patch:+  - user_agent_string: 'Custom-Feed Reader'+    family: 'Custom'+    major:+    minor:+    patch:+  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) amarok/2.8.0 Safari/534.34'+    family: 'Amarok'+    major: '2'+    minor: '8'+    patch: '0'+  - user_agent_string: 'amarok/2.8.0 (Phonon/4.8.0; Phonon-VLC/0.8.0) LibVLC/2.2.1'+    family: 'Amarok'+    major: '2'+    minor: '8'+    patch: '0'+  - user_agent_string: 'Banshee/2.6.2 (http://banshee-project.org/)'+    family: 'Banshee'+    major: '2'+    minor: '6'+    patch: '2'+  - user_agent_string: 'gPodder/3.7.0 (+http://gpodder.org/)'+    family: 'gPodder'+    major: '3'+    minor: '7'+    patch: '0'+  - user_agent_string: 'jPodder v 1.1 RC3'+    family: 'jPodder'+    major: '1'+    minor: '1'+    patch:+  - user_agent_string: 'iPodder/2.1 +http://ipodder.sf.net/'+    family: 'iPodder'+    major: '2'+    minor: '1'+    patch:+  - user_agent_string: 'massyn.net philpodder/1.6 (linux)'+    family: 'philpodder'+    major: '1'+    minor: '6'+    patch:+  - user_agent_string: 'BashPodder'+    family: 'BashPodder'+    major:+    minor:+    patch:+  - user_agent_string: 'Clementine-qt5 1.2.3'+    family: 'Clementine'+    major: '1'+    minor: '2'+    patch: '3'+  - user_agent_string: 'Clementine 1.2.3-1457-g4db358a'+    family: 'Clementine'+    major: '1'+    minor: '2'+    patch: '3-1457-g4db358a'+  - user_agent_string: 'Clementine 1.2.3'+    family: 'Clementine'+    major: '1'+    minor: '2'+    patch: '3'+  - user_agent_string: 'Clementine 1.2'+    family: 'Clementine'+    major: '1'+    minor: '2'+    patch:+  - user_agent_string: 'Clementine 1.2.2 Clementine 1.2.2 Clementine 1.2.2'+    family: 'Clementine'+    major: '1'+    minor: '2'+    patch: '2'+  - user_agent_string: 'foobar2000/1.1.14a'+    family: 'foobar'+    major: '1'+    minor: '1'+    patch: '14a'+  - user_agent_string: 'foobar2000/1.2.3'+    family: 'foobar'+    major: '1'+    minor: '2'+    patch: '3'+  - user_agent_string: 'Juice/2.2 (Windows) +http://juicereceiver.sf.net/'+    family: 'Juice'+    major: '2'+    minor: '2'+    patch:+  - user_agent_string: 'Liferea/0.x.x (Linux; en_US.UTF-8; http://liferea.sf.net/)'+    family: 'Liferea'+    major: '0'+    minor: 'x'+    patch: 'x'+  - user_agent_string: 'MediaGo'+    family: 'MediaGo'+    major:+    minor:+    patch:+  - user_agent_string: 'MediaGo/3.0.0.403 (Windows NT 6.3; WOW64) NetworkDownloader/1.6.01.0 PlaybackEngine/2.20.103.05220'+    family: 'MediaGo'+    major: '3'+    minor: '0'+    patch: '0'+    patch_minor: '403'+  - user_agent_string: 'MediaMonkey'+    family: 'MediaMonkey'+    major:+    minor:+    patch:+  - user_agent_string: 'MediaMonkey 4.1.9.1764'+    family: 'MediaMonkey'+    major: '4'+    minor: '1'+    patch: '9'+    patch_minor: '1764'+  - user_agent_string: 'Miro/6.0 (http://www.getmiro.com/; Windows post2008Server x86) '+    family: 'Miro'+    major: '6'+    minor: '0'+    patch:+  - user_agent_string: 'Miro/3.0.3 (http://www.getmiro.com/; Microsoft Windows )'+    family: 'Miro'+    major: '3'+    minor: '0'+    patch: '3'+  - user_agent_string: 'Fancy Cloud Music 1.4 build 2 (iPhone; iPhone OS 9.2.1; en_US)'+    family: 'FancyMusic'+    major: '1'+    minor: '4'+    patch:+  - user_agent_string: 'FancyMusic 1.5.0 build 5 (iPod touch; iPhone OS 9.2.1; en_US)'+    family: 'FancyMusic'+    major: '1'+    minor: '5'+    patch: '0'+  - user_agent_string: 'VOX Music Player'+    family: 'VOX'+    major:+    minor:+    patch:+  - user_agent_string: 'NetNewsWire/3.3 (Mac OS X; http://netnewswireapp.com/mac/; gzip-happy)'+    family: 'NetNewsWire'+    major: '3'+    minor: '3'+    patch:+  - user_agent_string: 'NetNewsWire/3.1.7 (Mac OS X; http://www.newsgator.com/Individuals/NetNewsWire/)'+    family: 'NetNewsWire'+    major: '3'+    minor: '1'+    patch: '7'+  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/601.4.4 (KHTML, like Gecko) NetNewsWire/3.2'+    family: 'NetNewsWire'+    major: '3'+    minor: '2'+    patch:+  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/600.8.9 (KHTML, like Gecko) NetNewsWire/3.3.2'+    family: 'NetNewsWire'+    major: '3'+    minor: '3'+    patch: '2'+  - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.0; Rivo RHYTHM RX75 Build/LRX21M) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36; | 2016-04-07 14:37:04'+    family: 'Rivo'+    major:+    minor:+    patch:+  - user_agent_string: 'Spotify'+    family: 'Spotify'+    major:+    minor:+    patch:+  - user_agent_string: 'Spotify/1.0'+    family: 'Spotify'+    major: '1'+    minor: '0'+    patch:+  - user_agent_string: 'VLC/2.0.6 LibVLC/2.0.6'+    family: 'VLC'+    major: '2'+    minor: '0'+    patch: '6'+  - user_agent_string: 'vlc/1.1.0 LibVLC/1.1.0'+    family: 'VLC'+    major: '1'+    minor: '1'+    patch: '0'+  - user_agent_string: 'VLC/3.0.0-git LibVLC/3.0.0-git BMID/E67AB28521'+    family: 'VLC'+    major: '3'+    minor: '0'+    patch: '0-git'+  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/9.3 Mobile/11A465 Safari/9537.53 VLC for iOS/2.7.2'+    family: 'VLC'+    major:+    minor:+    patch:+  - user_agent_string: 'VLC media player - version 1.0.3 Goldeneye - (c) 1996-2009 the VideoLAN team'+    family: 'VLC'+    major: '1'+    minor: '0'+    patch: '3'+  - user_agent_string: 'VLC/2.2.0-rc1 LibVLC/2.2.0-rc1'+    family: 'VLC'+    major: '2'+    minor: '2'+    patch: '0-rc1'+  - user_agent_string: 'VLC/2.2.0-pre4 LibVLC/2.2.0-pre4'+    family: 'VLC'+    major: '2'+    minor: '2'+    patch: '0-pre4'+  - user_agent_string: 'CITA RSS Aggregator/2.7'+    family: 'CITA'+    major: '2'+    minor: '7'+    patch:+  - user_agent_string: 'Doppler 2.9.5.4'+    family: 'Doppler'+    major: '2'+    minor: '9'+    patch: '5'+    patch_minor: '4'+  - user_agent_string: 'GoldenPod/0.8.4 (GNU/Linux; podcatcher; Using LWP) libwwwperl'+    family: 'GoldenPod'+    major: '0'+    minor: '8'+    patch: '4'+  - user_agent_string: 'Replay AV'+    family: 'Replay'+    major:+    minor:+    patch:+  - user_agent_string: 'MusicDownloaderLite/1.0.1 CFNetwork/609.1.4 Darwin/13.0.0'+    family: 'MusicDownloader'+    major: '1'+    minor: '0'+    patch: '1'+  - user_agent_string: 'MusicDownloader/2.0.3 CFNetwork/548.0.4 Darwin/11.0.0'+    family: 'MusicDownloader'+    major: '2'+    minor: '0'+    patch: '3'+  - user_agent_string: 'Plugged%20-%20Stream%20Podcasts%2C%20Music%20&%20More%20Free/5.0 CFNetwork/711.5.6 Darwin/14.0.0'+    family: 'Plugged%20-%20Stream%20Podcasts%2C%20Music%20&%20More%20Free'+    major: '5'+    minor: '0'+    patch:+  - user_agent_string: 'PodWrangler/1.1 CFNetwork/672.1.15 Darwin/14.0.0'+    family: 'PodWrangler'+    major: '1'+    minor: '1'+    patch:+  - user_agent_string: 'Custom/12 CFNetwork/758.2.8 Darwin/15.0.0'+    family: 'Custom'+    major: '12'+    minor:+    patch:+  - user_agent_string: 'GoodReader4/100 CFNetwork/758.3.15 Darwin/15.4.0'+    family: 'GoodReader4'+    major: '100'+    minor:+    patch:+  - user_agent_string: 'Free-Podcasts/132 CFNetwork/758.2.8 Darwin/15.0.0'+    family: 'Free-Podcasts'+    major: '132'+    minor:+    patch:+  - user_agent_string: 'Free-Podcasts/1.05 CFNetwork/609 Darwin/13.0.0'+    family: 'Free-Podcasts'+    major: '1'+    minor: '05'+    patch:+  - user_agent_string: 'TopPodcasts/261 CFNetwork/758.0.2 Darwin/15.0.0'+    family: 'TopPodcasts'+    major: '261'+    minor:+    patch:+  - user_agent_string: 'TopPodcastsPro/201 CFNetwork/758.2.8 Darwin/15.0.0'+    family: 'TopPodcasts'+    major: '201'+    minor:+    patch:+  - user_agent_string: 'TopPodcasts/2.1.4 CFNetwork/672.1.15 Darwin/14.0.0'+    family: 'TopPodcasts'+    major: '2'+    minor: '1'+    patch: '4'+  - user_agent_string: 'Podcasts/2.2'+    family: 'Podcasts'+    major: '2'+    minor: '2'+    patch:+  - user_agent_string: 'Podcasts/1.4.113'+    family: 'Podcasts'+    major: '1'+    minor: '4'+    patch: '113'+  - user_agent_string: 'Peapod/pre1.0 +http://www.peapodpy.org.uk'+    family: 'Peapod'+    major: 'pre1'+    minor: '0'+    patch:+  - user_agent_string: 'Peapod/1.0 +http://www.peapodpy.org.uk'+    family: 'Peapod'+    major: '1'+    minor: '0'+    patch:+  - user_agent_string: 'podracer v1.4.1; GNU/Linux; x86_64'+    family: 'podracer'+    major: '1'+    minor: '4'+    patch: '1'+  - user_agent_string: 'Kinoma5'+    family: 'Kinoma'+    major: '5'+    minor:+    patch:+  - user_agent_string: 'QuickTime/7.6'+    family: 'QuickTime'+    major: '7'+    minor: '6'+    patch:+  - user_agent_string: 'QuickTime.7.6.6'+    family: 'QuickTime'+    major: '7'+    minor: '6'+    patch: '6'+  - user_agent_string: 'QuickNews/1.25'+    family: 'QuickNews'+    major: '1'+    minor: '25'+    patch:+  - user_agent_string: 'Mozilla/5.0 (Linux; U; Windows NT 6.1; en-us; dream) DoggCatcher'+    family: 'DoggCatcher'+    major:+    minor:+    patch:+  - user_agent_string: 'DoggCatcher/1.2'+    family: 'DoggCatcher'+    major: '1'+    minor: '2'+    patch:
deps/uap-core/tests/test_device.yaml view

file too large to diff

deps/uap-core/tests/test_os.yaml view
@@ -1,5 +1,26 @@ test_cases: +  - user_agent_string: 'atc/1.0 watchOS/5.1.3 model/Watch3,4 hwp/t8004 build/16S535 (6; dt:156)'+    family: 'WatchOS'+    major: '5'+    minor: '1'+    patch: '3'+    patch_minor:++  - user_agent_string: 'atc/1.0 watchOS/5.2 model/Watch4,4 hwp/t8006 build/16T225 (6; dt:193)'+    family: 'WatchOS'+    major: '5'+    minor: '2'+    patch: +    patch_minor:++  - user_agent_string: '(null)/(null) watchOS/5.1.1 model/Watch3,3 hwp/t8004 build/16R600 (6; dt:155)'+    family: 'WatchOS'+    major: '5'+    minor: '1'+    patch: '1'+    patch_minor:+   - user_agent_string: 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.1.0-80) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true'     family: 'Android'     major:@@ -118,6 +139,20 @@     minor: '4'     patch: '2'     patch_minor:+  +  - user_agent_string: 'Mozilla/5.0 (Linux; Android 9; motorola one power) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Mobile Safari/537.36'+    family: 'Android'+    major: '9'+    minor: +    patch: +    patch_minor:+  +  - user_agent_string: 'Mozilla/5.0 (Linux; Android 10; SM-G970F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3396.81 Mobile Safari/537.36'+    family: 'Android'+    major: '10'+    minor: +    patch: +    patch_minor:    - user_agent_string: 'Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-S8500/S8500XXJEE; U; Bada/1.0; nl-nl) AppleWebKit/533.1 (KHTML, like Gecko) Dolfin/2.0 Mobile WVGA SMM-MMS/1.2.0 OPN-B'     family: 'Bada'@@ -231,6 +266,27 @@     patch:     patch_minor: +  - user_agent_string: 'Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0 KaiOS/1.0'+    family: 'KaiOS'+    major: '1'+    minor: '0'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Mobile; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5.1'+    family: 'KaiOS'+    major: '2'+    minor: '5'+    patch: '1'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Mobile; rv:68.0) KAIOS/3.0'+    family: 'KaiOS'+    major: '3'+    minor: '0'+    patch:+    patch_minor:+   - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10'     family: 'iOS'     major: '3'@@ -378,6 +434,13 @@     patch:     patch_minor: +  - user_agent_string: 'MacOutlook/16.12.0.180401 (Intelx64 Mac OS X Version 10.12.6 (build 16G29))'+    family: 'Mac OS X'+    major: '10'+    minor: '12'+    patch: '6'+    patch_minor:+   - user_agent_string: 'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13'     family: 'MeeGo'     major:@@ -420,6 +483,13 @@     patch:     patch_minor: +  - user_agent_string: 'Mozilla/5.0 (X11; Datanyze; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'+    family: 'Linux'+    major:+    minor:+    patch:+    patch_minor:+   - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview) Chrome/27.0 .1453 Safari/537.36.'     family: 'Linux'     major:@@ -729,106 +799,120 @@     patch_minor:    - user_agent_string: 'ICE Browser/5.05 (Java 1.4.0; Windows 2000 5.0 x86)'-    family: 'Windows 2000'-    major:+    family: 'Windows'+    major: '2000'     minor:     patch:     patch_minor:    - user_agent_string: 'NCSA_Mosaic/2.0 (Windows 3.1)'-    family: 'Windows 3.1'-    major:+    family: 'Windows'+    major: '3.1'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko'-    family: 'Windows 10'-    major:+    family: 'Windows'+    major: '10'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0'-    family: 'Windows 10'-    major:+    family: 'Windows'+    major: '10'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows NT 6.4; Trident/7.0; rv:11.0) like Gecko'-    family: 'Windows 10'-    major:+    family: 'Windows'+    major: '10'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36 Edge/12.0'-    family: 'Windows 10'-    major:+    family: 'Windows'+    major: '10'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows NT 6.4; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0'-    family: 'Windows 10'-    major:+    family: 'Windows'+    major: '10'     minor:     patch:     patch_minor: -  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko'-    family: 'Windows 8.1'-    major:+  - user_agent_string: 'PAN GlobalProtect/4.1.2-11 (Microsoft Windows 10 Pro , 64-bit)'+    family: 'Windows'+    major: '10'     minor:     patch:     patch_minor: -  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3; ARM; WOW64; Trident/7.0; rv:11.0) like Gecko'-    family: 'Windows RT 8.1'-    major:+  - user_agent_string: 'PAN GlobalProtect/5.0.0-87 (Microsoft Windows 10 Pro , 64-bit) Mozilla/5.0 (Windows NT 6.2; Win64; x64; Trident/7.0; rv:11.0) like Gecko'+    family: 'Windows'+    major: '10'     minor:     patch:     patch_minor: +  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko'+    family: 'Windows'+    major: '8'+    minor: '1'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3; ARM; WOW64; Trident/7.0; rv:11.0) like Gecko'+    family: 'Windows'+    major: 'RT 8'+    minor: '1'+    patch:+    patch_minor:+   - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 ThunderBrowse/3.3.5'-    family: 'Windows 7'-    major:+    family: 'Windows'+    major: '7'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Thunderbird/45.0'-    family: 'Windows 7'-    major:+    family: 'Windows'+    major: '7'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.3a1) Gecko/20100208 MozillaDeveloperPreview/3.7a1 (.NET CLR 3.5.30729)'-    family: 'Windows 7'-    major:+    family: 'Windows'+    major: '7'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) FireWeb/1.0.0.0'-    family: 'Windows 7'-    major:+    family: 'Windows'+    major: '7'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 6.1; zh_CN) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0 baidubrowser/1.x Safari/534.7'-    family: 'Windows 7'-    major:+    family: 'Windows'+    major: '7'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; baidubrowser 1.x)'-    family: 'Windows 7'-    major:+    family: 'Windows'+    major: '7'     minor:     patch:     patch_minor:@@ -862,85 +946,85 @@     patch_minor:    - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)'-    family: 'Windows 8'-    major:+    family: 'Windows'+    major: '8'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)'-    family: 'Windows RT'-    major:+    family: 'Windows'+    major: 'RT'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; chromeframe; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)'-    family: 'Windows Vista'-    major:+    family: 'Windows'+    major: 'Vista'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.17) Gecko/20110414 Lightning/1.0b3pre Thunderbird/3.1.10'-    family: 'Windows XP'-    major:+    family: 'Windows'+    major: 'XP'     minor:     patch:     patch_minor:    - user_agent_string: 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.5.24 Version/10.53'-    family: 'Windows XP'-    major:+    family: 'Windows'+    major: 'XP'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; BOLT/2.101) AppleWebKit/530  (KHTML, like Gecko) Version/4.0 Safari/530.17'-    family: 'Windows XP'-    major:+    family: 'Windows'+    major: 'XP'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; chromeframe; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; Sleipnir 2.8.5)3.0.30729)'-    family: 'Windows XP'-    major:+    family: 'Windows'+    major: 'XP'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; chromeframe; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)'-    family: 'Windows XP'-    major:+    family: 'Windows'+    major: 'XP'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; .NET CLR 2.0.50727; .NET CLR 1.1.4322)'-    family: 'Windows XP'-    major:+    family: 'Windows'+    major: 'XP'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) RockMelt/0.8.34.841 Chrome/6.0.472.63 Safari/534.3'-    family: 'Windows XP'-    major:+    family: 'Windows'+    major: 'XP'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Comodo_Dragon/4.1.1.11 Chrome/4.1.249.1042 Safari/532.5'-    family: 'Windows XP'-    major:+    family: 'Windows'+    major: 'XP'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20110407 Firefox/4.0.3 PaleMoon/4.0.3'-    family: 'Windows XP'-    major:+    family: 'Windows'+    major: 'XP'     minor:     patch:     patch_minor:@@ -953,8 +1037,8 @@     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Win 9x 4.90; PL; rv:1.7.5) Gecko/20041217'-    family: 'Windows ME'-    major:+    family: 'Windows'+    major: 'ME'     minor:     patch:     patch_minor:@@ -994,6 +1078,13 @@     patch:     patch_minor: +  - user_agent_string: 'Mozilla/5.0 (Linux; U; Sailfish 3.0; Mobile; rv:45.0) Gecko/45.0 Firefox/45.0 SailfishBrowser/1.0'+    family: 'Sailfish'+    major: '3'+    minor: '0'+    patch:+    patch_minor:+ # up market model   - user_agent_string: 'HbbTV/1.1.1 (;Samsung;SmartTV2013;T-FXPDEUC-1102.2;;) WebKit'     family: 'Samsung'@@ -1074,6 +1165,13 @@     patch: '4'     patch_minor: +  - user_agent_string: 'DAVdroid/1.9.2-gplay (2017/11/04; dav4android; okhttp3) Android/7.1.2'+    family: 'Android'+    major: '7'+    minor: '1'+    patch: '2'+    patch_minor:+   - user_agent_string: 'Mozilla/5.0 (SymbianOS 9.4; Series60/5.0 NokiaN97-1/10.0.012; Profile/MIDP-2.1 Configuration/CLDC-1.1; en-us) AppleWebKit/525 (KHTML, like Gecko) WicKed/7.1.12344'     family: 'Symbian OS'     major: '9'@@ -1649,106 +1747,106 @@     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows U; Win NT 5.0; en-US; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2'-    family: 'Windows NT'-    major:+    family: 'Windows'+    major: 'NT'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; N; WinNT; en-US; m14) Netscape6/6.0b1,gzip(gfe),gzip(gfe),gzip(gfe)'-    family: 'Windows NT'-    major:+    family: 'Windows'+    major: 'NT'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Win 9x 4.90; de; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7'-    family: 'Windows ME'-    major:+    family: 'Windows'+    major: 'ME'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Win 9x 4.90; en-CA; rv:0.9.4.1) Gecko/20020314 Netscape6/6.2.2'-    family: 'Windows ME'-    major:+    family: 'Windows'+    major: 'ME'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Win16; en-US; rv:1.7) Safari/85.5'-    family: 'Windows 3.1'-    major:+    family: 'Windows'+    major: '3.1'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Win3.1; en-US; rv:1.0.0) Gecko/20020530'-    family: 'Windows 3.1'-    major:+    family: 'Windows'+    major: '3.1'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Win3.11; en-US; rv:21.56.11.90) Gecko/20500230 Firefox/3.5'-    family: 'Windows 3.1'-    major:+    family: 'Windows'+    major: '3.1'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Win32; rv:1.6),gzip(gfe),gzip(gfe),gzip(gfe)'-    family: 'Windows 95'-    major:+    family: 'Windows'+    major: '95'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Win95; en-GB; rv:1.0.1) Gecko/20020823 Netscape/7.0'-    family: 'Windows 95'-    major:+    family: 'Windows'+    major: '95'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; Win95; en-GB; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8'-    family: 'Windows 95'-    major:+    family: 'Windows'+    major: '95'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (Windows; U; WindowsCE 5.2; en-US; rv:1.9.2a2pre) Gecko/20090904 Fennec/1.0a3'-    family: 'Windows CE'-    major:+    family: 'Windows'+    major: 'CE'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (WindowsCE 6.0; rv:2.0.1) Gecko Firefox/5.0.1'-    family: 'Windows CE'-    major:+    family: 'Windows'+    major: 'CE'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (WindowsCE 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 SeaMonkey/2.1.1'-    family: 'Windows CE'-    major:+    family: 'Windows'+    major: 'CE'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (WindowsCE 6.0; rv:2.1.1) Gecko/ Firefox/5.0.1'-    family: 'Windows CE'-    major:+    family: 'Windows'+    major: 'CE'     minor:     patch:     patch_minor:    - user_agent_string: 'Mozilla/5.0 (WindowsCE; rv:4.0) Gecko/20120320 Firefox/4.0'-    family: 'Windows CE'-    major:+    family: 'Windows'+    major: 'CE'     minor:     patch:     patch_minor:@@ -2047,6 +2145,41 @@     patch:     patch_minor: +  - user_agent_string: 'App/1.0.0 CFNetwork/894 Darwin/17.4.0'+    family: 'iOS'+    major: '11'+    minor: '2'+    patch: '6'+    patch_minor:++  - user_agent_string: 'App/1.0.0 CFNetwork/897.15 Darwin/17.5.0'+    family: 'iOS'+    major: '11'+    minor: '3'+    patch:+    patch_minor:++  - user_agent_string: 'App/1.0.0 CFNetwork/901.1 Darwin/17.6.0'+    family: 'iOS'+    major: '11'+    minor: '4'+    patch:+    patch_minor:++  - user_agent_string: 'App/1.0.0 CFNetwork/902.2 Darwin/17.7.0'+    family: 'iOS'+    major: '11'+    minor: '4'+    patch: '1'+    patch_minor:++  - user_agent_string: 'App/1.0.0 CFNetwork/958.1 Darwin/18.0.0'+    family: 'iOS'+    major: '12'+    minor: '0'+    patch:+    patch_minor:+   - user_agent_string: 'Mozilla/5.0 (iPhone; CPU 7_0_6 like Mac OS X; en_GB) AppleWebKit (KHTML, like Gecko) Mobile [OKMagazine/4.0.1 (iOS/7.0.6)] [LiteApps]'     family: 'iOS'     major: '7'@@ -2209,6 +2342,27 @@     patch:     patch_minor: +  - user_agent_string: 'TestApp/1.0 CFNetwork/758.3.15 Darwin/15.4.0'+    family: 'iOS'+    major: '9'+    minor: '3'+    patch: '1'+    patch_minor:++  - user_agent_string: 'TestApp/1.0 CFNetwork/758.4.3 Darwin/15.5.0'+    family: 'iOS'+    major: '9'+    minor: '3'+    patch: '2'+    patch_minor:++  - user_agent_string: 'TestApp/1.0 CFNetwork/758.5.3 Darwin/15.6.0'+    family: 'iOS'+    major: '9'+    minor: '3'+    patch: '5'+    patch_minor:+   - user_agent_string: 'TestApp/1.0 CFNetwork/808.0.2 Darwin/16.0.0'     family: 'iOS'     major: '10'@@ -2230,6 +2384,13 @@     patch:     patch_minor: +  - user_agent_string: 'App/1.0.0 CFNetwork/808.3 Darwin/16.3.0'+    family: 'iOS'+    major: '10'+    minor: '2'+    patch: '1'+    patch_minor:+   - user_agent_string: 'TestApp-tvOS/1.0-1'     family: 'tvOS'     major: '1'@@ -2335,6 +2496,13 @@     patch: '4'     patch_minor: +  - user_agent_string: 'Zendesk for iPhone 1.2.1 (4395)'+    family: 'iOS'+    major:+    minor:+    patch:+    patch_minor:+   - user_agent_string: 'Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10_11_6)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/52.0.2743.116+Safari/537.36'     family: 'Mac OS X'     major: '10'@@ -2346,5 +2514,370 @@     family: 'Mac OS X'     major: '10'     minor: '12'+    patch:+    patch_minor:++  - user_agent_string: 'Box Sync/4.0.7848;Darwin/10.13;i386/64bit'+    family: 'Mac OS X'+    major: '10'+    minor: '13'+    patch:+    patch_minor:++  - user_agent_string: 'Box/1.2.93;Darwin/10.13;i386/64bit'+    family: 'Mac OS X'+    major: '10'+    minor: '13'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) BoxNotes/1.3.0 Chrome/56.0.2924.87 Electron/1.6.8 Safari/537.36'+    family: 'Mac OS X'+    major: '10'+    minor: '13'+    patch: '0'+    patch_minor:++  - user_agent_string: 'Box Sync/4.0.7848;Windows/8.1;x86 Family 6 Model 158 Stepping 9, GenuineIntel/32bit'+    family: 'Windows'+    major: '8.1'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Box Sync/4.0.7848;Windows/10;Intel64 Family 6 Model 158 Stepping 9, GenuineIntel/64bit'+    family: 'Windows'+    major: '10'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) BoxNotes/1.3.0 Chrome/56.0.2924.87 Electron/1.6.8 Safari/537.36'+    family: 'Windows'+    major: '8'+    minor: '1'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) BoxNotes/1.3.0 Chrome/56.0.2924.87 Electron/1.6.8 Safari/537.36'+    family: 'Windows'+    major: '10'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Box/1.2.93;Windows/10;Intel64 Family 6 Model 158 Stepping 9, GenuineIntel/64bit'+    family: 'Windows'+    major: '10'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Windows) mirall/2.3.2 (build 1) (Nextcloud)'+    family: 'Windows'+    major:+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux) mirall/2.3.2 (Nextcloud)'+    family: 'Linux'+    major:+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Android) ownCloud-android/2.0.0'+    family: 'Android'+    major:+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'MyApp/1.0 CFNetwork/811.4.18 Darwin/16.5.0'+    family: 'iOS'+    major: '10'+    minor: '3'+    patch:+    patch_minor:++  - user_agent_string: 'MyApp/1.0 CFNetwork/811.5.4 Darwin/16.6.0'+    family: 'iOS'+    major: '10'+    minor: '3'+    patch: '2'+    patch_minor:++  - user_agent_string: 'MyApp/1.0 CFNetwork/811.5.4 Darwin/16.7.0'+    family: 'iOS'+    major: '10'+    minor: '3'+    patch: '3'+    patch_minor:++  - user_agent_string: 'MyApp/1.0 CFNetwork/887 Darwin/17.0.0'+    family: 'iOS'+    major: '11'+    minor: '0'+    patch:+    patch_minor:++  - user_agent_string: 'MyApp/1.0 CFNetwork/889.9 Darwin/17.2.0'+    family: 'iOS'+    major: '11'+    minor: '1'+    patch:+    patch_minor:++  - user_agent_string: 'MyApp/1.0 CFNetwork/893.10 Darwin/17.3.0'+    family: 'iOS'+    major: '11'+    minor: '2'+    patch:+    patch_minor:+++  - user_agent_string: 'MyApp/1.0 CFNetwork/893.13.1 Darwin/17.3.0 (x86_64)'+    family: 'Mac OS X'+    major: '10'+    minor: '13'+    patch:+    patch_minor:++  - user_agent_string: 'Outlook-iOS/665.29827.prod.iphone (2.63.0)'+    family: 'iOS'+    major:+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.0; LG-TP260 Build/NRD90U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36 Instagram 33.0.0.11.92 Android (24/7.0; 320dpi; 720x1193; LGE/lge; LG-TP260; lv517; lv517; en_US; 93117667)'+    family: 'Android'+    major: '7'+    minor: '0'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_5 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Mobile/15D60 Instagram 33.0.0.11.96 (iPhone9,3; iOS 11_2_5; en_AU; en-AU; scale=2.00; gamut=wide; 750x1334)'+    family: 'iOS'+    major: '11'+    minor: '2'+    patch: '5'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Mobile/15D100 Flipboard/4.2.2'+    family: 'iOS'+    major: '11'+    minor: '2'+    patch: '6'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.0; SM-G610F Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.111 Mobile Safari/537.36 Flipboard/4.1.9/4323,4.1.9.4323'+    family: 'Android'+    major: '7'+    minor: '0'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.0; SM-G930F Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36 Onefootball/Android/9.10.6'+    family: 'Android'+    major: '7'+    minor: '0'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.0; SM-A520F Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.83 Mobile Safari/537.36 Flipboard-Briefing/2.7.28'+    family: 'Android'+    major: '7'+    minor: '0'+    patch:+    patch_minor:++  - user_agent_string: 'Wget/1.18 (linux-gnu)'+    family: 'Linux'+    major:+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Wget/1.18 (freebsd10.3)'+    family: 'FreeBSD'+    major: '10'+    minor: '3'+    patch:+    patch_minor:++  - user_agent_string: 'curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2'+    family: 'Red Hat'+    major:+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'ibm-cos-sdk-java/2.3.0 Linux/4.9.0-8-amd64 Java_HotSpot(TM)_64-Bit_Server_VM/9.0.4+11/9.0.4'+    family: 'Linux'+    major: '4'+    minor: '9'+    patch: '0'+    patch_minor:++  - user_agent_string: 'aws-sdk-dotnet-45/3.3.11.0 aws-sdk-dotnet-core/3.3.17.10 .NET_Runtime/4.0 .NET_Framework/4.0 OS/Microsoft_Windows_NT_6.2.9200.0 ClientSync'+    family: 'Windows'+    major:+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'rusoto/0.36.0 rust/1.35.0 linux'+    family: 'Linux'+    major:+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'SalesforceMobileSDK/5.3.0 android mobile/8.0.0 (SM-G955F) Salesforce1/15.2 Native uid_c4589f605fad8c7e ftr_ Cordova/6.2.3'+    family: 'Android'+    major: '8'+    minor: '0'+    patch: '0'+    patch_minor:++  - user_agent_string: 'SalesforceMobileSDK/5.3.0 android mobile/7.0 (SM-G955U) Salesforce1/15.2 Native uid_4ec4068eddf27447 ftr_ Cordova/6.2.3'+    family: 'Android'+    major: '7'+    minor: '0'+    patch:+    patch_minor:++  - user_agent_string: 'SalesforceMobileSDK/5.3.0 android mobile/9 (SM-G955U) Salesforce1/15.2 Native uid_4ec4068eddf27447 ftr_ Cordova/6.2.3'+    family: 'Android'+    major: '9'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 9; Pixel Build/PPP3.180510.008) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.81 Mobile Safari/537.36'+    family: 'Android'+    major: '9'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (X11; Windows aarch64 10718.88.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.118 Safari/537.36 CitrixChromeApp'+    family: 'Chrome OS'+    major: '10718'+    minor: '88'+    patch: '2'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (X11; Windows x86_64 10718.88.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.118 Safari/537.36 CitrixChromeApp'+    family: 'Chrome OS'+    major: '10718'+    minor: '88'+    patch: '2'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36 CitrixChromeApp'+    family: 'Windows'+    major: '10'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'ViaFree-DK/3.8.3 (com.MTGx.ViaFree.dk; build:7383; iOS 12.1.0) Alamofire/4.7.0'+    family: 'iOS'+    major: '12'+    minor: '1'+    patch: '0'+    patch_minor:++  - user_agent_string: 'Viafree-tvOS-DK/3.7.1 (com.MTGx.ViaFree.dk; build:7341; tvOS 12.1.0) Alamofire/4.7.0'+    family: 'tvOS'+    major: '12'+    minor: '1'+    patch: '0'+    patch_minor:++  - user_agent_string: 'iTunes/12.7.1 (Windows; Microsoft Windows 7 Ultimate Edition Service Pack 1 (Build 7601)) AppleWebKit/7604.3005.2001.1'+    family: 'Windows'+    major: '7'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'iTunes/12.1.3 (Windows; Microsoft Windows XP Professional Service Pack 3 (Build 2600)) AppleWebKit/7600.1017.9000.3'+    family: 'Windows'+    major: 'XP'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'iTunes/12.1.3 (Windows; Microsoft Windows Vista Business Edition Service Pack 2 (Build 6002)) AppleWebKit/7600.1017.9000.3  '+    family: 'Windows'+    major: 'Vista'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.01; Windows 98; Linux 3.3.8-3.3) [Netgem; 7.7.01-51; i-Player; netbox; sezmi_totalgem]'+    family: 'Windows'+    major: '98'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/2.0 (compatible; MSIE 3.0; Windows 3.1)'+    family: 'Windows'+    major: '3.1'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 4.0; rv:52.0) Gecko/20100101 Firefox/52.0'+    family: 'Windows'+    major: 'NT'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.0; Windows ME) Opera 5.11 [de]'+    family: 'Windows'+    major: 'ME'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Microsoft Internet Explorer/1.0 (Windows 95)'+    family: 'Windows'+    major: '95'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows CE,BrailleNote; IEMobile 7.11)'+    family: 'Windows'+    major: 'CE'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Windows 2000; U) Opera 7.0 [en]'+    family: 'Windows'+    major: '2000'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (compatible;AspiegelBot)'+    family: 'Other'+    major:+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; AspiegelBot)'+    family: 'Other'+    major:+    minor:     patch:     patch_minor:
deps/uap-core/tests/test_ua.yaml view
@@ -1,7188 +1,8336 @@ test_cases:--  - user_agent_string: 'Mozilla/5.0 (Windows; U; en-US) AppleWebKit/531.9 (KHTML, like Gecko) AdobeAIR/2.5.1'-    family: 'AdobeAIR'-    major: '2'-    minor: '5'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.1.0-80) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true'-    family: 'Amazon Silk'-    major: '1'-    minor: '1'-    patch: '0-80'--  - user_agent_string: 'Mozilla/5.0 (Linux; U; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/2.0 Safari/535.19 Silk-Accelerated=false'-    family: 'Amazon Silk'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; en-us; KFOT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/2.1 Safari/535.19 Silk-Accelerated=true'-    family: 'Amazon Silk'-    major: '2'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/2.2 Safari/535.19 Silk-Accelerated=true'-    family: 'Amazon Silk'-    major: '2'-    minor: '2'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.0.3; en-gb; KFTT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.25 like Chrome/34.0.1847.137 Mobile Safari/537.36'-    family: 'Amazon Silk'-    major: '3'-    minor: '25'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.2.2; en-gb; HTC Desire Build/FRG83G) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'-    family: 'Android'-    major: '2'-    minor: '2'-    patch: '2'--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.3.3; en-fr; HTC/WildfireS/1.33.163.2 Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'-    family: 'Android'-    major: '2'-    minor: '3'-    patch: '3'--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Kindle Fire Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'-    family: 'Android'-    major: '2'-    minor: '3'-    patch: '4'--  - user_agent_string: 'Mozilla/5.0 (Linux;U;Android 2.3.5;en-us;TECNO T3 Build/master) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'-    family: 'Android'-    major: '2'-    minor: '3'-    patch: '5'--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 3.0.1; en-us; GT-P7510 Build/HRI83) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13'-    family: 'Android'-    major: '3'-    minor: '0'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFTT Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30'-    family: 'Android'-    major: '4'-    minor: '0'-    patch: '3'--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFOT Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30'-    family: 'Android'-    major: '4'-    minor: '0'-    patch: '3'--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; Amaze_4G Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'-    family: 'Android'-    major: '4'-    minor: '0'-    patch: '3'--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; PJ83100/2.20.502.7 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.0'-    family: 'Android'-    major: '4'-    minor: '0'-    patch: '4'--  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 6.1; zh_CN) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0 baidubrowser/1.x Safari/534.7'-    family: 'Baidu Browser'-    major: '1'-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; baidubrowser 1.x)'-    family: 'Baidu Browser'-    major: '1'-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.15 Safari/535.11 QQBrowser/6.13.13719.201'-    family: 'QQ Browser'-    major: '6'-    minor: '13'-    patch: '13719'--  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; QQBrowser/7.6.21433.400)'-    family: 'QQ Browser'-    major: '7'-    minor: '6'-    patch: '21433'--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.1.1; zh-cn; MI 2S Build/JRO03L) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.0 Mobile Safari/537.36'-    family: 'QQ Browser Mobile'-    major: '5'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (iPhone 5; CPU iPhone OS 7_0_6 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/6.0 MQQBrowser/5.0.5 Mobile/11B651 Safari/8536.25'-    family: 'QQ Browser Mobile'-    major: '5'-    minor: '0'-    patch: '5'--  - user_agent_string: 'MQQBrowser/371 Mozilla/5.0 (iPhone 4S; CPU iPhone OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10A523 Safari/7534.48.3'-    family: 'QQ Browser Mobile'-    major: '371'-    minor:-    patch:--  - user_agent_string: 'MQQBrowser/1.0/Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; NOKIA; RM-910apacprc200)'-    family: 'QQ Browser Mobile'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'QQBrowser (Linux; U; zh-cn; HTC Hero Build/FRF91)'-    family: 'QQ Browser'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (BB10; Touch) AppleWebKit/537.3+ (KHTML, like Gecko) Version/10.0.9.388 Mobile Safari/537.3+'-    family: 'BlackBerry WebKit'-    major: '10'-    minor: '0'-    patch: '9'--  - user_agent_string: 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 1.0.0; en-US) AppleWebKit/534.8+ (KHTML, like Gecko) Version/0.0.1 Safari/534.8+'-    family: 'BlackBerry WebKit'-    major: '1'-    minor: '0'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-GB) AppleWebKit/534.1+ (KHTML, like Gecko) Version/6.0.0.141 Mobile Safari/534.1+'-    family: 'BlackBerry WebKit'-    major: '6'-    minor: '0'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) AppleWebKit/534.1  (KHTML, like Gecko) Version/6.0.0.91 Mobile Safari/534.1 '-    family: 'BlackBerry WebKit'-    major: '6'-    minor: '0'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; BOLT/2.101) AppleWebKit/530  (KHTML, like Gecko) Version/4.0 Safari/530.17'-    family: 'BOLT'-    major: '2'-    minor: '101'-    patch:--  - user_agent_string: 'Bunjalloo/0.7.6(Nintendo DS;U;en)'-    family: 'Bunjalloo'-    major: '0'-    minor: '7'-    patch: '6'--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; chromeframe; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)'-    family: 'IE'-    major: '8'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; chromeframe; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; Sleipnir 2.8.5)3.0.30729)'-    family: 'Sleipnir'-    major: '2'-    minor: '8'-    patch: '5'--  - user_agent_string: 'Mozilla/5.0 (compatible; Windows NT 6.1; Catchpoint) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'-    family: 'Catchpoint'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Windows NT 6.1; Catchpoint bot) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'-    family: 'Catchpoint bot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; chromeframe/11.0.660.0)'-    family: 'Chrome Frame'-    major: '11'-    minor: '0'-    patch: '660'--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.1.2; Nexus 5X Build/N2G47W; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.83 Mobile Safari/537.36'-    family: 'Chrome Mobile WebView'-    major: '58'-    minor: '0'-    patch: '3029'--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.2; Galaxy Nexus Build/JOP40C) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19'-    family: 'Chrome Mobile'-    major: '18'-    minor: '0'-    patch: '1025'--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.1.1; SPH-L710 Build/JRO03L) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19'-    family: 'Chrome Mobile'-    major: '18'-    minor: '0'-    patch: '1025'--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.122 Mobile Safari/537.36'-    family: 'Chrome Mobile'-    major: '35'-    minor: '0'-    patch: '1916'--  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Ubuntu/10.10 Chromium/10.0.648.133 Chrome/10.0.648.133 Safari/534.16'-    family: 'Chromium'-    major: '10'-    minor: '0'-    patch: '648'--  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Comodo_Dragon/4.1.1.11 Chrome/4.1.249.1042 Safari/532.5'-    family: 'Comodo Dragon'-    major: '4'-    minor: '1'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.16) Gecko/20110302 Conkeror/0.9.2 (Debian-0.9.2+git100804-1)'-    family: 'Conkeror'-    major: '0'-    minor: '9'-    patch: '2'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:2.0) Gecko/20110408 conkeror/0.9.3'-    family: 'Conkeror'-    major: '0'-    minor: '9'-    patch: '3'--  - user_agent_string: 'Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-S8500/S8500XXJEE; U; Bada/1.0; nl-nl) AppleWebKit/533.1 (KHTML, like Gecko) Dolfin/2.0 Mobile WVGA SMM-MMS/1.2.0 OPN-B'-    family: 'Dolfin'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)'-    family: 'FacebookBot'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'LinkedInBot/1.0 (compatible; Mozilla/5.0; Jakarta Commons-HttpClient/3.1 +http://www.linkedin.com)'-    family: 'LinkedInBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Google (+https://developers.google.com/+/web/snippet/)'-    family: 'GooglePlusBot'-    major:-    minor:-    patch:--  - user_agent_string: 'Firefox/11.0 (via ggpht.com GoogleImageProxy)'-    family: 'GmailImageProxy'-    major:-    minor:-    patch:--  - user_agent_string: 'Twitterbot/1.0'-    family: 'TwitterBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'WhatsApp/2.17.70 W'-    family: 'WhatsApp'-    major: '2'-    minor: '17'-    patch: '70'--  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.1pre) Gecko/20090717 Ubuntu/9.04 (jaunty) Shiretoko/3.5.1pre'-    family: 'Firefox (Shiretoko)'-    major: '3'-    minor: '5'-    patch: '1pre'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux i686 (x86_64); rv:2.0b4) Gecko/20100818 Firefox/4.0b4'-    family: 'Firefox Beta'-    major: '4'-    minor: '0'-    patch: 'b4'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:2.0b8pre) Gecko/20101031 Firefox-4.0/4.0b8pre'-    family: 'Firefox Beta'-    major: '4'-    minor: '0'-    patch: 'b8pre'--  - user_agent_string: 'Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.8.0.5) Gecko/20060728 Firefox/1.5.0.5'-    family: 'Firefox'-    major: '1'-    minor: '5'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.04 (lucid) Firefox/3.6.12'-    family: 'Firefox'-    major: '3'-    minor: '6'-    patch: '12'--  - user_agent_string: 'Mozilla/5.0 (Mobile; rv:15.0) Gecko/15.0 Firefox/15.0'-    family: 'Firefox Mobile'-    major: '15'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) FireWeb/1.0.0.0'-    family: 'FireWeb'-    major: '1'-    minor: '0'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'-    family: 'Googlebot'-    major: '2'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (DTV) AppleWebKit/531.2+ (KHTML, like Gecko) Espial/6.1.6 AQUOSBrowser/2.0 (US01DTV;V;0001;0001)'-    family: 'Espial'-    major: '6'-    minor: '1'-    patch: '6'--  - user_agent_string: 'iBrowser/Mini2.8 (Nokia5130c-2/07.97)'-    family: 'iBrowser Mini'-    major: '2'-    minor: '8'-    patch:--  - user_agent_string: 'ICE Browser/5.05 (Java 1.4.0; Windows 2000 5.0 x86)'-    family: 'ICE Browser'-    major: '5'-    minor: '05'-    patch:--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:2.0) Gecko/20110417 IceCat/4.0'-    family: 'IceCat'-    major: '4'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; XBLWP7; ZuneWP7)'-    family: 'IE Large Screen'-    major: '9'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; SAMSUNG; SGH-i917)'-    family: 'IE Mobile'-    major: '7'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG; SGH-i917)'-    family: 'IE Mobile'-    major: '9'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; NOKIA; Lumia 800)'-    family: 'IE Mobile'-    major: '9'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920)'-    family: 'IE Mobile'-    major: '10'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; .NET CLR 2.0.50727; .NET CLR 1.1.4322)'-    family: 'IE'-    major: '8'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 WebTV/2.6 (compatible; MSIE 4.0)'-    family: 'IE'-    major: '4'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.17; Mac_PowerPC)'-    family: 'IE'-    major: '5'-    minor: '17'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)'-    family: 'IE'-    major: '10'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; chromeframe; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)'-    family: 'IE'-    major: '8'-    minor: '0'-    patch:--  - user_agent_string: 'Java/1.6.0_43'-    family: 'Java'-    major: '6'-    minor: '0'-    patch: '43'--  - user_agent_string: 'Java/1.7.0_71'-    family: 'Java'-    major: '7'-    minor: '0'-    patch: '71'--  - user_agent_string: 'Java/1.8.0_25'-    family: 'Java'-    major: '8'-    minor: '0'-    patch: '25'--  - user_agent_string: 'Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) Version/4.0 Kindle/3.0 (screen 600x800; rotate)'-    family: 'Kindle'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux; de-DE) AppleWebKit/527  (KHTML, like Gecko, Safari/419.3) konqueror/4.3.1'-    family: 'Konqueror'-    major: '4'-    minor: '3'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.17) Gecko/20110414 Lightning/1.0b3pre Thunderbird/3.1.10'-    family: 'Lightning'-    major: '1'-    minor: '0'-    patch: 'b3pre'--  - user_agent_string: 'Mozilla/5.0 (Linux x86_64) AppleWebKit/534.26+ WebKitGTK+/1.4.1 luakit/f3a2dbe'-    family: 'LuaKit'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.47 Safari/535.11 MRCHROME'-    family: 'Mail.ru Chromium Browser'-    major: '17'-    minor: '0'-    patch: '963'--  - user_agent_string: 'Midori/0.2 (X11; Linux; U; en-us) WebKit/531.2 '-    family: 'Midori'-    major: '0'-    minor: '2'-    patch:--  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10'-    family: 'Mobile Safari'-    major: '4'-    minor: '0'-    patch: '4'--  - user_agent_string: 'Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5'-    family: 'Mobile Safari'-    major: '5'-    minor: '0'-    patch: '2'--  - user_agent_string: 'Mozilla/5.0 (iPod touch; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69'-    family: 'Mobile Safari UI/WKWebView'-    major: '9'-    minor: '3'-    patch: '2'--  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D257'-    family: 'Mobile Safari UI/WKWebView'-    major: '7'-    minor: '1'-    patch: '2'--  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.3a1) Gecko/20100208 MozillaDeveloperPreview/3.7a1 (.NET CLR 3.5.30729)'-    family: 'MozillaDeveloperPreview'-    major: '3'-    minor: '7'-    patch: 'a1'--  - user_agent_string: 'NCSA_Mosaic/2.0 (Windows 3.1)'-    family: 'NCSA Mosaic'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (PLAYSTATION 3; 3.55)'-    family: 'NetFront'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (PLAYSTATION 3 4.31) AppleWebKit/531.22.8 (KHTML, like Gecko)'-    family: 'NetFront NX'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (PSP (PlayStation Portable); 2.00)'-    family: 'NetFront'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (PlayStation Vita 1.81) AppleWebKit/531.22.8 (KHTML, like Gecko) Silk/3.2'-    family: 'NetFront NX'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; Linux 2.6.10) NetFront/3.3 Kindle/1.0 (screen 600x800)'-    family: 'NetFront'-    major: '3'-    minor: '3'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7498.US'-    family: 'NetFront NX'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.8.21 NintendoBrowser/1.0.0.7494.US'-    family: 'NetFront NX'-    major: '2'-    minor: '1'-    patch: '0'--  - user_agent_string: 'HUAWEI-M750/001.00 ACS-NetFront/3.2'-    family: 'NetFront'-    major: '3'-    minor: '2'-    patch:--  - user_agent_string: 'Mozilla/4.0 (BREW 3.1.5; U; en-us; Sanyo; NetFront/3.5.1/AMB) Boost SCP3810'-    family: 'NetFront'-    major: '3'-    minor: '5'-    patch: '1'--  - user_agent_string: 'NetFront/3.5.1 (BREW 3.1.5; U; en-us; LG; NetFront/3.5.1/WAP) Sprint LN240 MMP/2.0 Profile/MIDP-2.1 Configuration/CLDC-1.1'-    family: 'NetFront'-    major: '3'-    minor: '5'-    patch: '1'--  - user_agent_string: 'Mozilla/4.0 (Brew MP 1.0.2; U; en-us; Sanyo; NetFront/3.5.1/AMB) Sprint E4100'-    family: 'NetFront'-    major: '3'-    minor: '5'-    patch: '1'--  - user_agent_string: 'PantechP6010/JNUS11072011 BMP/1.0.2 DeviceId/141020 NetFront/4.1 OMC/1.5.3 Profile/MIDP-2.1 Configuration/CLDC-1.1'-    family: 'NetFront'-    major: '4'-    minor: '1'-    patch:--  - user_agent_string: 'NetFront/4.2 (BMP 1.0.4; U; en-us; LG; NetFront/4.2/AMB) Boost LG272 MMP/2.0 Profile/MIDP-2.1 Configuration/CLDC-1.1'-    family: 'NetFront'-    major: '4'-    minor: '2'-    patch:--  - user_agent_string: 'Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5800d-1/21.0.025; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413'-    family: 'Nokia Browser'-    major: '7'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Symbian/3; Series60/5.2 NokiaN8-00/013.016; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 BrowserNG/7.2.8.10 3gpp-gba'-    family: 'Nokia Browser'-    major: '7'-    minor: '2'-    patch: '8'--  - user_agent_string: 'Mozilla/5.0 (Symbian/3; Series60/5.2 NokiaN8-00/012.002; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/533.4 (KHTML, like Gecko) NokiaBrowser/7.3.0 Mobile Safari/533.4 3gpp-gba'-    family: 'Nokia Browser'-    major: '7'-    minor: '3'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (Symbian/3; Series60/5.3 Nokia701/111.020.0307; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/533.4 (KHTML, like Gecko) NokiaBrowser/7.4.1.14 Mobile Safari/533.4 3gpp-gba'-    family: 'Nokia Browser'-    major: '7'-    minor: '4'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13'-    family: 'Nokia Browser'-    major: '8'-    minor: '5'-    patch: '0'--  - user_agent_string: 'ALCATEL-OT510A/382 ObigoInternetBrowser/Q05A'-    family: 'Obigo'-    major:-    minor:-    patch:--  - user_agent_string: 'Huawei/1.0/0HuaweiG2800/WAP2.0/Obigo-Browser/Q03C MMS/Obigo-MMS/1.2'-    family: 'Obigo'-    major:-    minor:-    patch:--  - user_agent_string: 'PantechP7040/JLUS04042011 Browser/Obigo/Q05A OMC/1.5.3 Profile/MIDP-2.1 Configuration/CLDC-1.1'-    family: 'Obigo'-    major: '05'-    minor:-    patch:--  - user_agent_string: 'OneBrowser/3.0 (SAMSUNG-GT-S5253/S5253DDKJ2)'-    family: 'ONE Browser'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'OneBrowser/3.0 (NokiaC2-00/03.42)'-    family: 'ONE Browser'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'SAMSUNG-C3053/1.0 Openwave/6.2.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0'-    family: 'Openwave'-    major: '6'-    minor: '2'-    patch: '3'--  - user_agent_string: 'Opera/9.80 (VRE; Opera Mini/4.2/28.2794; U; en) Presto/2.8.119 Version/11.10'-    family: 'Opera Mini'-    major: '4'-    minor: '2'-    patch:--  - user_agent_string: 'Opera/9.80 (BREW; Opera Mini/5.1.191/27.2202; U; en) Presto/2.8.119 240X400 LG VN271'-    family: 'Opera Mini'-    major: '5'-    minor: '1'-    patch: '191'--  - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/6.24455/25.677; U; fr) Presto/2.5.25 Version/10.54'-    family: 'Opera Mini'-    major: '6'-    minor: '24455'-    patch:--  - user_agent_string: 'Opera/9.80 (BlackBerry; Opera Mini/7.0.31437/28.3030; U; en) Presto/2.8.119 Version/11.10'-    family: 'Opera Mini'-    major: '7'-    minor: '0'-    patch: '31437'--  - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (S60; SymbOS; Opera Mobi/23.348; U; en) Presto/2.5.25 Version/10.54'-    family: 'Opera Mini'-    major: '9'-    minor: '80'-    patch:--  - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (J2ME/22.478; U; en) Presto/2.5.25 Version/10.54'-    family: 'Opera Mini'-    major: '9'-    minor: '80'-    patch:--  - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/9 (Compatible; MSIE:9.0; iPhone; BlackBerry9700; AppleWebKit/24.746; U; en) Presto/2.5.25 Version/10.54'-    family: 'Opera Mini'-    major: '9'-    minor:-    patch:--  - user_agent_string: 'Opera/9.80 (Android; Opera Mini/7.6.35766/35.5706; U; en) Presto/2.8.119 Version/11.10'-    family: 'Opera Mini'-    major: '7'-    minor: '6'-    patch: '35766'--  - user_agent_string: 'Opera/9.80 (S60; SymbOS; Opera Mobi/275; U; es-ES) Presto/2.4.13 Version/10.00'-    family: 'Opera Mobile'-    major: '10'-    minor: '00'-    patch:--  - user_agent_string: 'Opera/9.80 (Android 3.2; Linux; Opera Tablet/ADR-1106291546; U; en) Presto/2.8.149 Version/11.10'-    family: 'Opera Tablet'-    major: '11'-    minor: '10'-    patch:--  - user_agent_string: 'Opera/9.30 (Nintendo Wii; U; ; 3642; en)'-    family: 'Opera'-    major: '9'-    minor: '30'-    patch:--  - user_agent_string: 'Opera/9.50 (Nintendo DSi; Opera/507; U; en-US)'-    family: 'Opera'-    major: '9'-    minor: '50'-    patch:--  - user_agent_string: 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.5.24 Version/10.53'-    family: 'Opera'-    major: '10'-    minor: '53'-    patch:--  - user_agent_string: 'User agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.20 Safari/537.36 OPR/15.0.1147.18 (Edition Next)'-    family: 'Opera'-    major: '15'-    minor: '0'-    patch: '1147'--  - user_agent_string: 'Mozilla/5.0 (Linux; Android; 4.1.2; GT-I9100 Build/000000) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1234.12 Mobile Safari/537.22 OPR/14.0.123.123'-    family: 'Opera Mobile'-    major: '14'-    minor: '0'-    patch: '123'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.10 Safari/537.36 OPR/27.0.1689.22 (Edition developer)'-    family: 'Opera'-    major: '27'-    minor: '0'-    patch: '1689'--  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_3 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Coast/3.1.0.79792 Mobile/11B511 Safari/7534.48.3'-    family: 'Opera Coast'-    major: '3'-    minor: '1'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) OPiOS/8.0.1.80062 Mobile/11D201 Safari/9537.53'-    family: 'Opera Mini'-    major: '8'-    minor: '0'-    patch: '1'--  - user_agent_string: 'SomethingWeNeverKnewExisted'-    family: 'Other'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Series40; NokiaC2-03/07.48; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/2.2.0.0.33'-    family: 'Ovi Browser'-    major: '2'-    minor: '2'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (Series40; NokiaX2-05/08.35; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/2.0.2.68.14'-    family: 'Ovi Browser'-    major: '2'-    minor: '0'-    patch: '2'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20110407 Firefox/4.0.3 PaleMoon/4.0.3'-    family: 'Pale Moon'-    major: '4'-    minor: '0'-    patch: '3'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:3.0) Goanna/20170207 PaleMoon/27.1.0'-    family: 'Pale Moon'-    major: '27'-    minor: '1'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:3.0) Gecko/20100101 Goanna/20170207 PaleMoon/27.1.0'-    family: 'Pale Moon'-    major: '27'-    minor: '1'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:45.9) Gecko/20100101 Goanna/3.0 Firefox/45.9 PaleMoon/27.1.0'-    family: 'Pale Moon'-    major: '27'-    minor: '1'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (LG-T500 AppleWebkit/531 Browser/Phantom/V2.0 Widget/LGMW/3.0 MMS/LG-MMS-V1.0/1.2 Java/ASVM/1.1 Profile/MIDP-2.1 Configuration/CLDC-1.1)'-    family: 'Phantom Browser'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Pingdom.com_bot_version_1.4_(http://www.pingdom.com/)'-    family: 'PingdomBot'-    major: '1'-    minor: '4'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) PingdomTMS/0.8.5 Safari/534.34'-    family: 'PingdomBot'-    major: '0'-    minor: '8'-    patch: '5'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/98 Safari/537.4 (StatusCake)'-    family: 'StatusCakeBot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/3.0 (Planetweb/2.100 JS SSL US; Dreamcast US)'-    family: 'Planetweb'-    major: '2'-    minor: '100'-    patch:--  - user_agent_string: 'PyAMF/0.6.1'-    family: 'PyAMF'-    major: '0'-    minor: '6'-    patch: '1'--  - user_agent_string: 'python-requests/0.14 CPython/2.6 Linux/2.6-43-server'-    family: 'Python Requests'-    major: '0'-    minor: '14'-    patch:--  - user_agent_string: 'Mozilla/5.0 (X11i; Linux; C) AppleWebKikt/533.3 (KHTML, like Gecko) QtCarBrowser Safari/533.3'-    family: 'QtCarBrowser'-    major: '1'-    minor:-    patch:--  - user_agent_string: 'Rackspace Monitoring/1.1 (https://monitoring.api.rackspacecloud.com)'-    family: 'RackspaceBot'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (X11; U; BSD Four; en-US) AppleWebKit/533.3 (KHTML, like Gecko) rekonq Safari/533.3'-    family: 'Rekonq'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.34 (KHTML, like Gecko) rekonq/1.0 Safari/534.34'-    family: 'Rekonq'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) RockMelt/0.8.34.841 Chrome/6.0.472.63 Safari/534.3'-    family: 'RockMelt'-    major: '0'-    minor: '8'-    patch: '34'--  - user_agent_string: 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/418.8 (KHTML, like Gecko) Safari/419.3'-    family: 'Safari'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-us) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5'-    family: 'Safari'-    major: '5'-    minor: '0'-    patch: '2'--  - user_agent_string: 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Safari/530.17 Skyfire/2.0'-    family: 'Skyfire'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.21 (KHTML, like Gecko) Snowshoe/1.0.0 Safari/537.21'-    family: 'Snowshoe'-    major: '1'-    minor: '0'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 ThunderBrowse/3.3.5'-    family: 'ThunderBrowse'-    major: '3'-    minor: '3'-    patch: '5'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 Lightning/2.6.4'-    family: 'Thunderbird'-    major: '24'-    minor: '2'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0'-    family: 'Thunderbird'-    major: '24'-    minor: '2'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Thunderbird/45.0'-    family: 'Thunderbird'-    major: '45'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:7.0.1) Gecko/20151105 Postbox/4.0.8'-    family: 'Postbox'-    major: '4'-    minor: '0'-    patch: '8'--  - user_agent_string: 'Mozilla/4.0 (compatible; Lotus-Notes/6.0; Windows-NT)'-    family: 'Lotus Notes'-    major: '6'-    minor: '0'-    patch:--  - user_agent_string: 'YahooMobileMail/1.0 (Android Mail; 1.3.10) (supersonic;HTC;PC36100;2.3.5/GRJ90)'-    family: 'YahooMobileMail'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Barca/2.8.2'-    family: 'Barca'-    major: '2'-    minor: '8'-    patch: '2'--  - user_agent_string: 'BarcaPro/1.4.12'-    family: 'Barca'-    major: '1'-    minor: '4'-    patch: '12'--  - user_agent_string: 'The Bat! 4.0.0.22'-    family: 'The Bat!'-    major: '4'-    minor: '0'-    patch: '0'--  - user_agent_string: 'MailBar/1.3.2 (Mac OS X Version 10.11.1 (Build 15B42))'-    family: 'MailBar'-    major: '1'-    minor: '3'-    patch: '2'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) kmail2/4.14.2 Safari/534.34'-    family: 'kmail2'-    major: '4'-    minor: '14'-    patch: '2'--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; MSOffice 12)'-    family: 'Outlook'-    major: '2007'-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; InfoPath.2; MSOffice 14)'-    family: 'Outlook'-    major: '2010'-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; Microsoft Outlook 15.0.4420)'-    family: 'Outlook'-    major: '2013'-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/536.26.14 (KHTML, like Gecko)'-    family: 'Apple Mail'-    major: '536'-    minor: '26'-    patch: '14'--  - user_agent_string: 'Airmail 1.0 rv:148 (Macintosh; Mac OS X 10.8.3; en_BE)'-    family: 'Airmail'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Airmail 1.0.6 rv:196 (Macintosh; Mac OS X 10.8.4; en_GB)'-    family: 'Airmail'-    major: '1'-    minor: '0'-    patch: '6'--  - user_agent_string: 'J2ME/UCWEB7.0.3.45/139/7682'-    family: 'UC Browser'-    major: '7'-    minor: '0'-    patch: '3'--  - user_agent_string: 'NOKIA6120c/UC Browser7.4.0.65/28/352'-    family: 'UC Browser'-    major: '7'-    minor: '4'-    patch: '0'--  - user_agent_string: 'UCWEB/3.0 (iPhone; CPU OS_6; en-US)AppleWebKit/534.1 U3/3.0.0 Mobile'-    family: 'UC Browser'-    major: '3'-    minor: '0'-    patch: '0'--  - user_agent_string: 'UCWEB/2.0 (Linux; U; Opera Mini/7.1.32052/30.2697; en-US; GT-S5302) U2/1.0.0 UCBrowser/9.3.0.440 Mobile'-    family: 'UC Browser'-    major: '9'-    minor: '3'-    patch: '0'--  - user_agent_string: 'IUC(U;iOS 5.1.1;Zh-cn;320*480;)/UCWEB7.9.0.94/41/997'-    family: 'UC Browser'-    major: '7'-    minor: '9'-    patch: '0'--  - user_agent_string: 'Nokia5320di/UCWEB8.0.3.99/28/999'-    family: 'UC Browser'-    major: '8'-    minor: '0'-    patch: '3'--  - user_agent_string: 'Nokia201/2.0 (11.21) Profile/MIDP-2.1 Configuration/CLDC-1.1 Mozilla/5.0 (Java; U; en-us; nokia201) UCBrowser8.3.0.154/70/355/UCWEB Mobile'-    family: 'UC Browser'-    major: '8'-    minor: '3'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (S60V5; U; en-us; NokiaC5-03) AppleWebKit/530.13 (KHTML, like Gecko) UCBrowser/8.7.0.218/50/352/UCWEB Mobile'-    family: 'UC Browser'-    major: '8'-    minor: '7'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/5.7.14488.1025 Safari/537.36'-    family: 'UC Browser'-    major: '5'-    minor: '7'-    patch: '14488'--  - user_agent_string: 'Alcatel-OH5/1.0 UP.Browser/6.1.0.7.7 (GUI) MMP/1.0'-    family: 'UP.Browser'-    major: '6'-    minor: '1'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22'-    family: 'WebKit Nightly'-    major: '534'-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1+ (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22'-    family: 'WebKit Nightly'-    major: '537'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.8+ (KHTML, like Gecko) Version/6.0 Safari/536.25'-    family: 'WebKit Nightly'-    major: '537'-    minor: '8'-    patch:--  - user_agent_string: 'Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.0; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/233.58 Safari/534.6 TouchPad/1.0'-    family: 'webOS Browser'-    major: '3'-    minor: '0'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (webOS/1.2; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Desktop/1.0'-    family: 'webOS Browser'-    major: '1'-    minor: '2'-    patch:--  - user_agent_string: 'Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.5; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/234.83 Safari/534.6 TouchPad/1.0'-    family: 'webOS Browser'-    major: '3'-    minor: '0'-    patch: '5'--  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux i686; nl-NL) AppleWebKit/534.3 (KHTML, like Gecko) WeTab-Browser Safari/534.3'-    family: 'WeTab'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1104.222 YaBrowser/1.5.1104.222 Safari/537.4'-    family: 'Yandex Browser'-    major: '1'-    minor: '5'-    patch: '1104'--  - user_agent_string: 'Mozilla/5.0 YottaaMonitor;'-    family: 'YottaaMonitor'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.6.0 Safari/534.34'-    family: 'PhantomJS'-    major: '1'-    minor: '6'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (IE 11.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C; rv:11.0) like Gecko'-    family: 'IE'-    major: '11'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 9.0; AOL 9.7; AOLBuild 4343.19; Windows NT 6.1; WOW64; Trident/5.0; FunWebProducts)'-    family: 'AOL'-    major: '9'-    minor: '7'-    patch: '4343'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; rv:11.0) like Gecko'-    family: 'IE'-    major: '11'-    minor: '0'-    patch:--  - user_agent_string: 'HbbTV/1.1.1 (;Samsung;SmartTV2013;T-FXPDEUC-1102.2;;) WebKit'-    family: 'HbbTV'-    major: '1'-    minor: '1'-    patch: '1'--  - user_agent_string: 'HbbTV/1.2.1 (;Panasonic;VIERA 2013;3.672;4101-0003 0002-0000;)'-    family: 'HbbTV'-    major: '1'-    minor: '2'-    patch: '1'--  - user_agent_string: 'HbbTV/1.1.1 (;;;;;) firetv-firefox-plugin 1.1.20'-    family: 'HbbTV'-    major: '1'-    minor: '1'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko/20100101 Firefox/12.0'-    family: 'IE'-    major: '11'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.89 Vivaldi/1.0.83.38 Safari/537.36'-    family: 'Vivaldi'-    major: '1'-    minor: '0'-    patch: '83'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.9600'-    family: 'Edge'-    major: '12'-    minor: '9600'-    patch:--  - user_agent_string: 'Mozilla/4.0 (Vodafone/1.0/LG-GU280/v10a Browser/Obigo-Q7.3 MMS/LG-MMS-V1.0/1.2 Java/ASVM/1.1 Profile/MIDP-2.1 Configuration/CLDC-1.1)'-    family: 'Obigo'-    major: '7'-    minor: '3'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) Vodafone/1.0/HTC_Elf/1.11.164.2'-    family: 'IE Mobile'-    major: '6'-    minor: '12'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 8.12; MSIEMobile 6.0) Vodafone/1.0/HTC_HD2/1.44.162.6 (70494)'-    family: 'IE Mobile'-    major: '8'-    minor: '12'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920)'-    family: 'IE Mobile'-    major: '11'-    minor: '0'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Vodafone/1.0/SamsungSGHi560/I560AEHB1 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413'-    family: 'Nokia OSS Browser'-    major: '3'-    minor: '1'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (Vodafone/1.0/LG-KC910/V08h Browser/Teleca-Q7.1 MMS/LG-MMS-V1.0/1.2 MediaPlayer/LGPlayer/1.0 Java/ASVM/1.1 Profile/MIDP-2.1 Configuration/CLDC-1.1)'-    family: 'Teleca Browser'-    major:-    minor:-    patch:-    patch_minor:--  - user_agent_string: 'Vodafone/1.0/0Vodafone715/B116 Browser/Obigo-Browser/Q04A MMS/Obigo-MMS/Q04A SyncML/HW-SyncML/1.0 Java/QVM/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1'-    family: 'Obigo'-    major:-    minor:-    patch:-    patch_minor:--  - user_agent_string: 'Opera/9.80 (Android 1.6; Linux; Opera Mobi/ADR-1107051709; U; en) Presto/2.8.149 Version/11.10'-    family: 'Opera Mobile'-    major: '11'-    minor: '10'-    patch:-    patch_minor:--  - user_agent_string: 'Opera/9.80 (Windows Mobile; WCE; Opera Mobi/WMD-50430; U; en) Presto/2.4.13 Version/10.00'-    family: 'Opera Mobile'-    major: '10'-    minor: '00'-    patch:-    patch_minor:--  - user_agent_string: '(Opera) Vodafone/1.0/HPiPAQDataMessenger/1.00.00 Browser/Opera/9.5 Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera/9.5 (Microsoft Windows; PPC; Opera Mobi/15142; U; en)'-    family: 'Opera Mobile'-    major: '9'-    minor: '5'-    patch:-    patch_minor:--  - user_agent_string: 'HTC MAX 4G Opera/9.5 (Microsoft Windows; PPC; Opera Mobi/1409; U; ru)'-    family: 'Opera Mobile'-    major: '9'-    minor: '5'-    patch:-    patch_minor:--  - user_agent_string: 'iBrowser/3.0/Mozilla/5.0 (Linux; U; Android 2.3.6; yy-yy; Karbonn A2 Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'-    family: 'Android'-    major: '2'-    minor: '3'-    patch: '6'-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (Series40; NokiaC3-01/05.60; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/2.2.0.0.31'-    family: 'Ovi Browser'-    major: '2'-    minor: '2'-    patch: '0'-    patch_minor:--  - user_agent_string: 'iRAPP/1.16.0 NokiaN95_8GB/31.0.015; Series60/3.1 Profile/MIDP-2.0 Configuration/CLDC-1.'-    family: 'iRAPP'-    major: '1'-    minor: '16'-    patch:-    patch_minor:--  - user_agent_string: 'iRAPP/1.3.0 Nokia5230/50.0.101 Series60/5.0 Profile/MIDP-2.1 Configuration/CLDC-1.1 3gpp-gba'-    family: 'iRAPP'-    major: '1'-    minor: '3'-    patch:-    patch_minor:--  - user_agent_string: 'iRAPP/3.5.0 NokiaN8-00/111.040.1511 Series60/5.3 Profile/MIDP-2.1 Configuration/CLDC-1.1 3gpp-gba'-    family: 'iRAPP'-    major: '3'-    minor: '5'-    patch:-    patch_minor:--  - user_agent_string: 'LG-GD710/V10f; Mozilla/5.0 (Profile/MIDP-2.0 Configuration/CLDC-1.1; Opera Mini/att/4.2.14812; U; en) Opera 9.50'-    family: 'Opera Mini'-    major: '4'-    minor: '2'-    patch: '14812'-    patch_minor:--  - user_agent_string: 'SAMSUNG-SGH-A897/A897UCJC1; Mozilla/5.0 (Profile/MIDP-2.0 Configuration/CLDC-1.1; Opera Mini/att/4.2.15304; U; fr-US) Opera 9.50'-    family: 'Opera Mini'-    major: '4'-    minor: '2'-    patch: '15304'-    patch_minor:--  - user_agent_string: 'MQQBrowser/39 Mozilla/5.0 (iPhone 4S; CPU iPhone OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10A523 Safari/7534.48.3'-    family: 'QQ Browser Mobile'-    major: '39'-    minor:-    patch:-    patch_minor:--  - user_agent_string: 'MQQBrowser/391 Mozilla/5.0 (iPhone 4S; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A334 Safari/7534.48.3'-    family: 'QQ Browser Mobile'-    major: '391'-    minor:-    patch:-    patch_minor:--  - user_agent_string: 'MQQBrowser/20 (Linux; U; 2.3.3; en-us; HTC Desire S Build/GRI40;480*800)'-    family: 'QQ Browser Mobile'-    major: '20'-    minor:-    patch:-    patch_minor:--  - user_agent_string: 'MQQBrowser/Mini2.8 (ZTE-X990/X990_V2_Z12_ESFR_D18F100)'-    family: 'QQ Browser Mini'-    major: '2'-    minor: '8'-    patch:-    patch_minor:--  - user_agent_string: 'MQQBrowser/Mini3.1 (SonyEricssonJ105i/R1HA035)'-    family: 'QQ Browser Mini'-    major: '3'-    minor: '1'-    patch:-    patch_minor:--  - user_agent_string: 'QQBrowser/14 (Linux; U; 2.2.2; en-us; Motorola XT316 BUILD/FRG83G) Mobile/0050'-    family: 'QQ Browser'-    major: '14'-    minor:-    patch:-    patch_minor:--  - user_agent_string: 'Dolphin 6.5.1 (iPad; iPhone OS 6.1.3; de_DE)'-    family: 'Dolphin'-    major: '6'-    minor: '5'-    patch: '1'-    patch_minor:--  - user_agent_string: 'Dolphin 7.4 (iPhone; iPhone OS 7.0.2; de_DE)'-    family: 'Dolphin'-    major: '7'-    minor: '4'-    patch:-    patch_minor:--  - user_agent_string: 'Dolphin 7.5.1 (iPhone; iPhone OS 7.0.3; de_DE)'-    family: 'Dolphin'-    major: '7'-    minor: '5'-    patch: '1'-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.1-update1; zh-cn; XT701 Build/STCU_31.05.4) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 DolphinHDCN/7.0.1'-    family: 'Dolphin'-    major: '7'-    minor: '0'-    patch: '1'-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.2; en-gb; GT-P1000 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 DolphinHDCN/6.3.1'-    family: 'Dolphin'-    major: '6'-    minor: '3'-    patch: '1'-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.1.1; en-us; Nexus 7 Build/JRO03D) AppleWebKit/534.30 (KHTML, like Gecko) Dolphin/INT-1.0.4 Mobile Safari/534.30'-    family: 'Dolphin'-    major: '1'-    minor: '0'-    patch: '4'-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 DolphinHDCN/6.1.0'-    family: 'Dolphin'-    major: '6'-    minor: '1'-    patch: '0'-    patch_minor:--  - user_agent_string: 'Mozilla/5.0(miniGUI/3.x; U; Linux i686; en-US) AppleWebKit/534.26 (KHTML, like Gecko) mDolphin/3.0 chrome/10.0 Safria/534.26'-    family: 'mDolphin'-    major: '3'-    minor: '0'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/5.0(miniGUI/3.x; U; Linux i686; en; ) AppleWebKit/533.9.0 (KHTML, like Gecko) mDolphin/3.0.0 Safria/533.9.0'-    family: 'mDolphin'-    major: '3'-    minor: '0'-    patch: '0'-    patch_minor:--  - user_agent_string: 'CFNetwork, iPhone OS 5.1.1, iPhone4,1'-    family: 'CFNetwork'-    major:-    minor:-    patch:-    patch_minor:--  - user_agent_string: 'CFNetwork, iPhone OS 7.0.4, iPhone5,2'-    family: 'CFNetwork'-    major:-    minor:-    patch:-    patch_minor:--  - user_agent_string: 'CFNetwork, iPhone OS 7.0, iPhone4,1'-    family: 'CFNetwork'-    major:-    minor:-    patch:-    patch_minor:--  - user_agent_string: 'Safari5530.17 CFNetwork/438.12 Darwin/9.7.0 (i386) (Macmini2,1)'-    family: 'CFNetwork'-    major: '438'-    minor: '12'-    patch:-    patch_minor:--  - user_agent_string: 'Safari/6533.18.5 CFNetwork/454.9.8 Darwin/10.4.0 (i386) (MacBookPro7,1)'-    family: 'CFNetwork'-    major: '454'-    minor: '9'-    patch: '8'-    patch_minor:--  - user_agent_string: 'Safari/7536.30.1 CFNetwork/520.5.1 Darwin/11.4.2 (i386) (MacBook3,1)'-    family: 'CFNetwork'-    major: '520'-    minor: '5'-    patch: '1'-    patch_minor:--  - user_agent_string: 'Reader Notifier/5 CFNetwork/596.3.3 Darwin/12.3.0 (x86_64) (MacBookPro7,1)'-    family: 'CFNetwork'-    major: '596'-    minor: '3'-    patch: '3'-    patch_minor:--  - user_agent_string: 'Safari/9537.71 CFNetwork/673.0.2 Darwin/13.0.1 (x86_64) (MacBookPro11,1)'-    family: 'CFNetwork'-    major: '673'-    minor: '0'-    patch: '2'-    patch_minor:--  - user_agent_string: 'DEPoker-iPad/1.0.2 CFNetwork/548.1.4 Darwin/11.0.0'-    family: 'CFNetwork'-    major: '548'-    minor: '1'-    patch: '4'-    patch_minor:--  - user_agent_string: 'JDSports-iPad/1.1 CFNetwork/672.0.8 Darwin/14.0.0'-    family: 'CFNetwork'-    major: '672'-    minor: '0'-    patch: '8'-    patch_minor:--  - user_agent_string: 'AngryBirdsBlack-iPhone/1.1.0 CFNetwork/548.1.4 Darwin/11.0.0'-    family: 'CFNetwork'-    major: '548'-    minor: '1'-    patch: '4'-    patch_minor:--  - user_agent_string: 'Bing for iPad/1.1.2 CFNetwork/485.13.9 Darwin/11.0.0'-    family: 'CFNetwork'-    major: '485'-    minor: '13'-    patch: '9'-    patch_minor:--  - user_agent_string: 'NightstandPaid-iPad/1.3.1 CFNetwork/548.1.4 Darwin/11.0.0'-    family: 'CFNetwork'-    major: '548'-    minor: '1'-    patch: '4'-    patch_minor:--  - user_agent_string: 'Glo-De-iPad/1.4.7 CFNetwork/672.0.2 Darwin/14.0.0'-    family: 'CFNetwork'-    major: '672'-    minor: '0'-    patch: '2'-    patch_minor:--  - user_agent_string: 'Island for iPhone/1.95 CFNetwork/672.0.2 Darwin/14.0.0'-    family: 'CFNetwork'-    major: '672'-    minor: '0'-    patch: '2'-    patch_minor:--  - user_agent_string: 'WormsiPhone-iPad/2.3 CFNetwork/548.1.4 Darwin/11.0.0'-    family: 'CFNetwork'-    major: '548'-    minor: '1'-    patch: '4'-    patch_minor:--  - user_agent_string: 'Rummy LITE iPad/2.3.0 CFNetwork/609.1.4 Darwin/13.0.0'-    family: 'CFNetwork'-    major: '609'-    minor: '1'-    patch: '4'-    patch_minor:--  - user_agent_string: 'MobileRSSFree-iPad/3.1 CFNetwork/467.12 Darwin/10.3.1'-    family: 'CFNetwork'-    major: '467'-    minor: '12'-    patch:-    patch_minor:--  - user_agent_string: 'MobileRSSFree-iPad/3.1.4 CFNetwork/485.13.9 Darwin/11.0.0'-    family: 'CFNetwork'-    major: '485'-    minor: '13'-    patch: '9'-    patch_minor:--  - user_agent_string: 'babbelIndonesian-iPad/4.0.1 CFNetwork/672.0.8 Darwin/14.0.0'-    family: 'CFNetwork'-    major: '672'-    minor: '0'-    patch: '8'-    patch_minor:--  - user_agent_string: 'WeltMobile-iPad/4.2 CFNetwork/609.1.4 Darwin/13.0.0'-    family: 'CFNetwork'-    major: '609'-    minor: '1'-    patch: '4'-    patch_minor:--  - user_agent_string: 'IMPlusFull-iPad/7.9.1 CFNetwork/548.0.4 Darwin/11.0.0'-    family: 'CFNetwork'-    major: '548'-    minor: '0'-    patch: '4'-    patch_minor:--  - user_agent_string: 'Cooliris/1.3 CFNetwork/342.1 Darwin/9.4.1'-    family: 'CFNetwork'-    major: '342'-    minor: '1'-    patch:-    patch_minor:--  - user_agent_string: 'Poof/1.0 CFNetwork/485.12.7 Darwin/10.4.0'-    family: 'CFNetwork'-    major: '485'-    minor: '12'-    patch: '7'-    patch_minor:--  - user_agent_string: 'Parking Mania Free/1.9.5.0 CFNetwork/548.0.4 Darwin/11.0.0'-    family: 'CFNetwork'-    major: '548'-    minor: '0'-    patch: '4'-    patch_minor:--  - user_agent_string: 'Planet Boing!/1.4.8 CFNetwork/609.1.4 Darwin/13.0.0'-    family: 'CFNetwork'-    major: '609'-    minor: '1'-    patch: '4'-    patch_minor:--  - user_agent_string: 'PlayTube/1.7 CFNetwork/672.0.2 Darwin/14.0.0'-    family: 'CFNetwork'-    major: '672'-    minor: '0'-    patch: '2'-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.2.1; es-us) AppleWebKit/534.12 (KHTML, like Gecko) Puffin/1.3.2913S Mobile Safari/534.12'-    family: 'Puffin'-    major: '1'-    minor: '3'-    patch: '2913'-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 3.2.1; es-es) AppleWebKit/534.35 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.35 Puffin/2.0.6440M Mobile'-    family: 'Puffin'-    major: '2'-    minor: '0'-    patch: '6440'-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 3.2; en-gb) AppleWebKit/534.35 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.35 Puffin/2.0.5932M Mobile'-    family: 'Puffin'-    major: '2'-    minor: '0'-    patch: '5932'-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.1.1; en-us) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/2.9909AT Mobile'-    family: 'Puffin'-    major: '2'-    minor: '9909'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.2.2; de-de) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/3.11558AT Mobile'-    family: 'Puffin'-    major: '3'-    minor: '11558'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.2.2; en-us) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/3.11558AP Mobile'-    family: 'Puffin'-    major: '3'-    minor: '11558'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux i686; th-TH@calendar=gregorian) AppleWebKit/534.12 (KHTML, like Gecko) Puffin/1.3.2665MS Safari/534.12'-    family: 'Puffin'-    major: '1'-    minor: '3'-    patch: '2665'-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; ar-AE) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/3.10990IT'-    family: 'Puffin'-    major: '3'-    minor: '10990'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; ar-SA) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/3.11546IP'-    family: 'Puffin'-    major: '3'-    minor: '11546'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; ar-ae) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/2.10977AP'-    family: 'Puffin'-    major: '2'-    minor: '10977'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; de-at) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/2.10977AT'-    family: 'Puffin'-    major: '2'-    minor: '10977'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU OS 7_0_6 like Mac OS X; de-DE) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/3.11558IT Mobile'-    family: 'Puffin'-    major: '3'-    minor: '11558'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 7_0_6 like Mac OS X; de-DE) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/3.11558IP Mobile'-    family: 'Puffin'-    major: '3'-    minor: '11558'-    patch:-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_5 like Mac OS X; en-US) AppleWebKit/534.12 (KHTML, like Gecko) Puffin/1.3.3102MS Mobile Safari/534.12'-    family: 'Puffin'-    major: '1'-    minor: '3'-    patch: '3102'-    patch_minor:--  - user_agent_string: 'Mozilla/5.0 (iPod; U; CPU iPhone OS 5_1_1 like Mac OS X; de-DE) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/3.9174IP Mobile'-    family: 'Puffin'-    major: '3'-    minor: '9174'-    patch:-    patch_minor:--  - user_agent_string: 'MacAppStore/2.0 (Macintosh; OS X 10.10.2; 14C81f) AppleWebKit/0600.3.10.2'-    family: 'MacAppStore'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'iTunes/12.0.1 (Macintosh; OS X 10.9.2) AppleWebKit/537.74.9'-    family: 'iTunes'-    major: '12'-    minor: '0'-    patch: '1'--  - user_agent_string: 'Ant/Ant-Nutch-1.1 (Ant Nutch Crawler; http://www.ant.com; crawler@ant.com)'-    family: 'Ant-Nutch'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'Axtaris Web Crawler/Axtaris-1.0.1 (Hello from Axtaris.org | Web-Crawler; http://axtaris.org; crawler at axtaris dot org)'-    family: 'Axtaris'-    major: '1'-    minor: '0'-    patch: '1'--  - user_agent_string: 'CazoodleBot/CazoodleBot-0.1 (CazoodleBot Crawler; http://www.cazoodle.com/cazoodlebot; cazoodlebot@cazoodle.com)'-    family: 'CazoodleBot'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'Isara-Search/Isara-1.0 (A non-profit web crawler operated by a charity organization.; www.isara.org; webmaster@isara.org)'-    family: 'Isara'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'noobot Spider/Noobot-1.2 (noobot-bot; http://www.noobot.fr)'-    family: 'Noobot'-    major: '1'-    minor: '2'-    patch:--  - user_agent_string: 'asked/Nutch-0.8 (web crawler; http://asked.jp; epicurus at gmail dot com)'-    family: 'Nutch'-    major: '0'-    minor: '8'-    patch:--  - user_agent_string: 'nutch crawler/Nutch-2.2'-    family: 'Nutch'-    major: '2'-    minor: '2'-    patch:--  - user_agent_string: 'Spider/Nutch-2.3-SNAPSHOT (Webcrawler)'-    family: 'Nutch'-    major: '2'-    minor: '3'-    patch:--  - user_agent_string: 'SheenBot/SheenBot-1.0.4 (Sheen web crawler)'-    family: 'SheenBot'-    major: '1'-    minor: '0'-    patch: '4'--  - user_agent_string: 'SaladSpoon/ShopSalad 1.0 (Search Engine crawler for ShopSalad.com; http://shopsalad.com/en/partners.html; crawler AT shopsalad.com)'-    family: 'ShopSalad'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'TailsweepBlogCrawler/Tailsweep-2.9-SNAPSHOT (http://www.tailsweep.com/; bot at [tailsweep] dot com)'-    family: 'Tailsweep'-    major: '2'-    minor: '9'-    patch:--  - user_agent_string: 'SAE/fetchurl-22wy0njxnm WordPress/3.2.1; http://1.webfront.sinaapp.com'-    family: 'fetchurl'-    major: '22'-    minor:-    patch:--  - user_agent_string: 'RedBot/redbot-1.0 (Rediff.com Crawler; redbot at rediff dot com)'-    family: 'redbot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'IS Alpha/zcspider-0.1'-    family: 'zcspider'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; 008/0.85; http://www.80legs.com/webcrawler.html) Gecko/2008032620'-    family: '008'-    major: '0'-    minor: '85'-    patch:--  - user_agent_string: 'Altresium/4.6 (+http://www.altresium.com/bot.html)'-    family: 'Altresium'-    major: '4'-    minor: '6'-    patch:--  - user_agent_string: 'Argus/1.1 (Nutch; http://www.simpy.com/bot.html; feedback at simpy dot com)'-    family: 'Argus'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'Argus/2.8.65 CFNetwork/609 Darwin/13.0.0'-    family: 'CFNetwork'-    major:-    minor:-    patch:--  - user_agent_string: 'DoCoMo/2.0 P05A(c100;TB;W24H15) (compatible; BaiduMobaider/1.0;  http://www.baidu.jp/spider/)'-    family: 'BaiduMobaider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'BoardReader/1.0 (http://boardreader.com/info/robots.htm)-Machine1'-    family: 'BoardReader'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'DNSGroup/0.1 (DNS Group Crawler; http://www.dnsgroup.com/; crawler@dnsgroup.com)'-    family: 'DNSGroup'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'DataparkSearch/4.35-02122005 ( http://www.dataparksearch.org/)'-    family: 'DataparkSearch'-    major: '4'-    minor: '35'-    patch:--  - user_agent_string: 'EDI/1.6.0 (Edacious & Intelligent Web Crawler)'-    family: 'EDI'-    major: '1'-    minor: '6'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (compatible; Goodzer/2.0; crawler@goodzer.com)'-    family: 'Goodzer'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Grub/2.0 (Grub.org crawler; http://www.grub.org/; bot@grub.org)'-    family: 'Grub'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'INGRID/2.0 (http://spsearch.ilse.nl/; Startpagina dochter links spider)'-    family: 'INGRID'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'INGRID/3.0 MT (webcrawler@NOSPAMexperimental.net; http://aanmelden.ilse.nl/?aanmeld_mode=webhints)'-    family: 'INGRID'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Infohelfer/1.2.0; +http://www.infohelfer.de/crawler.php)'-    family: 'Infohelfer'-    major: '1'-    minor: '2'-    patch: '0'--  - user_agent_string: 'LOOQ/0.1 alfa (LOOQ Crawler for european sites; http://looq.eu; root (at) looq dot eu)'-    family: 'LOOQ'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'LinkedInBot/1.0 (compatible; Mozilla/5.0; Jakarta Commons-HttpClient/3.1  http://www.linkedin.com)'-    family: 'LinkedInBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; PathDefender/1.0; +http://www.pathdefender.com/help/crawler)'-    family: 'PathDefender'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Peew/1.0; http://www.peew.de/crawler/)'-    family: 'Peew'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'PostPost/1.0 ( http://postpo.st/crawlers)'-    family: 'PostPost'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Steeler/1.3 (http://www.tkl.iis.u-tokyo.ac.jp/~crawler/)'-    family: 'Steeler'-    major: '1'-    minor: '3'-    patch:--  - user_agent_string: 'Steeler/3.3 (http://www.tkl.iis.u-tokyo.ac.jp/~crawler/)'-    family: 'Steeler'-    major: '3'-    minor: '3'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Steeler/3.5; http://www.tkl.iis.u-tokyo.ac.jp/~crawler/)'-    family: 'Steeler'-    major: '3'-    minor: '5'-    patch:--  - user_agent_string: 'VSE/1.0 (testcrawler@hotmail.com)'-    family: 'VSE'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'VSE/1.0 (vsecrawler@hotmail.com)'-    family: 'VSE'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; WebCrunch/1.2; +http://webcrunch.net/crawler)'-    family: 'WebCrunch'-    major: '1'-    minor: '2'-    patch:--  - user_agent_string: 'WebZIP/7.0 (http://www.spidersoft.com)'-    family: 'WebZIP'-    major: '7'-    minor: '0'-    patch:--  - user_agent_string: 'Y!J-BRI/0.0.1 crawler ( http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html )'-    family: 'Y!J-BRI'-    major: '0'-    minor: '0'-    patch: '1'--  - user_agent_string: 'Y!J-BRW/1.0 crawler (http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html)'-    family: 'Y!J-BRW'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'YahooSeeker/1.0 (compatible; Mozilla 4.0; MSIE 5.5; http://help.yahoo.com/help/us/shop/merchant/)'-    family: 'YahooSeeker'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'envolk/1.7 ( http://www.envolk.com/envolkspider.html)'-    family: 'envolk'-    major: '1'-    minor: '7'-    patch:--  - user_agent_string: 'sproose/1.0beta (sproose bot; http://www.sproose.com/bot.html; crawler@sproose.com)'-    family: 'sproose'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'wminer/1.2 (North America Web Crawler; http://www.wminer.com/bot; info at wminer dot com)'-    family: 'wminer'-    major: '1'-    minor: '2'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 4.0; MSIECrawler; Windows 95)'-    family: 'MSIECrawler'-    major: '4'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/4.0; FDM; MSIECrawler; Media Center PC 5.0)'-    family: 'MSIECrawler'-    major: '9'-    minor: '0'-    patch:--  - user_agent_string: 'Apache-HttpClient/4.0-beta2 (java 1.5)'-    family: 'Apache-HttpClient'-    major: '4'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; E10i Build/2.1.1.C.0.0) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 Google-HTTP-Java-Client/1.10.3-beta (gzip)'-    family: 'Google-HTTP-Java-Client'-    major: '1'-    minor: '10'-    patch: '3'--  - user_agent_string: 'Google-HTTP-Java-Client/1.13.1-beta (gzip)'-    family: 'Google-HTTP-Java-Client'-    major: '1'-    minor: '13'-    patch: '1'--  - user_agent_string: 'Google-YouTubeSample/1.0 Google-HTTP-Java-Client/1.7.0-beta (gzip) Google-HTTP-Java-Client/1.7.0-beta (gzip)'-    family: 'Google-HTTP-Java-Client'-    major: '1'-    minor: '7'-    patch: '0'--  - user_agent_string: 'JNLP/1.7.0 javaws/10.17.2.02 (<internal>) Java/1.7.0_17'-    family: 'JNLP'-    major: '1'-    minor: '7'-    patch: '0'--  - user_agent_string: 'JNLP/6.0 javaws/1.6.0_14 (b08) Java/1.6.0_14'-    family: 'JNLP'-    major: '6'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Python-urllib2)'-    family: 'Python-urllib'-    major:-    minor:-    patch:--  - user_agent_string: 'Python-urllib/1.15'-    family: 'Python-urllib'-    major: '1'-    minor: '15'-    patch:--  - user_agent_string: 'IMVU Client/498.0 Python-urllib/2.7'-    family: 'Python-urllib'-    major: '2'-    minor: '7'-    patch:--  - user_agent_string: 'Python-urllib/3.4'-    family: 'Python-urllib'-    major: '3'-    minor: '4'-    patch:--  - user_agent_string: 'TLSProber/0.8'-    family: 'TLSProber'-    major: '0'-    minor: '8'-    patch:--  - user_agent_string: 'Asynchronous WinHTTP/1.0'-    family: 'WinHTTP'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: '1470.net crawler'-    family: '1470.net crawler'-    major:-    minor:-    patch:--  - user_agent_string: '50.nu/0.01 (  http://50.nu/bot.html )'-    family: '50.nu'-    major: '0'-    minor: '01'-    patch:--  - user_agent_string: '8bo Crawler Bot'-    family: '8bo Crawler Bot'-    major:-    minor:-    patch:--  - user_agent_string: 'Aboundex/0.2 (http://www.aboundex.com/crawler/)'-    family: 'Aboundex'-    major: '0'-    minor: '2'-    patch:--  - user_agent_string: 'Accoona-AI-Agent/1.1.1 (crawler at accoona dot com)'-    family: 'Accoona-AI-Agent'-    major: '1'-    minor: '1'-    patch: '1'--  - user_agent_string: 'Accoona-Biz-Agent/1.1.1 crawler@accoona.com'-    family: 'Accoona-Biz-Agent'-    major: '1'-    minor: '1'-    patch: '1'--  - user_agent_string: 'AdsBot-Google'-    family: 'AdsBot-Google'-    major:-    minor:-    patch:--  - user_agent_string: 'AppEngine-Google; ( http://code.google.com/appengine)'-    family: 'AppEngine-Google'-    major:-    minor:-    patch:--  - user_agent_string: 'Inne: Mozilla/2.0 (compatible; Ask Jeeves/Teoma;  http://sp.ask.com/docs/about/tech_crawling.html)'-    family: 'Ask Jeeves'-    major:-    minor:-    patch:--  - user_agent_string: 'BaiDuSpider'-    family: 'BaiDuSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'Baiduspider'-    family: 'Baiduspider'-    major:-    minor:-    patch:--  - user_agent_string: "'Mozilla/5.0 (compatible; Baiduspider/2.0; +ht'"-    family: 'Baiduspider'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Baiduspider-cpro; +http://www.baidu.com/search/spider.html)'-    family: 'Baiduspider-cpro'-    major:-    minor:-    patch:--  - user_agent_string: 'Baiduspider-image ( http://www.baidu.com/search/spider.htm)'-    family: 'Baiduspider-image'-    major:-    minor:-    patch:--  - user_agent_string: 'Baiduspider-testbranch'-    family: 'Baiduspider-testbranch'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534  (KHTML, like Gecko) BingPreview/1.0b'-    family: 'BingPreview'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'BlogBridge 6.7 (http://www.blogbridge.com/) 1.6.0_18'-    family: 'BlogBridge'-    major: '6'-    minor: '7'-    patch:--  - user_agent_string: 'BoardReader Blog Indexer(http://boardreader.com)'-    family: 'BoardReader Blog Indexer'-    major:-    minor:-    patch:--  - user_agent_string: 'BoardReader Favicon Fetcher /1.0 info@boardreader.com'-    family: 'BoardReader Favicon Fetcher'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla 4.0(compatible; BotSeer/1.0;  http://botseer.ist.psu.edu)'-    family: 'BotSeer'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'CRAWL-E/0.6.4'-    family: 'CRAWL-E'-    major: '0'-    minor: '6'-    patch: '4'--  - user_agent_string: 'Mozilla/5.0 (compatible; Charlotte/1.0b; charlotte@beta.spider.com)'-    family: 'Charlotte'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Checklinks/1.3 (pywikipedia robot; http://toolserver.org/~dispenser/view/Checklinks)'-    family: 'Checklinks'-    major: '1'-    minor: '3'-    patch:--  - user_agent_string: 'Comodo HTTP(S) Crawler - http://www.instantssl.com/crawler'-    family: 'Comodo HTTP(S) Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Comodo-Webinspector-Crawler 2.1'-    family: 'Comodo-Webinspector-Crawler'-    major: '2'-    minor: '1'-    patch:--  - user_agent_string: 'Comodo-Webinspector-Crawler 2.2.2, http://www.comodorobot.com'-    family: 'Comodo-Webinspector-Crawler'-    major: '2'-    minor: '2'-    patch: '2'--  - user_agent_string: 'ConveraCrawler/0.9c ( http://www.authoritativeweb.com/crawl)'-    family: 'ConveraCrawler'-    major: '0'-    minor: '9'-    patch:--  - user_agent_string: 'CrawlConvera0.1 (CrawlConvera@yahoo.com)'-    family: 'CrawlConvera'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE or Firefox mutant; not on Windows server; + http://tab.search.daum.net/aboutWebSearch.html) Daumoa/3.0'-    family: 'Daumoa'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Firefox compatible; MS IE compatible;  http://search.daum.net/) Daumoa-feedfetcher/2.0'-    family: 'Daumoa-feedfetcher'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Feed Seeker Bot (RSS Feed Seeker http://www.MyNewFavoriteThing.com/fsb.php)'-    family: 'Feed Seeker Bot'-    major:-    minor:-    patch:--  - user_agent_string: 'Flamingo_SearchEngine (+http://www.flamingosearch.com/bot)'-    family: 'Flamingo_SearchEngine'-    major:-    minor:-    patch:--  - user_agent_string: 'FollowSite Bot ( http://www.followsite.com/bot.html )'-    family: 'FollowSite Bot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Genieo/1.0 http://www.genieo.com/webfilter.html'-    family: 'Genieo'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible;  MSIE 5.01; GomezAgent 2.0; Windows NT)'-    family: 'GomezAgent'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Googlebot v2.1 (+http://www.google.com/bot.html) (http://www.openwebspider.org/)'-    family: 'Googlebot'-    major: '2'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)'-    family: 'Googlebot'-    major: '2'-    minor: '1'-    patch:--  - user_agent_string: 'Googlebot/2.2'-    family: 'Googlebot'-    major: '2'-    minor: '2'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows; Mozilla 4.0(compatible; Googlebot/5.0;  http://www.google.com/googlebot); en-US;)'-    family: 'Googlebot'-    major: '5'-    minor: '0'-    patch:--  - user_agent_string: 'Googlebot-Image/1.0'-    family: 'Googlebot-Image'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Googlebot-Mobile (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)'-    family: 'Googlebot-Mobile'-    major:-    minor:-    patch:--  - user_agent_string: 'DoCoMo//2.0 N905i(c100;TB;W24H16) (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)'-    family: 'Googlebot-Mobile'-    major: '2'-    minor: '1'-    patch:--  - user_agent_string: 'Googlebot-News'-    family: 'Googlebot-News'-    major:-    minor:-    patch:--  - user_agent_string: 'Googlebot-Video/1.0'-    family: 'Googlebot-Video'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Googlebot-richsnippets'-    family: 'Googlebot-richsnippets'-    major:-    minor:-    patch:--  - user_agent_string: 'Google Web Preview'-    family: 'Other'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview) Chrome/27.0 .1453 Safari/537.36.'-    family: 'Chrome'-    major: '27'-    minor: '0'-    patch:--  - user_agent_string: 'HiddenMarket-1.0-beta (www.hiddenmarket.net/crawler.php)'-    family: 'HiddenMarket'-    major:-    minor:-    patch:--  - user_agent_string: 'HooWWWer/2.1.0 ( http://cosco.hiit.fi/search/hoowwwer/ | mailto:crawler-info<at>hiit.fi)'-    family: 'HooWWWer'-    major: '2'-    minor: '1'-    patch: '0'--  - user_agent_string: 'ICC-Crawler(Mozilla-compatible; http://kc.nict.go.jp/icc/crawl.html; icc-crawl(at)ml(dot)nict(dot)go(dot)jp)'-    family: 'ICC-Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'ICC-Crawler/2.0 (Mozilla-compatible; ; http://kc.nict.go.jp/project1/crawl.html)'-    family: 'ICC-Crawler'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'IconSurf/2.0 favicon finder (see http://iconsurf.com/robot.html)'-    family: 'IconSurf'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'IlTrovatore/1.2 (IlTrovatore; http://www.iltrovatore.it/bot.html; bot@iltrovatore.it)'-    family: 'IlTrovatore'-    major: '1'-    minor: '2'-    patch:--  - user_agent_string: 'IlTrovatore-Setaccio ( http://www.iltrovatore.it)'-    family: 'IlTrovatore-Setaccio'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; InfuzApp/1.0; +http://www.infuz.com/bot.html)'-    family: 'InfuzApp'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'InternetArchive-1.0'-    family: 'InternetArchive'-    major:-    minor:-    patch:--  - user_agent_string: 'InternetArchive/0.8-dev (Nutch; http://lucene.apache.org/nutch/bot.html; nutch-agent@lucene.apache.org)'-    family: 'InternetArchive'-    major: '0'-    minor: '8'-    patch:--  - user_agent_string: 'KDDI-CA34 UP.Browser/6.2.0.10.2.2(GUI)MMP/2.0 (compatible; KDDI-Googlebot-Mobile/2.1; http://www.google.com/bot.html)'-    family: 'KDDI-Googlebot-Mobile'-    major: '2'-    minor: '1'-    patch:--  - user_agent_string: 'kalooga/KaloogaBot (Kalooga; http://www.kalooga.com/info.html?page=crawler)'-    family: 'KaloogaBot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Kraken/0.1; http://linkfluence.net/; bot@linkfluence.net)'-    family: 'Kraken'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'Kurzor/1.0 (Kurzor; http://adcenter.hu/docs/en/bot.html; cursor@easymail.hu)'-    family: 'Kurzor'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'LEIA/3.01pr (LEIAcrawler; leia@gseek.com; http://www.gseek.com)'-    family: 'LEIA'-    major: '3'-    minor: '01'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows compatible LesnikBot)'-    family: 'LesnikBot'-    major:-    minor:-    patch:--  - user_agent_string: 'Linguee Bot (bot@linguee.com)'-    family: 'Linguee Bot'-    major:-    minor:-    patch:--  - user_agent_string: 'LinkAider (http://linkaider.com/crawler/)'-    family: 'LinkAider'-    major:-    minor:-    patch:--  - user_agent_string: 'Lite Bot0316B'-    family: 'Lite Bot'-    major:-    minor:-    patch:--  - user_agent_string: 'Llaut/1.0 (http://mnm.uib.es/~gallir/llaut/bot.html)'-    family: 'Llaut'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/Fast/2.0; +http://go.mail.ru/help/robots)'-    family: 'Mail.RU_Bot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/2.0; +http://go.mail.ru/help/robots)'-    family: 'Mail.RU_Bot'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Mediapartners-Google'-    family: 'Mediapartners-Google'-    major:-    minor:-    patch:--  - user_agent_string: 'DoCoMo/2.0 SH905i(c100;TB;W24H16) (compatible; Mediapartners-Google/2.1; +http://www.google.com/bot.html)'-    family: 'Mediapartners-Google'-    major: '2'-    minor: '1'-    patch:--  - user_agent_string: 'Microsoft Bing Mobile SocialStreams Bot'-    family: 'Microsoft Bing Mobile SocialStreams Bot'-    major:-    minor:-    patch:--  - user_agent_string: 'Microsoft MSN SocialStreams Bot,gzip(gfe),gzip(gfe)'-    family: 'Microsoft MSN SocialStreams Bot'-    major:-    minor:-    patch:--  - user_agent_string: 'NING/1.0'-    family: 'NING'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Netvibes (http://www.netvibes.com)'-    family: 'Netvibes'-    major:-    minor:-    patch:--  - user_agent_string: 'NewsGator/2.0 Bot (http://www.newsgator.com)'-    family: 'NewsGator'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'NewsGator/3.0,gzip(gfe),gzip(gfe)'-    family: 'NewsGator'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'NewsGator FetchLinks extension/0.2.0 (http://graemef.com)'-    family: 'NewsGator FetchLinks extension'-    major: '0'-    minor: '2'-    patch: '0'--  - user_agent_string: 'NewsGatorOnline/2.0 (http://www.newsgator.com)'-    family: 'NewsGatorOnline'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'SapphireWebCrawler/1.0 (Sapphire Web Crawler using Nutch; http://boston.lti.cs.cmu.edu/crawler/; mhoy@cs.cmu.edu)'-    family: 'Nutch; http:'-    major:-    minor:-    patch:--  - user_agent_string: 'NutchCVS/0.06-dev (Nutch running at UW; http://www.nutch.org/docs/en/bot.html; sycrawl@cs.washington.edu)'-    family: 'NutchCVS'-    major: '0'-    minor: '06'-    patch:--  - user_agent_string: 'NutchOSUOSL/0.05-dev (Nutch; http://www.nutch.org/docs/en/bot.html; nutch-agent@lists.sourceforge.net)'-    family: 'NutchOSUOSL'-    major: '0'-    minor: '05'-    patch:--  - user_agent_string: 'NutchOrg/0.03-dev (Nutch; http://www.nutch.org/docs/bot.html; nutch-agent@lists.sourceforge.net)'-    family: 'NutchOrg'-    major: '0'-    minor: '03'-    patch:--  - user_agent_string: 'ObjectsSearch/0.2 (ObjectsSearch; http://www.ObjectsSearch.com/bot.html; support@thesoftwareobjects.com)'-    family: 'ObjectsSearch'-    major: '0'-    minor: '2'-    patch:--  - user_agent_string: 'Orbiter ( http://www.dailyorbit.com/bot.htm)'-    family: 'Orbiter'-    major:-    minor:-    patch:--  - user_agent_string: 'PagePeeker.com'-    family: 'PagePeeker'-    major:-    minor:-    patch:--  - user_agent_string: 'PagesInventory (robot +http://www.pagesinventory.com)'-    family: 'PagesInventory'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; PaxleFramework/0.1.1;  http://www.paxle.net/en/bot)'-    family: 'PaxleFramework'-    major: '0'-    minor: '1'-    patch: '1'--  - user_agent_string: 'Peeplo Screenshot Bot/0.20 ( abuse at peeplo dot_com )'-    family: 'Peeplo Screenshot Bot'-    major: '0'-    minor: '20'-    patch:--  - user_agent_string: 'PlantyNet_WebRobot_V1.9 babo@plantynet.com'-    family: 'PlantyNet_WebRobot'-    major:-    minor:-    patch:--  - user_agent_string: 'Pompos/1.2 http://pompos.iliad.fr'-    family: 'Pompos'-    major: '1'-    minor: '2'-    patch:--  - user_agent_string: 'Reaper/1.3.6 (Linux; U; Android 4.3; de-DE; GT-I9300 Build/JSS15J)'-    family: 'Reaper'-    major: '1'-    minor: '3'-    patch: '6'--  - user_agent_string: 'Reaper/2.07 ( http://www.sitesearch.ca/reaper)'-    family: 'Reaper'-    major: '2'-    minor: '07'-    patch:--  - user_agent_string: 'RedCarpet/1.0 (http://www.redcarpet-inc.com/robots.html)'-    family: 'RedCarpet'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'RedCarpet/2.1 CFNetwork/672.0.2 Darwin/14.0.0'-    family: 'CFNetwork'-    major: '672'-    minor: '0'-    patch: '2'--  - user_agent_string: 'Riddler (http://riddler.io/about.html)'-    family: 'Riddler'-    major:-    minor:-    patch:--  - user_agent_string: 'Scrapy/0.16.4 (+http://scrapy.org)'-    family: 'Scrapy'-    major: '0'-    minor: '16'-    patch: '4'--  - user_agent_string: 'Scrapy/0.22.2 (+http://scrapy.org)'-    family: 'Scrapy'-    major: '0'-    minor: '22'-    patch: '2'--  - user_agent_string: 'Simpy/1.1 (Simpy; http://www.simpy.com/?ref=bot; feedback at simpy dot com)'-    family: 'Simpy'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/3.0 (Slurp.so/1.0; slurp@inktomi.com; http://www.inktomi.com/slurp.html)'-    family: 'Slurp'-    major:-    minor:-    patch:--  - user_agent_string: 'Slurp/2.0'-    family: 'Slurp'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Yahoo!; U; Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp) Mozilla/5.0 ()'-    family: 'Slurp'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Speedy Spider; http://www.entireweb.com/about/search_tech/speedy_spider/)'-    family: 'Speedy Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Squrl Java/1.6.0_22'-    family: 'Squrl Java'-    major: '1'-    minor: '6'-    patch: '0'--  - user_agent_string: 'TheUsefulbot_2.3.62 (bot@theusefulnet.com)'-    family: 'TheUsefulbot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; de-DE; rv:1.9.0.19) Gecko/2010091808 ThumbShotsBot (KFSW 3.0.6-3)'-    family: 'ThumbShotsBot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Thumbshots.ru; +http://thumbshots.ru/bot) Firefox/3'-    family: 'Thumbshots.ru'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Vagabondo/Wapspider; webcrawler at wise-guys dot nl; http://webagent.wise-guys.nl/)'-    family: 'Vagabondo'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Vagabondo/2.1; webcrawler at wise-guys dot nl; http://webagent.wise-guys.nl/)'-    family: 'Vagabondo'-    major: '2'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible;  Vagabondo/2.2; webcrawler at wise-guys dot nl; http://webagent.wise-guys.nl/)'-    family: 'Vagabondo'-    major: '2'-    minor: '2'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible;  Vagabondo/2.3; webcrawler at wise-guys dot nl; http://webagent.wise-guys.nl/)'-    family: 'Vagabondo'-    major: '2'-    minor: '3'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible;  Vagabondo/4.0Beta; webcrawler at wise-guys dot nl; http://webagent.wise-guys.nl/)'-    family: 'Vagabondo'-    major: '4'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) VoilaBot BETA 1.2 (http://www.voila.com/)'-    family: 'VoilaBot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Votay bot/4.0;  http://www.votay.com/arts/comics/)'-    family: 'Votay bot'-    major: '4'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; WASALive Bot ; http://blog.wasalive.com/wasalive-bots/)'-    family: 'WASALive Bot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU iPhone OS 7_0 like Mac OS X; de-DE) WIRED/3.2.3.11.87970'-    family: 'WIRE'-    major:-    minor:-    patch:--  - user_agent_string: 'WIRE/0.11 (Linux; i686; Robot,Spider,Crawler,aromano@cli.di.unipi.it)'-    family: 'WIRE'-    major: '0'-    minor: '11'-    patch:--  - user_agent_string: 'WIRE/1.0 (Linux;i686;Bot,Robot,Spider,Crawler)'-    family: 'WIRE'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows; Windows NT 6.1; WOW64; rv:2.0b8pre; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MS-RTC LM 8; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; SLCC1; SLCC2; Media Center PC 6.0; GTB6.4; InfoPath.2; en-US; FunWebProducts; Zango 10.1.181.0; SV1; PRTG Network Monitor (www.paessler.com)) Gecko/20101114 Firefox/4.0b8pre QuickTime/7.6.2 Songbird/1.1.2 Web-sniffer/1.0.36 lftp/3.7.4 libwww-perl/5.820 GSiteCrawler/v1.12 rev. 260 Snoopy v1.2'-    family: 'Web-sniffer'-    major: '1'-    minor: '0'-    patch: '36'--  - user_agent_string: 'Mozilla/5.0 (compatible; WebThumbnail/2.2; Website Thumbnail Generator; +http://webthumbnail.org)'-    family: 'WebThumb'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.0.17) Gecko WebThumb/1.0'-    family: 'WebThumb'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'WhatWeb/0.4.8'-    family: 'WhatWeb'-    major: '0'-    minor: '4'-    patch: '8'--  - user_agent_string: 'Jetpack by WordPress.com'-    family: 'WordPress'-    major:-    minor:-    patch:--  - user_agent_string: 'WordPress/1.2.1 PHP/4.3.9-1'-    family: 'WordPress'-    major: '1'-    minor: '2'-    patch: '1'--  - user_agent_string: 'Pachacutec/0.5 (qpImageBuilders.com); WordPress/3.1; http://contacto-latino.com/news'-    family: 'WordPress'-    major: '3'-    minor: '1'-    patch:--  - user_agent_string: 'Wotbox/0.7-alpha (bot@wotbox.com; http://www.wotbox.com)'-    family: 'Wotbox'-    major: '0'-    minor: '7'-    patch:--  - user_agent_string: 'Wotbox/2.01 ( http://www.wotbox.com/bot/)'-    family: 'Wotbox'-    major: '2'-    minor: '01'-    patch:--  - user_agent_string: 'Xenu Link Sleuth 1.1f'-    family: 'Xenu Link Sleuth'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: "Xenu's Link Sleuth 1.0p"-    family: "Xenu's Link Sleuth"-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Xerka WebBot v1.0.0 [AIDO_CREA_ab]'-    family: 'Xerka WebBot'-    major: '1'-    minor: '0'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)'-    family: 'Yahoo! Slurp'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Yahoo! Slurp/3.0 ; http://help.yahoo.com/help/us/ysearch/slurp)'-    family: 'Yahoo! Slurp'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'LG-C1500 UP.Browser/6.2.3 (GUI) MMP/1.0 (compatible;YahooSeeker/M1A1-R2D2; http://help.yahoo.com/help/us/ysearch/crawling/crawling-01.html)'-    family: 'YahooSeeker'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots),gzip(gfe) AppEngine-Google; (+http://code.google.com/appengine; appid: twitter-mirror),gzip(gfe),gzip(gfe),gzip(gfe)'-    family: 'YandexBot'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'Yeti-FeedItemCrawler/1.0 (NHN Corp.;+http://help.naver.com/robots/)'-    family: 'Yeti'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; YodaoBot/1.0; http://www.yodao.com/help/webmaster/spider/; )'-    family: 'YodaoBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible;YodaoBot-Image/1.0;http://www.youdao.com/help/webmaster/spider/;)'-    family: 'YodaoBot-Image'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'YowedoBot/Yowedo 1.0 (Search Engine crawler for yowedo.com; http://yowedo.com/en/partners.html; crawler@yowedo.com)'-    family: 'Yowedo'-    major:-    minor:-    patch:--  - user_agent_string: 'Zao-Crawler'-    family: 'Zao'-    major:-    minor:-    patch:--  - user_agent_string: 'ZeBot_www.ze.bz (ze.bz@hotmail.com)'-    family: 'ZeBot_www.ze.bz'-    major:-    minor:-    patch:--  - user_agent_string: 'ZooShot 0.42'-    family: 'ZooShot'-    major: '0'-    minor: '42'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE; ZyBorg; Win32)'-    family: 'ZyBorg'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 compatible ZyBorg/1.0 (ZyBorg@WISEnutbot.com; http://www.WISEnutbot.com)'-    family: 'ZyBorg'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'AltaVista Intranet V2.0 Compaq Altavista Eval sveand@altavista.net'-    family: 'altavista'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; archive.bibalex.org_bot; +http://www.test.com)'-    family: 'archive.bibalex.org_bot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; archive.org_bot/heritrix-1.15.1-x  http://pandora.nla.gov.au/crawl.html)'-    family: 'archive.org_bot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; special_archiver/3.2.0 +http://www.loc.gov/webarchiving/notice_to_webmasters.html)'-    family: 'archiver'-    major: '3'-    minor: '2'-    patch: '0'--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50215; baiduspider)'-    family: 'baiduspider'-    major:-    minor:-    patch:--  - user_agent_string: 'baiduspider-mobile-gate'-    family: 'baiduspider-mobile-gate'-    major:-    minor:-    patch:--  - user_agent_string: 'bingbot'-    family: 'bingbot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; bingbot/2.0  http://www.bing.com/bingbot.htm)'-    family: 'bingbot'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'boitho.com-dc/0.4 ( http://www.boitho.com/dcbot.html )'-    family: 'boitho.com-dc'-    major: '0'-    minor: '4'-    patch:--  - user_agent_string: 'boitho.com-dc/0.86 ( http://www.boitho.com/dcbot.html )'-    family: 'boitho.com-dc'-    major: '0'-    minor: '86'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; clumboot; +http://localhost/clumpit/bot.php)'-    family: 'clumboot'-    major:-    minor:-    patch:--  - user_agent_string: 'findlinks/2.6 ( http://wortschatz.uni-leipzig.de/findlinks/)'-    family: 'findlinks'-    major: '2'-    minor: '6'-    patch:--  - user_agent_string: 'Mozilla/4.0 compatible FurlBot/Furl Search 2.0 (FurlBot; http://www.furl.net; wn.furlbot@looksmart.net)'-    family: 'furlbot'-    major:-    minor:-    patch:--  - user_agent_string: 'gonzo1[D] mailto:crawleradmin.t-info@telekom.de'-    family: 'gonzo1'-    major:-    minor:-    patch:--  - user_agent_string: 'grub-client-1.5.3; (grub-client-1.5.3; Crawl your own stuff with http://grub.org)'-    family: 'grub-client'-    major:-    minor:-    patch:--  - user_agent_string: 'gsa-crawler'-    family: 'gsa-crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; cdlwas_bot; heritrix/1.14.1 +http://webarchives.cdlib.org/p/webmasters)'-    family: 'heritrix'-    major: '1'-    minor: '14'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (compatible; heritrix/3.2.0 +http://suki.ling.helsinki.fi/eng/project.html)'-    family: 'heritrix'-    major: '3'-    minor: '2'-    patch: '0'--  - user_agent_string: 'holmes/2.3'-    family: 'holmes'-    major: '2'-    minor: '3'-    patch:--  - user_agent_string: 'holmes/3.12.4 (http://morfeo.centrum.cz/bot)'-    family: 'holmes'-    major: '3'-    minor: '12'-    patch: '4'--  - user_agent_string: 'htdig/3.1.6 (romieu@bastide-medical.fr)'-    family: 'htdig'-    major: '3'-    minor: '1'-    patch: '6'--  - user_agent_string: 'ia_archiver/8.7 (Windows NT 5.0; )'-    family: 'ia_archiver'-    major: '8'-    minor: '7'-    patch:--  - user_agent_string: 'ichiro/1.0 (ichiro@nttr.co.jp)'-    family: 'ichiro'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'ichiro/5.0 (http://help.goo.ne.jp/door/crawler.html)'-    family: 'ichiro'-    major: '5'-    minor: '0'-    patch:--  - user_agent_string: 'DoCoMo/2.0 P900i(c100;TB;W24H11)(compatible; ichiro/mobile goo;  http://help.goo.ne.jp/door/crawler.html)'-    family: 'ichiro/mobile'-    major:-    minor:-    patch:--  - user_agent_string: '08_800w_web1 (larbin2.6.3@unspecified.mail)'-    family: 'larbin'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; LYCOSA;+http://lycosa.se)'-    family: 'lycos'-    major:-    minor:-    patch:--  - user_agent_string: 'masidani_bot_v0.3 (info@masidani.com)'-    family: 'masidani_bot'-    major:-    minor:-    patch:--  - user_agent_string: 'mozDex/0.05-dev (mozDex; http://www.mozdex.com/bot.html; spider@mozdex.com)'-    family: 'mozDex'-    major: '0'-    minor: '05'-    patch:--  - user_agent_string: 'msnbot/2.0 (+http://search.msn.com/msnbot.htm)'-    family: 'msnbot'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; msnbot/2.1) Jakarta Commons-HttpClient/3.0-rc3 PHPCrawl GStreamer souphttpsrc libsoup/2.27.4 PycURL/7.19.0 XML-RPC for PHP 2.2.1 GoogleFriendConnect/1.0 HTMLParser/1.6 gPodder/0.15.2 ( http://gpodder.org/) anw webtool LoadControl/1.3 WinHttp urlgrabber/3.1.0'-    family: 'msnbot'-    major: '2'-    minor: '1'-    patch:--  - user_agent_string: 'msnbot-media/1.0 ( http://search.msn.com/msnbot.htm)'-    family: 'msnbot-media'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'msnbot-media/2.0b (+http://search.msn.com/msnbot.htm)'-    family: 'msnbot-media'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'MSRBOT (http://research.microsoft.com/research/sv/msrbot)'-    family: 'msrbot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; scooter; .NET CLR 1.0.3705)'-    family: 'scooter'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; focuseekbot)'-    family: 'seekbot'-    major:-    minor:-    patch:--  - user_agent_string: 'semanticdiscovery/0.2(http://www.semanticdiscovery.com/sd/robot.html)'-    family: 'semanticdiscovery'-    major: '0'-    minor: '2'-    patch:--  - user_agent_string: 'semanticdiscovery/2.0(http://www.semanticdiscovery.com/robot.html)'-    family: 'semanticdiscovery'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'voyager/1.0'-    family: 'voyager'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'voyager/2.0 (http://www.kosmix.com/crawler.html)'-    family: 'voyager'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'http://www.almaden.ibm.com/cs/crawler'-    family: 'www.almaden.ibm.com'-    major:-    minor:-    patch:--  - user_agent_string: '449 Overture-WebCrawler/3.8/Fresh (atw-crawler at fast dot no; http://fast.no/support/crawler.asp'-    family: '449 Overture-WebCrawler'-    major: '3'-    minor: '8'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; 80bot/0.71; http://www.80legs.com/spider.html;) Gecko/2008032620'-    family: '80bot'-    major: '0'-    minor: '71'-    patch:--  - user_agent_string: 'A6-Indexer/1.0 (http://www.a6corp.com/a6-web-scraping-policy/)'-    family: 'A6-Indexer'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'AcquiloSpider/1.0,gzip(gfe),gzip(gfe)'-    family: 'AcquiloSpider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Aleksika Spider/1.0 ( http://www.aleksika.com/)'-    family: 'Aleksika Spider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'AmorankSpider/0.1; +http://amorank.com/webcrawler.html'-    family: 'AmorankSpider'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'AnomaliesBot/0.06-dev (The Anomalies Network Search Spider; http://www.anomalies.net; info@anomalies.net)'-    family: 'AnomaliesBot'-    major: '0'-    minor: '06'-    patch:--  - user_agent_string: 'Automattic Analytics Crawler/0.1; http://wordpress.com/crawler/'-    family: 'Automattic Analytics Crawler'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'Automattic Analytics Crawler/0.2;+http://wordpress.com/crawler/'-    family: 'Automattic Analytics Crawler'-    major: '0'-    minor: '2'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; BLEXBot/1.0; +http://webmeup.com/crawler.html)'-    family: 'BLEXBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'BabalooSpider/1.2 (BabalooSpider; http://www.babaloo.si; spider@babaloo.si)'-    family: 'BabalooSpider'-    major: '1'-    minor: '2'-    patch:--  - user_agent_string: 'BabalooSpider/1.3 (BabalooSpider; http://www.babaloo.si; spider@babaloo.si)'-    family: 'BabalooSpider'-    major: '1'-    minor: '3'-    patch:--  - user_agent_string: 'BebopBot/2.5.1 (compatible; media crawler V1;  http://www.apassion4jazz.net/bebopbot.html;)'-    family: 'BebopBot'-    major: '2'-    minor: '5'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (compatible; BlinkaCrawler/1.0;  http://www.blinka.jp/crawler/)'-    family: 'BlinkaCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'BlogRangerCrawler/1.0'-    family: 'BlogRangerCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Brekiri crawler/1.0'-    family: 'Brekiri crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'BurstFindCrawler/1.1 (crawler.burstfind.com; http://crawler.burstfind.com; crawler@burstfind.com)'-    family: 'BurstFindCrawler'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'CCBot/1.0 ( http://www.commoncrawl.org/bot.html)'-    family: 'CCBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'CCBot/2.0 (http://commoncrawl.org/faq/)'-    family: 'CCBot'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'CamontSpider/1.0  http://epweb2.ph.bham.ac.uk/user/slater/camont/info.html'-    family: 'CamontSpider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'CazoodleBot/0.1 (CazoodleBot Crawler; http://www.cazoodle.com; mqbot@cazoodle.com)'-    family: 'CazoodleBot'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; CloudServerMarketSpider/1.0; +http://www.cloudservermarket.com/spider.html)'-    family: 'CloudServerMarketSpider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; CompSpyBot/1.0; +http://www.compspy.com/spider.html)'-    family: 'CompSpyBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'ConveraMultiMediaCrawler/0.1 ( http://www.authoritativeweb.com/crawl)'-    family: 'ConveraMultiMediaCrawler'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'CosmixCrawler/0.1'-    family: 'CosmixCrawler'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'Crawl/0.1 langcrawl/0.1'-    family: 'Crawl'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; CrawlBot/1.0.0)'-    family: 'CrawlBot'-    major: '1'-    minor: '0'-    patch: '0'--  - user_agent_string: 'Crawllybot/0.1/0.1 (Crawllybot/0.1; http://www.crawlly.com; crawler@crawlly.com)'-    family: 'Crawllybot'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Crawly/1.9;  http://92.51.162.40/crawler.html)'-    family: 'Crawly'-    major: '1'-    minor: '9'-    patch:--  - user_agent_string: 'Crawlzilla/1.0 (Crawlzilla; http://www.crawlzilla.com; crawler@crawlzilla.com)'-    family: 'Crawlzilla'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'CydralSpider/3.2 (Cydral Image Search; http://www.cydral.com)'-    family: 'CydralSpider'-    major: '3'-    minor: '2'-    patch:--  - user_agent_string: 'DealGates Bot/1.1 by Luc Michalski (http://spider.dealgates.com/bot.html)'-    family: 'DealGates Bot'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'Denodo IECrawler/4.5,gzip(gfe),gzip(gfe)'-    family: 'Denodo IECrawler'-    major: '4'-    minor: '5'-    patch:--  - user_agent_string: 'Diffbot/0.1'-    family: 'Diffbot'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'DomainCrawler/2.0 (info@domaincrawler.com; http://www.domaincrawler.com/bot'-    family: 'DomainCrawler'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'DotBot/1.0.1 (http://www.dotnetdotcom.org/, crawler@dotnetdotcom.org)'-    family: 'DotBot'-    major: '1'-    minor: '0'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (compatible; DotBot/1.1; http://www.dotnetdotcom.org/, crawler@dotnetdotcom.org)'-    family: 'DotBot'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'DotSpotsBot/0.2 (crawler; support at dotspots.com)'-    family: 'DotSpotsBot'-    major: '0'-    minor: '2'-    patch:--  - user_agent_string: 'ERACrawler/1.0'-    family: 'ERACrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; EventGuruBot/1.0; +http://www.eventguru.com/spider.html)'-    family: 'EventGuruBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Ex-Crawler/0.1.5a; powered by ex-crawler; +http://www.ex-crawler.de/) Java/1.6.0_20,gzip(gfe),gzip(gfe)'-    family: 'Ex-Crawler'-    major: '0'-    minor: '1'-    patch: '5'--  - user_agent_string: 'ExactSeek Crawler/0.1'-    family: 'ExactSeek Crawler'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'ExactSeekCrawler/1.0'-    family: 'ExactSeekCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'FANGCrawl/0.01'-    family: 'FANGCrawl'-    major: '0'-    minor: '01'-    patch:--  - user_agent_string: 'FAST Enterprise Crawler/6 (www.fastsearch.com)'-    family: 'FAST Enterprise Crawler'-    major: '6'-    minor:-    patch:--  - user_agent_string: 'FAST-WebCrawler/2.2.11 (crawler@fast.no; http://www.fast.no/faq/faqfastwebsearch/faqfastwebcrawler.html)'-    family: 'FAST-WebCrawler'-    major: '2'-    minor: '2'-    patch: '11'--  - user_agent_string: 'FAST-WebCrawler/3.7 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)'-    family: 'FAST-WebCrawler'-    major: '3'-    minor: '7'-    patch:--  - user_agent_string: 'NokiaN70/. FASTMobileCrawl/6.6 Profile/MIDP-2.0 Configuration/CLDC-1.1'-    family: 'FASTMobileCrawl'-    major: '6'-    minor: '6'-    patch:--  - user_agent_string: 'FlaxCrawler/1.0,gzip(gfe),gzip(gfe)'-    family: 'FlaxCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'FyberSpider/1.3 (http://www.fybersearch.com/fyberspider.php)'-    family: 'FyberSpider'-    major: '1'-    minor: '3'-    patch:--  - user_agent_string: 'GarlikCrawler/1.2 (http://garlik.com/'-    family: 'GarlikCrawler'-    major: '1'-    minor: '2'-    patch:--  - user_agent_string: 'GematchCrawler/2.1 (http://www.gematch.com/crawler.html)'-    family: 'GematchCrawler'-    major: '2'-    minor: '1'-    patch:--  - user_agent_string: 'Gigabot/2.0/gigablast.com/spider.html'-    family: 'Gigabot'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Gigabot/3.0 (http://www.gigablast.com/spider.html)'-    family: 'Gigabot'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'GingerCrawler/1.0 (Language Assistant for Dyslexics; www.gingersoftware.com/crawler_agent.htm; support at ginger software dot com)'-    family: 'GingerCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'GoGuidesBot/0.0.1 (GoGuides Indexing Spider; http://www.goguides.org/spider.html)'-    family: 'GoGuidesBot'-    major: '0'-    minor: '0'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (compatible; GrapeshotCrawler/2.0; +http://www.grapeshot.co.uk/crawler.php)'-    family: 'GrapeshotCrawler'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'HPI FeedCrawler/0.1 (+http://www.hpi.uni-potsdam.de/meinel/bross/feedcrawler)'-    family: 'HPI FeedCrawler'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'HRCrawler/2.0 (XF86; MacOS x86_64) AppleWebKit/537.31 (KHTML, like Gecko)'-    family: 'HRCrawler'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Hailoobot/1.2;  http://www.hailoo.com/spider.html)'-    family: 'Hailoobot'-    major: '1'-    minor: '2'-    patch:--  - user_agent_string: 'Hatena::Crawler/0.01'-    family: 'Hatena::Crawler'-    major: '0'-    minor: '01'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; HiveCrawler/1.2 http://www.businessinsider.com)'-    family: 'HiveCrawler'-    major: '1'-    minor: '2'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Host-Spy Crawler/1.2; +http://www.host-spy.com/)'-    family: 'Host-Spy Crawler'-    major: '1'-    minor: '2'-    patch:--  - user_agent_string: 'HttpSpider/0.91'-    family: 'HttpSpider'-    major: '0'-    minor: '91'-    patch:--  - user_agent_string: 'HuaweiSymantecSpider/1.0 DSE-support@huaweisymantec.com (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR ; http://www.huaweisymantec.com/cn/IRL/spider)'-    family: 'HuaweiSymantecSpider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'IRLbot/1.0 ( http://irl.cs.tamu.edu/crawler)'-    family: 'IRLbot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'IRLbot/3.0 (compatible; MSIE 6.0; http://irl.cs.tamu.edu/crawler)'-    family: 'IRLbot'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; Iplexx Spider/1.1)'-    family: 'Iplexx Spider'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'Jambot/0.1.1 (Jambot; http://www.jambot.com/blog; crawler@jambot.com)'-    family: 'Jambot'-    major: '0'-    minor: '1'-    patch: '1'--  - user_agent_string: 'Jomjaibot/1.0 Crawl (+http://www.jomjaibot.com/)'-    family: 'Jomjaibot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'KIT webcrawler/0.2.4'-    family: 'KIT webcrawler'-    major: '0'-    minor: '2'-    patch: '4'--  - user_agent_string: 'Kyoto-Crawler/2.0 (Mozilla-compatible; kyoto-crawler-contact(at)nlp(dot)kuee(dot)kyoto-u(dot)ac(dot)jp; http://nlp.ist.i.kyoto-u.ac.jp/)'-    family: 'Kyoto-Crawler'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'LB-Crawler/1.0'-    family: 'LB-Crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'LSSRocketCrawler/1.0 LightspeedSystems'-    family: 'LSSRocketCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040707 Lightningspider/0.9.2'-    family: 'Lightningspider'-    major: '0'-    minor: '9'-    patch: '2'--  - user_agent_string: 'Mozilla/5.0 (compatible; LikaholixCrawler/1.0; +http://mylikes.com/about/crawler)'-    family: 'LikaholixCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Logict IPv6 Crawler/1.0 (http://ipv6search.logict.net),gzip(gfe),gzip(gfe)'-    family: 'Logict IPv6 Crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'MPICrawler/0.1 +http://kermit.news.cs.nyu.edu/crawler.html,gzip(gfe),gzip(gfe)'-    family: 'MPICrawler'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'Opera/8.01 (J2ME/MIDP; MXit WebBot/1.8.3.119) Opera Mini/3.1'-    family: 'MXit WebBot'-    major: '1'-    minor: '8'-    patch: '3'--  - user_agent_string: 'MetaGeneratorCrawler/1.3.8 (www.metagenerator.info)'-    family: 'MetaGeneratorCrawler'-    major: '1'-    minor: '3'-    patch: '8'--  - user_agent_string: 'Mozilla/5.0 (compatible; MetamojiCrawler/1.0; +http://www.metamoji.com/jp/crawler.html'-    family: 'MetamojiCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'MonkeyCrawl/0.05 (MonkeyCrawl; http://www.monkeymethods.org;  )'-    family: 'MonkeyCrawl'-    major: '0'-    minor: '05'-    patch:--  - user_agent_string: 'Mozilla crawl/5.0 (compatible; fairshare.cc +http://fairshare.cc)'-    family: 'Mozilla crawl'-    major: '5'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; NLCrawler/2.0.15; Linux 2.6.3-7; i686; en_US)KHTML/3.4.89 (like Gecko)'-    family: 'NLCrawler'-    major: '2'-    minor: '0'-    patch: '15'--  - user_agent_string: 'NMG Spider/0.3 (szukanko.com)'-    family: 'NMG Spider'-    major: '0'-    minor: '3'-    patch:--  - user_agent_string: 'NalezenCzBot/1.0 (http://www.nalezen.cz/about-crawler)'-    family: 'NalezenCzBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'NationalDirectory-WebSpider/1.3'-    family: 'NationalDirectory-WebSpider'-    major: '1'-    minor: '3'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; NetSeer crawler/2.0; +http://www.netseer.com/crawler.html; crawler@netseer.com)'-    family: 'NetSeer crawler'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'NetWhatCrawler/0.06-dev (NetWhatCrawler from NetWhat.com; http://www.netwhat.com; support@netwhat.com)'-    family: 'NetWhatCrawler'-    major: '0'-    minor: '06'-    patch:--  - user_agent_string: 'compatible; Netseer crawler/2.0; +http://www.netseer.com/crawler.html; crawler@netseer.com'-    family: 'Netseer crawler'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'New-Sogou-Spider/1.0 (compatible; MSIE 5.5; Windows 98)'-    family: 'New-Sogou-Spider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'NewzCrawler/1.9 (compatible; MSIE 6.00; Newz Crawler 1.9; http://www.newzcrawler.com/ )'-    family: 'NewzCrawler'-    major: '1'-    minor: '9'-    patch:--  - user_agent_string: 'NodejsSpider/1.0'-    family: 'NodejsSpider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; .None-Crawler/0.1 +http://domains.ericbinek.None/)'-    family: 'None-Crawler'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'OmniExplorer_Bot/6.70 ( http://www.omni-explorer.com) WorldIndexer'-    family: 'OmniExplorer_Bot'-    major: '6'-    minor: '70'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; OpenCrawler/0.1.6.6; http://code.google.com/p/opencrawler/),gzip(gfe),gzip(gfe)'-    family: 'OpenCrawler'-    major: '0'-    minor: '1'-    patch: '6'--  - user_agent_string: 'OpenWebSpider/0.6 (http://www.openwebspider.org)'-    family: 'OpenWebSpider'-    major: '0'-    minor: '6'-    patch:--  - user_agent_string: 'Overture-WebCrawler/3.8/Fresh (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)'-    family: 'Overture-WebCrawler'-    major: '3'-    minor: '8'-    patch:--  - user_agent_string: 'PArchiveCrawler/1.0'-    family: 'PArchiveCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'PercolateCrawler/4 (ops@percolate.com)'-    family: 'PercolateCrawler'-    major: '4'-    minor:-    patch:--  - user_agent_string: 'Pete-Spider/1.1'-    family: 'Pete-Spider'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'PicSpider/1.1 (spider@217-20-118-26.internetserviceteam.com; http://www.bildkiste.de)'-    family: 'PicSpider'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'PluckItCrawler/1.0 (compatible; Mozilla 4.0; MSIE 5.5; http://www.pluck.com;)'-    family: 'PluckItCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; PornSpider/1.0; +http://www.pornspider.net)'-    family: 'PornSpider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'PortalBSpider/2.0 (spider@portalb.com)'-    family: 'PortalBSpider'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; ProCogBot/1.0; +http://www.procog.com/spider.html)'-    family: 'ProCogBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'ProloCrawler/1.0 (http://www.prolo.com)'-    family: 'ProloCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'PsSpider/0.7 (spider@bildkiste.de)'-    family: 'PsSpider'-    major: '0'-    minor: '7'-    patch:--  - user_agent_string: 'RSSIncludeBot/1.0 (http://www.rssinclude.com/spider)'-    family: 'RSSIncludeBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ;  Embedded Web Browser from: http://bsalsa.com/; RSScrawler/4.0 (compatible; MSIE 6.0; Windows NT 5.0); .NET CLR 2.0.50727'-    family: 'RSScrawler'-    major: '4'-    minor: '0'-    patch:--  - user_agent_string: 'RSpider/1.0'-    family: 'RSpider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'RyzeCrawler/1.1.0 (+http://www.ryze.nl/crawler/)'-    family: 'RyzeCrawler'-    major: '1'-    minor: '1'-    patch: '0'--  - user_agent_string: 'SMXCrawler/1.0 (www.socialmetrix.com)'-    family: 'SMXCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; SRCCN!Spider/1.1; +http://site.srccn.com/spider.html)'-    family: 'SRCCN!Spider'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; SWEBot/1.0; +http://swebot-crawler.net)'-    family: 'SWEBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Sangfor Spider/0.7'-    family: 'Sangfor Spider'-    major: '0'-    minor: '7'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG GT-I9506-ORANGE Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'-    family: 'Samsung Internet'-    major: '2'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-T800 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.0 Chrome/38.0.2125.102 Safari/537.36'-    family: 'Samsung Internet'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-G920F Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2 Chrome/38.0.2125.102 Mobile Safari/537.36'-    family: 'Samsung Internet'-    major: '3'-    minor: '2'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-T710 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.5 Chrome/38.0.2125.102 Safari/537.36'-    family: 'Samsung Internet'-    major: '3'-    minor: '5'-    patch:--  - user_agent_string: 'ScSpider/0.2'-    family: 'ScSpider'-    major: '0'-    minor: '2'-    patch:--  - user_agent_string: 'ScollSpider/2.0 ( http://www.webwobot.com/ScollSpider.php)'-    family: 'ScollSpider'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Screaming Frog SEO Spider/1.10'-    family: 'Screaming Frog SEO Spider'-    major: '1'-    minor: '10'-    patch:--  - user_agent_string: 'Screaming Frog SEO Spider/2,01'-    family: 'Screaming Frog SEO Spider'-    major: '2'-    minor:-    patch:--  - user_agent_string: 'SearchSpider/1.2.10'-    family: 'SearchSpider'-    major: '1'-    minor: '2'-    patch: '10'--  - user_agent_string: 'Searchspider/1.2 (SearchSpider; http://www.searchspider.com; webmaster@searchspider.com)'-    family: 'Searchspider'-    major: '1'-    minor: '2'-    patch:--  - user_agent_string: 'SimpleCrawler/0.1'-    family: 'SimpleCrawler'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'SlugBug Spider/0.1 beta (SlugBug.com search engine; http://www.slugbug.com)'-    family: 'SlugBug Spider'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'SmartAndSimpleWebCrawler/1.3 (https://crawler.dev.java.net),gzip(gfe),gzip(gfe)'-    family: 'SmartAndSimpleWebCrawler'-    major: '1'-    minor: '3'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Linux; Socialradarbot/2.0; en-US; crawler@infegy.com)'-    family: 'Socialradarbot'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Sogou Orion spider/4.0( http://www.sogou.com/docs/help/webmasters.htm#07)'-    family: 'Sogou Orion spider'-    major: '4'-    minor: '0'-    patch:--  - user_agent_string: 'Sogou Pic Spider/3.0( http://www.sogou.com/docs/help/webmasters.htm#07)'-    family: 'Sogou Pic Spider'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'Sogou Push Spider/3.0( http://www.sogou.com/docs/help/webmasters.htm#07)'-    family: 'Sogou Push Spider'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'Sogou develop spider/4.0( http://www.sogou.com/docs/help/webmasters.htm#07)'-    family: 'Sogou develop spider'-    major: '4'-    minor: '0'-    patch:--  - user_agent_string: 'Sogou head spider/3.0( http://www.sogou.com/docs/help/webmasters.htm#07)'-    family: 'Sogou head spider'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'Sogou web spider/3.0( http://www.sogou.com/docs/help/webmasters.htm#07)'-    family: 'Sogou web spider'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'Sogou-Test-Spider/4.0 (compatible; MSIE 5.5; Windows 98)'-    family: 'Sogou-Test-Spider'-    major: '4'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Sosoimagespider/2.0; +http://help.soso.com/soso-image-spider.htm)'-    family: 'Sosoimagespider'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Sosospider/2.0; +http://help.soso.com/webspider.htm)'-    family: 'Sosospider'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Spider/5.0'-    family: 'Spider'-    major: '5'-    minor: '0'-    patch:--  - user_agent_string: 'SpokeSpider/1.0 (http://support.spoke.com/webspider/) Mozilla/5.0 (not really)'-    family: 'SpokeSpider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; StoneSunSpider/1.1)'-    family: 'StoneSunSpider'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; StreamScraper/1.0; +http://code.google.com/p/streamscraper/)'-    family: 'StreamScraper'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.5; SuperSpider/139; Windows 98; Win 9x 4.90)'-    family: 'SuperSpider'-    major: '139'-    minor:-    patch:--  - user_agent_string: 'T3census-Crawler/1.0'-    family: 'T3census-Crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'TECOMAC-Crawler/0.3'-    family: 'TECOMAC-Crawler'-    major: '0'-    minor: '3'-    patch:--  - user_agent_string: 'Tasapspider/0.9'-    family: 'Tasapspider'-    major: '0'-    minor: '9'-    patch:--  - user_agent_string: 'TinEye-bot/0.02 (see http://www.tineye.com/crawler.html)'-    family: 'TinEye-bot'-    major: '0'-    minor: '02'-    patch:--  - user_agent_string: 'Top10Ranking Spider/3.1 ( http://www.top10Ranking.nl/, Top10ranking.nl heeft op een aantal woorden uw posities in Google gecheckt)'-    family: 'Top10Ranking Spider'-    major: '3'-    minor: '1'-    patch:--  - user_agent_string: 'TouTrix crawler/1.0'-    family: 'TouTrix crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; TridentSpider/3.1)'-    family: 'TridentSpider'-    major: '3'-    minor: '1'-    patch:--  - user_agent_string: 'TurnitinBot/1.5 (http://www.turnitin.com/robot/crawlerinfo.html)'-    family: 'TurnitinBot'-    major: '1'-    minor: '5'-    patch:--  - user_agent_string: 'TurnitinBot/3.0 (http://www.turnitin.com/robot/crawlerinfo.html)'-    family: 'TurnitinBot'-    major: '3'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Linux i686; en-US; URLfilterDB-crawler/1.0) ufdb/1.0'-    family: 'URLfilterDB-crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (URLfilterDB-crawler/1.1) ufdb/1.0'-    family: 'URLfilterDB-crawler'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'VinjaVideoSpider/1.1'-    family: 'VinjaVideoSpider'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'VisBot/2.0 (Visvo.com Crawler; http://www.visvo.com/bot.html; bot@visvo.com)'-    family: 'VisBot'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; VodpodCrawler/1.0; +http://vodpod.com/site/help)'-    family: 'VodpodCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'WSDLSpider/1.0 (http://www.wsdlworld.com)'-    family: 'WSDLSpider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; WangIDSpider/1.0; +http://www.wangid.com/spider.html)'-    family: 'WangIDSpider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Web-Robot/5.0 (en-US; web-robot.com/policy.html) Web-Robot Crawler/2.0.3'-    family: 'Web-Robot'-    major: '5'-    minor: '0'-    patch:--  - user_agent_string: 'WebAlta Crawler/1.3.18 (http://www.webalta.net/ru/about_webmaster.html) (Windows; U; Windows NT 5.1; ru-RU)'-    family: 'WebAlta Crawler'-    major: '1'-    minor: '3'-    patch: '18'--  - user_agent_string: 'WebAlta Crawler/2.0 (http://www.webalta.net/ru/about_webmaster.html) (Windows; U; Windows NT 5.1; ru-RU)'-    family: 'WebAlta Crawler'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'WebIndexer/1-dev (Web Indexer; mailto://webindexerv1@yahoo.com; webindexerv1@yahoo.com)'-    family: 'WebIndexer'-    major: '1'-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Webbot/0.1; http://www.webbot.ru/bot.html)'-    family: 'Webbot'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'Webspider/1.0 (web spider;  )'-    family: 'Webspider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'WinWebBot/1.0; (Balaena Ltd, UK); http://www.balaena.com/winwebbot.html; winwebbot@balaena.com;)'-    family: 'WinWebBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'WinkBot/0.06 (Wink.com search engine web crawler; http://www.wink.com/Wink:WinkBot; winkbot@wink.com)'-    family: 'WinkBot'-    major: '0'-    minor: '06'-    patch:--  - user_agent_string: 'Yahoo-MMCrawler/3.x (mm dash crawler at trd dot overture dot com)'-    family: 'Yahoo-MMCrawler'-    major: '3'-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Yahoo-MMCrawler/4.0; mailto:vertical-crawl-support@yahoo-inc.com)'-    family: 'Yahoo-MMCrawler'-    major: '4'-    minor: '0'-    patch:--  - user_agent_string: 'Yahoo-Newscrawler/3.9 (news-search-crawler at yahoo-inc dot com)'-    family: 'Yahoo-Newscrawler'-    major: '3'-    minor: '9'-    patch:--  - user_agent_string: 'Yahoo-VerticalCrawler-FormerWebCrawler/3.9 crawler at trd dot overture dot com; http://www.alltheweb.com/help/webmaster/crawler'-    family: 'Yahoo-VerticalCrawler-FormerWebCrawler'-    major: '3'-    minor: '9'-    patch:--  - user_agent_string: 'YoonoCrawler/1.0 (crawler@yoono.com)'-    family: 'YoonoCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; YoudaoBot/1.0; http://www.youdao.com/help/webmaster/spider/; )'-    family: 'YoudaoBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; ZemlyaCrawl/1.0; +http://zemlyaozer.com/bot)'-    family: 'ZemlyaCrawl'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: "Zeusbot/0.8.1 (Ulysseek's web-crawling robot; http://www.zeusbot.com; agent@zeusbot.com)"-    family: 'Zeusbot'-    major: '0'-    minor: '8'-    patch: '1'--  - user_agent_string: 'agbot/1.0 (AgHaven.com search engine crawler; http://search.aghaven.com; bot@aghaven.com)'-    family: 'agbot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; archive_crawler/3.0.0-SNAPSHOT-20091205.013431  http://www.archive.org/details/archive_crawler)'-    family: 'archive_crawler'-    major: '3'-    minor: '0'-    patch: '0'--  - user_agent_string: 'audioCrawlerBot/1.0 (http://www.audiocrawler.com/)'-    family: 'audioCrawlerBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'awesomebar_scraper/1.0'-    family: 'awesomebar_scraper'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'blog_crawler/1.0'-    family: 'blog_crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; ca-crawler/1.0)'-    family: 'ca-crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'crawl/0.4 langcrawl/0.1'-    family: 'crawl'-    major: '0'-    minor: '4'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; crawler/3.0.0 +http://www.notconfigured.com/)'-    family: 'crawler'-    major: '3'-    minor: '0'-    patch: '0'--  - user_agent_string: 'dCrawlBot/1.0.1120'-    family: 'dCrawlBot'-    major: '1'-    minor: '0'-    patch: '1120'--  - user_agent_string: 'deepcrawler/3.1 (http://www.queusearch.com/whatis_deepcrawler.php),gzip(gfe),gzip(gfe)'-    family: 'deepcrawler'-    major: '3'-    minor: '1'-    patch:--  - user_agent_string: 'envolk[ITS]spider/1.6 ( http://www.envolk.com/envolkspider.html)'-    family: 'envolk[ITS]spider'-    major: '1'-    minor: '6'-    patch:--  - user_agent_string: 'fastlwspider/1.0'-    family: 'fastlwspider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'i1searchbot/2.0 (i1search web crawler; http://www.i1search.com; crawler@i1search.com)'-    family: 'i1searchbot'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; iaskspider/1.0; MSIE 6.0)'-    family: 'iaskspider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'iaskspider/2.0( http://iask.com/help/help_index.html)'-    family: 'iaskspider'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Liquida.it-Crawler/1.0 ( crawler@liquida.it +http://www.liquida.it )'-    family: 'it-Crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'it2media-domain-crawler/1.0 on crawler-prod.it2media.de'-    family: 'it2media-domain-crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'jrCrawler/1.0b'-    family: 'jrCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; loc-crawl/1.10.1 +http://www.google.com)'-    family: 'loc-crawl'-    major: '1'-    minor: '10'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (compatible; loc-crawler/0.11.0 +http://loc.gov),gzip(gfe),gzip(gfe),gzip(gfe)'-    family: 'loc-crawler'-    major: '0'-    minor: '11'-    patch: '0'--  - user_agent_string: 'DoCoMo/2.0 P904i( m65bot/0.1; c; http://m65.jp/bot.html )'-    family: 'm65bot'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'magpie-crawler/1.1 (U; Linux amd64; en-GB;  http://www.brandwatch.net)'-    family: 'magpie-crawler'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'noxtrumbot/1.0 (crawler@noxtrum.com)'-    family: 'noxtrumbot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'nyobot/1.1 (Noyb.com search engine crawler; http://www.noyb.com; bot@noyb.com),gzip(gfe),gzip(gfe)'-    family: 'nyobot'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; oBot/2.3.1; +http://filterdb.iss.net/crawler/)'-    family: 'oBot'-    major: '2'-    minor: '3'-    patch: '1'--  - user_agent_string: 'omgilibot/0.3 +http://www.omgili.com/Crawler.html'-    family: 'omgilibot'-    major: '0'-    minor: '3'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; rogerBot/1.0; UrlCrawler; http://www.seomoz.org/dp/rogerbot)'-    family: 'rogerBot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'rogerbot/1.1 (http://moz.com/help/pro/what-is-rogerbot-, rogerbot-crawler+pr1-crawler-14@moz.com)'-    family: 'rogerbot'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'semantics webbot/1.0'-    family: 'semantics webbot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; socialbm_bot/1.0; +http://spider.socialbm.net)'-    family: 'socialbm_bot'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'tCrawler/0.1,gzip(gfe),gzip(gfe),gzip(gfe)'-    family: 'tCrawler'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'tivraSpider/1.0 (crawler@tivra.com)'-    family: 'tivraSpider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'webscraper/1.0'-    family: 'webscraper'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'wume_crawler/1.1 (http://wume.cse.lehigh.edu/~xiq204/crawler/)'-    family: 'wume_crawler'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'Abrave Spider v5.3 Robot 2 (http://robot.abrave.com)'-    family: '3 Robot'-    major: '2'-    minor:-    patch:--  - user_agent_string: 'Apexoo Spider 1.1'-    family: 'Apexoo Spider'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'BT Crawler 1.0,gzip(gfe),gzip(gfe),gzip(gfe)'-    family: 'BT Crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Bot Blocker Crawler 1.0 (btw, IncrediBILL says "HI!")'-    family: 'Bot Blocker Crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'BurstFind Crawler 1.1 - www.burstfind.com'-    family: 'BurstFind Crawler'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'Comodo Spider 1.1'-    family: 'Comodo Spider'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'Comodo Spider 1.2'-    family: 'Comodo Spider'-    major: '1'-    minor: '2'-    patch:--  - user_agent_string: 'Crawler 0.1,gzip(gfe),gzip(gfe)'-    family: 'Crawler'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'ExB Language Crawler 2.1.5 (+http://www.exb.de/crawler)'-    family: 'ExB Language Crawler'-    major: '2'-    minor: '1'-    patch: '5'--  - user_agent_string: 'Mozilla/5.0 (compatible; FAST Crawler 6.3)'-    family: 'FAST Crawler'-    major: '6'-    minor: '3'-    patch:--  - user_agent_string: 'FAST EnterpriseCrawler 6'-    family: 'FAST EnterpriseCrawler'-    major: '6'-    minor:-    patch:--  - user_agent_string: 'schibstedsokbot (compatible; Mozilla/5.0; MSIE 5.0; FAST FreshCrawler 6; Contact: webcrawl@schibstedsok.no;)'-    family: 'FAST FreshCrawler'-    major: '6'-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; FatBot 2.0; http://www.thefind.com/crawler)'-    family: 'FatBot'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'Feedjit Favicon Crawler 1.0'-    family: 'Feedjit Favicon Crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'HubSpot Crawler 1.0 http://www.hubspot.com/'-    family: 'HubSpot Crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Jaxified Crawler 1.0a (+http://www.jaxified.com/),gzip(gfe),gzip(gfe)'-    family: 'Jaxified Crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'LinksCrawler 0.1beta'-    family: 'LinksCrawler'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'Liquida Spider 1.0 +http://liquida.com/'-    family: 'Liquida Spider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'My Spider 1.0,gzip(gfe),gzip(gfe)'-    family: 'My Spider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'NWSpider 0.9'-    family: 'NWSpider'-    major: '0'-    minor: '9'-    patch:--  - user_agent_string: 'Netchart Adv Crawler 1.0'-    family: 'Netchart Adv Crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 (NimbleCrawler 0.1) obeys NimbleCrawler directive contact jpump@looksmart.net'-    family: 'NimbleCrawler'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows;) NimbleCrawler 2.0.1 obeys UserAgent NimbleCrawler For problems contact: crawler@healthline.com'-    family: 'NimbleCrawler'-    major: '2'-    minor: '0'-    patch: '1'--  - user_agent_string: 'OMGCrawler 1.0'-    family: 'OMGCrawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'SeekOn Spider 1.9(+http://www.seekon.com/spider.html)'-    family: 'SeekOn Spider'-    major: '1'-    minor: '9'-    patch:--  - user_agent_string: 'Toms Spider 0.3'-    family: 'Toms Spider'-    major: '0'-    minor: '3'-    patch:--  - user_agent_string: 'Tutorial Crawler 1.4'-    family: 'Tutorial Crawler'-    major: '1'-    minor: '4'-    patch:--  - user_agent_string: 'RB2B-bot v0.1 (Using Fast Enterprise Crawler 6 search@reedbusiness.com)'-    family: 'Using Fast Enterprise Crawler'-    major: '6'-    minor:-    patch:--  - user_agent_string: 'WocBot/Mozilla/5.0 (Wocodi Web Crawler 1.0; http://www.wocodi.com/crawler; crawler@wocodi.com)'-    family: 'Wocodi Web Crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; WordSurfer Spider 2.2;))'-    family: 'WordSurfer Spider'-    major: '2'-    minor: '2'-    patch:--  - user_agent_string: 'XSpider 0.01;http://uncool.oicp.net/spider.html'-    family: 'XSpider'-    major: '0'-    minor: '01'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 7.0) XSpider 7'-    family: 'XSpider'-    major: '7'-    minor:-    patch:--  - user_agent_string: 'Xaldon WebSpider 2.7.b6'-    family: 'Xaldon WebSpider'-    major: '2'-    minor: '7'-    patch:--  - user_agent_string: 'echocrawl 2.0'-    family: 'echocrawl'-    major: '2'-    minor: '0'-    patch:--  - user_agent_string: 'enicura crawler 1.0,gzip(gfe),gzip(gfe)'-    family: 'enicura crawler'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; lworld spider 1.0; Windows NT 5.1)'-    family: 'lworld spider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'FAST-mSEARCH Crawler 0.1 (bergum@fast.no)'-    family: 'mSEARCH Crawler'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: '123metaspider-Bot (Version: 1.04, powered by www.123metaspider.com)'-    family: '123metaspider-Bot'-    major:-    minor:-    patch:--  - user_agent_string: '360Spider'-    family: '360Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.8webcrawler) http://skateboarddirectory.com'-    family: '8webcrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'AESOP_com_SpiderMan'-    family: 'AESOP_com_SpiderMan'-    major:-    minor:-    patch:--  - user_agent_string: "AISearchBot (Email: aisearchbot@gmail.com; If your web site doesn't want to be crawled, please send us a email.)"-    family: 'AISearchBot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; DAWINCI ANTIPLAG SPIDER)'-    family: 'ANTIPLAG SPIDER'-    major:-    minor:-    patch:--  - user_agent_string: 'AcquiaCrawler,gzip(gfe),gzip(gfe)'-    family: 'AcquiaCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Adaxas Spider (http://www.adaxas.net/)'-    family: 'Adaxas Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0) AddSugarSpiderBot www.idealobserver.com'-    family: 'AddSugarSpiderBot'-    major:-    minor:-    patch:--  - user_agent_string: 'AdnormCrawler www.adnorm.com/crawler'-    family: 'AdnormCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'www.website-analyzer.net Website Analyzer Crawler'-    family: 'Analyzer Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Apexoo Spider (http://www.apexoo.com/spider/)'-    family: 'Apexoo Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'AppCodes crawler - looking for iOS app mentions. More info: support@appcodes.com. Robots.txt id: AppCodesCrawler'-    family: 'AppCodes crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'ArchitextSpider'-    family: 'ArchitextSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'Arikus_Spider'-    family: 'Arikus_Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0 compatible; Asterias Crawler v4;  http://www.singingfish.com/help/spider.html; webmaster@singingfish.com); SpiderThread  Revision: 3.0'-    family: 'Asterias Crawler'-    major: '4'-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible: AstraSpider V.2.1 : astrafind.com)'-    family: 'AstraSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'Autonomy Spider'-    family: 'Autonomy Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'axadine/  (Axadine Crawler; http://www.axada.de/;  )'-    family: 'Axadine Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; BIXOCRAWLER; +http://wiki.github.com/bixo/bixo/bixocrawler; bixo-dev@yahoogroups.com)'-    family: 'BIXOCRAWLER'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; BOTW Spider;  http://botw.org)'-    family: 'BOTW Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'BacklinkCrawler (http://www.backlinktest.com/crawler.html)'-    family: 'BacklinkCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'BaiduImagespider ( http://help.baidu.jp/system/05.html)'-    family: 'BaiduImagespider'-    major:-    minor:-    patch:--  - user_agent_string: 'BarraHomeCrawler (albertof@barrahome.org)'-    family: 'BarraHomeCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'ZoomInfo::Beehive Crawler'-    family: 'Beehive Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'BeijingCrawler'-    family: 'BeijingCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'BejiBot Crawler (BNL Services; http://www.bejjan.net/crawler/)'-    family: 'BejiBot'-    major:-    minor:-    patch:--  - user_agent_string: 'BravoBrian SpiderEngine MarcoPolo'-    family: 'BravoBrian SpiderEngine'-    major:-    minor:-    patch:--  - user_agent_string: 'BrightCrawler (http://www.brightcloud.com/brightcrawler.asp)'-    family: 'BrightCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'BuildCMS crawler (http://www.buildcms.com/crawler)'-    family: 'BuildCMS crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'ByWebSite-Search-Spider,gzip(gfe),gzip(gfe)'-    family: 'ByWebSite-Search-Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'CFG_SPIDER_USER_AGENT'-    family: 'CFG_SPIDER_USER_AGENT'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (CMS Crawler: http://www.cmscrawler.com)'-    family: 'CMS Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'CMS crawler ( http://buytaert.net/crawler/)'-    family: 'CMS crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'CRAZYWEBCRAWLER 0.9.0, http://www.crazywebcrawler.com'-    family: 'CRAZYWEBCRAWLER'-    major: '0'-    minor: '9'-    patch: '0'--  - user_agent_string: 'CSimpleSpider Robot'-    family: 'CSimpleSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'Cityreview Robot (+http://www.cityreview.org/crawler/)'-    family: 'Cityreview Robot'-    major:-    minor:-    patch:--  - user_agent_string: 'Exalead Cloudview Crawler,gzip(gfe),gzip(gfe),gzip(gfe)'-    family: 'Cloudview Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Comodo-Certificates-Spider'-    family: 'Comodo-Certificates-Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Computer_and_Automation_Research_Institute_Crawler (crawler@info.ilab.sztaki.hu)'-    family: 'Computer_and_Automation_Research_Institute_Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Http Connector Spider, contact Alcatel-Lucent IDOL Search'-    family: 'Connector Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Content Crawler'-    family: 'Content Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'CowCrawler/CowCrawler-dev (+http://beta.cow.com),gzip(gfe),gzip(gfe)'-    family: 'CowCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; CrawlDaddy v0.3.0 abot v1.1.1.0 http://code.google.com/p/abot)'-    family: 'CrawlDaddy'-    major: '0'-    minor: '3'-    patch: '0'--  - user_agent_string: 'CrawlFire - you can disable this Robot: http://pastebin.de/25277'-    family: 'CrawlFire'-    major:-    minor:-    patch:--  - user_agent_string: 'CrawlWave/1.2 (crawlwave[at]circular.gr http://www.spiderwave.aueb.gr/'-    family: 'CrawlWave'-    major: '1'-    minor: '2'-    patch:--  - user_agent_string: 'CrawlerBoy Pinpoint.com'-    family: 'CrawlerBoy'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt; Crayon Crawler)'-    family: 'Crayon Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'DRKSpider - Website link validator - http://www.drk.com.ar/spider/,gzip(gfe),gzip(gfe),gzip(gfe)'-    family: 'DRKSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'DefaultCrawlTest/0.6 (Ram Crawl Test; devarajaswami at yahoo dot com)'-    family: 'DefaultCrawlTest'-    major: '0'-    minor: '6'-    patch:--  - user_agent_string: 'FFC Trap Door Spider'-    family: 'Door Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'DoubleVerify Crawler'-    family: 'DoubleVerify Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'EasouSpider'-    family: 'EasouSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'EcoGrader Crawler: Beta'-    family: 'EcoGrader Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Adknowledge Engage Crawler'-    family: 'Engage Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'ByWebSite Search Engine Spider'-    family: 'Engine Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'EverbeeCrawler'-    family: 'EverbeeCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Ex-Crawler/v0.1.5ALPHA SVN rev58; powered by ex-crawler; +http://www.ex-crawler.de/) Java/1.6.0_20,gzip(gfe),gzip(gfe)'-    family: 'Ex-Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'ExactSeek_Spider'-    family: 'ExactSeek_Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; FastCrawler3, support-fastcrawler3@fast.no)'-    family: 'FastCrawler3'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Finderbots finder bot; +http://wiki.github.com/bixo/bixo/bixocrawler; bixo-dev@yahoogroups.com)'-    family: 'Finderbots'-    major:-    minor:-    patch:--  - user_agent_string: 'Findexa Crawler (http://www.findexa.no/gulesider/article26548.ece)'-    family: 'Findexa Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/3.0 (compatible; Fluffy the spider; http://www.searchhippo.com/; info@searchhippo.com)'-    family: 'Fluffy the spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) (Atsameip FreeCrawl!)'-    family: 'FreeCrawl'-    major:-    minor:-    patch:--  - user_agent_string: 'Fujiko Spider (fujiko@inelegant.org)'-    family: 'Fujiko Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; FunkyCrawler; )'-    family: 'FunkyCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'GSiteCrawler/v1.12 rev. 260 (http://gsitecrawler.com/)'-    family: 'GSiteCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'GeekTools Crawler - http://domains.geek-tools.org'-    family: 'GeekTools Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla 4.0 - GetMeLinked Spider www.GetMeLinked.com Web Directory'-    family: 'GetMeLinked Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Gnam Gnam Spider'-    family: 'Gnam Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; GoGuidesBot; http://www.goguides.org/spider.html)'-    family: 'GoGuidesBot'-    major:-    minor:-    patch:--  - user_agent_string: 'GoScraper'-    family: 'GoScraper'-    major:-    minor:-    patch:--  - user_agent_string: 'GrowerIdeas Crawler/GrowerIdeas-nutch-1.6 (Crawls URLs for indexing content for our new search startup which aims to provide simple and smart search across curated content. For more info please contact helloworld@growerideas.com. If you think'-    family: 'GrowerIdeas Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Huaweisymantecspider (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727),gzip(gfe)'-    family: 'Huaweisymantecspider'-    major:-    minor:-    patch:--  - user_agent_string: 'BlogPulse (ISSpider-3.0)'-    family: 'ISSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'IWE Spider v.01 - www.pavka.com.au'-    family: 'IWE Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'IXE Crawler'-    family: 'IXE Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Imperia-LinkSpider,gzip(gfe),gzip(gfe)'-    family: 'Imperia-LinkSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'netEstate Impressumscrawler (+http://www.netestate.de/De/Loesungen/Impressumscrawler)'-    family: 'Impressumscrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Inar_spider2 (tspyyp@tom.com)'-    family: 'Inar_spider2'-    major:-    minor:-    patch:--  - user_agent_string: 'IOI/2.0 (ISC Open Index crawler; http://index.isc.org/; bot@index.isc.org)'-    family: 'Index crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Infocrawler; Alexa Toolbar)'-    family: 'Infocrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; Inspyder-Crawler; http://www.inspyder.com)'-    family: 'Inspyder-Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Willow Internet Crawler by Twotrees V2.1'-    family: 'Internet Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (SKIZZLE! Distributed Internet Spider v1.0 - www.SKIZZLE.com)'-    family: 'Internet Spider'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'IssueCrawler'-    family: 'IssueCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'JUST-CRAWLER( http://www.justsystems.com/jp/tech/crawler/)'-    family: 'JUST-CRAWLER'-    major:-    minor:-    patch:--  - user_agent_string: 'Jayde Crawler. http://www.jayde.com'-    family: 'Jayde Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'JikeSpider; +http://shoulu.jike.com/spider.html'-    family: 'JikeSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible;WI Job Roboter Spider Version 3;+http://www.webintegration.at)'-    family: 'Job Roboter'-    major:-    minor:-    patch:--  - user_agent_string: 'JobSpider_BA/1.1'-    family: 'JobSpider_BA'-    major: '1'-    minor: '1'-    patch:--  - user_agent_string: 'KiwiStatus (NZS.com)/0.2 (NZS.com KiwiStatus Spider,  Local Search New Zealand; http://www.nzs.com; bot-at-nzs dot com)'-    family: 'KiwiStatus Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Kotoss Crawler http://hitokoto.kotoss.com,gzip(gfe),gzip(gfe)'-    family: 'Kotoss Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Kyluka crawl; crawl@kyluka.com; http://www.kyluka.com/static/crawl.html)'-    family: 'Kyluka crawl'-    major:-    minor:-    patch:--  - user_agent_string: 'LNSpiderguy'-    family: 'LNSpiderguy'-    major:-    minor:-    patch:--  - user_agent_string: 'LarbinWebCrawler (internet@bredband.net)'-    family: 'LarbinWebCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'LargeSmall Crawler'-    family: 'LargeSmall Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Lijit Crawler (+http://www.lijit.com/robot/crawler)'-    family: 'Lijit Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'DocWeb Link Crawler (http://doc.php.net)'-    family: 'Link Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Lipperhey Spider; http://www.lipperhey.com/)'-    family: 'Lipperhey Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'LookUpCrawler - lookupcanada.ca [ZSEBOT]'-    family: 'LookUpCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Lycos_Spider_(modspider)'-    family: 'Lycos_Spider_'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) METASpider'-    family: 'METASpider'-    major:-    minor:-    patch:--  - user_agent_string: 'MQbot http://metaquerier.cs.uiuc.edu/crawler'-    family: 'MQbot'-    major:-    minor:-    patch:--  - user_agent_string: 'MSIndianWebcrawl'-    family: 'MSIndianWebcrawl'-    major:-    minor:-    patch:--  - user_agent_string: 'MSR-ISRCCrawler'-    family: 'MSR-ISRCCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'MedSpider v0.0.1'-    family: 'MedSpider'-    major: '0'-    minor: '0'-    patch: '1'--  - user_agent_string: 'Social Media Crawler using your Home URL on Twitter,Facebook,Myspace,Linkedin by ProfileCapture - contact profilecapture@gmail.com to report any problems with my crawling. http://profilecapture.com'-    family: 'Media Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible); MSIE 5.0; Medialab Spider'-    family: 'Medialab Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'DomainsDB.net MetaCrawler v.0.9.7b (http://domainsdb.net/)'-    family: 'MetaCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'FAST MetaWeb Crawler (helpdesk at fastsearch dot com)'-    family: 'MetaWeb Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'CC Metadata Scaper http://wiki.creativecommons.org/Metadata_Scraper'-    family: 'Metadata_Scraper'-    major:-    minor:-    patch:--  - user_agent_string: "MicrosoftPrototypeCrawler (How's my crawling? mailto:newbiecrawler@hotmail.com)"-    family: 'MicrosoftPrototypeCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; MixrankBot; crawler@mixrank.com)'-    family: 'MixrankBot'-    major:-    minor:-    patch:--  - user_agent_string: 'Sogou Mobile Spider1.0 (http://wap.sogou.com)'-    family: 'Mobile Spider1'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla-Firefox-Spider(Wenanry)'-    family: 'Mozilla-Firefox-Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'MultiCrawler, http://sw.deri.org/2006/04/multicrawler/robots.html'-    family: 'MultiCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en; rv:1.9.1.3; MySpaceScraper) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)'-    family: 'MySpaceScraper'-    major:-    minor:-    patch:--  - user_agent_string: 'Norbert the Spider(Burf.com)'-    family: 'Norbert the Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'NuSearch Spider www.nusearch.com'-    family: 'NuSearch Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Nusearch Spider (compatible; MSIE 6.0)'-    family: 'Nusearch Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'OpenWebSpider (link collector; http://links.port30.se/cia.html) v (http://www.openwebspider.org/)'-    family: 'OpenWebSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; OpenX Spider; http://www.openx.org)'-    family: 'OpenX Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; OpenindexSpider; +http://www.openindex.io/en/webmasters/spider.html)'-    family: 'OpenindexSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'Orgbybot/OrgbyBot v1.2 (Spidering the net for Orgby; http://www.orgby.com/  ; Orgby.com Search Engine)'-    family: 'Orgbybot'-    major:-    minor:-    patch:--  - user_agent_string: 'PDFBot (crawler@pdfind.com)'-    family: 'PDFBot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 3.5.21022; .NET CLR 3.5.30729; MS-RTC LM 8; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; .NET CLR 3.0.30729) Jakarta Commons-HttpClient/3.0-rc3 PHPCrawl GStreamer souphttpsrc libsoup/2.27.4 PycURL/7.19.0 XML-RPC for PHP 2.2.1 GoogleFriendConnect/1.0 HTMLParser/1.6 gPodder/0.15.2 ( http://gpodder.org/) anw webtool LoadControl/1.3 WinHttp urlgrabber/3.1.0'-    family: 'PHPCrawl'-    major:-    minor:-    patch:--  - user_agent_string: 'Fast PartnerSite Crawler'-    family: 'PartnerSite Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Patwebbot (http://www.herz-power.de/technik.html)'-    family: 'Patwebbot'-    major:-    minor:-    patch:--  - user_agent_string: 'PeerFactor Crawler'-    family: 'PeerFactor Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'PhoenixWebBot Beta'-    family: 'PhoenixWebBot'-    major:-    minor:-    patch:--  - user_agent_string: 'pipeLiner/0.10 (PipeLine Spider; http://www.pipeline-search.com/webmaster.html)'-    family: 'PipeLine Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'ProjectWF-java-test-crawler'-    family: 'ProjectWF-java-test-crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Punk Spider/PunkSPIDER-v0.1'-    family: 'Punk Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'QuerySeekerSpider ( http://queryseeker.com/bot.html )'-    family: 'QuerySeekerSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'QuickFinder Crawler'-    family: 'QuickFinder Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'OpenLink Virtuoso RDF crawler'-    family: 'RDF crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Jaxified Public RSS Crawler ( http://www.jaxified.com/)'-    family: 'RSS Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'RSS-SPIDER (RSS Feed Seeker http://www.MyNewFavoriteThing.com/fsb.php)'-    family: 'RSS-SPIDER'-    major:-    minor:-    patch:--  - user_agent_string: 'RavenCrawler'-    family: 'RavenCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'ReadPath_Spider'-    family: 'ReadPath_Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'LinkStar Research Crawler (http://linkstar.com/),gzip(gfe),gzip(gfe)'-    family: 'Research Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Research spider - ak1835@albany.edu'-    family: 'Research spider'-    major:-    minor:-    patch:--  - user_agent_string: 'RoboCrawl (www.canadiancontent.net)'-    family: 'RoboCrawl'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.2; WOW64) Runet-Research-Crawler (itrack.ru/research/cmsrate; rating@itrack.ru)'-    family: 'Runet-Research-Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Teragram/SAS Crawler'-    family: 'SAS Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'SCrawlTest/CR1 (CWD; http://sproose.com; crawl@sproose.com)'-    family: 'SCrawlTest'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; SISTRIX Crawler; http://crawler.sistrix.net/)'-    family: 'SISTRIX Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36; SSL-Crawler: http://crawler.dcsec.uni-hannover.de'-    family: 'SSL-Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'SWAT Crawler. AGH University project. In case of problem contact: opal@tempus.metal.agh.edu.pl. Thanks.'-    family: 'SWAT Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'SandCrawler - Compatibility Testing'-    family: 'SandCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Sangfor Spider'-    family: 'Sangfor Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/3.0 (compatible; ScollSpider; http://www.webwobot.com)'-    family: 'ScollSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'ScreenerBot Crawler Beta 2.0 (+http://www.ScreenerBot.com)'-    family: 'ScreenerBot'-    major:-    minor:-    patch:--  - user_agent_string: 'SearchSpider.com/1.1'-    family: 'SearchSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'ownCloud Server Crawler'-    family: 'Server Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Shim-Crawler'-    family: 'Shim-Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'ShowyouBot (http://showyou.com/crawler)'-    family: 'crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.0) SiteCheck-sitecrawl by Siteimprove.com'-    family: 'SiteCheck-sitecrawl'-    major:-    minor:-    patch:--  - user_agent_string: 'SiteCrawler,gzip(gfe),gzip(gfe)'-    family: 'SiteCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.5 (compatible; MSIE 5.5; Windows NT 5.1) Sitespider+ b432.1'-    family: 'Sitespider'-    major:-    minor:-    patch:--  - user_agent_string: 'SocialSpider-Finder/0.2'-    family: 'SocialSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'Sosoblogspider+(+http://help.soso.com/soso-blog-spider.htm)'-    family: 'Sosoblogspider'-    major:-    minor:-    patch:--  - user_agent_string: 'Sosoimagespider ( http://help.soso.com/soso-image-spider.htm)'-    family: 'Sosoimagespider'-    major:-    minor:-    patch:--  - user_agent_string: 'Sosospider+(+help.soso.com/webspider.htm)'-    family: 'Sosospider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; SpeedySpider; www.entireweb.com)'-    family: 'SpeedySpider'-    major:-    minor:-    patch:--  - user_agent_string: 'SpiderKU/0.9'-    family: 'SpiderKU'-    major: '0'-    minor: '9'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; SpiderLing (a SPIDER for LINGustic research); +http://nlp.fi.muni.cz/projects/biwec/)'-    family: 'SpiderLing'-    major:-    minor:-    patch:--  - user_agent_string: 'SpiderMan 3.0.1-2-11-111 (CP/M;8-bit)'-    family: 'SpiderMan'-    major: '3'-    minor: '0'-    patch: '1'--  - user_agent_string: 'Mozilla/4.0 (compatible; SpiderView 1.0;unix)'-    family: 'SpiderView'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Spider_Monkey/7.06 (SpiderMonkey.ca info at http://SpiderMonkey.ca /sm.shtml)'-    family: 'Spider_Monkey'-    major: '7'-    minor: '06'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Spiderlytics/1.0; +spider@spiderlytics.com)'-    family: 'Spiderlytics'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'PKU Student Spider'-    family: 'Student Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Symfony Spider (http://symfony.com/spider)'-    family: 'Symfony Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Synthesio Crawler release MonaLisa (contact at synthesio dot fr)'-    family: 'Synthesio Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'TAMU_CS_IRL_CRAWLER/1.0'-    family: 'TAMU_CS_IRL_CRAWLER'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'TTop-Crawler,gzip(gfe),gzip(gfe)'-    family: 'TTop-Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'TayaCrawler (Beta; v0.1; tayadev@nexdegree.com)'-    family: 'TayaCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'TelemetrySpider2/0.1 linux'-    family: 'TelemetrySpider2'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'Theme Spider ( http://www.themespider.com/spider.html)'-    family: 'Theme Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Thesis_php_crawler'-    family: 'Thesis_php_crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Trends Crawler, Real time trends bot (info@trendscrawler.com)'-    family: 'Trends Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'TwitSpider'-    family: 'TwitSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'Twitmunin Crawler http://www.twitmunin.com'-    family: 'Twitmunin Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; TwitterCrawler)'-    family: 'TwitterCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'UCMore Crawler App'-    family: 'UCMore Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'UOLCrawler (soscrawler@uol.com.br)'-    family: 'UOLCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Links4US-Crawler, ( http://links4us.com/)'-    family: 'US-Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'USyd-NLP-Spider (http://www.it.usyd.edu.au/~vinci/bot.html)'-    family: 'USyd-NLP-Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; UnisterBot; crawler@unister.de)'-    family: 'UnisterBot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0, VM-Crawler/cs version info  ofni noisrev sc'-    family: 'VM-Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'WEBB Crawler - see: http://badcheese.com/robots.html'-    family: 'WEBB Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'WSDL Crawler'-    family: 'WSDL Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'EmeraldShield.com WebBot'-    family: 'com WebBot'-    major:-    minor:-    patch:--  - user_agent_string: 'WebCompanyCrawler'-    family: 'WebCompanyCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'WebCrawler v1.3'-    family: 'WebCrawler'-    major: '1'-    minor: '3'-    patch:--  - user_agent_string: 'WebVulnCrawl.blogspot.com/1.0 libwww-perl/5.803'-    family: 'WebVulnCrawl'-    major:-    minor:-    patch:--  - user_agent_string: 'CyberPatrol SiteCat Webbot (http://www.cyberpatrol.com/cyberpatrolcrawler.asp)'-    family: 'SiteCat Webbot'-    major:-    minor:-    patch:--  - user_agent_string: 'EricssonR320/R1A (Fast Wireless Crawler)'-    family: 'Wireless Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'X-Crawler'-    family: 'X-Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'XYZ Spider'-    family: 'XYZ Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Y!J-BRJ/YATS crawler (http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html)'-    family: 'YATS crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Y!J-BRO/YFSJ crawler (compatible; Mozilla 4.0; MSIE 5.5; http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html; YahooFeedSeekerJp/2.0)'-    family: 'YFSJ crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'YRL_ODP_CRAWLER'-    family: 'YRL_ODP_CRAWLER'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Android 3.0; YRSpider; +http://www.yunrang.com/yrspider.html)'-    family: 'YRSpider'-    major:-    minor:-    patch:--  - user_agent_string: "YebolBot (Email: yebolbot@gmail.com; If the web crawling affects your web service, or you don't like to be crawled by us, please email us. We'll stop crawling immediately.)"-    family: 'YebolBot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; Yet-Another-Spider; )'-    family: 'Yet-Another-Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'YisouSpider'-    family: 'YisouSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'NL-Crawler'-    family: 'NL-Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; YoudaoBot-rts/1.0; http://www.youdao.com/help/webmaster/spider/; )'-    family: 'YoudaoBot'-    major:-    minor:-    patch:--  - user_agent_string: 'ZIBB Crawler (email address / WWW address)'-    family: 'ZIBB Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'ZillaCrawler'-    family: 'ZillaCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'ZoomSpider - wrensoft.com'-    family: 'ZoomSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'Zspider (+http://www.zhanzhangsou.com/index.htm)'-    family: 'Zspider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; acedo crawler extension)'-    family: 'acedo crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'acquia-crawler (detected bad behaviour? please tell us at it@acquia.com),gzip(gfe),gzip(gfe)'-    family: 'acquia-crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.21 (KHTML, like Gecko) adspider Safari/537.21'-    family: 'adspider'-    major:-    minor:-    patch:--  - user_agent_string: 'amphetameme crawler (crawler@amphetameme.com)'-    family: 'amphetameme crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; ayna-crawler  http://www.ayna.com)'-    family: 'ayna-crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; Bender; http://sites.google.com/site/bendercrawler)'-    family: 'bendercrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'snap.com beta crawler v0'-    family: 'beta crawler'-    major: '0'-    minor:-    patch:--  - user_agent_string: 'blackspider'-    family: 'blackspider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; bmdspider; windows 5.1)'-    family: 'bmdspider'-    major:-    minor:-    patch:--  - user_agent_string: 'boitho crawler'-    family: 'boitho crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'cis455crawler'-    family: 'cis455crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'http://www.Syntryx.com/ ANT Chassis 9.27; Mozilla/4.0 compatible crawler'-    family: 'compatible crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'crawler4j (http://code.google.com/p/crawler4j/)'-    family: 'crawler4j'-    major:-    minor:-    patch:--  - user_agent_string: 'dtSearchSpider'-    family: 'dtSearchSpider'-    major:-    minor:-    patch:--  - user_agent_string: 'Enterprise_Search/1.0 110 (http://www.innerprise.net/es-spider.asp)'-    family: 'es-spider'-    major:-    minor:-    patch:--  - user_agent_string: 'eseek-crawler.0.5 (crawler@exactseek.com)'-    family: 'eseek-crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'exooba/exooba crawler (exooba; exooba)'-    family: 'exooba crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'flatlandbot/allspark (Flatland Industries Web Spider; http://www.flatlandindustries.com/flatlandbot; jason@flatlandindustries.com)'-    family: 'flatlandbot'-    major:-    minor:-    patch:--  - user_agent_string: 'haupia-crawler'-    family: 'haupia-crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'hitcrawler_0.1 (ringken@gmail.com)'-    family: 'hitcrawler_0'-    major:-    minor:-    patch:--  - user_agent_string: 'iaskspider2 (iask@staff.sina.com.cn)'-    family: 'iaskspider2'-    major:-    minor:-    patch:--  - user_agent_string: 'visaduhoc.info Crawler'-    family: 'info Crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'ip-web-crawler.com'-    family: 'ip-web-crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'jikespider "Mozilla/5.0'-    family: 'jikespider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) compatible; kototoi-crawl@yl.is.s.u-tokyo.ac.jp'-    family: 'kototoi-crawl'-    major:-    minor:-    patch:--  - user_agent_string: 'lb-spider'-    family: 'lb-spider'-    major:-    minor:-    patch:--  - user_agent_string: 'ldspider (BTC 2011 crawl, harth@kit.edu, http://code.google.com/p/ldspider/wiki/Robots)'-    family: 'ldspider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; lemurwebcrawler admin@lemurproject.org; +http://boston.lti.cs.cmu.edu/crawler_12/)'-    family: 'lemurwebcrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'lmspider (lmspider@scansoft.com)'-    family: 'lmspider'-    major:-    minor:-    patch:--  - user_agent_string: 'lworldspider'-    family: 'lworldspider'-    major:-    minor:-    patch:--  - user_agent_string: 'trunk.ly spider contact@trunk.ly'-    family: 'ly spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Vodafone mCrawler (bergum@fast.no)'-    family: 'mCrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'media-percbotspider <ops@percolate.com>'-    family: 'media-percbotspider'-    major:-    minor:-    patch:--  - user_agent_string: 'DoCoMo/2.0 N902iS(c100;TB;W24H12)(compatible; moba-crawler; http://crawler.dena.jp/)'-    family: 'moba-crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Nokia6680/1.0 ((4.04.07) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1 (for mobile crawler) )'-    family: 'mobile crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'n4p_bot (crawler@n4p.com)'-    family: 'n4p_bot'-    major:-    minor:-    patch:--  - user_agent_string: 'na-Webcrawler (helpdesk@newsaktuell.de)'-    family: 'na-Webcrawler'-    major:-    minor:-    patch:--  - user_agent_string: "nuSearch Spider <a href='http://www.nusearch.com'>www.nusearch.com</a> (compatible; MSIE 4.01; Windows NT)"-    family: 'nuSearch Spider'-    major:-    minor:-    patch:--  - user_agent_string: 'parallelContextFocusCrawler1.1parallelContextFocusCrawler1.1'-    family: 'parallelContextFocusCrawler1'-    major:-    minor:-    patch:--  - user_agent_string: 'persomm-spider/v1.0'-    family: 'persomm-spider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; http://www.pregnancycrawler.com)'-    family: 'pregnancycrawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; ptd-crawler;  http://bixolabs.com/crawler/ptd/; crawler@bixolabs.com)'-    family: 'ptd-crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; pub-crawler; +http://wiki.github.com/bixo/bixo/bixocrawler; bixo-dev@yahoogroups.com)'-    family: 'pub-crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'pythonic-crawler (suzuki@tkl.iis.u-tokyo.ac.jp)'-    family: 'pythonic-crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.2; WOW64) Russian CMS rating crawler (itrack.ru/cmsrate, avlasov@itrack.ru)'-    family: 'rating crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'camoca/camoca-n.1.2 (super-agent; search crawler; info at does not exist dot com)'-    family: 'search crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; sgbot v0.01a, sgcrawlerbot@gmail.com)'-    family: 'sgbot'-    major: '0'-    minor: '01'-    patch:--  - user_agent_string: 'spiderpig/0.1,gzip(gfe),gzip(gfe)'-    family: 'spiderpig'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'ssearch_bot (sSearch Crawler; http://www.semantissimo.de)'-    family: 'ssearch_bot'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; suggybot v0.01a, http://blog.suggy.com/was-ist-suggy/suggy-webcrawler/)'-    family: 'suggybot'-    major: '0'-    minor: '01'-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; uMBot-FC/1.0; mailto: crawling@ubermetrics-technologies.com)'-    family: 'uMBot'-    major:-    minor:-    patch:--  - user_agent_string: 'unchaos_crawler_2.0.2 (search.engine@unchaos.com)'-    family: 'unchaos_crawler_2'-    major:-    minor:-    patch:--  - user_agent_string: 'updated/0.1-alpha (updated crawler; http://www.updated.com; crawler@updated.com)'-    family: 'updated crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Yahoo-Test/4.0 mailto:vertical-crawl-support@yahoo-inc.com)'-    family: 'vertical-crawl'-    major:-    minor:-    patch:--  - user_agent_string: 'yp-crawl@attinteractive.com'-    family: 'yp-crawl'-    major:-    minor:-    patch:--  - user_agent_string: 'yrspider (Mozilla/5.0 (compatible; YRSpider;  http://www.yunrang.com/yrspider.html))'-    family: 'yrspider'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Yahoo-Test/4.0 ysm-keystone-crawl-support@yahoo-inc.com)'-    family: 'ysm-keystone-crawl'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (compatible; zyklop; +http://www.seoratio.de/zyklop-crawler/)'-    family: 'zyklop-crawler'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.2.1; en-gb; CUBOT ONE Build/JOP40D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'-    family: 'Android'-    major: '4'-    minor: '2'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9) AppleWebKit/537.71 (KHTML, like Gecko) Version/7.0 Safari/537.71 (Rival IQ, rivaliq.com)'-    family: 'Rival IQ'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; en-gb) AppleWebKit/418.9.1 (KHTML, like Gecko) SiteCon/8.10.9'-    family: 'SiteCon'-    major: '8'-    minor: '10'-    patch: '9'--  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4'-    family: 'Firefox iOS'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (iPad; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4'-    family: 'Firefox iOS'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Spotify/1.0.9.133 Safari/537.36'-    family: 'Spotify'-    major: '1'-    minor: '0'-    patch: '9'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Spotify/1.0.9.133 Safari/537.36'-    family: 'Spotify'-    major: '1'-    minor: '0'-    patch: '9'--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Spotify/1.0.4.90 Safari/537.36'-    family: 'Spotify'-    major: '1'-    minor: '0'-    patch: '4'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Spotify/1.0.3.101 Safari/537.36'-    family: 'Spotify'-    major: '1'-    minor: '0'-    patch: '3'--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Spotify/1.0.8.59 Safari/537.36'-    family: 'Spotify'-    major: '1'-    minor: '0'-    patch: '8'--  - user_agent_string: 'Mozilla/5.0 (Android 5.0; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0'-    family: 'Firefox Mobile'-    major: '41'-    minor: '0'-    patch:--  - user_agent_string: '[FBAN/FB4A;FBAV/3.4;FBBV/258875;FBDM/{density=0.75,width=240,height=320};FBLC/tr_TR;FBCR/o2 - de;FBPN/com.facebook.katana;FBDV/LG-E400;FBSV/2.3.6;]'-    family: 'Facebook'-    major: '3'-    minor: '4'-    patch:--  - user_agent_string: '[FBAN/FB4A;FBAV/2.3;FBBV/149649;FBDM/{density=1.5,width=480,height=800};FBLC/es_ES;FBCR/;FBPN/com.facebook.katana;FBDV/LG-P920;FBSV/2.2.2;]'-    family: 'Facebook'-    major: '2'-    minor: '3'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; SCH-R720 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 [FBAN/FB4A;FBAV/1.8.1;FBPN/com.facebook.katana;FBDV/SCH-R720;FBSV/2.3.4;FBDM/{density=1.0,width=320,height='-    family: 'Facebook'-    major: '1'-    minor: '8'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.2.2; de-de; 706_v92_jbla_fhd Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 [FB_IAB/FB4A;FBAV/24.0.0.30.15;]'-    family: 'Facebook'-    major: '24'-    minor: '0'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329 [FBAN/FBIOS;FBAV/6.5.1;FBBV/377040;FBDV/iPhone4,1;FBMD/iPhone;FBSN/iPhone OS;FBSV/6.1.3;FBSS/2; FBCR/Telekom.de;FBID/phone;FBLC/de_DE;'-    family: 'Facebook'-    major: '6'-    minor: '5'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329 [FBAN/FBIOS;FBAV/6.2;FBBV/228172;FBDV/iPhone5,1;FBMD/iPhone;FBSN/iPhone OS;FBSV/6.1.3;FBSS/2; FBCR/o2-de;FBID/phone;FBLC/pt_BR;FBOP/1]'-    family: 'Facebook'-    major: '6'-    minor: '2'-    patch:--  - user_agent_string: 'Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A334 [FBAN/FBIOS;FBAV/6.5.1;FBBV/377040;FBDV/iPad2,1;FBMD/iPad;FBSN/iPhone OS;FBSV/5.0;FBSS/1; FBCR/;FBID/tablet;FBLC/de_DE;FBOP/1]'-    family: 'Facebook'-    major: '6'-    minor: '5'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU iPhone OS 4_3_2 like Mac OS X; de_DE) AppleWebKit (KHTML, like Gecko) Mobile [FBAN/FBForIPhone;FBAV/4.0.2;FBBV/4020.0;FBDV/iPad1,1;FBMD/iPad;FBSN/iPhone OS;FBSV/4.3.2;FBSS/1; FBCR/;FBID/tablet;FBLC/de_DE;FBSF/1.0]'-    family: 'Facebook'-    major: '4'-    minor: '0'-    patch: '2'--  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU iPhone OS 4_3_5 like Mac OS X; de_DE) AppleWebKit (KHTML, like Gecko) Mobile [FBAN/FBForIPhone;FBAV/4.0.3;FBBV/4030.0;FBDV/iPad2,2;FBMD/iPad;FBSN/iPhone OS;FBSV/4.3.5;FBSS/1; FBCR/Telekom.de;FBID/tablet;FBLC/de_DE;FBS'-    family: 'Facebook'-    major: '4'-    minor: '0'-    patch: '3'--  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B206 [FBAN/FBIOS;FBAV/6.1;FBBV/201075;FBDV/iPhone3,1;FBMD/iPhone;FBSN/iPhone OS;FBSV/5.1.1;FBSS/2; FBCR/Vodafone.de;FBID/phone;FBLC/en_US;FBOP/1]'-    family: 'Facebook'-    major: '6'-    minor: '1'-    patch:--  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12D508 [FBAN/GroupsForiOS;FBAV/9.0;FBBV/7752968;FBDV/iPhone7,2;FBMD/iPhone;FBSN/iPhone OS;FBSV/8.2;FBSS/2; FBCR/Telekom.de;FBID/phone;FBLC/de_'-    family: 'Facebook'-    major: '9'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; fr_FR) AppleWebKit (KHTML, like Gecko) Mobile [FBAN/FBForIPhone;FBAV/4.0;FBBV/4000.0;FBDV/iPhone1,2;FBMD/iPhone;FBSN/iPhone OS;FBSV/4.1;FBSS/1; FBCR/Carrier;FBID/phone;FBLC/fr_FR;FBSF/1.'-    family: 'Facebook'-    major: '4'-    minor: '0'-    patch:--  - user_agent_string: 'Dalvik/1.2.0 (Linux; U; Android 2.2.2; HTC Desire Build/FRG83G) [FBAN/Orca-Android;FBAV/2.6.1-release;FBLC/de_DE;FBBV/288543;FBCR/o2 - de;FBMF/HTC;FBBD/htc_wwe;FBDV/HTC Desire;FBSV/2.2.2]'-    family: 'Facebook'-    major: '2'-    minor: '6'-    patch: '1'--  - user_agent_string: '[FBAN/FB4A;FBAV/3.6;FBBV/330148;FBDM/{density=0.75,width=240,height=320};FBLC/de_DE;FBCR/o2 - de;FBPN/com.facebook.katana;FBDV/GT-S5570;FBSV/2.2.1;FBCA/armeabi:unknown;]'-    family: 'Facebook'-    major: '3'-    minor: '6'-    patch:--  - user_agent_string: '[FBAN/PAAA;FBAV/1.7;FBDM/{density=2.0,width=720,height=1280};FBLC/es_ES;FB_FW/2;FBSN/Android;FBCR/FONIC;FBDV/GT-I9300;FBSV/4.1.2;]'-    family: 'Facebook'-    major: '1'-    minor: '7'-    patch:--  - user_agent_string: '[FBAN/PAAA;FBAV/1.9;FBDM/{density=2.0,width=720,height=1280};FBLC/de_DE;FB_FW/2;FBSN/Android;FBCR/o2 - de;FBDV/GT-I9300;FBSV/4.3;]'-    family: 'Facebook'-    major: '1'-    minor: '9'-    patch:--  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_4 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B350 [Pinterest/iOS]'-    family: 'Pinterest'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.4.2; A3-A11 Build/KOT49H) AppleWebKit/537.36 (KHTML like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36 [Pinterest/Android]'-    family: 'Pinterest'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10A525 [Pinterest/iOS]'-    family: 'Pinterest'-    major:-    minor:-    patch:--  - user_agent_string: 'Pinterest for Android Tablet/1.8.4 (SGP321; 4.3)'-    family: 'Pinterest'-    major: '1'-    minor: '8'-    patch: '4'--  - user_agent_string: 'Pinterest for Android Tablet/4.3.1 (A7600-H; 4.4.2)'-    family: 'Pinterest'-    major: '4'-    minor: '3'-    patch: '1'--  - user_agent_string: 'Pinterest for Android/1.1.1 (endeavoru; 4.1.1)'-    family: 'Pinterest'-    major: '1'-    minor: '1'-    patch: '1'--  - user_agent_string: 'Pinterest for Android/3.6.2 (klte; 4.4.2)'-    family: 'Pinterest'-    major: '3'-    minor: '6'-    patch: '2'--  - user_agent_string: 'Pinterest/0.1'-    family: 'Pinterest'-    major: '0'-    minor: '1'-    patch:--  - user_agent_string: 'Pinterest/0.2 (+http://www.pinterest.com/)'-    family: 'Pinterest'-    major: '0'-    minor: '2'-    patch:--  - user_agent_string: 'Pinterest/3.2 CFNetwork/672.0.8 Darwin/14.0.0'-    family: 'CFNetwork'-    major: '672'-    minor: '0'-    patch: '8'--  - user_agent_string: 'Pinterest/3.3.3 CFNetwork/609.1.4 Darwin/13.0.0'-    family: 'CFNetwork'-    major: '609'-    minor: '1'-    patch: '4'--  - user_agent_string: 'Pinterest/3356 CFNetwork/711.0.6 Darwin/14.0.0'-    family: 'CFNetwork'-    major: '711'-    minor: '0'-    patch: '6'--  - user_agent_string: 'Pinterest/4.1.3 CFNetwork/672.1.14 Darwin/14.0.0'-    family: 'CFNetwork'-    major: '672'-    minor: '1'-    patch: '14'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) qutebrowser/0.2.1 Safari/538.1'-    family: 'qutebrowser'-    major: '0'-    minor: '2'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) pagedraw/0.1.0 Chrome/49.0.2623.75 Electron/0.37.8 Safari/537.36'-    family: 'Electron'-    major: '0'-    minor: '37'-    patch: '8'--  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile'-    family: 'Mobile Safari UI/WKWebView'-    major: '4'-    minor: '3'-    patch: '2'--  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari'-    family: 'Mobile Safari'-    major: '5'-    minor: '0'-    patch: '2'--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) QupZilla/1.6.3 Safari/538.1'-    family: 'QupZilla'-    major: '1'-    minor: '6'-    patch: '3'--  - user_agent_string: 'Mozilla/5.0 (OS/2 Warp 4.5) AppleWebKit/537.21 (KHTML, like Gecko) QupZilla/1.6.4 Safari/537.21'-    family: 'QupZilla'-    major: '1'-    minor: '6'-    patch: '4'--  - user_agent_string: 'Mozilla/5.0 (Unknown; UNIX BSD/SYSV system) AppleWebKit/534.34 (KHTML, like Gecko) QupZilla/1.7.0 Safari/534.34'-    family: 'QupZilla'-    major: '1'-    minor: '7'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.21 (KHTML, like Gecko) QupZilla/1.6.1 Safari/537.21'-    family: 'QupZilla'-    major: '1'-    minor: '6'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/538.1 (KHTML, like Gecko) Otter/0.9.03 beta 3 Safari/538.1'-    family: 'Otter'-    major: '0'-    minor: '9'-    patch: '03'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/538.1 (KHTML, like Gecko) Otter/0.9.04'-    family: 'Otter'-    major: '0'-    minor: '9'-    patch: '04'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.21 (KHTML, like Gecko) Otter/0.9.04-dev'-    family: 'Otter'-    major: '0'-    minor: '9'-    patch: '04'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) Otter/0.3.01-dev Safari/538.1'-    family: 'Otter'-    major: '0'-    minor: '3'-    patch: '01'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) Otter/0.9.03 beta 3 Safari/538.1'-    family: 'Otter'-    major: '0'-    minor: '9'-    patch: '03'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) Otter/0.9.05'-    family: 'Otter'-    major: '0'-    minor: '9'-    patch: '05'--  - user_agent_string: 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; NOKIA; Lumia 930) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Mobile Safari/537.36 Edge/12.0'-    family: 'Edge Mobile'-    major: '12'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) brave/0.7.11 Chrome/47.0.2526.110 Brave/0.36.5 Safari/537.36'-    family: 'Brave'-    major: '0'-    minor: '7'-    patch: '11'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) brave/0.7.12 Chrome/47.0.2526.110 Brave/0.36.7 Safari/537.36 '-    family: 'Brave'-    major: '0'-    minor: '7'-    patch: '12'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) brave/0.7.10 Chrome/47.0.2526.110 Brave/0.36.5 Safari/537.36'-    family: 'Brave'-    major: '0'-    minor: '7'-    patch: '10'--  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome Safari/537.36'-    family: 'HeadlessChrome'-    major:-    minor:-    patch:--  - user_agent_string: 'Roku/DVP-6.2 (096.02E06005A)'-    family: 'Roku'-    major: '6'-    minor: '2'-    patch:--  - user_agent_string: 'Roku/DVP-5.0 (025.00E08043A)'-    family: 'Roku'-    major: '5'-    minor: '0'-    patch:--  - user_agent_string: 'Roku/DVP-5.1 (025.01E01195A)'-    family: 'Roku'-    major: '5'-    minor: '1'-    patch:--  - user_agent_string: 'Microsoft Office/12.0 (Windows NT 6.1; Microsoft Office Outlook 12.0.6739; Pro)'-    family: 'Outlook'-    major: '2007'-    minor:-    patch:--  - user_agent_string: 'Microsoft Office/14.0 (Windows NT 6.1; Microsoft Outlook 14.0.5128; Pro)'-    family: 'Outlook'-    major: '2010'-    minor:-    patch:--  - user_agent_string: 'Microsoft Office/16.0 (Microsoft Outlook Mail 16.0.6525; Pro)'-    family: 'Outlook'-    major: '2016'-    minor:-    patch:--  - user_agent_string: 'Microsoft Office/16.0 (Windows NT 10.0; Microsoft Outlook 16.0.6326; Pro)'-    family: 'Outlook'-    major: '2016'-    minor:-    patch:--  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/8.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Microsoft Outlook 16.0.6366; ms-office; MSOffice 16)'-    family: 'Outlook'-    major: '2016'-    minor:-    patch:--  - user_agent_string: 'Outlook-Express/7.0 (MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; TmstmpExt)'-    family: 'Windows Live Mail'-    major:-    minor:-    patch:--  - user_agent_string: 'Outlook-Express/7.0 (MSIE 7.0; Windows NT 5.1; Trident/4.0; AskTB5.6; TmstmpExt)'-    family: 'Windows Live Mail'-    major:-    minor:-    patch:--  - user_agent_string: 'Outlook-Express/7.0 (MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; Media Center PC 6.0; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; InfoPath.3; FDM; TmstmpExt)'-    family: 'Windows Live Mail'-    major:-    minor:-    patch:--  - user_agent_string: 'Outlook-Express/7.0 (MSIE 6.0; Windows NT 5.1; SV1; GTB6.3; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; TmstmpExt)'-    family: 'Windows Live Mail'-    major:-    minor:-    patch:--  - user_agent_string: 'Outlook-Express/7.0 (MSIE 8; Windows NT 5.1; Trident/4.0; GTB7.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; TmstmpExt)'-    family: 'Windows Live Mail'-    major:-    minor:-    patch:--  - user_agent_string: 'Outlook-Express/7.0 (MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1; TmstmpExt)'-    family: 'Windows Live Mail'-    major:-    minor:-    patch:--  - user_agent_string: 'Outlook-Express/7.0 (MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; HPDTDF; .NET4.0C; BRI/2; AskTbLOL/5.12.5.17640; TmstmpExt)'-    family: 'Windows Live Mail'-    major:-    minor:-    patch:--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.0.1; GT-I9505 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 YaBrowser/16.2.1.1239.00 Mobile Safari/537.36'-    family: 'Yandex Browser'-    major: '16'-    minor: '2'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.4.2; SM-G800F Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 MobileIron/1.6.0 Mobile Safari/537.36'-    family: 'MobileIron'-    major: '1'-    minor: '6'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.4.4; GT-I9195I Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Crosswalk/14.43.343.17 Mobile Safari/537.36'-    family: 'Crosswalk'-    major: '14'-    minor: '43'-    patch: '343'--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 6.0.1; Z831 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.94 Mobile Crosswalk/11.45.2454.20160425 Mobile Safari/537.36'-    family: 'Crosswalk'-    major: '11'-    minor: '45'-    patch: '2454'--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.1.2; GT-S7710 Build/JZO54K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile'-    family: 'Chrome Mobile'-    major: '18'-    minor: '0'-    patch: '1025'--  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU OS 5_1_1 like Mac OS X; en-us) AppleWebKit/534.46.0 (KHTML, like Gecko) Chrome/19.0.1084.60 Mobile/9B206 Safari/7534.48.3'-    family: 'Chrome Mobile'-    major: '19'-    minor: '0'-    patch: '1084'--  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.4.4; de-de; SM-G850F Build/KTU84P) AppleWebKit/537.16 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.16 Chrome/33.0.0.0'-    family: 'Chrome Mobile'-    major: '33'-    minor: '0'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.41 (KHTML, like Gecko) Large Screen WebAppManager Safari/537.41'-    family: 'Safari'-    major:-    minor:-    patch:--  - user_agent_string: 'MacOutlook/15.27.0.161010 (Intelx64 Mac OS X Version 10.11.6 (Build 15G1108))'-    family: 'MacOutlook'-    major: '15'-    minor: '27'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.8 (KHTML, like Gecko) Slack_SSB/2.0.3'-    family: 'Slack Desktop Client'-    major: '2'-    minor: '0'-    patch: '3'--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) AtomShell/2.6.0 Chrome/56.0.2924.87 Electron/1.6.3 Safari/537.36 MacAppStore/16.5.0 Slack_SSB/2.6.0'-    family: 'Slack Desktop Client'-    major: '2'-    minor: '6'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Slack/2.6.0-beta18998559 Chrome/56.0.2924.87 AtomShell/1.6.3 Safari/537.36 Slack_SSB/2.6.0'-    family: 'Slack Desktop Client'-    major: '2'-    minor: '6'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) HipChat/732 (modern)'-    family: 'HipChat Desktop Client'-    major: '732'-    minor:-    patch:--  - user_agent_string: 'HipChat Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.7.0 Chrome/49.0.2623.111 Safari/537.36'-    family: 'HipChat Desktop Client'-    major:-    minor:-    patch:--  - user_agent_string: 'Microsoft-CryptoAPI/6.1'-    family: 'Microsoft-CryptoAPI'-    major: '6'-    minor: '1'-    patch:--  - user_agent_string: 'Microsoft SkyDriveSync 17.3.6517.0809 ship; Windows NT 6.1 Service Pack 1 (7601)'-    family: 'Microsoft SkyDriveSync'-    major: '17'-    minor: '3'-    patch: '6517'--  - user_agent_string: 'ExchangeServicesClient/14.02.0051.000'-    family: 'ExchangeServicesClient'-    major: '14'-    minor: '02'-    patch: '0051'--  - user_agent_string: 'Mac OS X/10.11.6 (15G1004); ExchangeWebServices/6.0 (243); Mail/9.3 (3124)'-    family: 'ExchangeWebServices'-    major: '6'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0+(iPhone;+CPU+iPhone+OS+9_3_1+like+Mac+OS+X)+AppleWebKit/601.1.46+(KHTML,+like+Gecko)+Version/9.0+Mobile/13E238+Safari/601.1'-    family: 'Mobile Safari'-    major: '9'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0+(iPad;+CPU+OS+9_3_1+like+Mac+OS+X)+AppleWebKit/601.1.46+(KHTML,+like+Gecko)+Version/9.0+Mobile/13E238+Safari/601.1'-    family: 'Mobile Safari'-    major: '9'-    minor: '0'-    patch:--  - user_agent_string: 'Slackbot-LinkExpanding 1.0 (+https://api.slack.com/robots)'-    family: 'Slackbot-LinkExpanding'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Slack-ImgProxy 1.136 (+https://api.slack.com/robots)'-    family: 'Slack-ImgProxy'-    major: '1'-    minor: '136'-    patch:--  - user_agent_string: 'okhttp/3.4.2'-    family: 'okhttp'-    major: '3'-    minor: '4'-    patch: '2'--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1300.0 Iron/23.0.1300.0 Safari/537.11'-    family: 'Iron'-    major: '23'-    minor: '0'-    patch: '1300'--  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Iron/9.0.600.2 Chrome/9.0.600.2 Safari/534.13'-    family: 'Iron'-    major: '9'-    minor: '0'-    patch: '600'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2750.0 Iron Safari/537.36'-    family: 'Iron'-    major: '52'-    minor: '0'-    patch: '2750'--  - user_agent_string: 'Mozilla/5.0 (Android; U; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/23.0'-    family: 'AdobeAIR'-    major: '23'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/19.0'-    family: 'AdobeAIR'-    major: '19'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (iOS; U; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/19.0'-    family: 'AdobeAIR'-    major: '19'-    minor: '0'-    patch:--  - user_agent_string: 'Kurio/3.0.8 Build 65303(Android Kitkat 4.4.4; Phone)'-    family: 'Kurio App'-    major: '3'-    minor: '0'-    patch: '8'--  - user_agent_string: 'BacaBerita App/5.5.0 (Linux; U; Android 4.4.4; en-us) Mobile Safari'-    family: 'BacaBerita App'-    major: '5'-    minor: '5'-    patch: '0'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) MxBrowser/4.5.2.2000 Chrome/30.0.1551.0 Safari/537.36'-    family: 'Maxthon'-    major: '4'-    minor: '5'-    patch: '2'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.5.1000 Chrome/30.0.1599.101 Safari/537.36'-    family: 'Maxthon'-    major: '4'-    minor: '4'-    patch: '5'--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.0; SM-G930P Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.83 Mobile Safari/537.36 MxBrowser/4.5.10.7000'-    family: 'Maxthon'-    major: '4'-    minor: '5'-    patch: '10'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.6 (KHTML, like Gecko) Chrome/18.0.1025.133 Safari/537.6 Midori/0.5'-    family: 'Midori'-    major: '0'-    minor: '5'-    patch:--  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU like Mac OS X; FIT_LANG_REPLACE) AppleWebKit/532+ (KHTML, like Gecko) Version/3.0 Mobile/1A538b Safari/419.3 Midori/0.4'-    family: 'Midori'-    major: '0'-    minor: '4'-    patch:--  - user_agent_string: 'curl/7.29.0'-    family: 'curl'-    major: '7'-    minor: '29'-    patch: '0'--  - user_agent_string: 'Debian APT-HTTP/1.3 (1.0.1ubuntu2)'-    family: 'Debian APT-HTTP'-    major: '1'-    minor: '3'-    patch:--  - user_agent_string: 'jupdate'-    family: 'jupdate'-    major:-    minor:-    patch:--  - user_agent_string: 'libcurl-agent/1.0'-    family: 'libcurl-agent'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'libwww-perl/6.05'-    family: 'libwww-perl'-    major: '6'-    minor: '05'-    patch:--  - user_agent_string: 'Microsoft-CryptoAPI/6.3'-    family: 'Microsoft-CryptoAPI'-    major: '6'-    minor: '3'-    patch:--  - user_agent_string: 'OpenBSD ftp'-    family: 'OpenBSD ftp'-    major:-    minor:-    patch:--  - user_agent_string: 'SophosAgent/1.0 (type= spa )'-    family: 'SophosAgent'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'SophosUpdateManager/1.5.7.50 SDDS/2.0 (u= EO2ANA123G c= 6342da15-f351-4ab7-9656-3f5f2d50885d )'-    family: 'SophosUpdateManager'-    major: '1'-    minor: '5'-    patch: '7'--  - user_agent_string: 'Ubuntu APT-HTTP/1.3 (0.7.20.2ubuntu6)'-    family: 'Ubuntu APT-HTTP'-    major: '1'-    minor: '3'-    patch:--  - user_agent_string: 'urlgrabber/3.10 yum/3.4.3'-    family: 'urlgrabber'-    major: '3'-    minor: '10'-    patch:--  - user_agent_string: 'urlgrabber/3.9.1 yum/3.2.29'-    family: 'urlgrabber'-    major: '3'-    minor: '9'-    patch: '1'--  - user_agent_string: 'Wget/1.14 (linux-gnu)'-    family: 'Wget'-    major: '1'-    minor: '14'-    patch:--  - user_agent_string: 'Windows-Update-Agent/7.9.9600.17729 Client-Protocol/1.21'-    family: 'Windows-Update-Agent'-    major: '7'-    minor: '9'-    patch: '9600'--  - user_agent_string: 'Windows-Update-Agent/7.9.9600.18094 Client-Protocol/1.21'-    family: 'Windows-Update-Agent'-    major: '7'-    minor: '9'-    patch: '9600'--  - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.1.1; MI NOTE Pro Build/LMY47V; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/48.0.2564.116 Mobile Safari/537.36 baidubrowser/7.7.13.0 (Baidu; P1 5.1.1)'-    family: 'Baidu Browser'-    major: '7'-    minor: '7'-    patch: '13'--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/36.1.1.21 Chrome/36.0.1985.97 Safari/537.36'-    family: 'Dragon'-    major: '36'-    minor: '1'-    patch: '1'--  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows CE 5.1; rv:1.8.1a3) Gecko/20060610 Minimo/0.016'-    family: 'Minimo'-    major: '0'-    minor: '016'-    patch:--  - user_agent_string: 'Opera/9.80 (MAUI Runtime; Opera Mini/4.4.39008/37.9178; U; en) Presto/2.12.423 Version/12.16'-    family: 'Opera Mini'-    major: '4'-    minor: '4'-    patch: '39008'--  - user_agent_string: 'Mozilla/5.0 (compatible; 008/0.83; http://www.80legs.com/spider.html) Gecko/2008032620'-    family: '008'-    major: '0'-    minor: '83'-    patch:--  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_4 like Mac OS X) AppleWebKit/601.1 (KHTML, like Gecko) Outlook-iOS-Android/1.0 Mobile/13G35 Safari/601.1.46")'-    family: 'Outlook-iOS-Android'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.21 Safari/537.36 MMS/1.0.2459.0'-    family: 'Opera Neon'-    major: '1'-    minor: '0'-    patch: '2459'--  - user_agent_string: 'PANTECH-EUROPA-U4000-orange/1.0 Obigo/Q04C MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1'-    family: 'Obigo'-    major: '04'-    minor:-    patch:--  - user_agent_string: 'masscan/1.0 (https://github.com/robertdavidgraham/masscan)'-    family: 'masscan'-    major: '1'-    minor: '0'-    patch:---  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 SznProhlizec/3.8.4 NWjs/0.19.6'-    family: 'Seznam.cz'-    major: '3'-    minor: '8'-    patch: '4'- -  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_2_1 like Mac OS X) AppleWebKit/602.4.6 (KHTML, like Gecko) Mobile/14D27 SznProhlizec/4.4i'-    family: 'Seznam.cz'-    major: '4'-    minor: '4'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/42.0 CoRom/36.0.1985.144 Chrome/36.0.1985.144 Safari/537.36'-    family: 'Coc Coc'-    major: '42'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/49.0 Chrome/43.0.2357.138 Safari/537.36'-    family: 'Coc Coc'-    major: '49'-    minor: '0'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/50.0.125 Chrome/44.0.2403.125 Safari/537.36'-    family: 'Coc Coc'-    major: '50'-    minor: '0'-    patch: '125'--  - user_agent_string: 'Mozilla/5.0 (compatible; Qwantify/2.4w; +https://www.qwant.com/)/2.4w'-    family: 'Qwantify'-    major: '2'-    minor: '4'-    patch:--  - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12'-    family: 'Edge'-    major: '12'-    minor:-    patch:--  - user_agent_string: 'Bloglovin/1.0 (http://www.bloglovin.com; 1000 subscribers)'-    family: 'Bloglovin'-    major: '1'-    minor: '0'-    patch:--  - user_agent_string: 'Feedbin feed-id:1033517 - 1000 subscribers'-    family: 'Feedbin'-    major:-    minor:-    patch:--  - user_agent_string: 'Tiny Tiny RSS/16.3 (http://tt-rss.org/)'-    family: 'Tiny Tiny RSS'-    major: '16'-    minor: '3'-    patch:--  - user_agent_string: 'Mtps Feed Aggregation System'-    family: 'Mtps Feed Aggregation System'-    major:-    minor:-    patch:--  - user_agent_string: 'Stringer'-    family: 'Stringer'-    major:-    minor:-    patch:-+  - user_agent_string: 'Luminary/1.0'+    family: 'Luminary'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Luminary/70 CFNetwork/978.0.7 Darwin/18.5.0'+    family: 'Luminary'+    major: '70'+    minor:+    patch:++  - user_agent_string: 'Luminary/70 CFNetwork/975.0.3 Darwin/18.2.0'+    family: 'Luminary'+    major: '70'+    minor:+    patch:++  - user_agent_string: 'Luminary/1.0.3 build 71/iOS 12.2'+    family: 'Luminary'+    major: '1'+    minor: '0'+    patch: '3'++  - user_agent_string: 'Luminary/1.0.2 build 57/Android SDK 28'+    family: 'Luminary'+    major: '1'+    minor: '0'+    patch: '2'++  - user_agent_string: 'Luminary/1.0.2 build 57/Android SDK 23'+    family: 'Luminary'+    major: '1'+    minor: '0'+    patch: '2'++  - user_agent_string: 'Luminary/70 CFNetwork/976 Darwin/18.2.0'+    family: 'Luminary'+    major: '70'+    minor:+    patch:++  - user_agent_string: 'Luminary/70 CFNetwork/978.0.7 Darwin/18.6.0'+    family: 'Luminary'+    major: '70'+    minor:+    patch:++  - user_agent_string: 'Luminary/1.0.2 build 57/Android SDK 26'+    family: 'Luminary'+    major: '1'+    minor: '0'+    patch: '2'++  - user_agent_string: 'LuminaryStage/3311 CFNetwork/978.0.7 Darwin/18.5.0'+    family: 'Luminary'+    major: '3311'+    minor:+    patch:++  - user_agent_string: 'fakeLuminary/1.0'+    family: 'Other'+    major:+    minor:+    patch:++  - user_agent_string: 'atc/1.0 watchOS/5.1.3 model/Watch3,4 hwp/t8004 build/16S535 (6; dt:156)'+    family: 'Apple Watch App'+    major: '3'+    minor: '4'+    patch:++  - user_agent_string: 'atc/1.0 watchOS/5.2 model/Watch4,4 hwp/t8006 build/16T225 (6; dt:193)'+    family: 'Apple Watch App'+    major: '4'+    minor: '4'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows; U; en-US) AppleWebKit/531.9 (KHTML, like Gecko) AdobeAIR/2.5.1'+    family: 'AdobeAIR'+    major: '2'+    minor: '5'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.1.0-80) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true'+    family: 'Amazon Silk'+    major: '1'+    minor: '1'+    patch: '0-80'++  - user_agent_string: 'Mozilla/5.0 (Linux; U; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/2.0 Safari/535.19 Silk-Accelerated=false'+    family: 'Amazon Silk'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; en-us; KFOT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/2.1 Safari/535.19 Silk-Accelerated=true'+    family: 'Amazon Silk'+    major: '2'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/2.2 Safari/535.19 Silk-Accelerated=true'+    family: 'Amazon Silk'+    major: '2'+    minor: '2'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.0.3; en-gb; KFTT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.25 like Chrome/34.0.1847.137 Mobile Safari/537.36'+    family: 'Amazon Silk'+    major: '3'+    minor: '25'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.2.2; en-gb; HTC Desire Build/FRG83G) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'+    family: 'Android'+    major: '2'+    minor: '2'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.3.3; en-fr; HTC/WildfireS/1.33.163.2 Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'+    family: 'Android'+    major: '2'+    minor: '3'+    patch: '3'++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Kindle Fire Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'+    family: 'Android'+    major: '2'+    minor: '3'+    patch: '4'++  - user_agent_string: 'Mozilla/5.0 (Linux;U;Android 2.3.5;en-us;TECNO T3 Build/master) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'+    family: 'Android'+    major: '2'+    minor: '3'+    patch: '5'++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 3.0.1; en-us; GT-P7510 Build/HRI83) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13'+    family: 'Android'+    major: '3'+    minor: '0'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFTT Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30'+    family: 'Android'+    major: '4'+    minor: '0'+    patch: '3'++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFOT Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30'+    family: 'Android'+    major: '4'+    minor: '0'+    patch: '3'++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; Amaze_4G Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'+    family: 'Android'+    major: '4'+    minor: '0'+    patch: '3'++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; PJ83100/2.20.502.7 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.0'+    family: 'Android'+    major: '4'+    minor: '0'+    patch: '4'++  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 6.1; zh_CN) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0 baidubrowser/1.x Safari/534.7'+    family: 'Baidu Browser'+    major: '1'+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; baidubrowser 1.x)'+    family: 'Baidu Browser'+    major: '1'+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.15 Safari/535.11 QQBrowser/6.13.13719.201'+    family: 'QQ Browser'+    major: '6'+    minor: '13'+    patch: '13719'++  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; QQBrowser/7.6.21433.400)'+    family: 'QQ Browser'+    major: '7'+    minor: '6'+    patch: '21433'++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.1.1; zh-cn; MI 2S Build/JRO03L) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.0 Mobile Safari/537.36'+    family: 'QQ Browser Mobile'+    major: '5'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPhone 5; CPU iPhone OS 7_0_6 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/6.0 MQQBrowser/5.0.5 Mobile/11B651 Safari/8536.25'+    family: 'QQ Browser Mobile'+    major: '5'+    minor: '0'+    patch: '5'++  - user_agent_string: 'MQQBrowser/371 Mozilla/5.0 (iPhone 4S; CPU iPhone OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10A523 Safari/7534.48.3'+    family: 'QQ Browser Mobile'+    major: '371'+    minor:+    patch:++  - user_agent_string: 'MQQBrowser/1.0/Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; NOKIA; RM-910apacprc200)'+    family: 'QQ Browser Mobile'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'QQBrowser (Linux; U; zh-cn; HTC Hero Build/FRF91)'+    family: 'QQ Browser'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (BB10; Touch) AppleWebKit/537.3+ (KHTML, like Gecko) Version/10.0.9.388 Mobile Safari/537.3+'+    family: 'BlackBerry WebKit'+    major: '10'+    minor: '0'+    patch: '9'++  - user_agent_string: 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 1.0.0; en-US) AppleWebKit/534.8+ (KHTML, like Gecko) Version/0.0.1 Safari/534.8+'+    family: 'BlackBerry WebKit'+    major: '1'+    minor: '0'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-GB) AppleWebKit/534.1+ (KHTML, like Gecko) Version/6.0.0.141 Mobile Safari/534.1+'+    family: 'BlackBerry WebKit'+    major: '6'+    minor: '0'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) AppleWebKit/534.1  (KHTML, like Gecko) Version/6.0.0.91 Mobile Safari/534.1 '+    family: 'BlackBerry WebKit'+    major: '6'+    minor: '0'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; BOLT/2.101) AppleWebKit/530  (KHTML, like Gecko) Version/4.0 Safari/530.17'+    family: 'BOLT'+    major: '2'+    minor: '101'+    patch:++  - user_agent_string: 'Bunjalloo/0.7.6(Nintendo DS;U;en)'+    family: 'Bunjalloo'+    major: '0'+    minor: '7'+    patch: '6'++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; chromeframe; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)'+    family: 'IE'+    major: '8'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; chromeframe; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; Sleipnir 2.8.5)3.0.30729)'+    family: 'Sleipnir'+    major: '2'+    minor: '8'+    patch: '5'++  - user_agent_string: 'Mozilla/5.0 (compatible; Windows NT 6.1; Catchpoint) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'+    family: 'Catchpoint'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Windows NT 6.1; Catchpoint bot) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'+    family: 'Catchpoint bot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Macintosh) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36 CreativeCloud/4.8.1.435'+    family: 'Adobe CreativeCloud'+    major: '4'+    minor: '8'+    patch: '1'++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; chromeframe/11.0.660.0)'+    family: 'Chrome Frame'+    major: '11'+    minor: '0'+    patch: '660'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.1.2; Nexus 5X Build/N2G47W; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.83 Mobile Safari/537.36'+    family: 'Chrome Mobile WebView'+    major: '58'+    minor: '0'+    patch: '3029'+    patch_minor: '83'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.4.4; SHV31 Build/S2280) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36'+    family: 'Chrome Mobile WebView'+    major: '33'+    minor: '0'+    patch: '0'+    patch_minor: '0'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.2; Galaxy Nexus Build/JOP40C) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19'+    family: 'Chrome Mobile'+    major: '18'+    minor: '0'+    patch: '1025'+    patch_minor: '166'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.1.1; SPH-L710 Build/JRO03L) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19'+    family: 'Chrome Mobile'+    major: '18'+    minor: '0'+    patch: '1025'+    patch_minor: '166'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.122 Mobile Safari/537.36'+    family: 'Chrome Mobile'+    major: '35'+    minor: '0'+    patch: '1916'+    patch_minor: '122'++  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Ubuntu/10.10 Chromium/10.0.648.133 Chrome/10.0.648.133 Safari/534.16'+    family: 'Chromium'+    major: '10'+    minor: '0'+    patch: '648'+    patch_minor: '133'++  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Comodo_Dragon/4.1.1.11 Chrome/4.1.249.1042 Safari/532.5'+    family: 'Comodo Dragon'+    major: '4'+    minor: '1'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.16) Gecko/20110302 Conkeror/0.9.2 (Debian-0.9.2+git100804-1)'+    family: 'Conkeror'+    major: '0'+    minor: '9'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:2.0) Gecko/20110408 conkeror/0.9.3'+    family: 'Conkeror'+    major: '0'+    minor: '9'+    patch: '3'++  - user_agent_string: 'Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-S8500/S8500XXJEE; U; Bada/1.0; nl-nl) AppleWebKit/533.1 (KHTML, like Gecko) Dolfin/2.0 Mobile WVGA SMM-MMS/1.2.0 OPN-B'+    family: 'Dolfin'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)'+    family: 'FacebookBot'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'LinkedInBot/1.0 (compatible; Mozilla/5.0; Jakarta Commons-HttpClient/3.1 +http://www.linkedin.com)'+    family: 'LinkedInBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Google (+https://developers.google.com/+/web/snippet/)'+    family: 'GooglePlusBot'+    major:+    minor:+    patch:++  - user_agent_string: 'Firefox/11.0 (via ggpht.com GoogleImageProxy)'+    family: 'GmailImageProxy'+    major:+    minor:+    patch:++  - user_agent_string: 'Twitterbot/1.0'+    family: 'Twitterbot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'WhatsApp/2.17.70 W'+    family: 'WhatsApp'+    major: '2'+    minor: '17'+    patch: '70'++  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.1pre) Gecko/20090717 Ubuntu/9.04 (jaunty) Shiretoko/3.5.1pre'+    family: 'Firefox (Shiretoko)'+    major: '3'+    minor: '5'+    patch: '1pre'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux i686 (x86_64); rv:2.0b4) Gecko/20100818 Firefox/4.0b4'+    family: 'Firefox Beta'+    major: '4'+    minor: '0'+    patch: 'b4'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:2.0b8pre) Gecko/20101031 Firefox-4.0/4.0b8pre'+    family: 'Firefox Beta'+    major: '4'+    minor: '0'+    patch: 'b8pre'++  - user_agent_string: 'Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.8.0.5) Gecko/20060728 Firefox/1.5.0.5'+    family: 'Firefox'+    major: '1'+    minor: '5'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.04 (lucid) Firefox/3.6.12'+    family: 'Firefox'+    major: '3'+    minor: '6'+    patch: '12'++  - user_agent_string: 'Mozilla/5.0 (Mobile; rv:15.0) Gecko/15.0 Firefox/15.0'+    family: 'Firefox Mobile'+    major: '15'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) FireWeb/1.0.0.0'+    family: 'FireWeb'+    major: '1'+    minor: '0'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'+    family: 'Googlebot'+    major: '2'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (DTV) AppleWebKit/531.2+ (KHTML, like Gecko) Espial/6.1.6 AQUOSBrowser/2.0 (US01DTV;V;0001;0001)'+    family: 'Espial'+    major: '6'+    minor: '1'+    patch: '6'++  - user_agent_string: 'iBrowser/Mini2.8 (Nokia5130c-2/07.97)'+    family: 'iBrowser Mini'+    major: '2'+    minor: '8'+    patch:++  - user_agent_string: 'ICE Browser/5.05 (Java 1.4.0; Windows 2000 5.0 x86)'+    family: 'ICE Browser'+    major: '5'+    minor: '05'+    patch:++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:2.0) Gecko/20110417 IceCat/4.0'+    family: 'IceCat'+    major: '4'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; XBLWP7; ZuneWP7)'+    family: 'IE Large Screen'+    major: '9'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; SAMSUNG; SGH-i917)'+    family: 'IE Mobile'+    major: '7'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG; SGH-i917)'+    family: 'IE Mobile'+    major: '9'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; NOKIA; Lumia 800)'+    family: 'IE Mobile'+    major: '9'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920)'+    family: 'IE Mobile'+    major: '10'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; .NET CLR 2.0.50727; .NET CLR 1.1.4322)'+    family: 'IE'+    major: '8'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 WebTV/2.6 (compatible; MSIE 4.0)'+    family: 'IE'+    major: '4'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.17; Mac_PowerPC)'+    family: 'IE'+    major: '5'+    minor: '17'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)'+    family: 'IE'+    major: '10'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; chromeframe; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)'+    family: 'IE'+    major: '8'+    minor: '0'+    patch:++  - user_agent_string: 'Java/1.6.0_43'+    family: 'Java'+    major: '6'+    minor: '0'+    patch: '43'++  - user_agent_string: 'Java/1.7.0_71'+    family: 'Java'+    major: '7'+    minor: '0'+    patch: '71'++  - user_agent_string: 'Java/1.8.0_25'+    family: 'Java'+    major: '8'+    minor: '0'+    patch: '25'++  - user_agent_string: 'Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) Version/4.0 Kindle/3.0 (screen 600x800; rotate)'+    family: 'Kindle'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux; de-DE) AppleWebKit/527  (KHTML, like Gecko, Safari/419.3) konqueror/4.3.1'+    family: 'Konqueror'+    major: '4'+    minor: '3'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.17) Gecko/20110414 Lightning/1.0b3pre Thunderbird/3.1.10'+    family: 'Lightning'+    major: '1'+    minor: '0'+    patch: 'b3pre'++  - user_agent_string: 'Mozilla/5.0 (Linux x86_64) AppleWebKit/534.26+ WebKitGTK+/1.4.1 luakit/f3a2dbe'+    family: 'LuaKit'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.47 Safari/535.11 MRCHROME'+    family: 'Mail.ru Chromium Browser'+    major: '17'+    minor: '0'+    patch: '963'++  - user_agent_string: 'Midori/0.2 (X11; Linux; U; en-us) WebKit/531.2 '+    family: 'Midori'+    major: '0'+    minor: '2'+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10'+    family: 'Mobile Safari'+    major: '4'+    minor: '0'+    patch: '4'++  - user_agent_string: 'Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5'+    family: 'Mobile Safari'+    major: '5'+    minor: '0'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 ManagedBrowser/20181024.1'+    family: 'Mobile Safari UI/WKWebView'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Safari/605.1.15'+    family: 'Safari'+    major: '12'+    minor: '1'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148'+    family: 'Mobile Safari UI/WKWebView'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 ManagedBrowser/20181024.1'+    family: 'Mobile Safari UI/WKWebView'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPod touch; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69'+    family: 'Mobile Safari UI/WKWebView'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D257'+    family: 'Mobile Safari UI/WKWebView'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.3a1) Gecko/20100208 MozillaDeveloperPreview/3.7a1 (.NET CLR 3.5.30729)'+    family: 'MozillaDeveloperPreview'+    major: '3'+    minor: '7'+    patch: 'a1'++  - user_agent_string: 'NCSA_Mosaic/2.0 (Windows 3.1)'+    family: 'NCSA Mosaic'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (PLAYSTATION 3; 3.55)'+    family: 'NetFront'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (PLAYSTATION 3 4.31) AppleWebKit/531.22.8 (KHTML, like Gecko)'+    family: 'NetFront NX'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (PSP (PlayStation Portable); 2.00)'+    family: 'NetFront'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (PlayStation Vita 1.81) AppleWebKit/531.22.8 (KHTML, like Gecko) Silk/3.2'+    family: 'NetFront NX'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; Linux 2.6.10) NetFront/3.3 Kindle/1.0 (screen 600x800)'+    family: 'NetFront'+    major: '3'+    minor: '3'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7498.US'+    family: 'NetFront NX'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.8.21 NintendoBrowser/1.0.0.7494.US'+    family: 'NetFront NX'+    major: '2'+    minor: '1'+    patch: '0'++  - user_agent_string: 'HUAWEI-M750/001.00 ACS-NetFront/3.2'+    family: 'NetFront'+    major: '3'+    minor: '2'+    patch:++  - user_agent_string: 'Mozilla/4.0 (BREW 3.1.5; U; en-us; Sanyo; NetFront/3.5.1/AMB) Boost SCP3810'+    family: 'NetFront'+    major: '3'+    minor: '5'+    patch: '1'++  - user_agent_string: 'NetFront/3.5.1 (BREW 3.1.5; U; en-us; LG; NetFront/3.5.1/WAP) Sprint LN240 MMP/2.0 Profile/MIDP-2.1 Configuration/CLDC-1.1'+    family: 'NetFront'+    major: '3'+    minor: '5'+    patch: '1'++  - user_agent_string: 'Mozilla/4.0 (Brew MP 1.0.2; U; en-us; Sanyo; NetFront/3.5.1/AMB) Sprint E4100'+    family: 'NetFront'+    major: '3'+    minor: '5'+    patch: '1'++  - user_agent_string: 'PantechP6010/JNUS11072011 BMP/1.0.2 DeviceId/141020 NetFront/4.1 OMC/1.5.3 Profile/MIDP-2.1 Configuration/CLDC-1.1'+    family: 'NetFront'+    major: '4'+    minor: '1'+    patch:++  - user_agent_string: 'NetFront/4.2 (BMP 1.0.4; U; en-us; LG; NetFront/4.2/AMB) Boost LG272 MMP/2.0 Profile/MIDP-2.1 Configuration/CLDC-1.1'+    family: 'NetFront'+    major: '4'+    minor: '2'+    patch:++  - user_agent_string: 'Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5800d-1/21.0.025; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413'+    family: 'Nokia Browser'+    major: '7'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Symbian/3; Series60/5.2 NokiaN8-00/013.016; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 BrowserNG/7.2.8.10 3gpp-gba'+    family: 'Nokia Browser'+    major: '7'+    minor: '2'+    patch: '8'++  - user_agent_string: 'Mozilla/5.0 (Symbian/3; Series60/5.2 NokiaN8-00/012.002; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/533.4 (KHTML, like Gecko) NokiaBrowser/7.3.0 Mobile Safari/533.4 3gpp-gba'+    family: 'Nokia Browser'+    major: '7'+    minor: '3'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Symbian/3; Series60/5.3 Nokia701/111.020.0307; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/533.4 (KHTML, like Gecko) NokiaBrowser/7.4.1.14 Mobile Safari/533.4 3gpp-gba'+    family: 'Nokia Browser'+    major: '7'+    minor: '4'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13'+    family: 'Nokia Browser'+    major: '8'+    minor: '5'+    patch: '0'++  - user_agent_string: 'ALCATEL-OT510A/382 ObigoInternetBrowser/Q05A'+    family: 'Obigo'+    major:+    minor:+    patch:++  - user_agent_string: 'Huawei/1.0/0HuaweiG2800/WAP2.0/Obigo-Browser/Q03C MMS/Obigo-MMS/1.2'+    family: 'Obigo'+    major:+    minor:+    patch:++  - user_agent_string: 'PantechP7040/JLUS04042011 Browser/Obigo/Q05A OMC/1.5.3 Profile/MIDP-2.1 Configuration/CLDC-1.1'+    family: 'Obigo'+    major: '05'+    minor:+    patch:++  - user_agent_string: 'OneBrowser/3.0 (SAMSUNG-GT-S5253/S5253DDKJ2)'+    family: 'ONE Browser'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'OneBrowser/3.0 (NokiaC2-00/03.42)'+    family: 'ONE Browser'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'SAMSUNG-C3053/1.0 Openwave/6.2.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0'+    family: 'Openwave'+    major: '6'+    minor: '2'+    patch: '3'++  - user_agent_string: 'Opera/9.80 (VRE; Opera Mini/4.2/28.2794; U; en) Presto/2.8.119 Version/11.10'+    family: 'Opera Mini'+    major: '4'+    minor: '2'+    patch:++  - user_agent_string: 'Opera/9.80 (BREW; Opera Mini/5.1.191/27.2202; U; en) Presto/2.8.119 240X400 LG VN271'+    family: 'Opera Mini'+    major: '5'+    minor: '1'+    patch: '191'++  - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/6.24455/25.677; U; fr) Presto/2.5.25 Version/10.54'+    family: 'Opera Mini'+    major: '6'+    minor: '24455'+    patch:++  - user_agent_string: 'Opera/9.80 (BlackBerry; Opera Mini/7.0.31437/28.3030; U; en) Presto/2.8.119 Version/11.10'+    family: 'Opera Mini'+    major: '7'+    minor: '0'+    patch: '31437'++  - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (S60; SymbOS; Opera Mobi/23.348; U; en) Presto/2.5.25 Version/10.54'+    family: 'Opera Mini'+    major: '9'+    minor: '80'+    patch:++  - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (J2ME/22.478; U; en) Presto/2.5.25 Version/10.54'+    family: 'Opera Mini'+    major: '9'+    minor: '80'+    patch:++  - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/9 (Compatible; MSIE:9.0; iPhone; BlackBerry9700; AppleWebKit/24.746; U; en) Presto/2.5.25 Version/10.54'+    family: 'Opera Mini'+    major: '9'+    minor:+    patch:++  - user_agent_string: 'Opera/9.80 (Android; Opera Mini/7.6.35766/35.5706; U; en) Presto/2.8.119 Version/11.10'+    family: 'Opera Mini'+    major: '7'+    minor: '6'+    patch: '35766'++  - user_agent_string: 'Opera/9.80 (S60; SymbOS; Opera Mobi/275; U; es-ES) Presto/2.4.13 Version/10.00'+    family: 'Opera Mobile'+    major: '10'+    minor: '00'+    patch:++  - user_agent_string: 'Opera/9.80 (Android 3.2; Linux; Opera Tablet/ADR-1106291546; U; en) Presto/2.8.149 Version/11.10'+    family: 'Opera Tablet'+    major: '11'+    minor: '10'+    patch:++  - user_agent_string: 'Opera/9.30 (Nintendo Wii; U; ; 3642; en)'+    family: 'Opera'+    major: '9'+    minor: '30'+    patch:++  - user_agent_string: 'Opera/9.50 (Nintendo DSi; Opera/507; U; en-US)'+    family: 'Opera'+    major: '9'+    minor: '50'+    patch:++  - user_agent_string: 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.5.24 Version/10.53'+    family: 'Opera'+    major: '10'+    minor: '53'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.20 Safari/537.36 OPR/15.0.1147.18 (Edition Next)'+    family: 'Opera'+    major: '15'+    minor: '0'+    patch: '1147'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android; 4.1.2; GT-I9100 Build/000000) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1234.12 Mobile Safari/537.22 OPR/14.0.123.123'+    family: 'Opera Mobile'+    major: '14'+    minor: '0'+    patch: '123'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.10 Safari/537.36 OPR/27.0.1689.22 (Edition developer)'+    family: 'Opera'+    major: '27'+    minor: '0'+    patch: '1689'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_3 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Coast/3.1.0.79792 Mobile/11B511 Safari/7534.48.3'+    family: 'Opera Coast'+    major: '3'+    minor: '1'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) OPiOS/8.0.1.80062 Mobile/11D201 Safari/9537.53'+    family: 'Opera Mini'+    major: '8'+    minor: '0'+    patch: '1'++  - user_agent_string: 'SomethingWeNeverKnewExisted'+    family: 'Other'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Series40; NokiaC2-03/07.48; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/2.2.0.0.33'+    family: 'Ovi Browser'+    major: '2'+    minor: '2'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Series40; NokiaX2-05/08.35; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/2.0.2.68.14'+    family: 'Ovi Browser'+    major: '2'+    minor: '0'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20110407 Firefox/4.0.3 PaleMoon/4.0.3'+    family: 'Pale Moon'+    major: '4'+    minor: '0'+    patch: '3'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:3.0) Goanna/20170207 PaleMoon/27.1.0'+    family: 'Pale Moon'+    major: '27'+    minor: '1'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:3.0) Gecko/20100101 Goanna/20170207 PaleMoon/27.1.0'+    family: 'Pale Moon'+    major: '27'+    minor: '1'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:45.9) Gecko/20100101 Goanna/3.0 Firefox/45.9 PaleMoon/27.1.0'+    family: 'Pale Moon'+    major: '27'+    minor: '1'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (LG-T500 AppleWebkit/531 Browser/Phantom/V2.0 Widget/LGMW/3.0 MMS/LG-MMS-V1.0/1.2 Java/ASVM/1.1 Profile/MIDP-2.1 Configuration/CLDC-1.1)'+    family: 'Phantom Browser'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Pingdom.com_bot_version_1.4_(http://www.pingdom.com/)'+    family: 'PingdomBot'+    major: '1'+    minor: '4'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) PingdomTMS/0.8.5 Safari/534.34'+    family: 'PingdomBot'+    major: '0'+    minor: '8'+    patch: '5'++  - user_agent_string: 'NewRelicPinger/1.0 (1025794)'+    family: 'NewRelicPingerBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/98 Safari/537.4 (StatusCake)'+    family: 'StatusCakeBot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/3.0 (Planetweb/2.100 JS SSL US; Dreamcast US)'+    family: 'Planetweb'+    major: '2'+    minor: '100'+    patch:++  - user_agent_string: 'PyAMF/0.6.1'+    family: 'PyAMF'+    major: '0'+    minor: '6'+    patch: '1'++  - user_agent_string: 'python-requests/0.14 CPython/2.6 Linux/2.6-43-server'+    family: 'Python Requests'+    major: '0'+    minor: '14'+    patch:++  - user_agent_string: 'Mozilla/5.0 (X11i; Linux; C) AppleWebKikt/533.3 (KHTML, like Gecko) QtCarBrowser Safari/533.3'+    family: 'QtCarBrowser'+    major: '1'+    minor:+    patch:++  - user_agent_string: 'Rackspace Monitoring/1.1 (https://monitoring.api.rackspacecloud.com)'+    family: 'RackspaceBot'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (X11; U; BSD Four; en-US) AppleWebKit/533.3 (KHTML, like Gecko) rekonq Safari/533.3'+    family: 'Rekonq'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.34 (KHTML, like Gecko) rekonq/1.0 Safari/534.34'+    family: 'Rekonq'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) RockMelt/0.8.34.841 Chrome/6.0.472.63 Safari/534.3'+    family: 'RockMelt'+    major: '0'+    minor: '8'+    patch: '34'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/418.8 (KHTML, like Gecko) Safari/419.3'+    family: 'Safari'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-us) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5'+    family: 'Safari'+    major: '5'+    minor: '0'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Safari/530.17 Skyfire/2.0'+    family: 'Skyfire'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.21 (KHTML, like Gecko) Snowshoe/1.0.0 Safari/537.21'+    family: 'Snowshoe'+    major: '1'+    minor: '0'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 ThunderBrowse/3.3.5'+    family: 'ThunderBrowse'+    major: '3'+    minor: '3'+    patch: '5'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 Lightning/2.6.4'+    family: 'Thunderbird'+    major: '24'+    minor: '2'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0'+    family: 'Thunderbird'+    major: '24'+    minor: '2'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Thunderbird/45.0'+    family: 'Thunderbird'+    major: '45'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:7.0.1) Gecko/20151105 Postbox/4.0.8'+    family: 'Postbox'+    major: '4'+    minor: '0'+    patch: '8'++  - user_agent_string: 'Mozilla/4.0 (compatible; Lotus-Notes/6.0; Windows-NT)'+    family: 'Lotus Notes'+    major: '6'+    minor: '0'+    patch:++  - user_agent_string: 'Superhuman'+    family: 'Superhuman'+    major:+    minor:+    patch:++  - user_agent_string: 'YahooMobileMail/1.0 (Android Mail; 1.3.10) (supersonic;HTC;PC36100;2.3.5/GRJ90)'+    family: 'YahooMobileMail'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Barca/2.8.2'+    family: 'Barca'+    major: '2'+    minor: '8'+    patch: '2'++  - user_agent_string: 'BarcaPro/1.4.12'+    family: 'Barca'+    major: '1'+    minor: '4'+    patch: '12'++  - user_agent_string: 'The Bat! 4.0.0.22'+    family: 'The Bat!'+    major: '4'+    minor: '0'+    patch: '0'++  - user_agent_string: 'MailBar/1.3.2 (Mac OS X Version 10.11.1 (Build 15B42))'+    family: 'MailBar'+    major: '1'+    minor: '3'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) kmail2/4.14.2 Safari/534.34'+    family: 'kmail2'+    major: '4'+    minor: '14'+    patch: '2'++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; MSOffice 12)'+    family: 'Outlook'+    major: '2007'+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; InfoPath.2; MSOffice 14)'+    family: 'Outlook'+    major: '2010'+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; Microsoft Outlook 15.0.4420)'+    family: 'Outlook'+    major: '2013'+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/536.26.14 (KHTML, like Gecko)'+    family: 'Apple Mail'+    major: '536'+    minor: '26'+    patch: '14'++  - user_agent_string: 'Airmail 1.0 rv:148 (Macintosh; Mac OS X 10.8.3; en_BE)'+    family: 'Airmail'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Airmail 1.0.6 rv:196 (Macintosh; Mac OS X 10.8.4; en_GB)'+    family: 'Airmail'+    major: '1'+    minor: '0'+    patch: '6'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.220 Whale/1.3.45.0 Safari/537.36'+    family: 'Whale'+    major: '1'+    minor: '3'+    patch: '45'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU OS 10_2_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) 1Password/6.4.5 (like Version/10.2.1 Mobile/14D27 Safari/600.1.4)'+    family: '1Password'+    major: '6'+    minor: '4'+    patch: '5'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.220 Whale/1.3.50.3 Safari/537.36'+    family: 'Whale'+    major: '1'+    minor: '3'+    patch: '50'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Whale/0.9.1.679 Mobile/15D100 Safari/604.5.6'+    family: 'Whale'+    major: '0'+    minor: '9'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 6.0.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Whale/0.9.5.0 Mobile Safari/537.36'+    family: 'Whale'+    major: '0'+    minor: '9'+    patch: '5'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.1.2; Nexus 6P Build/WHALE) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.220 Whale/1.3.50.3 Mobile Safari/537.36 sidebar webpanel'+    family: 'Whale'+    major: '1'+    minor: '3'+    patch: '50'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.1.2; Nexus 6P Build/WHALE) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.220 Whale/1.3.50.3 Mobile Safari/537.36'+    family: 'Whale'+    major: '1'+    minor: '3'+    patch: '50'++  - user_agent_string: 'J2ME/UCWEB7.0.3.45/139/7682'+    family: 'UC Browser'+    major: '7'+    minor: '0'+    patch: '3'++  - user_agent_string: 'NOKIA6120c/UC Browser7.4.0.65/28/352'+    family: 'UC Browser'+    major: '7'+    minor: '4'+    patch: '0'++  - user_agent_string: 'UCWEB/3.0 (iPhone; CPU OS_6; en-US)AppleWebKit/534.1 U3/3.0.0 Mobile'+    family: 'UC Browser'+    major: '3'+    minor: '0'+    patch: '0'++  - user_agent_string: 'UCWEB/2.0 (Linux; U; Opera Mini/7.1.32052/30.2697; en-US; GT-S5302) U2/1.0.0 UCBrowser/9.3.0.440 Mobile'+    family: 'UC Browser'+    major: '9'+    minor: '3'+    patch: '0'++  - user_agent_string: 'IUC(U;iOS 5.1.1;Zh-cn;320*480;)/UCWEB7.9.0.94/41/997'+    family: 'UC Browser'+    major: '7'+    minor: '9'+    patch: '0'++  - user_agent_string: 'Nokia5320di/UCWEB8.0.3.99/28/999'+    family: 'UC Browser'+    major: '8'+    minor: '0'+    patch: '3'++  - user_agent_string: 'Nokia201/2.0 (11.21) Profile/MIDP-2.1 Configuration/CLDC-1.1 Mozilla/5.0 (Java; U; en-us; nokia201) UCBrowser8.3.0.154/70/355/UCWEB Mobile'+    family: 'UC Browser'+    major: '8'+    minor: '3'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (S60V5; U; en-us; NokiaC5-03) AppleWebKit/530.13 (KHTML, like Gecko) UCBrowser/8.7.0.218/50/352/UCWEB Mobile'+    family: 'UC Browser'+    major: '8'+    minor: '7'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/5.7.14488.1025 Safari/537.36'+    family: 'UC Browser'+    major: '5'+    minor: '7'+    patch: '14488'++  - user_agent_string: 'Alcatel-OH5/1.0 UP.Browser/6.1.0.7.7 (GUI) MMP/1.0'+    family: 'UP.Browser'+    major: '6'+    minor: '1'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22'+    family: 'WebKit Nightly'+    major: '534'+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1+ (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22'+    family: 'WebKit Nightly'+    major: '537'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.8+ (KHTML, like Gecko) Version/6.0 Safari/536.25'+    family: 'WebKit Nightly'+    major: '537'+    minor: '8'+    patch:++  - user_agent_string: 'Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.0; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/233.58 Safari/534.6 TouchPad/1.0'+    family: 'webOS Browser'+    major: '3'+    minor: '0'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (webOS/1.2; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Desktop/1.0'+    family: 'webOS Browser'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.5; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/234.83 Safari/534.6 TouchPad/1.0'+    family: 'webOS Browser'+    major: '3'+    minor: '0'+    patch: '5'++  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux i686; nl-NL) AppleWebKit/534.3 (KHTML, like Gecko) WeTab-Browser Safari/534.3'+    family: 'WeTab'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1104.222 YaBrowser/1.5.1104.222 Safari/537.4'+    family: 'Yandex Browser'+    major: '1'+    minor: '5'+    patch: '1104'++  - user_agent_string: 'Mozilla/5.0 YottaaMonitor;'+    family: 'YottaaMonitor'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.6.0 Safari/534.34'+    family: 'PhantomJS'+    major: '1'+    minor: '6'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (IE 11.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C; rv:11.0) like Gecko'+    family: 'IE'+    major: '11'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 9.0; AOL 9.7; AOLBuild 4343.19; Windows NT 6.1; WOW64; Trident/5.0; FunWebProducts)'+    family: 'AOL'+    major: '9'+    minor: '7'+    patch: '4343'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; rv:11.0) like Gecko'+    family: 'IE'+    major: '11'+    minor: '0'+    patch:++  - user_agent_string: 'HbbTV/1.1.1 (;Samsung;SmartTV2013;T-FXPDEUC-1102.2;;) WebKit'+    family: 'HbbTV'+    major: '1'+    minor: '1'+    patch: '1'++  - user_agent_string: 'HbbTV/1.2.1 (;Panasonic;VIERA 2013;3.672;4101-0003 0002-0000;)'+    family: 'HbbTV'+    major: '1'+    minor: '2'+    patch: '1'++  - user_agent_string: 'HbbTV/1.1.1 (;;;;;) firetv-firefox-plugin 1.1.20'+    family: 'HbbTV'+    major: '1'+    minor: '1'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko/20100101 Firefox/12.0'+    family: 'IE'+    major: '11'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.89 Vivaldi/1.0.83.38 Safari/537.36'+    family: 'Vivaldi'+    major: '1'+    minor: '0'+    patch: '83'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.9600'+    family: 'Edge'+    major: '12'+    minor: '9600'+    patch:++  - user_agent_string: 'Mozilla/4.0 (Vodafone/1.0/LG-GU280/v10a Browser/Obigo-Q7.3 MMS/LG-MMS-V1.0/1.2 Java/ASVM/1.1 Profile/MIDP-2.1 Configuration/CLDC-1.1)'+    family: 'Obigo'+    major: '7'+    minor: '3'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) Vodafone/1.0/HTC_Elf/1.11.164.2'+    family: 'IE Mobile'+    major: '6'+    minor: '12'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 8.12; MSIEMobile 6.0) Vodafone/1.0/HTC_HD2/1.44.162.6 (70494)'+    family: 'IE Mobile'+    major: '8'+    minor: '12'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920)'+    family: 'IE Mobile'+    major: '11'+    minor: '0'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Vodafone/1.0/SamsungSGHi560/I560AEHB1 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413'+    family: 'Nokia OSS Browser'+    major: '3'+    minor: '1'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Vodafone/1.0/LG-KC910/V08h Browser/Teleca-Q7.1 MMS/LG-MMS-V1.0/1.2 MediaPlayer/LGPlayer/1.0 Java/ASVM/1.1 Profile/MIDP-2.1 Configuration/CLDC-1.1)'+    family: 'Teleca Browser'+    major:+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Vodafone/1.0/0Vodafone715/B116 Browser/Obigo-Browser/Q04A MMS/Obigo-MMS/Q04A SyncML/HW-SyncML/1.0 Java/QVM/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1'+    family: 'Obigo'+    major:+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Opera/9.80 (Android 1.6; Linux; Opera Mobi/ADR-1107051709; U; en) Presto/2.8.149 Version/11.10'+    family: 'Opera Mobile'+    major: '11'+    minor: '10'+    patch:+    patch_minor:++  - user_agent_string: 'Opera/9.80 (Windows Mobile; WCE; Opera Mobi/WMD-50430; U; en) Presto/2.4.13 Version/10.00'+    family: 'Opera Mobile'+    major: '10'+    minor: '00'+    patch:+    patch_minor:++  - user_agent_string: '(Opera) Vodafone/1.0/HPiPAQDataMessenger/1.00.00 Browser/Opera/9.5 Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera/9.5 (Microsoft Windows; PPC; Opera Mobi/15142; U; en)'+    family: 'Opera Mobile'+    major: '9'+    minor: '5'+    patch:+    patch_minor:++  - user_agent_string: 'HTC MAX 4G Opera/9.5 (Microsoft Windows; PPC; Opera Mobi/1409; U; ru)'+    family: 'Opera Mobile'+    major: '9'+    minor: '5'+    patch:+    patch_minor:++  - user_agent_string: 'iBrowser/3.0/Mozilla/5.0 (Linux; U; Android 2.3.6; yy-yy; Karbonn A2 Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'+    family: 'Android'+    major: '2'+    minor: '3'+    patch: '6'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Series40; NokiaC3-01/05.60; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/2.2.0.0.31'+    family: 'Ovi Browser'+    major: '2'+    minor: '2'+    patch: '0'+    patch_minor:++  - user_agent_string: 'iRAPP/1.16.0 NokiaN95_8GB/31.0.015; Series60/3.1 Profile/MIDP-2.0 Configuration/CLDC-1.'+    family: 'iRAPP'+    major: '1'+    minor: '16'+    patch:+    patch_minor:++  - user_agent_string: 'iRAPP/1.3.0 Nokia5230/50.0.101 Series60/5.0 Profile/MIDP-2.1 Configuration/CLDC-1.1 3gpp-gba'+    family: 'iRAPP'+    major: '1'+    minor: '3'+    patch:+    patch_minor:++  - user_agent_string: 'iRAPP/3.5.0 NokiaN8-00/111.040.1511 Series60/5.3 Profile/MIDP-2.1 Configuration/CLDC-1.1 3gpp-gba'+    family: 'iRAPP'+    major: '3'+    minor: '5'+    patch:+    patch_minor:++  - user_agent_string: 'LG-GD710/V10f; Mozilla/5.0 (Profile/MIDP-2.0 Configuration/CLDC-1.1; Opera Mini/att/4.2.14812; U; en) Opera 9.50'+    family: 'Opera Mini'+    major: '4'+    minor: '2'+    patch: '14812'+    patch_minor:++  - user_agent_string: 'SAMSUNG-SGH-A897/A897UCJC1; Mozilla/5.0 (Profile/MIDP-2.0 Configuration/CLDC-1.1; Opera Mini/att/4.2.15304; U; fr-US) Opera 9.50'+    family: 'Opera Mini'+    major: '4'+    minor: '2'+    patch: '15304'+    patch_minor:++  - user_agent_string: 'MQQBrowser/39 Mozilla/5.0 (iPhone 4S; CPU iPhone OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10A523 Safari/7534.48.3'+    family: 'QQ Browser Mobile'+    major: '39'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'MQQBrowser/391 Mozilla/5.0 (iPhone 4S; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A334 Safari/7534.48.3'+    family: 'QQ Browser Mobile'+    major: '391'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'MQQBrowser/20 (Linux; U; 2.3.3; en-us; HTC Desire S Build/GRI40;480*800)'+    family: 'QQ Browser Mobile'+    major: '20'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'MQQBrowser/Mini2.8 (ZTE-X990/X990_V2_Z12_ESFR_D18F100)'+    family: 'QQ Browser Mini'+    major: '2'+    minor: '8'+    patch:+    patch_minor:++  - user_agent_string: 'MQQBrowser/Mini3.1 (SonyEricssonJ105i/R1HA035)'+    family: 'QQ Browser Mini'+    major: '3'+    minor: '1'+    patch:+    patch_minor:++  - user_agent_string: 'QQBrowser/14 (Linux; U; 2.2.2; en-us; Motorola XT316 BUILD/FRG83G) Mobile/0050'+    family: 'QQ Browser'+    major: '14'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Dolphin 6.5.1 (iPad; iPhone OS 6.1.3; de_DE)'+    family: 'Dolphin'+    major: '6'+    minor: '5'+    patch: '1'+    patch_minor:++  - user_agent_string: 'Dolphin 7.4 (iPhone; iPhone OS 7.0.2; de_DE)'+    family: 'Dolphin'+    major: '7'+    minor: '4'+    patch:+    patch_minor:++  - user_agent_string: 'Dolphin 7.5.1 (iPhone; iPhone OS 7.0.3; de_DE)'+    family: 'Dolphin'+    major: '7'+    minor: '5'+    patch: '1'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.1-update1; zh-cn; XT701 Build/STCU_31.05.4) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 DolphinHDCN/7.0.1'+    family: 'Dolphin'+    major: '7'+    minor: '0'+    patch: '1'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.2; en-gb; GT-P1000 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 DolphinHDCN/6.3.1'+    family: 'Dolphin'+    major: '6'+    minor: '3'+    patch: '1'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.1.1; en-us; Nexus 7 Build/JRO03D) AppleWebKit/534.30 (KHTML, like Gecko) Dolphin/INT-1.0.4 Mobile Safari/534.30'+    family: 'Dolphin'+    major: '1'+    minor: '0'+    patch: '4'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 DolphinHDCN/6.1.0'+    family: 'Dolphin'+    major: '6'+    minor: '1'+    patch: '0'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0(miniGUI/3.x; U; Linux i686; en-US) AppleWebKit/534.26 (KHTML, like Gecko) mDolphin/3.0 chrome/10.0 Safria/534.26'+    family: 'mDolphin'+    major: '3'+    minor: '0'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0(miniGUI/3.x; U; Linux i686; en; ) AppleWebKit/533.9.0 (KHTML, like Gecko) mDolphin/3.0.0 Safria/533.9.0'+    family: 'mDolphin'+    major: '3'+    minor: '0'+    patch: '0'+    patch_minor:++  - user_agent_string: 'CFNetwork, iPhone OS 5.1.1, iPhone4,1'+    family: 'CFNetwork'+    major:+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'CFNetwork, iPhone OS 7.0.4, iPhone5,2'+    family: 'CFNetwork'+    major:+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'CFNetwork, iPhone OS 7.0, iPhone4,1'+    family: 'CFNetwork'+    major:+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Safari5530.17 CFNetwork/438.12 Darwin/9.7.0 (i386) (Macmini2,1)'+    family: 'CFNetwork'+    major: '438'+    minor: '12'+    patch:+    patch_minor:++  - user_agent_string: 'Safari/6533.18.5 CFNetwork/454.9.8 Darwin/10.4.0 (i386) (MacBookPro7,1)'+    family: 'Safari'+    major: '6533'+    minor: '18'+    patch: '5'+    patch_minor:++  - user_agent_string: 'Safari/7536.30.1 CFNetwork/520.5.1 Darwin/11.4.2 (i386) (MacBook3,1)'+    family: 'Safari'+    major: '7536'+    minor: '30'+    patch: '1'+    patch_minor:++  - user_agent_string: 'Reader Notifier/5 CFNetwork/596.3.3 Darwin/12.3.0 (x86_64) (MacBookPro7,1)'+    family: 'Reader Notifier'+    major: '5'+    minor:+    patch:+    patch_minor:++  - user_agent_string: 'Safari/9537.71 CFNetwork/673.0.2 Darwin/13.0.1 (x86_64) (MacBookPro11,1)'+    family: 'Safari'+    major: '9537'+    minor: '71'+    patch:+    patch_minor:++  - user_agent_string: 'DEPoker-iPad/1.0.2 CFNetwork/548.1.4 Darwin/11.0.0'+    family: 'DEPoker'+    major: '1'+    minor: '0'+    patch: '2'+    patch_minor:++  - user_agent_string: 'JDSports-iPad/1.1 CFNetwork/672.0.8 Darwin/14.0.0'+    family: 'JDSports'+    major: '1'+    minor: '1'+    patch:+    patch_minor:++  - user_agent_string: 'AngryBirdsBlack-iPhone/1.1.0 CFNetwork/548.1.4 Darwin/11.0.0'+    family: 'AngryBirdsBlack'+    major: '1'+    minor: '1'+    patch: '0'+    patch_minor:++  - user_agent_string: 'Bing for iPad/1.1.2 CFNetwork/485.13.9 Darwin/11.0.0'+    family: 'Bing for iPad'+    major: '1'+    minor: '1'+    patch: '2'+    patch_minor:++  - user_agent_string: 'NightstandPaid-iPad/1.3.1 CFNetwork/548.1.4 Darwin/11.0.0'+    family: 'NightstandPaid'+    major: '1'+    minor: '3'+    patch: '1'+    patch_minor:++  - user_agent_string: 'Glo-De-iPad/1.4.7 CFNetwork/672.0.2 Darwin/14.0.0'+    family: 'Glo-De'+    major: '1'+    minor: '4'+    patch: '7'+    patch_minor:++  - user_agent_string: 'Island for iPhone/1.95 CFNetwork/672.0.2 Darwin/14.0.0'+    family: 'Island for iPhone'+    major: '1'+    minor: '95'+    patch:+    patch_minor:++  - user_agent_string: 'WormsiPhone-iPad/2.3 CFNetwork/548.1.4 Darwin/11.0.0'+    family: 'WormsiPhone'+    major: '2'+    minor: '3'+    patch:+    patch_minor:++  - user_agent_string: 'Rummy LITE iPad/2.3.0 CFNetwork/609.1.4 Darwin/13.0.0'+    family: 'Rummy LITE iPad'+    major: '2'+    minor: '3'+    patch: '0'+    patch_minor:++  - user_agent_string: 'MobileRSSFree-iPad/3.1 CFNetwork/467.12 Darwin/10.3.1'+    family: 'MobileRSSFree'+    major: '3'+    minor: '1'+    patch:+    patch_minor:++  - user_agent_string: 'MobileRSSFree-iPad/3.1.4 CFNetwork/485.13.9 Darwin/11.0.0'+    family: 'MobileRSSFree'+    major: '3'+    minor: '1'+    patch: '4'+    patch_minor:++  - user_agent_string: 'babbelIndonesian-iPad/4.0.1 CFNetwork/672.0.8 Darwin/14.0.0'+    family: 'babbelIndonesian'+    major: '4'+    minor: '0'+    patch: '1'+    patch_minor:++  - user_agent_string: 'WeltMobile-iPad/4.2 CFNetwork/609.1.4 Darwin/13.0.0'+    family: 'WeltMobile'+    major: '4'+    minor: '2'+    patch:+    patch_minor:++  - user_agent_string: 'IMPlusFull-iPad/7.9.1 CFNetwork/548.0.4 Darwin/11.0.0'+    family: 'IMPlusFull'+    major: '7'+    minor: '9'+    patch: '1'+    patch_minor:++  - user_agent_string: 'Cooliris/1.3 CFNetwork/342.1 Darwin/9.4.1'+    family: 'Cooliris'+    major: '1'+    minor: '3'+    patch:+    patch_minor:++  - user_agent_string: 'Poof/1.0 CFNetwork/485.12.7 Darwin/10.4.0'+    family: 'Poof'+    major: '1'+    minor: '0'+    patch:+    patch_minor:++  - user_agent_string: 'Parking Mania Free/1.9.5.0 CFNetwork/548.0.4 Darwin/11.0.0'+    family: 'Parking Mania Free'+    major: '1'+    minor: '9'+    patch: '5'+    patch_minor: '0'++  - user_agent_string: 'Planet Boing!/1.4.8 CFNetwork/609.1.4 Darwin/13.0.0'+    family: 'Planet Boing!'+    major: '1'+    minor: '4'+    patch: '8'+    patch_minor:++  - user_agent_string: 'PlayTube/1.7 CFNetwork/672.0.2 Darwin/14.0.0'+    family: 'PlayTube'+    major: '1'+    minor: '7'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.2.1; es-us) AppleWebKit/534.12 (KHTML, like Gecko) Puffin/1.3.2913S Mobile Safari/534.12'+    family: 'Puffin'+    major: '1'+    minor: '3'+    patch: '2913'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 3.2.1; es-es) AppleWebKit/534.35 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.35 Puffin/2.0.6440M Mobile'+    family: 'Puffin'+    major: '2'+    minor: '0'+    patch: '6440'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 3.2; en-gb) AppleWebKit/534.35 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.35 Puffin/2.0.5932M Mobile'+    family: 'Puffin'+    major: '2'+    minor: '0'+    patch: '5932'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.1.1; en-us) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/2.9909AT Mobile'+    family: 'Puffin'+    major: '2'+    minor: '9909'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.2.2; de-de) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/3.11558AT Mobile'+    family: 'Puffin'+    major: '3'+    minor: '11558'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.2.2; en-us) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/3.11558AP Mobile'+    family: 'Puffin'+    major: '3'+    minor: '11558'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux i686; th-TH@calendar=gregorian) AppleWebKit/534.12 (KHTML, like Gecko) Puffin/1.3.2665MS Safari/534.12'+    family: 'Puffin'+    major: '1'+    minor: '3'+    patch: '2665'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; ar-AE) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/3.10990IT'+    family: 'Puffin'+    major: '3'+    minor: '10990'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; ar-SA) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/3.11546IP'+    family: 'Puffin'+    major: '3'+    minor: '11546'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; ar-ae) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/2.10977AP'+    family: 'Puffin'+    major: '2'+    minor: '10977'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; de-at) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/2.10977AT'+    family: 'Puffin'+    major: '2'+    minor: '10977'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU OS 7_0_6 like Mac OS X; de-DE) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/3.11558IT Mobile'+    family: 'Puffin'+    major: '3'+    minor: '11558'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 7_0_6 like Mac OS X; de-DE) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/3.11558IP Mobile'+    family: 'Puffin'+    major: '3'+    minor: '11558'+    patch:+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_5 like Mac OS X; en-US) AppleWebKit/534.12 (KHTML, like Gecko) Puffin/1.3.3102MS Mobile Safari/534.12'+    family: 'Puffin'+    major: '1'+    minor: '3'+    patch: '3102'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (iPod; U; CPU iPhone OS 5_1_1 like Mac OS X; de-DE) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/3.9174IP Mobile'+    family: 'Puffin'+    major: '3'+    minor: '9174'+    patch:+    patch_minor:++  - user_agent_string: 'MacAppStore/2.0 (Macintosh; OS X 10.10.2; 14C81f) AppleWebKit/0600.3.10.2'+    family: 'MacAppStore'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'iTunes/12.0.1 (Macintosh; OS X 10.9.2) AppleWebKit/537.74.9'+    family: 'iTunes'+    major: '12'+    minor: '0'+    patch: '1'++  - user_agent_string: 'Ant/Ant-Nutch-1.1 (Ant Nutch Crawler; http://www.ant.com; crawler@ant.com)'+    family: 'Ant-Nutch'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'Axtaris Web Crawler/Axtaris-1.0.1 (Hello from Axtaris.org | Web-Crawler; http://axtaris.org; crawler at axtaris dot org)'+    family: 'Axtaris'+    major: '1'+    minor: '0'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko PTST/1.0'+    family: 'WebPageTest.org bot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.0 Safari/537.36 PTST/1.0'+    family: 'WebPageTest.org bot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4) Build/MPJ24.139-64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Mobile Safari/537.36 PTST/180521.140508'+    family: 'WebPageTest.org bot'+    major: '180521'+    minor: '140508'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4) Build/MPJ24.139-64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Mobile Safari/537.36 PTST/391'+    family: 'WebPageTest.org bot'+    major: '391'+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (X11; Datanyze; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'+    family: 'Datanyze'+    major:+    minor:+    patch:++  - user_agent_string: 'CazoodleBot/CazoodleBot-0.1 (CazoodleBot Crawler; http://www.cazoodle.com/cazoodlebot; cazoodlebot@cazoodle.com)'+    family: 'CazoodleBot'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'Isara-Search/Isara-1.0 (A non-profit web crawler operated by a charity organization.; www.isara.org; webmaster@isara.org)'+    family: 'Isara'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'noobot Spider/Noobot-1.2 (noobot-bot; http://www.noobot.fr)'+    family: 'Noobot'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'asked/Nutch-0.8 (web crawler; http://asked.jp; epicurus at gmail dot com)'+    family: 'Nutch'+    major: '0'+    minor: '8'+    patch:++  - user_agent_string: 'nutch crawler/Nutch-2.2'+    family: 'Nutch'+    major: '2'+    minor: '2'+    patch:++  - user_agent_string: 'Spider/Nutch-2.3-SNAPSHOT (Webcrawler)'+    family: 'Nutch'+    major: '2'+    minor: '3'+    patch:++  - user_agent_string: 'SheenBot/SheenBot-1.0.4 (Sheen web crawler)'+    family: 'SheenBot'+    major: '1'+    minor: '0'+    patch: '4'++  - user_agent_string: 'SaladSpoon/ShopSalad 1.0 (Search Engine crawler for ShopSalad.com; http://shopsalad.com/en/partners.html; crawler AT shopsalad.com)'+    family: 'ShopSalad'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'TailsweepBlogCrawler/Tailsweep-2.9-SNAPSHOT (http://www.tailsweep.com/; bot at [tailsweep] dot com)'+    family: 'Tailsweep'+    major: '2'+    minor: '9'+    patch:++  - user_agent_string: 'SAE/fetchurl-22wy0njxnm WordPress/3.2.1; http://1.webfront.sinaapp.com'+    family: 'fetchurl'+    major: '22'+    minor:+    patch:++  - user_agent_string: 'RedBot/redbot-1.0 (Rediff.com Crawler; redbot at rediff dot com)'+    family: 'redbot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'IS Alpha/zcspider-0.1'+    family: 'zcspider'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; 008/0.85; http://www.80legs.com/webcrawler.html) Gecko/2008032620'+    family: '008'+    major: '0'+    minor: '85'+    patch:++  - user_agent_string: 'Altresium/4.6 (+http://www.altresium.com/bot.html)'+    family: 'Altresium'+    major: '4'+    minor: '6'+    patch:++  - user_agent_string: 'Argus/1.1 (Nutch; http://www.simpy.com/bot.html; feedback at simpy dot com)'+    family: 'Argus'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'Argus/2.8.65 CFNetwork/609 Darwin/13.0.0'+    family: 'Argus'+    major: '2'+    minor: '8'+    patch: '65'++  - user_agent_string: 'DoCoMo/2.0 P05A(c100;TB;W24H15) (compatible; BaiduMobaider/1.0;  http://www.baidu.jp/spider/)'+    family: 'BaiduMobaider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'BoardReader/1.0 (http://boardreader.com/info/robots.htm)-Machine1'+    family: 'BoardReader'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'DNSGroup/0.1 (DNS Group Crawler; http://www.dnsgroup.com/; crawler@dnsgroup.com)'+    family: 'DNSGroup'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'DataparkSearch/4.35-02122005 ( http://www.dataparksearch.org/)'+    family: 'DataparkSearch'+    major: '4'+    minor: '35'+    patch:++  - user_agent_string: 'EDI/1.6.0 (Edacious & Intelligent Web Crawler)'+    family: 'EDI'+    major: '1'+    minor: '6'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (compatible; Goodzer/2.0; crawler@goodzer.com)'+    family: 'Goodzer'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Grub/2.0 (Grub.org crawler; http://www.grub.org/; bot@grub.org)'+    family: 'Grub'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'INGRID/2.0 (http://spsearch.ilse.nl/; Startpagina dochter links spider)'+    family: 'INGRID'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'INGRID/3.0 MT (webcrawler@NOSPAMexperimental.net; http://aanmelden.ilse.nl/?aanmeld_mode=webhints)'+    family: 'INGRID'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Infohelfer/1.2.0; +http://www.infohelfer.de/crawler.php)'+    family: 'Infohelfer'+    major: '1'+    minor: '2'+    patch: '0'++  - user_agent_string: 'LOOQ/0.1 alfa (LOOQ Crawler for european sites; http://looq.eu; root (at) looq dot eu)'+    family: 'LOOQ'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'LinkedInBot/1.0 (compatible; Mozilla/5.0; Jakarta Commons-HttpClient/3.1  http://www.linkedin.com)'+    family: 'LinkedInBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; PathDefender/1.0; +http://www.pathdefender.com/help/crawler)'+    family: 'PathDefender'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Peew/1.0; http://www.peew.de/crawler/)'+    family: 'Peew'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'PostPost/1.0 ( http://postpo.st/crawlers)'+    family: 'PostPost'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Steeler/1.3 (http://www.tkl.iis.u-tokyo.ac.jp/~crawler/)'+    family: 'Steeler'+    major: '1'+    minor: '3'+    patch:++  - user_agent_string: 'Steeler/3.3 (http://www.tkl.iis.u-tokyo.ac.jp/~crawler/)'+    family: 'Steeler'+    major: '3'+    minor: '3'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Steeler/3.5; http://www.tkl.iis.u-tokyo.ac.jp/~crawler/)'+    family: 'Steeler'+    major: '3'+    minor: '5'+    patch:++  - user_agent_string: 'VSE/1.0 (testcrawler@hotmail.com)'+    family: 'VSE'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'VSE/1.0 (vsecrawler@hotmail.com)'+    family: 'VSE'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; WebCrunch/1.2; +http://webcrunch.net/crawler)'+    family: 'WebCrunch'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'WebZIP/7.0 (http://www.spidersoft.com)'+    family: 'WebZIP'+    major: '7'+    minor: '0'+    patch:++  - user_agent_string: 'Y!J-BRI/0.0.1 crawler ( http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html )'+    family: 'Y!J-BRI'+    major: '0'+    minor: '0'+    patch: '1'++  - user_agent_string: 'Y!J-BRW/1.0 crawler (http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html)'+    family: 'Y!J-BRW'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'YahooSeeker/1.0 (compatible; Mozilla 4.0; MSIE 5.5; http://help.yahoo.com/help/us/shop/merchant/)'+    family: 'YahooSeeker'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'envolk/1.7 ( http://www.envolk.com/envolkspider.html)'+    family: 'envolk'+    major: '1'+    minor: '7'+    patch:++  - user_agent_string: 'sproose/1.0beta (sproose bot; http://www.sproose.com/bot.html; crawler@sproose.com)'+    family: 'sproose'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'wminer/1.2 (North America Web Crawler; http://www.wminer.com/bot; info at wminer dot com)'+    family: 'wminer'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 4.0; MSIECrawler; Windows 95)'+    family: 'MSIECrawler'+    major: '4'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/4.0; FDM; MSIECrawler; Media Center PC 5.0)'+    family: 'MSIECrawler'+    major: '9'+    minor: '0'+    patch:++  - user_agent_string: 'Apache-HttpClient/4.0-beta2 (java 1.5)'+    family: 'Apache-HttpClient'+    major: '4'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; E10i Build/2.1.1.C.0.0) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 Google-HTTP-Java-Client/1.10.3-beta (gzip)'+    family: 'Google-HTTP-Java-Client'+    major: '1'+    minor: '10'+    patch: '3'++  - user_agent_string: 'Google-HTTP-Java-Client/1.13.1-beta (gzip)'+    family: 'Google-HTTP-Java-Client'+    major: '1'+    minor: '13'+    patch: '1'++  - user_agent_string: 'Google-YouTubeSample/1.0 Google-HTTP-Java-Client/1.7.0-beta (gzip) Google-HTTP-Java-Client/1.7.0-beta (gzip)'+    family: 'Google-HTTP-Java-Client'+    major: '1'+    minor: '7'+    patch: '0'++  - user_agent_string: 'JNLP/1.7.0 javaws/10.17.2.02 (<internal>) Java/1.7.0_17'+    family: 'JNLP'+    major: '1'+    minor: '7'+    patch: '0'++  - user_agent_string: 'JNLP/6.0 javaws/1.6.0_14 (b08) Java/1.6.0_14'+    family: 'JNLP'+    major: '6'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Python-urllib2)'+    family: 'Python-urllib'+    major:+    minor:+    patch:++  - user_agent_string: 'Python-urllib/1.15'+    family: 'Python-urllib'+    major: '1'+    minor: '15'+    patch:++  - user_agent_string: 'IMVU Client/498.0 Python-urllib/2.7'+    family: 'Python-urllib'+    major: '2'+    minor: '7'+    patch:++  - user_agent_string: 'Python-urllib/3.4'+    family: 'Python-urllib'+    major: '3'+    minor: '4'+    patch:++  - user_agent_string: 'TLSProber/0.8'+    family: 'TLSProber'+    major: '0'+    minor: '8'+    patch:++  - user_agent_string: 'Asynchronous WinHTTP/1.0'+    family: 'WinHTTP'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: '1470.net crawler'+    family: '1470.net crawler'+    major:+    minor:+    patch:++  - user_agent_string: '50.nu/0.01 (  http://50.nu/bot.html )'+    family: '50.nu'+    major: '0'+    minor: '01'+    patch:++  - user_agent_string: '8bo Crawler Bot'+    family: '8bo Crawler Bot'+    major:+    minor:+    patch:++  - user_agent_string: 'Aboundex/0.2 (http://www.aboundex.com/crawler/)'+    family: 'Aboundex'+    major: '0'+    minor: '2'+    patch:++  - user_agent_string: 'Accoona-AI-Agent/1.1.1 (crawler at accoona dot com)'+    family: 'Accoona-AI-Agent'+    major: '1'+    minor: '1'+    patch: '1'++  - user_agent_string: 'Accoona-Biz-Agent/1.1.1 crawler@accoona.com'+    family: 'Accoona-Biz-Agent'+    major: '1'+    minor: '1'+    patch: '1'++  - user_agent_string: 'AdsBot-Google'+    family: 'AdsBot-Google'+    major:+    minor:+    patch:++  - user_agent_string: 'AppEngine-Google; ( http://code.google.com/appengine)'+    family: 'AppEngine-Google'+    major:+    minor:+    patch:++  - user_agent_string: 'Inne: Mozilla/2.0 (compatible; Ask Jeeves/Teoma;  http://sp.ask.com/docs/about/tech_crawling.html)'+    family: 'Ask Jeeves'+    major:+    minor:+    patch:++  - user_agent_string: 'BaiDuSpider'+    family: 'BaiDuSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'Baiduspider'+    family: 'Baiduspider'+    major:+    minor:+    patch:++  - user_agent_string: "'Mozilla/5.0 (compatible; Baiduspider/2.0; +ht'"+    family: 'Baiduspider'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Baiduspider-cpro; +http://www.baidu.com/search/spider.html)'+    family: 'Baiduspider-cpro'+    major:+    minor:+    patch:++  - user_agent_string: 'Baiduspider-image ( http://www.baidu.com/search/spider.htm)'+    family: 'Baiduspider-image'+    major:+    minor:+    patch:++  - user_agent_string: 'Baiduspider-testbranch'+    family: 'Baiduspider-testbranch'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534  (KHTML, like Gecko) BingPreview/1.0b'+    family: 'BingPreview'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'BlogBridge 6.7 (http://www.blogbridge.com/) 1.6.0_18'+    family: 'BlogBridge'+    major: '6'+    minor: '7'+    patch:++  - user_agent_string: 'BoardReader Blog Indexer(http://boardreader.com)'+    family: 'BoardReader Blog Indexer'+    major:+    minor:+    patch:++  - user_agent_string: 'BoardReader Favicon Fetcher /1.0 info@boardreader.com'+    family: 'BoardReader Favicon Fetcher'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla 4.0(compatible; BotSeer/1.0;  http://botseer.ist.psu.edu)'+    family: 'BotSeer'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'CRAWL-E/0.6.4'+    family: 'CRAWL-E'+    major: '0'+    minor: '6'+    patch: '4'++  - user_agent_string: 'Mozilla/5.0 (compatible; Charlotte/1.0b; charlotte@beta.spider.com)'+    family: 'Charlotte'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Checklinks/1.3 (pywikipedia robot; http://toolserver.org/~dispenser/view/Checklinks)'+    family: 'Checklinks'+    major: '1'+    minor: '3'+    patch:++  - user_agent_string: 'Comodo HTTP(S) Crawler - http://www.instantssl.com/crawler'+    family: 'Comodo HTTP(S) Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Comodo-Webinspector-Crawler 2.1'+    family: 'Comodo-Webinspector-Crawler'+    major: '2'+    minor: '1'+    patch:++  - user_agent_string: 'Comodo-Webinspector-Crawler 2.2.2, http://www.comodorobot.com'+    family: 'Comodo-Webinspector-Crawler'+    major: '2'+    minor: '2'+    patch: '2'++  - user_agent_string: 'ConveraCrawler/0.9c ( http://www.authoritativeweb.com/crawl)'+    family: 'ConveraCrawler'+    major: '0'+    minor: '9'+    patch:++  - user_agent_string: 'CrawlConvera0.1 (CrawlConvera@yahoo.com)'+    family: 'CrawlConvera'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE or Firefox mutant; not on Windows server; + http://tab.search.daum.net/aboutWebSearch.html) Daumoa/3.0'+    family: 'Daumoa'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Firefox compatible; MS IE compatible;  http://search.daum.net/) Daumoa-feedfetcher/2.0'+    family: 'Daumoa-feedfetcher'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Feed Seeker Bot (RSS Feed Seeker http://www.MyNewFavoriteThing.com/fsb.php)'+    family: 'Feed Seeker Bot'+    major:+    minor:+    patch:++  - user_agent_string: 'Flamingo_SearchEngine (+http://www.flamingosearch.com/bot)'+    family: 'Flamingo_SearchEngine'+    major:+    minor:+    patch:++  - user_agent_string: 'FollowSite Bot ( http://www.followsite.com/bot.html )'+    family: 'FollowSite Bot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Genieo/1.0 http://www.genieo.com/webfilter.html'+    family: 'Genieo'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible;  MSIE 5.01; GomezAgent 2.0; Windows NT)'+    family: 'GomezAgent'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Googlebot v2.1 (+http://www.google.com/bot.html) (http://www.openwebspider.org/)'+    family: 'Googlebot'+    major: '2'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)'+    family: 'Googlebot'+    major: '2'+    minor: '1'+    patch:++  - user_agent_string: 'Googlebot/2.2'+    family: 'Googlebot'+    major: '2'+    minor: '2'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows; Mozilla 4.0(compatible; Googlebot/5.0;  http://www.google.com/googlebot); en-US;)'+    family: 'Googlebot'+    major: '5'+    minor: '0'+    patch:++  - user_agent_string: 'Googlebot-Image/1.0'+    family: 'Googlebot-Image'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Googlebot-Mobile (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)'+    family: 'Googlebot-Mobile'+    major:+    minor:+    patch:++  - user_agent_string: 'DoCoMo//2.0 N905i(c100;TB;W24H16) (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)'+    family: 'Googlebot-Mobile'+    major: '2'+    minor: '1'+    patch:++  - user_agent_string: 'Googlebot-News'+    family: 'Googlebot-News'+    major:+    minor:+    patch:++  - user_agent_string: 'Googlebot-Video/1.0'+    family: 'Googlebot-Video'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Googlebot-richsnippets'+    family: 'Googlebot-richsnippets'+    major:+    minor:+    patch:++  - user_agent_string: 'Google Web Preview'+    family: 'Other'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36'+    family: 'Chrome'+    major: '60'+    minor: '0'+    patch: '3112'+    patch_minor: '78'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112 Safari/537.36'+    family: 'Chrome'+    major: '60'+    minor: '0'+    patch: '3112'+    patch_minor:++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview) Chrome/27.0 .1453 Safari/537.36.'+    family: 'Chrome'+    major: '27'+    minor: '0'+    patch:+    patch_minor:++  - user_agent_string: 'HiddenMarket-1.0-beta (www.hiddenmarket.net/crawler.php)'+    family: 'HiddenMarket'+    major:+    minor:+    patch:++  - user_agent_string: 'HooWWWer/2.1.0 ( http://cosco.hiit.fi/search/hoowwwer/ | mailto:crawler-info<at>hiit.fi)'+    family: 'HooWWWer'+    major: '2'+    minor: '1'+    patch: '0'++  - user_agent_string: 'ICC-Crawler(Mozilla-compatible; http://kc.nict.go.jp/icc/crawl.html; icc-crawl(at)ml(dot)nict(dot)go(dot)jp)'+    family: 'ICC-Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'ICC-Crawler/2.0 (Mozilla-compatible; ; http://kc.nict.go.jp/project1/crawl.html)'+    family: 'ICC-Crawler'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'IconSurf/2.0 favicon finder (see http://iconsurf.com/robot.html)'+    family: 'IconSurf'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'IlTrovatore/1.2 (IlTrovatore; http://www.iltrovatore.it/bot.html; bot@iltrovatore.it)'+    family: 'IlTrovatore'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'IlTrovatore-Setaccio ( http://www.iltrovatore.it)'+    family: 'IlTrovatore-Setaccio'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; InfuzApp/1.0; +http://www.infuz.com/bot.html)'+    family: 'InfuzApp'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'InternetArchive-1.0'+    family: 'InternetArchive'+    major:+    minor:+    patch:++  - user_agent_string: 'InternetArchive/0.8-dev (Nutch; http://lucene.apache.org/nutch/bot.html; nutch-agent@lucene.apache.org)'+    family: 'InternetArchive'+    major: '0'+    minor: '8'+    patch:++  - user_agent_string: 'KDDI-CA34 UP.Browser/6.2.0.10.2.2(GUI)MMP/2.0 (compatible; KDDI-Googlebot-Mobile/2.1; http://www.google.com/bot.html)'+    family: 'KDDI-Googlebot-Mobile'+    major: '2'+    minor: '1'+    patch:++  - user_agent_string: 'kalooga/KaloogaBot (Kalooga; http://www.kalooga.com/info.html?page=crawler)'+    family: 'KaloogaBot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Kraken/0.1; http://linkfluence.net/; bot@linkfluence.net)'+    family: 'Kraken'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'Kurzor/1.0 (Kurzor; http://adcenter.hu/docs/en/bot.html; cursor@easymail.hu)'+    family: 'Kurzor'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'LEIA/3.01pr (LEIAcrawler; leia@gseek.com; http://www.gseek.com)'+    family: 'LEIA'+    major: '3'+    minor: '01'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows compatible LesnikBot)'+    family: 'LesnikBot'+    major:+    minor:+    patch:++  - user_agent_string: 'Linguee Bot (bot@linguee.com)'+    family: 'Linguee Bot'+    major:+    minor:+    patch:++  - user_agent_string: 'LinkAider (http://linkaider.com/crawler/)'+    family: 'LinkAider'+    major:+    minor:+    patch:++  - user_agent_string: 'Lite Bot0316B'+    family: 'Lite Bot'+    major:+    minor:+    patch:++  - user_agent_string: 'Llaut/1.0 (http://mnm.uib.es/~gallir/llaut/bot.html)'+    family: 'Llaut'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/Fast/2.0; +http://go.mail.ru/help/robots)'+    family: 'Mail.RU_Bot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/2.0; +http://go.mail.ru/help/robots)'+    family: 'Mail.RU_Bot'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Mediapartners-Google'+    family: 'Mediapartners-Google'+    major:+    minor:+    patch:++  - user_agent_string: 'DoCoMo/2.0 SH905i(c100;TB;W24H16) (compatible; Mediapartners-Google/2.1; +http://www.google.com/bot.html)'+    family: 'Mediapartners-Google'+    major: '2'+    minor: '1'+    patch:++  - user_agent_string: 'Microsoft Bing Mobile SocialStreams Bot'+    family: 'Microsoft Bing Mobile SocialStreams Bot'+    major:+    minor:+    patch:++  - user_agent_string: 'Microsoft MSN SocialStreams Bot,gzip(gfe),gzip(gfe)'+    family: 'Microsoft MSN SocialStreams Bot'+    major:+    minor:+    patch:++  - user_agent_string: 'NING/1.0'+    family: 'NING'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Netvibes (http://www.netvibes.com)'+    family: 'Netvibes'+    major:+    minor:+    patch:++  - user_agent_string: 'NewsGator/2.0 Bot (http://www.newsgator.com)'+    family: 'NewsGator'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'NewsGator/3.0,gzip(gfe),gzip(gfe)'+    family: 'NewsGator'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'NewsGator FetchLinks extension/0.2.0 (http://graemef.com)'+    family: 'NewsGator FetchLinks extension'+    major: '0'+    minor: '2'+    patch: '0'++  - user_agent_string: 'NewsGatorOnline/2.0 (http://www.newsgator.com)'+    family: 'NewsGatorOnline'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'SapphireWebCrawler/1.0 (Sapphire Web Crawler using Nutch; http://boston.lti.cs.cmu.edu/crawler/; mhoy@cs.cmu.edu)'+    family: 'Nutch; http:'+    major:+    minor:+    patch:++  - user_agent_string: 'NutchCVS/0.06-dev (Nutch running at UW; http://www.nutch.org/docs/en/bot.html; sycrawl@cs.washington.edu)'+    family: 'NutchCVS'+    major: '0'+    minor: '06'+    patch:++  - user_agent_string: 'NutchOSUOSL/0.05-dev (Nutch; http://www.nutch.org/docs/en/bot.html; nutch-agent@lists.sourceforge.net)'+    family: 'NutchOSUOSL'+    major: '0'+    minor: '05'+    patch:++  - user_agent_string: 'NutchOrg/0.03-dev (Nutch; http://www.nutch.org/docs/bot.html; nutch-agent@lists.sourceforge.net)'+    family: 'NutchOrg'+    major: '0'+    minor: '03'+    patch:++  - user_agent_string: 'ObjectsSearch/0.2 (ObjectsSearch; http://www.ObjectsSearch.com/bot.html; support@thesoftwareobjects.com)'+    family: 'ObjectsSearch'+    major: '0'+    minor: '2'+    patch:++  - user_agent_string: 'Orbiter ( http://www.dailyorbit.com/bot.htm)'+    family: 'Orbiter'+    major:+    minor:+    patch:++  - user_agent_string: 'PagePeeker.com'+    family: 'PagePeeker'+    major:+    minor:+    patch:++  - user_agent_string: 'PagesInventory (robot +http://www.pagesinventory.com)'+    family: 'PagesInventory'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; PaxleFramework/0.1.1;  http://www.paxle.net/en/bot)'+    family: 'PaxleFramework'+    major: '0'+    minor: '1'+    patch: '1'++  - user_agent_string: 'Peeplo Screenshot Bot/0.20 ( abuse at peeplo dot_com )'+    family: 'Peeplo Screenshot Bot'+    major: '0'+    minor: '20'+    patch:++  - user_agent_string: 'PlantyNet_WebRobot_V1.9 babo@plantynet.com'+    family: 'PlantyNet_WebRobot'+    major:+    minor:+    patch:++  - user_agent_string: 'Pompos/1.2 http://pompos.iliad.fr'+    family: 'Pompos'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'Reaper/1.3.6 (Linux; U; Android 4.3; de-DE; GT-I9300 Build/JSS15J)'+    family: 'Reaper'+    major: '1'+    minor: '3'+    patch: '6'++  - user_agent_string: 'Reaper/2.07 ( http://www.sitesearch.ca/reaper)'+    family: 'Reaper'+    major: '2'+    minor: '07'+    patch:++  - user_agent_string: 'RedCarpet/1.0 (http://www.redcarpet-inc.com/robots.html)'+    family: 'RedCarpet'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'RedCarpet/2.1 CFNetwork/672.0.2 Darwin/14.0.0'+    family: 'RedCarpet'+    major: '2'+    minor: '1'+    patch:++  - user_agent_string: 'Riddler (http://riddler.io/about.html)'+    family: 'Riddler'+    major:+    minor:+    patch:++  - user_agent_string: 'Scrapy/0.16.4 (+http://scrapy.org)'+    family: 'Scrapy'+    major: '0'+    minor: '16'+    patch: '4'++  - user_agent_string: 'Scrapy/0.22.2 (+http://scrapy.org)'+    family: 'Scrapy'+    major: '0'+    minor: '22'+    patch: '2'++  - user_agent_string: 'Simpy/1.1 (Simpy; http://www.simpy.com/?ref=bot; feedback at simpy dot com)'+    family: 'Simpy'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/3.0 (Slurp.so/1.0; slurp@inktomi.com; http://www.inktomi.com/slurp.html)'+    family: 'Slurp'+    major:+    minor:+    patch:++  - user_agent_string: 'Slurp/2.0'+    family: 'Slurp'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Yahoo!; U; Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp) Mozilla/5.0 ()'+    family: 'Slurp'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Speedy Spider; http://www.entireweb.com/about/search_tech/speedy_spider/)'+    family: 'Speedy Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Squrl Java/1.6.0_22'+    family: 'Squrl Java'+    major: '1'+    minor: '6'+    patch: '0'++  - user_agent_string: 'TheUsefulbot_2.3.62 (bot@theusefulnet.com)'+    family: 'TheUsefulbot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; de-DE; rv:1.9.0.19) Gecko/2010091808 ThumbShotsBot (KFSW 3.0.6-3)'+    family: 'ThumbShotsBot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Thumbshots.ru; +http://thumbshots.ru/bot) Firefox/3'+    family: 'Thumbshots.ru'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Vagabondo/Wapspider; webcrawler at wise-guys dot nl; http://webagent.wise-guys.nl/)'+    family: 'Vagabondo'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Vagabondo/2.1; webcrawler at wise-guys dot nl; http://webagent.wise-guys.nl/)'+    family: 'Vagabondo'+    major: '2'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible;  Vagabondo/2.2; webcrawler at wise-guys dot nl; http://webagent.wise-guys.nl/)'+    family: 'Vagabondo'+    major: '2'+    minor: '2'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible;  Vagabondo/2.3; webcrawler at wise-guys dot nl; http://webagent.wise-guys.nl/)'+    family: 'Vagabondo'+    major: '2'+    minor: '3'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible;  Vagabondo/4.0Beta; webcrawler at wise-guys dot nl; http://webagent.wise-guys.nl/)'+    family: 'Vagabondo'+    major: '4'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) VoilaBot BETA 1.2 (http://www.voila.com/)'+    family: 'VoilaBot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Votay bot/4.0;  http://www.votay.com/arts/comics/)'+    family: 'Votay bot'+    major: '4'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; WASALive Bot ; http://blog.wasalive.com/wasalive-bots/)'+    family: 'WASALive Bot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU iPhone OS 7_0 like Mac OS X; de-DE) WIRED/3.2.3.11.87970'+    family: 'WIRE'+    major:+    minor:+    patch:++  - user_agent_string: 'WIRE/0.11 (Linux; i686; Robot,Spider,Crawler,aromano@cli.di.unipi.it)'+    family: 'WIRE'+    major: '0'+    minor: '11'+    patch:++  - user_agent_string: 'WIRE/1.0 (Linux;i686;Bot,Robot,Spider,Crawler)'+    family: 'WIRE'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows; Windows NT 6.1; WOW64; rv:2.0b8pre; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MS-RTC LM 8; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; SLCC1; SLCC2; Media Center PC 6.0; GTB6.4; InfoPath.2; en-US; FunWebProducts; Zango 10.1.181.0; SV1; PRTG Network Monitor (www.paessler.com)) Gecko/20101114 Firefox/4.0b8pre QuickTime/7.6.2 Songbird/1.1.2 Web-sniffer/1.0.36 lftp/3.7.4 libwww-perl/5.820 GSiteCrawler/v1.12 rev. 260 Snoopy v1.2'+    family: 'Web-sniffer'+    major: '1'+    minor: '0'+    patch: '36'++  - user_agent_string: 'Mozilla/5.0 (compatible; WebThumbnail/2.2; Website Thumbnail Generator; +http://webthumbnail.org)'+    family: 'WebThumb'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.0.17) Gecko WebThumb/1.0'+    family: 'WebThumb'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'WhatWeb/0.4.8'+    family: 'WhatWeb'+    major: '0'+    minor: '4'+    patch: '8'++  - user_agent_string: 'Jetpack by WordPress.com'+    family: 'WordPress'+    major:+    minor:+    patch:++  - user_agent_string: 'WordPress/1.2.1 PHP/4.3.9-1'+    family: 'WordPress'+    major: '1'+    minor: '2'+    patch: '1'++  - user_agent_string: 'Pachacutec/0.5 (qpImageBuilders.com); WordPress/3.1; http://contacto-latino.com/news'+    family: 'WordPress'+    major: '3'+    minor: '1'+    patch:++  - user_agent_string: 'Wotbox/0.7-alpha (bot@wotbox.com; http://www.wotbox.com)'+    family: 'Wotbox'+    major: '0'+    minor: '7'+    patch:++  - user_agent_string: 'Wotbox/2.01 ( http://www.wotbox.com/bot/)'+    family: 'Wotbox'+    major: '2'+    minor: '01'+    patch:++  - user_agent_string: 'Xenu Link Sleuth 1.1f'+    family: 'Xenu Link Sleuth'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: "Xenu's Link Sleuth 1.0p"+    family: "Xenu's Link Sleuth"+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Xerka WebBot v1.0.0 [AIDO_CREA_ab]'+    family: 'Xerka WebBot'+    major: '1'+    minor: '0'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)'+    family: 'Yahoo! Slurp'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Yahoo! Slurp/3.0 ; http://help.yahoo.com/help/us/ysearch/slurp)'+    family: 'Yahoo! Slurp'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'LG-C1500 UP.Browser/6.2.3 (GUI) MMP/1.0 (compatible;YahooSeeker/M1A1-R2D2; http://help.yahoo.com/help/us/ysearch/crawling/crawling-01.html)'+    family: 'YahooSeeker'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots),gzip(gfe) AppEngine-Google; (+http://code.google.com/appengine; appid: twitter-mirror),gzip(gfe),gzip(gfe),gzip(gfe)'+    family: 'YandexBot'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'Yeti-FeedItemCrawler/1.0 (NHN Corp.;+http://help.naver.com/robots/)'+    family: 'Yeti'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; YodaoBot/1.0; http://www.yodao.com/help/webmaster/spider/; )'+    family: 'YodaoBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible;YodaoBot-Image/1.0;http://www.youdao.com/help/webmaster/spider/;)'+    family: 'YodaoBot-Image'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'YowedoBot/Yowedo 1.0 (Search Engine crawler for yowedo.com; http://yowedo.com/en/partners.html; crawler@yowedo.com)'+    family: 'Yowedo'+    major:+    minor:+    patch:++  - user_agent_string: 'Zao-Crawler'+    family: 'Zao'+    major:+    minor:+    patch:++  - user_agent_string: 'ZeBot_www.ze.bz (ze.bz@hotmail.com)'+    family: 'ZeBot_www.ze.bz'+    major:+    minor:+    patch:++  - user_agent_string: 'ZooShot 0.42'+    family: 'ZooShot'+    major: '0'+    minor: '42'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE; ZyBorg; Win32)'+    family: 'ZyBorg'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 compatible ZyBorg/1.0 (ZyBorg@WISEnutbot.com; http://www.WISEnutbot.com)'+    family: 'ZyBorg'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'AltaVista Intranet V2.0 Compaq Altavista Eval sveand@altavista.net'+    family: 'altavista'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; archive.bibalex.org_bot; +http://www.test.com)'+    family: 'archive.bibalex.org_bot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; archive.org_bot/heritrix-1.15.1-x  http://pandora.nla.gov.au/crawl.html)'+    family: 'archive.org_bot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; special_archiver/3.2.0 +http://www.loc.gov/webarchiving/notice_to_webmasters.html)'+    family: 'archiver'+    major: '3'+    minor: '2'+    patch: '0'++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50215; baiduspider)'+    family: 'baiduspider'+    major:+    minor:+    patch:++  - user_agent_string: 'baiduspider-mobile-gate'+    family: 'baiduspider-mobile-gate'+    major:+    minor:+    patch:++  - user_agent_string: 'bingbot'+    family: 'bingbot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; bingbot/2.0  http://www.bing.com/bingbot.htm)'+    family: 'bingbot'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'boitho.com-dc/0.4 ( http://www.boitho.com/dcbot.html )'+    family: 'boitho.com-dc'+    major: '0'+    minor: '4'+    patch:++  - user_agent_string: 'boitho.com-dc/0.86 ( http://www.boitho.com/dcbot.html )'+    family: 'boitho.com-dc'+    major: '0'+    minor: '86'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; clumboot; +http://localhost/clumpit/bot.php)'+    family: 'clumboot'+    major:+    minor:+    patch:++  - user_agent_string: 'findlinks/2.6 ( http://wortschatz.uni-leipzig.de/findlinks/)'+    family: 'findlinks'+    major: '2'+    minor: '6'+    patch:++  - user_agent_string: 'Mozilla/4.0 compatible FurlBot/Furl Search 2.0 (FurlBot; http://www.furl.net; wn.furlbot@looksmart.net)'+    family: 'furlbot'+    major:+    minor:+    patch:++  - user_agent_string: 'gonzo1[D] mailto:crawleradmin.t-info@telekom.de'+    family: 'gonzo1'+    major:+    minor:+    patch:++  - user_agent_string: 'grub-client-1.5.3; (grub-client-1.5.3; Crawl your own stuff with http://grub.org)'+    family: 'grub-client'+    major:+    minor:+    patch:++  - user_agent_string: 'gsa-crawler'+    family: 'gsa-crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; cdlwas_bot; heritrix/1.14.1 +http://webarchives.cdlib.org/p/webmasters)'+    family: 'heritrix'+    major: '1'+    minor: '14'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (compatible; heritrix/3.2.0 +http://suki.ling.helsinki.fi/eng/project.html)'+    family: 'heritrix'+    major: '3'+    minor: '2'+    patch: '0'++  - user_agent_string: 'holmes/2.3'+    family: 'holmes'+    major: '2'+    minor: '3'+    patch:++  - user_agent_string: 'holmes/3.12.4 (http://morfeo.centrum.cz/bot)'+    family: 'holmes'+    major: '3'+    minor: '12'+    patch: '4'++  - user_agent_string: 'htdig/3.1.6 (romieu@bastide-medical.fr)'+    family: 'htdig'+    major: '3'+    minor: '1'+    patch: '6'++  - user_agent_string: 'ia_archiver/8.7 (Windows NT 5.0; )'+    family: 'ia_archiver'+    major: '8'+    minor: '7'+    patch:++  - user_agent_string: 'ichiro/1.0 (ichiro@nttr.co.jp)'+    family: 'ichiro'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'ichiro/5.0 (http://help.goo.ne.jp/door/crawler.html)'+    family: 'ichiro'+    major: '5'+    minor: '0'+    patch:++  - user_agent_string: 'DoCoMo/2.0 P900i(c100;TB;W24H11)(compatible; ichiro/mobile goo;  http://help.goo.ne.jp/door/crawler.html)'+    family: 'ichiro/mobile'+    major:+    minor:+    patch:++  - user_agent_string: '08_800w_web1 (larbin2.6.3@unspecified.mail)'+    family: 'larbin'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; LYCOSA;+http://lycosa.se)'+    family: 'lycos'+    major:+    minor:+    patch:++  - user_agent_string: 'masidani_bot_v0.3 (info@masidani.com)'+    family: 'masidani_bot'+    major:+    minor:+    patch:++  - user_agent_string: 'mozDex/0.05-dev (mozDex; http://www.mozdex.com/bot.html; spider@mozdex.com)'+    family: 'mozDex'+    major: '0'+    minor: '05'+    patch:++  - user_agent_string: 'msnbot/2.0 (+http://search.msn.com/msnbot.htm)'+    family: 'msnbot'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; msnbot/2.1) Jakarta Commons-HttpClient/3.0-rc3 PHPCrawl GStreamer souphttpsrc libsoup/2.27.4 PycURL/7.19.0 XML-RPC for PHP 2.2.1 GoogleFriendConnect/1.0 HTMLParser/1.6 gPodder/0.15.2 ( http://gpodder.org/) anw webtool LoadControl/1.3 WinHttp urlgrabber/3.1.0'+    family: 'msnbot'+    major: '2'+    minor: '1'+    patch:++  - user_agent_string: 'msnbot-media/1.0 ( http://search.msn.com/msnbot.htm)'+    family: 'msnbot-media'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'msnbot-media/2.0b (+http://search.msn.com/msnbot.htm)'+    family: 'msnbot-media'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'MSRBOT (http://research.microsoft.com/research/sv/msrbot)'+    family: 'msrbot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; scooter; .NET CLR 1.0.3705)'+    family: 'scooter'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; focuseekbot)'+    family: 'seekbot'+    major:+    minor:+    patch:++  - user_agent_string: 'semanticdiscovery/0.2(http://www.semanticdiscovery.com/sd/robot.html)'+    family: 'semanticdiscovery'+    major: '0'+    minor: '2'+    patch:++  - user_agent_string: 'semanticdiscovery/2.0(http://www.semanticdiscovery.com/robot.html)'+    family: 'semanticdiscovery'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'voyager/1.0'+    family: 'voyager'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'voyager/2.0 (http://www.kosmix.com/crawler.html)'+    family: 'voyager'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'http://www.almaden.ibm.com/cs/crawler'+    family: 'www.almaden.ibm.com'+    major:+    minor:+    patch:++  - user_agent_string: '449 Overture-WebCrawler/3.8/Fresh (atw-crawler at fast dot no; http://fast.no/support/crawler.asp'+    family: '449 Overture-WebCrawler'+    major: '3'+    minor: '8'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; 80bot/0.71; http://www.80legs.com/spider.html;) Gecko/2008032620'+    family: '80bot'+    major: '0'+    minor: '71'+    patch:++  - user_agent_string: 'A6-Indexer/1.0 (http://www.a6corp.com/a6-web-scraping-policy/)'+    family: 'A6-Indexer'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'AcquiloSpider/1.0,gzip(gfe),gzip(gfe)'+    family: 'AcquiloSpider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Aleksika Spider/1.0 ( http://www.aleksika.com/)'+    family: 'Aleksika Spider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'AmorankSpider/0.1; +http://amorank.com/webcrawler.html'+    family: 'AmorankSpider'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'AnomaliesBot/0.06-dev (The Anomalies Network Search Spider; http://www.anomalies.net; info@anomalies.net)'+    family: 'AnomaliesBot'+    major: '0'+    minor: '06'+    patch:++  - user_agent_string: 'Automattic Analytics Crawler/0.1; http://wordpress.com/crawler/'+    family: 'Automattic Analytics Crawler'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'Automattic Analytics Crawler/0.2;+http://wordpress.com/crawler/'+    family: 'Automattic Analytics Crawler'+    major: '0'+    minor: '2'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; BLEXBot/1.0; +http://webmeup.com/crawler.html)'+    family: 'BLEXBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'BabalooSpider/1.2 (BabalooSpider; http://www.babaloo.si; spider@babaloo.si)'+    family: 'BabalooSpider'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'BabalooSpider/1.3 (BabalooSpider; http://www.babaloo.si; spider@babaloo.si)'+    family: 'BabalooSpider'+    major: '1'+    minor: '3'+    patch:++  - user_agent_string: 'BebopBot/2.5.1 (compatible; media crawler V1;  http://www.apassion4jazz.net/bebopbot.html;)'+    family: 'BebopBot'+    major: '2'+    minor: '5'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (compatible; BlinkaCrawler/1.0;  http://www.blinka.jp/crawler/)'+    family: 'BlinkaCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'BlogRangerCrawler/1.0'+    family: 'BlogRangerCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Brekiri crawler/1.0'+    family: 'Brekiri crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'BurstFindCrawler/1.1 (crawler.burstfind.com; http://crawler.burstfind.com; crawler@burstfind.com)'+    family: 'BurstFindCrawler'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'CCBot/1.0 ( http://www.commoncrawl.org/bot.html)'+    family: 'CCBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'CCBot/2.0 (http://commoncrawl.org/faq/)'+    family: 'CCBot'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'CamontSpider/1.0  http://epweb2.ph.bham.ac.uk/user/slater/camont/info.html'+    family: 'CamontSpider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'CazoodleBot/0.1 (CazoodleBot Crawler; http://www.cazoodle.com; mqbot@cazoodle.com)'+    family: 'CazoodleBot'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; CloudServerMarketSpider/1.0; +http://www.cloudservermarket.com/spider.html)'+    family: 'CloudServerMarketSpider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; CompSpyBot/1.0; +http://www.compspy.com/spider.html)'+    family: 'CompSpyBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'ConveraMultiMediaCrawler/0.1 ( http://www.authoritativeweb.com/crawl)'+    family: 'ConveraMultiMediaCrawler'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'CosmixCrawler/0.1'+    family: 'CosmixCrawler'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'Crawl/0.1 langcrawl/0.1'+    family: 'Crawl'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; CrawlBot/1.0.0)'+    family: 'CrawlBot'+    major: '1'+    minor: '0'+    patch: '0'++  - user_agent_string: 'Crawllybot/0.1/0.1 (Crawllybot/0.1; http://www.crawlly.com; crawler@crawlly.com)'+    family: 'Crawllybot'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Crawly/1.9;  http://92.51.162.40/crawler.html)'+    family: 'Crawly'+    major: '1'+    minor: '9'+    patch:++  - user_agent_string: 'Crawlzilla/1.0 (Crawlzilla; http://www.crawlzilla.com; crawler@crawlzilla.com)'+    family: 'Crawlzilla'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'CydralSpider/3.2 (Cydral Image Search; http://www.cydral.com)'+    family: 'CydralSpider'+    major: '3'+    minor: '2'+    patch:++  - user_agent_string: 'DealGates Bot/1.1 by Luc Michalski (http://spider.dealgates.com/bot.html)'+    family: 'DealGates Bot'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'Denodo IECrawler/4.5,gzip(gfe),gzip(gfe)'+    family: 'Denodo IECrawler'+    major: '4'+    minor: '5'+    patch:++  - user_agent_string: 'Diffbot/0.1'+    family: 'Diffbot'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'DomainCrawler/2.0 (info@domaincrawler.com; http://www.domaincrawler.com/bot'+    family: 'DomainCrawler'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'DotBot/1.0.1 (http://www.dotnetdotcom.org/, crawler@dotnetdotcom.org)'+    family: 'DotBot'+    major: '1'+    minor: '0'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (compatible; DotBot/1.1; http://www.dotnetdotcom.org/, crawler@dotnetdotcom.org)'+    family: 'DotBot'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'DotSpotsBot/0.2 (crawler; support at dotspots.com)'+    family: 'DotSpotsBot'+    major: '0'+    minor: '2'+    patch:++  - user_agent_string: 'ERACrawler/1.0'+    family: 'ERACrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; EventGuruBot/1.0; +http://www.eventguru.com/spider.html)'+    family: 'EventGuruBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Ex-Crawler/0.1.5a; powered by ex-crawler; +http://www.ex-crawler.de/) Java/1.6.0_20,gzip(gfe),gzip(gfe)'+    family: 'Ex-Crawler'+    major: '0'+    minor: '1'+    patch: '5'++  - user_agent_string: 'ExactSeek Crawler/0.1'+    family: 'ExactSeek Crawler'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'ExactSeekCrawler/1.0'+    family: 'ExactSeekCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'FANGCrawl/0.01'+    family: 'FANGCrawl'+    major: '0'+    minor: '01'+    patch:++  - user_agent_string: 'FAST Enterprise Crawler/6 (www.fastsearch.com)'+    family: 'FAST Enterprise Crawler'+    major: '6'+    minor:+    patch:++  - user_agent_string: 'FAST-WebCrawler/2.2.11 (crawler@fast.no; http://www.fast.no/faq/faqfastwebsearch/faqfastwebcrawler.html)'+    family: 'FAST-WebCrawler'+    major: '2'+    minor: '2'+    patch: '11'++  - user_agent_string: 'FAST-WebCrawler/3.7 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)'+    family: 'FAST-WebCrawler'+    major: '3'+    minor: '7'+    patch:++  - user_agent_string: 'NokiaN70/. FASTMobileCrawl/6.6 Profile/MIDP-2.0 Configuration/CLDC-1.1'+    family: 'FASTMobileCrawl'+    major: '6'+    minor: '6'+    patch:++  - user_agent_string: 'FlaxCrawler/1.0,gzip(gfe),gzip(gfe)'+    family: 'FlaxCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'FyberSpider/1.3 (http://www.fybersearch.com/fyberspider.php)'+    family: 'FyberSpider'+    major: '1'+    minor: '3'+    patch:++  - user_agent_string: 'GarlikCrawler/1.2 (http://garlik.com/'+    family: 'GarlikCrawler'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'GematchCrawler/2.1 (http://www.gematch.com/crawler.html)'+    family: 'GematchCrawler'+    major: '2'+    minor: '1'+    patch:++  - user_agent_string: 'Gigabot/2.0/gigablast.com/spider.html'+    family: 'Gigabot'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Gigabot/3.0 (http://www.gigablast.com/spider.html)'+    family: 'Gigabot'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'GingerCrawler/1.0 (Language Assistant for Dyslexics; www.gingersoftware.com/crawler_agent.htm; support at ginger software dot com)'+    family: 'GingerCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'GoGuidesBot/0.0.1 (GoGuides Indexing Spider; http://www.goguides.org/spider.html)'+    family: 'GoGuidesBot'+    major: '0'+    minor: '0'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (compatible; GrapeshotCrawler/2.0; +http://www.grapeshot.co.uk/crawler.php)'+    family: 'GrapeshotCrawler'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'HPI FeedCrawler/0.1 (+http://www.hpi.uni-potsdam.de/meinel/bross/feedcrawler)'+    family: 'HPI FeedCrawler'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'HRCrawler/2.0 (XF86; MacOS x86_64) AppleWebKit/537.31 (KHTML, like Gecko)'+    family: 'HRCrawler'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Hailoobot/1.2;  http://www.hailoo.com/spider.html)'+    family: 'Hailoobot'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'Hatena::Crawler/0.01'+    family: 'Hatena::Crawler'+    major: '0'+    minor: '01'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; HiveCrawler/1.2 http://www.businessinsider.com)'+    family: 'HiveCrawler'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Host-Spy Crawler/1.2; +http://www.host-spy.com/)'+    family: 'Host-Spy Crawler'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'HttpSpider/0.91'+    family: 'HttpSpider'+    major: '0'+    minor: '91'+    patch:++  - user_agent_string: 'HuaweiSymantecSpider/1.0 DSE-support@huaweisymantec.com (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR ; http://www.huaweisymantec.com/cn/IRL/spider)'+    family: 'HuaweiSymantecSpider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'IRLbot/1.0 ( http://irl.cs.tamu.edu/crawler)'+    family: 'IRLbot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'IRLbot/3.0 (compatible; MSIE 6.0; http://irl.cs.tamu.edu/crawler)'+    family: 'IRLbot'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; Iplexx Spider/1.1)'+    family: 'Iplexx Spider'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'Jambot/0.1.1 (Jambot; http://www.jambot.com/blog; crawler@jambot.com)'+    family: 'Jambot'+    major: '0'+    minor: '1'+    patch: '1'++  - user_agent_string: 'Jomjaibot/1.0 Crawl (+http://www.jomjaibot.com/)'+    family: 'Jomjaibot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'KIT webcrawler/0.2.4'+    family: 'KIT webcrawler'+    major: '0'+    minor: '2'+    patch: '4'++  - user_agent_string: 'Kyoto-Crawler/2.0 (Mozilla-compatible; kyoto-crawler-contact(at)nlp(dot)kuee(dot)kyoto-u(dot)ac(dot)jp; http://nlp.ist.i.kyoto-u.ac.jp/)'+    family: 'Kyoto-Crawler'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'LB-Crawler/1.0'+    family: 'LB-Crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'LSSRocketCrawler/1.0 LightspeedSystems'+    family: 'LSSRocketCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040707 Lightningspider/0.9.2'+    family: 'Lightningspider'+    major: '0'+    minor: '9'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (compatible; LikaholixCrawler/1.0; +http://mylikes.com/about/crawler)'+    family: 'LikaholixCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Logict IPv6 Crawler/1.0 (http://ipv6search.logict.net),gzip(gfe),gzip(gfe)'+    family: 'Logict IPv6 Crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'MPICrawler/0.1 +http://kermit.news.cs.nyu.edu/crawler.html,gzip(gfe),gzip(gfe)'+    family: 'MPICrawler'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'Opera/8.01 (J2ME/MIDP; MXit WebBot/1.8.3.119) Opera Mini/3.1'+    family: 'MXit WebBot'+    major: '1'+    minor: '8'+    patch: '3'++  - user_agent_string: 'MetaGeneratorCrawler/1.3.8 (www.metagenerator.info)'+    family: 'MetaGeneratorCrawler'+    major: '1'+    minor: '3'+    patch: '8'++  - user_agent_string: 'Mozilla/5.0 (compatible; MetamojiCrawler/1.0; +http://www.metamoji.com/jp/crawler.html'+    family: 'MetamojiCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'MonkeyCrawl/0.05 (MonkeyCrawl; http://www.monkeymethods.org;  )'+    family: 'MonkeyCrawl'+    major: '0'+    minor: '05'+    patch:++  - user_agent_string: 'Mozilla crawl/5.0 (compatible; fairshare.cc +http://fairshare.cc)'+    family: 'Mozilla crawl'+    major: '5'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; NLCrawler/2.0.15; Linux 2.6.3-7; i686; en_US)KHTML/3.4.89 (like Gecko)'+    family: 'NLCrawler'+    major: '2'+    minor: '0'+    patch: '15'++  - user_agent_string: 'NMG Spider/0.3 (szukanko.com)'+    family: 'NMG Spider'+    major: '0'+    minor: '3'+    patch:++  - user_agent_string: 'NalezenCzBot/1.0 (http://www.nalezen.cz/about-crawler)'+    family: 'NalezenCzBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'NationalDirectory-WebSpider/1.3'+    family: 'NationalDirectory-WebSpider'+    major: '1'+    minor: '3'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; NetSeer crawler/2.0; +http://www.netseer.com/crawler.html; crawler@netseer.com)'+    family: 'NetSeer crawler'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'NetWhatCrawler/0.06-dev (NetWhatCrawler from NetWhat.com; http://www.netwhat.com; support@netwhat.com)'+    family: 'NetWhatCrawler'+    major: '0'+    minor: '06'+    patch:++  - user_agent_string: 'compatible; Netseer crawler/2.0; +http://www.netseer.com/crawler.html; crawler@netseer.com'+    family: 'Netseer crawler'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'New-Sogou-Spider/1.0 (compatible; MSIE 5.5; Windows 98)'+    family: 'New-Sogou-Spider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'NewzCrawler/1.9 (compatible; MSIE 6.00; Newz Crawler 1.9; http://www.newzcrawler.com/ )'+    family: 'NewzCrawler'+    major: '1'+    minor: '9'+    patch:++  - user_agent_string: 'NodejsSpider/1.0'+    family: 'NodejsSpider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; .None-Crawler/0.1 +http://domains.ericbinek.None/)'+    family: 'None-Crawler'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'OmniExplorer_Bot/6.70 ( http://www.omni-explorer.com) WorldIndexer'+    family: 'OmniExplorer_Bot'+    major: '6'+    minor: '70'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; OpenCrawler/0.1.6.6; http://code.google.com/p/opencrawler/),gzip(gfe),gzip(gfe)'+    family: 'OpenCrawler'+    major: '0'+    minor: '1'+    patch: '6'++  - user_agent_string: 'OpenWebSpider/0.6 (http://www.openwebspider.org)'+    family: 'OpenWebSpider'+    major: '0'+    minor: '6'+    patch:++  - user_agent_string: 'Overture-WebCrawler/3.8/Fresh (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)'+    family: 'Overture-WebCrawler'+    major: '3'+    minor: '8'+    patch:++  - user_agent_string: 'PArchiveCrawler/1.0'+    family: 'PArchiveCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'PercolateCrawler/4 (ops@percolate.com)'+    family: 'PercolateCrawler'+    major: '4'+    minor:+    patch:++  - user_agent_string: 'Pete-Spider/1.1'+    family: 'Pete-Spider'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'PicSpider/1.1 (spider@217-20-118-26.internetserviceteam.com; http://www.bildkiste.de)'+    family: 'PicSpider'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'PluckItCrawler/1.0 (compatible; Mozilla 4.0; MSIE 5.5; http://www.pluck.com;)'+    family: 'PluckItCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; PornSpider/1.0; +http://www.pornspider.net)'+    family: 'PornSpider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'PortalBSpider/2.0 (spider@portalb.com)'+    family: 'PortalBSpider'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; ProCogBot/1.0; +http://www.procog.com/spider.html)'+    family: 'ProCogBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'ProloCrawler/1.0 (http://www.prolo.com)'+    family: 'ProloCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'PsSpider/0.7 (spider@bildkiste.de)'+    family: 'PsSpider'+    major: '0'+    minor: '7'+    patch:++  - user_agent_string: 'RSSIncludeBot/1.0 (http://www.rssinclude.com/spider)'+    family: 'RSSIncludeBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ;  Embedded Web Browser from: http://bsalsa.com/; RSScrawler/4.0 (compatible; MSIE 6.0; Windows NT 5.0); .NET CLR 2.0.50727'+    family: 'RSScrawler'+    major: '4'+    minor: '0'+    patch:++  - user_agent_string: 'RSpider/1.0'+    family: 'RSpider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'RyzeCrawler/1.1.0 (+http://www.ryze.nl/crawler/)'+    family: 'RyzeCrawler'+    major: '1'+    minor: '1'+    patch: '0'++  - user_agent_string: 'SMXCrawler/1.0 (www.socialmetrix.com)'+    family: 'SMXCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; SRCCN!Spider/1.1; +http://site.srccn.com/spider.html)'+    family: 'SRCCN!Spider'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; SWEBot/1.0; +http://swebot-crawler.net)'+    family: 'SWEBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Sangfor Spider/0.7'+    family: 'Sangfor Spider'+    major: '0'+    minor: '7'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Sailfish 3.0; Mobile; rv:45.0) Gecko/45.0 Firefox/45.0 SailfishBrowser/1.0'+    family: 'Sailfish Browser'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Sailfish 3.0; Mobile; rv:45.0) Gecko/45.0 Firefox/45.0 SailfishBrowser/1.2.3'+    family: 'Sailfish Browser'+    major: '1'+    minor: '2'+    patch: '3'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG GT-I9506-ORANGE Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'+    family: 'Samsung Internet'+    major: '2'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-T800 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.0 Chrome/38.0.2125.102 Safari/537.36'+    family: 'Samsung Internet'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-G920F Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2 Chrome/38.0.2125.102 Mobile Safari/537.36'+    family: 'Samsung Internet'+    major: '3'+    minor: '2'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-T710 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.5 Chrome/38.0.2125.102 Safari/537.36'+    family: 'Samsung Internet'+    major: '3'+    minor: '5'+    patch:++  - user_agent_string: 'ScSpider/0.2'+    family: 'ScSpider'+    major: '0'+    minor: '2'+    patch:++  - user_agent_string: 'ScollSpider/2.0 ( http://www.webwobot.com/ScollSpider.php)'+    family: 'ScollSpider'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Screaming Frog SEO Spider/1.10'+    family: 'Screaming Frog SEO Spider'+    major: '1'+    minor: '10'+    patch:++  - user_agent_string: 'Screaming Frog SEO Spider/2,01'+    family: 'Screaming Frog SEO Spider'+    major: '2'+    minor:+    patch:++  - user_agent_string: 'SearchSpider/1.2.10'+    family: 'SearchSpider'+    major: '1'+    minor: '2'+    patch: '10'++  - user_agent_string: 'Searchspider/1.2 (SearchSpider; http://www.searchspider.com; webmaster@searchspider.com)'+    family: 'Searchspider'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'SimpleCrawler/0.1'+    family: 'SimpleCrawler'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'SlugBug Spider/0.1 beta (SlugBug.com search engine; http://www.slugbug.com)'+    family: 'SlugBug Spider'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'SmartAndSimpleWebCrawler/1.3 (https://crawler.dev.java.net),gzip(gfe),gzip(gfe)'+    family: 'SmartAndSimpleWebCrawler'+    major: '1'+    minor: '3'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Linux; Socialradarbot/2.0; en-US; crawler@infegy.com)'+    family: 'Socialradarbot'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Sogou Orion spider/4.0( http://www.sogou.com/docs/help/webmasters.htm#07)'+    family: 'Sogou Orion spider'+    major: '4'+    minor: '0'+    patch:++  - user_agent_string: 'Sogou Pic Spider/3.0( http://www.sogou.com/docs/help/webmasters.htm#07)'+    family: 'Sogou Pic Spider'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'Sogou Push Spider/3.0( http://www.sogou.com/docs/help/webmasters.htm#07)'+    family: 'Sogou Push Spider'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'Sogou develop spider/4.0( http://www.sogou.com/docs/help/webmasters.htm#07)'+    family: 'Sogou develop spider'+    major: '4'+    minor: '0'+    patch:++  - user_agent_string: 'Sogou head spider/3.0( http://www.sogou.com/docs/help/webmasters.htm#07)'+    family: 'Sogou head spider'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'Sogou web spider/3.0( http://www.sogou.com/docs/help/webmasters.htm#07)'+    family: 'Sogou web spider'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'Sogou-Test-Spider/4.0 (compatible; MSIE 5.5; Windows 98)'+    family: 'Sogou-Test-Spider'+    major: '4'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Sosoimagespider/2.0; +http://help.soso.com/soso-image-spider.htm)'+    family: 'Sosoimagespider'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Sosospider/2.0; +http://help.soso.com/webspider.htm)'+    family: 'Sosospider'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Spider/5.0'+    family: 'Spider'+    major: '5'+    minor: '0'+    patch:++  - user_agent_string: 'SpokeSpider/1.0 (http://support.spoke.com/webspider/) Mozilla/5.0 (not really)'+    family: 'SpokeSpider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; StoneSunSpider/1.1)'+    family: 'StoneSunSpider'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; StreamScraper/1.0; +http://code.google.com/p/streamscraper/)'+    family: 'StreamScraper'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.5; SuperSpider/139; Windows 98; Win 9x 4.90)'+    family: 'SuperSpider'+    major: '139'+    minor:+    patch:++  - user_agent_string: 'T3census-Crawler/1.0'+    family: 'T3census-Crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'TECOMAC-Crawler/0.3'+    family: 'TECOMAC-Crawler'+    major: '0'+    minor: '3'+    patch:++  - user_agent_string: 'Tasapspider/0.9'+    family: 'Tasapspider'+    major: '0'+    minor: '9'+    patch:++  - user_agent_string: 'TinEye-bot/0.02 (see http://www.tineye.com/crawler.html)'+    family: 'TinEye-bot'+    major: '0'+    minor: '02'+    patch:++  - user_agent_string: 'Top10Ranking Spider/3.1 ( http://www.top10Ranking.nl/, Top10ranking.nl heeft op een aantal woorden uw posities in Google gecheckt)'+    family: 'Top10Ranking Spider'+    major: '3'+    minor: '1'+    patch:++  - user_agent_string: 'TouTrix crawler/1.0'+    family: 'TouTrix crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; TridentSpider/3.1)'+    family: 'TridentSpider'+    major: '3'+    minor: '1'+    patch:++  - user_agent_string: 'TurnitinBot/1.5 (http://www.turnitin.com/robot/crawlerinfo.html)'+    family: 'TurnitinBot'+    major: '1'+    minor: '5'+    patch:++  - user_agent_string: 'TurnitinBot/3.0 (http://www.turnitin.com/robot/crawlerinfo.html)'+    family: 'TurnitinBot'+    major: '3'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Linux i686; en-US; URLfilterDB-crawler/1.0) ufdb/1.0'+    family: 'URLfilterDB-crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (URLfilterDB-crawler/1.1) ufdb/1.0'+    family: 'URLfilterDB-crawler'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'VinjaVideoSpider/1.1'+    family: 'VinjaVideoSpider'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'VisBot/2.0 (Visvo.com Crawler; http://www.visvo.com/bot.html; bot@visvo.com)'+    family: 'VisBot'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; VodpodCrawler/1.0; +http://vodpod.com/site/help)'+    family: 'VodpodCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'WSDLSpider/1.0 (http://www.wsdlworld.com)'+    family: 'WSDLSpider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; WangIDSpider/1.0; +http://www.wangid.com/spider.html)'+    family: 'WangIDSpider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Web-Robot/5.0 (en-US; web-robot.com/policy.html) Web-Robot Crawler/2.0.3'+    family: 'Web-Robot'+    major: '5'+    minor: '0'+    patch:++  - user_agent_string: 'WebAlta Crawler/1.3.18 (http://www.webalta.net/ru/about_webmaster.html) (Windows; U; Windows NT 5.1; ru-RU)'+    family: 'WebAlta Crawler'+    major: '1'+    minor: '3'+    patch: '18'++  - user_agent_string: 'WebAlta Crawler/2.0 (http://www.webalta.net/ru/about_webmaster.html) (Windows; U; Windows NT 5.1; ru-RU)'+    family: 'WebAlta Crawler'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'WebIndexer/1-dev (Web Indexer; mailto://webindexerv1@yahoo.com; webindexerv1@yahoo.com)'+    family: 'WebIndexer'+    major: '1'+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Webbot/0.1; http://www.webbot.ru/bot.html)'+    family: 'Webbot'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'Webspider/1.0 (web spider;  )'+    family: 'Webspider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'WinWebBot/1.0; (Balaena Ltd, UK); http://www.balaena.com/winwebbot.html; winwebbot@balaena.com;)'+    family: 'WinWebBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'WinkBot/0.06 (Wink.com search engine web crawler; http://www.wink.com/Wink:WinkBot; winkbot@wink.com)'+    family: 'WinkBot'+    major: '0'+    minor: '06'+    patch:++  - user_agent_string: 'Yahoo-MMCrawler/3.x (mm dash crawler at trd dot overture dot com)'+    family: 'Yahoo-MMCrawler'+    major: '3'+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Yahoo-MMCrawler/4.0; mailto:vertical-crawl-support@yahoo-inc.com)'+    family: 'Yahoo-MMCrawler'+    major: '4'+    minor: '0'+    patch:++  - user_agent_string: 'Yahoo-Newscrawler/3.9 (news-search-crawler at yahoo-inc dot com)'+    family: 'Yahoo-Newscrawler'+    major: '3'+    minor: '9'+    patch:++  - user_agent_string: 'Yahoo-VerticalCrawler-FormerWebCrawler/3.9 crawler at trd dot overture dot com; http://www.alltheweb.com/help/webmaster/crawler'+    family: 'Yahoo-VerticalCrawler-FormerWebCrawler'+    major: '3'+    minor: '9'+    patch:++  - user_agent_string: 'YoonoCrawler/1.0 (crawler@yoono.com)'+    family: 'YoonoCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; YoudaoBot/1.0; http://www.youdao.com/help/webmaster/spider/; )'+    family: 'YoudaoBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; ZemlyaCrawl/1.0; +http://zemlyaozer.com/bot)'+    family: 'ZemlyaCrawl'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: "Zeusbot/0.8.1 (Ulysseek's web-crawling robot; http://www.zeusbot.com; agent@zeusbot.com)"+    family: 'Zeusbot'+    major: '0'+    minor: '8'+    patch: '1'++  - user_agent_string: 'agbot/1.0 (AgHaven.com search engine crawler; http://search.aghaven.com; bot@aghaven.com)'+    family: 'agbot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; archive_crawler/3.0.0-SNAPSHOT-20091205.013431  http://www.archive.org/details/archive_crawler)'+    family: 'archive_crawler'+    major: '3'+    minor: '0'+    patch: '0'++  - user_agent_string: 'audioCrawlerBot/1.0 (http://www.audiocrawler.com/)'+    family: 'audioCrawlerBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'awesomebar_scraper/1.0'+    family: 'awesomebar_scraper'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'blog_crawler/1.0'+    family: 'blog_crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; ca-crawler/1.0)'+    family: 'ca-crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'crawl/0.4 langcrawl/0.1'+    family: 'crawl'+    major: '0'+    minor: '4'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; crawler/3.0.0 +http://www.notconfigured.com/)'+    family: 'crawler'+    major: '3'+    minor: '0'+    patch: '0'++  - user_agent_string: 'dCrawlBot/1.0.1120'+    family: 'dCrawlBot'+    major: '1'+    minor: '0'+    patch: '1120'++  - user_agent_string: 'deepcrawler/3.1 (http://www.queusearch.com/whatis_deepcrawler.php),gzip(gfe),gzip(gfe)'+    family: 'deepcrawler'+    major: '3'+    minor: '1'+    patch:++  - user_agent_string: 'envolk[ITS]spider/1.6 ( http://www.envolk.com/envolkspider.html)'+    family: 'envolk[ITS]spider'+    major: '1'+    minor: '6'+    patch:++  - user_agent_string: 'fastlwspider/1.0'+    family: 'fastlwspider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'i1searchbot/2.0 (i1search web crawler; http://www.i1search.com; crawler@i1search.com)'+    family: 'i1searchbot'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; iaskspider/1.0; MSIE 6.0)'+    family: 'iaskspider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'iaskspider/2.0( http://iask.com/help/help_index.html)'+    family: 'iaskspider'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Liquida.it-Crawler/1.0 ( crawler@liquida.it +http://www.liquida.it )'+    family: 'it-Crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'it2media-domain-crawler/1.0 on crawler-prod.it2media.de'+    family: 'it2media-domain-crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'jrCrawler/1.0b'+    family: 'jrCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; loc-crawl/1.10.1 +http://www.google.com)'+    family: 'loc-crawl'+    major: '1'+    minor: '10'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (compatible; loc-crawler/0.11.0 +http://loc.gov),gzip(gfe),gzip(gfe),gzip(gfe)'+    family: 'loc-crawler'+    major: '0'+    minor: '11'+    patch: '0'++  - user_agent_string: 'DoCoMo/2.0 P904i( m65bot/0.1; c; http://m65.jp/bot.html )'+    family: 'm65bot'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'magpie-crawler/1.1 (U; Linux amd64; en-GB;  http://www.brandwatch.net)'+    family: 'magpie-crawler'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'noxtrumbot/1.0 (crawler@noxtrum.com)'+    family: 'noxtrumbot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'nyobot/1.1 (Noyb.com search engine crawler; http://www.noyb.com; bot@noyb.com),gzip(gfe),gzip(gfe)'+    family: 'nyobot'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; oBot/2.3.1; +http://filterdb.iss.net/crawler/)'+    family: 'oBot'+    major: '2'+    minor: '3'+    patch: '1'++  - user_agent_string: 'omgilibot/0.3 +http://www.omgili.com/Crawler.html'+    family: 'omgilibot'+    major: '0'+    minor: '3'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; rogerBot/1.0; UrlCrawler; http://www.seomoz.org/dp/rogerbot)'+    family: 'rogerBot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'rogerbot/1.1 (http://moz.com/help/pro/what-is-rogerbot-, rogerbot-crawler+pr1-crawler-14@moz.com)'+    family: 'rogerbot'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'semantics webbot/1.0'+    family: 'semantics webbot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; socialbm_bot/1.0; +http://spider.socialbm.net)'+    family: 'socialbm_bot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'tCrawler/0.1,gzip(gfe),gzip(gfe),gzip(gfe)'+    family: 'tCrawler'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'tivraSpider/1.0 (crawler@tivra.com)'+    family: 'tivraSpider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'webscraper/1.0'+    family: 'webscraper'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'wume_crawler/1.1 (http://wume.cse.lehigh.edu/~xiq204/crawler/)'+    family: 'wume_crawler'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'Abrave Spider v5.3 Robot 2 (http://robot.abrave.com)'+    family: '3 Robot'+    major: '2'+    minor:+    patch:++  - user_agent_string: 'Apexoo Spider 1.1'+    family: 'Apexoo Spider'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'BT Crawler 1.0,gzip(gfe),gzip(gfe),gzip(gfe)'+    family: 'BT Crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Bot Blocker Crawler 1.0 (btw, IncrediBILL says "HI!")'+    family: 'Bot Blocker Crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'BurstFind Crawler 1.1 - www.burstfind.com'+    family: 'BurstFind Crawler'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'Comodo Spider 1.1'+    family: 'Comodo Spider'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'Comodo Spider 1.2'+    family: 'Comodo Spider'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'Crawler 0.1,gzip(gfe),gzip(gfe)'+    family: 'Crawler'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'ExB Language Crawler 2.1.5 (+http://www.exb.de/crawler)'+    family: 'ExB Language Crawler'+    major: '2'+    minor: '1'+    patch: '5'++  - user_agent_string: 'Mozilla/5.0 (compatible; FAST Crawler 6.3)'+    family: 'FAST Crawler'+    major: '6'+    minor: '3'+    patch:++  - user_agent_string: 'FAST EnterpriseCrawler 6'+    family: 'FAST EnterpriseCrawler'+    major: '6'+    minor:+    patch:++  - user_agent_string: 'schibstedsokbot (compatible; Mozilla/5.0; MSIE 5.0; FAST FreshCrawler 6; Contact: webcrawl@schibstedsok.no;)'+    family: 'FAST FreshCrawler'+    major: '6'+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; FatBot 2.0; http://www.thefind.com/crawler)'+    family: 'FatBot'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'Feedjit Favicon Crawler 1.0'+    family: 'Feedjit Favicon Crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'HubSpot Crawler 1.0 http://www.hubspot.com/'+    family: 'HubSpot Crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Jaxified Crawler 1.0a (+http://www.jaxified.com/),gzip(gfe),gzip(gfe)'+    family: 'Jaxified Crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'LinksCrawler 0.1beta'+    family: 'LinksCrawler'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'Liquida Spider 1.0 +http://liquida.com/'+    family: 'Liquida Spider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'My Spider 1.0,gzip(gfe),gzip(gfe)'+    family: 'My Spider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'NWSpider 0.9'+    family: 'NWSpider'+    major: '0'+    minor: '9'+    patch:++  - user_agent_string: 'Netchart Adv Crawler 1.0'+    family: 'Netchart Adv Crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (NimbleCrawler 0.1) obeys NimbleCrawler directive contact jpump@looksmart.net'+    family: 'NimbleCrawler'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows;) NimbleCrawler 2.0.1 obeys UserAgent NimbleCrawler For problems contact: crawler@healthline.com'+    family: 'NimbleCrawler'+    major: '2'+    minor: '0'+    patch: '1'++  - user_agent_string: 'OMGCrawler 1.0'+    family: 'OMGCrawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'SeekOn Spider 1.9(+http://www.seekon.com/spider.html)'+    family: 'SeekOn Spider'+    major: '1'+    minor: '9'+    patch:++  - user_agent_string: 'Toms Spider 0.3'+    family: 'Toms Spider'+    major: '0'+    minor: '3'+    patch:++  - user_agent_string: 'Tutorial Crawler 1.4'+    family: 'Tutorial Crawler'+    major: '1'+    minor: '4'+    patch:++  - user_agent_string: 'RB2B-bot v0.1 (Using Fast Enterprise Crawler 6 search@reedbusiness.com)'+    family: 'Using Fast Enterprise Crawler'+    major: '6'+    minor:+    patch:++  - user_agent_string: 'WocBot/Mozilla/5.0 (Wocodi Web Crawler 1.0; http://www.wocodi.com/crawler; crawler@wocodi.com)'+    family: 'Wocodi Web Crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; WordSurfer Spider 2.2;))'+    family: 'WordSurfer Spider'+    major: '2'+    minor: '2'+    patch:++  - user_agent_string: 'XSpider 0.01;http://uncool.oicp.net/spider.html'+    family: 'XSpider'+    major: '0'+    minor: '01'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 7.0) XSpider 7'+    family: 'XSpider'+    major: '7'+    minor:+    patch:++  - user_agent_string: 'Xaldon WebSpider 2.7.b6'+    family: 'Xaldon WebSpider'+    major: '2'+    minor: '7'+    patch:++  - user_agent_string: 'echocrawl 2.0'+    family: 'echocrawl'+    major: '2'+    minor: '0'+    patch:++  - user_agent_string: 'enicura crawler 1.0,gzip(gfe),gzip(gfe)'+    family: 'enicura crawler'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; lworld spider 1.0; Windows NT 5.1)'+    family: 'lworld spider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'FAST-mSEARCH Crawler 0.1 (bergum@fast.no)'+    family: 'FAST-mSEARCH Crawler'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: '123metaspider-Bot (Version: 1.04, powered by www.123metaspider.com)'+    family: '123metaspider-Bot'+    major:+    minor:+    patch:++  - user_agent_string: '360Spider'+    family: '360Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.8webcrawler) http://skateboarddirectory.com'+    family: '8webcrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'AESOP_com_SpiderMan'+    family: 'AESOP_com_SpiderMan'+    major:+    minor:+    patch:++  - user_agent_string: "AISearchBot (Email: aisearchbot@gmail.com; If your web site doesn't want to be crawled, please send us a email.)"+    family: 'AISearchBot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; DAWINCI ANTIPLAG SPIDER)'+    family: 'ANTIPLAG SPIDER'+    major:+    minor:+    patch:++  - user_agent_string: 'AcquiaCrawler,gzip(gfe),gzip(gfe)'+    family: 'AcquiaCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Adaxas Spider (http://www.adaxas.net/)'+    family: 'Adaxas Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0) AddSugarSpiderBot www.idealobserver.com'+    family: 'AddSugarSpiderBot'+    major:+    minor:+    patch:++  - user_agent_string: 'AdnormCrawler www.adnorm.com/crawler'+    family: 'AdnormCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'www.website-analyzer.net Website Analyzer Crawler'+    family: 'Analyzer Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Apexoo Spider (http://www.apexoo.com/spider/)'+    family: 'Apexoo Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'AppCodes crawler - looking for iOS app mentions. More info: support@appcodes.com. Robots.txt id: AppCodesCrawler'+    family: 'AppCodes crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'ArchitextSpider'+    family: 'ArchitextSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'Arikus_Spider'+    family: 'Arikus_Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0 compatible; Asterias Crawler v4;  http://www.singingfish.com/help/spider.html; webmaster@singingfish.com); SpiderThread  Revision: 3.0'+    family: 'Asterias Crawler'+    major: '4'+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible: AstraSpider V.2.1 : astrafind.com)'+    family: 'AstraSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'Autonomy Spider'+    family: 'Autonomy Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'axadine/  (Axadine Crawler; http://www.axada.de/;  )'+    family: 'Axadine Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; BIXOCRAWLER; +http://wiki.github.com/bixo/bixo/bixocrawler; bixo-dev@yahoogroups.com)'+    family: 'BIXOCRAWLER'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; BOTW Spider;  http://botw.org)'+    family: 'BOTW Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'BacklinkCrawler (http://www.backlinktest.com/crawler.html)'+    family: 'BacklinkCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'BaiduImagespider ( http://help.baidu.jp/system/05.html)'+    family: 'BaiduImagespider'+    major:+    minor:+    patch:++  - user_agent_string: 'BarraHomeCrawler (albertof@barrahome.org)'+    family: 'BarraHomeCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'ZoomInfo::Beehive Crawler'+    family: 'Beehive Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'BeijingCrawler'+    family: 'BeijingCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'BejiBot Crawler (BNL Services; http://www.bejjan.net/crawler/)'+    family: 'BejiBot'+    major:+    minor:+    patch:++  - user_agent_string: 'BravoBrian SpiderEngine MarcoPolo'+    family: 'BravoBrian SpiderEngine'+    major:+    minor:+    patch:++  - user_agent_string: 'BrightCrawler (http://www.brightcloud.com/brightcrawler.asp)'+    family: 'BrightCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'BuildCMS crawler (http://www.buildcms.com/crawler)'+    family: 'BuildCMS crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'ByWebSite-Search-Spider,gzip(gfe),gzip(gfe)'+    family: 'ByWebSite-Search-Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'CFG_SPIDER_USER_AGENT'+    family: 'CFG_SPIDER_USER_AGENT'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (CMS Crawler: http://www.cmscrawler.com)'+    family: 'CMS Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'CMS crawler ( http://buytaert.net/crawler/)'+    family: 'CMS crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'CRAZYWEBCRAWLER 0.9.0, http://www.crazywebcrawler.com'+    family: 'CRAZYWEBCRAWLER'+    major: '0'+    minor: '9'+    patch: '0'++  - user_agent_string: 'CSimpleSpider Robot'+    family: 'CSimpleSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'Cityreview Robot (+http://www.cityreview.org/crawler/)'+    family: 'Cityreview Robot'+    major:+    minor:+    patch:++  - user_agent_string: 'Exalead Cloudview Crawler,gzip(gfe),gzip(gfe),gzip(gfe)'+    family: 'Cloudview Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Comodo-Certificates-Spider'+    family: 'Comodo-Certificates-Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Computer_and_Automation_Research_Institute_Crawler (crawler@info.ilab.sztaki.hu)'+    family: 'Computer_and_Automation_Research_Institute_Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Http Connector Spider, contact Alcatel-Lucent IDOL Search'+    family: 'Connector Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Content Crawler'+    family: 'Content Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'CowCrawler/CowCrawler-dev (+http://beta.cow.com),gzip(gfe),gzip(gfe)'+    family: 'CowCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; CrawlDaddy v0.3.0 abot v1.1.1.0 http://code.google.com/p/abot)'+    family: 'CrawlDaddy'+    major: '0'+    minor: '3'+    patch: '0'++  - user_agent_string: 'CrawlFire - you can disable this Robot: http://pastebin.de/25277'+    family: 'CrawlFire'+    major:+    minor:+    patch:++  - user_agent_string: 'CrawlWave/1.2 (crawlwave[at]circular.gr http://www.spiderwave.aueb.gr/'+    family: 'CrawlWave'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'CrawlerBoy Pinpoint.com'+    family: 'CrawlerBoy'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt; Crayon Crawler)'+    family: 'Crayon Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'DRKSpider - Website link validator - http://www.drk.com.ar/spider/,gzip(gfe),gzip(gfe),gzip(gfe)'+    family: 'DRKSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'DefaultCrawlTest/0.6 (Ram Crawl Test; devarajaswami at yahoo dot com)'+    family: 'DefaultCrawlTest'+    major: '0'+    minor: '6'+    patch:++  - user_agent_string: 'FFC Trap Door Spider'+    family: 'Door Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'DoubleVerify Crawler'+    family: 'DoubleVerify Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'EasouSpider'+    family: 'EasouSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'EcoGrader Crawler: Beta'+    family: 'EcoGrader Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Adknowledge Engage Crawler'+    family: 'Engage Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'ByWebSite Search Engine Spider'+    family: 'Engine Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'EverbeeCrawler'+    family: 'EverbeeCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Ex-Crawler/v0.1.5ALPHA SVN rev58; powered by ex-crawler; +http://www.ex-crawler.de/) Java/1.6.0_20,gzip(gfe),gzip(gfe)'+    family: 'Ex-Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'ExactSeek_Spider'+    family: 'ExactSeek_Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; FastCrawler3, support-fastcrawler3@fast.no)'+    family: 'FastCrawler3'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Finderbots finder bot; +http://wiki.github.com/bixo/bixo/bixocrawler; bixo-dev@yahoogroups.com)'+    family: 'Finderbots'+    major:+    minor:+    patch:++  - user_agent_string: 'Findexa Crawler (http://www.findexa.no/gulesider/article26548.ece)'+    family: 'Findexa Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/3.0 (compatible; Fluffy the spider; http://www.searchhippo.com/; info@searchhippo.com)'+    family: 'Fluffy the spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) (Atsameip FreeCrawl!)'+    family: 'FreeCrawl'+    major:+    minor:+    patch:++  - user_agent_string: 'Fujiko Spider (fujiko@inelegant.org)'+    family: 'Fujiko Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; FunkyCrawler; )'+    family: 'FunkyCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'GSiteCrawler/v1.12 rev. 260 (http://gsitecrawler.com/)'+    family: 'GSiteCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'GeekTools Crawler - http://domains.geek-tools.org'+    family: 'GeekTools Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla 4.0 - GetMeLinked Spider www.GetMeLinked.com Web Directory'+    family: 'GetMeLinked Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Gnam Gnam Spider'+    family: 'Gnam Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; GoGuidesBot; http://www.goguides.org/spider.html)'+    family: 'GoGuidesBot'+    major:+    minor:+    patch:++  - user_agent_string: 'GoScraper'+    family: 'GoScraper'+    major:+    minor:+    patch:++  - user_agent_string: 'GrowerIdeas Crawler/GrowerIdeas-nutch-1.6 (Crawls URLs for indexing content for our new search startup which aims to provide simple and smart search across curated content. For more info please contact helloworld@growerideas.com. If you think'+    family: 'GrowerIdeas Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Huaweisymantecspider (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727),gzip(gfe)'+    family: 'Huaweisymantecspider'+    major:+    minor:+    patch:++  - user_agent_string: 'BlogPulse (ISSpider-3.0)'+    family: 'ISSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'IWE Spider v.01 - www.pavka.com.au'+    family: 'IWE Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'IXE Crawler'+    family: 'IXE Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Imperia-LinkSpider,gzip(gfe),gzip(gfe)'+    family: 'Imperia-LinkSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'netEstate Impressumscrawler (+http://www.netestate.de/De/Loesungen/Impressumscrawler)'+    family: 'Impressumscrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Inar_spider2 (tspyyp@tom.com)'+    family: 'Inar_spider2'+    major:+    minor:+    patch:++  - user_agent_string: 'IOI/2.0 (ISC Open Index crawler; http://index.isc.org/; bot@index.isc.org)'+    family: 'Index crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Infocrawler; Alexa Toolbar)'+    family: 'Infocrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; Inspyder-Crawler; http://www.inspyder.com)'+    family: 'Inspyder-Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Willow Internet Crawler by Twotrees V2.1'+    family: 'Internet Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (SKIZZLE! Distributed Internet Spider v1.0 - www.SKIZZLE.com)'+    family: 'Internet Spider'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'IssueCrawler'+    family: 'IssueCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'JUST-CRAWLER( http://www.justsystems.com/jp/tech/crawler/)'+    family: 'JUST-CRAWLER'+    major:+    minor:+    patch:++  - user_agent_string: 'Jayde Crawler. http://www.jayde.com'+    family: 'Jayde Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'JikeSpider; +http://shoulu.jike.com/spider.html'+    family: 'JikeSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible;WI Job Roboter Spider Version 3;+http://www.webintegration.at)'+    family: 'Job Roboter'+    major:+    minor:+    patch:++  - user_agent_string: 'JobSpider_BA/1.1'+    family: 'JobSpider_BA'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'KiwiStatus (NZS.com)/0.2 (NZS.com KiwiStatus Spider,  Local Search New Zealand; http://www.nzs.com; bot-at-nzs dot com)'+    family: 'KiwiStatus Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Kotoss Crawler http://hitokoto.kotoss.com,gzip(gfe),gzip(gfe)'+    family: 'Kotoss Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Kyluka crawl; crawl@kyluka.com; http://www.kyluka.com/static/crawl.html)'+    family: 'Kyluka crawl'+    major:+    minor:+    patch:++  - user_agent_string: 'LNSpiderguy'+    family: 'LNSpiderguy'+    major:+    minor:+    patch:++  - user_agent_string: 'LarbinWebCrawler (internet@bredband.net)'+    family: 'LarbinWebCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'LargeSmall Crawler'+    family: 'LargeSmall Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Lijit Crawler (+http://www.lijit.com/robot/crawler)'+    family: 'Lijit Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'DocWeb Link Crawler (http://doc.php.net)'+    family: 'Link Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Lipperhey Spider; http://www.lipperhey.com/)'+    family: 'Lipperhey Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'LookUpCrawler - lookupcanada.ca [ZSEBOT]'+    family: 'LookUpCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Lycos_Spider_(modspider)'+    family: 'Lycos_Spider_'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) METASpider'+    family: 'METASpider'+    major:+    minor:+    patch:++  - user_agent_string: 'MQbot http://metaquerier.cs.uiuc.edu/crawler'+    family: 'MQbot'+    major:+    minor:+    patch:++  - user_agent_string: 'MSIndianWebcrawl'+    family: 'MSIndianWebcrawl'+    major:+    minor:+    patch:++  - user_agent_string: 'MSR-ISRCCrawler'+    family: 'MSR-ISRCCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'MedSpider v0.0.1'+    family: 'MedSpider'+    major: '0'+    minor: '0'+    patch: '1'++  - user_agent_string: 'Social Media Crawler using your Home URL on Twitter,Facebook,Myspace,Linkedin by ProfileCapture - contact profilecapture@gmail.com to report any problems with my crawling. http://profilecapture.com'+    family: 'Media Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible); MSIE 5.0; Medialab Spider'+    family: 'Medialab Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'DomainsDB.net MetaCrawler v.0.9.7b (http://domainsdb.net/)'+    family: 'MetaCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'FAST MetaWeb Crawler (helpdesk at fastsearch dot com)'+    family: 'MetaWeb Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'CC Metadata Scaper http://wiki.creativecommons.org/Metadata_Scraper'+    family: 'Metadata_Scraper'+    major:+    minor:+    patch:++  - user_agent_string: "MicrosoftPrototypeCrawler (How's my crawling? mailto:newbiecrawler@hotmail.com)"+    family: 'MicrosoftPrototypeCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; MixrankBot; crawler@mixrank.com)'+    family: 'MixrankBot'+    major:+    minor:+    patch:++  - user_agent_string: 'Sogou Mobile Spider1.0 (http://wap.sogou.com)'+    family: 'Mobile Spider1'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla-Firefox-Spider(Wenanry)'+    family: 'Mozilla-Firefox-Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'MultiCrawler, http://sw.deri.org/2006/04/multicrawler/robots.html'+    family: 'MultiCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en; rv:1.9.1.3; MySpaceScraper) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)'+    family: 'MySpaceScraper'+    major:+    minor:+    patch:++  - user_agent_string: 'Norbert the Spider(Burf.com)'+    family: 'Norbert the Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'NuSearch Spider www.nusearch.com'+    family: 'NuSearch Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Nusearch Spider (compatible; MSIE 6.0)'+    family: 'Nusearch Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'OpenWebSpider (link collector; http://links.port30.se/cia.html) v (http://www.openwebspider.org/)'+    family: 'OpenWebSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; OpenX Spider; http://www.openx.org)'+    family: 'OpenX Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; OpenindexSpider; +http://www.openindex.io/en/webmasters/spider.html)'+    family: 'OpenindexSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'Orgbybot/OrgbyBot v1.2 (Spidering the net for Orgby; http://www.orgby.com/  ; Orgby.com Search Engine)'+    family: 'Orgbybot'+    major:+    minor:+    patch:++  - user_agent_string: 'PDFBot (crawler@pdfind.com)'+    family: 'PDFBot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 3.5.21022; .NET CLR 3.5.30729; MS-RTC LM 8; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; .NET CLR 3.0.30729) Jakarta Commons-HttpClient/3.0-rc3 PHPCrawl GStreamer souphttpsrc libsoup/2.27.4 PycURL/7.19.0 XML-RPC for PHP 2.2.1 GoogleFriendConnect/1.0 HTMLParser/1.6 gPodder/0.15.2 ( http://gpodder.org/) anw webtool LoadControl/1.3 WinHttp urlgrabber/3.1.0'+    family: 'PHPCrawl'+    major:+    minor:+    patch:++  - user_agent_string: 'Fast PartnerSite Crawler'+    family: 'PartnerSite Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Patwebbot (http://www.herz-power.de/technik.html)'+    family: 'Patwebbot'+    major:+    minor:+    patch:++  - user_agent_string: 'PeerFactor Crawler'+    family: 'PeerFactor Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'PhoenixWebBot Beta'+    family: 'PhoenixWebBot'+    major:+    minor:+    patch:++  - user_agent_string: 'pipeLiner/0.10 (PipeLine Spider; http://www.pipeline-search.com/webmaster.html)'+    family: 'PipeLine Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'ProjectWF-java-test-crawler'+    family: 'ProjectWF-java-test-crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Punk Spider/PunkSPIDER-v0.1'+    family: 'Punk Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'QuerySeekerSpider ( http://queryseeker.com/bot.html )'+    family: 'QuerySeekerSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'QuickFinder Crawler'+    family: 'QuickFinder Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'OpenLink Virtuoso RDF crawler'+    family: 'RDF crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Jaxified Public RSS Crawler ( http://www.jaxified.com/)'+    family: 'RSS Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'RSS-SPIDER (RSS Feed Seeker http://www.MyNewFavoriteThing.com/fsb.php)'+    family: 'RSS-SPIDER'+    major:+    minor:+    patch:++  - user_agent_string: 'RavenCrawler'+    family: 'RavenCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'ReadPath_Spider'+    family: 'ReadPath_Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'LinkStar Research Crawler (http://linkstar.com/),gzip(gfe),gzip(gfe)'+    family: 'Research Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Research spider - ak1835@albany.edu'+    family: 'Research spider'+    major:+    minor:+    patch:++  - user_agent_string: 'RoboCrawl (www.canadiancontent.net)'+    family: 'RoboCrawl'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.2; WOW64) Runet-Research-Crawler (itrack.ru/research/cmsrate; rating@itrack.ru)'+    family: 'Runet-Research-Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Teragram/SAS Crawler'+    family: 'SAS Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'SCrawlTest/CR1 (CWD; http://sproose.com; crawl@sproose.com)'+    family: 'SCrawlTest'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; SISTRIX Crawler; http://crawler.sistrix.net/)'+    family: 'SISTRIX Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36; SSL-Crawler: http://crawler.dcsec.uni-hannover.de'+    family: 'SSL-Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'SWAT Crawler. AGH University project. In case of problem contact: opal@tempus.metal.agh.edu.pl. Thanks.'+    family: 'SWAT Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'SandCrawler - Compatibility Testing'+    family: 'SandCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Sangfor Spider'+    family: 'Sangfor Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/3.0 (compatible; ScollSpider; http://www.webwobot.com)'+    family: 'ScollSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'ScreenerBot Crawler Beta 2.0 (+http://www.ScreenerBot.com)'+    family: 'ScreenerBot'+    major:+    minor:+    patch:++  - user_agent_string: 'SearchSpider.com/1.1'+    family: 'SearchSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'ownCloud Server Crawler'+    family: 'Server Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Shim-Crawler'+    family: 'Shim-Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'ShowyouBot (http://showyou.com/crawler)'+    family: 'crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.0) SiteCheck-sitecrawl by Siteimprove.com'+    family: 'SiteCheck-sitecrawl'+    major:+    minor:+    patch:++  - user_agent_string: 'SiteCrawler,gzip(gfe),gzip(gfe)'+    family: 'SiteCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.5 (compatible; MSIE 5.5; Windows NT 5.1) Sitespider+ b432.1'+    family: 'Sitespider'+    major:+    minor:+    patch:++  - user_agent_string: 'SocialSpider-Finder/0.2'+    family: 'SocialSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'Sosoblogspider+(+http://help.soso.com/soso-blog-spider.htm)'+    family: 'Sosoblogspider'+    major:+    minor:+    patch:++  - user_agent_string: 'Sosoimagespider ( http://help.soso.com/soso-image-spider.htm)'+    family: 'Sosoimagespider'+    major:+    minor:+    patch:++  - user_agent_string: 'Sosospider+(+help.soso.com/webspider.htm)'+    family: 'Sosospider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; SpeedySpider; www.entireweb.com)'+    family: 'SpeedySpider'+    major:+    minor:+    patch:++  - user_agent_string: 'SpiderKU/0.9'+    family: 'SpiderKU'+    major: '0'+    minor: '9'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; SpiderLing (a SPIDER for LINGustic research); +http://nlp.fi.muni.cz/projects/biwec/)'+    family: 'SpiderLing'+    major:+    minor:+    patch:++  - user_agent_string: 'SpiderMan 3.0.1-2-11-111 (CP/M;8-bit)'+    family: 'SpiderMan'+    major: '3'+    minor: '0'+    patch: '1'++  - user_agent_string: 'Mozilla/4.0 (compatible; SpiderView 1.0;unix)'+    family: 'SpiderView'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Spider_Monkey/7.06 (SpiderMonkey.ca info at http://SpiderMonkey.ca /sm.shtml)'+    family: 'Spider_Monkey'+    major: '7'+    minor: '06'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Spiderlytics/1.0; +spider@spiderlytics.com)'+    family: 'Spiderlytics'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'PKU Student Spider'+    family: 'Student Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Symfony Spider (http://symfony.com/spider)'+    family: 'Symfony Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Synthesio Crawler release MonaLisa (contact at synthesio dot fr)'+    family: 'Synthesio Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'TAMU_CS_IRL_CRAWLER/1.0'+    family: 'TAMU_CS_IRL_CRAWLER'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'TTop-Crawler,gzip(gfe),gzip(gfe)'+    family: 'TTop-Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'TayaCrawler (Beta; v0.1; tayadev@nexdegree.com)'+    family: 'TayaCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'TelemetrySpider2/0.1 linux'+    family: 'TelemetrySpider2'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'Theme Spider ( http://www.themespider.com/spider.html)'+    family: 'Theme Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Thesis_php_crawler'+    family: 'Thesis_php_crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Trends Crawler, Real time trends bot (info@trendscrawler.com)'+    family: 'Trends Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'TwitSpider'+    family: 'TwitSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'Twitmunin Crawler http://www.twitmunin.com'+    family: 'Twitmunin Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; TwitterCrawler)'+    family: 'TwitterCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'UCMore Crawler App'+    family: 'UCMore Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'UOLCrawler (soscrawler@uol.com.br)'+    family: 'UOLCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Links4US-Crawler, ( http://links4us.com/)'+    family: 'US-Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'USyd-NLP-Spider (http://www.it.usyd.edu.au/~vinci/bot.html)'+    family: 'USyd-NLP-Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; UnisterBot; crawler@unister.de)'+    family: 'UnisterBot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0, VM-Crawler/cs version info  ofni noisrev sc'+    family: 'VM-Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'WEBB Crawler - see: http://badcheese.com/robots.html'+    family: 'WEBB Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'WSDL Crawler'+    family: 'WSDL Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'EmeraldShield.com WebBot'+    family: 'com WebBot'+    major:+    minor:+    patch:++  - user_agent_string: 'WebCompanyCrawler'+    family: 'WebCompanyCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'WebCrawler v1.3'+    family: 'WebCrawler'+    major: '1'+    minor: '3'+    patch:++  - user_agent_string: 'WebVulnCrawl.blogspot.com/1.0 libwww-perl/5.803'+    family: 'WebVulnCrawl'+    major:+    minor:+    patch:++  - user_agent_string: 'CyberPatrol SiteCat Webbot (http://www.cyberpatrol.com/cyberpatrolcrawler.asp)'+    family: 'SiteCat Webbot'+    major:+    minor:+    patch:++  - user_agent_string: 'EricssonR320/R1A (Fast Wireless Crawler)'+    family: 'Wireless Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'X-Crawler'+    family: 'X-Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'XYZ Spider'+    family: 'XYZ Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Y!J-BRJ/YATS crawler (http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html)'+    family: 'YATS crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Y!J-BRO/YFSJ crawler (compatible; Mozilla 4.0; MSIE 5.5; http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html; YahooFeedSeekerJp/2.0)'+    family: 'YFSJ crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'YRL_ODP_CRAWLER'+    family: 'YRL_ODP_CRAWLER'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Android 3.0; YRSpider; +http://www.yunrang.com/yrspider.html)'+    family: 'YRSpider'+    major:+    minor:+    patch:++  - user_agent_string: "YebolBot (Email: yebolbot@gmail.com; If the web crawling affects your web service, or you don't like to be crawled by us, please email us. We'll stop crawling immediately.)"+    family: 'YebolBot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; Yet-Another-Spider; )'+    family: 'Yet-Another-Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'YisouSpider'+    family: 'YisouSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'NL-Crawler'+    family: 'NL-Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; YoudaoBot-rts/1.0; http://www.youdao.com/help/webmaster/spider/; )'+    family: 'YoudaoBot'+    major:+    minor:+    patch:++  - user_agent_string: 'ZIBB Crawler (email address / WWW address)'+    family: 'ZIBB Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'ZillaCrawler'+    family: 'ZillaCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'ZoomSpider - wrensoft.com'+    family: 'ZoomSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'Zspider (+http://www.zhanzhangsou.com/index.htm)'+    family: 'Zspider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; acedo crawler extension)'+    family: 'acedo crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'acquia-crawler (detected bad behaviour? please tell us at it@acquia.com),gzip(gfe),gzip(gfe)'+    family: 'acquia-crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.21 (KHTML, like Gecko) adspider Safari/537.21'+    family: 'adspider'+    major:+    minor:+    patch:++  - user_agent_string: 'amphetameme crawler (crawler@amphetameme.com)'+    family: 'amphetameme crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; ayna-crawler  http://www.ayna.com)'+    family: 'ayna-crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Bender; http://sites.google.com/site/bendercrawler)'+    family: 'bendercrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'snap.com beta crawler v0'+    family: 'beta crawler'+    major: '0'+    minor:+    patch:++  - user_agent_string: 'blackspider'+    family: 'blackspider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; bmdspider; windows 5.1)'+    family: 'bmdspider'+    major:+    minor:+    patch:++  - user_agent_string: 'boitho crawler'+    family: 'boitho crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'cis455crawler'+    family: 'cis455crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'http://www.Syntryx.com/ ANT Chassis 9.27; Mozilla/4.0 compatible crawler'+    family: 'compatible crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'crawler4j (http://code.google.com/p/crawler4j/)'+    family: 'crawler4j'+    major:+    minor:+    patch:++  - user_agent_string: 'dtSearchSpider'+    family: 'dtSearchSpider'+    major:+    minor:+    patch:++  - user_agent_string: 'Enterprise_Search/1.0 110 (http://www.innerprise.net/es-spider.asp)'+    family: 'es-spider'+    major:+    minor:+    patch:++  - user_agent_string: 'eseek-crawler.0.5 (crawler@exactseek.com)'+    family: 'eseek-crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'exooba/exooba crawler (exooba; exooba)'+    family: 'exooba crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'flatlandbot/allspark (Flatland Industries Web Spider; http://www.flatlandindustries.com/flatlandbot; jason@flatlandindustries.com)'+    family: 'flatlandbot'+    major:+    minor:+    patch:++  - user_agent_string: 'haupia-crawler'+    family: 'haupia-crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'hitcrawler_0.1 (ringken@gmail.com)'+    family: 'hitcrawler_0'+    major:+    minor:+    patch:++  - user_agent_string: 'iaskspider2 (iask@staff.sina.com.cn)'+    family: 'iaskspider2'+    major:+    minor:+    patch:++  - user_agent_string: 'visaduhoc.info Crawler'+    family: 'info Crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'ip-web-crawler.com'+    family: 'ip-web-crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'jikespider "Mozilla/5.0'+    family: 'jikespider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) compatible; kototoi-crawl@yl.is.s.u-tokyo.ac.jp'+    family: 'kototoi-crawl'+    major:+    minor:+    patch:++  - user_agent_string: 'lb-spider'+    family: 'lb-spider'+    major:+    minor:+    patch:++  - user_agent_string: 'ldspider (BTC 2011 crawl, harth@kit.edu, http://code.google.com/p/ldspider/wiki/Robots)'+    family: 'ldspider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; lemurwebcrawler admin@lemurproject.org; +http://boston.lti.cs.cmu.edu/crawler_12/)'+    family: 'lemurwebcrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'lmspider (lmspider@scansoft.com)'+    family: 'lmspider'+    major:+    minor:+    patch:++  - user_agent_string: 'lworldspider'+    family: 'lworldspider'+    major:+    minor:+    patch:++  - user_agent_string: 'trunk.ly spider contact@trunk.ly'+    family: 'ly spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Vodafone mCrawler (bergum@fast.no)'+    family: 'mCrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'media-percbotspider <ops@percolate.com>'+    family: 'media-percbotspider'+    major:+    minor:+    patch:++  - user_agent_string: 'DoCoMo/2.0 N902iS(c100;TB;W24H12)(compatible; moba-crawler; http://crawler.dena.jp/)'+    family: 'moba-crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Nokia6680/1.0 ((4.04.07) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1 (for mobile crawler) )'+    family: 'mobile crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'n4p_bot (crawler@n4p.com)'+    family: 'n4p_bot'+    major:+    minor:+    patch:++  - user_agent_string: 'na-Webcrawler (helpdesk@newsaktuell.de)'+    family: 'na-Webcrawler'+    major:+    minor:+    patch:++  - user_agent_string: "nuSearch Spider <a href='http://www.nusearch.com'>www.nusearch.com</a> (compatible; MSIE 4.01; Windows NT)"+    family: 'nuSearch Spider'+    major:+    minor:+    patch:++  - user_agent_string: 'parallelContextFocusCrawler1.1parallelContextFocusCrawler1.1'+    family: 'parallelContextFocusCrawler1'+    major:+    minor:+    patch:++  - user_agent_string: 'persomm-spider/v1.0'+    family: 'persomm-spider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; http://www.pregnancycrawler.com)'+    family: 'pregnancycrawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; ptd-crawler;  http://bixolabs.com/crawler/ptd/; crawler@bixolabs.com)'+    family: 'ptd-crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; pub-crawler; +http://wiki.github.com/bixo/bixo/bixocrawler; bixo-dev@yahoogroups.com)'+    family: 'pub-crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'pythonic-crawler (suzuki@tkl.iis.u-tokyo.ac.jp)'+    family: 'pythonic-crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.2; WOW64) Russian CMS rating crawler (itrack.ru/cmsrate, avlasov@itrack.ru)'+    family: 'rating crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'camoca/camoca-n.1.2 (super-agent; search crawler; info at does not exist dot com)'+    family: 'search crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; sgbot v0.01a, sgcrawlerbot@gmail.com)'+    family: 'sgbot'+    major: '0'+    minor: '01'+    patch:++  - user_agent_string: 'spiderpig/0.1,gzip(gfe),gzip(gfe)'+    family: 'spiderpig'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'ssearch_bot (sSearch Crawler; http://www.semantissimo.de)'+    family: 'ssearch_bot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; suggybot v0.01a, http://blog.suggy.com/was-ist-suggy/suggy-webcrawler/)'+    family: 'suggybot'+    major: '0'+    minor: '01'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; uMBot-FC/1.0; mailto: crawling@ubermetrics-technologies.com)'+    family: 'uMBot'+    major:+    minor:+    patch:++  - user_agent_string: 'unchaos_crawler_2.0.2 (search.engine@unchaos.com)'+    family: 'unchaos_crawler_2'+    major:+    minor:+    patch:++  - user_agent_string: 'updated/0.1-alpha (updated crawler; http://www.updated.com; crawler@updated.com)'+    family: 'updated crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Yahoo-Test/4.0 mailto:vertical-crawl-support@yahoo-inc.com)'+    family: 'vertical-crawl'+    major:+    minor:+    patch:++  - user_agent_string: 'yp-crawl@attinteractive.com'+    family: 'yp-crawl'+    major:+    minor:+    patch:++  - user_agent_string: 'yrspider (Mozilla/5.0 (compatible; YRSpider;  http://www.yunrang.com/yrspider.html))'+    family: 'yrspider'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Yahoo-Test/4.0 ysm-keystone-crawl-support@yahoo-inc.com)'+    family: 'ysm-keystone-crawl'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; zyklop; +http://www.seoratio.de/zyklop-crawler/)'+    family: 'zyklop-crawler'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.2.1; en-gb; CUBOT ONE Build/JOP40D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'+    family: 'Android'+    major: '4'+    minor: '2'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9) AppleWebKit/537.71 (KHTML, like Gecko) Version/7.0 Safari/537.71 (Rival IQ, rivaliq.com)'+    family: 'Rival IQ'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; en-gb) AppleWebKit/418.9.1 (KHTML, like Gecko) SiteCon/8.10.9'+    family: 'SiteCon'+    major: '8'+    minor: '10'+    patch: '9'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4'+    family: 'Firefox iOS'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPad; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4'+    family: 'Firefox iOS'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Spotify/1.0.9.133 Safari/537.36'+    family: 'Spotify'+    major: '1'+    minor: '0'+    patch: '9'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Spotify/1.0.9.133 Safari/537.36'+    family: 'Spotify'+    major: '1'+    minor: '0'+    patch: '9'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Spotify/1.0.4.90 Safari/537.36'+    family: 'Spotify'+    major: '1'+    minor: '0'+    patch: '4'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Spotify/1.0.3.101 Safari/537.36'+    family: 'Spotify'+    major: '1'+    minor: '0'+    patch: '3'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Spotify/1.0.8.59 Safari/537.36'+    family: 'Spotify'+    major: '1'+    minor: '0'+    patch: '8'++  - user_agent_string: 'Mozilla/5.0 (Android 5.0; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0'+    family: 'Firefox Mobile'+    major: '41'+    minor: '0'+    patch:++  - user_agent_string: '[FBAN/FB4A;FBAV/3.4;FBBV/258875;FBDM/{density=0.75,width=240,height=320};FBLC/tr_TR;FBCR/o2 - de;FBPN/com.facebook.katana;FBDV/LG-E400;FBSV/2.3.6;]'+    family: 'Facebook'+    major: '3'+    minor: '4'+    patch:++  - user_agent_string: '[FBAN/FB4A;FBAV/2.3;FBBV/149649;FBDM/{density=1.5,width=480,height=800};FBLC/es_ES;FBCR/;FBPN/com.facebook.katana;FBDV/LG-P920;FBSV/2.2.2;]'+    family: 'Facebook'+    major: '2'+    minor: '3'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; SCH-R720 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 [FBAN/FB4A;FBAV/1.8.1;FBPN/com.facebook.katana;FBDV/SCH-R720;FBSV/2.3.4;FBDM/{density=1.0,width=320,height='+    family: 'Facebook'+    major: '1'+    minor: '8'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.2.2; de-de; 706_v92_jbla_fhd Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 [FB_IAB/FB4A;FBAV/24.0.0.30.15;]'+    family: 'Facebook'+    major: '24'+    minor: '0'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329 [FBAN/FBIOS;FBAV/6.5.1;FBBV/377040;FBDV/iPhone4,1;FBMD/iPhone;FBSN/iPhone OS;FBSV/6.1.3;FBSS/2; FBCR/Telekom.de;FBID/phone;FBLC/de_DE;'+    family: 'Facebook'+    major: '6'+    minor: '5'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329 [FBAN/FBIOS;FBAV/6.2;FBBV/228172;FBDV/iPhone5,1;FBMD/iPhone;FBSN/iPhone OS;FBSV/6.1.3;FBSS/2; FBCR/o2-de;FBID/phone;FBLC/pt_BR;FBOP/1]'+    family: 'Facebook'+    major: '6'+    minor: '2'+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A334 [FBAN/FBIOS;FBAV/6.5.1;FBBV/377040;FBDV/iPad2,1;FBMD/iPad;FBSN/iPhone OS;FBSV/5.0;FBSS/1; FBCR/;FBID/tablet;FBLC/de_DE;FBOP/1]'+    family: 'Facebook'+    major: '6'+    minor: '5'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU iPhone OS 4_3_2 like Mac OS X; de_DE) AppleWebKit (KHTML, like Gecko) Mobile [FBAN/FBForIPhone;FBAV/4.0.2;FBBV/4020.0;FBDV/iPad1,1;FBMD/iPad;FBSN/iPhone OS;FBSV/4.3.2;FBSS/1; FBCR/;FBID/tablet;FBLC/de_DE;FBSF/1.0]'+    family: 'Facebook'+    major: '4'+    minor: '0'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU iPhone OS 4_3_5 like Mac OS X; de_DE) AppleWebKit (KHTML, like Gecko) Mobile [FBAN/FBForIPhone;FBAV/4.0.3;FBBV/4030.0;FBDV/iPad2,2;FBMD/iPad;FBSN/iPhone OS;FBSV/4.3.5;FBSS/1; FBCR/Telekom.de;FBID/tablet;FBLC/de_DE;FBS'+    family: 'Facebook'+    major: '4'+    minor: '0'+    patch: '3'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B206 [FBAN/FBIOS;FBAV/6.1;FBBV/201075;FBDV/iPhone3,1;FBMD/iPhone;FBSN/iPhone OS;FBSV/5.1.1;FBSS/2; FBCR/Vodafone.de;FBID/phone;FBLC/en_US;FBOP/1]'+    family: 'Facebook'+    major: '6'+    minor: '1'+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12D508 [FBAN/GroupsForiOS;FBAV/9.0;FBBV/7752968;FBDV/iPhone7,2;FBMD/iPhone;FBSN/iPhone OS;FBSV/8.2;FBSS/2; FBCR/Telekom.de;FBID/phone;FBLC/de_'+    family: 'Facebook'+    major: '9'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; fr_FR) AppleWebKit (KHTML, like Gecko) Mobile [FBAN/FBForIPhone;FBAV/4.0;FBBV/4000.0;FBDV/iPhone1,2;FBMD/iPhone;FBSN/iPhone OS;FBSV/4.1;FBSS/1; FBCR/Carrier;FBID/phone;FBLC/fr_FR;FBSF/1.'+    family: 'Facebook'+    major: '4'+    minor: '0'+    patch:++  - user_agent_string: 'Dalvik/1.2.0 (Linux; U; Android 2.2.2; HTC Desire Build/FRG83G) [FBAN/Orca-Android;FBAV/2.6.1-release;FBLC/de_DE;FBBV/288543;FBCR/o2 - de;FBMF/HTC;FBBD/htc_wwe;FBDV/HTC Desire;FBSV/2.2.2]'+    family: 'Facebook'+    major: '2'+    minor: '6'+    patch: '1'++  - user_agent_string: '[FBAN/FB4A;FBAV/3.6;FBBV/330148;FBDM/{density=0.75,width=240,height=320};FBLC/de_DE;FBCR/o2 - de;FBPN/com.facebook.katana;FBDV/GT-S5570;FBSV/2.2.1;FBCA/armeabi:unknown;]'+    family: 'Facebook'+    major: '3'+    minor: '6'+    patch:++  - user_agent_string: '[FBAN/PAAA;FBAV/1.7;FBDM/{density=2.0,width=720,height=1280};FBLC/es_ES;FB_FW/2;FBSN/Android;FBCR/FONIC;FBDV/GT-I9300;FBSV/4.1.2;]'+    family: 'Facebook'+    major: '1'+    minor: '7'+    patch:++  - user_agent_string: '[FBAN/PAAA;FBAV/1.9;FBDM/{density=2.0,width=720,height=1280};FBLC/de_DE;FB_FW/2;FBSN/Android;FBCR/o2 - de;FBDV/GT-I9300;FBSV/4.3;]'+    family: 'Facebook'+    major: '1'+    minor: '9'+    patch:++  - user_agent_string: '[FBAN/FB4A;FBAV/130.0.321;FBBV/149649;FBDM/{density=1.5,width=480,height=800};FBLC/es_ES;FBCR/;FBPN/com.facebook.katana;FBDV/LG-P920;FBSV/2.2.2;]'+    family: 'Facebook'+    major: '130'+    minor: '0'+    patch: '321'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15G77 [FBAN/FBIOS;FBDV/iPhone10,4;FBMD/iPhone;FBSN/iOS;FBSV/11.4.1;FBSS/2;FBCR/A1;FBID/phone;FBLC/de_DE;FBOP/5;FBRV/122166081]'+    family: 'Facebook'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_2_1 like Mac OS X) AppleWebKit/602.4.6 (KHTML, like Gecko) Mobile/14D27 [FBAN/MessengerForiOS;FBAV/124.0.0.50.70;FBBV/63293619;FBDV/iPhone7,1;FBMD/iPhone;FBSN/iOS;FBSV/10.2.1;FBSS/3;FBCR/Viettel;FBID/phone;FBLC/vi_VN;FBOP/5;FBRV/0]'+    family: 'Facebook Messenger'+    major: '124'+    minor: '0'+    patch: '0'+    patch_minor: '50'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 6.0.1; SM-A910F Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.83 Mobile Safari/537.36 [FB_IAB/MESSENGER;FBAV/120.0.0.14.84;]'+    family: 'Facebook Messenger'+    major: '120'+    minor: '0'+    patch: '0'+    patch_minor: '14'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15G77 [FBAN/FBIOS;FBAV/194.0.0.38.99;FBBV/127868476;FBDV/iPhone7,2;FBMD/iPhone;FBSN/iOS;FBSV/11.4.1;FBSS/2;FBCR/OrangeBotswana;FBID/phone;FBLC/en_GB;FBOP/5;FBRV/128807018]'+    family: 'Facebook'+    major: '194'+    minor: '0'+    patch: '0'+    patch_minor: '38'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_4 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B350 [Pinterest/iOS]'+    family: 'Pinterest'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.4.2; A3-A11 Build/KOT49H) AppleWebKit/537.36 (KHTML like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36 [Pinterest/Android]'+    family: 'Pinterest'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10A525 [Pinterest/iOS]'+    family: 'Pinterest'+    major:+    minor:+    patch:++  - user_agent_string: 'Pinterest for Android Tablet/1.8.4 (SGP321; 4.3)'+    family: 'Pinterest'+    major: '1'+    minor: '8'+    patch: '4'++  - user_agent_string: 'Pinterest for Android Tablet/4.3.1 (A7600-H; 4.4.2)'+    family: 'Pinterest'+    major: '4'+    minor: '3'+    patch: '1'++  - user_agent_string: 'Pinterest for Android/1.1.1 (endeavoru; 4.1.1)'+    family: 'Pinterest'+    major: '1'+    minor: '1'+    patch: '1'++  - user_agent_string: 'Pinterest for Android/3.6.2 (klte; 4.4.2)'+    family: 'Pinterest'+    major: '3'+    minor: '6'+    patch: '2'++  - user_agent_string: 'Pinterest/0.1'+    family: 'Pinterest'+    major: '0'+    minor: '1'+    patch:++  - user_agent_string: 'Pinterest/0.2 (+http://www.pinterest.com/)'+    family: 'Pinterest'+    major: '0'+    minor: '2'+    patch:++  - user_agent_string: 'Pinterest for Android/1.1.12 (endeavoru; 4.1.1)'+    family: 'Pinterest'+    major: '1'+    minor: '1'+    patch: '12'++  - user_agent_string: 'Pinterest/3.2 CFNetwork/672.0.8 Darwin/14.0.0'+    family: 'Pinterest'+    major: '3'+    minor: '2'+    patch:++  - user_agent_string: 'Pinterest/3.3.3 CFNetwork/609.1.4 Darwin/13.0.0'+    family: 'Pinterest'+    major: '3'+    minor: '3'+    patch: '3'++  - user_agent_string: 'Pinterest/3356 CFNetwork/711.0.6 Darwin/14.0.0'+    family: 'Pinterest'+    major: '3356'+    minor:+    patch:++  - user_agent_string: 'Pinterest/4.1.3 CFNetwork/672.1.14 Darwin/14.0.0'+    family: 'Pinterest'+    major: '4'+    minor: '1'+    patch: '3'++  - user_agent_string: 'Pinterest/0.2 (+https://www.pinterest.com/bot.html)'+    family: 'Pinterestbot'+    major: '0'+    minor: '2'+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; Pinterestbot/1.0; +https://www.pinterest.com/bot.html)'+    family: 'Pinterestbot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Pinterestbot/1.0; +https://www.pinterest.com/bot.html)'+    family: 'Pinterestbot'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) qutebrowser/0.2.1 Safari/538.1'+    family: 'qutebrowser'+    major: '0'+    minor: '2'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) pagedraw/0.1.0 Chrome/49.0.2623.75 Electron/0.37.8 Safari/537.36'+    family: 'Electron'+    major: '0'+    minor: '37'+    patch: '8'++  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile'+    family: 'Mobile Safari UI/WKWebView'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari'+    family: 'Mobile Safari'+    major: '5'+    minor: '0'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) QupZilla/1.6.3 Safari/538.1'+    family: 'QupZilla'+    major: '1'+    minor: '6'+    patch: '3'++  - user_agent_string: 'Mozilla/5.0 (OS/2 Warp 4.5) AppleWebKit/537.21 (KHTML, like Gecko) QupZilla/1.6.4 Safari/537.21'+    family: 'QupZilla'+    major: '1'+    minor: '6'+    patch: '4'++  - user_agent_string: 'Mozilla/5.0 (Unknown; UNIX BSD/SYSV system) AppleWebKit/534.34 (KHTML, like Gecko) QupZilla/1.7.0 Safari/534.34'+    family: 'QupZilla'+    major: '1'+    minor: '7'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.21 (KHTML, like Gecko) QupZilla/1.6.1 Safari/537.21'+    family: 'QupZilla'+    major: '1'+    minor: '6'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/538.1 (KHTML, like Gecko) Otter/0.9.03 beta 3 Safari/538.1'+    family: 'Otter'+    major: '0'+    minor: '9'+    patch: '03'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/538.1 (KHTML, like Gecko) Otter/0.9.04'+    family: 'Otter'+    major: '0'+    minor: '9'+    patch: '04'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.21 (KHTML, like Gecko) Otter/0.9.04-dev'+    family: 'Otter'+    major: '0'+    minor: '9'+    patch: '04'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) Otter/0.3.01-dev Safari/538.1'+    family: 'Otter'+    major: '0'+    minor: '3'+    patch: '01'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) Otter/0.9.03 beta 3 Safari/538.1'+    family: 'Otter'+    major: '0'+    minor: '9'+    patch: '03'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) Otter/0.9.05'+    family: 'Otter'+    major: '0'+    minor: '9'+    patch: '05'++  - user_agent_string: 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; NOKIA; Lumia 930) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Mobile Safari/537.36 Edge/12.0'+    family: 'Edge Mobile'+    major: '12'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 EdgiOS/44.5.0.10 Mobile/15E148 Safari/604.1'+    family: 'Edge Mobile'+    major: '44'+    minor: '5'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 8.1.0; Pixel Build/OPM4.171019.021.D1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Mobile Safari/537.36 EdgA/42.0.0.2057'+    family: 'Edge Mobile'+    major: '42'+    minor: '0'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) brave/0.7.11 Chrome/47.0.2526.110 Brave/0.36.5 Safari/537.36'+    family: 'Brave'+    major: '0'+    minor: '7'+    patch: '11'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) brave/0.7.12 Chrome/47.0.2526.110 Brave/0.36.7 Safari/537.36 '+    family: 'Brave'+    major: '0'+    minor: '7'+    patch: '12'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) brave/0.7.10 Chrome/47.0.2526.110 Brave/0.36.5 Safari/537.36'+    family: 'Brave'+    major: '0'+    minor: '7'+    patch: '10'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome Safari/537.36'+    family: 'HeadlessChrome'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/62.0.3202.89 Safari/537.36'+    family: 'HeadlessChrome'+    major: '62'+    minor: '0'+    patch: '3202'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/59.0.3071.109 HeadlessChrome/59.0.3071.109 Safari/537.36'+    family: 'HeadlessChrome'+    major: '59'+    minor: '0'+    patch: '3071'++  - user_agent_string: 'Roku/DVP-6.2 (096.02E06005A)'+    family: 'Roku'+    major: '6'+    minor: '2'+    patch:++  - user_agent_string: 'Roku/DVP-5.0 (025.00E08043A)'+    family: 'Roku'+    major: '5'+    minor: '0'+    patch:++  - user_agent_string: 'Roku/DVP-5.1 (025.01E01195A)'+    family: 'Roku'+    major: '5'+    minor: '1'+    patch:++  - user_agent_string: 'Microsoft Office/12.0 (Windows NT 6.1; Microsoft Office Outlook 12.0.6739; Pro)'+    family: 'Outlook'+    major: '2007'+    minor:+    patch:++  - user_agent_string: 'Microsoft Office/14.0 (Windows NT 6.1; Microsoft Outlook 14.0.5128; Pro)'+    family: 'Outlook'+    major: '2010'+    minor:+    patch:++  - user_agent_string: 'Microsoft Office/16.0 (Microsoft Outlook Mail 16.0.6525; Pro)'+    family: 'Outlook'+    major: '2016'+    minor:+    patch:++  - user_agent_string: 'Microsoft Office/16.0 (Windows NT 10.0; Microsoft Outlook 16.0.6326; Pro)'+    family: 'Outlook'+    major: '2016'+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/8.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Microsoft Outlook 16.0.6366; ms-office; MSOffice 16)'+    family: 'Outlook'+    major: '2016'+    minor:+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; ms-office; MSOffice 16)'+    family: 'Outlook'+    major: '2016'+    minor:+    patch:++  - user_agent_string: 'Outlook-Express/7.0 (MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; TmstmpExt)'+    family: 'Windows Live Mail'+    major:+    minor:+    patch:++  - user_agent_string: 'Outlook-Express/7.0 (MSIE 7.0; Windows NT 5.1; Trident/4.0; AskTB5.6; TmstmpExt)'+    family: 'Windows Live Mail'+    major:+    minor:+    patch:++  - user_agent_string: 'Outlook-Express/7.0 (MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; Media Center PC 6.0; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; InfoPath.3; FDM; TmstmpExt)'+    family: 'Windows Live Mail'+    major:+    minor:+    patch:++  - user_agent_string: 'Outlook-Express/7.0 (MSIE 6.0; Windows NT 5.1; SV1; GTB6.3; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; TmstmpExt)'+    family: 'Windows Live Mail'+    major:+    minor:+    patch:++  - user_agent_string: 'Outlook-Express/7.0 (MSIE 8; Windows NT 5.1; Trident/4.0; GTB7.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; TmstmpExt)'+    family: 'Windows Live Mail'+    major:+    minor:+    patch:++  - user_agent_string: 'Outlook-Express/7.0 (MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1; TmstmpExt)'+    family: 'Windows Live Mail'+    major:+    minor:+    patch:++  - user_agent_string: 'Outlook-Express/7.0 (MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; HPDTDF; .NET4.0C; BRI/2; AskTbLOL/5.12.5.17640; TmstmpExt)'+    family: 'Windows Live Mail'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.0.1; GT-I9505 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 YaBrowser/16.2.1.1239.00 Mobile Safari/537.36'+    family: 'Yandex Browser'+    major: '16'+    minor: '2'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.4.2; SM-G800F Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 MobileIron/1.6.0 Mobile Safari/537.36'+    family: 'MobileIron'+    major: '1'+    minor: '6'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.4.4; GT-I9195I Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Crosswalk/14.43.343.17 Mobile Safari/537.36'+    family: 'Crosswalk'+    major: '14'+    minor: '43'+    patch: '343'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 6.0.1; Z831 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.94 Mobile Crosswalk/11.45.2454.20160425 Mobile Safari/537.36'+    family: 'Crosswalk'+    major: '11'+    minor: '45'+    patch: '2454'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Mobile/15A372 Safari Line/7.12.0'+    family: 'LINE'+    major: '7'+    minor: '12'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.1; FTJ152B Build/LMY47D; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/51.0.2704.81 Mobile Safari/537.36 Line/6.4.1'+    family: 'LINE'+    major: '6'+    minor: '4'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.1.2; GT-S7710 Build/JZO54K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile'+    family: 'Chrome Mobile'+    major: '18'+    minor: '0'+    patch: '1025'+    patch_minor: '166'++  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU OS 5_1_1 like Mac OS X; en-us) AppleWebKit/534.46.0 (KHTML, like Gecko) Chrome/19.0.1084.60 Mobile/9B206 Safari/7534.48.3'+    family: 'Chrome Mobile'+    major: '19'+    minor: '0'+    patch: '1084'+    patch_minor: '60'++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.4.4; de-de; SM-G850F Build/KTU84P) AppleWebKit/537.16 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.16 Chrome/33.0.0.0'+    family: 'Chrome Mobile WebView'+    major: '33'+    minor: '0'+    patch: '0'+    patch_minor: '0'++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 6.0.1; ru-ru; Redmi 4 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.3.6-g'+    family: 'MiuiBrowser'+    major: '10'+    minor: '3'+    patch: '6'++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 7.1.2; ru-ru; Redmi 4A Build/N2G47H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/Mint Browser/1.3.3'+    family: 'Mint Browser'+    major: '1'+    minor: '3'+    patch: '3'++  - user_agent_string: 'Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.41 (KHTML, like Gecko) Large Screen WebAppManager Safari/537.41'+    family: 'Safari'+    major:+    minor:+    patch:++  - user_agent_string: 'MacOutlook/15.27.0.161010 (Intelx64 Mac OS X Version 10.11.6 (Build 15G1108))'+    family: 'MacOutlook'+    major: '15'+    minor: '27'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.8 (KHTML, like Gecko) Slack_SSB/2.0.3'+    family: 'Slack Desktop Client'+    major: '2'+    minor: '0'+    patch: '3'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) AtomShell/2.6.0 Chrome/56.0.2924.87 Electron/1.6.3 Safari/537.36 MacAppStore/16.5.0 Slack_SSB/2.6.0'+    family: 'Slack Desktop Client'+    major: '2'+    minor: '6'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Slack/2.6.0-beta18998559 Chrome/56.0.2924.87 AtomShell/1.6.3 Safari/537.36 Slack_SSB/2.6.0'+    family: 'Slack Desktop Client'+    major: '2'+    minor: '6'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) HipChat/732 (modern)'+    family: 'HipChat Desktop Client'+    major: '732'+    minor:+    patch:++  - user_agent_string: 'HipChat Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.7.0 Chrome/49.0.2623.111 Safari/537.36'+    family: 'HipChat Desktop Client'+    major:+    minor:+    patch:++  - user_agent_string: 'Microsoft-CryptoAPI/6.1'+    family: 'Microsoft-CryptoAPI'+    major: '6'+    minor: '1'+    patch:++  - user_agent_string: 'Microsoft SkyDriveSync 17.3.6517.0809 ship; Windows NT 6.1 Service Pack 1 (7601)'+    family: 'Microsoft SkyDriveSync'+    major: '17'+    minor: '3'+    patch: '6517'++  - user_agent_string: 'ExchangeServicesClient/14.02.0051.000'+    family: 'ExchangeServicesClient'+    major: '14'+    minor: '02'+    patch: '0051'++  - user_agent_string: 'Mac OS X/10.11.6 (15G1004); ExchangeWebServices/6.0 (243); Mail/9.3 (3124)'+    family: 'ExchangeWebServices'+    major: '6'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0+(iPhone;+CPU+iPhone+OS+9_3_1+like+Mac+OS+X)+AppleWebKit/601.1.46+(KHTML,+like+Gecko)+Version/9.0+Mobile/13E238+Safari/601.1'+    family: 'Mobile Safari'+    major: '9'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0+(iPad;+CPU+OS+9_3_1+like+Mac+OS+X)+AppleWebKit/601.1.46+(KHTML,+like+Gecko)+Version/9.0+Mobile/13E238+Safari/601.1'+    family: 'Mobile Safari'+    major: '9'+    minor: '0'+    patch:++  - user_agent_string: 'Slackbot-LinkExpanding 1.0 (+https://api.slack.com/robots)'+    family: 'Slackbot-LinkExpanding'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Slack-ImgProxy 1.136 (+https://api.slack.com/robots)'+    family: 'Slack-ImgProxy'+    major: '1'+    minor: '136'+    patch:++  - user_agent_string: 'okhttp/3.4.2'+    family: 'okhttp'+    major: '3'+    minor: '4'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1300.0 Iron/23.0.1300.0 Safari/537.11'+    family: 'Iron'+    major: '23'+    minor: '0'+    patch: '1300'++  - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Iron/9.0.600.2 Chrome/9.0.600.2 Safari/534.13'+    family: 'Iron'+    major: '9'+    minor: '0'+    patch: '600'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2750.0 Iron Safari/537.36'+    family: 'Iron'+    major: '52'+    minor: '0'+    patch: '2750'++  - user_agent_string: 'Mozilla/5.0 (Android; U; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/23.0'+    family: 'AdobeAIR'+    major: '23'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/19.0'+    family: 'AdobeAIR'+    major: '19'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (iOS; U; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/19.0'+    family: 'AdobeAIR'+    major: '19'+    minor: '0'+    patch:++  - user_agent_string: 'Kurio/3.0.8 Build 65303(Android Kitkat 4.4.4; Phone)'+    family: 'Kurio App'+    major: '3'+    minor: '0'+    patch: '8'++  - user_agent_string: 'BacaBerita App/5.5.0 (Linux; U; Android 4.4.4; en-us) Mobile Safari'+    family: 'BacaBerita App'+    major: '5'+    minor: '5'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) MxBrowser/4.5.2.2000 Chrome/30.0.1551.0 Safari/537.36'+    family: 'Maxthon'+    major: '4'+    minor: '5'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.5.1000 Chrome/30.0.1599.101 Safari/537.36'+    family: 'Maxthon'+    major: '4'+    minor: '4'+    patch: '5'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.0; SM-G930P Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.83 Mobile Safari/537.36 MxBrowser/4.5.10.7000'+    family: 'Maxthon'+    major: '4'+    minor: '5'+    patch: '10'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.6 (KHTML, like Gecko) Chrome/18.0.1025.133 Safari/537.6 Midori/0.5'+    family: 'Midori'+    major: '0'+    minor: '5'+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU like Mac OS X; FIT_LANG_REPLACE) AppleWebKit/532+ (KHTML, like Gecko) Version/3.0 Mobile/1A538b Safari/419.3 Midori/0.4'+    family: 'Midori'+    major: '0'+    minor: '4'+    patch:++  - user_agent_string: 'curl/7.29.0'+    family: 'curl'+    major: '7'+    minor: '29'+    patch: '0'++  - user_agent_string: 'Debian APT-HTTP/1.3 (1.0.1ubuntu2)'+    family: 'Debian APT-HTTP'+    major: '1'+    minor: '3'+    patch:++  - user_agent_string: 'jupdate'+    family: 'jupdate'+    major:+    minor:+    patch:++  - user_agent_string: 'libcurl-agent/1.0'+    family: 'libcurl-agent'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'libwww-perl/6.05'+    family: 'libwww-perl'+    major: '6'+    minor: '05'+    patch:++  - user_agent_string: 'Microsoft-CryptoAPI/6.3'+    family: 'Microsoft-CryptoAPI'+    major: '6'+    minor: '3'+    patch:++  - user_agent_string: 'OpenBSD ftp'+    family: 'OpenBSD ftp'+    major:+    minor:+    patch:++  - user_agent_string: 'SophosAgent/1.0 (type= spa )'+    family: 'SophosAgent'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'SophosUpdateManager/1.5.7.50 SDDS/2.0 (u= EO2ANA123G c= 6342da15-f351-4ab7-9656-3f5f2d50885d )'+    family: 'SophosUpdateManager'+    major: '1'+    minor: '5'+    patch: '7'++  - user_agent_string: 'Ubuntu APT-HTTP/1.3 (0.7.20.2ubuntu6)'+    family: 'Ubuntu APT-HTTP'+    major: '1'+    minor: '3'+    patch:++  - user_agent_string: 'urlgrabber/3.10 yum/3.4.3'+    family: 'urlgrabber'+    major: '3'+    minor: '10'+    patch:++  - user_agent_string: 'urlgrabber/3.9.1 yum/3.2.29'+    family: 'urlgrabber'+    major: '3'+    minor: '9'+    patch: '1'++  - user_agent_string: 'Wget/1.14 (linux-gnu)'+    family: 'Wget'+    major: '1'+    minor: '14'+    patch:++  - user_agent_string: 'wget2/1.99.2'+    family: 'wget2'+    major: '1'+    minor: '99'+    patch: '2'++  - user_agent_string: 'Windows-Update-Agent/7.9.9600.17729 Client-Protocol/1.21'+    family: 'Windows-Update-Agent'+    major: '7'+    minor: '9'+    patch: '9600'++  - user_agent_string: 'Windows-Update-Agent/7.9.9600.18094 Client-Protocol/1.21'+    family: 'Windows-Update-Agent'+    major: '7'+    minor: '9'+    patch: '9600'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.1.1; MI NOTE Pro Build/LMY47V; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/48.0.2564.116 Mobile Safari/537.36 baidubrowser/7.7.13.0 (Baidu; P1 5.1.1)'+    family: 'Baidu Browser'+    major: '7'+    minor: '7'+    patch: '13'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/36.1.1.21 Chrome/36.0.1985.97 Safari/537.36'+    family: 'Dragon'+    major: '36'+    minor: '1'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows CE 5.1; rv:1.8.1a3) Gecko/20060610 Minimo/0.016'+    family: 'Minimo'+    major: '0'+    minor: '016'+    patch:++  - user_agent_string: 'Opera/9.80 (MAUI Runtime; Opera Mini/4.4.39008/37.9178; U; en) Presto/2.12.423 Version/12.16'+    family: 'Opera Mini'+    major: '4'+    minor: '4'+    patch: '39008'++  - user_agent_string: 'Mozilla/5.0 (compatible; 008/0.83; http://www.80legs.com/spider.html) Gecko/2008032620'+    family: '008'+    major: '0'+    minor: '83'+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_4 like Mac OS X) AppleWebKit/601.1 (KHTML, like Gecko) Outlook-iOS-Android/1.0 Mobile/13G35 Safari/601.1.46")'+    family: 'Outlook-iOS-Android'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.21 Safari/537.36 MMS/1.0.2459.0'+    family: 'Opera Neon'+    major: '1'+    minor: '0'+    patch: '2459'++  - user_agent_string: 'PANTECH-EUROPA-U4000-orange/1.0 Obigo/Q04C MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1'+    family: 'Obigo'+    major: '04'+    minor:+    patch:++  - user_agent_string: 'masscan/1.0 (https://github.com/robertdavidgraham/masscan)'+    family: 'masscan'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 SznProhlizec/4.3.0-251281'+    family: 'Seznam prohlížeč'+    major: '4'+    minor: '3'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.1.2; Redmi 4X Build/N2G47H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36 SznProhlizec/5.2.1a'+    family: 'Seznam prohlížeč'+    major: '5'+    minor: '2'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 SznProhlizec/3.8.4 NWjs/0.19.6'+    family: 'Seznam prohlížeč'+    major: '3'+    minor: '8'+    patch: '4'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_2_1 like Mac OS X) AppleWebKit/602.4.6 (KHTML, like Gecko) Mobile/14D27 SznProhlizec/4.4i'+    family: 'Seznam prohlížeč'+    major: '4'+    minor: '4'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/42.0 CoRom/36.0.1985.144 Chrome/36.0.1985.144 Safari/537.36'+    family: 'Coc Coc'+    major: '42'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/49.0 Chrome/43.0.2357.138 Safari/537.36'+    family: 'Coc Coc'+    major: '49'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/50.0.125 Chrome/44.0.2403.125 Safari/537.36'+    family: 'Coc Coc'+    major: '50'+    minor: '0'+    patch: '125'++  - user_agent_string: 'Mozilla/5.0 (compatible; Qwantify/2.4w; +https://www.qwant.com/)/2.4w'+    family: 'Qwantify'+    major: '2'+    minor: '4'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12'+    family: 'Edge'+    major: '12'+    minor:+    patch:++  - user_agent_string: 'Bloglovin/1.0 (http://www.bloglovin.com; 1000 subscribers)'+    family: 'Bloglovin'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Feedbin feed-id:1033517 - 1000 subscribers'+    family: 'Feedbin'+    major:+    minor:+    patch:++  - user_agent_string: 'Tiny Tiny RSS/16.3 (http://tt-rss.org/)'+    family: 'Tiny Tiny RSS'+    major: '16'+    minor: '3'+    patch:++  - user_agent_string: 'Mtps Feed Aggregation System'+    family: 'Mtps Feed Aggregation System'+    major:+    minor:+    patch:++  - user_agent_string: 'Stringer'+    family: 'Stringer'+    major:+    minor:+    patch:++  - user_agent_string: 'Box Sync/4.0.7848;Darwin/10.13;i386/64bit'+    family: 'Box Sync'+    major: '4'+    minor: '0'+    patch: '7848'++  - user_agent_string: 'Box/1.2.93;Darwin/10.13;i386/64bit'+    family: 'Box'+    major: '1'+    minor: '2'+    patch: '93'++  - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) BoxNotes/1.3.0 Chrome/56.0.2924.87 Electron/1.6.8 Safari/537.36'+    family: 'BoxNotes'+    major: '1'+    minor: '3'+    patch: '0'++  - user_agent_string: 'Box Sync/4.0.7848;Windows/8.1;x86 Family 6 Model 158 Stepping 9, GenuineIntel/32bit'+    family: 'Box Sync'+    major: '4'+    minor: '0'+    patch: '7848'++  - user_agent_string: 'Box Sync/4.0.7848;Windows/10;Intel64 Family 6 Model 158 Stepping 9, GenuineIntel/64bit'+    family: 'Box Sync'+    major: '4'+    minor: '0'+    patch: '7848'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) BoxNotes/1.3.0 Chrome/56.0.2924.87 Electron/1.6.8 Safari/537.36'+    family: 'BoxNotes'+    major: '1'+    minor: '3'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) BoxNotes/1.3.0 Chrome/56.0.2924.87 Electron/1.6.8 Safari/537.36'+    family: 'BoxNotes'+    major: '1'+    minor: '3'+    patch: '0'++  - user_agent_string: 'Box/1.2.93;Windows/10;Intel64 Family 6 Model 158 Stepping 9, GenuineIntel/64bit'+    family: 'Box'+    major: '1'+    minor: '2'+    patch: '93'++  - user_agent_string: 'Evolution/3.26.2.1'+    family: 'Evolution'+    major: '3'+    minor: '26'+    patch: '2.1'++  - user_agent_string: 'RCM CardDAV plugin/2.0.4'+    family: 'RCM CardDAV plugin'+    major: '2'+    minor: '0'+    patch: '4'++  - user_agent_string: 'RCM CardDAV plugin/0.9.2-dev'+    family: 'RCM CardDAV plugin'+    major: '0'+    minor: '9'+    patch: '2-dev'++  - user_agent_string: 'DAVdroid/1.9.2-gplay (2017/11/04; dav4android; okhttp3) Android/7.1.2'+    family: 'DAVdroid'+    major: '1'+    minor: '9'+    patch: '2'++  - user_agent_string: 'DAVdroid/1.9-ose (2017/10/19; dav4android; okhttp3) Android/7.1.2'+    family: 'DAVdroid'+    major: '1'+    minor: '9'+    patch:++  - user_agent_string: 'Mozilla/5.0 (Windows) mirall/2.3.2 (build 1) (Nextcloud)'+    family: 'Nextcloud'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux) mirall/2.3.2 (Nextcloud)'+    family: 'Nextcloud'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Android) ownCloud-android/2.0.0'+    family: 'Owncloud'+    major: '2'+    minor: '0'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) AppleNews/608.0.1 Version/2.0.1'+    family: 'Mobile Safari UI/WKWebView'+    major: '10'+    minor: '0'+    patch: '2'++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; InfoPath.3)'+    family: 'IE'+    major: '11'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; Trident/6.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729)'+    family: 'IE'+    major: '10'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.2)'+    family: 'IE'+    major: '9'+    minor: '0'+    patch:++  - user_agent_string: 'Tableau/1.0 (1025794)'+    family: 'Tableau'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_5 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/11.2.5 Mobile/9B179 Safari/7534.48.3 OktaMobile/5.10.2'+    family: 'OktaMobile'+    major: '5'+    minor: '10'+    patch: '2'++  - user_agent_string: 'BUbiNG (+http://law.di.unimi.it/BUbiNG.html)'+    family: 'BUbiNG'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (compatible; SemrushBot/1.2~bl; +http://www.semrush.com/bot.html)'+    family: 'SemrushBot'+    major: '1'+    minor: '2'+    patch:++  - user_agent_string: 'Outlook-iOS/665.29827.prod.iphone (2.63.0)'+    family: 'Outlook-iOS'+    major: '2'+    minor: '63'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.0; LG-TP260 Build/NRD90U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36 Instagram 33.0.0.11.92 Android (24/7.0; 320dpi; 720x1193; LGE/lge; LG-TP260; lv517; lv517; en_US; 93117667)'+    family: 'Instagram'+    major: '33'+    minor: '0'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_5 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Mobile/15D60 Instagram 33.0.0.11.96 (iPhone9,3; iOS 11_2_5; en_AU; en-AU; scale=2.00; gamut=wide; 750x1334)'+    family: 'Instagram'+    major: '33'+    minor: '0'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Mobile/15D100 Flipboard/4.2.2'+    family: 'Flipboard'+    major: '4'+    minor: '2'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.0; SM-G610F Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.111 Mobile Safari/537.36 Flipboard/4.1.9/4323,4.1.9.4323'+    family: 'Flipboard'+    major: '4'+    minor: '1'+    patch: '9'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.0; SM-G930F Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36 Onefootball/Android/9.10.6'+    family: 'Onefootball'+    major: '9'+    minor: '10'+    patch: '6'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.0; SM-A520F Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.83 Mobile Safari/537.36 Flipboard-Briefing/2.7.28'+    family: 'Flipboard-Briefing'+    major: '2'+    minor: '7'+    patch: '28'+++  - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/8.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)'+    family: 'IE'+    major: '11'+    minor: '0'+    patch:++  - user_agent_string: 'ESPN Radio/3.2.113 CFNetwork/485.12.30 Darwin/10.4.0'+    family: 'ESPN'+    major: '3'+    minor: '2'+    patch: '113'++  - user_agent_string: 'ESPN Radio 4.7.4 rv:1032 (iPhone; iPhone OS 9.2.1; en_US)'+    family: 'ESPN'+    major: '4'+    minor: '7'+    patch: '4'+    patch_minor: '1032'++  - user_agent_string: 'ESPN Radio 4.5.1 (iPhone; iPhone OS 5.1.1; en_US)'+    family: 'ESPN'+    major: '4'+    minor: '5'+    patch: '1'++  - user_agent_string: 'ESPN Radio 4.0 (iPhone; iPhone OS 7.1.2; en_AU)'+    family: 'ESPN'+    major: '4'+    minor: '0'+    patch:++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.2.2 Waterfox/55.2.2'+    family: 'Waterfox'+    major: '55'+    minor: '2'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:55.0) Gecko/20100101 Goanna/4.0 Firefox/55.0 Basilisk/20171113'+    family: 'Basilisk'+    major: '55'+    minor: '0'+    patch: '20171113'++  - user_agent_string: 'Go-http-client/1.1'+    family: 'Go-http-client'+    major: '1'+    minor: '1'+    patch:++  - user_agent_string: 'scalaj-http/1.0'+    family: 'scalaj-http'+    major: '1'+    minor: '0'+    patch:++  - user_agent_string: 'reqwest/0.8.1'+    family: 'reqwest'+    major: '0'+    minor: '8'+    patch: '1'++  - user_agent_string: 'akka-http/10.0.10'+    family: 'akka-http'+    major: '10'+    minor: '0'+    patch: '10'++  - user_agent_string: 'Python/3.6 aiohttp/3.5.4'+    family: 'Python aiohttp'+    major: '3'+    minor: '5'+    patch: '4'++  - user_agent_string: 'unirest-java/1.3.11'+    family: 'unirest-java'+    major: '1'+    minor: '3'+    patch: '11'++  - user_agent_string: 'axios/0.18.0'+    family: 'axios'+    major: '0'+    minor: '18'+    patch: '0'++  - user_agent_string: 'got/9.6.0 (https://github.com/sindresorhus/got)'+    family: 'got'+    major: '9'+    minor: '6'+    patch: '0'++  - user_agent_string: 'S3Gof3r'+    family: 'S3Gof3r'+    major:+    minor:+    patch:++  - user_agent_string: 'rusoto/0.36.0 rust/1.35.0 linux'+    family: 'rusoto'+    major: '0'+    minor: '36'+    patch: '0'++  - user_agent_string: 'ibm-cos-sdk-java/2.3.0 Linux/4.9.0-8-amd64 Java_HotSpot(TM)_64-Bit_Server_VM/9.0.4+11/9.0.4'+    family: 'ibm-cos-sdk-java'+    major: '2'+    minor: '3'+    patch: '0'++  - user_agent_string: 'aws-sdk-dotnet-45/3.3.11.0 aws-sdk-dotnet-core/3.3.17.10 .NET_Runtime/4.0 .NET_Framework/4.0 OS/Microsoft_Windows_NT_6.2.9200.0 ClientSync'+    family: 'aws-sdk-dotnet-45'+    major: '3'+    minor: '3'+    patch: '11'+    patch_minor: '0'++  - user_agent_string: 'Boto/2.48.0 Python/2.7.14 Linux/4.2.0-41-generic'+    family: 'Boto'+    major: '2'+    minor: '48'+    patch: '0'++  - user_agent_string: 'aws-cli/1.14.9 Python/2.7.12 Linux/4.9.76-3.78.amzn1.x86_64 botocore/1.8.13'+    family: 'aws-cli'+    major: '1'+    minor: '14'+    patch: '9'++  - user_agent_string: 'Boto3/1.6.2 Python/3.4.3 Linux/4.4.35-33.55.amzn1.x86_64 Botocore/1.9.2 Resource'+    family: 'Boto3'+    major: '1'+    minor: '6'+    patch: '2'++  - user_agent_string: 'ElasticMapReduce/1.0.0 emrfs/s3n {}, aws-sdk-java/1.11.129 Linux/4.4.35-33.55.amzn1.x86_64 OpenJDK_64-Bit_Server_VM/25.141-b16/1.8.0_141 scala/2.11.8'+    family: 'aws-sdk-java'+    major: '1'+    minor: '11'+    patch: '129'++  - user_agent_string: 'Hadoop 2.6.0-cdh5.14.0, aws-sdk-java/1.11.134 Linux/4.4.0-1052-aws OpenJDK_64-Bit_Server_VM/25.151-b12/1.8.0_151'+    family: 'aws-sdk-java'+    major: '1'+    minor: '11'+    patch: '134'++  - user_agent_string: 'Hadoop 2.8.3-amzn-0, aws-sdk-java/1.11.267 Linux/4.9.77-31.58.amzn1.x86_64 OpenJDK_64-Bit_Server_VM/25.161-b14 java/1.8.0_161 scala/2.11.8'+    family: 'aws-sdk-java'+    major: '1'+    minor: '11'+    patch: '267'++  - user_agent_string: 'aws-sdk-java/1.11.226 Mac_OS_X/10.12.6 Java_HotSpot(TM)_64-Bit_Server_VM/25.131-b11 java/1.8.0_131 scala/2.11.11'+    family: 'aws-sdk-java'+    major: '1'+    minor: '11'+    patch: '226'++  - user_agent_string: 'aws-sdk-ruby2/2.2.18 ruby/2.1.5 x86_64-linux'+    family: 'aws-sdk-ruby2'+    major: '2'+    minor: '2'+    patch: '18'++  - user_agent_string: 'aws-sdk-cpp/1.0.64 Linux/4.4.0-66-generic x86_64'+    family: 'aws-sdk-cpp'+    major: '1'+    minor: '0'+    patch: '64'++  - user_agent_string: 'aws-sdk-go/1.4.12 (go1.6; linux; amd64) S3Manager'+    family: 'aws-sdk-go'+    major: '1'+    minor: '4'+    patch: '12'++  - user_agent_string: 'aws-sdk-nodejs/2.141.0 win32/v8.4.0'+    family: 'aws-sdk-nodejs'+    major: '2'+    minor: '141'+    patch: '0'++  - user_agent_string: 'JetS3t/0.9.0 (Linux/4.4.0-1044-aws; amd64; en; JVM 1.8.0_131)'+    family: 'JetS3t'+    major: '0'+    minor: '9'+    patch: '0'++  - user_agent_string: 's3fs/1.80 (commit hash 6be3236; OpenSSL)'+    family: 's3fs'+    major: '1'+    minor: '80'+    patch:++  - user_agent_string: 'Cyberduck/6.3.0.27105 (Windows 10/10.0) (x86)'+    family: 'Cyberduck'+    major: '6'+    minor: '3'+    patch: '0'++  - user_agent_string: 'S3 Browser 7-4-5 https://s3browser.com'+    family: 'S3 Browser'+    major: '7'+    minor: '4'+    patch: '5'++  - user_agent_string: 'rclone/v1.34'+    family: 'rclone'+    major: '1'+    minor: '34'+    patch:++  - user_agent_string: 'PycURL/7.43.0 libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 libssh2/1.4.3 librtmp/2.3'+    family: 'PycURL'+    major: '7'+    minor: '43'+    patch: '0'++  - user_agent_string: 'Axel 2.4 (Linux)'+    family: 'Axel'+    major: '2'+    minor: '4'+    patch:++  - user_agent_string: 'lftp/4.7.7'+    family: 'lftp'+    major: '4'+    minor: '7'+    patch: '7'++  - user_agent_string: 'aria2/1.19.0'+    family: 'aria2'+    major: '1'+    minor: '19'+    patch: '0'++  - user_agent_string: 'SalesforceMobileSDK/5.3.0 android mobile/7.1.1 (XT1635-02) Salesforce1/15.2 Native uid_bef1747905d064c6 ftr_ Cordova/6.2.3'+    family: 'Salesforce'+    major: '15'+    minor: '2'+    patch:++  - user_agent_string: 'YahooMailProxy; https://help.yahoo.com/kb/yahoo-mail-proxy-SLN28749.html'+    family: 'YahooMailProxy'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Snapchat/10.38.0.25 (iPhone8,1; iOS 11.2.6; gzip)'+    family: 'Snapchat'+    major: '10'+    minor: '38'+    patch: '0'+    patch_minor: '25'++  - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8L1 Twitter for iPad'+    family: 'Twitter'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 9; Nokia 2.1 Build/PKQ1.181105.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.157 Mobile Safari/537.36 TwitterAndroid'+    family: 'Twitter'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_1 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Mobile/15C153 Twitter for iPhone/7.19'+    family: 'Twitter'+    major: '7'+    minor: '19'+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) GSA/4.2.2.38484 Mobile/11D257 Safari/9537.53'+    family: 'Google'+    major: '4'+    minor: '2'+    patch: '2'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0_2 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) GSA/36.0.169645775 Mobile/15A421 Safari/604.1'+    family: 'Google'+    major: '36'+    minor: '0'+    patch: '169645775'++  - user_agent_string: 'ViaFree-DK/3.8.3 (com.MTGx.ViaFree.dk; build:7383; iOS 12.1.0) Alamofire/4.7.0'+    family: 'ViaFree'+    major: '3'+    minor: '8'+    patch: '3'++  - user_agent_string: 'Viafree-tvOS-DK/3.7.1 (com.MTGx.ViaFree.dk; build:7341; tvOS 12.1.0) Alamofire/4.7.0'+    family: 'ViaFree'+    major: '3'+    minor: '7'+    patch: '1'++  - user_agent_string: 'OC/15.0.5071.1000 (Skype for Business)'+    family: 'Skype'+    major: '15'+    minor: '0'+    patch: '5071'+    patch_minor: '1000'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 8.1.0; TA-1024 Build/OPR1.170623.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36 GSA/8.65.5.21.arm64'+    family: 'Google'+    major: '8'+    minor: '65'+    patch: '5'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36 GSA/8.65.5.21.arm64'+    family: 'Google'+    major: '8'+    minor: '65'+    patch: '5'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36 GSA/8.65.5.21.arm64'+    family: 'Google'+    major: '8'+    minor: '65'+    patch: '5'++  - user_agent_string: 'Microsoft Office Word 2014'+    family: 'Word'+    major:+    minor:+    patch:++  - user_agent_string: 'Ghost/2.13.1+moya (https://github.com/TryGhost/Ghost)'+    family: 'Ghost'+    major: '2'+    minor: '13'+    patch: '1'++  - user_agent_string: 'Ghost/2.10.8 (https://github.com/TryGhost/Ghost)'+    family: 'Ghost'+    major: '2'+    minor: '10'+    patch: '8'++  - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3763.0 Safari/537.36 Edg/75.0.131.0'+    family: 'Edge'+    major: '75'+    minor: '0'+    patch: '131'+    patch_minor: '0'++  - user_agent_string: 'Mozilla/5.0 (iPad; CPU OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 TopBuzz com.alex.NewsMaster/8.2.1 (iPad; iOS 12.3.1; en; WIFI)'+    family: 'TopBuzz'+    major: '8'+    minor: '2'+    patch: '1'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 9; SM-G950U Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.111 Mobile Safari/537.36 JsSdk/2 TopBuzz/9.4.3 NetType/4G'+    family: 'TopBuzz'+    major: '9'+    minor: '4'+    patch: '3'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 9; SM-J737A Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/75.0.3770.143 Mobile Safari/537.36 JsSdk/2 TopBuzz/9.1.4 NetType/4G'+    family: 'TopBuzz'+    major: '9'+    minor: '1'+    patch: '4'++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 TopBuzz com.topbuzz.videoen/8.2.2 (iPhone; iOS 10.3.3; en; WIFI; CTRadioAccessTechnologyLTE)'+    family: 'TopBuzz'+    major: '8'+    minor: '2'+    patch: '2'++  - user_agent_string: 'Snapchat/10.29.1.0 (iPhone10,1; iOS 11.2; gzip)'+    family: 'Snapchat'+    major: '10'+    minor: '29'+    patch: '1'++  - user_agent_string: 'OgScrper/1.0.0'+    family: 'OgScrper'+    major: '1'+    minor: '0'+    patch: '0'++  - user_agent_string: 'Android: Client/0.0.0-indev (Android SDK built for x86; Android 9)'+    family: 'Android'+    major: '9'+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 9; zh-cn; vivo X21 Build/PKQ1.180819.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/9.9 Mobile Safari/537.36'+    family: 'QQ Browser Mobile'+    major: '9'+    minor: '9'+    patch:++  - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Mobile/14F89 Safari/603.2.4 EdgiOS/41.1.35.1'+    family: 'Edge Mobile'+    major: '41'+    minor: '1'+    patch: '35'+    patch_minor: '1'++  - user_agent_string: 'Mozilla/5.0 (Linux; Android 8.0; Pixel XL Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.0 Mobile Safari/537.36 EdgA/41.1.35.1'+    family: 'Edge Mobile'+    major: '41'+    minor: '1'+    patch: '35'+    patch_minor: '1'++  - user_agent_string: 'Mozilla/5.0 (compatible;AspiegelBot)'+    family: 'AspiegelBot'+    major:+    minor:+    patch:+  +  - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; AspiegelBot)'+    family: 'AspiegelBot'+    major:+    minor:+    patch:++  - user_agent_string: 'Mozilla/5.0 QGIS/31100'+    family: 'QGIS'+    major: '3'+    minor: '11'+    patch: '0'++  - user_agent_string: 'Mozilla/5.0 QGIS/2.18.20'+    family: 'QGIS'+    major: '2'+    minor: '18'+    patch: '20'++  - user_agent_string: 'JOSM/1.5 (15492 nl) Windows 7 64-Bit Java/1.8.0_221'+    family: 'JOSM'+    major: '1'+    minor: '5'+    patch:++  - user_agent_string: 'FME/2018.7.34.18312  libcurl/7.57.0 WinSSL zlib/1.2.11 WinIDN libssh2/1.7.0'+    family: 'FME'+    major: '2018.7'+    minor: '34'+    patch: '18312'++  - user_agent_string: 'GeoEvent Server 10.5.1'+    family: 'GeoEvent Server'+    major: '10'+    minor: '5'+    patch: '1'+    +  - user_agent_string: 'ArcGIS Pro 2.4.2 (000000000) - ArcGIS Pro'+    family: 'ArcGIS Pro'+    major: '2'+    minor: '4'+    patch: '2'+  +  - user_agent_string: 'ArcGIS Client Using WinInet'+    family: 'ArcMap'+    major:+    minor:+    patch:++  - user_agent_string: 'ArcGISRuntime-Android/10.3.0 (Android 4.4; armeabi-v7a; SAMSUNG-GT-I9195) arcgis-collector/18.0.3 (00000000-0000-0000-0000-000000000000)'+    family: 'Collector for ArcGIS'+    major: '18'+    minor: '0'+    patch: '3'++  - user_agent_string: 'ArcGISRuntime-iOS/10.3.0 (iOS 10.2.1; iPad5,4) arcgis-collector/19.0.2 (00000000-0000-0000-0000-000000000000)'+    family: 'Collector for ArcGIS'+    major: '19'+    minor: '0'+    patch: '2'++  - user_agent_string: 'ArcGISRuntime-iOS/100.4 (iOS 11.4; iPad7,6) arcgis-aurora/18.1.0 (00000000-0000-0000-0000-000000000000)'+    family: 'Collector for ArcGIS'+    major: '18'+    minor: '1'+    patch: '0'++  - user_agent_string: 'ArcGISRuntime-NET/10.3.0 (Windows 10.0.18362; x64; UAP; Windows.Desktop) arcgis-collector/18.0.2 (00000000-0000-0000-0000-000000000000)'+    family: 'Collector for ArcGIS'+    major: '18'+    minor: '0'+    patch: '2'++  - user_agent_string: 'Collector-Android-10.3.7/ArcGIS.Android-10.2.5/7.0/SAMSUNG-SM-T815'+    family: 'Collector for ArcGIS'+    major: '10'+    minor: '3'+    patch: '7'++  - user_agent_string: 'Collector-iOS-10.4.0:ArcGISiOS-10.2.4+Collector/13.1.2/iPad5,4'+    family: 'Collector for ArcGIS'+    major: '10'+    minor: '4'+    patch: '0'++  - user_agent_string: 'Collector/6212016 CFNetwork/978.0.7 Darwin/18.7.0'+    family: 'Collector for ArcGIS'+    major: '6212016'+    minor:+    patch:++  - user_agent_string: 'ArcGISRuntime-Android/100.2.2 (Android 6.0; armeabi-v7a; SAMSUNG-SM-T800) arcgis-explorer/18.1.0 (00000000-0000-0000-0000-000000000000)'+    family: 'Explorer for ArcGIS'+    major: '18'+    minor: '1'+    patch: '0'++  - user_agent_string: 'ArcGISRuntime-iOS/100.1 (iPhone OS 9.3.5; iPad2,2) arcgis-explorer/17.1.2 (00000000-0000-0000-0000-000000000000)'+    family: 'Explorer for ArcGIS'+    major: '17'+    minor: '1'+    patch: '2'++  - user_agent_string: 'Explorer/1544 CFNetwork/1107.1 Darwin/19.0.0'+    family: 'Explorer for ArcGIS'+    major: '1544'+    minor:+    patch:+    +  - user_agent_string: 'Explorer-Android-10.2.10/ArcGIS.Android-10.2.8/5.1.1/SAMSUNG-SM-G361F'+    family: 'Explorer for ArcGIS'+    major: '10'+    minor: '2'+    patch: '10'++  - user_agent_string: 'Explorer-iOS-10.2.10:ArcGISiOS-10.2.4+Collector/13.1.3/iPhone9,3'+    family: 'Explorer for ArcGIS'+    major: '10'+    minor: '2'+    patch: '10'++  - user_agent_string: 'ArcGISRuntime-Android/100.1.1 (Android 7.0; arm64-v8a; SAMSUNG-SM-G930F) arcgis-workforce/17.0.1 (00000000-0000-0000-0000-000000000000)'+    family: 'Workforce for ArcGIS'+    major: '17'+    minor: '0'+    patch: '1'++  - user_agent_string: 'Workforce-iOS-17.0.1:ArcGISiOS-100.0.0.1529+dev/13.2/iPad6,12'+    family: 'Workforce for ArcGIS'+    major: '17'+    minor: '0'+    patch: '1'+    +  - user_agent_string: 'AR/10.2.6.1704 .Net/Desktop (Win32NT/6.1.7601.65536; Win64) arcgisearth/1.5'+    family: 'ArcGIS Earth'+    major: '1'+    minor: '5'+    patch:++  - user_agent_string: 'ArcGISRuntime-iOS/100.6 (iOS 12.3.1; iPad6,3) com.esri.earth.phone/1.0.0'+    family: 'ArcGIS Earth'+    major: '1'+    minor: '0'+    patch: '0'++  - user_agent_string: 'ArcGISiOS-10.2.4/12.1/iPad5,2'+    family: 'ArcGIS Runtime SDK for iOS'+    major: '10'+    minor: '2'+    patch: '4'++  - user_agent_string: 'ArcGISRuntime-iOS/100.1.1 (iOS 12.4.1; iPhone10,4)'+    family: 'ArcGIS Runtime SDK for iOS'+    major: '100'+    minor: '1'+    patch: '1'+  +  - user_agent_string: 'ArcGIS.Android-10.2.4/8.0.0/SAMSUNG-SM-A530F'+    family: 'ArcGIS Runtime SDK for Android'+    major: '10'+    minor: '2'+    patch: '4'++  - user_agent_string: 'ArcGIS.Android.10.2'+    family: 'ArcGIS Runtime SDK for Android'+    major: '10'+    minor: '2'+    patch: ++  - user_agent_string: 'ArcGISRuntime-Android/100.4 (Android 10.0; arm64-v8a; ONEPLUS-HD1903)'+    family: 'ArcGIS Runtime SDK for Android'+    major: '100'+    minor: '4'+    patch:++  - user_agent_string: 'ArcGISRuntime-Qt/100.3 (Windows 10; x86_64; Qt 5.12.1; C++)'+    family: 'ArcGIS Runtime SDK for Qt'+    major: '100'+    minor: '3'+    patch:+  +  - user_agent_string: 'ArcGISRuntime-NET/100.7 (Windows 10.0.18362; Win64; WOW64; UAP; Windows.Desktop)'+    family: 'ArcGIS Runtime SDK for NET'+    major: '100'+    minor: '7'+    patch:
src/Web/UAParser.hs view
@@ -66,9 +66,12 @@     where       UAConfig{..} = uaConfig -      go UAParser{..} = either (const Nothing) mkRes+      go UAParser{..} = either (const Nothing) (fmap normalize . mkRes)                       . mapM T.decodeUtf8' =<< match uaRegex bs []         where+          normalize (UAResult f v1 v2 v3) = UAResult f (normalizeMaybeText v1) (normalizeMaybeText v2) (normalizeMaybeText v3)+          normalizeMaybeText (Just "") = Nothing+          normalizeMaybeText x         = x           mkRes caps@(_:f:v1:v2:v3:_) = Just $ UAResult (repF caps f) (repV1 caps (Just v1)) (repV2 caps (Just v2)) (repV3 caps (Just v3))           mkRes caps@[_,f,v1,v2]      = Just $ UAResult (repF caps f) (repV1 caps (Just v1)) (repV2 caps (Just v2)) (repV3 caps Nothing)           mkRes caps@[_,f,v1]         = Just $ UAResult (repF caps f) (repV1 caps (Just v1)) (repV2 caps Nothing) (repV3 caps Nothing)
src/Web/UAParser/SuiteUtils.hs view
@@ -22,7 +22,7 @@  -- Loading Test Cases loadTests :: FromJSON a => FilePath -> IO a-loadTests fp = parseMonad p =<< either (error . show) id `fmap` decodeFileEither fp'+loadTests fp = either (error . show) (either error id . parseEither p) `fmap` decodeFileEither fp'   where     fp' = "deps/uap-core" </> fp     p = withObject "Value" $ \x -> x .: "test_cases"
ua-parser.cabal view
@@ -1,6 +1,6 @@ name:                ua-parser description:         Please refer to the git/github README on the project for example usage.-version:             0.7.5.1+version:             0.7.6.0 synopsis:            A library for parsing User-Agent strings, official Haskell port of ua-parser license:             BSD3 license-file:        LICENSE@@ -9,9 +9,8 @@ category:            Web build-type:          Simple cabal-version:       >=1.10-tested-with:         GHC == 7.6.3-                   , GHC == 7.8.4-                   , GHC == 7.10.2+tested-with:         GHC == 8.6.5+                   , GHC == 8.8.4  extra-source-files: src/Web/UAParser/SuiteUtils.hs                     README.md