DuracellTomi's Google Tag Manager for WordPress - Version 1.4

Version Description

  • Fixed: WP CLI error message
  • Fixed: wrong dynamic remarketing tagging on cart and checkout pages
  • Updated: WhichBrowser library to 2.0.22
  • Updated: slightly changed container code snippet to prevent W3 Total Cache to alter the code which breaks proper code execution
  • Updated: replaced file_get_contents() usage in weather tracking to wp_remote_get() so that it is more compatible with several WP instances
  • Updated: YouTube/Video/Soundcloud tracking now tracks videos not embedded using oEmbed (like videos in a widget area)
  • Updated: new Vimeo Player API implemented which should solve several issues
  • Changed: adapted W3C HTML5 media player event names which changes some events (needs updating your existing GTM setup):
    • Soundcloud: finish => ended, seek => seeked
    • YouTube: playing => play, paused => pause, playback-rate-change => ratechange
    • Vimeo: seek => seeked
  • Added: new placement option - 'off'. This will only generate the data layer but you will need to add the proper GTM container code snippet by hand
  • Added: new data layer variable: authorID
  • Added: new data layer variable: siteID to be able to track based on blog ID in a multisite environment
  • Added: new data layer variable: siteName to be able to track in a multisite environment
Download this release

Release Info

Developer duracelltomi
Plugin Icon 128x128 DuracellTomi's Google Tag Manager for WordPress
Version 1.4
Comparing to
See all releases

Code changes from version 1.3.2 to 1.4

Files changed (28) hide show
  1. admin/admin.php +21 -4
  2. common/readoptions.php +7 -0
  3. duracelltomi-google-tag-manager-for-wordpress.php +2 -2
  4. integration/soundcloud.php +7 -2
  5. integration/vimeo.php +8 -3
  6. integration/whichbrowser/data/applications-bots.php +289 -0
  7. integration/whichbrowser/data/applications-browsers.php +243 -0
  8. integration/whichbrowser/data/applications-others.php +135 -0
  9. integration/whichbrowser/data/browsers-chrome.php +91 -0
  10. integration/whichbrowser/data/build-android.php +244 -0
  11. integration/whichbrowser/data/id-android.php +323 -0
  12. integration/whichbrowser/data/indices/models-android.php +7051 -0
  13. integration/whichbrowser/data/indices/models-asha.php +24 -0
  14. integration/whichbrowser/data/indices/models-bada.php +27 -0
  15. integration/whichbrowser/data/indices/models-brew.php +118 -0
  16. integration/whichbrowser/data/indices/models-feature.php +202 -0
  17. integration/whichbrowser/data/indices/models-firefoxos.php +55 -0
  18. integration/whichbrowser/data/indices/models-kddi.php +393 -0
  19. integration/whichbrowser/data/indices/models-palmos.php +115 -0
  20. integration/whichbrowser/data/indices/models-s30plus.php +20 -0
  21. integration/whichbrowser/data/indices/models-s40.php +249 -0
  22. integration/whichbrowser/data/indices/models-symbian.php +343 -0
  23. integration/whichbrowser/data/indices/models-tizen.php +92 -0
  24. integration/whichbrowser/data/indices/models-touchwiz.php +55 -0
  25. integration/whichbrowser/data/indices/models-wm.php +534 -0
  26. integration/whichbrowser/data/indices/models-wp.php +511 -0
  27. integration/whichbrowser/data/manufacturer-names.php +40 -0
  28. integration/whichbrowser/data/models-android.php +8823 -0
admin/admin.php CHANGED
@@ -47,9 +47,14 @@ $GLOBALS["gtm4wp_includefieldtexts"] = array(
47
  "description" => __( "Check this option to include the tags of the current post.", 'duracelltomi-google-tag-manager' ),
48
  "phase" => GTM4WP_PHASE_STABLE
49
  ),
 
 
 
 
 
50
  GTM4WP_OPTION_INCLUDE_AUTHOR => array(
51
  "label" => __( "Post author name", 'duracelltomi-google-tag-manager' ),
52
- "description" => __( "Check this option to include the author's name of the current post or author page.", 'duracelltomi-google-tag-manager' ),
53
  "phase" => GTM4WP_PHASE_STABLE
54
  ),
55
  GTM4WP_OPTION_INCLUDE_POSTDATE => array(
@@ -126,6 +131,16 @@ $GLOBALS["gtm4wp_includefieldtexts"] = array(
126
  "label" => __( "OpenWeatherMap API key", 'duracelltomi-google-tag-manager' ),
127
  "description" => __( 'Enter your OpenWeatherMap API key here. <a href="http://openweathermap.org/price" target="_blank">Get a free API key here</a>.', 'duracelltomi-google-tag-manager' ),
128
  "phase" => GTM4WP_PHASE_EXPERIMENTAL
 
 
 
 
 
 
 
 
 
 
129
  )
130
  );
131
 
@@ -494,7 +509,8 @@ function gtm4wp_admin_output_field( $args ) {
494
  case GTM4WP_ADMIN_GROUP_PLACEMENT: {
495
  echo '<input type="radio" id="' . GTM4WP_OPTIONS . '[' . GTM4WP_OPTION_GTM_PLACEMENT . ']_' . GTM4WP_PLACEMENT_FOOTER . '" name="' . GTM4WP_OPTIONS . '[' . GTM4WP_OPTION_GTM_PLACEMENT . ']" value="' . GTM4WP_PLACEMENT_FOOTER . '" ' . ( $gtm4wp_options[ GTM4WP_OPTION_GTM_PLACEMENT ] == GTM4WP_PLACEMENT_FOOTER ? 'checked="checked"' : '' ) . '/> ' . __( "Footer of the page (not recommended by Google, no tweak in your template required)", 'duracelltomi-google-tag-manager' ) . '<br />';
496
  echo '<input type="radio" id="' . GTM4WP_OPTIONS . '[' . GTM4WP_OPTION_GTM_PLACEMENT . ']_' . GTM4WP_PLACEMENT_BODYOPEN . '" name="' . GTM4WP_OPTIONS . '[' . GTM4WP_OPTION_GTM_PLACEMENT . ']" value="' . GTM4WP_PLACEMENT_BODYOPEN . '" ' . ( $gtm4wp_options[ GTM4WP_OPTION_GTM_PLACEMENT ] == GTM4WP_PLACEMENT_BODYOPEN ? 'checked="checked"' : '' ) . '/> ' . __( "Custom (needs tweak in your template)", 'duracelltomi-google-tag-manager' ) . '<br />';
497
- echo '<input type="radio" id="' . GTM4WP_OPTIONS . '[' . GTM4WP_OPTION_GTM_PLACEMENT . ']_' . GTM4WP_PLACEMENT_BODYOPEN_AUTO . '" name="' . GTM4WP_OPTIONS . '[' . GTM4WP_OPTION_GTM_PLACEMENT . ']" value="' . GTM4WP_PLACEMENT_BODYOPEN_AUTO . '" ' . ( $gtm4wp_options[ GTM4WP_OPTION_GTM_PLACEMENT ] == GTM4WP_PLACEMENT_BODYOPEN_AUTO ? 'checked="checked"' : '' ) . '/> ' . __( "Codeless injection (no tweak, right placement but experimental, could break your frontend)", 'duracelltomi-google-tag-manager' ) . '<br /><br />' . $args["description"];
 
498
 
499
  break;
500
  }
@@ -642,7 +658,7 @@ function gtm4wp_sanitize_options($options) {
642
  // GTM container code placement
643
  } else if ( $optionname == GTM4WP_OPTION_GTM_PLACEMENT ) {
644
  $output[$optionname] = (int) $newoptionvalue;
645
- if ( ( $output[$optionname] < 0) || ( $output[$optionname] > 2 ) ) {
646
  $output[$optionname] = 0;
647
  }
648
 
@@ -930,7 +946,8 @@ function gtm4wp_add_admin_js($hook) {
930
  "weathertabtitle" => __( "Weather data" , 'duracelltomi-google-tag-manager' ),
931
  "generaleventstabtitle" => __( "General events" , 'duracelltomi-google-tag-manager' ),
932
  "mediaeventstabtitle" => __( "Media events" , 'duracelltomi-google-tag-manager' ),
933
- "depecratedeventstabtitle" => __( "Deprecated" , 'duracelltomi-google-tag-manager' )
 
934
  );
935
  wp_localize_script( "admin-subtabs", 'gtm4wp', $subtabtexts );
936
  wp_enqueue_script( "admin-subtabs" );
47
  "description" => __( "Check this option to include the tags of the current post.", 'duracelltomi-google-tag-manager' ),
48
  "phase" => GTM4WP_PHASE_STABLE
49
  ),
50
+ GTM4WP_OPTION_INCLUDE_AUTHORID => array(
51
+ "label" => __( "Post author ID", 'duracelltomi-google-tag-manager' ),
52
+ "description" => __( "Check this option to include the ID of the author on the current post or author page.", 'duracelltomi-google-tag-manager' ),
53
+ "phase" => GTM4WP_PHASE_STABLE
54
+ ),
55
  GTM4WP_OPTION_INCLUDE_AUTHOR => array(
56
  "label" => __( "Post author name", 'duracelltomi-google-tag-manager' ),
57
+ "description" => __( "Check this option to include the name of the author on the current post or author page.", 'duracelltomi-google-tag-manager' ),
58
  "phase" => GTM4WP_PHASE_STABLE
59
  ),
60
  GTM4WP_OPTION_INCLUDE_POSTDATE => array(
131
  "label" => __( "OpenWeatherMap API key", 'duracelltomi-google-tag-manager' ),
132
  "description" => __( 'Enter your OpenWeatherMap API key here. <a href="http://openweathermap.org/price" target="_blank">Get a free API key here</a>.', 'duracelltomi-google-tag-manager' ),
133
  "phase" => GTM4WP_PHASE_EXPERIMENTAL
134
+ ),
135
+ GTM4WP_OPTION_INCLUDE_SITEID => array(
136
+ "label" => __( "Site ID", 'duracelltomi-google-tag-manager' ),
137
+ "description" => __( 'ID of the current site in a WordPress Multisite environment', 'duracelltomi-google-tag-manager' ),
138
+ "phase" => GTM4WP_PHASE_STABLE
139
+ ),
140
+ GTM4WP_OPTION_INCLUDE_SITENAME => array(
141
+ "label" => __( "Site name", 'duracelltomi-google-tag-manager' ),
142
+ "description" => __( 'Name of the current site in a WordPress Multisite environment', 'duracelltomi-google-tag-manager' ),
143
+ "phase" => GTM4WP_PHASE_STABLE
144
  )
145
  );
146
 
509
  case GTM4WP_ADMIN_GROUP_PLACEMENT: {
510
  echo '<input type="radio" id="' . GTM4WP_OPTIONS . '[' . GTM4WP_OPTION_GTM_PLACEMENT . ']_' . GTM4WP_PLACEMENT_FOOTER . '" name="' . GTM4WP_OPTIONS . '[' . GTM4WP_OPTION_GTM_PLACEMENT . ']" value="' . GTM4WP_PLACEMENT_FOOTER . '" ' . ( $gtm4wp_options[ GTM4WP_OPTION_GTM_PLACEMENT ] == GTM4WP_PLACEMENT_FOOTER ? 'checked="checked"' : '' ) . '/> ' . __( "Footer of the page (not recommended by Google, no tweak in your template required)", 'duracelltomi-google-tag-manager' ) . '<br />';
511
  echo '<input type="radio" id="' . GTM4WP_OPTIONS . '[' . GTM4WP_OPTION_GTM_PLACEMENT . ']_' . GTM4WP_PLACEMENT_BODYOPEN . '" name="' . GTM4WP_OPTIONS . '[' . GTM4WP_OPTION_GTM_PLACEMENT . ']" value="' . GTM4WP_PLACEMENT_BODYOPEN . '" ' . ( $gtm4wp_options[ GTM4WP_OPTION_GTM_PLACEMENT ] == GTM4WP_PLACEMENT_BODYOPEN ? 'checked="checked"' : '' ) . '/> ' . __( "Custom (needs tweak in your template)", 'duracelltomi-google-tag-manager' ) . '<br />';
512
+ echo '<input type="radio" id="' . GTM4WP_OPTIONS . '[' . GTM4WP_OPTION_GTM_PLACEMENT . ']_' . GTM4WP_PLACEMENT_BODYOPEN_AUTO . '" name="' . GTM4WP_OPTIONS . '[' . GTM4WP_OPTION_GTM_PLACEMENT . ']" value="' . GTM4WP_PLACEMENT_BODYOPEN_AUTO . '" ' . ( $gtm4wp_options[ GTM4WP_OPTION_GTM_PLACEMENT ] == GTM4WP_PLACEMENT_BODYOPEN_AUTO ? 'checked="checked"' : '' ) . '/> ' . __( "Codeless injection (no tweak, right placement but experimental, could break your frontend)", 'duracelltomi-google-tag-manager' ) . '<br />';
513
+ echo '<input type="radio" id="' . GTM4WP_OPTIONS . '[' . GTM4WP_OPTION_GTM_PLACEMENT . ']_' . GTM4WP_PLACEMENT_OFF . '" name="' . GTM4WP_OPTIONS . '[' . GTM4WP_OPTION_GTM_PLACEMENT . ']" value="' . GTM4WP_PLACEMENT_OFF . '" ' . ( $gtm4wp_options[ GTM4WP_OPTION_GTM_PLACEMENT ] == GTM4WP_PLACEMENT_OFF ? 'checked="checked"' : '' ) . '/> ' . __( "Off (only add data layer to the page source)", 'duracelltomi-google-tag-manager' ) . '<br /><br />' . $args["description"];
514
 
515
  break;
516
  }
658
  // GTM container code placement
659
  } else if ( $optionname == GTM4WP_OPTION_GTM_PLACEMENT ) {
660
  $output[$optionname] = (int) $newoptionvalue;
661
+ if ( ( $output[$optionname] < 0) || ( $output[$optionname] > 3 ) ) {
662
  $output[$optionname] = 0;
663
  }
664
 
946
  "weathertabtitle" => __( "Weather data" , 'duracelltomi-google-tag-manager' ),
947
  "generaleventstabtitle" => __( "General events" , 'duracelltomi-google-tag-manager' ),
948
  "mediaeventstabtitle" => __( "Media events" , 'duracelltomi-google-tag-manager' ),
949
+ "depecratedeventstabtitle" => __( "Deprecated" , 'duracelltomi-google-tag-manager' ),
950
+ "sitetabtitle" => __( "Site" , 'duracelltomi-google-tag-manager' )
951
  );
952
  wp_localize_script( "admin-subtabs", 'gtm4wp', $subtabtexts );
953
  wp_enqueue_script( "admin-subtabs" );
common/readoptions.php CHANGED
@@ -11,6 +11,7 @@ define( 'GTM4WP_OPTION_INCLUDE_USERID', 'include-userid' );
11
  define( 'GTM4WP_OPTION_INCLUDE_POSTTYPE', 'include-posttype' );
12
  define( 'GTM4WP_OPTION_INCLUDE_CATEGORIES', 'include-categories' );
13
  define( 'GTM4WP_OPTION_INCLUDE_TAGS', 'include-tags' );
 
14
  define( 'GTM4WP_OPTION_INCLUDE_AUTHOR', 'include-author' );
15
  define( 'GTM4WP_OPTION_INCLUDE_POSTDATE', 'include-postdate' );
16
  define( 'GTM4WP_OPTION_INCLUDE_POSTTITLE', 'include-posttitle' );
@@ -23,6 +24,8 @@ define( 'GTM4WP_OPTION_INCLUDE_DEVICEDATA', 'include-devicedata' );
23
  define( 'GTM4WP_OPTION_INCLUDE_WEATHER', 'include-weather' );
24
  define( 'GTM4WP_OPTION_INCLUDE_WEATHERUNITS', 'weather-weatherunits' );
25
  define( 'GTM4WP_OPTION_INCLUDE_WEATHEROWMAPI', 'weather-openweathermap-apikey' );
 
 
26
 
27
  define( 'GTM4WP_OPTION_EVENTS_OUTBOUND', 'event-outbound' );
28
  define( 'GTM4WP_OPTION_EVENTS_DOWNLOADS', 'event-downloads' );
@@ -87,6 +90,7 @@ define( 'GTM4WP_OPTION_INTEGRATE_WPECOMMERCE', 'integrate-wp-e-commerce' );
87
  define( 'GTM4WP_PLACEMENT_FOOTER', 0 );
88
  define( 'GTM4WP_PLACEMENT_BODYOPEN', 1 );
89
  define( 'GTM4WP_PLACEMENT_BODYOPEN_AUTO', 2 );
 
90
 
91
  $gtm4wp_options = array();
92
 
@@ -103,6 +107,7 @@ $gtm4wp_defaultoptions = array(
103
  GTM4WP_OPTION_INCLUDE_CATEGORIES => true,
104
  GTM4WP_OPTION_INCLUDE_TAGS => true,
105
  GTM4WP_OPTION_INCLUDE_AUTHOR => true,
 
106
  GTM4WP_OPTION_INCLUDE_POSTDATE => false,
107
  GTM4WP_OPTION_INCLUDE_POSTTITLE => false,
108
  GTM4WP_OPTION_INCLUDE_POSTCOUNT => false,
@@ -114,6 +119,8 @@ $gtm4wp_defaultoptions = array(
114
  GTM4WP_OPTION_INCLUDE_WEATHER => false,
115
  GTM4WP_OPTION_INCLUDE_WEATHERUNITS => 0,
116
  GTM4WP_OPTION_INCLUDE_WEATHEROWMAPI => '',
 
 
117
 
118
  GTM4WP_OPTION_EVENTS_OUTBOUND => false,
119
  GTM4WP_OPTION_EVENTS_DOWNLOADS => false,
11
  define( 'GTM4WP_OPTION_INCLUDE_POSTTYPE', 'include-posttype' );
12
  define( 'GTM4WP_OPTION_INCLUDE_CATEGORIES', 'include-categories' );
13
  define( 'GTM4WP_OPTION_INCLUDE_TAGS', 'include-tags' );
14
+ define( 'GTM4WP_OPTION_INCLUDE_AUTHORID', 'include-authorid' );
15
  define( 'GTM4WP_OPTION_INCLUDE_AUTHOR', 'include-author' );
16
  define( 'GTM4WP_OPTION_INCLUDE_POSTDATE', 'include-postdate' );
17
  define( 'GTM4WP_OPTION_INCLUDE_POSTTITLE', 'include-posttitle' );
24
  define( 'GTM4WP_OPTION_INCLUDE_WEATHER', 'include-weather' );
25
  define( 'GTM4WP_OPTION_INCLUDE_WEATHERUNITS', 'weather-weatherunits' );
26
  define( 'GTM4WP_OPTION_INCLUDE_WEATHEROWMAPI', 'weather-openweathermap-apikey' );
27
+ define( 'GTM4WP_OPTION_INCLUDE_SITEID', 'include-siteid' );
28
+ define( 'GTM4WP_OPTION_INCLUDE_SITENAME', 'include-sitename' );
29
 
30
  define( 'GTM4WP_OPTION_EVENTS_OUTBOUND', 'event-outbound' );
31
  define( 'GTM4WP_OPTION_EVENTS_DOWNLOADS', 'event-downloads' );
90
  define( 'GTM4WP_PLACEMENT_FOOTER', 0 );
91
  define( 'GTM4WP_PLACEMENT_BODYOPEN', 1 );
92
  define( 'GTM4WP_PLACEMENT_BODYOPEN_AUTO', 2 );
93
+ define( 'GTM4WP_PLACEMENT_OFF', 3 );
94
 
95
  $gtm4wp_options = array();
96
 
107
  GTM4WP_OPTION_INCLUDE_CATEGORIES => true,
108
  GTM4WP_OPTION_INCLUDE_TAGS => true,
109
  GTM4WP_OPTION_INCLUDE_AUTHOR => true,
110
+ GTM4WP_OPTION_INCLUDE_AUTHORID => false,
111
  GTM4WP_OPTION_INCLUDE_POSTDATE => false,
112
  GTM4WP_OPTION_INCLUDE_POSTTITLE => false,
113
  GTM4WP_OPTION_INCLUDE_POSTCOUNT => false,
119
  GTM4WP_OPTION_INCLUDE_WEATHER => false,
120
  GTM4WP_OPTION_INCLUDE_WEATHERUNITS => 0,
121
  GTM4WP_OPTION_INCLUDE_WEATHEROWMAPI => '',
122
+ GTM4WP_OPTION_INCLUDE_SITEID => false,
123
+ GTM4WP_OPTION_INCLUDE_SITENAME => false,
124
 
125
  GTM4WP_OPTION_EVENTS_OUTBOUND => false,
126
  GTM4WP_OPTION_EVENTS_DOWNLOADS => false,
duracelltomi-google-tag-manager-for-wordpress.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  Plugin Name: Google Tag Manager for Wordpress
4
- Version: 1.3.2
5
  Plugin URI: https://duracelltomi.com/google-tag-manager-for-wordpress/
6
  Description: The first Google Tag Manager plugin for WordPress with business goals in mind
7
  Author: Thomas Geiger
@@ -10,7 +10,7 @@ Text Domain: duracelltomi-google-tag-manager
10
  Domain Path: /languages
11
  */
12
 
13
- define( 'GTM4WP_VERSION', '1.3.2' );
14
  define( 'GTM4WP_PATH', plugin_dir_path( __FILE__ ) );
15
 
16
  $gtp4wp_plugin_url = plugin_dir_url( __FILE__ );
1
  <?php
2
  /*
3
  Plugin Name: Google Tag Manager for Wordpress
4
+ Version: 1.4
5
  Plugin URI: https://duracelltomi.com/google-tag-manager-for-wordpress/
6
  Description: The first Google Tag Manager plugin for WordPress with business goals in mind
7
  Author: Thomas Geiger
10
  Domain Path: /languages
11
  */
12
 
13
+ define( 'GTM4WP_VERSION', '1.4' );
14
  define( 'GTM4WP_PATH', plugin_dir_path( __FILE__ ) );
15
 
16
  $gtp4wp_plugin_url = plugin_dir_url( __FILE__ );
integration/soundcloud.php CHANGED
@@ -1,4 +1,7 @@
1
  <?php
 
 
 
2
  function gtm4wp_soundcloud( $return, $url, $data ) {
3
  if ( false !== strpos( $return, "soundcloud.com" ) ) {
4
  if ( false === strpos( $return, ' id="' ) ) {
@@ -21,8 +24,10 @@ function gtm4wp_soundcloud( $return, $url, $data ) {
21
  }
22
 
23
  add_filter( "oembed_result", "gtm4wp_soundcloud", 10, 3 );
 
24
 
25
  if ( ! is_admin() ) {
26
- wp_enqueue_script( "gtm4wp-soundcloud-api", "https://w.soundcloud.com/player/api.js", array(), "1.0", false );
27
- wp_enqueue_script( "gtm4wp-soundcloud", $gtp4wp_plugin_url . "js/gtm4wp-soundcloud.js", array( "jquery" ), "1.0", false );
 
28
  }
1
  <?php
2
+ /*
3
+ Altering query parameters no longer needed
4
+
5
  function gtm4wp_soundcloud( $return, $url, $data ) {
6
  if ( false !== strpos( $return, "soundcloud.com" ) ) {
7
  if ( false === strpos( $return, ' id="' ) ) {
24
  }
25
 
26
  add_filter( "oembed_result", "gtm4wp_soundcloud", 10, 3 );
27
+ */
28
 
29
  if ( ! is_admin() ) {
30
+ $in_footer = apply_filters( 'gtm4wp_soundcloud', false);
31
+ wp_enqueue_script( "gtm4wp-soundcloud-api", "https://w.soundcloud.com/player/api.js", array(), "1.0", $in_footer );
32
+ wp_enqueue_script( "gtm4wp-soundcloud", $gtp4wp_plugin_url . "js/gtm4wp-soundcloud.js", array( "jquery" ), GTM4WP_VERSION, $in_footer );
33
  }
integration/vimeo.php CHANGED
@@ -1,4 +1,7 @@
1
  <?php
 
 
 
2
  function gtm4wp_vimeo( $return, $url, $data ) {
3
  if ( false !== strpos( $return, "vimeo.com" ) ) {
4
  if ( false === strpos( $return, ' id="' ) ) {
@@ -16,8 +19,10 @@ function gtm4wp_vimeo( $return, $url, $data ) {
16
  }
17
 
18
  add_filter( "oembed_result", "gtm4wp_vimeo", 10, 3 );
 
19
  if ( ! is_admin() ) {
20
- wp_enqueue_script( "gtm4wp-vimeo-froogaloop", $gtp4wp_plugin_url . "js/froogaloop.js", array(), "2.0", false );
21
- //wp_enqueue_script( "gtm4wp-vimeo-froogaloop", "//f.vimeocdn.com/js/froogaloop2.min.js", array(), "2.0", false );
22
- wp_enqueue_script( "gtm4wp-vimeo", $gtp4wp_plugin_url . "js/gtm4wp-vimeo.js", array( "jquery" ), "1.0", false );
 
23
  }
1
  <?php
2
+ /*
3
+ Altering query parameters no longer needed with new Vimeo JS API
4
+
5
  function gtm4wp_vimeo( $return, $url, $data ) {
6
  if ( false !== strpos( $return, "vimeo.com" ) ) {
7
  if ( false === strpos( $return, ' id="' ) ) {
19
  }
20
 
21
  add_filter( "oembed_result", "gtm4wp_vimeo", 10, 3 );
22
+ */
23
  if ( ! is_admin() ) {
24
+ $in_footer = apply_filters( 'gtm4wp_vimeo', false);
25
+ // wp_enqueue_script( "gtm4wp-vimeo-froogaloop", $gtp4wp_plugin_url . "js/froogaloop.js", array(), "2.0", $in_footer );
26
+ wp_enqueue_script( "gtm4wp-vimeo-api", "https://player.vimeo.com/api/player.js", array(), "1.0", $in_footer );
27
+ wp_enqueue_script( "gtm4wp-vimeo", $gtp4wp_plugin_url . "js/gtm4wp-vimeo.js", array( "jquery" ), GTM4WP_VERSION, $in_footer );
28
  }
integration/whichbrowser/data/applications-bots.php ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ Applications::$BOTS = [
6
+ [ 'name' => '80legs', 'id' => '008', 'regexp' => '/(?:^|\s)008\/([0-9.]*)/u' ],
7
+ [ 'name' => '360spider', 'id' => '360', 'regexp' => '/360Spider/u' ],
8
+ [ 'name' => '360spider', 'id' => '360', 'regexp' => '/360spider-image/u' ],
9
+ [ 'name' => 'A6 Indexer', 'id' => 'a6', 'regexp' => '/A6-Indexer(?:\/([0-9.]*))?/u' ],
10
+ [ 'name' => 'Aboundex', 'id' => 'abound', 'regexp' => '/Aboundex\/([0-9.]*)/u' ],
11
+ [ 'name' => 'Ad Muncher', 'id' => 'muncher', 'regexp' => '/Ad Muncher v([0-9.]*)/u' ],
12
+ [ 'name' => 'Adaxas', 'id' => 'adaxas', 'regexp' => '/Adaxas Spider/u' ],
13
+ [ 'name' => 'AddThis.com', 'id' => 'addthis', 'regexp' => '/AddThis.com/u' ],
14
+ [ 'name' => 'ADmantX', 'id' => 'admantx', 'regexp' => '/ADmantX Platform Semantic Analyzer/u' ],
15
+ [ 'name' => 'AhrefsBot', 'id' => 'ahrefsbot', 'regexp' => '/AhrefsBot.Feeds v([0-9.]*)/u' ],
16
+ [ 'name' => 'AhrefsBot', 'id' => 'ahrefsbot', 'regexp' => '/AhrefsBot\/([0-9.]*)/u' ],
17
+ [ 'name' => 'Alexa', 'id' => 'archiver', 'regexp' => '/ia_archiver/u' ],
18
+ [ 'name' => 'AltaVista', 'id' => 'altavista', 'regexp' => '/AltaVista Intranet V([0-9.]*)/u' ],
19
+ [ 'name' => 'Analytics SEO', 'id' => 'curious', 'regexp' => '/Curious George - www.analyticsseo.com\/crawler/u' ],
20
+ [ 'name' => 'Amazon CloudFront', 'id' => 'cloudfront', 'regexp' => '/Amazon CloudFront/u' ],
21
+ [ 'name' => 'Amorank Spider', 'id' => 'amorank', 'regexp' => '/AmorankSpider\/([0-9.]*)/u' ],
22
+ [ 'name' => 'ArchiveBot', 'id' => 'archive', 'regexp' => '/ArchiveTeam ArchiveBot/u' ],
23
+ [ 'name' => 'Archive.org', 'id' => 'archive', 'regexp' => '/archive.org_bot(?:\/([0-9.]*))?/u' ],
24
+ [ 'name' => 'Archive.org', 'id' => 'archive', 'regexp' => '/special_archiver(?:\/([0-9.]*))?/u' ],
25
+ [ 'name' => 'Ask Jeeves', 'id' => 'jeeves', 'regexp' => '/Ask Jeeves\/Teoma/u' ],
26
+ [ 'name' => 'AstraSpider', 'id' => 'astra', 'regexp' => '/AstraSpider V([0-9.]*)/u' ],
27
+ [ 'name' => 'Backlink-Check', 'id' => 'backlink', 'regexp' => '/Backlink-Ceck.de/u' ],
28
+ [ 'name' => 'BacklinkCrawler', 'id' => 'backlink', 'regexp' => '/BacklinkCrawler/u' ],
29
+ [ 'name' => 'Baiduspider', 'id' => 'baidu', 'regexp' => '/Baiduspider[\+ ]\([\+ ]/u' ],
30
+ [ 'name' => 'Baiduspider', 'id' => 'baidu', 'regexp' => '/Baiduspider\/([0-9.]*)/u' ],
31
+ [ 'name' => 'Baiduspider', 'id' => 'baidu', 'regexp' => '/Baiduspider/u' ],
32
+ [ 'name' => 'Baiduspider', 'id' => 'baidu', 'regexp' => '/baiduspider-mobile-gate/u' ],
33
+ [ 'name' => 'Baiduspider', 'id' => 'baidu', 'regexp' => '/\+http:\/\/www.baidu.com\/search\/spider.html/u' ],
34
+ [ 'name' => 'Baiduspider', 'id' => 'baidu', 'regexp' => '/BaiduImagespider/u' ],
35
+ [ 'name' => 'BazQux', 'id' => 'bazqux', 'regexp' => '/BazQux\/([0-9.]*)/u' ],
36
+ [ 'name' => 'Bing', 'id' => 'bingbot', 'regexp' => '/bingbot\/([0-9.]*)/u' ],
37
+ [ 'name' => 'Bing', 'id' => 'msnbot', 'regexp' => '/msnbot\/([0-9.]*)/u' ],
38
+ [ 'name' => 'Bing', 'id' => 'msnbot', 'regexp' => '/msnbot-UDiscovery\/([0-9.]*)/u' ],
39
+ [ 'name' => 'Bing', 'id' => 'msnbot', 'regexp' => '/msnbot-media\/([0-9.]*)/u' ],
40
+ [ 'name' => 'Bing', 'id' => 'msnbot', 'regexp' => '/MsnBot-Media \/([0-9.]*)/u' ],
41
+ [ 'name' => 'Bing', 'id' => 'msnbot', 'regexp' => '/msnbot-NewsBlogs\/([0-9.]*)/u' ],
42
+ [ 'name' => 'Bing', 'id' => 'msnbot', 'regexp' => '/MSNBOT_Mobile/u' ],
43
+ [ 'name' => 'Bing', 'id' => 'msmobot', 'regexp' => '/MSMOBOT/u' ],
44
+ [ 'name' => 'Bing Preview', 'id' => 'bing', 'regexp' => '/BingPreview\/([0-9.]*)/u' ],
45
+ [ 'name' => 'BlogBridge', 'id' => 'blogbridge', 'regexp' => '/BlogBridge ([0-9.]*)/u' ],
46
+ [ 'name' => 'Bloglines', 'id' => 'bloglines', 'regexp' => '/Bloglines\/([0-9.]*)/u' ],
47
+ [ 'name' => 'Bloglovin', 'id' => 'bloglovin', 'regexp' => '/Bloglovin\/([0-9.]*)/u' ],
48
+ [ 'name' => 'BlogPulse', 'id' => 'blogpulse', 'regexp' => '/BlogPulse \(ISSpider-([0-9.]*)/u' ],
49
+ [ 'name' => 'Blogram', 'id' => 'blogram', 'regexp' => '/BlogramCrawler\/([0-9.]*)/u' ],
50
+ [ 'name' => 'Blogtrottr', 'id' => 'blogtrot', 'regexp' => '/Blogtrottr\/([0-9.]*)/u' ],
51
+ [ 'name' => 'Blogshares', 'id' => 'blogshares', 'regexp' => '/Blogshares/u' ],
52
+ [ 'name' => 'BoardReader', 'id' => 'boardreader', 'regexp' => '/BoardReader\/([0-9.]*)/u' ],
53
+ [ 'name' => 'Browsershots', 'id' => 'browsershots', 'regexp' => '/Browsershots/u' ],
54
+ [ 'name' => 'BUbiNG', 'id' => 'bubing', 'regexp' => '/BUbiNG/u' ],
55
+ [ 'name' => 'Butterfly', 'id' => 'butterfly', 'regexp' => '/Butterfly\/([0-9.]*)/u' ],
56
+ [ 'name' => 'CiteSeerX', 'id' => 'heritrix', 'regexp' => '/heritrix\/([0-9.]*)/u' ],
57
+ [ 'name' => 'Cliqzbot', 'id' => 'cliqz', 'regexp' => '/Cliqzbot\/([0-9.]*)/u' ],
58
+ [ 'name' => 'CloudFare Always Online', 'id' => 'cloudflare', 'regexp' => '/CloudFlare-AlwaysOnline\/([0-9.]*)/u' ],
59
+ [ 'name' => 'Comodo', 'id' => 'comodo', 'regexp' => '/Comodo Spider ([0-9.]*)/u' ],
60
+ [ 'name' => 'CommaFeed', 'id' => 'commafeed', 'regexp' => '/CommaFeed\/([0-9.]*)/u' ],
61
+ [ 'name' => 'CommonCrawl', 'id' => 'cbot', 'regexp' => '/CCBot\/([0-9.]*)/u' ],
62
+ [ 'name' => 'Data Hotel Watchdog', 'id' => 'watchdog', 'regexp' => '/Data-Hotel-Watchdog\/([0-9.]*)/u' ],
63
+ [ 'name' => 'DataparkSearch', 'id' => 'datasearch', 'regexp' => '/DataparkSearch\/([0-9.]*)/u' ],
64
+ [ 'name' => 'Daumoa', 'id' => 'daumoa', 'regexp' => '/Daumoa ([0-9.]*)/u' ],
65
+ [ 'name' => 'Digg', 'id' => 'digg', 'regexp' => '/Digg Deeper\/v([0-9.]*)/u' ],
66
+ [ 'name' => 'Digg', 'id' => 'digg', 'regexp' => '/Digg\/([0-9.]*)/u' ],
67
+ [ 'name' => 'Domain Re-Animator', 'id' => 'domain', 'regexp' => '/Domain Re-Animator Bot/u' ],
68
+ [ 'name' => 'Exabot Thumbnails', 'id' => 'exabot', 'regexp' => '/Exabot-Thumbnails/u' ],
69
+ [ 'name' => 'ExactSeek', 'id' => 'exactseek', 'regexp' => '/ExactSeek Crawler/u' ],
70
+ [ 'name' => 'Ezooms Crawler', 'id' => 'ezooms', 'regexp' => '/Ezooms\/([0-9.]*)/u' ],
71
+ [ 'name' => 'Facebook', 'id' => 'facebook', 'regexp' => '/facebookplatform\/([0-9.]*)/u' ],
72
+ [ 'name' => 'Facebook', 'id' => 'facebook', 'regexp' => '/facebookexternalhit\/([0-9.]*)/u' ],
73
+ [ 'name' => 'Facebook', 'id' => 'facebook', 'regexp' => '/facebookscraper\/([0-9.]*)/u' ],
74
+ [ 'name' => 'Facebook', 'id' => 'facebook', 'regexp' => '/FacebookSecurity\/([0-9.]*)/u' ],
75
+ [ 'name' => 'FAST Crawler', 'id' => 'fast', 'regexp' => '/FAST Crawler ([0-9.]*)/u' ],
76
+ [ 'name' => 'FAST Crawler', 'id' => 'fast', 'regexp' => '/FastCrawler3/u' ],
77
+ [ 'name' => 'FAST Enterprise Crawler', 'id' => 'fast', 'regexp' => '/FAST Enterprise Crawler\/([0-9.]*)/u' ],
78
+ [ 'name' => 'FAST Enterprise Crawler', 'id' => 'fast', 'regexp' => '/FAST Enterprise Crawler ([0-9.]*)/u' ],
79
+ [ 'name' => 'FAST Enterprise Crawler', 'id' => 'fast', 'regexp' => '/FAST EnterpriseCrawler ([0-9.]*)/u' ],
80
+ [ 'name' => 'FAST MetaWeb Crawler', 'id' => 'fast', 'regexp' => '/FAST MetaWeb Crawler/u' ],
81
+ [ 'name' => 'FAST mSEARCH Crawler', 'id' => 'fast', 'regexp' => '/FAST-mSEARCH Crawler ([0-9.]*)/u' ],
82
+ [ 'name' => 'FAST Web Crawler', 'id' => 'fast', 'regexp' => '/FAST-WebCrawler\/([0-9.]*)/u' ],
83
+ [ 'name' => 'Flamingo Search', 'id' => 'flamingo', 'regexp' => '/Flamingo_SearchEngine/u' ],
84
+ [ 'name' => 'Fastladder', 'id' => 'fastladder', 'regexp' => '/Fastladder FeedFetcher\/([0-9.]*)/u' ],
85
+ [ 'name' => 'Feedbin', 'id' => 'feed', 'regexp' => '/Feedbin/u' ],
86
+ [ 'name' => 'FeedWrangler', 'id' => 'wrangler', 'regexp' => '/Feed Wrangler\/([0-9.]*)/u' ],
87
+ [ 'name' => 'Feedly', 'id' => 'feed', 'regexp' => '/FeedlyApp\/([0-9.]*)/u' ],
88
+ [ 'name' => 'Feedly', 'id' => 'feed', 'regexp' => '/FeedlyBot\/([0-9.]*)/u' ],
89
+ [ 'name' => 'Feedly', 'id' => 'feed', 'regexp' => '/MetaFeedly\/([0-9.]*)/u' ],
90
+ [ 'name' => 'Feedspot', 'id' => 'feed', 'regexp' => '/Feedspot/u' ],
91
+ [ 'name' => 'FeedValidator', 'id' => 'validator', 'regexp' => '/FeedValidator\/([0-9.]*)/u' ],
92
+ [ 'name' => 'FeedZirra', 'id' => 'feed', 'regexp' => '/feedzirra/u' ],
93
+ [ 'name' => 'Fever', 'id' => 'fever', 'regexp' => '/Fever\/([0-9.]*)/u' ],
94
+ [ 'name' => 'Friendica', 'id' => 'friendica', 'regexp' => '/Friendica/u' ],
95
+ [ 'name' => 'FTRF: Friendly Robot', 'id' => 'robot', 'regexp' => '/FTRF: Friendly robot\/([0-9.]*)/u' ],
96
+ [ 'name' => 'Genieo Web Filter', 'id' => 'genieo', 'regexp' => '/Genieo\/([0-9.]*)/u' ],
97
+ [ 'name' => 'GNIP', 'id' => 'fetchor', 'regexp' => '/UnwindFetchor\/([0-9.]*)/u' ],
98
+ [ 'name' => 'Gocrawl', 'id' => 'google', 'regexp' => '/Googlebot \(gocrawl v([0-9.]*)\)/u' ],
99
+ [ 'name' => 'GomezAgent', 'id' => 'gomez', 'regexp' => '/GomezAgent ([0-9.]+)/u' ],
100
+ [ 'name' => 'Goo', 'id' => 'ichiro', 'regexp' => '/ichiro\/mobile goo/u' ],
101
+ [ 'name' => 'Goo Blog Search', 'id' => 'gooblog', 'regexp' => '/gooblog\/([0-9.]*)/u' ],
102
+ [ 'name' => 'Goo Blog Search', 'id' => 'gooblog', 'regexp' => '/gooblogsearch\/([0-9.]*)/u' ],
103
+ [ 'name' => 'Goo RSS Reader', 'id' => 'goorss', 'regexp' => '/gooRSSreader([0-9.]*)/u' ],
104
+ [ 'name' => 'Googlebot', 'id' => 'google', 'regexp' => '/Google[Bb]ot\/([0-9.]*)/u' ],
105
+ [ 'name' => 'Googlebot Mobile', 'id' => 'google', 'regexp' => '/Googlebot-Mobile\/([0-9.]*)/u' ],
106
+ [ 'name' => 'Googlebot Image', 'id' => 'google', 'regexp' => '/Googlebot-Image\/([0-9.]*)/u' ],
107
+ [ 'name' => 'Googlebot Video', 'id' => 'google', 'regexp' => '/Googlebot-Video\/([0-9.]*)/u' ],
108
+ [ 'name' => 'Google Ads Bot', 'id' => 'google', 'regexp' => '/AdsBot-Google/u' ],
109
+ [ 'name' => 'Google Adsense Snapshot', 'id' => 'google', 'regexp' => '/Adsense-Snapshot-Google/u' ],
110
+ [ 'name' => 'Google App Engine', 'id' => 'google', 'regexp' => '/AppEngine-Google/u' ],
111
+ [ 'name' => 'Google Web Preview', 'id' => 'google', 'regexp' => '/Google Web Preview/u' ],
112
+ [ 'name' => 'Google Page Speed', 'id' => 'google', 'regexp' => '/Google Page Speed Insights/u' ],
113
+ [ 'name' => 'Google FeedBurner', 'id' => 'feed', 'regexp' => '/FeedBurner\/([0-9.]*)/u' ],
114
+ [ 'name' => 'Google Feedfetcher', 'id' => 'google', 'regexp' => '/Feedfetcher-Google/iu' ],
115
+ [ 'name' => 'Google Font Analysis', 'id' => 'google', 'regexp' => '/Google-FontAnalysis\/([0-9.]*)/u' ],
116
+ [ 'name' => 'Google Sitemaps', 'id' => 'google', 'regexp' => '/Google-Sitemaps\/([0-9.]*)/u' ],
117
+ [ 'name' => 'Google Site Verification', 'id' => 'google', 'regexp' => '/Google-Site-Verification\/([0-9.]*)/u' ],
118
+ [ 'name' => 'Google Rich Snippets', 'id' => 'google', 'regexp' => '/Googlebot-richsnippets/u' ],
119
+ [ 'name' => 'Google Mediapartners', 'id' => 'google', 'regexp' => '/Mediapartners-Google\/([0-9.]*)/u' ],
120
+ [ 'name' => 'Google Mediapartners', 'id' => 'google', 'regexp' => '/Mediapartners-Google/u' ],
121
+ [ 'name' => 'Google News', 'id' => 'google', 'regexp' => '/Googlebot-News/u' ],
122
+ [ 'name' => 'Google Wireless Transcoder', 'id' => 'google', 'regexp' => '/Google Wireless Transcoder/u' ],
123
+ [ 'name' => 'Google Play Newsstand', 'id' => 'google', 'regexp' => '/GoogleProducer/u' ],
124
+ [ 'name' => 'Google YouTube Sample', 'id' => 'google', 'regexp' => '/Google-YouTubeSample\/([0-9.]*)/u' ],
125
+ [ 'name' => 'Grammarly', 'id' => 'grammarly', 'regexp' => '/Grammarly\/([0-9.]*)/u' ],
126
+ [ 'name' => 'Grub', 'id' => 'grub', 'regexp' => '/grub-client-([0-9.]*)/u' ],
127
+ [ 'name' => 'Hatena Antenna', 'id' => 'hatena', 'regexp' => '/Hatena Antenna\/([0-9.]*)/u' ],
128
+ [ 'name' => 'Hatena Diary', 'id' => 'hatena', 'regexp' => '/Hatena Diary RSS Module/u' ],
129
+ [ 'name' => 'Hatena Pagetitle', 'id' => 'hatena', 'regexp' => '/Hatena Pagetitle Agent\/([0-9.]*)/u' ],
130
+ [ 'name' => 'HeartRails Capture', 'id' => 'capture', 'regexp' => '/HeartRails_Capture\/([0-9.]*)/u' ],
131
+ [ 'name' => 'htdig', 'id' => 'htdig', 'regexp' => '/htdig\/([0-9.]*)/u' ],
132
+ [ 'name' => 'HTTPMon', 'id' => 'httpmon', 'regexp' => '/HTTPMon\/([0-9.]*)/u' ],
133
+ [ 'name' => 'HubPages', 'id' => 'hubpages', 'regexp' => '/HubPages V([0-9.]*)/u' ],
134
+ [ 'name' => 'iAsk Spider', 'id' => 'spider', 'regexp' => '/iaskspider\/([0-9.]*)/u' ],
135
+ [ 'name' => 'iAsk Spider', 'id' => 'spider', 'regexp' => '/iaskspider2/u' ],
136
+ [ 'name' => 'Ichiro', 'id' => 'ichiro', 'regexp' => '/ichiro\/([0-9.]*)/u' ],
137
+ [ 'name' => 'Internet Archive', 'id' => 'archive', 'regexp' => '/InternetArchive\/([0-9.]*)/u' ],
138
+ [ 'name' => 'JamesBOT', 'id' => 'crawler', 'regexp' => '/James BOT - WebCrawler/u' ],
139
+ [ 'name' => 'Jayde', 'id' => 'crawler', 'regexp' => '/Jayde Crawler./u' ],
140
+ [ 'name' => 'Kouio', 'id' => 'kouio', 'regexp' => '/kouio.com/u' ],
141
+ [ 'name' => 'Larbin', 'id' => 'larbin', 'regexp' => '/[Ll]arbin[\/_]([0-9.]*)/u' ],
142
+ [ 'name' => 'Linkedin Bot', 'id' => 'linkedin', 'regexp' => '/LinkedInBot\/([0-9.]*)/u' ],
143
+ [ 'name' => 'Linkdex Bot', 'id' => 'linkdex', 'regexp' => '/linkdexbot-mobile\/([0-9.]*)/u' ],
144
+ [ 'name' => 'Linkdex Bot', 'id' => 'linkdex', 'regexp' => '/linkdex.com\/v([0-9.]*)/u' ],
145
+ [ 'name' => 'Livedoor', 'id' => 'livedoor', 'regexp' => '/livedoor/u' ],
146
+ [ 'name' => 'LTX71', 'id' => 'ltx71', 'regexp' => '/ltx71/u' ],
147
+ [ 'name' => 'Magpie RSS', 'id' => 'magpie', 'regexp' => '/MagpieRSS\/([0-9.]*)/u' ],
148
+ [ 'name' => 'Mapian News Bot', 'id' => 'mapion', 'regexp' => '/mapion-news-bot\/([0-9.]*)/u' ],
149
+ [ 'name' => 'Microsoft Social Streams', 'id' => 'socialstreams', 'regexp' => '/Microsoft MSN SocialStreams Bot/u' ],
150
+ [ 'name' => 'Mixi', 'id' => 'mixi', 'regexp' => '/mixi-check\/([0-9.]*)/u' ],
151
+ [ 'name' => 'MnoGoSearch', 'id' => 'mnogo', 'regexp' => '/MnoGoSearch\/([0-9.]*)/u' ],
152
+ [ 'name' => 'Monitor.us', 'id' => 'monitor', 'regexp' => '/monitor.us/u' ],
153
+ [ 'name' => 'Naver Yeti', 'id' => 'yeti', 'regexp' => '/Yeti\/([0-9.]*)/u' ],
154
+ [ 'name' => 'Netcraft Survey Bot', 'id' => 'netcraft', 'regexp' => '/Netcraft Web Server Survey/u' ],
155
+ [ 'name' => 'Netvibes', 'id' => 'netvibes', 'regexp' => '/Netvibes/u' ],
156
+ [ 'name' => 'NewsBlur', 'id' => 'newsblur', 'regexp' => '/NewsBlur Favicon Fetcher/u' ],
157
+ [ 'name' => 'NewsBlur', 'id' => 'newsblur', 'regexp' => '/NewsBlur Feed Fetcher/u' ],
158
+ [ 'name' => 'NewsBlur', 'id' => 'newsblur', 'regexp' => '/NewsBlur Feed Finder/u' ],
159
+ [ 'name' => 'NewsBlur', 'id' => 'newsblur', 'regexp' => '/NewsBlur Page Fetcher/u' ],
160
+ [ 'name' => 'NewsGator', 'id' => 'newsgator', 'regexp' => '/NewsGator\/([0-9.]*)/u' ],
161
+ [ 'name' => 'NewsGator', 'id' => 'newsgator', 'regexp' => '/NewsGatorOnline\/([0-9.]*)/u' ],
162
+ [ 'name' => 'NewsGator FetchLinks', 'id' => 'newsgator', 'regexp' => '/NewsGator FetchLinks extension\/([0-9.]*)/u' ],
163
+ [ 'name' => 'OpenWebSpider', 'id' => 'spider', 'regexp' => '/OpenWebSpider v([0-9.]*)/u' ],
164
+ [ 'name' => 'OrangeBot', 'id' => 'orange', 'regexp' => '/OrangeBot-Collector\/([0-9.]*)/u' ],
165
+ [ 'name' => 'OrangeBot', 'id' => 'orange', 'regexp' => '/OrangeBot-Mobile/u' ],
166
+ [ 'name' => 'PagesInventory ', 'id' => 'pages', 'regexp' => '/PagesInventory/u' ],
167
+ [ 'name' => 'Picsearch bot', 'id' => 'psbot', 'regexp' => '/psbot-page/u' ],
168
+ [ 'name' => 'Pingdom', 'id' => 'pingdom', 'regexp' => '/Pingdom.com_bot_version_([0-9.]*)/u' ],
169
+ [ 'name' => 'Pinterest', 'id' => 'pinterest', 'regexp' => '/Pinterest\/([0-9.]*)/u' ],
170
+ [ 'name' => 'PostRank', 'id' => 'postrank', 'regexp' => '/PostRank\/([0-9.]*)/u' ],
171
+ [ 'name' => 'PowerMapper', 'id' => 'crawler', 'regexp' => '/CrawlerProcess \(http:\/\/www\.PowerMapper\.com\) \/([0-9.]*)/u' ],
172
+ [ 'name' => 'Radian 6', 'id' => 'feed', 'regexp' => '/R6_FeedFetcher/u' ],
173
+ [ 'name' => 'Radian 6', 'id' => 'comment', 'regexp' => '/R6_CommentReader/u' ],
174
+ [ 'name' => 'RssBar', 'id' => 'rssbar', 'regexp' => '/RssBar\/([0-9.]*)/u' ],
175
+ [ 'name' => 'ROI Hunter', 'id' => 'hunter', 'regexp' => '/ROI Hunter/u' ],
176
+ [ 'name' => 'QuerySeekerSpider', 'id' => 'spider', 'regexp' => '/QuerySeekerSpider(?:\/([0-9.]*))?/u' ],
177
+ [ 'name' => 'Quora Link Preview', 'id' => 'quora', 'regexp' => '/Quora Link Preview\/([0-9.]*)/u' ],
178
+ [ 'name' => 'SafeSearch Microdata', 'id' => 'safesearch', 'regexp' => '/SafeSearch microdata crawler/u' ],
179
+ [ 'name' => 'Scrapy', 'id' => 'scrapy', 'regexp' => '/Scrapy\/([0-9.]*)/u' ],
180
+ [ 'name' => 'ScreenerBot', 'id' => 'crawler', 'regexp' => '/ScreenerBot Crawler Beta ([0-9.]*)/u' ],
181
+ [ 'name' => 'Server Density', 'id' => 'monitor', 'regexp' => '/Server Density Service Monitoring/u' ],
182
+ [ 'name' => 'ShopWiki', 'id' => 'shopwiki', 'regexp' => '/ShopWiki\/([0-9.]*)/u' ],
183
+ [ 'name' => 'SilverReader', 'id' => 'reader', 'regexp' => '/SilverReader\/([0-9.]*)/u' ],
184
+ [ 'name' => 'SimplePie', 'id' => 'simplepie', 'regexp' => '/SimplePie\/([0-9.]*)/u' ],
185
+ [ 'name' => 'Site24x7', 'id' => 'site24', 'regexp' => '/Site24x7/u' ],
186
+ [ 'name' => 'Sogou Web Spider', 'id' => 'sogou', 'regexp' => '/sogou spider/u' ],
187
+ [ 'name' => 'Sogou Web Spider', 'id' => 'sogou', 'regexp' => '/Sogou pic spider\/([0-9.]*)/u' ],
188
+ [ 'name' => 'Sogou Web Spider', 'id' => 'sogou', 'regexp' => '/Sogou inst spider\/([0-9.]*)/u' ],
189
+ [ 'name' => 'Sogou Web Spider', 'id' => 'sogou', 'regexp' => '/Sogou web spider\/([0-9.]*)/u' ],
190
+ [ 'name' => 'Sogou Mobile Spider', 'id' => 'sogou', 'regexp' => '/Sogou Mobile Spider([0-9.]*)/u' ],
191
+ [ 'name' => 'Sophora Linkchecker', 'id' => 'sophora', 'regexp' => '/Sophora Linkchecker/u' ],
192
+ [ 'name' => 'Soso Web Spider', 'id' => 'soso', 'regexp' => '/Sosospider\/([0-9.]*)/u' ],
193
+ [ 'name' => 'Soso Web Spider', 'id' => 'soso', 'regexp' => '/Sosospider/u' ],
194
+ [ 'name' => 'Soso Image Spider', 'id' => 'soso', 'regexp' => '/Sosoimagespider/u' ],
195
+ [ 'name' => 'SPDYCheck', 'id' => 'spdycheck', 'regexp' => '/SPDYCheck SPDY Protocol Tester/iu' ],
196
+ [ 'name' => 'Spinn3r', 'id' => 'spinn', 'regexp' => '/Spinn3r ([0-9.]*)/iu' ],
197
+ [ 'name' => 'Spiderlytics', 'id' => 'spider', 'regexp' => '/Spiderlytics\/([0-9.]*)/iu' ],
198
+ [ 'name' => 'StatusCake Error Detector', 'id' => 'detector', 'regexp' => '/StatusCake Error Detector/iu' ],
199
+ [ 'name' => 'Summify', 'id' => 'summify', 'regexp' => '/Summify\/([0-9.]*)/u' ],
200
+ [ 'name' => 'TelegramBot', 'id' => 'telegram', 'regexp' => '/TelegramBot/u' ],
201
+ [ 'name' => 'Twisted PageGetter', 'id' => 'twisted', 'regexp' => '/Twisted PageGetter/u' ],
202
+ [ 'name' => 'Twitterbot', 'id' => 'twitter', 'regexp' => '/Twitterbot\/([0-9.]*)/u' ],
203
+ [ 'name' => 'Tiny Tiny RSS', 'id' => 'tiny', 'regexp' => '/Tiny Tiny RSS\/([0-9.]*)/u' ],
204
+ [ 'name' => 'TLSProber', 'id' => 'tlsprober', 'regexp' => '/TLSProber\/([0-9.]*)/u' ],
205
+ [ 'name' => 'Typhoeus', 'id' => 'typhoeus', 'regexp' => '/Typhoeus/u' ],
206
+ [ 'name' => 'Vagabondo', 'id' => 'vagabondo', 'regexp' => '/Vagabondo\/([0-9.]*)/u' ],
207
+ [ 'name' => 'Voilabot', 'id' => 'voila', 'regexp' => '/Voila[Bb]ot/u' ],
208
+ [ 'name' => 'VocusBot', 'id' => 'vocus', 'regexp' => '/VocusBot ([0-9.]*)/u' ],
209
+ [ 'name' => 'Vodafone mCrawler', 'id' => 'mcrawler', 'regexp' => '/Vodafone mCrawler/u' ],
210
+ [ 'name' => 'W3Bot', 'id' => 'w3bot', 'regexp' => '/W3Bot ([0-9.]*)/u' ],
211
+ [ 'name' => 'W3C CSS Validator', 'id' => 'jigsaw', 'regexp' => '/Jigsaw\/([0-9.]*)/u' ],
212
+ [ 'name' => 'W3C Internationalization Checker', 'id' => 'w3c', 'regexp' => '/W3C_I18n-Checker\/([0-9.]*)/u' ],
213
+ [ 'name' => 'W3C Line Mode', 'id' => 'w3c', 'regexp' => '/W3CLineMode\/([0-9.]*)/u' ],
214
+ [ 'name' => 'W3C Link Checker', 'id' => 'w3c', 'regexp' => '/W3C-checklink\/([0-9.]*)/u' ],
215
+ [ 'name' => 'W3C Markup Validator', 'id' => 'w3c', 'regexp' => '/W3C_Validator\/([0-9.]*)/u' ],
216
+ [ 'name' => 'W3C MobileOK Checker', 'id' => 'w3c', 'regexp' => '/W3C-mobileOK\/DDC-([0-9.]*)/u' ],
217
+ [ 'name' => 'W3C Multipage Validator', 'id' => 'w3c', 'regexp' => '/W3C_Multipage_Validator\/([0-9.]*)/u' ],
218
+ [ 'name' => 'W3C Robot', 'id' => 'w3c', 'regexp' => '/W3CRobot\/([0-9.]*)/u' ],
219
+ [ 'name' => 'W3C Unified Validator', 'id' => 'w3c', 'regexp' => '/W3C_Unicorn\/([0-9.]*)/u' ],
220
+ [ 'name' => 'W3C Validator.nu', 'id' => 'validator', 'regexp' => '/Validator.nu\//u' ],
221
+ [ 'name' => 'Wayback Archive', 'id' => 'wayback', 'regexp' => '/waybackarchive.org\/([0-9.]*)/u' ],
222
+ [ 'name' => 'WebbCrawler', 'id' => 'crawler', 'regexp' => '/WebbCrawler ([0-9.]*)/u' ],
223
+ [ 'name' => 'WebIndexer', 'id' => 'webindexer', 'regexp' => '/WebIndexer\//u' ],
224
+ [ 'name' => 'WordPress', 'id' => 'wordpress', 'regexp' => '/WordPress\/([0-9.]*)/u' ],
225
+ [ 'name' => 'WordPress.com', 'id' => 'wordpress', 'regexp' => '/WordPress\.com; http/u' ],
226
+ [ 'name' => 'WordPress Jetpack', 'id' => 'wordpress', 'regexp' => '/Jetpack by WordPress\.com/u' ],
227
+ [ 'name' => 'WWW Mechanize', 'id' => 'mechanize', 'regexp' => '/WWW-Mechanize\/([0-9.]*)/u' ],
228
+ [ 'name' => 'Xerka WebBot', 'id' => 'xerka', 'regexp' => '/Xerka WebBot v([0-9.]*)/u' ],
229
+ [ 'name' => 'XML Sitemaps Generator', 'id' => 'sitemap', 'regexp' => '/XML-Sitemaps\/([0-9.]*)/u' ],
230
+ [ 'name' => 'XMLSitemapGenerator', 'id' => 'sitemap', 'regexp' => '/XmlSitemapGenerator/u' ],
231
+ [ 'name' => 'YaCy Bot', 'id' => 'yacy', 'regexp' => '/yacy(?:\/|\s|bot)/u' ],
232
+ [ 'name' => 'Yandex Anti Virus', 'id' => 'yandex', 'regexp' => '/YandexAntivirus\/([0-9.]*)/u' ],
233
+ [ 'name' => 'Yandex Blogs', 'id' => 'yandex', 'regexp' => '/YandexBlogs\/([0-9.]*)/u' ],
234
+ [ 'name' => 'Yandex Bot', 'id' => 'yandex', 'regexp' => '/YandexBot\/([0-9.]*)/u' ],
235
+ [ 'name' => 'Yandex Direct', 'id' => 'yandex', 'regexp' => '/YandexDirect\/([0-9.]*)/u' ],
236
+ [ 'name' => 'Yandex Favicons', 'id' => 'yandex', 'regexp' => '/YandexFavicons\/([0-9.]*)/u' ],
237
+ [ 'name' => 'Yandex Image Resizer', 'id' => 'yandex', 'regexp' => '/YandexImageResizer\/([0-9.]*)/u' ],
238
+ [ 'name' => 'Yandex Images', 'id' => 'yandex', 'regexp' => '/YandexImages\/([0-9.]*)/u' ],
239
+ [ 'name' => 'Yandex Metrika', 'id' => 'yandex', 'regexp' => '/YandexMetrika\/([0-9.]*)/u' ],
240
+ [ 'name' => 'Yandex News', 'id' => 'yandex', 'regexp' => '/YandexNews\/([0-9.]*)/u' ],
241
+ [ 'name' => 'Yandex Newslinks', 'id' => 'yandex', 'regexp' => '/YandexNewslinks(?:\/([0-9.]*))?/u' ],
242
+ [ 'name' => 'Yahoo! Ad Monitoring', 'id' => 'yahoo', 'regexp' => '/Yahoo Ad monitoring/u' ],
243
+ [ 'name' => 'Yahoo! Blogs', 'id' => 'yahoo', 'regexp' => '/Yahoo-Blogs\/v([0-9.]*)/u' ],
244
+ [ 'name' => 'Yahoo! Cache System', 'id' => 'yahoo', 'regexp' => '/YahooCacheSystem/u' ],
245
+ [ 'name' => 'Yahoo! Feed Seeker', 'id' => 'yahoo', 'regexp' => '/YahooFeedSeeker\/([0-9.]*)/u' ],
246
+ [ 'name' => 'Yahoo! Feed Seeker', 'id' => 'yahoo', 'regexp' => '/YahooFeedSeeker Testing\/([0-9.]*)/u' ],
247
+ [ 'name' => 'Yahoo! Image', 'id' => 'yahoo', 'regexp' => '/Yahoo-MMCrawler\/([0-9.]*)/u' ],
248
+ [ 'name' => 'Yahoo! Link Expander', 'id' => 'yahoo', 'regexp' => '/Yahoo:LinkExpander/u' ],
249
+ [ 'name' => 'Yahoo! Link Preview', 'id' => 'yahoo', 'regexp' => '/Yahoo Link Preview/u' ],
250
+ [ 'name' => 'Yahoo! Video', 'id' => 'yahoo', 'regexp' => '/Yahoo-MMAudVid\/([0-9.]*)/u' ],
251
+ [ 'name' => 'Yahoo! Mindset', 'id' => 'yahoo', 'regexp' => '/Yahoo\! Mindset/u' ],
252
+ [ 'name' => 'Yahoo! Product Search', 'id' => 'yahoo', 'regexp' => '/YahooSeeker\/ProductSearch([0-9.]*)/u' ],
253
+ [ 'name' => 'Yahoo! Slurp', 'id' => 'yahoo', 'regexp' => '/Yahoo\! Slurp\/([0-9.]*)/u' ],
254
+ [ 'name' => 'Yahoo! Slurp', 'id' => 'yahoo', 'regexp' => '/Yahoo\! Slurp/u' ],
255
+ [ 'name' => 'Yahoo! Seeker', 'id' => 'yahoo', 'regexp' => '/YahooSeeker(?:\/([0-9.]*))?/u' ],
256
+ [ 'name' => 'Yahoo! Seeker', 'id' => 'yahoo', 'regexp' => '/YahooSeeker-Testing\/v([0-9.]*)/u' ],
257
+ [ 'name' => 'Yahoo! Seeker', 'id' => 'yahoo', 'regexp' => '/yahooseeker-jp-mobile/u' ],
258
+ [ 'name' => 'Yahoo! Site Checker', 'id' => 'y\!j', 'regexp' => '/Y\!J SiteChecker/u' ],
259
+ [ 'name' => 'Yahoo! Pipes', 'id' => 'yahoo', 'regexp' => '/Yahoo Pipes ([0-9.]*)/u' ],
260
+ [ 'name' => 'Yahoo! Video Search', 'id' => 'yahoo', 'regexp' => '/YahooVideoSearch/u' ],
261
+ [ 'name' => 'Yahoo! Japan', 'id' => 'yahoo', 'regexp' => '/Yahoo\! Japan/u' ],
262
+ [ 'name' => 'Yahoo! Japan', 'id' => 'y\!j', 'regexp' => '/(^|\(compatible; )Y\!J-/u' ],
263
+
264
+ [ 'name' => 'Inktomi Slurp', 'id' => 'slurp', 'regexp' => '/Slurp\/([0-9.]*)/u' ],
265
+ [ 'name' => 'Inktomi Slurp', 'id' => 'slurp', 'regexp' => '/Slurp\.so\/([0-9.]*)/u' ],
266
+
267
+ /* Generic bots */
268
+ [ 'name' => 'Apache Httpd', 'id' => 'httpclient', 'regexp' => '/Apache-HttpClient(?:\/([0-9.]*))?/u' ],
269
+ [ 'name' => 'Apache Jakarta', 'id' => 'httpclient', 'regexp' => '/Jakarta Commons-HttpClient(?:\/([0-9.]*))?/u' ],
270
+ [ 'name' => 'Apache Nutch', 'id' => 'nutch', 'regexp' => '/\/Nutch-([0-9.]*)/u' ],
271
+ [ 'name' => 'Apache Nutch', 'id' => 'nutch', 'regexp' => '/Nutch(?:CVS|Org)\/([0-9.]*)/u' ],
272
+ [ 'name' => 'Apache Synapse', 'id' => 'synapse', 'regexp' => '/compatible; Synapse/u' ],
273
+ [ 'name' => 'Borland Delphi', 'id' => 'indy', 'regexp' => '/Indy Library/u' ],
274
+ [ 'name' => 'Wget', 'id' => 'wget', 'regexp' => '/Wget\/([0-9.]*)/u' ],
275
+ [ 'name' => 'Curl', 'id' => 'curl', 'regexp' => '/^curl\/([0-9.]*)/u' ],
276
+
277
+ [ 'name' => 'Go', 'id' => 'package', 'regexp' => '/Go [0-9\.]+ package http/u' ],
278
+ [ 'name' => 'Java', 'id' => 'java', 'regexp' => '/^Java\/([0-9.]*)/u' ],
279
+ [ 'name' => 'Perl', 'id' => 'simple', 'regexp' => '/LWP::Simple\//u' ],
280
+ [ 'name' => 'Perl', 'id' => 'libwww', 'regexp' => '/libwww-perl\//u' ],
281
+ [ 'name' => 'Perl', 'id' => 'lwp', 'regexp' => '/lwp-trivial\//u' ],
282
+ [ 'name' => 'Python', 'id' => 'urllib', 'regexp' => '/Python-urllib/u' ],
283
+ [ 'name' => 'PHP', 'id' => 'php', 'regexp' => '/ PHP\/([0-9.]*)/u' ],
284
+ [ 'name' => 'PHP', 'id' => 'php', 'regexp' => '/^PHP/u' ],
285
+ [ 'name' => 'PHP', 'id' => 'pear', 'regexp' => '/PEAR HTTP_Request class/u' ],
286
+ [ 'name' => 'PHP', 'id' => 'php', 'regexp' => '/CakePHP/u' ],
287
+ [ 'name' => 'PHP', 'id' => 'zend', 'regexp' => '/Zend_Http_Client/u' ],
288
+ [ 'name' => 'Ruby', 'id' => 'ruby', 'regexp' => '/^Ruby/u' ],
289
+ ];
integration/whichbrowser/data/applications-browsers.php ADDED
@@ -0,0 +1,243 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ use WhichBrowser\Constants;
6
+
7
+ Applications::$BROWSERS = [
8
+
9
+ Constants\BrowserType::BROWSER => [
10
+
11
+ /* Desktop browsers */
12
+ [ 'name' => '115 Browser', 'id' => '115', 'regexp' =>'/115Browser\/([0-9.]*)/u' ],
13
+ [ 'name' => '115 Chrome', 'id' => '115', 'regexp' =>'/115Chrome\/([0-9.]*)/u' ],
14
+ [ 'name' => '126 Browser', 'id' => '126', 'regexp' =>'/126BROWSER/u' ],
15
+ [ 'name' => '2345 Explorer', 'id' => '2345', 'regexp' =>'/2345Explorer\/([0-9.]*)/u', 'details' => 3 ],
16
+ [ 'name' => '2345 Explorer', 'id' => '2345', 'regexp' =>'/2345Explorer v([0-9.]*)/u', 'details' => 3 ],
17
+ [ 'name' => '2345 Chrome', 'id' => '2345', 'regexp' =>'/2345chrome v([0-9.]*)/u', 'details' => 3 ],
18
+ [ 'name' => '360 Extreme Explorer', 'id' => 'qihu', 'regexp' =>'/QIHU 360EE/u', 'type' => Constants\DeviceType::DESKTOP ],
19
+ [ 'name' => '360 Safe Explorer', 'id' => 'qihu', 'regexp' =>'/QIHU 360SE/u', 'type' => Constants\DeviceType::DESKTOP ],
20
+ [ 'name' => '7Star', 'id' => '7star', 'regexp' =>'/7Star\/([0-9.]*)/u' ], // see: http://www.qixing123.com
21
+ [ 'name' => 'ABrowse', 'id' => 'abrowse', 'regexp' =>'/A[Bb]rowse ([0-9.]*)/u' ], // browser for the Syllable OS
22
+ [ 'name' => 'Abrowser', 'id' => 'abrowse', 'regexp' =>'/Abrowser\/([0-9.]*)/u' ], // unbranded version of Firefox
23
+ [ 'name' => 'Acorn Browse', 'id' => 'acorn', 'regexp' =>'/Acorn Browse ([0-9.]+)/u' ],
24
+ [ 'name' => 'Acorn Browse', 'id' => 'acorn', 'regexp' =>'/Acorn Phoenix ([0-9.]+)/u' ],
25
+ [ 'name' => 'Acoo Browser', 'id' => 'acoo', 'regexp' =>'/Acoo Browser/u' ],
26
+ [ 'name' => 'AOL Desktop', 'id' => 'aol', 'regexp' =>'/AOL ([0-9.]*); AOLBuild/i' ],
27
+ [ 'name' => 'AOL Browser', 'id' => 'america', 'regexp' =>'/America Online Browser (?:[0-9.]*); rev([0-9.]*);/i' ],
28
+ [ 'name' => 'Arachne', 'id' => 'arachne', 'regexp' =>'/xChaos_Arachne\/[0-9]\.([0-9.]*)/u', 'type' => Constants\DeviceType::DESKTOP ], // see: www.glennmcc.org
29
+ [ 'name' => 'Arora', 'id' => 'arora', 'regexp' =>'/[Aa]rora\/([0-9.]*)/u' ], // see: www.arora-browser.org
30
+ [ 'name' => 'AWeb', 'id' => 'aweb', 'regexp' =>'/Amiga-AWeb(?:\/([0-9.]*))?/u' ],
31
+ [ 'name' => 'AvantGo', 'id' => 'avant', 'regexp' =>'/AvantGo ([0-9.]+)/u' ],
32
+ [ 'name' => 'Avant Browser', 'id' => 'avant', 'regexp' =>'/Avant Browser/u' ],
33
+ [ 'name' => 'Avant Browser', 'id' => 'avant', 'regexp' =>'/Avant TriCore/u' ],
34
+ [ 'name' => 'Aviator', 'id' => 'aviator', 'regexp' =>'/Aviator\/([0-9.]*)/u', 'details' => 1 ], // see: https://github.com/WhiteHatSecurity/Aviator
35
+ [ 'name' => 'Baidu Browser', 'id' => 'flyflow', 'regexp' =>'/FlyFlow\/([0-9.]*)/u', 'details' => 2 ],
36
+ [ 'name' => 'Baidu Browser', 'id' => 'bdbrowser', 'regexp' =>'/bdbrowser\/([0-9.]*)/i' ],
37
+ [ 'name' => 'Baidu Browser', 'id' => 'bdbrowser', 'regexp' =>'/bdbrowser_i18n\/([0-9.]*)/i' ],
38
+ [ 'name' => 'Baidu Spark', 'id' => 'bdspark', 'regexp' =>'/BDSpark\/([0-9.]*)/u', 'details' => 2 ],
39
+ [ 'name' => 'Beamrise', 'id' => 'beamrise', 'regexp' =>'/Beamrise\/([0-9.]*)/u' ], // see: http://beamrise.com
40
+ [ 'name' => 'Black Wren', 'id' => 'blackwren', 'regexp' =>'/BlackWren\/([0-9.]*)/u', 'details' => 2 ], // see: https://github.com/conmarap/jetbrowser
41
+ [ 'name' => 'Brave', 'id' => 'brave', 'regexp' =>'/brave\/([0-9.]*)/u' ],
42
+ [ 'name' => 'Byffox', 'id' => 'byffox', 'regexp' =>'/Byffox\/([0-9.]*)/u', 'type' => Constants\DeviceType::DESKTOP ],
43
+ [ 'name' => 'Camino', 'id' => 'camino', 'regexp' =>'/Camino\/([0-9.]*)/u', 'type' => Constants\DeviceType::DESKTOP ],
44
+ [ 'name' => 'Canure', 'id' => 'canure', 'regexp' =>'/Canure\/([0-9.]*)/u', 'details' => 3 ], // see: http://canure.weebly.com/index.html
45
+ [ 'name' => 'Charon', 'id' => 'charon', 'regexp' =>'/Charon/' ], // see: http://www.vitanuova.com/inferno/man/1/charon.html
46
+ [ 'name' => 'ChromePlus', 'id' => 'chromeplus', 'regexp' =>'/ChromePlus(?:\/([0-9.]*))?$/u', 'details' => 3, 'type' => Constants\DeviceType::DESKTOP ],
47
+ [ 'name' => 'CometBird', 'id' => 'cometbird', 'regexp' =>'/CometBird\/([0-9.]*)/u' ], // see: http://www.cometbird.com
48
+ [ 'name' => 'Comodo Dragon', 'id' => 'comodo', 'regexp' =>'/Comodo_Dragon\/([0-9.]*)/u', 'details' => 2 ],
49
+ [ 'name' => 'Comodo Dragon', 'id' => 'dragon', 'regexp' =>'/Dragon\/([0-9.]*)/u', 'details' => 2 ],
50
+ [ 'name' => 'Comodo IceDragon', 'id' => 'dragon', 'regexp' =>'/IceDragon\/([0-9.]*)/u', 'details' => 2, 'type' => Constants\DeviceType::DESKTOP ],
51
+ [ 'name' => 'Conkeror', 'id' => 'conkeror', 'regexp' =>'/[Cc]onkeror\/([0-9.]*)/u' ],
52
+ [ 'name' => 'CoolNovo', 'id' => 'coolnovo', 'regexp' =>'/(?:CoolNovo|CoolNovoChromePlus)\/([0-9.]*)/u', 'details' => 3, 'type' => Constants\DeviceType::DESKTOP ],
53
+ [ 'name' => 'Cunaguaro', 'id' => 'cunaguaro', 'regexp' =>'/Cunaguaro\/([0-9.]*)/u', 'details' => 3, 'type' => Constants\DeviceType::DESKTOP ],
54
+ [ 'name' => 'Cyberfox', 'id' => 'cyberfox', 'regexp' =>'/Cyberfox\/([0-9.]*)/u', 'details' => 2 ], // see: https://cyberfox.8pecxstudios.com
55
+ [ 'name' => 'Daedalus', 'id' => 'daedalus', 'regexp' =>'/Daedalus ([0-9.]*)/u', 'details' => 2 ],
56
+ [ 'name' => 'Dillo', 'id' => 'dillo', 'regexp' =>'/Dillo\/([0-9.]*)/u' ], // see: http://www.dillo.org
57
+ [ 'name' => 'Doga Rhodonit', 'id' => 'rhodonit', 'regexp' =>'/DogaRhodonit/u' ],
58
+ [ 'name' => 'EudoraWeb', 'id' => 'eudoraweb', 'regexp' =>'/EudoraWeb ([0-9.]*)/u' ],
59
+ [ 'name' => 'Flock', 'id' => 'flock', 'regexp' =>'/Flock\/([0-9.]*)/u', 'details' => 3, 'type' => Constants\DeviceType::DESKTOP ],
60
+ [ 'name' => 'Galeon', 'id' => 'galeon', 'regexp' =>'/Galeon\/([0-9.]*)/u', 'details' => 3 ],
61
+ [ 'name' => 'GNOME Web', 'id' => 'epiphany', 'regexp' =>'/Epiphany\/([0-9.]*)/u', 'type' => Constants\DeviceType::DESKTOP ],
62
+ [ 'name' => 'IBrowse', 'id' => 'ibrowse', 'regexp' =>'/IBrowse[\/ ]([0-9.]*)/u', 'type' => Constants\DeviceType::DESKTOP ],
63
+ [ 'name' => 'iCab', 'id' => 'icab', 'regexp' =>'/iCab(?: J)?\/([0-9.]*)/u' ],
64
+ [ 'name' => 'Iceape', 'id' => 'iceape', 'regexp' =>'/Iceape\/([0-9.]*)/u' ],
65
+ [ 'name' => 'IceCat', 'id' => 'icecat', 'regexp' =>'/IceCat[ \/]([0-9.]*)/u', 'type' => Constants\DeviceType::DESKTOP ], // see: https://www.gnu.org/software/gnuzilla/
66
+ [ 'name' => 'Iceweasel', 'id' => 'iceweasel', 'regexp' =>'/Iceweasel\/([0-9.]*)/iu', 'type' => Constants\DeviceType::DESKTOP ],
67
+ [ 'name' => 'Iridium', 'id' => 'iridium', 'regexp' =>'/Iridium\/([0-9.]*)/u', 'details' => 2 ], // see: http://www.srware.net/en/software_srware_iron.php
68
+ [ 'name' => 'Iron', 'id' => 'iron', 'regexp' =>'/Iron\/([0-9.]*)/u', 'details' => 2 ], // see: http://www.srware.net/en/software_srware_iron.php
69
+ [ 'name' => 'Kazehakase', 'id' => 'kazehakase', 'regexp' =>'/Kazehakase\/([0-9.]*)/u' ], // see: http://kazehakase.osdn.jp
70
+ [ 'name' => 'KChrome', 'id' => 'kchrome', 'regexp' =>'/KChrome\/([0-9.]*)/u', 'details' => 3 ], // see: http://www.kchrome.com
71
+ [ 'name' => 'K-Meleon', 'id' => 'meleon', 'regexp' =>'/K-Meleon\/([0-9.]*)/u', 'type' => Constants\DeviceType::DESKTOP ], // see: http://kmeleonbrowser.org
72
+ [ 'name' => 'LieBao', 'id' => 'lbbrowser', 'regexp' =>'/LBBROWSER/u' ], // see: http://www.liebao.cn
73
+ [ 'name' => 'Lobo', 'id' => 'lobo', 'regexp' =>'/Lobo\/([0-9.]*)/u', 'type' => Constants\DeviceType::DESKTOP ], // see: http://sourceforge.net/projects/xamj/files/Lobo%20Browser/
74
+ [ 'name' => 'Lunascape', 'id' => 'lunascape', 'regexp' =>'/ Lunascape[\/| ]([0-9.]*)/u', 'details' => 3 ], // see: http://www.lunascape.tv
75
+ [ 'name' => 'Naenara', 'id' => 'naenara', 'regexp' =>'/NaenaraBrowser\/([0-9.]*)/u', 'details' => 2 ], // Firefox based browser used with Red Star OS
76
+ [ 'name' => 'Maxthon', 'id' => 'mxbrowser', 'regexp' =>'/MxBrowser\/([0-9.]*)/u' ],
77
+ [ 'name' => 'Maxthon', 'id' => 'mxbrowser', 'regexp' =>'/MxBrowser-iPhone\/([0-9.]*)/u' ],
78
+ [ 'name' => 'MixShark', 'id' => 'mixshark', 'regexp' =>'/MixShark\/([0-9.]*)/u' ], // see: http://terbaddo.free.fr/mixshark.php
79
+ [ 'name' => 'mlbrowser', 'id' => 'mlbrowser', 'regexp' =>'/mlbrowser/u' ], // see: https://github.com/Topguy/mlbrowser
80
+ [ 'name' => 'NetPositive', 'id' => 'netpositive', 'regexp' =>'/NetPositive\/([0-9.]*)/u' ],
81
+ [ 'name' => 'Origyn', 'id' => 'origyn', 'regexp' =>'/Origyn Web Browser/u' ],
82
+ [ 'name' => 'Odyssey', 'id' => 'owb', 'regexp' =>'/OWB\/([0-9.]*)/u' ],
83
+ [ 'name' => 'Orca', 'id' => 'orca', 'regexp' =>'/Orca\/([0-9.]*)/u' ],
84
+ [ 'name' => 'Oregano', 'id' => 'oregano', 'regexp' =>'/Oregano ([0-9.]*)/u' ], // see: http://www.xat.nl/en/riscos/sw/oregano/
85
+ [ 'name' => 'Otter', 'id' => 'otter', 'regexp' =>'/Otter(?: Browser)?\/([0-9.]*)/u' ], // see: https://otter-browser.org
86
+ [ 'name' => 'Pale Moon', 'id' => 'palemoon', 'regexp' =>'/Pale[mM]oon\/([0-9.]*)/u' ], // see: https://www.palemoon.org
87
+ [ 'name' => 'Qihoo 360', 'id' => 'qihu', 'regexp' =>'/QIHU THEWORLD/u' ],
88
+ [ 'name' => 'QtWeb', 'id' => 'qtweb', 'regexp' =>'/QtWeb Internet Browser\/([0-9.]*)/u' ],
89
+ [ 'name' => 'QupZilla', 'id' => 'qupzilla', 'regexp' =>'/QupZilla\/([0-9.]*)/u', 'type' => Constants\DeviceType::DESKTOP ],
90
+ [ 'name' => 'rekonq', 'id' => 'rekonq', 'regexp' =>'/rekonq(?:\/([0-9.]*))?/u', 'type' => Constants\DeviceType::DESKTOP ],
91
+ [ 'name' => 'Ryouko', 'id' => 'ryouko', 'regexp' =>'/Ryouko\/([0-9.]*)/u', 'type' => Constants\DeviceType::DESKTOP ], // see: https://github.com/foxhead128/ryouko
92
+ [ 'name' => 'SaaYaa Explorer', 'id' => 'saayaa', 'regexp' =>'/SaaYaa/u', 'type' => Constants\DeviceType::DESKTOP ],
93
+ [ 'name' => 'Sleipnir', 'id' => 'sleipnir', 'regexp' =>'/Sleipnir\/([0-9.]*)/u', 'details' => 3 ],
94
+ [ 'name' => 'Sogou Explorer', 'id' => 'metasr', 'regexp' =>'/SE 2.X MetaSr/u', 'type' => Constants\DeviceType::DESKTOP ],
95
+ [ 'name' => 'Stainless', 'id' => 'stainless', 'regexp' =>'/Stainless\/([0-9.]*)/u' ], // see: http://www.stainlessapp.com
96
+ [ 'name' => 'SunChrome', 'id' => 'sunchrome', 'regexp' =>'/SunChrome\/([0-9.]*)/u' ],
97
+ [ 'name' => 'Superbird', 'id' => 'superbird', 'regexp' =>'/Super[Bb]ird\/([0-9.]*)/u', 'details' => 2 ],
98
+ [ 'name' => 'Swing Browser', 'id' => 'swing', 'regexp' =>'/Swing(?:\(And\))?\/([0-9.]*)/u', 'details' => 3 ], // see: http://swing-browser.com
99
+ [ 'name' => 'Tencent Traveler', 'id' => 'tencent', 'regexp' =>'/TencentTraveler ([0-9.]*)/u', 'details' => 2 ],
100
+ [ 'name' => 'TenFourFox', 'id' => 'tenfourfox', 'regexp' =>'/TenFourFox\//u' ],
101
+ [ 'name' => 'The World', 'id' => 'theworld', 'regexp' =>'/TheWorld(?: ([0-9.]*))?/u' ],
102
+ [ 'name' => 'Tungsten Browser', 'id' => 'tungsten', 'regexp' =>'/TungstenBrowser\/([0-9.]*)/u' ],
103
+ [ 'name' => 'Vivaldi', 'id' => 'vivaldi', 'regexp' =>'/Vivaldi\/([0-9.]*)/u', 'details' => 2 ],
104
+ [ 'name' => 'Voyager', 'id' => 'voyager', 'regexp' =>'/AmigaVoyager\/([0-9.]*)/u' ],
105
+ [ 'name' => 'Waterfox', 'id' => 'waterfox', 'regexp' =>'/Waterfox\/([0-9.]*)/u', 'details' => 2, 'type' => Constants\DeviceType::DESKTOP ],
106
+ [ 'name' => 'Yandex Browser', 'id' => 'yabrowser', 'regexp' =>'/YaBrowser\/([0-9.]*)/u', 'details' => 2 ],
107
+
108
+ /* Mobile browsers */
109
+ [ 'name' => '1Browser', 'id' => '1password', 'regexp' =>'/1Password\/([0-9.]*)/u' ],
110
+ [ 'name' => '2345 Browser', 'id' => '2345', 'regexp' =>'/Mb2345Browser\/([0-9.]*)/u' ],
111
+ [ 'name' => '3G Explorer', 'id' => '3g explorer', 'regexp' =>'/3G Explorer\/([0-9.]*)/u', 'details' => 3 ],
112
+ [ 'name' => '4G Explorer', 'id' => '4g explorer', 'regexp' =>'/4G Explorer\/([0-9.]*)/u', 'details' => 3 ],
113
+ [ 'name' => 'Atomic', 'id' => 'atomiclite', 'regexp' =>'/AtomicLite\/([0-9.]*)/u' ], // see: http://atomicwebbrowser.com
114
+ [ 'name' => 'AU', 'id' => 'au', 'regexp' =>'/(?:^| )AU(?:.Browser)?\/([0-9.]+)/u' ],
115
+ [ 'name' => 'Awakening', 'id' => 'awakening', 'regexp' =>'/Awakening Browser\/([0-9.]*)/u', 'details' => 2 ],
116
+ [ 'name' => 'Baidu Browser', 'id' => 'baidu', 'regexp' =>'/M?BaiduBrowser\/([0-9.]*)/i' ],
117
+ [ 'name' => 'Baidu Browser', 'id' => 'bdmobile', 'regexp' =>'/BdMobile\/([0-9.]*)/i' ],
118
+ [ 'name' => 'Baidu Browser', 'id' => 'bidu', 'regexp' =>'/BIDUBrowser[ \/]([0-9.]*)/u' ],
119
+ [ 'name' => 'Baidu Browser', 'id' => 'baidu', 'regexp' =>'/BaiduHD\/([0-9.]*)/u', 'details' => 2, 'type' => Constants\DeviceType::MOBILE ],
120
+ [ 'name' => 'Blazer', 'id' => 'blazer', 'regexp' =>'/Blazer\/([0-9.]*)/u' ],
121
+ [ 'name' => 'Cornowser', 'id' => 'cornowser', 'regexp' =>'/Cornowser\/([0-9.]*)/u' ],
122
+ [ 'name' => 'CuteBrowser', 'id' => 'cute', 'regexp' =>'/CuteBrowser\/([0-9.]*)/u', 'details' => 2 ],
123
+ [ 'name' => 'Digia @Web', 'id' => 'digia', 'regexp' =>'/Digia @Web\/([0-9.]*)/u' ],
124
+ [ 'name' => 'Dorado', 'id' => 'dorado', 'regexp' =>'/Browser\/Dorado([0-9.]*)/u' ],
125
+ [ 'name' => 'Dorado', 'id' => 'dorado', 'regexp' =>'/Dorado WAP-Browser\/([0-9.]*)/u' ],
126
+ [ 'name' => 'Doris', 'id' => 'doris', 'regexp' =>'/Doris\/([0-9.]*)/u' ],
127
+ [ 'name' => 'Dorothy', 'id' => 'doroty', 'regexp' =>'/Dorothy$/u' ],
128
+ [ 'name' => 'EMOBILE Browser', 'id' => 'www browser', 'regexp' =>'/WWW Browser\/ver([0-9.]*)/u' ],
129
+ [ 'name' => 'Go.Web', 'id' => 'go\.web', 'regexp' =>'/Go\.Web\/([0-9.]*)/u' ], // used on early Blackberry, by GoAmerica
130
+ [ 'name' => 'Helium', 'id' => 'helium', 'regexp' =>'/HeliumMobileBrowser\/([0-9.]*)/u' ],
131
+ [ 'name' => 'iCab', 'id' => 'icab', 'regexp' =>'/iCabMobile\/([0-9.]*)/u' ],
132
+ [ 'name' => 'iLunascape', 'id' => 'lunascape', 'regexp' =>'/iLunascape\/([0-9.]*)/u', 'details' => 3 ], // see: http://www.lunascape.tv
133
+ [ 'name' => 'InternetSurfboard', 'id' => 'surfboard', 'regexp' =>'/InternetSurfboard\/([0-9.]*)/u' ],
134
+ [ 'name' => 'iSurf', 'id' => 'isurf', 'regexp' =>'/iSurf version \/v([0-9.]*)/u', 'details' => 2 ],
135
+ [ 'name' => 'Jig Browser', 'id' => 'jig browser', 'regexp' =>'/jig browser(?: web| core|9i?)?;? ?([0-9.]+)?/u', 'type' => Constants\DeviceType::MOBILE ],
136
+ [ 'name' => 'Jumanji', 'id' => 'jumanji', 'regexp' =>'/jumanji/u' ], // see: jumanji browser ubuntu
137
+ [ 'name' => 'Kiosk', 'id' => 'kiosk', 'regexp' =>'/Kiosk\/([0-9.]*)/u' ], // see: http://www.kioskbrowser.net
138
+ [ 'name' => 'LieBaoFast', 'id' => 'liebao', 'regexp' =>'/LieBaoFast\/([0-9.]*)/u' ], // see: http://www.liebao.cn
139
+ [ 'name' => 'MaCross Mobile', 'id' => 'macross', 'regexp' =>'/MaCross\/([0-9.]*)/u' ],
140
+ [ 'name' => 'Mammoth', 'id' => 'mammoth', 'regexp' =>'/Mammoth\/([0-9.]*)/u' ], // see: https://itunes.apple.com/cn/app/meng-ma-liu-lan-qi/id403760998?mt=8
141
+ [ 'name' => 'Motorola Internet Browser', 'id' => 'mib', 'regexp' =>'/MIB\/([0-9.]*)/u' ],
142
+ [ 'name' => 'Motorola Internet Browser', 'id' => 'mib', 'regexp' =>'/MIB([0-9.]+)\//u' ],
143
+ [ 'name' => 'Motorola Internet Browser', 'id' => 'cmcs', 'regexp' =>'/Browser\/CMCS([0-9.]*)/u' ],
144
+ [ 'name' => 'Motorola WebKit', 'id' => 'motorola', 'regexp' =>'/MotorolaWebKit(?:\/([0-9.]*))?/u', 'details' => 3 ],
145
+ [ 'name' => 'MIUI Browser', 'id' => 'miui', 'regexp' =>'/MiuiBrowser\/([0-9.]*)/u' ],
146
+ [ 'name' => 'NetFront Life Browser', 'id' => 'netfrontlife', 'regexp' =>'/NetFrontLifeBrowser\/([0-9.]*)/u' ],
147
+ [ 'name' => 'OneBrowser', 'id' => 'onebrowser', 'regexp' =>'/OneBrowser\/([0-9.]*)/u' ],
148
+ [ 'name' => 'Polaris', 'id' => 'polaris', 'regexp' =>'/Polaris[\/ ]v?([0-9.]*)/iu', 'details' => 2 ],
149
+ [ 'name' => 'Polaris', 'id' => 'polaris', 'regexp' =>'/POLARIS([0-9.]+)/u', 'details' => 2 ],
150
+ [ 'name' => 'Openwave', 'id' => 'openwave', 'regexp' =>'/Open[Ww]ave\/([0-9.]*)/u', 'details' => 2, 'type' => Constants\DeviceType::MOBILE ],
151
+ [ 'name' => 'Openwave', 'id' => 'openwave', 'regexp' =>'/Openwave Mobile Browser ([0-9.]*)/u', 'details' => 2, 'type' => Constants\DeviceType::MOBILE ],
152
+ [ 'name' => 'Openwave', 'id' => 'openwave', 'regexp' =>'/Browser\/OpenWave([0-9.]*)/u', 'details' => 2, 'type' => Constants\DeviceType::MOBILE ],
153
+ [ 'name' => 'Openwave', 'id' => 'up', 'regexp' =>'/UP\. ?Browser(?:\/([a-z0-9.]*))?/iu', 'details' => 2, 'type' => Constants\DeviceType::MOBILE ],
154
+ [ 'name' => 'Openwave', 'id' => 'km', 'regexp' =>'/KM\.Browser\/([0-9.]+)/iu', 'details' => 2, 'type' => Constants\DeviceType::MOBILE ],
155
+ [ 'name' => 'Openwave', 'id' => 'up', 'regexp' =>'/UP\/([0-9.]+)/u', 'details' => 2, 'type' => Constants\DeviceType::MOBILE ],
156
+ [ 'name' => 'SEMC Browser', 'id' => 'semc', 'regexp' =>'/SEMC-Browser\/([0-9.]*)/u' ],
157
+ [ 'name' => 'Sogou Mobile', 'id' => 'sogou', 'regexp' =>'/SogouMobileBrowser\/([0-9.]*)/u', 'details' => 2 ],
158
+ [ 'name' => 'Swing Browser', 'id' => 'swing', 'regexp' =>'/Swing\(And\)\/([0-9.]*)/u', 'details' => 3 ],
159
+ [ 'name' => 'Symphony', 'id' => 'symphony', 'regexp' =>'/Symphony ([0-9.]+)$/u' ],
160
+ [ 'name' => 'WebLite', 'id' => 'weblite', 'regexp' =>'/WebLite\/([0-9.]*)/u', 'type' => Constants\DeviceType::MOBILE ],
161
+
162
+ /* Television browsers */
163
+ [ 'name' => 'AltiBrowser', 'id' => 'alti', 'regexp' =>'/AltiBrowser\/([0-9.]*)/i' ],
164
+ [ 'name' => 'Aplix', 'id' => 'aplix', 'regexp' =>'/Aplix_SANYO_browser\/([0-9](?:.[0-9.]+)?)/u' ], // browser for the Sega Saturn
165
+ [ 'name' => 'AwoX', 'id' => 'awox', 'regexp' =>'/AwoX(?:\/([0-9.]*))? Browser/i' ],
166
+ [ 'name' => 'Isis', 'id' => 'browserserver', 'regexp' =>'/BrowserServer/u' ],
167
+ [ 'name' => 'Isis', 'id' => 'isis', 'regexp' =>'/ISIS\/([0-9.]*)/u', 'details' => 2 ],
168
+ [ 'name' => 'Spyglass', 'id' => 'spyglass', 'regexp' =>'/Spyglass ([0-9.]+); OpenTV/u' ],
169
+ [ 'name' => 'Oregan Browser', 'id' => 'oregan', 'regexp' =>'/OreganMediaBrowser(?:\/([0-9.]*))?/u', 'details' => 2 ],
170
+ [ 'name' => 'Viera Browser', 'id' => 'viera', 'regexp' =>'/Viera\/([0-9.]*)/u' ],
171
+ [ 'name' => 'Zetakey', 'id' => 'zetakey', 'regexp' =>'/Zetakey Webkit\/([0-9.]*)/u', 'type' => Constants\DeviceType::TELEVISION ],
172
+ [ 'name' => 'Zetakey', 'id' => 'zetakey', 'regexp' =>'/Zetakey\/([0-9.]*)/u', 'type' => Constants\DeviceType::TELEVISION ],
173
+
174
+ /* Gaming browsers */
175
+ [ 'name' => 'Aplix', 'id' => 'aplix', 'regexp' =>'/Aplix_SEGASATURN_browser\/([0-9](?:.[0-9.]+)?)/u' ], // browser for the Sega Saturn
176
+ [ 'name' => 'Bunjalloo', 'id' => 'bunjalloo', 'regexp' =>'/Bunjalloo\/([0-9.]*)/u' ], // browser for the Nintento DS
177
+ [ 'name' => 'Nintendo Web Framework', 'id' => 'nwf', 'regexp' =>'/NWF\/([0-9.]*)/u', 'details' => 2 ], // browser for the Sega Dreamcast
178
+ [ 'name' => 'Nuanti Meta', 'id' => 'nuanti', 'regexp' =>'/Nuanti(?:Meta)?\/([0-9.]*)/u' ], // browser for the Playstation
179
+
180
+ /* Other browsers */
181
+ [ 'name' => 'Wear Internet Browser','id' => 'wib', 'regexp' =>'/WIB\/([0-9.]*)/u' ],
182
+
183
+ /* PDF renderers */
184
+ [ 'name' => 'Prince', 'id' => 'prince', 'regexp' =>'/Prince\/([0-9.]*)/u' ],
185
+
186
+ /* Unsorted */
187
+ [ 'name' => 'Demobrowser', 'id' => 'demobrowser', 'regexp' =>'/demobrowser\/([0-9.]*)/u' ],
188
+ [ 'name' => 'Dooble', 'id' => 'dooble', 'regexp' =>'/Dooble(?:\/([0-9.]*))?/u' ], // see: http://dooble.sourceforge.net
189
+ [ 'name' => 'DWB', 'id' => 'dwb', 'regexp' =>'/dwb(?:-hg)?(?:\/([0-9.]*))?/u' ],
190
+ [ 'name' => 'EVM Browser', 'id' => 'evm', 'regexp' =>'/EVMBrowser\/([0-9.]*)/u' ],
191
+ [ 'name' => 'FireWeb', 'id' => 'fireweb', 'regexp' =>'/FireWeb\/([0-9.]*)/u' ],
192
+ [ 'name' => 'Hive Explorer', 'id' => 'hive', 'regexp' =>'/HiveE/u' ],
193
+ [ 'name' => 'Intermec Browser', 'id' => 'intermec', 'regexp' =>'/Intermec\/([0-9.]*)/u', 'details' => 2 ],
194
+ [ 'name' => 'Phantom', 'id' => 'phantom', 'regexp' =>'/Phantom\/V([0-9.]*)/u' ],
195
+ [ 'name' => 'QtCreator', 'id' => 'qt', 'regexp' =>'/QtCreator\/([0-9.]*)/u' ],
196
+ [ 'name' => 'QtQmlViewer', 'id' => 'qt', 'regexp' =>'/QtQmlViewer/u' ],
197
+ [ 'name' => 'QtMiniBrowser', 'id' => 'qt', 'regexp' =>'/QtMiniBrowser\/([0-9.]*)/u' ],
198
+ [ 'name' => 'QtTestBrowser', 'id' => 'qt', 'regexp' =>'/QtTestBrowser\/([0-9.]*)/u' ],
199
+ [ 'name' => 'Roccat', 'id' => 'roccat', 'regexp' =>'/Roccat\/([0-9]\.[0-9.]*)/u' ],
200
+ [ 'name' => 'Raven for Mac', 'id' => 'raven', 'regexp' =>'/Raven for Mac\/([0-9.]*)/u' ],
201
+ [ 'name' => 'RockMelt', 'id' => 'rockmelt', 'regexp' =>'/RockMelt\/([0-9.]*)/u', 'details' => 2 ],
202
+ [ 'name' => 'Scope', 'id' => 'scope', 'regexp' =>'/Scope\/([0-9.]*)/u', 'details' => 2 ], // see: http://www.programmer.co.jp/scope.shtml
203
+ [ 'name' => 'SlimBoat', 'id' => 'slim', 'regexp' =>'/SlimBoat\/([0-9.]*)/u' ],
204
+ [ 'name' => 'SlimBrowser', 'id' => 'slim', 'regexp' =>'/SlimBrowser(?:\/([0-9.]*))?/u' ],
205
+ [ 'name' => 'SMBrowser', 'id' => 'smbrowser', 'regexp' =>'/SMBrowser/u' ],
206
+ [ 'name' => 'Snowshoe', 'id' => 'snowshoe', 'regexp' =>'/Snowshoe\/([0-9.]*)/u', 'details' => 2 ],
207
+ [ 'name' => 'Sputnik', 'id' => 'sputnik', 'regexp' =>'/Sputnik\/([0-9.]*)/iu', 'details' => 3 ],
208
+ [ 'name' => 'Surf', 'id' => 'surf', 'regexp' =>'/Surf\/([0-9.]*)/u' ],
209
+ [ 'name' => 'TaoBrowser', 'id' => 'tao', 'regexp' =>'/TaoBrowser\/([0-9.]*)/u', 'details' => 2 ],
210
+ [ 'name' => 'TaomeeBrowser', 'id' => 'tao', 'regexp' =>'/TaomeeBrowser\/([0-9.]*)/u', 'details' => 2 ],
211
+ [ 'name' => 'TazWeb', 'id' => 'taz', 'regexp' =>'/TazWeb/u' ],
212
+ [ 'name' => 'Uzbl', 'id' => 'uzbl', 'regexp' =>'/^Uzbl/u' ],
213
+ [ 'name' => 'Villanova', 'id' => 'villanova', 'regexp' =>'/Villanova\/([0-9.]*)/u', 'details' => 3 ],
214
+ [ 'name' => 'Vimb', 'id' => 'vimb', 'regexp' =>'/vimb\/([0-9.]*)/u' ],
215
+ [ 'name' => 'WADA Browser', 'id' => 'wada', 'regexp' =>'/WadaBrowser\/([0-9.]*)/u' ],
216
+ [ 'name' => 'Wavelink Velocity', 'id' => 'wavelink', 'regexp' =>'/Wavelink Velocity Browser\/([0-9.]*)/u', 'details' => 2 ],
217
+ [ 'name' => 'WebRender', 'id' => 'webrender', 'regexp' =>'/WebRender/u' ],
218
+ [ 'name' => 'Webster', 'id' => 'webster', 'regexp' =>'/Webster ([0-9.]*)/u' ],
219
+ [ 'name' => 'Wyzo', 'id' => 'wyzo', 'regexp' =>'/Wyzo\/([0-9.]*)/u', 'details' => 3 ],
220
+ [ 'name' => 'Yelang', 'id' => 'yelang', 'regexp' =>'/Yelang\/([0-9.]*)/u', 'details' => 3 ], // see: wellgo.org
221
+ [ 'name' => 'YRC Weblink', 'id' => 'yrcweb', 'regexp' =>'/YRCWeblink\/([0-9.]*)/u' ],
222
+ [ 'name' => '冲浪浏览器', 'id' => 'surf', 'regexp' =>'/CMSurfClient-Android/u' ],
223
+ ],
224
+
225
+ Constants\BrowserType::BROWSER_TEXT => [
226
+ [ 'name' => 'CERN LineMode', 'id' => 'linemode', 'regexp' =>'/CERN-LineMode\/([0-9.]*)/u' ],
227
+ [ 'name' => 'Lynx', 'id' => 'lynx', 'regexp' =>'/Lynx\/([0-9.]*)/u' ],
228
+ [ 'name' => 'Lynx', 'id' => 'lynx', 'regexp' =>'/Lynx \(textmode\)/u' ],
229
+ [ 'name' => 'ELinks', 'id' => 'links', 'regexp' =>'/E[Ll]inks(?:\/| \()([0-9.]*[0-9])/u', 'type' => Constants\DeviceType::DESKTOP ],
230
+ [ 'name' => 'Links', 'id' => 'links', 'regexp' =>'/Links \(([0-9.]*)/u' ],
231
+ [ 'name' => 'w3m', 'id' => 'w3m', 'regexp' =>'/w3m\/([0-9.]*)/u' ],
232
+ ],
233
+
234
+ Constants\BrowserType::UNKNOWN => [
235
+ [ 'name' => 'PhantomJS', 'id' => 'phantom', 'regexp' =>'/PhantomJS\/([0-9.]*)/u' ],
236
+ [ 'name' => 'Nimbus', 'id' => 'nimbus', 'regexp' =>'/Nimbus\/([0-9.]*)/u' ],
237
+ [ 'name' => 'McAfee Web Gateway', 'id' => 'Webwasher', 'regexp' =>'/Webwasher\/([0-9.]*)/u' ],
238
+ [ 'name' => 'Open Sankoré', 'id' => 'sankore', 'regexp' =>'/Open-Sankore\/([0-9.]*)/u', 'type' => Constants\DeviceType::WHITEBOARD ],
239
+ [ 'name' => 'Adapi', 'id' => 'adapi', 'regexp' =>'/ ADAPI\/([0-9.]*)/u', 'hidden' => true, 'type' => Constants\DeviceType::SIGNAGE ],
240
+ [ 'name' => 'BrightSign', 'id' => 'brightsign', 'regexp' =>'/BrightSign\/([0-9.]*)/u', 'type' => Constants\DeviceType::SIGNAGE ],
241
+ [ 'name' => 'Coship MMCP', 'id' => 'coship', 'regexp' =>'/Coship_MMCP_([0-9.]*)/u', 'type' => Constants\DeviceType::SIGNAGE ],
242
+ ]
243
+ ];
integration/whichbrowser/data/applications-others.php ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ use WhichBrowser\Constants;
6
+
7
+ Applications::$OTHERS = [
8
+
9
+ Constants\BrowserType::APP_MEDIAPLAYER => [
10
+ [ 'name' => 'iTunes', 'id' => 'itunes', 'regexp' =>'/iTunes\/(?:xaa.)?([0-9.]*)/u' ],
11
+ [ 'name' => 'iTunes', 'id' => 'itunes', 'regexp' =>'/iTunes-AppleTV\//u' ],
12
+ [ 'name' => 'QuickTime', 'id' => 'qt', 'regexp' =>'/\(qtver=([0-9.]*);/u' ],
13
+ [ 'name' => 'Bluefish', 'id' => 'bluefish', 'regexp' =>'/bluefish ([0-9.]*)/u' ],
14
+ [ 'name' => 'Nightingale', 'id' => 'nightingale', 'regexp' =>'/Nightingale\/([0-9.]*)/u' ],
15
+ [ 'name' => 'Songbird', 'id' => 'songbird', 'regexp' =>'/Songbird\/([0-9.]*)/u' ],
16
+ [ 'name' => 'Stagefright', 'id' => 'stagefright', 'regexp' =>'/stagefright\/([0-9.]*)/u' ],
17
+ [ 'name' => 'SubStream', 'id' => 'substream', 'regexp' =>'/SubStream\/([0-9.]*)/u', 'type' => Constants\DeviceType::MOBILE ],
18
+ [ 'name' => 'VLC', 'id' => 'vlc', 'regexp' =>'/VLC media player - version ([0-9.]*)/u' ],
19
+ [ 'name' => 'VLC', 'id' => 'vlc', 'regexp' =>'/VLC\/([0-9.]*)/u' ],
20
+ [ 'name' => 'Windows Media Player', 'id' => 'windows-media', 'regexp' =>'/Windows-Media-Player\/([0-9.]*)/u', 'details' => 1 ],
21
+ [ 'name' => 'CorePlayer', 'id' => 'coreplayer', 'regexp' =>'/CorePlayer\/([0-9.]*)/u' ],
22
+ [ 'name' => 'FlyCast', 'id' => 'flycast', 'regexp' =>'/FlyCast\/([0-9.]*)/u' ],
23
+ [ 'name' => 'Boxee', 'id' => 'boxee', 'regexp' => '/Boxee(?:\/([0-9.]*))?/u', 'type' => Constants\DeviceType::TELEVISION ],
24
+ [ 'name' => 'Kodi', 'id' => 'kodi', 'regexp' => '/^Kodi\/([0-9.]+)/u', 'details' => 2 ],
25
+ [ 'name' => 'XBMC', 'id' => 'xbmc', 'regexp' => '/^XBMC\/(?:PRE-)?([0-9.]+)/u', 'details' => 2 ],
26
+ ],
27
+
28
+ Constants\BrowserType::APP_EMAIL => [
29
+ [ 'name' => 'Lightning', 'id' => 'lightning', 'regexp' =>'/Lightning\/([0-9.]*)/u' ],
30
+ [ 'name' => 'Thunderbird', 'id' => 'thunderbird', 'regexp' =>'/Thunderbird[\/ ]([0-9.]*)/u', 'type' => Constants\DeviceType::DESKTOP ],
31
+ [ 'name' => 'Microsoft Outlook', 'id' => 'outlook', 'regexp' =>'/Microsoft Outlook IMO, Build ([0-9.]*)/u', 'details' => 2, 'type' => Constants\DeviceType::DESKTOP ],
32
+ [ 'name' => 'Microsoft Outlook', 'id' => 'outlook', 'regexp' =>'/Microsoft Outlook ([0-9.]*)/u', 'details' => 2, 'type' => Constants\DeviceType::DESKTOP ],
33
+ [ 'name' => 'Microsoft Outlook Express', 'id' => 'outlook', 'regexp' =>'/Outlook-Express\/([0-9.]*)/u', 'details' => 2, 'type' => Constants\DeviceType::DESKTOP ],
34
+ [ 'name' => 'Lotus Notes', 'id' => 'lotus', 'regexp' =>'/Lotus-Notes\/([0-9.]*)/u', 'details' => 2, 'type' => Constants\DeviceType::DESKTOP ],
35
+ [ 'name' => 'Postbox', 'id' => 'postbox', 'regexp' =>'/Postbox[\/ ]([0-9.]*)/u', 'details' => 2 ],
36
+ [ 'name' => 'The Bat!', 'id' => 'bat', 'regexp' =>'/The Bat! ([0-9.]*)/u', 'details' => 3 ],
37
+ [ 'name' => 'Yahoo Mail', 'id' => 'yahoo', 'regexp' =>'/YahooMobile\/1.0 \(mail; ([0-9.]+)\)/u', 'details' => 3 ],
38
+ ],
39
+
40
+ Constants\BrowserType::APP_NEWS => [
41
+ [ 'name' => 'Daum', 'id' => 'daum', 'regexp' =>'/DaumApps\/([0-9.]*)/u' ],
42
+ [ 'name' => 'Daum', 'id' => 'daum', 'regexp' =>'/daumcafe\/([0-9.]*)/u' ],
43
+ ],
44
+
45
+ Constants\BrowserType::APP_FEEDREADER => [
46
+ [ 'name' => 'Akregator', 'id' => 'akregator', 'regexp' =>'/Akregator\/([0-9.]*)/u' ],
47
+ [ 'name' => 'Blogos', 'id' => 'blogos', 'regexp' =>'/Blogos\/([0-9.]*)/u', 'type' => Constants\DeviceType::MOBILE ],
48
+ [ 'name' => 'Cococ', 'id' => 'cococ', 'regexp' =>'/cococ\/([0-9.]*)/u' ],
49
+ [ 'name' => 'FeedDemon', 'id' => 'feed', 'regexp' =>'/FeedDemon\/([0-9.]*)/u' ],
50
+ [ 'name' => 'Feeddler', 'id' => 'feed', 'regexp' =>'/FeeddlerRSS[ \/]([0-9.]*)/u' ],
51
+ [ 'name' => 'Feeddler Pro', 'id' => 'feed', 'regexp' =>'/FeeddlerPro\/([0-9.]*)/u' ],
52
+ [ 'name' => 'Liferea', 'id' => 'liferea', 'regexp' =>'/Liferea\/([0-9.]*)/u' ],
53
+ [ 'name' => 'NewsBlur', 'id' => 'news', 'regexp' =>'/NewsBlur\/([0-9.]*)/u', 'type' => Constants\DeviceType::MOBILE ],
54
+ [ 'name' => 'Newsbeuter', 'id' => 'news', 'regexp' =>'/newsbeuter\/([0-9.]*)/u' ],
55
+ [ 'name' => 'JetBrains Omea Reader','id' => 'jetbrains', 'regexp' =>'/JetBrains Omea Reader ([0-9.]*)/u' ],
56
+ [ 'name' => 'RSS Bandit', 'id' => 'rss', 'regexp' =>'/RssBandit\/([0-9.]*)/u' ],
57
+ [ 'name' => 'RSS Junkie', 'id' => 'rss', 'regexp' =>'/RSS Junkie Daemon/u' ],
58
+ [ 'name' => 'RSS Owl', 'id' => 'rss', 'regexp' =>'/RSSOwl\/([0-9.]*)/u' ],
59
+ [ 'name' => 'Reeder', 'id' => 'reeder', 'regexp' =>'/Reeder\/([0-9.]*)/u' ],
60
+ [ 'name' => 'ReedKit', 'id' => 'reedkit', 'regexp' =>'/ReedKit\/([0-9.]*)/u', 'type' => Constants\DeviceType::DESKTOP ],
61
+ [ 'name' => 'Rome', 'id' => 'rome', 'regexp' =>'/Rome Client/u' ],
62
+ [ 'name' => 'jsRSS++', 'id' => 'rss', 'regexp' =>'/jsRSS++\/([0-9.]*)/u' ],
63
+ [ 'name' => 'Windows RSS Platorm', 'id' => 'rss', 'regexp' =>'/Windows-RSS-Platform\/([0-9.]*)/u' ],
64
+ ],
65
+
66
+ Constants\BrowserType::APP_PODCAST => [
67
+ [ 'name' => 'Ziepod', 'id' => 'ziepod', 'regexp' =>'/Ziepod\+? ([0-9.]*)/u' ],
68
+ ],
69
+
70
+ Constants\BrowserType::APP_CHAT => [
71
+ [ 'name' => 'Facebook Messenger', 'id' => 'messenger', 'regexp' =>'/FBAN\/MessengerForiOS/u' ],
72
+ [ 'name' => 'Kik', 'id' => 'kik', 'regexp' =>'/Kik\/([0-9.]*)/u' ],
73
+ [ 'name' => 'WeChat', 'id' => 'messenger', 'regexp' =>'/MicroMessenger\/([0-9.]*)/u' ],
74
+ [ 'name' => 'Yahoo Messenger', 'id' => 'yahoo', 'regexp' =>'/YahooMobile\/1.0 \(im; ([0-9.]+)\)/u', 'details' => 3 ],
75
+ [ 'name' => 'Yammer', 'id' => 'yammer', 'regexp' =>'/Yammer\/([0-9.]*)/u', 'details' => 2 ],
76
+ ],
77
+
78
+ Constants\BrowserType::APP_SOCIAL => [
79
+ [ 'name' => 'Facebook', 'id' => 'fbios', 'regexp' =>'/FBAN\/FBIOS/u' ],
80
+ [ 'name' => 'Facebook', 'id' => 'fb4a', 'regexp' =>'/FBAN\/FB4A/u' ],
81
+ [ 'name' => 'Facebook', 'id' => 'fb4a', 'regexp' =>'/FB_IAB\/FB4A/u' ],
82
+ [ 'name' => 'Google+', 'id' => 'googleplus', 'regexp' =>'/com.google.GooglePlus/u' ],
83
+ [ 'name' => 'Instagram', 'id' => 'instagram', 'regexp' =>'/Instagram ([0-9.]+)/u' ],
84
+ [ 'name' => 'Sina Weibo', 'id' => 'weibo', 'regexp' =>'/weibo__([0-9.]*)/u' ],
85
+ [ 'name' => 'Tumblr', 'id' => 'tumblr', 'regexp' =>'/Tumblr\/([0-9.]*)/u' ],
86
+ [ 'name' => 'Twitter', 'id' => 'twitter', 'regexp' =>'/TwitterAndroid/u' ],
87
+ [ 'name' => 'Twitter', 'id' => 'twitter', 'regexp' =>'/Twitter for iPhone/u' ],
88
+ [ 'name' => 'WordPress', 'id' => 'wp-android', 'regexp' =>'/wp-android\/([0-9.]*)/u' ],
89
+ ],
90
+
91
+ Constants\BrowserType::APP_OFFICE => [
92
+ [ 'name' => 'LibreOffice', 'id' => 'office', 'regexp' =>'/LibreOffice/u' ],
93
+ [ 'name' => 'Microsoft Office', 'id' => 'office', 'regexp' =>'/MSOffice ([0-9.]*)/u' ],
94
+ [ 'name' => 'Microsoft Office', 'id' => 'office', 'regexp' =>'/Microsoft Office Mobile ?\/([0-9.]*)/u' ],
95
+ [ 'name' => 'Microsoft Excel', 'id' => 'office', 'regexp' =>'/Microsoft Office Excel ([0-9.]*)/u' ],
96
+ [ 'name' => 'Microsoft OneNote', 'id' => 'office', 'regexp' =>'/Microsoft Office OneNote ([0-9.]*)/u' ],
97
+ [ 'name' => 'Microsoft PowerPoint', 'id' => 'office', 'regexp' =>'/Microsoft Office PowerPoint ([0-9.]*)/u' ],
98
+ [ 'name' => 'Microsoft Word', 'id' => 'office', 'regexp' =>'/Microsoft Office Word ([0-9.]*)/u' ],
99
+ [ 'name' => 'OpenOffice', 'id' => 'office', 'regexp' =>'/OpenOffice\/([0-9.]*)/u' ],
100
+ ],
101
+
102
+ Constants\BrowserType::APP_SEARCH => [
103
+ [ 'name' => 'Baidu Hao123', 'id' => 'hao123', 'regexp' =>'/hao123\/([0-9.]*)/u', 'details' => 2 ],
104
+ [ 'name' => 'Google Search', 'id' => 'gsa', 'regexp' =>'/GSA\/([0-9.]*)/u', 'details' => 3 ],
105
+ [ 'name' => 'NAVER', 'id' => 'naver', 'regexp' =>'/NAVER\(inapp; search; [0-9]+; ([0-9.]*)\)/u' ],
106
+ ],
107
+
108
+ Constants\BrowserType::APP_EDITOR => [
109
+ [ 'name' => 'Atom', 'id' => 'atom', 'regexp' =>'/Atom\/([0-9.]*)/u' ],
110
+ [ 'name' => 'Adobe GoLive', 'id' => 'golive', 'regexp' =>'/GoLive ([0-9.]*)/u' ],
111
+ [ 'name' => 'Brackets', 'id' => 'brackets', 'regexp' =>'/Brackets\/([0-9.]*)/u' ],
112
+ [ 'name' => 'iWeb', 'id' => 'iweb', 'regexp' =>'/(?:^| )iWeb\/([0-9])/u' ],
113
+ [ 'name' => 'Microsoft FrontPage', 'id' => 'frontpage', 'regexp' =>'/MS ?FrontPage[ \/]([0-9.]*)/u', 'details' => 2, 'type' => Constants\DeviceType::DESKTOP ],
114
+ [ 'name' => 'W3C Amaya', 'id' => 'amaya', 'regexp' =>'/amaya\/([0-9.]*)/u' ],
115
+ ],
116
+
117
+ Constants\BrowserType::APP_DOWNLOAD => [
118
+ [ 'name' => 'Download Manager', 'id' => 'download', 'regexp' =>'/AndroidDownloadManager\//u' ],
119
+ ],
120
+
121
+ Constants\BrowserType::APP_GAME => [
122
+ [ 'name' => 'EA Origin', 'id' => 'origin', 'regexp' =>'/Origin\/([0-9.]*)/u' ],
123
+ [ 'name' => 'SecondLife', 'id' => 'secondlife', 'regexp' =>'/SecondLife\/([0-9.]*)/u' ],
124
+ [ 'name' => 'Valve Steam', 'id' => 'valve', 'regexp' =>'/Valve Steam/u' ],
125
+ [ 'name' => 'Raptr', 'id' => 'raptr', 'regexp' =>'/Raptr/u' ],
126
+ ],
127
+
128
+ Constants\BrowserType::APP => [
129
+ [ 'name' => 'Cooliris', 'id' => 'cooliris', 'regexp' =>'/Cooliris\/([0-9.]*)/u' ],
130
+ [ 'name' => 'Google Earth', 'id' => 'google', 'regexp' =>'/Google Earth\/([0-9.]*)/u', 'details' => 2 ],
131
+ [ 'name' => 'Google Desktop', 'id' => 'google', 'regexp' =>'/Google Desktop\/([0-9.]*)/u', 'details' => 2 ],
132
+ [ 'name' => 'Leechcraft', 'id' => 'leechcraft', 'regexp' =>'/Leechcraft(?:\/([0-9.]*))?/u', 'details' => 2 ],
133
+ [ 'name' => 'Lotus Expeditor', 'id' => 'expeditor', 'regexp' =>'/Gecko Expeditor ([0-9.]*)/u', 'details' => 3 ],
134
+ ]
135
+ ];
integration/whichbrowser/data/browsers-chrome.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ Chrome::$DESKTOP = [
6
+ '0.2.149' => 'beta',
7
+ '0.3.154' => 'beta',
8
+ '0.4.154' => 'beta',
9
+ '1.0.154' => 'stable',
10
+ '2.0.172' => 'stable',
11
+ '3.0.195' => 'stable',
12
+ '4.0.249' => 'stable',
13
+ '4.1.249' => 'stable',
14
+ '5.0.375' => 'stable',
15
+ '6.0.472' => 'stable',
16
+ '7.0.517' => 'stable',
17
+ '8.0.552' => 'stable',
18
+ '9.0.597' => 'stable',
19
+ '10.0.648' => 'stable',
20
+ '11.0.696' => 'stable',
21
+ '12.0.742' => 'stable',
22
+ '13.0.782' => 'stable',
23
+ '14.0.835' => 'stable',
24
+ '15.0.874' => 'stable',
25
+ '16.0.912' => 'stable',
26
+ '17.0.963' => 'stable',
27
+ '18.0.1025' => 'stable',
28
+ '19.0.1084' => 'stable',
29
+ '20.0.1132' => 'stable',
30
+ '21.0.1180' => 'stable',
31
+ '22.0.1229' => 'stable',
32
+ '23.0.1271' => 'stable',
33
+ '24.0.1312' => 'stable',
34
+ '25.0.1364' => 'stable',
35
+ '26.0.1410' => 'stable',
36
+ '27.0.1453' => 'stable',
37
+ '28.0.1500' => 'stable',
38
+ '29.0.1547' => 'stable',
39
+ '30.0.1599' => 'stable',
40
+ '31.0.1650' => 'stable',
41
+ '32.0.1700' => 'stable',
42
+ '33.0.1750' => 'stable',
43
+ '34.0.1847' => 'stable',
44
+ '35.0.1916' => 'stable',
45
+ '36.0.1985' => 'stable',
46
+ '37.0.2062' => 'stable',
47
+ '38.0.2125' => 'stable',
48
+ '39.0.2171' => 'stable',
49
+ '40.0.2214' => 'stable',
50
+ '41.0.2272' => 'stable',
51
+ '42.0.2311' => 'stable',
52
+ '43.0.2357' => 'stable',
53
+ '44.0.2403' => 'stable',
54
+ '45.0.2454' => 'stable',
55
+ '46.0.2490' => 'stable',
56
+ '47.0.2526' => 'stable',
57
+ '48.0.2564' => 'stable',
58
+ '49.0.2623' => 'stable',
59
+ '50.0.2661' => 'stable',
60
+ '51.0.2704' => 'stable',
61
+ ];
62
+
63
+ Chrome::$MOBILE = [
64
+ '16.0.912' => 'beta',
65
+ '18.0.1025' => 'stable',
66
+ '25.0.1364' => 'stable',
67
+ '27.0.1453' => 'stable',
68
+ '29.0.1547' => 'stable',
69
+ '30.0.1599' => 'stable',
70
+ '31.0.1650' => 'stable',
71
+ '32.0.1700' => 'stable',
72
+ '33.0.1750' => 'stable',
73
+ '34.0.1847' => 'stable',
74
+ '35.0.1916' => 'stable',
75
+ '36.0.1985' => 'stable',
76
+ '37.0.2062' => 'stable',
77
+ '38.0.2125' => 'stable',
78
+ '39.0.2171' => 'stable',
79
+ '40.0.2214' => 'stable',
80
+ '41.0.2272' => 'stable',
81
+ '42.0.2311' => 'stable',
82
+ '43.0.2357' => 'stable',
83
+ '44.0.2403' => 'stable',
84
+ '45.0.2454' => 'stable',
85
+ '46.0.2490' => 'stable',
86
+ '47.0.2526' => 'stable',
87
+ '48.0.2564' => 'stable',
88
+ '49.0.2623' => 'stable',
89
+ '50.0.2661' => 'stable',
90
+ '51.0.2704' => 'stable',
91
+ ];
integration/whichbrowser/data/build-android.php ADDED
@@ -0,0 +1,244 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ BuildIds::$ANDROID_BUILDS = [
6
+ 'CUPCAKE' => '1.5',
7
+ 'DONUT' => '1.6',
8
+ 'ECLAIR' => '2.0',
9
+ 'FROYO' => '2.2',
10
+ 'GINGERBREAD' => '2.3',
11
+
12
+ 'DRC83' => '1.6',
13
+ 'DRC92' => '1.6',
14
+ 'DRD08' => '1.6',
15
+ 'DRD20' => '1.6',
16
+ 'DMD64' => '1.6',
17
+ 'ESD20' => '2.0',
18
+ 'ESD56' => '2.0.1',
19
+ 'ERD79' => '2.1',
20
+ 'ERE27' => '2.1',
21
+ 'EPE54B' => '2.1',
22
+ 'ESE81' => '2.1',
23
+ 'EPF21B' => '2.1',
24
+ 'FRF85B' => '2.2',
25
+ 'FRF91' => '2.2',
26
+ 'FRG01B' => '2.2',
27
+ 'FRG22D' => '2.2',
28
+ 'FRG83' => '2.2.1',
29
+ 'FRG83D' => '2.2.1',
30
+ 'FRG83G' => '2.2.2',
31
+ 'FRK76' => '2.2.3',
32
+ 'FRK76C' => '2.2.3',
33
+ 'GRH55' => '2.3',
34
+ 'GRH78' => '2.3.1',
35
+ 'GRH78C' => '2.3.2',
36
+ 'GRI40' => '2.3.3',
37
+ 'GRI54' => '2.3.3',
38
+ 'GRJ06D' => '2.3.4',
39
+ 'GRJ22' => '2.3.4',
40
+ 'GRJ90' => '2.3.5',
41
+ 'GRK39C' => '2.3.6',
42
+ 'GRK39F' => '2.3.6',
43
+ 'GWK74' => '2.3.7',
44
+
45
+ 'HRI39' => '3.0',
46
+ 'HRI66' => '3.0',
47
+ 'HWI69' => '3.0',
48
+ 'HRI83' => '3.0',
49
+ 'HMJ37' => '3.1',
50
+ 'HTJ85B' => '3.2',
51
+ 'HTK55D' => '3.2.1',
52
+ 'HTK75' => '3.2.1',
53
+ 'HTK75D' => '3.2.1',
54
+ 'HLK75C' => '3.2.2',
55
+ 'HLK75D' => '3.2.2',
56
+ 'HLK75F' => '3.2.4',
57
+ 'HLK75H' => '3.2.6',
58
+
59
+ 'ITL41D' => '4.0.1',
60
+ 'ITL41E' => '4.0.1',
61
+ 'ITL41F' => '4.0.1',
62
+ 'ICL53F' => '4.0.2',
63
+ 'IML74K' => '4.0.3',
64
+ 'IML77' => '4.0.3',
65
+ 'IMM76' => '4.0.4',
66
+ 'IMM76D' => '4.0.4',
67
+ 'IMM76I' => '4.0.4',
68
+ 'IMM76K' => '4.0.4',
69
+ 'IMM76L' => '4.0.4',
70
+ 'JRO03C' => '4.1.1',
71
+ 'JRO03D' => '4.1.1',
72
+ 'JRO03E' => '4.1.1',
73
+ 'JRO03H' => '4.1.1',
74
+ 'JRO03L' => '4.1.1',
75
+ 'JRO03O' => '4.1.1',
76
+ 'JRO03R' => '4.1.1',
77
+ 'JRO03S' => '4.1.1',
78
+ 'JZO54K' => '4.1.2',
79
+ 'JZO54M' => '4.1.2',
80
+ 'JVP15S' => '4.2', // Interim build used by the Nexus 7
81
+ 'JOP40C' => '4.2',
82
+ 'JOP40D' => '4.2.1',
83
+ 'JOP40F' => '4.2.1',
84
+ 'JOP40G' => '4.2.1',
85
+ 'JDQ39' => '4.2.2',
86
+ 'JDQ39B' => '4.2.2',
87
+ 'JDQ39E' => '4.2.2',
88
+ 'JWR66L' => '4.3',
89
+ 'JWR66N' => '4.3',
90
+ 'JWR66N.S005' => '4.3', // Google Play Edition - Samsung Galaxy S4
91
+ 'JWR66V' => '4.3',
92
+ 'JWR66V.H10' => '4.3', // Google Play Edition - HTC One
93
+ 'JWR66V.S014' => '4.3', // Google Play Edition - Samsung Galaxy S4
94
+ 'JWR66Y' => '4.3',
95
+ 'JWR66Y.S003' => '4.3', // Google Play Edition - Samsung Galaxy S4
96
+ 'JSR78D' => '4.3',
97
+ 'JSS15J' => '4.3',
98
+ 'JSS15Q' => '4.3',
99
+ 'KRT16S' => '4.4',
100
+ 'KRT16M' => '4.4',
101
+ 'KOT49E' => '4.4.1',
102
+ 'KOT49H' => '4.4.2',
103
+ 'KVT49L' => '4.4.2',
104
+ 'KTU84L' => '4.4.3',
105
+ 'KTU84M' => '4.4.3',
106
+ 'KTU84P' => '4.4.4',
107
+
108
+ 'LPV79' => ['value' => '5.0', 'alias' => 'L'],
109
+ 'LPV81C' => ['value' => '5.0', 'alias' => 'L'],
110
+ 'LPX13D' => ['value' => '5.0', 'alias' => 'L'],
111
+
112
+ 'LRX21L' => '5.0',
113
+ 'LRX21M' => '5.0',
114
+ 'LRX21O' => '5.0',
115
+ 'LRX21P' => '5.0',
116
+ 'LRX21Q' => '5.0',
117
+ 'LRX21R' => '5.0',
118
+ 'LRX21T' => '5.0',
119
+ 'LRX21V' => '5.0',
120
+ 'LRX22C' => '5.0.1',
121
+ 'LRX22G' => '5.0.2',
122
+ 'LRX22L' => '5.0.2',
123
+ 'LGZ23.S3' => '5.0.2', // Sony Bravia Android TV
124
+ 'LGZ23.S15' => '5.0.2', // Sony Bravia Android TV
125
+ 'LGZ23.S37' => '5.0.2', // Sony Bravia Android TV
126
+ 'LGZ23.S49' => '5.0.2', // Sony Bravia Android TV
127
+ 'LGZ23.S55' => '5.0.2', // Sony Bravia Android TV
128
+ 'LGZ23.S59' => '5.0.2', // Sony Bravia Android TV
129
+ 'LGZ23.S61' => '5.0.2', // Sony Bravia Android TV
130
+ 'LGZ23.S73' => '5.0.2', // Sony Bravia Android TV
131
+ 'LGY70.S1' => '5.0.2', // Sony Bravia Android TV
132
+ 'LGY75.S91' => '5.0.2', // Sony Bravia Android TV
133
+ 'LGY75.S105' => '5.0.2', // Sony Bravia Android TV
134
+ 'LGY75.S109' => '5.0.2', // Sony Bravia Android TV
135
+ 'LGY75.S131' => '5.0.2', // Sony Bravia Android TV
136
+ 'LGY75.S143' => '5.0.2', // Sony Bravia Android TV
137
+ 'LGY75.S147' => '5.0.2', // Sony Bravia Android TV
138
+ 'LMY47D' => '5.1',
139
+ 'LMY47E' => '5.1',
140
+ 'LMY47I' => '5.1',
141
+ 'LMY47M' => '5.1',
142
+ 'LMY47O' => '5.1',
143
+ 'LMY47V' => '5.1.1',
144
+ 'LMY47X' => '5.1.1',
145
+ 'LMY47Z' => '5.1.1',
146
+ 'LMY48B' => '5.1.1',
147
+ 'LMY48E.S1' => '5.1.1', // Sony Bravia Android TV
148
+ 'LMY48E.S39' => '5.1.1', // Sony Bravia Android TV
149
+ 'LMY48E.S63' => '5.1.1', // Sony Bravia Android TV
150
+ 'LMY48E.S81' => '5.1.1', // Sony Bravia Android TV
151
+ 'LMY48E.S89' => '5.1.1', // Sony Bravia Android TV
152
+ 'LMY48E.S91' => '5.1.1', // Sony Bravia Android TV
153
+ 'LMY48E.S117' => '5.1.1', // Sony Bravia Android TV
154
+ 'LMY48E.S127' => '5.1.1', // Sony Bravia Android TV
155
+ 'LMY48E.S143' => '5.1.1', // Sony Bravia Android TV
156
+ 'LMY48E.S153' => '5.1.1', // Sony Bravia Android TV
157
+ 'LMY48E.S155' => '5.1.1', // Sony Bravia Android TV
158
+ 'LMY48E.S167' => '5.1.1', // Sony Bravia Android TV
159
+ 'LMY48E.S185' => '5.1.1', // Sony Bravia Android TV
160
+ 'LMY48E.S191' => '5.1.1', // Sony Bravia Android TV
161
+ 'LMY48E.S195' => '5.1.1', // Sony Bravia Android TV
162
+ 'LMY48E.S197' => '5.1.1', // Sony Bravia Android TV
163
+ 'LMY48E.S223' => '5.1.1', // Sony Bravia Android TV
164
+ 'LMY48B' => '5.1.1',
165
+ 'LMY48G' => '5.1.1',
166
+ 'LMY48I' => '5.1.1',
167
+ 'LMY48J' => '5.1.1',
168
+ 'LMY48M' => '5.1.1',
169
+ 'LMY48N' => '5.1.1',
170
+ 'LMY48P' => '5.1.1',
171
+ 'LMY48T' => '5.1.1',
172
+ 'LMY48U' => '5.1.1',
173
+ 'LMY48W' => '5.1.1',
174
+ 'LMY48X' => '5.1.1',
175
+ 'LMY48Y' => '5.1.1',
176
+ 'LMY48Z' => '5.1.1',
177
+ 'LMY49F' => '5.1.1',
178
+ 'LMY49G' => '5.1.1',
179
+ 'LMY49H' => '5.1.1',
180
+ 'LMY49I' => '5.1.1',
181
+ 'LMY49J' => '5.1.1',
182
+ 'LVY48C' => '5.1.1',
183
+ 'LVY48E' => '5.1.1',
184
+ 'LVY48F' => '5.1.1',
185
+ 'LVY48H' => '5.1.1',
186
+ 'LYZ28E' => '5.1.1',
187
+ 'LYZ28J' => '5.1.1',
188
+ 'LYZ28K' => '5.1.1',
189
+ 'LYZ28M' => '5.1.1',
190
+ 'LYZ28N' => '5.1.1',
191
+
192
+ 'MPZ44Q' => ['value' => '6.0', 'alias' => 'M'],
193
+ 'MPZ79M' => ['value' => '6.0', 'alias' => 'M'],
194
+
195
+ 'MRA58K' => '6.0',
196
+ 'MRA58N' => '6.0',
197
+ 'MRA58U' => '6.0',
198
+ 'MRA58V' => '6.0',
199
+ 'MRA58X' => '6.0',
200
+ 'MRA59B' => '6.0',
201
+ 'MDA89D' => '6.0',
202
+ 'MDA89E' => '6.0',
203
+ 'MDB08I' => '6.0',
204
+ 'MDB08K' => '6.0',
205
+ 'MDB08L' => '6.0',
206
+ 'MDB08M' => '6.0',
207
+ 'MMB29N' => '6.0',
208
+ 'MMB29K' => '6.0.1',
209
+ 'MMB29M' => '6.0.1',
210
+ 'MMB29O' => '6.0.1',
211
+ 'MMB29P' => '6.0.1',
212
+ 'MMB29S' => '6.0.1',
213
+ 'MMB29T' => '6.0.1',
214
+ 'MMB29Q' => '6.0.1',
215
+ 'MMB29R' => '6.0.1',
216
+ 'MMB29U' => '6.0.1',
217
+ 'MMB29V' => '6.0.1',
218
+ 'MMB29X' => '6.0.1',
219
+ 'MHC19I' => '6.0.1',
220
+ 'MHC19J' => '6.0.1',
221
+ 'MHC19Q' => '6.0.1',
222
+ 'MOB30D' => '6.0.1',
223
+ 'MOB30G' => '6.0.1',
224
+ 'MOB30H' => '6.0.1',
225
+ 'MOB30I' => '6.0.1',
226
+ 'MOB30J' => '6.0.1',
227
+ 'MTC19T' => '6.0.1',
228
+ 'MXB48J' => '6.0.1',
229
+ 'MXB48K' => '6.0.1',
230
+ 'MXB48T' => '6.0.1',
231
+ 'MXC14G' => '6.0.1',
232
+ 'MXC89F' => '6.0.1',
233
+ 'M5C14J' => '6.0.1',
234
+
235
+ 'NPC56P' => ['value' => '7.0', 'alias' => 'N'],
236
+ 'NPC56W' => ['value' => '7.0', 'alias' => 'N'],
237
+ 'NPC56X' => ['value' => '7.0', 'alias' => 'N'],
238
+ 'NPC91K' => ['value' => '7.0', 'alias' => 'N'],
239
+ 'NPD35K' => ['value' => '7.0', 'alias' => 'N'],
240
+ 'NRD21D' => ['value' => '7.0', 'alias' => 'N'],
241
+ 'NRD28C' => ['value' => '7.0', 'alias' => 'N'],
242
+ ];
243
+
244
+ // Source: http://source.android.com/source/build-numbers.html
integration/whichbrowser/data/id-android.php ADDED
@@ -0,0 +1,323 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /* This file is automatically generated, do not edit manually! */
4
+
5
+ namespace WhichBrowser\Data;
6
+
7
+ BrowserIds::$ANDROID_BROWSERS = [
8
+ 'com.agilebits.onepassword' => '1Password',
9
+ 'com.browser2345' => '2345 Browser',
10
+ 'com.browser2345_ucc' => '2345 Browser',
11
+ 'com.browser2345hd' => '2345 Browser HD',
12
+ 'air.stage.web.view' => 'Adobe AIR',
13
+ 'air.stagewebview' => 'Adobe AIR',
14
+ 'air.StageWebViewBridgeTest.debug' => 'Adobe AIR',
15
+ 'air.StageWebViewVideo.debug' => 'Adobe AIR',
16
+ 'com.adobe.phonegap.app' => 'Adobe Phonegap',
17
+ 'com.adobe.reader' => 'Adobe Reader',
18
+ 'com.adobe.shadow.android' => 'Adobe Shadow',
19
+ 'com.airwatch.browser' => 'AirWatch Browser',
20
+ 'com.aliyun.mobile.browser' => 'Aliyun Browser',
21
+ 'net.adgjm.angel' => 'Angel Browser',
22
+ 'com.apc.browser' => 'APC',
23
+ 'com.apc.browser.standard' => 'APC',
24
+ 'com.apc.browser.standard6j8s' => 'APC',
25
+ 'com.apusapps.browser' => 'APUS Browser',
26
+ 'com.apusapps.browser.lark' => 'APUS Browser',
27
+ 'com.apusapps.browser.turbo' => 'APUS Browser',
28
+ 'com.asus.browser' => 'Asus Browser',
29
+ 'com.wAuroraWebBrowser' => 'Aurora Web Browser',
30
+ 'bdmobile.android.app' => 'Baidu Browser',
31
+ 'com.baidu.blink.testapp' => 'Baidu Browser',
32
+ 'com.baidu.blink.v38' => 'Baidu Browser',
33
+ 'com.baidu.browser.apps' => 'Baidu Browser',
34
+ 'com.baidu.browser.apps.lite' => 'Baidu Browser',
35
+ 'com.baidu.browser.apps_mr' => 'Baidu Browser',
36
+ 'com.baidu.browser.apps_neo' => 'Baidu Browser',
37
+ 'com.baidu.browser.apps_sj' => 'Baidu Browser',
38
+ 'com.baidu.browser.apps_yt' => 'Baidu Browser',
39
+ 'com.baidu.browser.app_bw' => 'Baidu Browser',
40
+ 'com.baidu.browser.blink.apps' => 'Baidu Browser',
41
+ 'com.baidu.browser.brower' => 'Baidu Browser',
42
+ 'com.baidu.browser.chrome' => 'Baidu Browser',
43
+ 'com.baidu.browser.inter' => 'Baidu Browser',
44
+ 'com.baidu.browser.inter.mini' => 'Baidu Browser',
45
+ 'com.baidu.browser.interyb' => 'Baidu Browser',
46
+ 'com.baidu.browser.lab' => 'Baidu Browser',
47
+ 'com.baidu.browser.pad' => 'Baidu Browser',
48
+ 'com.baidu.browserhd.inter' => 'Baidu Browser',
49
+ 'com.baidu.demo.webview' => 'Baidu Browser',
50
+ 'com.baidu.hi' => 'Baidu Browser',
51
+ 'com.baidu.searchbox' => 'Baidu Browser',
52
+ 'com.baidu.searchbox.pad' => 'Baidu Browser',
53
+ 'com.baidu.searchbox_bbk' => 'Baidu Browser',
54
+ 'com.baidu.searchbox_coolpad' => 'Baidu Browser',
55
+ 'com.baidu.searchbox_gionee' => 'Baidu Browser',
56
+ 'com.baidu.searchbox_hisense' => 'Baidu Browser',
57
+ 'com.baidu.searchbox_htc' => 'Baidu Browser',
58
+ 'com.baidu.searchbox_huawei' => 'Baidu Browser',
59
+ 'com.baidu.searchbox_ktouch' => 'Baidu Browser',
60
+ 'com.baidu.searchbox_lenovo' => 'Baidu Browser',
61
+ 'com.baidu.searchbox_oppo' => 'Baidu Browser',
62
+ 'com.baidu.searchbox_samsung' => 'Baidu Browser',
63
+ 'com.baidu.searchbox_sj' => 'Baidu Browser',
64
+ 'com.baidu.searchbox_sony' => 'Baidu Browser',
65
+ 'com.baidu.searchbox_tianyi' => 'Baidu Browser',
66
+ 'com.baidu.searchbox_zte' => 'Baidu Browser',
67
+ 'com.baidu.zeustest' => 'Baidu Browser',
68
+ 'com.wBestBrowser' => 'Best Browser',
69
+ 'com.boatbrowser.free' => 'Boat Browser',
70
+ 'com.boatbrowser.tablet' => 'Boat Browser',
71
+ 'com.boatgo.browser' => 'Boat Browser Mini',
72
+ 'com.ericsson.research.mario' => 'Bowser',
73
+ 'com.dotsandlines.carbon' => 'Carbon',
74
+ 'app.chameleon_browser' => 'Chameleon browser',
75
+ 'com.coship.mmcp' => 'Coship MMCP',
76
+ 'com.coship.tvos.web' => 'Coship MMCP',
77
+ 'com.coship.webapp' => 'Coship MMCP',
78
+ 'net.daum.android.daum' => 'Daum',
79
+ 'com.phikod.deviceportinfo' => 'Device Info Android',
80
+ 'com.dolphin.browser.android.jp' => 'Dolphin',
81
+ 'com.dolphin.browser.id' => 'Dolphin',
82
+ 'com.dolphin.browser.pad' => 'Dolphin',
83
+ 'com.dolphin.browser.tuna' => 'Dolphin',
84
+ 'com.dolphin.web.browser.android' => 'Dolphin',
85
+ 'mobi.mgeek.TunnyBrowser' => 'Dolphin',
86
+ 'mobile.mgeek.TunnyBrowser' => 'Dolphin',
87
+ 'com.dolphin.browser.xf' => 'Dolphin (Fighter Edition)',
88
+ 'com.dolphin.browser.lab.cn' => 'Dolphin Beta',
89
+ 'com.dolphin.browser.lab.en' => 'Dolphin Beta',
90
+ 'com.dolphin.browser.express.web' => 'Dolphin Express',
91
+ 'com.dolphin.browser.express.web.beta' => 'Dolphin Express',
92
+ 'com.dolphin.browser' => 'Dolphin Mini',
93
+ 'com.dolphin.browser.cn' => 'Dolphin Mini',
94
+ 'com.dolphin.browser.zero' => 'Dolphin Zero',
95
+ 'com.duckduckgo.mobile.android' => 'DuckDuckGo',
96
+ 'easy.browser' => 'Easy Browser',
97
+ 'easy.browser.classic' => 'Easy Browser',
98
+ 'easy.browser.com' => 'Easy Browser',
99
+ 'it.blogspot.fedeveloper' => 'Emergency Browser',
100
+ 'com.easy.browser' => 'ES Browser',
101
+ 'org.espier.browser' => 'Espier Browser',
102
+ 'com.exsoul' => 'Exsoul Web Browser',
103
+ 'com.jv.falcon' => 'Falcon',
104
+ 'com.jv.falcon.pro' => 'Falcon Pro',
105
+ 'com.devhd.feedly' => 'Feedly',
106
+ 'com.firemonkeybrowser' => 'FireMonkey',
107
+ 'com.comespice.browser' => 'Flash Browser',
108
+ 'com.funnyeden.browser' => 'Flash Browser',
109
+ 'com.whattheapps.fbrowser' => 'Flash Browser',
110
+ 'flipboard.app' => 'Flipboard',
111
+ 'flipboard.cn' => 'Flipboard',
112
+ 'com.lwi.android.flapps' => 'Floating Apps',
113
+ 'com.lwi.android.flappsfull' => 'Floating Apps',
114
+ 'gpc.myweb.hinet.net.PopupWeb' => 'Floating Browser Flux',
115
+ 'com.fortune.browser' => 'Fortune Web Browser',
116
+ 'com.browser.frogbrowser' => 'Frog Browser',
117
+ 'com.crowbar.beaverbrowser' => 'Frost Browser',
118
+ 'com.crowbar.beaverlite' => 'Frost Browser',
119
+ 'galaxy.browser.gb.free' => 'Galaxy Browser',
120
+ 'galaxy.browser.gb.pro' => 'Galaxy Browser',
121
+ 'com.mybro.browsah' => 'Genie Browser',
122
+ 'com.noinnion.android.greader.reader' => 'gReader',
123
+ 'com.noinnion.android.greader.readerpro' => 'gReader Pro',
124
+ 'jp.ddo.pigsty.HabitBrowser' => 'Habit Browser',
125
+ 'jp.ddo.pigsty.Habit_Browser' => 'Habit Browser',
126
+ 'com.baidu.hao123' => 'Hao123',
127
+ 'com.baidu.hao123.chrome.browser' => 'Hao123',
128
+ 'com.baidu.hao123.global' => 'Hao123',
129
+ 'com.htc.browser' => 'HTC Sense Browser',
130
+ 'com.htc.sense.browser' => 'HTC Sense Browser',
131
+ 'com.huawei.android.browser' => 'Huawei Emotion Browser',
132
+ 'com.huawei.browser' => 'Huawei Emotion Browser',
133
+ 'jp.co.lunascape.android.ilunascape' => 'iLunascape 2',
134
+ 'nu.tommie.inbrowser' => 'InBrowser',
135
+ 'nu.tommie.inbrowser.beta' => 'InBrowser Beta',
136
+ 'com.infamous.browser' => 'Infamous Browser',
137
+ 'derek.iSurf' => 'iSurf',
138
+ 'com.jerky.browser' => 'Javelin Incognito Browser',
139
+ 'com.jerky.browser2' => 'Javelin Incognito Browser',
140
+ 'com.adsi.kioware.client.mobile.app' => 'KioWare Kiosk',
141
+ 'com.kroniapp.browse' => 'Kronia Browser',
142
+ 'com.web.browser.labaadibrowser' => 'Labaadi Browser',
143
+ 'com.vng.android.zingbrowser' => 'Laban',
144
+ 'com.lastpass.lpandroid' => 'LastPass',
145
+ 'com.lenovo.browser' => 'Lenovo Browser',
146
+ 'com.lenovo.lps.simple' => 'Lenovo Browser',
147
+ 'com.light.browser' => 'Light Browser',
148
+ 'acr.browser.barebones' => 'Lightning Browser',
149
+ 'acr.browser.butterfly' => 'Lightning Browser',
150
+ 'acr.browser.lightning' => 'Lightning Browser',
151
+ 'acr.browser.lightning2' => 'Lightning Browser',
152
+ 'acr.browser.lightningq16w' => 'Lightning Browser',
153
+ 'acr.browser.spartancompany' => 'Lightning Browser',
154
+ 'acr.browser.spartancompanypaid' => 'Lightning Browser',
155
+ 'acr.browser.thunder' => 'Lightning Browser',
156
+ 'com.MoNTE.Lime' => 'Lime',
157
+ 'com.alphonso.pulse' => 'LinkedIn Pulse',
158
+ 'com.logio.logos' => 'Logos Browser',
159
+ 'it.lombardo.Lombardo' => 'Lombardo',
160
+ 'com.powerpoint45.lucidbrowser' => 'Lucid Browser',
161
+ 'com.powerpoint45.lucidbrowserfree' => 'Lucid Browser',
162
+ 'com.fiberlink.maas360.android.securebrowser' => 'MaaS360 Browser',
163
+ 'com.mx.browser' => 'Maxthon',
164
+ 'com.mx.browser.appendix' => 'Maxthon',
165
+ 'com.mx.browser.fast' => 'Maxthon',
166
+ 'com.mx.browser.free.mx100000000000' => 'Maxthon',
167
+ 'com.mx.browser.free.mx100000001915' => 'Maxthon',
168
+ 'com.mx.browser.free.mx100000002422' => 'Maxthon',
169
+ 'com.mx.browser.free.mx100000003135' => 'Maxthon',
170
+ 'com.mx.browser.free.mx100000003415' => 'Maxthon',
171
+ 'com.mx.browser.free.mx100000004211' => 'Maxthon',
172
+ 'com.mx.browser.free.mx100000004981' => 'Maxthon',
173
+ 'com.mx.browser.free.mx100000005137' => 'Maxthon',
174
+ 'com.mx.browser.free.mx200000000239' => 'Maxthon',
175
+ 'com.mx.browser.free.mx200000006760' => 'Maxthon',
176
+ 'com.mx.browser.free.mx200000013070' => 'Maxthon',
177
+ 'com.mx.browser.free.mx200000014602' => 'Maxthon',
178
+ 'com.mx.browser.free.mx200000014853' => 'Maxthon',
179
+ 'com.mx.browser.hg' => 'Maxthon',
180
+ 'com.mx.browser.kids' => 'Maxthon',
181
+ 'com.mx.browser.mtk' => 'Maxthon',
182
+ 'com.mx.browser.tablet' => 'Maxthon',
183
+ 'jp.co.inos.c1Browser' => 'MDM Browser',
184
+ 'com.ilegendsoft.mercury' => 'Mercury',
185
+ 'com.dmkho.mbm' => 'MiniBrowser Mobile',
186
+ 'com.dmkho.mbmbeta' => 'MiniBrowser Mobile',
187
+ 'com.mseven.msecure' => 'mSecure',
188
+ 'com.visvanoid.secretbrowse' => 'My Internet',
189
+ 'com.fevdev.nakedbrowser' => 'Naked Browser',
190
+ 'com.fevdev.nakedbrowserNDM' => 'Naked Browser',
191
+ 'com.fevdev.nakedbrowserpro' => 'Naked Browser Pro',
192
+ 'com.nanobrowser' => 'Nano Browser',
193
+ 'com.bos.ebrowser' => 'Navegador eBrowser',
194
+ 'com.nhn.android.navercafe' => 'Naver',
195
+ 'com.nhn.android.naverdic' => 'Naver',
196
+ 'com.nhn.android.search' => 'Naver',
197
+ 'com.access_company.android.livebrowser' => 'NetFront Life Browser',
198
+ 'com.access_company.android.nflifebrowser.lite' => 'NetFront Life Browser',
199
+ 'com.access_company.android.nflifeconnect' => 'NetFront Life Connect',
200
+ 'com.jiubang.browser' => 'Next Browser',
201
+ 'com.ninesky.browser' => 'Ninesky',
202
+ 'com.ninesky.browsercn' => 'Ninesky',
203
+ 'com.ninesky.browserzh' => 'Ninesky',
204
+ 'com.ninesky.nqbrowsercn' => 'Ninesky',
205
+ 'com.ninesky.nsbrowser' => 'Ninesky',
206
+ 'com.ninesky.sebrowser' => 'Ninesky',
207
+ 'com.appsverse.privatebrowser' => 'Nova Private Browser',
208
+ 'com.browser.nowadvanced' => 'Now Browser',
209
+ 'com.browser.nowbasic' => 'Now Browser',
210
+ 'com.browser.nowpro' => 'Now Browser',
211
+ 'com.browser.nowpro412t' => 'Now Browser',
212
+ 'com.wNewVisionBrowser' => 'NVision Browser',
213
+ 'com.compal.android.browser' => 'Ocean Browser',
214
+ 'com.maskyn.oldbrowser' => 'Old But Gold Internet Browser',
215
+ 'com.tencent.ibibo.mtt' => 'One Browser',
216
+ 'info.guardianproject.browser' => 'Orweb',
217
+ 'com.oupeng.browser' => 'Oupeng Browser',
218
+ 'com.oupeng.browser.beta10' => 'Oupeng Browser',
219
+ 'com.oupeng.browser.turbobeta' => 'Oupeng Browser',
220
+ 'com.oupeng.browserpre.cmcc' => 'Oupeng Browser',
221
+ 'com.oupeng.mini.android' => 'Oupeng Browser',
222
+ 'com.oupeng.xbrowser' => 'Oupeng Browser',
223
+ 'com.oupeng.xbrowser.beta' => 'Oupeng Browser',
224
+ 'com.myboyfriendisageek.airbrowser' => 'OverSkreen',
225
+ 'com.panasonic.pavc.viera.vieraremote2' => 'Panasonic TV Remote',
226
+ 'com.wPcBrowser' => 'PC Browser Mini',
227
+ 'com.penguinbrowser.penguinbrowser' => 'Penguin browser',
228
+ 'com.appsverse.photon' => 'Photon Browser',
229
+ 'com.appsverse.photonamazon' => 'Photon Browser',
230
+ 'com.levelup.touiteur' => 'Plume',
231
+ 'com.ideashower.readitlater.pro' => 'Pocket',
232
+ 'com.gflam.portal' => 'Portal',
233
+ 'com.hat.privatebrowser' => 'Private Browser',
234
+ 'com.JamesBecwar.FreePrivateBrowser' => 'Private Browser',
235
+ 'com.JamesBecwar.PrivateBrowser' => 'Private Browser',
236
+ 'com.qihoa.browser' => 'Qihoo 360 Browser',
237
+ 'com.qihoo.androidbrowser' => 'Qihoo 360 Browser',
238
+ 'com.qihoo.appstore' => 'Qihoo 360 Browser',
239
+ 'com.qihoo.browser' => 'Qihoo 360 Browser',
240
+ 'com.qihoo.browsertest' => 'Qihoo 360 Browser',
241
+ 'com.qihoo.express.browser' => 'Qihoo 360 Browser',
242
+ 'com.qihoo.expressbrowser' => 'Qihoo 360 Browser',
243
+ 'com.qihoo.haosou' => 'Qihoo 360 Browser',
244
+ 'com.qihoo.padbrowser' => 'Qihoo 360 Browser',
245
+ 'com.qihoo.padbrowser7' => 'Qihoo 360 Browser',
246
+ 'com.qihoo360.mobilesafe' => 'Qihoo 360 Browser',
247
+ 'com.qihoo360.mobilesafe_meizu' => 'Qihoo 360 Browser',
248
+ 'com.qihoo360.mobilesafe_mtk6573' => 'Qihoo 360 Browser',
249
+ 'com.tencent.android.pad' => 'QQ Browser',
250
+ 'com.tencent.blink' => 'QQ Browser',
251
+ 'com.tencent.hd.qq' => 'QQ Browser',
252
+ 'com.tencent.internat.mtt' => 'QQ Browser',
253
+ 'com.tencent.international.mtt' => 'QQ Browser',
254
+ 'com.tencent.mobileqq' => 'QQ Browser',
255
+ 'com.tencent.mtt' => 'QQ Browser',
256
+ 'com.tencent.padbrowser' => 'QQ Browser',
257
+ 'appinventor.ai_progetto2003.SCAN' => 'QR Barcode Scanner',
258
+ 'com.rarster.QuantumBrowser' => 'QuantumBrowser',
259
+ 'net.virifi.android.quickbrowser' => 'Quick ICS Browser',
260
+ 'net.virifi.android.quickbrowserpro' => 'Quick ICS Browser',
261
+ 'com.bjy.quicklinkbrowser' => 'Quick Link Browser',
262
+ 'com.rapid.browser' => 'Rapid Browser Pro',
263
+ 'com.rapid.browser2' => 'Rapid Browser Pro',
264
+ 'com.andrewshu.android.reddit' => 'Reddit is fun',
265
+ 'com.andrewshu.android.redditdonation' => 'Reddit is fun',
266
+ 'reddit.news' => 'Reddit News',
267
+ 'com.laurencedawson.reddit_sync.dev' => 'Reddit Sync Dev',
268
+ 'com.laurencedawson.reddit_sync.pro' => 'Reddit Sync Pro',
269
+ 'org.quantumbadger.redreader' => 'RedReader',
270
+ 'de.bomhard.android.RetroBrowser' => 'RetroBrowser',
271
+ 'com.rocket.browser' => 'Rocket Browser',
272
+ 'com.springdesign.screenshare.browser.client' => 'ScreenShare',
273
+ 'com.springdesign.screenshare.browser.server' => 'ScreenShare',
274
+ 'com.shark.sharkbrowser' => 'Shark Browser',
275
+ 'com.sina.weibo' => 'Sina Weibo',
276
+ 'com.sina.weibog3' => 'Sina Weibo',
277
+ 'com.sithagi.sithbrowser' => 'Sith Browser',
278
+ 'com.skyfire.browser' => 'SkyFire',
279
+ 'com.skyfire.browser.toolbar' => 'SkyFire',
280
+ 'com.skyfire.consumer.browser' => 'Skyfire',
281
+ 'jp.co.fenrir.android.sleipnir' => 'Sleipnir',
282
+ 'jp.co.fenrir.android.sleipnir_black' => 'Sleipnir',
283
+ 'jp.co.fenrir.android.sleipnir_ngp' => 'Sleipnir',
284
+ 'jp.co.fenrir.android.sleipnir_test' => 'Sleipnir',
285
+ 'jp.gocro.smartnews.android' => 'SmartNews',
286
+ 'com.cmcc.sofabrowser' => 'Sofa Browser',
287
+ 'sogou.mobile.explorer' => 'Sogou Mobile',
288
+ 'com.solo.browser' => 'Solo',
289
+ 'com.sonymobile.smallbrowser' => 'Sony Small Browser',
290
+ 'com.speedy.browser' => 'Speedy Browser',
291
+ 'com.appestry.split_browser' => 'Split Browser',
292
+ 'com.appestry.split_browser_trial' => 'Split Browser',
293
+ 'com.stumbleupon.android.app' => 'StumbleUpon',
294
+ 'iron.web.jalepano.browser' => 'Super Fast Browser',
295
+ 'com.gears42.surefox' => 'SureFox',
296
+ 'com.mns.android.swing' => 'Swing Browser',
297
+ 'net.biniok.tampermonkey' => 'Tampermonkey',
298
+ 'com.tcl.browser' => 'TCL Browser',
299
+ 'com.thuban.browser' => 'Thuban Handset Browser',
300
+ 'org.tint' => 'Tint Browser',
301
+ 'com.twidroid' => 'UberSocial',
302
+ 'com.uc.browser' => 'UC Browser',
303
+ 'com.uc.browser.en2ly5' => 'UC Browser',
304
+ 'com.uc.browser.hd.x86' => 'UC Browser',
305
+ 'com.uc.browser.hdx3kg' => 'UC Browser',
306
+ 'com.UCMobile' => 'UC Browser',
307
+ 'com.UCMobile.labs' => 'UC Browser',
308
+ 'com.UCMobile.ucsdk' => 'UC Browser',
309
+ 'com.UCMobile295d' => 'UC Browser',
310
+ 'com.UCMobile2jm4' => 'UC Browser',
311
+ 'com.UCMobile9jpo' => 'UC Browser',
312
+ 'com.UCMobileodw6' => 'UC Browser',
313
+ 'com.uc.browser.hd' => 'UC Browser HD',
314
+ 'com.uc.browser.en' => 'UC Browser Mini',
315
+ 'com.tencent.mm' => 'WeChat',
316
+ 'sui.mRelease' => 'xScope Browser Pro',
317
+ 'jp.co.yahoo.android.ybrowser' => 'Yahoo! JAPAN',
318
+ 'jp.co.yahoo.android.yjtop' => 'Yahoo! JAPAN',
319
+ 'ru.yandex.shell' => 'Yandex Shell',
320
+ 'com.zetakey.browser' => 'Zetakey',
321
+ 'org.zirco' => 'Zirco Browser',
322
+ 'com.zte.browser' => 'ZTE Browser',
323
+ ];
integration/whichbrowser/data/indices/models-android.php ADDED
@@ -0,0 +1,7051 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$ANDROID_INDEX = array (
6
+ '@' =>
7
+ array (
8
+ 0 => 'A[0-9]{3,3}!!',
9
+ 1 => 'E[0-9]{2,2}0?!!',
10
+ 2 => 'S[0-9]{2,2}0?!!',
11
+ 3 => 'V[0-9]{2,2}0!!',
12
+ 4 => 'Z[0-9]{3,3}!!',
13
+ 5 => '[0-9]0[0-9]F!!',
14
+ 6 => '(Haier[- ])?H[ETW]- ?[A-Z][0-9]!!',
15
+ 7 => '(Hisense )?(LED[0-9]{2,2}(G|K|L|EC|XT)[0-9]{2,3})!',
16
+ 8 => '[SX0][0-9]{2,2}HT!!',
17
+ 9 => '(Huawei )?[MSTX](1|2|7|8|10)\\-[A-Z0-9][0-9]{2,2}!!',
18
+ 10 => 'G[0-9]{3,3}!!',
19
+ 11 => 'Y[0-9]{3,3}!!',
20
+ 12 => '[0-9AS][0-9]{2,2}HW!!',
21
+ 13 => '(USCC-|KYOCERA-)?E[0-9]{4,4}!!',
22
+ 14 => '(USCC-|KYOCERA-)?C[0-9]{4,4}!!',
23
+ 15 => '[0-9]0[0-9]KC?!!',
24
+ 16 => '(XOLO )?[ABQX][0-9]{3,4}!!',
25
+ 17 => '(Lenovo ?)?(IdeaTab ?)?[AB][0-9]{4,4}!!',
26
+ 18 => '(Lenovo )?(Tab ?)?(2 ?)?[AS](7|8|10)!!',
27
+ 19 => '(Lenovo ?)?(IdeaTab ?)?[KSV][0-9]{4,4}!!',
28
+ 20 => '[0-9]0[0-9]LG!!',
29
+ 21 => 'M\\-PP!!',
30
+ 22 => 'M\\-MP!!',
31
+ 23 => 'M\\-IPRO!!',
32
+ 24 => '(MEDION|(MD )?LIFETAB)!!',
33
+ 25 => 'M\\.T\\.T\\.!!',
34
+ 26 => 'O\\+!!',
35
+ 27 => '[0-9]{2,2}PFH6[0-9]{3,3}!',
36
+ 28 => '[45A]0[0-9]SH!!',
37
+ 29 => '(3|5)0[0-9]SH!!',
38
+ 30 => 'C[0-9]{4,4}!!',
39
+ 31 => 'D[0-9]{4,4}!!',
40
+ 32 => 'E[0-9]{4,4}!!',
41
+ 33 => 'F[0-9]{4,4}!!',
42
+ 34 => 'E[0-9]{2,2}[a-z]!!',
43
+ 35 => 'L[0-9]{2,2}[a-z]!!',
44
+ 36 => '(SNM\\-)?M[0-9]{2,2}[a-z]!!',
45
+ 37 => 'S[0-9]{2,2}[a-z]!!',
46
+ 38 => '[a-z][a-z](?:-[a-z][a-z])?, SmartTabII7!',
47
+ ),
48
+ '@00' =>
49
+ array (
50
+ 0 => '001DL',
51
+ 1 => '003P',
52
+ 2 => '003Z',
53
+ 3 => '008Z',
54
+ 4 => '009Z',
55
+ ),
56
+ '@0P' =>
57
+ array (
58
+ 0 => '0PCV1',
59
+ 1 => '0PM92',
60
+ 2 => '0PJA1!',
61
+ 3 => '0PJA2!',
62
+ 4 => '0PKV1',
63
+ 5 => '0PAJ5',
64
+ ),
65
+ '@10' =>
66
+ array (
67
+ 0 => '101DL',
68
+ 1 => '101N',
69
+ 2 => '101T',
70
+ 3 => '101P',
71
+ 4 => '102P',
72
+ ),
73
+ '@11' =>
74
+ array (
75
+ 0 => 1105,
76
+ 1 => 1107,
77
+ ),
78
+ '@12' =>
79
+ array (
80
+ 0 => '1216[X]!',
81
+ ),
82
+ '@2 ' =>
83
+ array (
84
+ 0 => '(Lenovo )?(Tab ?)?(2 ?)?[AS](7|8|10)!!',
85
+ ),
86
+ '@20' =>
87
+ array (
88
+ 0 => '201M',
89
+ 1 => 2013061,
90
+ 2 => '2014216 TD-LTE',
91
+ 3 => '20141(12)!',
92
+ 4 => '20148(11|12|13|17|18|19|21)!',
93
+ 5 => '20145(02)!',
94
+ 6 => 2013122,
95
+ 7 => '(Xiaomi )?20130(22|23)!',
96
+ 8 => '20140(11)!',
97
+ 9 => '20145(01)!',
98
+ ),
99
+ '@2P' =>
100
+ array (
101
+ 0 => '2PQ93',
102
+ ),
103
+ '@3' =>
104
+ array (
105
+ 0 => '(3|5)0[0-9]SH!!',
106
+ ),
107
+ '@3G' =>
108
+ array (
109
+ 0 => '3G7334i',
110
+ 1 => '(Lenovo |Lephone )?3GC101!',
111
+ 2 => '(Lenovo |Lephone )?3GW100!',
112
+ 3 => '(Lenovo |Lephone )?3GW101!',
113
+ ),
114
+ '@40' =>
115
+ array (
116
+ 0 => '4003[AJ]!',
117
+ 1 => '4008[A]!',
118
+ 2 => '4009[ADEFKMSX]!',
119
+ 3 => '4013[ADEJKMX]!',
120
+ 4 => '4014[AMX]!',
121
+ 5 => '4015[ANTX]!',
122
+ 6 => '4015[D]!',
123
+ 7 => '4016[ADX]!',
124
+ 8 => '4017[DEFX]!',
125
+ 9 => '4018[ADEFMX]!',
126
+ 10 => '4024[DEX]!',
127
+ 11 => '4027[ADNX]!',
128
+ 12 => '4028[AEJS]!',
129
+ 13 => '4032[ADEX]!',
130
+ 14 => '4033[AL]!',
131
+ 15 => '4035[ADYX]!',
132
+ 16 => '4036[E]!',
133
+ 17 => '4037[AX]!',
134
+ 18 => '4037[T]!',
135
+ 19 => '4045[ADELOX]!',
136
+ 20 => '40[0-9]SC!!',
137
+ 21 => '40[0-9]SO!!',
138
+ 22 => '402ZT',
139
+ ),
140
+ '@48' =>
141
+ array (
142
+ 0 => '(48|50|55)AX600C!',
143
+ ),
144
+ '@50' =>
145
+ array (
146
+ 0 => '5015[ADEX]!',
147
+ 1 => '5016[AJ]!',
148
+ 2 => '5017[B]!',
149
+ 3 => '5017[ADEOX]!',
150
+ 4 => '5020[A]!',
151
+ 5 => '5022[DX]!',
152
+ 6 => '5025[DEGX]!',
153
+ 7 => '5038[ADEX]!',
154
+ 8 => '5042[ADEFGTWXY]!',
155
+ 9 => '5045[JX]!',
156
+ 10 => '5050[ASYX]!',
157
+ 11 => '5054[ADOSTX]!',
158
+ 12 => '5054[NW]!',
159
+ 13 => '5065[ADJWX]!',
160
+ 14 => '5070[DJX]!',
161
+ 15 => '504Q',
162
+ 16 => '504Q+',
163
+ 17 => '504QP',
164
+ 18 => '501LV',
165
+ 19 => '(48|50|55)AX600C!',
166
+ 20 => '5080C Pro',
167
+ 21 => '50[0-9]SO!!',
168
+ 22 => '502ZT',
169
+ ),
170
+ '@55' =>
171
+ array (
172
+ 0 => '5560S',
173
+ 1 => '(48|50|55)AX600C!',
174
+ ),
175
+ '@58' =>
176
+ array (
177
+ 0 => 5832,
178
+ 1 => 5855,
179
+ 2 => 5860,
180
+ 3 => '5860A',
181
+ 4 => '5860E',
182
+ 5 => '5860S',
183
+ 6 => 5870,
184
+ ),
185
+ '@60' =>
186
+ array (
187
+ 0 => '6014[DX]!',
188
+ 1 => '6016[ADEX]!',
189
+ 2 => '6036[AYX]!',
190
+ 3 => '6037[BIKY]!',
191
+ 4 => '6039[AHJKSY]!',
192
+ 5 => '6042[D]!',
193
+ 6 => '6043[AD]!',
194
+ 7 => '6044D',
195
+ 8 => '6045[BFGIKOXY]!',
196
+ 9 => '6050[AFWY]!',
197
+ 10 => '6055[BHIKPY]!',
198
+ 11 => '6070[K]!',
199
+ 12 => '6034R ORANGE Niva',
200
+ ),
201
+ '@70' =>
202
+ array (
203
+ 0 => '7030[L]!',
204
+ 1 => '7040[NR]!',
205
+ 2 => '7040[T]!',
206
+ 3 => '7043[AEKY]!',
207
+ 4 => '7044[AXY]!',
208
+ 5 => '7045[Y]!',
209
+ 6 => '7046[T]!',
210
+ 7 => '7048[ASWX]!',
211
+ 8 => '7050[Y]!',
212
+ 9 => '7051[X]!',
213
+ 10 => '7053[D]!',
214
+ 11 => '7055[AW]!',
215
+ ),
216
+ '@71' =>
217
+ array (
218
+ 0 => '710C',
219
+ ),
220
+ '@72' =>
221
+ array (
222
+ 0 => 7260,
223
+ 1 => 7266,
224
+ ),
225
+ '@75' =>
226
+ array (
227
+ 0 => '7500IPS',
228
+ ),
229
+ '@7D' =>
230
+ array (
231
+ 0 => '7D-501u',
232
+ ),
233
+ '@80' =>
234
+ array (
235
+ 0 => '8020[D]!',
236
+ 1 => '8030[BY]!',
237
+ 2 => 8022,
238
+ 3 => '801ES',
239
+ 4 => '80-1',
240
+ 5 => '801a',
241
+ 6 => '801s',
242
+ 7 => '802w',
243
+ 8 => '800P31C',
244
+ ),
245
+ '@81' =>
246
+ array (
247
+ 0 => '8190Q',
248
+ ),
249
+ '@82' =>
250
+ array (
251
+ 0 => '825 T-Mobile',
252
+ ),
253
+ '@83' =>
254
+ array (
255
+ 0 => '831C',
256
+ ),
257
+ '@87' =>
258
+ array (
259
+ 0 => 8720,
260
+ 1 => '8720L',
261
+ ),
262
+ '@88' =>
263
+ array (
264
+ 0 => 8810,
265
+ ),
266
+ '@89' =>
267
+ array (
268
+ 0 => 8950,
269
+ ),
270
+ '@8X' =>
271
+ array (
272
+ 0 => '8x-1000',
273
+ ),
274
+ '@90' =>
275
+ array (
276
+ 0 => '9002[AWX]!',
277
+ 1 => '9003[A]!',
278
+ 2 => '9006[W]!',
279
+ 3 => '9007[ATX]!',
280
+ 4 => '9005[X]!',
281
+ 5 => '9010[X]!',
282
+ 6 => '9022[X]!',
283
+ 7 => '9021A',
284
+ 8 => '909d',
285
+ 9 => 9088,
286
+ 10 => '9020[A]!',
287
+ ),
288
+ '@93' =>
289
+ array (
290
+ 0 => 9300,
291
+ 1 => '9300+',
292
+ 2 => '932i',
293
+ ),
294
+ '@97' =>
295
+ array (
296
+ 0 => '97FC',
297
+ ),
298
+ '@A0' =>
299
+ array (
300
+ 0 => 'A0001',
301
+ 1 => 'A0002',
302
+ ),
303
+ '@A1' =>
304
+ array (
305
+ 0 => 'A1-[0-9]{3,3}!!',
306
+ 1 => 'A10',
307
+ 2 => 'A13-?MID!',
308
+ 3 => 'A101B',
309
+ 4 => 'A101C',
310
+ 5 => 'A101B2-LZ',
311
+ 6 => 'A101IT',
312
+ 7 => 'A10 MID',
313
+ 8 => 'A10MID',
314
+ 9 => 'A101B-CF',
315
+ 10 => 'A1001T',
316
+ 11 => 'A19S',
317
+ 12 => 'A11',
318
+ 13 => 'A111',
319
+ 14 => 'A106',
320
+ 15 => 'A1 07',
321
+ 16 => 'A13',
322
+ 17 => 'A110Q',
323
+ 18 => 'A110Q Canvas 2 Plus',
324
+ 19 => 'A110Q Canvas 2+',
325
+ 20 => 'A1680',
326
+ 21 => 'A1001',
327
+ 22 => 'A10H(D5W6)',
328
+ 23 => 'A10HD(N9A3)',
329
+ 24 => 'A10t(5DM3)',
330
+ 25 => 'A10T(8DM1)',
331
+ 26 => 'A11(M5A7)',
332
+ 27 => 'A11s(M5A7)',
333
+ 28 => 'A15(E6C2)',
334
+ ),
335
+ '@A2' =>
336
+ array (
337
+ 0 => 'A206G',
338
+ 1 => 'A2',
339
+ 2 => 'A21',
340
+ ),
341
+ '@A3' =>
342
+ array (
343
+ 0 => 'A3-A[0-9]{2,2}!!',
344
+ 1 => 'A32',
345
+ 2 => 'A35DE',
346
+ 3 => 'A320a',
347
+ 4 => 'A3380',
348
+ 5 => 'A30t',
349
+ 6 => 'A31',
350
+ 7 => 'A31c',
351
+ 8 => 'A3',
352
+ ),
353
+ '@A4' =>
354
+ array (
355
+ 0 => 'A450TL',
356
+ 1 => 'A460G',
357
+ 2 => 'A463BG',
358
+ 3 => 'A480G',
359
+ 4 => 'A43',
360
+ 5 => 'A400CG',
361
+ 6 => 'A45',
362
+ 7 => 'A47',
363
+ 8 => 'A4',
364
+ ),
365
+ '@A5' =>
366
+ array (
367
+ 0 => 'A520L',
368
+ 1 => 'A521L',
369
+ 2 => 'A554C',
370
+ 3 => 'A556C',
371
+ 4 => 'A560G',
372
+ 5 => 'A562G',
373
+ 6 => 'A564R',
374
+ 7 => 'A564C',
375
+ 8 => 'A5 Easy',
376
+ 9 => 'A5 Easy TM',
377
+ 10 => 'A5 Lite',
378
+ 11 => 'A5 Quad Plus',
379
+ 12 => 'A5 Quad Plus TM',
380
+ 13 => 'A55i',
381
+ 14 => 'A52',
382
+ 15 => 'A5000',
383
+ 16 => 'a5',
384
+ ),
385
+ '@A6' =>
386
+ array (
387
+ 0 => 'A621BL',
388
+ 1 => 'A6 Duo',
389
+ 2 => 'A6 Lite',
390
+ 3 => 'A6277',
391
+ 4 => 'A6S',
392
+ ),
393
+ '@A7' =>
394
+ array (
395
+ 0 => 'A7 Lite',
396
+ 1 => 'A70HB',
397
+ 2 => 'A70BHT',
398
+ 3 => 'A70BHT-LZ',
399
+ 4 => 'A70BHT-PR',
400
+ 5 => 'A70CHT',
401
+ 6 => 'A70H',
402
+ 7 => 'A70S',
403
+ 8 => 'A7EB',
404
+ 9 => 'a7272',
405
+ 10 => 'A7272+(HTC DesireZ)',
406
+ 11 => 'A7 HD',
407
+ 12 => 'A7*',
408
+ 13 => 'A7+',
409
+ 14 => 'A750',
410
+ 15 => 'A7272+',
411
+ 16 => 'A70(CY6T)',
412
+ 17 => 'A78h四核(C1V3)',
413
+ ),
414
+ '@A8' =>
415
+ array (
416
+ 0 => 'A845L',
417
+ 1 => 'A846L',
418
+ 2 => 'A851L',
419
+ 3 => 'A862W',
420
+ 4 => 'A80KSC!',
421
+ 5 => 'A80HF',
422
+ 6 => 'A89',
423
+ 7 => 'A87',
424
+ 8 => 'A853',
425
+ 9 => 'A853 Milestone',
426
+ 10 => 'A878 Duo',
427
+ 11 => 'A898 Duo',
428
+ 12 => 'A8HD',
429
+ 13 => 'A80h双核(A4P9)',
430
+ 14 => 'A80 se??(M5MA)',
431
+ 15 => 'A80 se四核(M5MC)',
432
+ 16 => 'A80HD四核(C4H6)',
433
+ 17 => 'A88 mini四核(M1C5)',
434
+ 18 => 'A81E',
435
+ ),
436
+ '@A9' =>
437
+ array (
438
+ 0 => 'A995L',
439
+ 1 => 'A95',
440
+ 2 => 'A97i',
441
+ 3 => '(GIO-)?(GiONEE[- ])?A9$!',
442
+ 4 => 'A90S',
443
+ 5 => 'A953',
444
+ 6 => 'A955',
445
+ ),
446
+ '@AA' =>
447
+ array (
448
+ 0 => 'AA3-600',
449
+ ),
450
+ '@AC' =>
451
+ array (
452
+ 0 => '(AC|BC|LC|MT|RC|QS|VM|TS|OC)[0-9]{4,4}[A-Z]!!',
453
+ 1 => 'AC45BHE',
454
+ 2 => 'AC50BHE',
455
+ 3 => 'AC50DHE',
456
+ 4 => 'ACM3066-8',
457
+ 5 => '(Explay|X-tremer|ActiveD|Informer|Surfer)!!',
458
+ 6 => 'ACT2000',
459
+ 7 => 'Acqua',
460
+ ),
461
+ '@AD' =>
462
+ array (
463
+ 0 => 'ADVAN Q7A',
464
+ 1 => 'ADVAN E1C+',
465
+ 2 => 'ADVAN S3',
466
+ 3 => 'ADVAN S3+',
467
+ 4 => 'ADVAN S3A',
468
+ 5 => 'ADVAN S3C',
469
+ 6 => 'ADVAN S4',
470
+ 7 => 'ADVAN S4+',
471
+ 8 => 'ADVAN S4A',
472
+ 9 => 'ADVAN S4C',
473
+ 10 => 'ADVAN S4E',
474
+ 11 => 'ADVAN S5E',
475
+ 12 => 'ADVAN S5E Pro',
476
+ 13 => 'ADVAN S5H',
477
+ 14 => 'ADVAN S5I',
478
+ 15 => 'Advan S5K',
479
+ 16 => 'ADVAN S5M',
480
+ 17 => 'ADVAN S6A',
481
+ 18 => 'ADVAN T1G',
482
+ 19 => 'ADVAN T1J',
483
+ 20 => 'ADVAN T1J+',
484
+ 21 => 'ADVAN T1L',
485
+ 22 => 'ADVAN T2E',
486
+ 23 => 'ADVAN T2F',
487
+ 24 => 'ADVAN T3E+',
488
+ 25 => 'ADVAN T5C',
489
+ 26 => 'Advent Vega',
490
+ 27 => 'ADR3010',
491
+ 28 => 'AD683G',
492
+ 29 => '(HTC|PCD|USCC)?ADR[0-9]{4,4}!!',
493
+ 30 => 'Adam',
494
+ 31 => 'ADM816KC',
495
+ 32 => 'ADM816HC',
496
+ 33 => 'ADM712HC',
497
+ 34 => 'ADM8000KP A',
498
+ 35 => 'ADM8000KP B',
499
+ 36 => 'ADR8995!',
500
+ 37 => 'ADR910L',
501
+ 38 => 'ADR910L 4G',
502
+ 39 => 'ADR930L',
503
+ 40 => 'ADR930L 4G',
504
+ 41 => 'AD686G',
505
+ 42 => 'AD687G',
506
+ 43 => 'AD6893G',
507
+ ),
508
+ '@AE' =>
509
+ array (
510
+ 0 => 'Aero A2-110',
511
+ 1 => 'Aegis2',
512
+ ),
513
+ '@AF' =>
514
+ array (
515
+ 0 => 'AFTB',
516
+ 1 => 'AFTS',
517
+ 2 => 'AFTM',
518
+ ),
519
+ '@AG' =>
520
+ array (
521
+ 0 => 'AG Chrome Selfie',
522
+ 1 => 'AG CHROME ULTRA',
523
+ 2 => 'AG Tab 7 0',
524
+ 3 => 'AG Go-Tab Access',
525
+ 4 => 'AG Chrome Go Tab 7.0',
526
+ 5 => '(KATBL|Agora)!!',
527
+ ),
528
+ '@AI' =>
529
+ array (
530
+ 0 => 'aigoPad',
531
+ 1 => 'aigoPadM60',
532
+ 2 => 'AigoPad M60',
533
+ 3 => 'aigoPad M80D',
534
+ 4 => 'aigoPad M80E',
535
+ 5 => 'Ainovo Aurora-II',
536
+ 6 => 'Ainovo Flame (Nexus 7)',
537
+ 7 => 'AIRIS GN135',
538
+ 8 => 'AIRIS S211',
539
+ 9 => 'AIRIS TM51Q',
540
+ 10 => 'AIRIS TM54QM',
541
+ 11 => 'AIRIS TM55S',
542
+ 12 => 'AIRIS TM60D',
543
+ 13 => 'AIRIS TM350',
544
+ 14 => 'AIRIS TM400',
545
+ 15 => 'AIRIS TM475',
546
+ 16 => 'AIRIS TM421M',
547
+ 17 => 'AIRIS TM500',
548
+ 18 => 'AIRIS OnePAD 725',
549
+ 19 => 'AIRIS OnePAD700',
550
+ 20 => 'AIRIS OnePAD 730',
551
+ 21 => 'AirisOnePad1000',
552
+ 22 => 'AirBook TTJ702',
553
+ 23 => '(DNS )?(Airtab )?(E|M|MA|MF|MW|P|PC|PF)[0-9]{2,4}!!',
554
+ 24 => 'Air!!',
555
+ 25 => 'Aiki-4S',
556
+ 26 => 'Aiki-5',
557
+ ),
558
+ '@AK' =>
559
+ array (
560
+ 0 => 'AK330',
561
+ 1 => 'AK330s',
562
+ 2 => 'AKAI NEO',
563
+ 3 => 'AKAI N8800',
564
+ 4 => 'AKAI PHA-4800',
565
+ 5 => 'AKAIPHA 5800',
566
+ 6 => 'AKAI MIDMA-7002S',
567
+ ),
568
+ '@AL' =>
569
+ array (
570
+ 0 => 'alien jolla bionic',
571
+ 1 => 'alien ubuntu qt',
572
+ 2 => 'Alcatel A851L',
573
+ 3 => 'Alcatel one touch 908F',
574
+ 4 => 'Alcatel one touch 918',
575
+ 5 => 'Alcatel ONETOUCH 918',
576
+ 6 => 'ALCATEL OT 919',
577
+ 7 => 'Alcatel one touch 990',
578
+ 8 => 'Alcatel one touch 990S',
579
+ 9 => 'Alcatel OT M\'pop 5020D',
580
+ 10 => 'Alcor Access Q913M',
581
+ 11 => 'Alcor Zest Q813I',
582
+ 12 => 'Alcor Zest Q813IS',
583
+ 13 => 'Alcor Zest Q813IX',
584
+ 14 => 'Alcor Zest Q933R',
585
+ 15 => 'ALLVIEW A4ALL',
586
+ 16 => 'ALLVIEW A6 Quad',
587
+ 17 => 'ALLVIEW P1',
588
+ 18 => 'Allview P2',
589
+ 19 => 'ALLVIEW P4',
590
+ 20 => 'ALLVIEW P4i',
591
+ 21 => 'Allview P5',
592
+ 22 => 'Allview P5-Mini',
593
+ 23 => 'ALLVIEW P5 Quad',
594
+ 24 => 'ALLVIEW P5 Qmax',
595
+ 25 => 'ALLVIEW P6',
596
+ 26 => 'ALLVIEW P6 Quad',
597
+ 27 => 'ALLVIEW TX1 Quasar',
598
+ 28 => '(Allview|Alldro)!!',
599
+ 29 => 'Allwinner A10',
600
+ 30 => '(Highscreen|Alpha|Bay|Cosmo|Explosion|Power|Prime|Zera)!!',
601
+ 31 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
602
+ 32 => 'Alfa L',
603
+ 33 => 'Ally',
604
+ 34 => 'Altus 18',
605
+ 35 => 'Altus 24',
606
+ ),
607
+ '@AM' =>
608
+ array (
609
+ 0 => 'amd brazos',
610
+ 1 => 'amd persimmon',
611
+ 2 => 'Amlogic M1 reference board',
612
+ 3 => 'AML8726M',
613
+ 4 => 'AMLOGIC8726MX',
614
+ 5 => 'AM335XEVM',
615
+ 6 => 'AM335XEVM SK',
616
+ 7 => 'am3517evm',
617
+ 8 => 'AM437XEVM',
618
+ 9 => 'Amazon Kindle Fire!',
619
+ 10 => 'Amazon Otter',
620
+ 11 => 'Amazon OtterX',
621
+ 12 => 'Amazon Otter2',
622
+ 13 => 'Amazon Tate',
623
+ 14 => 'Amazon Jem',
624
+ 15 => 'AMI-TT2',
625
+ 16 => 'AMI-TT2C',
626
+ 17 => 'AMI-TT4',
627
+ 18 => 'AMI-TTFORCE',
628
+ 19 => 'AML-MX REF',
629
+ 20 => '(AMO-)?AMOI!!',
630
+ 21 => 'AMD120',
631
+ 22 => '(Amaze|Hitech)!!',
632
+ 23 => 'Amaze 4G',
633
+ 24 => '(Amazing|Fantastic)!!',
634
+ ),
635
+ '@AN' =>
636
+ array (
637
+ 0 => 'Android',
638
+ 1 => 'Android-for-Rockchip-2818',
639
+ 2 => 'AN7CG2',
640
+ 3 => 'AN7G2',
641
+ 4 => 'AN7G2DTE',
642
+ 5 => 'AN7G2I',
643
+ 6 => 'AN7G3',
644
+ 7 => 'AN7BG2',
645
+ 8 => 'AN7BG2DT',
646
+ 9 => 'AN7BG3',
647
+ 10 => 'AN7CG3',
648
+ 11 => 'AN7DG3',
649
+ 12 => 'AN7DG3B',
650
+ 13 => 'AN7DG3-CP',
651
+ 14 => 'AN7DG3ST-CP',
652
+ 15 => 'AN7FG3',
653
+ 16 => 'AN7HG3',
654
+ 17 => 'AN7IG3',
655
+ 18 => 'AN8G2',
656
+ 19 => 'AN8G2I',
657
+ 20 => 'AN8G3',
658
+ 21 => 'AN8BG2',
659
+ 22 => 'AN8BG3',
660
+ 23 => 'AN8CG3',
661
+ 24 => 'AN9G2',
662
+ 25 => 'AN9G2I',
663
+ 26 => 'AN9G3',
664
+ 27 => 'AN10G2',
665
+ 28 => 'AN10G2-KN',
666
+ 29 => 'AN10G2-LN',
667
+ 30 => 'AN10G2I',
668
+ 31 => 'AN10BG2',
669
+ 32 => 'AN10BG2DT',
670
+ 33 => 'AN10BG2I',
671
+ 34 => 'AN10BG3',
672
+ 35 => 'AN10BG3DT',
673
+ 36 => 'AN10CG3',
674
+ 37 => 'AN10DG3',
675
+ 38 => 'AN13FP',
676
+ 39 => 'AN8BG3-LZ',
677
+ 40 => 'AN10G2-LZ',
678
+ 41 => 'AN10BG3-LZ',
679
+ 42 => 'AN7DG3C',
680
+ 43 => '(iBall )?Andi!!',
681
+ 44 => 'AND1',
682
+ 45 => 'AND1E',
683
+ 46 => 'AND1E TV',
684
+ 47 => 'Android edition by sfr STARADDICT',
685
+ 48 => 'Android Edition Starnaute',
686
+ 49 => 'Android Edition StarText',
687
+ 50 => 'Android Edition StarTrail',
688
+ 51 => '(Smartfren|Andromax)!!',
689
+ 52 => 'Androtab 7',
690
+ 53 => '(Starway )?Andromeda!!',
691
+ 54 => '(Andy|Yezz)!!',
692
+ ),
693
+ '@AO' =>
694
+ array (
695
+ 0 => 'AOLE 828',
696
+ 1 => 'AOSON G18',
697
+ 2 => 'Aoson M11',
698
+ 3 => 'Aoson M19',
699
+ 4 => 'aoson m33',
700
+ 5 => 'aoson M33 3G',
701
+ 6 => 'AOSON M1016',
702
+ 7 => '(cm|aokp) tenderloin!',
703
+ ),
704
+ '@AP' =>
705
+ array (
706
+ 0 => 'App Runtime for Chrome',
707
+ 1 => 'apollo',
708
+ 2 => 'Apanda.A60!',
709
+ 3 => 'apanda-A80S',
710
+ 4 => 'apanda-A100',
711
+ 5 => 'apanda-A101',
712
+ 6 => 'Aprix D97+',
713
+ ),
714
+ '@AQ' =>
715
+ array (
716
+ 0 => '(bq|Aquaris|Edison|Maxwell)!!',
717
+ 1 => 'AQUILA 080-1008',
718
+ 2 => 'AQUILA 097-1006',
719
+ 3 => '(Intex )?Aqua!!',
720
+ 4 => 'AQUOS!!',
721
+ ),
722
+ '@AR' =>
723
+ array (
724
+ 0 => 'ARCHM901',
725
+ 1 => 'Arnova 7G2',
726
+ 2 => 'ARNOVA8G2',
727
+ 3 => 'Arnova 10G2',
728
+ 4 => 'ARNOVA 90G3',
729
+ 5 => 'ARNOVA 90 G4',
730
+ 6 => 'ARNOVA 97G4',
731
+ 7 => 'ARNOVA 101 G4',
732
+ 8 => 'ARCHOS 50PL',
733
+ 9 => 'ARCHOS 79XE',
734
+ 10 => 'Archos5',
735
+ 11 => 'ARCHOS 70it2',
736
+ 12 => 'ARCHOS 70it2G8',
737
+ 13 => 'Archos 80 Internet Tablet',
738
+ 14 => 'Archos 101 Internet Tablet',
739
+ 15 => 'Archos!!',
740
+ 16 => 'Artes D708',
741
+ 17 => 'Artes D821',
742
+ 18 => 'Artes i701',
743
+ 19 => 'ARTES I709',
744
+ 20 => 'Artes Q812',
745
+ 21 => 'Arya A1+',
746
+ 22 => 'Arya Z2',
747
+ 23 => 'ARMM2V',
748
+ 24 => 'ARMM3V',
749
+ 25 => 'ARIES 101',
750
+ 26 => 'ARIES 785',
751
+ 27 => 'Arc',
752
+ 28 => 'Arc S',
753
+ ),
754
+ '@AS' =>
755
+ array (
756
+ 0 => 'Astone A108',
757
+ 1 => 'aspire1000s',
758
+ 2 => 'Aspire!!',
759
+ 3 => 'ASK SP[0-9]{3,3}!!',
760
+ 4 => 'ASTRI',
761
+ 5 => 'asus laptop',
762
+ 6 => 'ASUS T20',
763
+ 7 => 'ASUS Pad ME370T',
764
+ 8 => 'Asus Fonepad ME371MG 8GB',
765
+ 9 => 'AST21',
766
+ 10 => 'asus google cube',
767
+ 11 => 'ASP-4300W',
768
+ 12 => 'ASP-4500Z',
769
+ 13 => 'ASP-5000H',
770
+ 14 => 'Asus A10',
771
+ 15 => '(Huawei|Ascend|HW-)!!',
772
+ 16 => 'AS740',
773
+ 17 => 'AS870 4G',
774
+ 18 => 'AS985',
775
+ 19 => 'AS650C',
776
+ 20 => 'Aster',
777
+ 21 => 'Aster T',
778
+ ),
779
+ '@AT' =>
780
+ array (
781
+ 0 => 'AT390',
782
+ 1 => 'AT102HC',
783
+ 2 => 'AT104GS',
784
+ 3 => 'AT107F',
785
+ 4 => 'AT108F',
786
+ 5 => 'AT197F',
787
+ 6 => 'AT10H-A10WP',
788
+ 7 => 'AT101-014',
789
+ 8 => 'AT101T-114',
790
+ 9 => 'AT1A*',
791
+ 10 => 'AT1C',
792
+ 11 => 'AT1C*',
793
+ 12 => 'AT1D',
794
+ 13 => 'AT1G*',
795
+ 14 => 'ATP515CKIT',
796
+ 15 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
797
+ 16 => 'aTab9.7 IPS',
798
+ 17 => 'AT735',
799
+ 18 => 'Atrix 2',
800
+ 19 => 'Atrix 2 WeifanZ',
801
+ 20 => 'Atrix 4G',
802
+ 21 => 'Atrix 4G ME860',
803
+ 22 => 'Atrix 4G MB860',
804
+ 23 => 'Atrix HD',
805
+ 24 => 'AtrixHD',
806
+ 25 => 'ATP7526',
807
+ 26 => 'ATP7683',
808
+ 27 => 'AT1S0',
809
+ 28 => 'AT7-A',
810
+ 29 => 'AT7-B',
811
+ 30 => 'AT7-C',
812
+ 31 => 'AT10-A',
813
+ 32 => 'AT10LE-A',
814
+ 33 => 'AT10PE-A',
815
+ 34 => 'AT100',
816
+ 35 => 'AT200',
817
+ 36 => 'AT270',
818
+ 37 => 'AT300',
819
+ 38 => 'AT300SE',
820
+ 39 => 'AT330',
821
+ 40 => 'AT374',
822
+ 41 => 'AT400',
823
+ 42 => 'AT470',
824
+ 43 => 'AT500',
825
+ 44 => 'AT500a',
826
+ 45 => 'AT503',
827
+ 46 => 'AT570',
828
+ 47 => 'AT703',
829
+ 48 => 'AT830',
830
+ 49 => 'AT-A[QS][0-9]{2,2}!!',
831
+ 50 => 'ATLAS W',
832
+ ),
833
+ '@AU' =>
834
+ array (
835
+ 0 => 'Aurora-II',
836
+ 1 => 'AUX!!',
837
+ 2 => '(Aura|iberry|AUXUS)!!',
838
+ 3 => 'AURUS III',
839
+ ),
840
+ '@AV' =>
841
+ array (
842
+ 0 => '(Ilium )?Avvio!!',
843
+ ),
844
+ '@AX' =>
845
+ array (
846
+ 0 => 'AX3Party',
847
+ 1 => 'AX4Nano plus',
848
+ 2 => '(Axioo[\\- ])?PICO!!',
849
+ 3 => '(AXPAD|Axxion)!!',
850
+ 4 => '(Bmobile )?AX[0-9]{3,4}!!',
851
+ 5 => 'AX7OO',
852
+ 6 => 'AX600C',
853
+ ),
854
+ '@AZ' =>
855
+ array (
856
+ 0 => 'Azumi!!',
857
+ 1 => '(AZ|BT)[0-9]{3,3}!!',
858
+ ),
859
+ '@B1' =>
860
+ array (
861
+ 0 => 'B1-[A0-9][0-9]{2,2}!!',
862
+ 1 => 'B15',
863
+ 2 => 'B15Q',
864
+ ),
865
+ '@B3' =>
866
+ array (
867
+ 0 => 'B3000',
868
+ ),
869
+ '@B9' =>
870
+ array (
871
+ 0 => 'B916C',
872
+ ),
873
+ '@BA' =>
874
+ array (
875
+ 0 => 'Bay Trail Generic Platform',
876
+ 1 => 'Bayley Bay',
877
+ 2 => 'baoxue',
878
+ 3 => 'Barnes & Noble Nook Tablet',
879
+ 4 => 'Barnes & Noble Nook HD',
880
+ 5 => 'Barnes & Noble Nook HD+',
881
+ 6 => '(Highscreen|Alpha|Bay|Cosmo|Explosion|Power|Prime|Zera)!!',
882
+ 7 => 'Backflip',
883
+ 8 => 'Backflip Me600',
884
+ 9 => 'Bambook S1',
885
+ 10 => 'BARRY',
886
+ 11 => 'BASE!!',
887
+ ),
888
+ '@BB' =>
889
+ array (
890
+ 0 => 'BB EH7',
891
+ 1 => 'BB EH7LE',
892
+ 2 => '(BB )?Q5$!',
893
+ 3 => '(BB )?Q10$!',
894
+ 4 => '(BB )?Z10$!',
895
+ 5 => '(BB )?Z30$!',
896
+ 6 => '(BBG-|VIV-)?vivo!!',
897
+ 7 => 'Bbox Miami',
898
+ ),
899
+ '@BC' =>
900
+ array (
901
+ 0 => 'bcm platform',
902
+ 1 => 'bcm7231',
903
+ 2 => 'bcm7425',
904
+ 3 => 'bcm7429',
905
+ 4 => 'bcm7435',
906
+ 5 => 'bcm7439',
907
+ 6 => 'bcm7445',
908
+ 7 => 'bcm7584',
909
+ 8 => 'BCM21654!',
910
+ 9 => 'BCM21664!',
911
+ 10 => 'BCM23550!',
912
+ 11 => 'BCM28145!',
913
+ 12 => 'BCM28155!',
914
+ 13 => '(AC|BC|LC|MT|RC|QS|VM|TS|OC)[0-9]{4,4}[A-Z]!!',
915
+ 14 => 'BC1003',
916
+ ),
917
+ '@BD' =>
918
+ array (
919
+ 0 => '(BDS|BHX|BKO)\\-!!',
920
+ ),
921
+ '@BE' =>
922
+ array (
923
+ 0 => 'BEAGLEBONE',
924
+ 1 => 'BeagleBone Black',
925
+ 2 => 'BEAGLEBONEBLACK',
926
+ 3 => 'BEAGLEBONEBLACK.A5C',
927
+ 4 => 'berlin',
928
+ 5 => 'berlin bg2!',
929
+ 6 => 'berlin generic!',
930
+ 7 => 'BenQ JD-130',
931
+ 8 => 'BenQ Android TV',
932
+ 9 => 'BenWee 5100',
933
+ 10 => 'BEE 9500',
934
+ 11 => 'BenQ!!',
935
+ 12 => 'BenWee!!',
936
+ 13 => 'BePhone UN030',
937
+ 14 => 'Best ?sonny!!',
938
+ 15 => 'BEAN 454',
939
+ 16 => 'beetle',
940
+ 17 => 'Beeline!!',
941
+ ),
942
+ '@BF' =>
943
+ array (
944
+ 0 => 'BF[ \\-]!!',
945
+ 1 => 'BFB!!',
946
+ 2 => 'BF[0-9]{2,2}00!!',
947
+ ),
948
+ '@BG' =>
949
+ array (
950
+ 0 => 'bg2 !',
951
+ 1 => 'bg2ct !',
952
+ 2 => 'bg2q4k !',
953
+ 3 => 'bg2qa0v4 !',
954
+ 4 => 'bg2qv4 !',
955
+ ),
956
+ '@BH' =>
957
+ array (
958
+ 0 => '(BDS|BHX|BKO)\\-!!',
959
+ ),
960
+ '@BI' =>
961
+ array (
962
+ 0 => 'bird75v2',
963
+ 1 => 'BioniQ!!',
964
+ 2 => 'Bird!!',
965
+ 3 => 'BizSmartPhone',
966
+ 4 => 'BIP-6000',
967
+ 5 => 'BIRDY',
968
+ ),
969
+ '@BK' =>
970
+ array (
971
+ 0 => '(BDS|BHX|BKO)\\-!!',
972
+ ),
973
+ '@BL' =>
974
+ array (
975
+ 0 => 'Blaze',
976
+ 1 => 'Blaze Tablet',
977
+ 2 => 'BlueStacks!',
978
+ 3 => 'BlackBerry Runtime for Android Apps',
979
+ 4 => 'BLACKBERRY P\'9982',
980
+ 5 => '(BLU|DASH|LIFE|NEO|STUDIO|VIVO)!!',
981
+ 6 => 'Blaze S180',
982
+ 7 => 'BLADE LE 70',
983
+ 8 => 'BLACK',
984
+ 9 => '(BLF-)?lephone!!',
985
+ 10 => 'Blackphone 2',
986
+ 11 => 'BLOOM',
987
+ 12 => '(ZTE )?Blade!!',
988
+ 13 => 'Blade(-V880|-opda)?$!',
989
+ 14 => 'BLADEII',
990
+ 15 => 'Blade2',
991
+ 16 => 'Blade III',
992
+ ),
993
+ '@BM' =>
994
+ array (
995
+ 0 => 'BMOBILE DASH 3.5',
996
+ 1 => '(Bmobile )?AX[0-9]{3,4}!!',
997
+ 2 => 'Bmobile T35AC',
998
+ 3 => 'BM999',
999
+ ),
1000
+ '@BN' =>
1001
+ array (
1002
+ 0 => '(NOOK )?BNRV(200|300)!',
1003
+ 1 => '(NOOK )?BNTV250!',
1004
+ 2 => '(NOOK )?BNRV350!',
1005
+ 3 => '(NOOK )?BNTV(400)!',
1006
+ 4 => '(NOOK )?BNTV(600)!',
1007
+ 5 => '(NOOK )?BNTV(800)!',
1008
+ 6 => 'BN Nook HD',
1009
+ 7 => 'BN NookHD+',
1010
+ ),
1011
+ '@BO' =>
1012
+ array (
1013
+ 0 => 'Boost',
1014
+ 1 => 'BO-FRSP4',
1015
+ 2 => 'BO-LFSPBS5',
1016
+ 3 => 'BOVO S-F16',
1017
+ 4 => 'BOWAY!!',
1018
+ 5 => 'Bouygues Telecom Bs 351',
1019
+ 6 => 'Bouygues Telecom Bs 402',
1020
+ 7 => 'Bouygues Telecom Bs 403',
1021
+ 8 => 'Bouygues Telecom Bs 451',
1022
+ 9 => 'Boston 4G',
1023
+ 10 => 'Boston',
1024
+ ),
1025
+ '@BP' =>
1026
+ array (
1027
+ 0 => 'BP710A',
1028
+ ),
1029
+ '@BQ' =>
1030
+ array (
1031
+ 0 => '(bq|Aquaris|Edison|Maxwell)!!',
1032
+ 1 => 'BQS-4001',
1033
+ 2 => 'BQS-4007',
1034
+ 3 => 'BQS-4501 Bristol',
1035
+ 4 => 'BQS-4510',
1036
+ 5 => 'BQS-4515',
1037
+ 6 => 'BQS-4516',
1038
+ 7 => 'BQS-4552',
1039
+ 8 => 'BQS-4555',
1040
+ 9 => 'BQS-5005',
1041
+ 10 => 'BQS-5009',
1042
+ 11 => 'BQS-5001',
1043
+ 12 => 'BQS-5010',
1044
+ 13 => 'BQS-5011',
1045
+ 14 => 'BQS-5500',
1046
+ 15 => 'BQS-5505',
1047
+ ),
1048
+ '@BR' =>
1049
+ array (
1050
+ 0 => 'Bravo',
1051
+ 1 => 'BRAVIA 2015',
1052
+ 2 => 'BRAVIA 4K 2015',
1053
+ 3 => 'BRAVIA 4K GB',
1054
+ 4 => 'BroadSign Xpress!',
1055
+ 5 => 'Broncho M7',
1056
+ 6 => '(BRS-)?BROR!!',
1057
+ 7 => 'BRAVIA',
1058
+ ),
1059
+ '@BS' =>
1060
+ array (
1061
+ 0 => 'Bs 451',
1062
+ 1 => 'Bs 501',
1063
+ 2 => 'Bs541',
1064
+ 3 => 'BSTB-200C',
1065
+ ),
1066
+ '@BT' =>
1067
+ array (
1068
+ 0 => '(AZ|BT)[0-9]{3,3}!!',
1069
+ ),
1070
+ '@BU' =>
1071
+ array (
1072
+ 0 => 'BUSH!!',
1073
+ 1 => 'Burst S280',
1074
+ 2 => 'Butterfly S',
1075
+ ),
1076
+ '@C2' =>
1077
+ array (
1078
+ 0 => 'C2',
1079
+ ),
1080
+ '@C5' =>
1081
+ array (
1082
+ 0 => '(GIO-)?(GiONEE[- ])?C500!',
1083
+ 1 => 'C525c',
1084
+ ),
1085
+ '@C6' =>
1086
+ array (
1087
+ 0 => 'C6 Duo',
1088
+ 1 => 'C6Quad 4G',
1089
+ 2 => '(GIO-)?(GiONEE[- ])?C600!',
1090
+ 3 => '(GIO-)?(GiONEE[- ])?C610!',
1091
+ 4 => '(GIO-)?(GiONEE[- ])?C620!',
1092
+ ),
1093
+ '@C7' =>
1094
+ array (
1095
+ 0 => 'C771',
1096
+ 1 => '(GIO-)?(GiONEE[- ])?C700!',
1097
+ ),
1098
+ '@C8' =>
1099
+ array (
1100
+ 0 => 'C811 4G',
1101
+ 1 => 'C8660',
1102
+ 2 => '(GIO-)?(GiONEE[- ])?C800!',
1103
+ 3 => 'C8[0-9]{3,3}!!',
1104
+ 4 => 'C868',
1105
+ ),
1106
+ '@C9' =>
1107
+ array (
1108
+ 0 => 'C908',
1109
+ ),
1110
+ '@CA' =>
1111
+ array (
1112
+ 0 => 'Cardhu',
1113
+ 1 => 'CA907AAC0G',
1114
+ 2 => 'Camangi-Mangrove7',
1115
+ 3 => 'CAPTIVA!!',
1116
+ 4 => 'Carpad T5',
1117
+ 5 => 'Carpad T61 2g',
1118
+ 6 => 'CAL21',
1119
+ 7 => 'CA201SP',
1120
+ 8 => 'CA-201L',
1121
+ 9 => 'Casper VIA!!',
1122
+ 10 => 'CAT!!',
1123
+ 11 => 'Candy TV',
1124
+ 12 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
1125
+ 13 => 'calgary',
1126
+ 14 => 'Captivate-I897',
1127
+ ),
1128
+ '@CC' =>
1129
+ array (
1130
+ 0 => 'CCE SK352',
1131
+ ),
1132
+ '@CE' =>
1133
+ array (
1134
+ 0 => 'cedartrail',
1135
+ 1 => 'CENTURION',
1136
+ 2 => 'CENTURION 3',
1137
+ 3 => 'Celkon!!',
1138
+ ),
1139
+ '@CH' =>
1140
+ array (
1141
+ 0 => 'Chacer',
1142
+ 1 => 'ChangHong!!',
1143
+ 2 => 'CHER!!',
1144
+ 3 => 'Cherry Mobile Burst',
1145
+ 4 => 'Cherry Life',
1146
+ 5 => 'Cherry Razor',
1147
+ 6 => 'Cherry Mobile Razor',
1148
+ 7 => 'CHERRY SNAP',
1149
+ 8 => 'Cherry Sonic',
1150
+ 9 => 'Cherry thunder2.0',
1151
+ 10 => 'Cherry Mobile Amber W380',
1152
+ 11 => 'Cherry w500',
1153
+ 12 => 'CHUWI!!',
1154
+ 13 => 'CHONG!!',
1155
+ 14 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
1156
+ 15 => '(HW-|HUAWEI )?(CHC|KII)!!',
1157
+ 16 => 'chagall',
1158
+ ),
1159
+ '@CI' =>
1160
+ array (
1161
+ 0 => 'cius',
1162
+ 1 => 'CIUS-7!',
1163
+ 2 => 'Citycall!!',
1164
+ 3 => 'CINK',
1165
+ 4 => 'CINK+',
1166
+ 5 => 'CINK FIVE',
1167
+ 6 => 'CINK KING',
1168
+ 7 => 'CINK PEAX',
1169
+ 8 => 'CINK PEAX+',
1170
+ 9 => 'CINK PEAX 2',
1171
+ 10 => 'CINK SLIM',
1172
+ 11 => 'Cink Slim A',
1173
+ 12 => 'Cink Slim B',
1174
+ 13 => 'CINK SLIM 2',
1175
+ ),
1176
+ '@CJ' =>
1177
+ array (
1178
+ 0 => '(CJ-)?ThL!!',
1179
+ ),
1180
+ '@CL' =>
1181
+ array (
1182
+ 0 => 'Clarion Mirage 2',
1183
+ 1 => '(Cloudfone|CloudPad|Excite|Thrill)!!',
1184
+ 2 => 'Clanga 079-1016',
1185
+ 3 => 'Clanga 097-2016',
1186
+ 4 => 'Clanga SE 097-1008',
1187
+ 5 => 'CLP281X',
1188
+ 6 => 'Click',
1189
+ 7 => '(Intex )?Cloud!!',
1190
+ 8 => 'CLIQ',
1191
+ 9 => 'CLIQ XT',
1192
+ 10 => 'CLIQ2',
1193
+ ),
1194
+ '@CM' =>
1195
+ array (
1196
+ 0 => 'CMP!!',
1197
+ 1 => '(cm|aokp) tenderloin!',
1198
+ 2 => 'CM980',
1199
+ 3 => 'CM990',
1200
+ ),
1201
+ '@CN' =>
1202
+ array (
1203
+ 0 => 'CnM!!',
1204
+ 1 => 'CN51 [NQ]!',
1205
+ ),
1206
+ '@CO' =>
1207
+ array (
1208
+ 0 => 'Colibri-T20',
1209
+ 1 => 'Commodore!!',
1210
+ 2 => 'Commtiva-HD710',
1211
+ 3 => 'Commtiva-N700',
1212
+ 4 => 'Connspeed IP71',
1213
+ 5 => '(Colorfly|CT[0-9]{3,3})!!',
1214
+ 6 => 'Colors!!',
1215
+ 7 => 'ConCorde!!',
1216
+ 8 => 'Coolgen!!',
1217
+ 9 => 'Coolpad!!',
1218
+ 10 => 'COSHIP F2',
1219
+ 11 => 'COWON!!',
1220
+ 12 => 'COZCO C1 Plus',
1221
+ 13 => 'Collo DG100',
1222
+ 14 => 'Collo 2 DG120',
1223
+ 15 => 'Connect-2G-2.0',
1224
+ 16 => '(Highscreen|Alpha|Bay|Cosmo|Explosion|Power|Prime|Zera)!!',
1225
+ 17 => 'Coquettish Red',
1226
+ 18 => 'Comet',
1227
+ 19 => 'Corvair',
1228
+ 20 => 'COOLPIX S800c',
1229
+ 21 => 'COOLPIX S810c',
1230
+ 22 => 'Constellation V',
1231
+ ),
1232
+ '@CP' =>
1233
+ array (
1234
+ 0 => 'CP-DX!!',
1235
+ 1 => 'CP3700A',
1236
+ ),
1237
+ '@CR' =>
1238
+ array (
1239
+ 0 => 'Crespo!',
1240
+ 1 => 'CRESTA.CTP888',
1241
+ 2 => 'Cross!!',
1242
+ 3 => 'Crosscall!!',
1243
+ 4 => '(HUAWEI )?(CRR|MATE|MT1|MT2|MT7|M200|NXT|Z100)!!',
1244
+ 5 => 'CRONO 22',
1245
+ 6 => 'Crescent',
1246
+ ),
1247
+ '@CS' =>
1248
+ array (
1249
+ 0 => 'CS-1A13',
1250
+ 1 => '(CSL[- ])?(Spice[- ]?)?Mi(-| )?[0-9]{3,3}!!',
1251
+ ),
1252
+ '@CT' =>
1253
+ array (
1254
+ 0 => 'CT[0-9]{3,4}!!',
1255
+ 1 => 'CT-1',
1256
+ 2 => 'CT910',
1257
+ 3 => '(Colorfly|CT[0-9]{3,3})!!',
1258
+ 4 => 'CTP828BT',
1259
+ 5 => '(GIO-)?(GiONEE[- ])?Ctrl V1!',
1260
+ 6 => '(GIO-)?(GiONEE[- ])?Ctrl V2!',
1261
+ 7 => '(GIO-)?(GiONEE[- ])?Ctrl V3!',
1262
+ 8 => '(GIO-)?(GiONEE[- ])?Ctrl V4!',
1263
+ 9 => '(GIO-)?(GiONEE[- ])?Ctrl V5!',
1264
+ 10 => 'CT50',
1265
+ 11 => 'CT720G',
1266
+ 12 => 'CT720HD',
1267
+ 13 => 'CT920',
1268
+ 14 => 'CT1006',
1269
+ ),
1270
+ '@CU' =>
1271
+ array (
1272
+ 0 => 'CUBOT!!',
1273
+ 1 => '(CUBE ?)?(K8|U1|U2|U3|U5|U6|U8|U9)[0-9]?GT!!',
1274
+ 2 => 'CUBE!!',
1275
+ ),
1276
+ '@CW' =>
1277
+ array (
1278
+ 0 => 'CW[- ]!!',
1279
+ ),
1280
+ '@CX' =>
1281
+ array (
1282
+ 0 => 'CX-919',
1283
+ 1 => 'CX-921',
1284
+ 2 => 'CX-921B',
1285
+ 3 => 'CX-929',
1286
+ 4 => 'CX-950',
1287
+ 5 => 'CX-958',
1288
+ ),
1289
+ '@CY' =>
1290
+ array (
1291
+ 0 => 'Cydle M7!',
1292
+ 1 => 'Cynus!!',
1293
+ 2 => 'Cyclone!!',
1294
+ ),
1295
+ '@D0' =>
1296
+ array (
1297
+ 0 => 'D000-0000(13|18|19)-[0-9]{3,3}!',
1298
+ 1 => 'D000-0000(01|07)-[A-Z][0-9]{2,2}!',
1299
+ 2 => 'D000-000002-[W0][0-9]{2,2}!',
1300
+ 3 => 'D000-0000(10|11)-N!',
1301
+ 4 => 'D000 000043',
1302
+ ),
1303
+ '@D2' =>
1304
+ array (
1305
+ 0 => 'D2-[0-9]{3,3}!!',
1306
+ 1 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
1307
+ ),
1308
+ '@D5' =>
1309
+ array (
1310
+ 0 => 'D530',
1311
+ 1 => 'D539',
1312
+ ),
1313
+ '@D7' =>
1314
+ array (
1315
+ 0 => 'D709',
1316
+ 1 => 'D7800AD',
1317
+ 2 => 'D75E',
1318
+ 3 => 'D70W',
1319
+ ),
1320
+ '@D8' =>
1321
+ array (
1322
+ 0 => 'D820X',
1323
+ 1 => 'D816(d|t|v|w|x)!',
1324
+ 2 => 'D820mt',
1325
+ 3 => 'D80',
1326
+ ),
1327
+ '@D9' =>
1328
+ array (
1329
+ 0 => 'D9702',
1330
+ 1 => 'D91',
1331
+ ),
1332
+ '@DA' =>
1333
+ array (
1334
+ 0 => 'DA2[0-9]{2,2}[A-Z]+!!',
1335
+ 1 => '(BLU|DASH|LIFE|NEO|STUDIO|VIVO)!!',
1336
+ 2 => 'Dakele A380',
1337
+ 3 => 'DAKELE MC001',
1338
+ 4 => 'DATAM803HC',
1339
+ 5 => 'DATAM805HC',
1340
+ 6 => 'DATAM819HD!',
1341
+ 7 => 'DARKFULL',
1342
+ 8 => 'DARKMOON',
1343
+ 9 => 'DARKNIGHT',
1344
+ 10 => 'DARKSIDE',
1345
+ ),
1346
+ '@DE' =>
1347
+ array (
1348
+ 0 => 'Dell!!',
1349
+ 1 => 'Dell XCD35',
1350
+ 2 => 'DEM752HCF',
1351
+ 3 => '(DENVER-)?TA[CD]-[0-9]{4,5}!!',
1352
+ 4 => 'deovo V5',
1353
+ 5 => 'DESAY!!',
1354
+ 6 => 'Desire 816',
1355
+ 7 => 'Desire ?HD!',
1356
+ 8 => 'Desire L by HTC',
1357
+ 9 => 'Desire ?S!',
1358
+ 10 => 'Desire X',
1359
+ 11 => 'Desire Z',
1360
+ 12 => 'Desire!',
1361
+ 13 => 'DEOX',
1362
+ 14 => 'DEFY',
1363
+ 15 => 'Defy(\\+| Plus)!',
1364
+ 16 => 'DEDY+',
1365
+ 17 => 'Dext',
1366
+ 18 => 'Devour',
1367
+ 19 => 'DEM752NC',
1368
+ ),
1369
+ '@DI' =>
1370
+ array (
1371
+ 0 => 'Dialog!!',
1372
+ 1 => 'DIT[0-9]{4,6}!!',
1373
+ 2 => 'DIGICEL DL800',
1374
+ 3 => '(Digma )?iD[jmnsx][DQ]?[0-9]*!!',
1375
+ 4 => 'DISTAB9000R',
1376
+ 5 => 'DishTV Smartvu A2020',
1377
+ 6 => 'Discovery DG500',
1378
+ 7 => 'Discovery2-DG500C',
1379
+ 8 => 'DIAMOND D1',
1380
+ 9 => 'DIAMOND S3',
1381
+ ),
1382
+ '@DJ' =>
1383
+ array (
1384
+ 0 => 'DJC Touchtab3',
1385
+ 1 => 'DJC Touchtab4',
1386
+ ),
1387
+ '@DK' =>
1388
+ array (
1389
+ 0 => 'Dk1031',
1390
+ ),
1391
+ '@DL' =>
1392
+ array (
1393
+ 0 => 'DLX',
1394
+ 1 => 'DLXU',
1395
+ 2 => 'dL1',
1396
+ ),
1397
+ '@DM' =>
1398
+ array (
1399
+ 0 => 'DM0[0-9]{2,2}(K|SH)!!',
1400
+ 1 => 'DMC-CM1',
1401
+ 2 => 'DM-01H',
1402
+ ),
1403
+ '@DN' =>
1404
+ array (
1405
+ 0 => 'DNS Airbook TYT701',
1406
+ 1 => '(DNS )?(Airtab )?(E|M|MA|MF|MW|P|PC|PF)[0-9]{2,4}!!',
1407
+ 2 => 'DNS S!!',
1408
+ 3 => 'DNS4502M',
1409
+ ),
1410
+ '@DO' =>
1411
+ array (
1412
+ 0 => 'Dooderbutt!',
1413
+ 1 => 'domod G20',
1414
+ 2 => 'DOOGEE-TITANS-DG150',
1415
+ 3 => 'DOOV!!',
1416
+ 4 => 'Doro Liberto!!',
1417
+ 5 => 'Doro 8030',
1418
+ 6 => 'Doro 824',
1419
+ 7 => 'Dolphin 70e Black',
1420
+ 8 => 'Docomo HT-03A',
1421
+ ),
1422
+ '@DP' =>
1423
+ array (
1424
+ 0 => 'DPS Dream 7',
1425
+ 1 => 'DPS Dream 9',
1426
+ 2 => 'DP-X1',
1427
+ 3 => 'DPH-D710',
1428
+ ),
1429
+ '@DR' =>
1430
+ array (
1431
+ 0 => 'Dream',
1432
+ 1 => '(GIO-)?(GiONEE[- ])?Dream D1!',
1433
+ 2 => 'Droid Incredible',
1434
+ 3 => 'DroniX-0.5',
1435
+ 4 => 'Droid',
1436
+ 5 => 'DROID',
1437
+ 6 => 'DROID ?2!',
1438
+ 7 => 'DROID ?3!',
1439
+ 8 => 'DROID ?4!',
1440
+ 9 => 'DroidPro',
1441
+ 10 => 'DROID Pro',
1442
+ 11 => 'DROID HD',
1443
+ 12 => 'DROID BIONIC!',
1444
+ 13 => 'DROID RAZR HD!',
1445
+ 14 => 'DROID ?RAZR!',
1446
+ 15 => 'DROID SPYDER',
1447
+ 16 => 'DROID ?X2!',
1448
+ 17 => 'DROID ?X!',
1449
+ 18 => 'DROIDZ Duo',
1450
+ 19 => 'DROIDZ Active 3G',
1451
+ 20 => 'DROIDZ ATOM S',
1452
+ 21 => 'DROIDZ Beat TV',
1453
+ 22 => 'DROIDZ Drive+',
1454
+ 23 => 'DROIDZ Excel',
1455
+ 24 => 'DROIDZ Excite',
1456
+ 25 => 'DROIDZ Force',
1457
+ 26 => 'DROIDZ Match TV',
1458
+ 27 => 'DROIDZ Mini Q',
1459
+ 28 => 'DROIDZ Portal X',
1460
+ 29 => 'DROIDZ Quad',
1461
+ 30 => 'DROIDZ Race',
1462
+ 31 => 'DROIDZ Race X',
1463
+ 32 => 'DROIDZ Sport',
1464
+ 33 => 'DROIDZ Ultimate',
1465
+ ),
1466
+ '@DS' =>
1467
+ array (
1468
+ 0 => 'Dslide!!',
1469
+ ),
1470
+ '@DT' =>
1471
+ array (
1472
+ 0 => 'dtab01',
1473
+ ),
1474
+ '@DY' =>
1475
+ array (
1476
+ 0 => 'dyno 7.80',
1477
+ 1 => 'dyno 7.85',
1478
+ 2 => 'Dynamic Fun',
1479
+ 3 => 'Dynamic Jump',
1480
+ 4 => 'Dynamic Maxi',
1481
+ 5 => 'Dynamic Milo',
1482
+ 6 => 'Dynamic Racing 2',
1483
+ 7 => 'Dynamic Raging Go',
1484
+ 8 => 'Dynamic Shake',
1485
+ 9 => 'Dynamic Wide',
1486
+ 10 => 'Dynamic Wing',
1487
+ 11 => 'Dynamic Racing 3',
1488
+ ),
1489
+ '@E' =>
1490
+ array (
1491
+ 0 => '(DNS )?(Airtab )?(E|M|MA|MF|MW|P|PC|PF)[0-9]{2,4}!!',
1492
+ ),
1493
+ '@E-' =>
1494
+ array (
1495
+ 0 => '(E-Boda|Eruption|Essential|Supreme|Storm|Revo)!!',
1496
+ ),
1497
+ '@E1' =>
1498
+ array (
1499
+ 0 => 'E1 v360',
1500
+ 1 => 'E170BS',
1501
+ 2 => 'E1031',
1502
+ 3 => 'e1808 v75!',
1503
+ 4 => 'e1109 v73!',
1504
+ ),
1505
+ '@E2' =>
1506
+ array (
1507
+ 0 => 'E2 Jump',
1508
+ 1 => 'E239',
1509
+ 2 => 'E270BSA',
1510
+ 3 => 'E2281',
1511
+ 4 => '(Moto)?E2$!',
1512
+ 5 => '(Moto)?E2\\(4G-LTE\\)$!',
1513
+ ),
1514
+ '@E3' =>
1515
+ array (
1516
+ 0 => 'E3 Living',
1517
+ 1 => 'E3 Sign',
1518
+ 2 => '(GIO-)?(GiONEE[- ])?E3T!',
1519
+ 3 => '(GIO-)?(GiONEE[- ])?E3$!',
1520
+ ),
1521
+ '@E4' =>
1522
+ array (
1523
+ 0 => 'E4',
1524
+ 1 => 'E4 Lite',
1525
+ ),
1526
+ '@E5' =>
1527
+ array (
1528
+ 0 => '(GIO-)?(GiONEE[- ])?E5$!',
1529
+ ),
1530
+ '@E6' =>
1531
+ array (
1532
+ 0 => '(GIO-)?(GiONEE[- ])?E6mini!',
1533
+ 1 => '(GIO-)?(GiONEE[- ])?E6$!',
1534
+ 2 => '(GIO-)?(GiONEE[- ])?E6T$!',
1535
+ 3 => 'E6782',
1536
+ 4 => 'E650',
1537
+ 5 => 'E60w',
1538
+ ),
1539
+ '@E7' =>
1540
+ array (
1541
+ 0 => 'E70[0-9]{2,2}H[DG]!!',
1542
+ 1 => '(GIO-)?(GiONEE[- ])?E7$!',
1543
+ 2 => 'E780',
1544
+ 3 => 'E731',
1545
+ ),
1546
+ '@E8' =>
1547
+ array (
1548
+ 0 => 'E80[0-9]{2,2}H[DG]!!',
1549
+ 1 => 'E860',
1550
+ 2 => 'E800',
1551
+ 3 => 'E815',
1552
+ 4 => 'E812',
1553
+ 5 => 'E810',
1554
+ ),
1555
+ '@E9' =>
1556
+ array (
1557
+ 0 => 'E900',
1558
+ 1 => 'E912',
1559
+ ),
1560
+ '@EA' =>
1561
+ array (
1562
+ 0 => 'eagle75v1 2',
1563
+ 1 => 'EasyPhone EP5',
1564
+ 2 => 'EasyPad 971',
1565
+ ),
1566
+ '@EB' =>
1567
+ array (
1568
+ 0 => 'EBEN!!',
1569
+ 1 => 'EBEST!!',
1570
+ 2 => 'EB-4063-X',
1571
+ 3 => 'EB-A71GJ',
1572
+ 4 => 'EB-W51GJ',
1573
+ 5 => 'EB-WX1GJ',
1574
+ 6 => 'EB-L76G-B',
1575
+ ),
1576
+ '@EC' =>
1577
+ array (
1578
+ 0 => '(Hisense )?(LED[0-9]{2,2}(G|K|L|EC|XT)[0-9]{2,3})!',
1579
+ 1 => 'Eco9 v1',
1580
+ 2 => 'Eco9 v2',
1581
+ 3 => 'Eco11 v2',
1582
+ ),
1583
+ '@ED' =>
1584
+ array (
1585
+ 0 => '(bq|Aquaris|Edison|Maxwell)!!',
1586
+ 1 => 'edgejr',
1587
+ 2 => 'edenTAB ET-701',
1588
+ ),
1589
+ '@EE' =>
1590
+ array (
1591
+ 0 => 'eeepc',
1592
+ 1 => 'eee 701',
1593
+ 2 => '(Eee Pad )?Transformer Prime TF201!',
1594
+ ),
1595
+ '@EF' =>
1596
+ array (
1597
+ 0 => 'EFM710A',
1598
+ ),
1599
+ '@EG' =>
1600
+ array (
1601
+ 0 => 'EG98',
1602
+ 1 => 'EG680',
1603
+ 2 => 'EG968B',
1604
+ ),
1605
+ '@EI' =>
1606
+ array (
1607
+ 0 => 'EIS01PT',
1608
+ ),
1609
+ '@EK' =>
1610
+ array (
1611
+ 0 => 'EK-[GK][CN][0-9]{3,3}!!',
1612
+ ),
1613
+ '@EL' =>
1614
+ array (
1615
+ 0 => 'EL72B',
1616
+ 1 => 'ELF-II',
1617
+ 2 => 'Elephone!!',
1618
+ 3 => 'ELIYA S1',
1619
+ 4 => 'Elektra L',
1620
+ 5 => 'Elektra XL',
1621
+ 6 => 'Electrify',
1622
+ 7 => 'ELUGA I2',
1623
+ 8 => 'ELUGA Turbo',
1624
+ 9 => 'Elite',
1625
+ 10 => 'Elite 11',
1626
+ 11 => '(SENCOR )?ELEMENT!!',
1627
+ ),
1628
+ '@EM' =>
1629
+ array (
1630
+ 0 => 'EM63',
1631
+ 1 => 'EM01F',
1632
+ 2 => 'EMR1879',
1633
+ ),
1634
+ '@EN' =>
1635
+ array (
1636
+ 0 => 'Endeavour!!',
1637
+ 1 => 'ENR U',
1638
+ 2 => 'EndeavorU',
1639
+ 3 => 'Enjoy 71',
1640
+ 4 => 'Enjoy 7 Plus',
1641
+ ),
1642
+ '@EP' =>
1643
+ array (
1644
+ 0 => 'EPAD',
1645
+ 1 => 'epade!!',
1646
+ ),
1647
+ '@EQ' =>
1648
+ array (
1649
+ 0 => 'equiso.smart.tv.pro',
1650
+ ),
1651
+ '@ER' =>
1652
+ array (
1653
+ 0 => '(E-Boda|Eruption|Essential|Supreme|Storm|Revo)!!',
1654
+ 1 => 'Eris',
1655
+ 2 => 'ERIS ADR6200',
1656
+ ),
1657
+ '@ES' =>
1658
+ array (
1659
+ 0 => '(E-Boda|Eruption|Essential|Supreme|Storm|Revo)!!',
1660
+ 1 => 'eSTAR!!',
1661
+ ),
1662
+ '@ET' =>
1663
+ array (
1664
+ 0 => 'ETBW11AA',
1665
+ 1 => 'Etel!!',
1666
+ 2 => 'ET1',
1667
+ 3 => 'Etisalat Smartphone',
1668
+ ),
1669
+ '@EV' =>
1670
+ array (
1671
+ 0 => 'EVOKE HDI Box',
1672
+ 1 => 'EVDO1000',
1673
+ 2 => 'EvoPAD!!',
1674
+ 3 => 'EVERPAD SC-710',
1675
+ 4 => 'Ever!!',
1676
+ 5 => '(EVAS )?EVERCOSS[- ]A!!',
1677
+ 6 => 'EVO',
1678
+ 7 => 'Evo HD2',
1679
+ 8 => 'EVO ?3D!',
1680
+ 9 => 'EVO 4G',
1681
+ 10 => 'Evo V 4G',
1682
+ 11 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
1683
+ 12 => '(EV|KM)-[ES][0-9]{3,3}!!',
1684
+ 13 => 'Event',
1685
+ 14 => 'EVERY35',
1686
+ ),
1687
+ '@EX' =>
1688
+ array (
1689
+ 0 => 'Exynos5410',
1690
+ 1 => '(Cloudfone|CloudPad|Excite|Thrill)!!',
1691
+ 2 => '(Explay|X-tremer|ActiveD|Informer|Surfer)!!',
1692
+ 3 => '(Highscreen|Alpha|Bay|Cosmo|Explosion|Power|Prime|Zera)!!',
1693
+ 4 => 'Explorer A310e',
1694
+ ),
1695
+ '@EZ' =>
1696
+ array (
1697
+ 0 => 'Ezcast',
1698
+ 1 => 'eZee!!',
1699
+ ),
1700
+ '@F&' =>
1701
+ array (
1702
+ 0 => 'F&U ETB!!',
1703
+ ),
1704
+ '@F-' =>
1705
+ array (
1706
+ 0 => 'F-[0-9]{2,2}[A-Z]!!',
1707
+ 1 => 'F-074',
1708
+ ),
1709
+ '@F1' =>
1710
+ array (
1711
+ 0 => 'f12[a-z]{3,3}!!',
1712
+ 1 => '(GIO-)?(GiONEE[- ])?F103!',
1713
+ 2 => 'F100',
1714
+ 3 => 'F13',
1715
+ 4 => 'F15',
1716
+ ),
1717
+ '@F3' =>
1718
+ array (
1719
+ 0 => '(GIO-)?(GiONEE[- ])?F301!',
1720
+ ),
1721
+ '@F5' =>
1722
+ array (
1723
+ 0 => 'F50Q',
1724
+ ),
1725
+ '@F6' =>
1726
+ array (
1727
+ 0 => 'F600',
1728
+ ),
1729
+ '@FA' =>
1730
+ array (
1731
+ 0 => 'FAR7',
1732
+ 1 => 'FAR70B',
1733
+ 2 => 'FARTM933KZ',
1734
+ 3 => 'Fablet F3',
1735
+ 4 => '(Amazing|Fantastic)!!',
1736
+ ),
1737
+ '@FC' =>
1738
+ array (
1739
+ 0 => 'FC6100',
1740
+ ),
1741
+ '@FD' =>
1742
+ array (
1743
+ 0 => 'FDT!!',
1744
+ ),
1745
+ '@FH' =>
1746
+ array (
1747
+ 0 => 'FHMD001',
1748
+ ),
1749
+ '@FI' =>
1750
+ array (
1751
+ 0 => 'FIH-FB0',
1752
+ 1 => 'FIH-!!',
1753
+ 2 => 'Find 5',
1754
+ 3 => 'FIND7',
1755
+ ),
1756
+ '@FJ' =>
1757
+ array (
1758
+ 0 => 'FJ[LT][0-9]{2,2}!!',
1759
+ 1 => 'FJJB091',
1760
+ ),
1761
+ '@FL' =>
1762
+ array (
1763
+ 0 => 'Flo',
1764
+ 1 => 'Flounder',
1765
+ 2 => 'Flame2',
1766
+ 3 => 'Flare S100',
1767
+ 4 => 'Flare 2.0',
1768
+ 5 => 'Flare 2.1',
1769
+ 6 => 'Flare2X',
1770
+ 7 => 'Fly F[0-9]{2,3}!!',
1771
+ 8 => 'Fly Phoenix 2',
1772
+ 9 => 'Fly Ego Art 2',
1773
+ 10 => '(Fly )?IQ ?[0-9]{3,4}!!',
1774
+ 11 => 'Flylife!!',
1775
+ 12 => 'Fly Flylife Web 7.85 Slim',
1776
+ 13 => 'Flyer',
1777
+ 14 => 'Flair P8',
1778
+ ),
1779
+ '@FN' =>
1780
+ array (
1781
+ 0 => '(tablet )?fnac!!',
1782
+ ),
1783
+ '@FO' =>
1784
+ array (
1785
+ 0 => 'Forward Active',
1786
+ 1 => 'Forward Art',
1787
+ 2 => 'Forward Escape',
1788
+ 3 => 'Forward Endurance',
1789
+ 4 => 'ForwardEndurance',
1790
+ 5 => 'FORWARD EVOLVE',
1791
+ 6 => 'Forward Infinity',
1792
+ 7 => 'Forward Next',
1793
+ 8 => 'Forward Prime',
1794
+ 9 => 'Forward Racing 3',
1795
+ 10 => 'Forward Ruby',
1796
+ 11 => 'ForwardRuby',
1797
+ 12 => 'Forward Shake',
1798
+ 13 => 'ForwardXtreme',
1799
+ 14 => 'Forward Young',
1800
+ 15 => 'ForwardZero',
1801
+ 16 => 'Forward 5 5',
1802
+ 17 => 'Forward 5.5',
1803
+ 18 => 'Folio 100',
1804
+ 19 => 'folio100',
1805
+ ),
1806
+ '@FP' =>
1807
+ array (
1808
+ 0 => 'FP1',
1809
+ 1 => 'FP1U',
1810
+ 2 => 'FP2',
1811
+ ),
1812
+ '@FR' =>
1813
+ array (
1814
+ 0 => 'Freelander I20',
1815
+ 1 => '(MODECOM )?FreeTAB!!',
1816
+ ),
1817
+ '@FS' =>
1818
+ array (
1819
+ 0 => 'FS403',
1820
+ ),
1821
+ '@FU' =>
1822
+ array (
1823
+ 0 => 'full Android on Microsoft Windows, pad, pc, n*books',
1824
+ 1 => 'Fusion Bolt',
1825
+ 2 => 'FUSIONideos',
1826
+ ),
1827
+ '@FW' =>
1828
+ array (
1829
+ 0 => 'FWS[0-9]{3,3}!!',
1830
+ ),
1831
+ '@FZ' =>
1832
+ array (
1833
+ 0 => 'FZ-A1(A|B)!',
1834
+ 1 => 'FZ-B2(B|D)!',
1835
+ 2 => 'FZ-N1',
1836
+ 3 => 'FZ-X1',
1837
+ ),
1838
+ '@G ' =>
1839
+ array (
1840
+ 0 => 'G Watch',
1841
+ 1 => 'G Watch R',
1842
+ ),
1843
+ '@G0' =>
1844
+ array (
1845
+ 0 => 'G0775',
1846
+ ),
1847
+ '@G1' =>
1848
+ array (
1849
+ 0 => 'G1-715',
1850
+ 1 => 'G1-725',
1851
+ 2 => 'G100W',
1852
+ 3 => 'G17(B5DV)',
1853
+ 4 => 'G17(B7DV)',
1854
+ 5 => 'G17h 3G??(K5E2)',
1855
+ 6 => 'G17h 3G??(K6E2',
1856
+ 7 => 'G17h 3G四核(K5E2)',
1857
+ 8 => 'G17h 3G四核(K6E2)',
1858
+ 9 => 'G17s 3G',
1859
+ 10 => 'G17s 3G??(K5E5)',
1860
+ 11 => 'G17s 3G四核(K5E5)',
1861
+ 12 => 'G17s 3G四核(K5E4)',
1862
+ 13 => 'G17s 3G四核(K5E3)',
1863
+ 14 => 'G18 3G四核(C6B9)',
1864
+ 15 => 'G18mini(C5B9)',
1865
+ 16 => 'G18d 3G四核(D3A2)',
1866
+ 17 => 'G18d mini(FV2C)',
1867
+ ),
1868
+ '@G2' =>
1869
+ array (
1870
+ 0 => 'G2S',
1871
+ 1 => 'G2SMNT',
1872
+ ),
1873
+ '@G3' =>
1874
+ array (
1875
+ 0 => '(Moto)?G3$!',
1876
+ 1 => '(Moto)?G3-TE$!',
1877
+ 2 => 'G3SMNTS22',
1878
+ 3 => 'G3SMNTS23',
1879
+ ),
1880
+ '@G6' =>
1881
+ array (
1882
+ 0 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
1883
+ ),
1884
+ '@G7' =>
1885
+ array (
1886
+ 0 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
1887
+ ),
1888
+ '@G9' =>
1889
+ array (
1890
+ 0 => 'G9',
1891
+ ),
1892
+ '@GA' =>
1893
+ array (
1894
+ 0 => '(Google )?Galaxy Nexus!',
1895
+ 1 => 'Galaxy S4 Google Editon',
1896
+ 2 => 'Garmin!!',
1897
+ 3 => 'Galaxy!!',
1898
+ ),
1899
+ '@GE' =>
1900
+ array (
1901
+ 0 => 'generic',
1902
+ 1 => 'generic x86',
1903
+ 2 => 'Gear Live',
1904
+ 3 => 'Genius!!',
1905
+ 4 => '(GP-|Geeksphone)!!',
1906
+ 5 => 'Gemei!!',
1907
+ 6 => 'GEM[0-9]{4,4}!!',
1908
+ 7 => 'GETAWAY',
1909
+ ),
1910
+ '@GF' =>
1911
+ array (
1912
+ 0 => 'GFIVE!!',
1913
+ ),
1914
+ '@GH' =>
1915
+ array (
1916
+ 0 => 'Ghost',
1917
+ 1 => 'GHIA!!',
1918
+ ),
1919
+ '@GI' =>
1920
+ array (
1921
+ 0 => '(Gsmart|Gigabyte|Rio)!!',
1922
+ 1 => 'Gigaset!!',
1923
+ 2 => '(GIO-)?(GiONEE[- ])?A9$!',
1924
+ 3 => '(GIO-)?(GiONEE[- ])?C500!',
1925
+ 4 => '(GIO-)?(GiONEE[- ])?C600!',
1926
+ 5 => '(GIO-)?(GiONEE[- ])?C610!',
1927
+ 6 => '(GIO-)?(GiONEE[- ])?C620!',
1928
+ 7 => '(GIO-)?(GiONEE[- ])?C700!',
1929
+ 8 => '(GIO-)?(GiONEE[- ])?C800!',
1930
+ 9 => '(GIO-)?(GiONEE[- ])?Dream D1!',
1931
+ 10 => '(GIO-)?(GiONEE[- ])?E3T!',
1932
+ 11 => '(GIO-)?(GiONEE[- ])?E3$!',
1933
+ 12 => '(GIO-)?(GiONEE[- ])?E5$!',
1934
+ 13 => '(GIO-)?(GiONEE[- ])?E6mini!',
1935
+ 14 => '(GIO-)?(GiONEE[- ])?E6$!',
1936
+ 15 => '(GIO-)?(GiONEE[- ])?E6T$!',
1937
+ 16 => '(GIO-)?(GiONEE[- ])?E7$!',
1938
+ 17 => '(GIO-)?(GiONEE[- ])?F103!',
1939
+ 18 => '(GIO-)?(GiONEE[- ])?F301!',
1940
+ 19 => '(GIO-)?(GiONEE[- ])?GN5001!',
1941
+ 20 => '(GIO-)?(GiONEE[- ])?GN5002!',
1942
+ 21 => '(GIO-)?(GiONEE[- ])?GN8001!',
1943
+ 22 => '(GIO-)?(GiONEE[- ])?GN9000!',
1944
+ 23 => '(GIO-)?(GiONEE[- ])?GN9001!',
1945
+ 24 => '(GIO-)?(GiONEE[- ])?GN9002!',
1946
+ 25 => '(GIO-)?(GiONEE[- ])?GN9004!',
1947
+ 26 => '(GIO-)?(GiONEE[- ])?GN9005!',
1948
+ 27 => '(GIO-)?(GiONEE[- ])?GN9006!',
1949
+ 28 => '(GIO-)?(GiONEE[- ])?GN9007!',
1950
+ 29 => '(GIO-)?(GiONEE[- ])?GN9008!',
1951
+ 30 => '(GIO-)?(GiONEE[- ])?GN9010!',
1952
+ 31 => '(GIO-)?(GiONEE[- ])?GN100T!',
1953
+ 32 => '(GIO-)?(GiONEE[- ])?GN100!',
1954
+ 33 => '(GIO-)?(GiONEE[- ])?GN105!',
1955
+ 34 => '(GIO-)?(GiONEE[- ])?GN106!',
1956
+ 35 => '(GIO-)?(GiONEE[- ])?GN107!',
1957
+ 36 => '(GIO-)?(GiONEE[- ])?GN108!',
1958
+ 37 => '(GIO-)?(GiONEE[- ])?GN109!',
1959
+ 38 => '(GIO-)?(GiONEE[- ])?GN135!',
1960
+ 39 => '(GIO-)?(GiONEE[- ])?GN136!',
1961
+ 40 => '(GIO-)?(GiONEE[- ])?GN137!',
1962
+ 41 => '(GIO-)?(GiONEE[- ])?GN139!',
1963
+ 42 => '(GIO-)?(GiONEE[- ])?GN150!',
1964
+ 43 => '(GIO-)?(GiONEE[- ])?GN151!',
1965
+ 44 => '(GIO-)?(GiONEE[- ])?GN152!',
1966
+ 45 => '(GIO-)?(GiONEE[- ])?GN160T!',
1967
+ 46 => '(GIO-)?(GiONEE[- ])?GN160!',
1968
+ 47 => '(GIO-)?(GiONEE[- ])?GN168T!',
1969
+ 48 => '(GIO-)?(GiONEE[- ])?GN170!',
1970
+ 49 => '(GIO-)?(GiONEE[- ])?GN180!',
1971
+ 50 => '(GIO-)?(GiONEE[- ])?GN181!',
1972
+ 51 => '(GIO-)?(GiONEE[- ])?GN200!',
1973
+ 52 => '(GIO-)?(GiONEE[- ])?GN205!',
1974
+ 53 => '(GIO-)?(GiONEE[- ])?GN210!',
1975
+ 54 => '(GIO-)?(GiONEE[- ])?GN305!',
1976
+ 55 => '(GIO-)?(GiONEE[- ])?GN320!',
1977
+ 56 => '(GIO-)?(GiONEE[- ])?GN360!',
1978
+ 57 => '(GIO-)?(GiONEE[- ])?GN380!',
1979
+ 58 => '(GIO-)?(GiONEE[- ])?GN600!',
1980
+ 59 => '(GIO-)?(GiONEE[- ])?GN700T!',
1981
+ 60 => '(GIO-)?(GiONEE[- ])?GN700W!',
1982
+ 61 => '(GIO-)?(GiONEE[- ])?GN705T!',
1983
+ 62 => '(GIO-)?(GiONEE[- ])?GN705W!',
1984
+ 63 => '(GIO-)?(GiONEE[- ])?GN706L!',
1985
+ 64 => '(GIO-)?(GiONEE[- ])?GN708T!',
1986
+ 65 => '(GIO-)?(GiONEE[- ])?GN708W!',
1987
+ 66 => '(GIO-)?(GiONEE[- ])?GN787!',
1988
+ 67 => '(GIO-)?(GiONEE[- ])?GN800!',
1989
+ 68 => '(GIO-)?(GiONEE[- ])?GN810!',
1990
+ 69 => '(GIO-)?(GiONEE[- ])?GN818T!',
1991
+ 70 => '(GIO-)?(GiONEE[- ])?GN858!',
1992
+ 71 => '(GIO-)?(GiONEE[- ])?GN868!',
1993
+ 72 => '(GIO-)?(GiONEE[- ])?GN878!',
1994
+ 73 => 'Gionee M1',
1995
+ 74 => 'Gionee M2',
1996
+ 75 => 'Gionee M3S',
1997
+ 76 => 'Gionee M5',
1998
+ 77 => '(GIO-)?(GiONEE[- ])?S101!',
1999
+ 78 => 'GiONEE TD500',
2000
+ 79 => '(GIO-)?(GiONEE[- ])?V182!',
2001
+ 80 => '(GIO-)?(GiONEE[- ])?V185!',
2002
+ 81 => '(GIO-)?(GiONEE[- ])?V188!',
2003
+ 82 => '(GIO-)?(GiONEE[- ])?W800!',
2004
+ 83 => '(GIO-)?(GiONEE[- ])?X817!',
2005
+ 84 => '(GIO-)?(GiONEE[- ])?Ctrl V1!',
2006
+ 85 => '(GIO-)?(GiONEE[- ])?Ctrl V2!',
2007
+ 86 => '(GIO-)?(GiONEE[- ])?Ctrl V3!',
2008
+ 87 => '(GIO-)?(GiONEE[- ])?Ctrl V4!',
2009
+ 88 => '(GIO-)?(GiONEE[- ])?Ctrl V5!',
2010
+ 89 => '(GIO-)?(GiONEE[- ])?Pioneer P1!',
2011
+ 90 => '(GIO-)?(GiONEE[- ])?Pioneer P2!',
2012
+ 91 => '(GIO-)?(GiONEE[- ])?Pioneer P3!',
2013
+ 92 => '(GIO-)?(GiONEE[- ])?Pioneer P4!',
2014
+ 93 => 'Gionee P3',
2015
+ 94 => 'Gionee P4',
2016
+ 95 => 'GiONEE S7',
2017
+ 96 => '(GIO-)?(GiONEE[- ])?Gpad G1!',
2018
+ 97 => '(GIO-)?(GiONEE[- ])?Gpad G2!',
2019
+ 98 => '(GIO-)?(GiONEE[- ])?Gpad G3!',
2020
+ 99 => 'GinDream/GinMagic',
2021
+ ),
2022
+ '@GK' =>
2023
+ array (
2024
+ 0 => 'GK802',
2025
+ ),
2026
+ '@GL' =>
2027
+ array (
2028
+ 0 => 'Glass 1',
2029
+ 1 => 'GLADIATOR',
2030
+ 2 => 'GLADIATOR-2',
2031
+ 3 => 'GLADIATOR 3',
2032
+ 4 => 'GLADIATOR 4',
2033
+ 5 => 'Glory',
2034
+ 6 => 'Glory 2',
2035
+ 7 => 'Glory3',
2036
+ 8 => 'GLORY 4',
2037
+ 9 => 'GloryG1000',
2038
+ 10 => 'GL-900',
2039
+ 11 => 'GLX!!',
2040
+ 12 => 'GL07S',
2041
+ ),
2042
+ '@GM' =>
2043
+ array (
2044
+ 0 => 'GM FOX',
2045
+ ),
2046
+ '@GN' =>
2047
+ array (
2048
+ 0 => '(GIO-)?(GiONEE[- ])?GN5001!',
2049
+ 1 => '(GIO-)?(GiONEE[- ])?GN5002!',
2050
+ 2 => '(GIO-)?(GiONEE[- ])?GN8001!',
2051
+ 3 => '(GIO-)?(GiONEE[- ])?GN9000!',
2052
+ 4 => '(GIO-)?(GiONEE[- ])?GN9001!',
2053
+ 5 => '(GIO-)?(GiONEE[- ])?GN9002!',
2054
+ 6 => '(GIO-)?(GiONEE[- ])?GN9004!',
2055
+ 7 => '(GIO-)?(GiONEE[- ])?GN9005!',
2056
+ 8 => '(GIO-)?(GiONEE[- ])?GN9006!',
2057
+ 9 => '(GIO-)?(GiONEE[- ])?GN9007!',
2058
+ 10 => '(GIO-)?(GiONEE[- ])?GN9008!',
2059
+ 11 => '(GIO-)?(GiONEE[- ])?GN9010!',
2060
+ 12 => '(GIO-)?(GiONEE[- ])?GN100T!',
2061
+ 13 => '(GIO-)?(GiONEE[- ])?GN100!',
2062
+ 14 => '(GIO-)?(GiONEE[- ])?GN105!',
2063
+ 15 => '(GIO-)?(GiONEE[- ])?GN106!',
2064
+ 16 => '(GIO-)?(GiONEE[- ])?GN107!',
2065
+ 17 => '(GIO-)?(GiONEE[- ])?GN108!',
2066
+ 18 => '(GIO-)?(GiONEE[- ])?GN109!',
2067
+ 19 => '(GIO-)?(GiONEE[- ])?GN135!',
2068
+ 20 => '(GIO-)?(GiONEE[- ])?GN136!',
2069
+ 21 => '(GIO-)?(GiONEE[- ])?GN137!',
2070
+ 22 => '(GIO-)?(GiONEE[- ])?GN139!',
2071
+ 23 => '(GIO-)?(GiONEE[- ])?GN150!',
2072
+ 24 => '(GIO-)?(GiONEE[- ])?GN151!',
2073
+ 25 => '(GIO-)?(GiONEE[- ])?GN152!',
2074
+ 26 => '(GIO-)?(GiONEE[- ])?GN160T!',
2075
+ 27 => '(GIO-)?(GiONEE[- ])?GN160!',
2076
+ 28 => '(GIO-)?(GiONEE[- ])?GN168T!',
2077
+ 29 => '(GIO-)?(GiONEE[- ])?GN170!',
2078
+ 30 => '(GIO-)?(GiONEE[- ])?GN180!',
2079
+ 31 => '(GIO-)?(GiONEE[- ])?GN181!',
2080
+ 32 => '(GIO-)?(GiONEE[- ])?GN200!',
2081
+ 33 => '(GIO-)?(GiONEE[- ])?GN205!',
2082
+ 34 => '(GIO-)?(GiONEE[- ])?GN210!',
2083
+ 35 => '(GIO-)?(GiONEE[- ])?GN305!',
2084
+ 36 => '(GIO-)?(GiONEE[- ])?GN320!',
2085
+ 37 => '(GIO-)?(GiONEE[- ])?GN360!',
2086
+ 38 => '(GIO-)?(GiONEE[- ])?GN380!',
2087
+ 39 => '(GIO-)?(GiONEE[- ])?GN600!',
2088
+ 40 => '(GIO-)?(GiONEE[- ])?GN700T!',
2089
+ 41 => '(GIO-)?(GiONEE[- ])?GN700W!',
2090
+ 42 => '(GIO-)?(GiONEE[- ])?GN705T!',
2091
+ 43 => '(GIO-)?(GiONEE[- ])?GN705W!',
2092
+ 44 => '(GIO-)?(GiONEE[- ])?GN706L!',
2093
+ 45 => '(GIO-)?(GiONEE[- ])?GN708T!',
2094
+ 46 => 'GN 708T',
2095
+ 47 => '(GIO-)?(GiONEE[- ])?GN708W!',
2096
+ 48 => '(GIO-)?(GiONEE[- ])?GN787!',
2097
+ 49 => '(GIO-)?(GiONEE[- ])?GN800!',
2098
+ 50 => '(GIO-)?(GiONEE[- ])?GN810!',
2099
+ 51 => '(GIO-)?(GiONEE[- ])?GN818T!',
2100
+ 52 => '(GIO-)?(GiONEE[- ])?GN858!',
2101
+ 53 => '(GIO-)?(GiONEE[- ])?GN868!',
2102
+ 54 => '(GIO-)?(GiONEE[- ])?GN878!',
2103
+ 55 => 'Gnappo Ideos',
2104
+ ),
2105
+ '@GO' =>
2106
+ array (
2107
+ 0 => 'google sdk',
2108
+ 1 => 'Google Ion',
2109
+ 2 => '(Google )?Nexus S!',
2110
+ 3 => '(Google )?Galaxy Nexus!',
2111
+ 4 => '(Google )?Nexus ?4!',
2112
+ 5 => '(Google )?Nexus ?5!',
2113
+ 6 => '(Google )?Nexus ?6!',
2114
+ 7 => '(Google )?Nexus ?7 2013!',
2115
+ 8 => '(Google )?Nexus ?7!',
2116
+ 9 => '(Google )?Nexus ?9!',
2117
+ 10 => '(Google )?Nexus ?10!',
2118
+ 11 => 'google cube',
2119
+ 12 => 'GOCL!!',
2120
+ 13 => 'GO Live!!',
2121
+ 14 => 'GOOPHONE!!',
2122
+ 15 => 'GO !!',
2123
+ 16 => 'GOA',
2124
+ 17 => 'GO778',
2125
+ 18 => 'GO980',
2126
+ 19 => 'Gomobile GO1001',
2127
+ ),
2128
+ '@GP' =>
2129
+ array (
2130
+ 0 => '(GP-|Geeksphone)!!',
2131
+ 1 => 'GP-431',
2132
+ 2 => 'GP-720',
2133
+ 3 => 'GPLUS GN708W',
2134
+ 4 => 'GPLUS N809',
2135
+ 5 => '(GIO-)?(GiONEE[- ])?Gpad G1!',
2136
+ 6 => '(GIO-)?(GiONEE[- ])?Gpad G2!',
2137
+ 7 => '(GIO-)?(GiONEE[- ])?Gpad G3!',
2138
+ ),
2139
+ '@GR' =>
2140
+ array (
2141
+ 0 => 'Grouper',
2142
+ 1 => 'GR-TB!!',
2143
+ 2 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
2144
+ 3 => 'greenridge',
2145
+ 4 => 'Graphos A10',
2146
+ 5 => '(ZTE )?Grand!!',
2147
+ 6 => 'Grand X',
2148
+ 7 => 'Grand X In',
2149
+ 8 => 'Grand X Intel',
2150
+ 9 => 'Grand X Pro',
2151
+ ),
2152
+ '@GS' =>
2153
+ array (
2154
+ 0 => 'GS01',
2155
+ 1 => '(Gsmart|Gigabyte|Rio)!!',
2156
+ 2 => 'GS02',
2157
+ 3 => 'GS03',
2158
+ ),
2159
+ '@GT' =>
2160
+ array (
2161
+ 0 => 'GT-I9505G',
2162
+ 1 => 'GT-810',
2163
+ 2 => 'GT-I7105',
2164
+ 3 => 'GT-I9810',
2165
+ 4 => 'GT-[HN][0-9]{4,4}!!',
2166
+ 5 => 'GT-9000',
2167
+ 6 => 'GT-[0-9]{4,4}!!',
2168
+ 7 => 'GT-i9377',
2169
+ 8 => 'GT-T9500',
2170
+ 9 => 'GT540',
2171
+ 10 => 'GT540f',
2172
+ 11 => 'GTV100',
2173
+ 12 => 'GT-B[0-9]{4,4}!!',
2174
+ 13 => 'GT-I[0-9]{3,4}!!',
2175
+ 14 => 'GT-N[0-9]{4,4}!!',
2176
+ 15 => 'GT-P[0-9]{4,4}!!',
2177
+ 16 => 'GT-S[0-9]{4,4}!!',
2178
+ 17 => 'GT-T959!',
2179
+ 18 => 'GT9100',
2180
+ 19 => 'GTablet',
2181
+ 20 => 'GtabComb',
2182
+ ),
2183
+ '@GV' =>
2184
+ array (
2185
+ 0 => 'GVON 898',
2186
+ ),
2187
+ '@GW' =>
2188
+ array (
2189
+ 0 => 'GW620',
2190
+ ),
2191
+ '@GX' =>
2192
+ array (
2193
+ 0 => 'GX1210V TV',
2194
+ ),
2195
+ '@H1' =>
2196
+ array (
2197
+ 0 => 'H120',
2198
+ ),
2199
+ '@H2' =>
2200
+ array (
2201
+ 0 => 'H2000+',
2202
+ ),
2203
+ '@H3' =>
2204
+ array (
2205
+ 0 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
2206
+ ),
2207
+ '@H6' =>
2208
+ array (
2209
+ 0 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
2210
+ ),
2211
+ '@H7' =>
2212
+ array (
2213
+ 0 => 'H701',
2214
+ 1 => 'H7100',
2215
+ 2 => 'H7500+',
2216
+ ),
2217
+ '@H8' =>
2218
+ array (
2219
+ 0 => 'H8 Life',
2220
+ 1 => 'H866C',
2221
+ 2 => 'H882L',
2222
+ ),
2223
+ '@H9' =>
2224
+ array (
2225
+ 0 => 'H9500',
2226
+ ),
2227
+ '@HA' =>
2228
+ array (
2229
+ 0 => 'HammerHead',
2230
+ 1 => '(Haier[- ])?H[ETW]- ?[A-Z][0-9]!!',
2231
+ 2 => 'Haier-W700',
2232
+ 3 => 'Haier-SY0880',
2233
+ 4 => 'HannsComb',
2234
+ 5 => 'Hannspadd',
2235
+ 6 => 'Hayabusa',
2236
+ ),
2237
+ '@HB' =>
2238
+ array (
2239
+ 0 => 'HB-100 DASAN',
2240
+ 1 => 'HB-100 DASAN Networks, Inc.',
2241
+ 2 => 'HB-1000',
2242
+ ),
2243
+ '@HD' =>
2244
+ array (
2245
+ 0 => 'HD2',
2246
+ 1 => 'HD2 LEO',
2247
+ 2 => 'HD7 Pro',
2248
+ ),
2249
+ '@HE' =>
2250
+ array (
2251
+ 0 => 'HEDY!!',
2252
+ 1 => 'HERO H7500+',
2253
+ 2 => 'Hero',
2254
+ 3 => 'HERO CDMA',
2255
+ 4 => 'HERO200',
2256
+ ),
2257
+ '@HI' =>
2258
+ array (
2259
+ 0 => '(Highscreen|Alpha|Bay|Cosmo|Explosion|Power|Prime|Zera)!!',
2260
+ 1 => 'HIKe!!',
2261
+ 2 => 'HILIVE H7',
2262
+ 3 => '(HS-)?Hisense!!',
2263
+ 4 => 'Hisense AD686G',
2264
+ 5 => '(Hisense )?(LED[0-9]{2,2}(G|K|L|EC|XT)[0-9]{2,3})!',
2265
+ 6 => 'Hisense Google TV TV',
2266
+ 7 => 'hisense gx1200v',
2267
+ 8 => '(Amaze|Hitech)!!',
2268
+ 9 => 'HITO HT-3',
2269
+ 10 => 'Hikari-iFrame!',
2270
+ 11 => 'HIGHWAY',
2271
+ 12 => 'HIGHWAY SIGNS',
2272
+ ),
2273
+ '@HK' =>
2274
+ array (
2275
+ 0 => 'HKPHONE H8-3G',
2276
+ ),
2277
+ '@HL' =>
2278
+ array (
2279
+ 0 => 'HLV-T!!',
2280
+ ),
2281
+ '@HM' =>
2282
+ array (
2283
+ 0 => 'HMP8100 ATV 93',
2284
+ 1 => 'HMP8100 ATV INT',
2285
+ 2 => 'HM 1',
2286
+ 3 => 'HM 1A',
2287
+ 4 => 'HM 1AC',
2288
+ 5 => 'HM 1S',
2289
+ 6 => 'HM 1SC',
2290
+ 7 => 'HM 1SLTETD',
2291
+ 8 => 'HM 1STD',
2292
+ 9 => 'HM 1SW',
2293
+ 10 => 'HM 2A',
2294
+ 11 => 'HM NOTE',
2295
+ 12 => 'HM NOTE 1LTE',
2296
+ 13 => 'HM NOTE 1LTETD',
2297
+ 14 => 'HM NOTE 1LTEW',
2298
+ 15 => 'HM NOTE 1LTEGLOBAL',
2299
+ 16 => 'HM NOTE 1TD',
2300
+ 17 => 'HM NOTE 1S',
2301
+ 18 => 'HM NOTE 1W',
2302
+ ),
2303
+ '@HN' =>
2304
+ array (
2305
+ 0 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
2306
+ ),
2307
+ '@HO' =>
2308
+ array (
2309
+ 0 => 'HOSIN!!',
2310
+ 1 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
2311
+ 2 => 'Honor3c2G-T',
2312
+ 3 => 'HOMESYNCT2WIFI',
2313
+ ),
2314
+ '@HP' =>
2315
+ array (
2316
+ 0 => '(HP|Slate)!!',
2317
+ 1 => 'HP!!',
2318
+ 2 => 'HP-TouchPad',
2319
+ 3 => '(HP )?Touchpad!',
2320
+ ),
2321
+ '@HS' =>
2322
+ array (
2323
+ 0 => 'HS-[0-9]{1,2}DTB!!',
2324
+ 1 => 'HS-[EFHITUX][0-9]!!',
2325
+ 2 => 'HS-E[GT][0-9]{3,3}!!',
2326
+ 3 => '(HS-)?Hisense!!',
2327
+ ),
2328
+ '@HT' =>
2329
+ array (
2330
+ 0 => '(HTC )?Nexus ?One!',
2331
+ 1 => 'HTC One',
2332
+ 2 => 'HTC!!',
2333
+ 3 => '(HTC|PCD|USCC)?ADR[0-9]{4,4}!!',
2334
+ 4 => '(HTC )?HT[LV][0-9]{2,2}!!',
2335
+ 5 => 'HTX21',
2336
+ 6 => 'HTC Dream',
2337
+ 7 => 'HTC Dream G1',
2338
+ 8 => 'HTC Dream SparksMod ',
2339
+ 9 => 'HTC Vision',
2340
+ 10 => 'HTC T-Mobile myTouch 3G Slide',
2341
+ 11 => 'HTC my ?Touch 3G Slide!',
2342
+ 12 => 'HTC Glacier',
2343
+ 13 => 'HTC Panache',
2344
+ 14 => 'HTC My ?Touch ?4G$!',
2345
+ 15 => 'HTC S910m',
2346
+ 16 => 'HTC myTouch 4G Slide',
2347
+ 17 => 'HTC Doubleshot',
2348
+ ),
2349
+ '@HU' =>
2350
+ array (
2351
+ 0 => 'HUAWEI WATCH',
2352
+ 1 => 'Huawei MediaPad',
2353
+ 2 => 'Huawei OsiMood MediaPad',
2354
+ 3 => 'HUAWEI MediaPad M1 8.0',
2355
+ 4 => 'Huawei MediaPad T1 7.0 3G',
2356
+ 5 => 'Huawei MediaPad T1 8.0 4G',
2357
+ 6 => 'Huawei MediaPad T1 10 4G',
2358
+ 7 => '(Huawei )?[MSTX](1|2|7|8|10)\\-[A-Z0-9][0-9]{2,2}!!',
2359
+ 8 => '(HUAWEI )?(CRR|MATE|MT1|MT2|MT7|M200|NXT|Z100)!!',
2360
+ 9 => '(HW-|HUAWEI )?(TIT|TAG)!!',
2361
+ 10 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
2362
+ 11 => '(HW-|HUAWEI )?(CHC|KII)!!',
2363
+ 12 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
2364
+ 13 => 'Huawei P7 mini',
2365
+ 14 => 'Huawei P8max',
2366
+ 15 => 'HUAWEI LUA-(L03|U23)!',
2367
+ 16 => 'HUAWEI CUN-(L03|U29)!',
2368
+ 17 => 'HUAWEI SCC-U21',
2369
+ 18 => '(Huawei|Ascend|HW-)!!',
2370
+ 19 => 'HUAWEI Honor 3c w',
2371
+ 20 => 'Huawei S7',
2372
+ 21 => 'Hudl HT7S3',
2373
+ 22 => 'Hudl 2',
2374
+ 23 => 'HUAWEI U8686',
2375
+ 24 => 'Huawei 858',
2376
+ ),
2377
+ '@HW' =>
2378
+ array (
2379
+ 0 => '(HW-|HUAWEI )?(TIT|TAG)!!',
2380
+ 1 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
2381
+ 2 => '(HW-|HUAWEI )?(CHC|KII)!!',
2382
+ 3 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
2383
+ 4 => '(Huawei|Ascend|HW-)!!',
2384
+ 5 => 'hwu8812D',
2385
+ 6 => 'HW-01E',
2386
+ 7 => 'HW-03E',
2387
+ ),
2388
+ '@HY' =>
2389
+ array (
2390
+ 0 => 'HY5001',
2391
+ 1 => 'HYUNDAI!!',
2392
+ 2 => 'Hydro',
2393
+ 3 => 'Hydro PLUS',
2394
+ ),
2395
+ '@I ' =>
2396
+ array (
2397
+ 0 => 'I 7520',
2398
+ ),
2399
+ '@I-' =>
2400
+ array (
2401
+ 0 => 'i-Joy i-Call',
2402
+ 1 => 'i-Call 300',
2403
+ 2 => 'i-Call 300v2',
2404
+ 3 => 'i-Call 504',
2405
+ 4 => '(i-mobile|i-style|IQ)!!',
2406
+ ),
2407
+ '@I1' =>
2408
+ array (
2409
+ 0 => 'I110',
2410
+ 1 => 'i1',
2411
+ ),
2412
+ '@I3' =>
2413
+ array (
2414
+ 0 => 'i3000',
2415
+ ),
2416
+ '@I5' =>
2417
+ array (
2418
+ 0 => 'i5300',
2419
+ 1 => 'i5350',
2420
+ ),
2421
+ '@I6' =>
2422
+ array (
2423
+ 0 => 'i6000',
2424
+ ),
2425
+ '@I7' =>
2426
+ array (
2427
+ 0 => 'I7500',
2428
+ ),
2429
+ '@I8' =>
2430
+ array (
2431
+ 0 => 'i8400',
2432
+ 1 => 'i8450',
2433
+ 2 => 'i803w',
2434
+ 3 => 'I897',
2435
+ ),
2436
+ '@I9' =>
2437
+ array (
2438
+ 0 => 'I9220',
2439
+ 1 => 'i9400',
2440
+ 2 => 'i9430',
2441
+ 3 => 'i9480',
2442
+ 4 => 'i9500',
2443
+ 5 => 'i9570',
2444
+ 6 => 'I9000',
2445
+ 7 => 'I9300 Galaxy SIII ',
2446
+ 8 => 'I9300',
2447
+ ),
2448
+ '@IB' =>
2449
+ array (
2450
+ 0 => '(iBall )?Andi!!',
2451
+ 1 => 'iBall!!',
2452
+ 2 => '(Aura|iberry|AUXUS)!!',
2453
+ ),
2454
+ '@IC' =>
2455
+ array (
2456
+ 0 => 'ICONIA!!',
2457
+ 1 => 'IconBit NetTab Thor Mini',
2458
+ ),
2459
+ '@ID' =>
2460
+ array (
2461
+ 0 => '(Digma )?iD[jmnsx][DQ]?[0-9]*!!',
2462
+ 1 => 'IDEOS!!',
2463
+ 2 => 'IdeaPad A1',
2464
+ 3 => 'IdeaPadA10',
2465
+ 4 => 'Ideapad K1!',
2466
+ 5 => 'Ideapad S10-3T',
2467
+ 6 => '(Lenovo ?)?(IdeaTab ?)?[AB][0-9]{4,4}!!',
2468
+ 7 => '(Lenovo ?)?(IdeaTab ?)?[KSV][0-9]{4,4}!!',
2469
+ 8 => 'idea ?tv!!',
2470
+ ),
2471
+ '@IF' =>
2472
+ array (
2473
+ 0 => 'ifive!!',
2474
+ ),
2475
+ '@IG' =>
2476
+ array (
2477
+ 0 => 'IGGY',
2478
+ ),
2479
+ '@IL' =>
2480
+ array (
2481
+ 0 => '(Ilium )?Avvio!!',
2482
+ 1 => 'ILT-MX100',
2483
+ 2 => '(Lanix )?(Ilium|llium)!!',
2484
+ ),
2485
+ '@IM' =>
2486
+ array (
2487
+ 0 => 'imx50!',
2488
+ 1 => 'imx51!',
2489
+ 2 => 'imx53!',
2490
+ 3 => 'imx6q!',
2491
+ 4 => 'IMO!!',
2492
+ 5 => 'Im(Smart|PAD)!!',
2493
+ 6 => '(SKY )?IM[- ][A-Z][0-9]{3,3}!!',
2494
+ ),
2495
+ '@IN' =>
2496
+ array (
2497
+ 0 => '(Explay|X-tremer|ActiveD|Informer|Surfer)!!',
2498
+ 1 => 'INSIGNIA 5',
2499
+ 2 => 'INSIGNIA 5X',
2500
+ 3 => 'Inspire HD',
2501
+ 4 => 'Incredible',
2502
+ 5 => 'Incredible 2',
2503
+ 6 => 'Incredible ?S!',
2504
+ 7 => 'Incredible ?2!',
2505
+ 8 => 'Incredible 4G LTE',
2506
+ 9 => 'Inspire 4G',
2507
+ 10 => 'INFOBAR!!',
2508
+ 11 => 'Infinix!!',
2509
+ 12 => 'IN[0-9]{3,3}!!',
2510
+ 13 => 'Infocus!!',
2511
+ 14 => 'INHON PAPILIO G1',
2512
+ 15 => 'intki E86',
2513
+ 16 => 'Innos!!',
2514
+ 17 => '(Intex )?Aqua!!',
2515
+ 18 => '(Intex )?Cloud!!',
2516
+ 19 => 'INTEX IRIS-II',
2517
+ 20 => 'INQ Cloud Touch',
2518
+ 21 => 'INQ Mayfair (EU)',
2519
+ 22 => '(iNote|itel)!!',
2520
+ 23 => 'Infinity',
2521
+ 24 => 'Internet TV',
2522
+ 25 => 'Internet TV Box',
2523
+ ),
2524
+ '@IO' =>
2525
+ array (
2526
+ 0 => 'iOCEAN!!',
2527
+ ),
2528
+ '@IP' =>
2529
+ array (
2530
+ 0 => 'iP977',
2531
+ 1 => 'IPRO i5S',
2532
+ ),
2533
+ '@IQ' =>
2534
+ array (
2535
+ 0 => '(Fly )?IQ ?[0-9]{3,4}!!',
2536
+ 1 => 'iQ(Talk|Tab)!!',
2537
+ 2 => '(i-mobile|i-style|IQ)!!',
2538
+ ),
2539
+ '@IR' =>
2540
+ array (
2541
+ 0 => 'Iris!!',
2542
+ ),
2543
+ '@IS' =>
2544
+ array (
2545
+ 0 => 'IS11CA',
2546
+ 1 => 'ISW?[0-9]{2,2}F!!',
2547
+ 2 => 'ISW[0-9]{2,2}HT!!',
2548
+ 3 => 'ISW11K',
2549
+ 4 => 'IS11LG',
2550
+ 5 => 'ISW11M',
2551
+ 6 => 'IS12M',
2552
+ 7 => 'IS11N',
2553
+ 8 => 'IS06',
2554
+ 9 => 'IS11PT',
2555
+ 10 => 'IS703C',
2556
+ 11 => 'IS801C',
2557
+ 12 => 'ISW11SC',
2558
+ 13 => 'IS0[0-9]!!',
2559
+ 14 => 'ISW?1[0-9]SH!!',
2560
+ 15 => 'IS[0-9]{2,2}S!!',
2561
+ 16 => 'IS04',
2562
+ 17 => 'IS11T',
2563
+ ),
2564
+ '@IT' =>
2565
+ array (
2566
+ 0 => '(iNote|itel)!!',
2567
+ ),
2568
+ '@IV' =>
2569
+ array (
2570
+ 0 => 'IVIO!!',
2571
+ ),
2572
+ '@IW' =>
2573
+ array (
2574
+ 0 => 'iwoo i900',
2575
+ ),
2576
+ '@IX' =>
2577
+ array (
2578
+ 0 => 'iX101T1',
2579
+ 1 => 'iX101T1-2G',
2580
+ 2 => 'iX101T1-XS',
2581
+ ),
2582
+ '@JA' =>
2583
+ array (
2584
+ 0 => 'Jaguar3',
2585
+ 1 => 'Jaguar7',
2586
+ ),
2587
+ '@JC' =>
2588
+ array (
2589
+ 0 => 'JC-S9220',
2590
+ 1 => 'JC-A[0-9]{3,3}!!',
2591
+ 2 => 'JC-KSP8000',
2592
+ ),
2593
+ '@JI' =>
2594
+ array (
2595
+ 0 => '(JIAYU|JY-)!!',
2596
+ 1 => 'JIMMY',
2597
+ ),
2598
+ '@JJ' =>
2599
+ array (
2600
+ 0 => 'JJ5S+',
2601
+ ),
2602
+ '@JO' =>
2603
+ array (
2604
+ 0 => 'Jolla',
2605
+ 1 => 'Joy',
2606
+ ),
2607
+ '@JT' =>
2608
+ array (
2609
+ 0 => 'JT SmartPC02',
2610
+ 1 => 'JT-Smart PC01',
2611
+ 2 => 'JT-H580VT',
2612
+ 3 => 'JT-H581VT',
2613
+ 4 => 'JT-B1',
2614
+ ),
2615
+ '@JX' =>
2616
+ array (
2617
+ 0 => 'JXD!!',
2618
+ ),
2619
+ '@JY' =>
2620
+ array (
2621
+ 0 => '(JIAYU|JY-)!!',
2622
+ ),
2623
+ '@K-' =>
2624
+ array (
2625
+ 0 => 'K-?Touch!!',
2626
+ ),
2627
+ '@K0' =>
2628
+ array (
2629
+ 0 => 'K00C',
2630
+ 1 => 'K010',
2631
+ 2 => 'K010E',
2632
+ 3 => 'K018',
2633
+ 4 => 'K014',
2634
+ 5 => 'K01B',
2635
+ 6 => 'K00G',
2636
+ 7 => 'K00E',
2637
+ 8 => 'K00Y',
2638
+ 9 => 'K00Z',
2639
+ 10 => 'K012',
2640
+ 11 => 'K019',
2641
+ 12 => 'K01F',
2642
+ 13 => 'K01N',
2643
+ 14 => 'K01Q',
2644
+ 15 => 'K016',
2645
+ 16 => 'K01E',
2646
+ 17 => 'K00X',
2647
+ 18 => 'K00R',
2648
+ 19 => 'K007',
2649
+ 20 => 'K013',
2650
+ 21 => 'K013C',
2651
+ 22 => 'K017',
2652
+ 23 => 'K01A',
2653
+ 24 => 'K012 2',
2654
+ 25 => 'K01U',
2655
+ 26 => 'K00S',
2656
+ 27 => 'K00U',
2657
+ 28 => 'K011',
2658
+ 29 => 'K015',
2659
+ 30 => 'K01H',
2660
+ 31 => 'K00L',
2661
+ 32 => 'K00F',
2662
+ 33 => 'K080',
2663
+ ),
2664
+ '@K1' =>
2665
+ array (
2666
+ 0 => 'K11',
2667
+ 1 => 'K1',
2668
+ ),
2669
+ '@K3' =>
2670
+ array (
2671
+ 0 => 'K3',
2672
+ ),
2673
+ '@K8' =>
2674
+ array (
2675
+ 0 => '(CUBE ?)?(K8|U1|U2|U3|U5|U6|U8|U9)[0-9]?GT!!',
2676
+ ),
2677
+ '@KA' =>
2678
+ array (
2679
+ 0 => 'Karbonn!!',
2680
+ 1 => '(Karbonn|Titanium)!!',
2681
+ 2 => '(KAZAM|Thunder|Tornado|Trooper)!!',
2682
+ 3 => '(KATBL|Agora)!!',
2683
+ ),
2684
+ '@KB' =>
2685
+ array (
2686
+ 0 => 'KB901',
2687
+ ),
2688
+ '@KC' =>
2689
+ array (
2690
+ 0 => 'KC-01',
2691
+ 1 => 'KC-S301AE',
2692
+ 2 => 'KC-S701',
2693
+ 3 => 'KCP01K',
2694
+ ),
2695
+ '@KE' =>
2696
+ array (
2697
+ 0 => 'KENEKSI',
2698
+ ),
2699
+ '@KF' =>
2700
+ array (
2701
+ 0 => 'KFOTE?!',
2702
+ 1 => 'KFTT',
2703
+ 2 => 'KFJW(I|A)!',
2704
+ 3 => 'KFJMWI',
2705
+ 4 => 'KFSOWI',
2706
+ 5 => 'KFTHW(I|A)!',
2707
+ 6 => 'KFAPW(I|A)!',
2708
+ 7 => 'KFARWI',
2709
+ 8 => 'KFASWI',
2710
+ 9 => 'KFSAW(I|A)!',
2711
+ 10 => 'KFFOWI',
2712
+ 11 => 'KFMEWI',
2713
+ 12 => 'KFTBWI',
2714
+ ),
2715
+ '@KI' =>
2716
+ array (
2717
+ 0 => 'Kindle Fire',
2718
+ 1 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
2719
+ 2 => '(HW-|HUAWEI )?(CHC|KII)!!',
2720
+ 3 => 'KIOTO 793',
2721
+ 4 => 'KITE',
2722
+ 5 => 'KIS',
2723
+ 6 => 'KIS PLUS',
2724
+ 7 => 'KIS II',
2725
+ 8 => 'KIS II Max',
2726
+ 9 => 'KIS C341',
2727
+ 10 => 'Kis T3',
2728
+ ),
2729
+ '@KM' =>
2730
+ array (
2731
+ 0 => '(EV|KM)-[ES][0-9]{3,3}!!',
2732
+ ),
2733
+ '@KN' =>
2734
+ array (
2735
+ 0 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
2736
+ ),
2737
+ '@KO' =>
2738
+ array (
2739
+ 0 => 'Konka Amber3',
2740
+ 1 => 'KOMU!!',
2741
+ 2 => 'KONKA!!',
2742
+ 3 => 'koobee-T550',
2743
+ 4 => 'Koobe!!',
2744
+ 5 => 'KORIDY H15',
2745
+ 6 => 'KORIDY H16',
2746
+ ),
2747
+ '@KP' =>
2748
+ array (
2749
+ 0 => 'KPT!!',
2750
+ 1 => 'KPN!!',
2751
+ ),
2752
+ '@KS' =>
2753
+ array (
2754
+ 0 => 'KSP8000',
2755
+ ),
2756
+ '@KU' =>
2757
+ array (
2758
+ 0 => 'Kurio!!',
2759
+ 1 => 'KU9500',
2760
+ 2 => 'KUNO4',
2761
+ 3 => 'KUNO 4+',
2762
+ ),
2763
+ '@KY' =>
2764
+ array (
2765
+ 0 => 'KYV33',
2766
+ 1 => 'Kyobo mirasol eReader',
2767
+ 2 => 'KYL[0-9]{2,2}!!',
2768
+ 3 => '(USCC-|KYOCERA-)?E[0-9]{4,4}!!',
2769
+ 4 => '(USCC-|KYOCERA-)?C[0-9]{4,4}!!',
2770
+ 5 => 'KY[FLTYV][0-9]{2,2}!!',
2771
+ 6 => 'Kyivstar!!',
2772
+ ),
2773
+ '@L' =>
2774
+ array (
2775
+ 0 => '(Hisense )?(LED[0-9]{2,2}(G|K|L|EC|XT)[0-9]{2,3})!',
2776
+ ),
2777
+ '@L-' =>
2778
+ array (
2779
+ 0 => 'L-0[0-9][A-Z]!!',
2780
+ ),
2781
+ '@L3' =>
2782
+ array (
2783
+ 0 => 'L3',
2784
+ ),
2785
+ '@L9' =>
2786
+ array (
2787
+ 0 => 'l97D',
2788
+ ),
2789
+ '@LA' =>
2790
+ array (
2791
+ 0 => 'LA-!!',
2792
+ 1 => '(Lanix )?(Ilium|llium)!!',
2793
+ 2 => 'Lark!!',
2794
+ 3 => 'LAVA iris 351',
2795
+ 4 => 'LAVA iRIS 504q',
2796
+ 5 => 'LAVA S12',
2797
+ 6 => 'LAP250U',
2798
+ 7 => 'LAP255U',
2799
+ 8 => 'LaVieTab!!',
2800
+ 9 => 'LA-I Dual core',
2801
+ 10 => 'LA-M3',
2802
+ 11 => 'LA1-L',
2803
+ 12 => 'LA2-E',
2804
+ 13 => 'LA2-E1',
2805
+ 14 => 'LA2-L',
2806
+ 15 => 'LA2-T',
2807
+ 16 => 'LA2-T1',
2808
+ 17 => 'LA2-W',
2809
+ 18 => 'LA2-W1',
2810
+ 19 => 'LA3-W',
2811
+ 20 => 'LA3S',
2812
+ 21 => 'LA5-W',
2813
+ ),
2814
+ '@LC' =>
2815
+ array (
2816
+ 0 => '(AC|BC|LC|MT|RC|QS|VM|TS|OC)[0-9]{4,4}[A-Z]!!',
2817
+ 1 => 'LC-Ux30US',
2818
+ 2 => 'LC-[0-9]{2,2}((LE|UE)[0-9]{1,3}[A-Z])!',
2819
+ 3 => 'LC-((A|S|LX)[0-9]{1,3}[A-Z])!',
2820
+ 4 => 'LCD-((S|V|LX|UF)[0-9]{1,3}[A-Z])!',
2821
+ ),
2822
+ '@LD' =>
2823
+ array (
2824
+ 0 => 'LDK-ICK v1.4',
2825
+ ),
2826
+ '@LE' =>
2827
+ array (
2828
+ 0 => '(LE[0-9]{2,2}[BMU][0-9]{4,4}[A-Z]+)!',
2829
+ 1 => '(Hisense )?(LED[0-9]{2,2}(G|K|L|EC|XT)[0-9]{2,3})!',
2830
+ 2 => 'Legend',
2831
+ 3 => 'leepoo!!',
2832
+ 4 => 'LEMON P7',
2833
+ 5 => 'Lenco!!',
2834
+ 6 => 'LENCM900HZ',
2835
+ 7 => 'Lenovo A1-32AB0',
2836
+ 8 => 'Lenovo A1-32AJ0',
2837
+ 9 => 'Lenovo IdeaPad Yoga 11S',
2838
+ 10 => 'Lenovo IdeaPad Yoga 13',
2839
+ 11 => '(Lenovo ?)?(IdeaTab ?)?[AB][0-9]{4,4}!!',
2840
+ 12 => 'Lenovo YT3-X90L',
2841
+ 13 => '(Lenovo )?(Tab ?)?(2 ?)?[AS](7|8|10)!!',
2842
+ 14 => '(Lenovo ?)?(IdeaTab ?)?[KSV][0-9]{4,4}!!',
2843
+ 15 => 'Lenovo Pad A4',
2844
+ 16 => 'Lenovo',
2845
+ 17 => 'lepad 001b',
2846
+ 18 => 'lepad 001n',
2847
+ 19 => '(Lenovo |Lephone )?3GC101!',
2848
+ 20 => '(Lenovo |Lephone )?3GW100!',
2849
+ 21 => '(Lenovo |Lephone )?3GW101!',
2850
+ 22 => '(Lenovo )?S1[- ]37AH0!',
2851
+ 23 => '(Lenovo )?S2[- ]38A(H0|T0)!',
2852
+ 24 => 'Lenovo!!',
2853
+ 25 => 'LenovoTV 40S9',
2854
+ 26 => 'LenovoTV 50S52',
2855
+ 27 => '(BLF-)?lephone!!',
2856
+ 28 => 'Le Pan TC802A',
2857
+ 29 => 'Le Pan TC1010',
2858
+ 30 => 'Le Pan TC1020',
2859
+ 31 => 'LePanII',
2860
+ 32 => 'Le Pan S',
2861
+ 33 => 'LENNY',
2862
+ 34 => 'LENNY2',
2863
+ ),
2864
+ '@LG' =>
2865
+ array (
2866
+ 0 => 'LGE-lap crespo',
2867
+ 1 => 'LGE-lap maguro',
2868
+ 2 => 'LGE-maguro cappuccino',
2869
+ 3 => 'LGE-lap mako',
2870
+ 4 => 'LG-Nexus5',
2871
+ 5 => 'LG-Watch Urbane',
2872
+ 6 => 'LG-AN160',
2873
+ 7 => 'LG-?AS[0-9]{3,3}!!',
2874
+ 8 => 'LG-?C[0-9]{3,3}!!',
2875
+ 9 => 'LG-CX670',
2876
+ 10 => 'LG-?D[0-9]{3,3}!!',
2877
+ 11 => 'LG-DS1203',
2878
+ 12 => 'LG-?E[0-9]{3,3}!!',
2879
+ 13 => 'LG-F[0-9]{3,3}!!',
2880
+ 14 => 'LG-GT540!',
2881
+ 15 => 'LG-GW620!',
2882
+ 16 => 'LG-H[0-9]{3,3}!!',
2883
+ 17 => 'LG-K[0-9]{3,3}!!',
2884
+ 18 => 'LG-KH5200',
2885
+ 19 => 'LG-KS1024',
2886
+ 20 => 'LG-KU[0-9]{4,4}!!',
2887
+ 21 => 'LG-?L[0-9]{2,3}[A-Z]!!',
2888
+ 22 => 'LG-LG[0-9]{3,3}!!',
2889
+ 23 => 'LGLK430',
2890
+ 24 => 'LG-?LS[0-9]{3,3}!!',
2891
+ 25 => 'LG-LU[0-9]{4,4}!!',
2892
+ 26 => 'LG-LW690',
2893
+ 27 => 'LG-LW770',
2894
+ 28 => 'LG-?MS[0-9]{3,3}!!',
2895
+ 29 => 'LG-P[0-9]{3,3}!!',
2896
+ 30 => 'LG-SU[0-9]{3,3}!!',
2897
+ 31 => 'LG-SU-760',
2898
+ 32 => 'LGUK410',
2899
+ 33 => 'LGUK932',
2900
+ 34 => 'LG-UN350',
2901
+ 35 => 'LG-?US[0-9]{3,3}!!',
2902
+ 36 => 'LG-V[0-9]{3,3}!!',
2903
+ 37 => 'LG-VK[0-9]{3,3}!!',
2904
+ 38 => 'LG-VN[0-9]{3,3}!!',
2905
+ 39 => 'LG-VM[0-9]{3,3}!!',
2906
+ 40 => 'LG-VS[0-9]{3,3}!!',
2907
+ 41 => 'LG-X[0-9]{3,3}!!',
2908
+ 42 => 'lge-F160!',
2909
+ 43 => 'LGE-E988!',
2910
+ 44 => 'lgp-970',
2911
+ 45 => 'LG[LSTV][0-9]{2,2}!!',
2912
+ 46 => 'LG!!',
2913
+ 47 => 'LG-Google TV!!',
2914
+ 48 => 'LG-ANDROID MINI BOX',
2915
+ 49 => 'LG-P999',
2916
+ 50 => 'LG-E739',
2917
+ 51 => 'LG-C800',
2918
+ ),
2919
+ '@LI' =>
2920
+ array (
2921
+ 0 => 'Liquid!!',
2922
+ 1 => '(BLU|DASH|LIFE|NEO|STUDIO|VIVO)!!',
2923
+ 2 => 'Liberty',
2924
+ 3 => '(MEDION|(MD )?LIFETAB)!!',
2925
+ 4 => 'Life',
2926
+ 5 => 'Liberty Tab G100',
2927
+ 6 => 'Live ?With ?Walkman!',
2928
+ 7 => 'Light Tab',
2929
+ 8 => 'Light Tab 2',
2930
+ 9 => 'Light Tab 2W',
2931
+ ),
2932
+ '@LL' =>
2933
+ array (
2934
+ 0 => '(Lanix )?(Ilium|llium)!!',
2935
+ ),
2936
+ '@LO' =>
2937
+ array (
2938
+ 0 => 'LogicPD Zoom2',
2939
+ 1 => 'Loox',
2940
+ ),
2941
+ '@LS' =>
2942
+ array (
2943
+ 0 => 'LS670',
2944
+ 1 => 'LS740',
2945
+ ),
2946
+ '@LT' =>
2947
+ array (
2948
+ 0 => 'LT[0-9]{4,4}!!',
2949
+ 1 => 'LTB-HS',
2950
+ 2 => 'LT-TLA',
2951
+ 3 => 'LT-NA7',
2952
+ 4 => 'LT-NA7F',
2953
+ 5 => '(SNM\\-)?LT[0-9]{2,2}[a-z]?!!',
2954
+ ),
2955
+ '@LU' =>
2956
+ array (
2957
+ 0 => 'LUXURY',
2958
+ 1 => 'LUXURY 3',
2959
+ 2 => 'LUXURY 4',
2960
+ 3 => 'LUXURY 5',
2961
+ 4 => 'Lucky Ultra Sonic U8650',
2962
+ 5 => 'LU2300',
2963
+ 6 => 'Lumia800',
2964
+ 7 => 'Lumia 900',
2965
+ 8 => 'Luna TAB07-920N',
2966
+ 9 => 'Luna TAB07-100',
2967
+ 10 => 'Luna TAB07-101',
2968
+ 11 => 'Luna TAB274',
2969
+ 12 => 'Luna TAB374',
2970
+ 13 => 'Luna TAB474',
2971
+ 14 => 'Luna TAB10-150',
2972
+ 15 => 'Luno',
2973
+ ),
2974
+ '@M' =>
2975
+ array (
2976
+ 0 => '(DNS )?(Airtab )?(E|M|MA|MF|MW|P|PC|PF)[0-9]{2,4}!!',
2977
+ ),
2978
+ '@M ' =>
2979
+ array (
2980
+ 0 => 'M POP 5020A',
2981
+ 1 => 'M POP',
2982
+ ),
2983
+ '@M-' =>
2984
+ array (
2985
+ 0 => 'M-270',
2986
+ 1 => 'M-PAD N8',
2987
+ ),
2988
+ '@M0' =>
2989
+ array (
2990
+ 0 => 'M01',
2991
+ 1 => 'M02',
2992
+ 2 => 'M01T',
2993
+ 3 => 'M009F',
2994
+ 4 => 'M030',
2995
+ 5 => 'M031',
2996
+ 6 => 'M032',
2997
+ 7 => 'M040',
2998
+ 8 => 'M045',
2999
+ ),
3000
+ '@M1' =>
3001
+ array (
3002
+ 0 => 'M19',
3003
+ 1 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
3004
+ 2 => 'M1050S',
3005
+ 3 => 'm1 note',
3006
+ 4 => 'M1001',
3007
+ 5 => 'M12',
3008
+ ),
3009
+ '@M2' =>
3010
+ array (
3011
+ 0 => '(HUAWEI )?(CRR|MATE|MT1|MT2|MT7|M200|NXT|Z100)!!',
3012
+ 1 => 'M210',
3013
+ 2 => 'm2 note',
3014
+ ),
3015
+ '@M3' =>
3016
+ array (
3017
+ 0 => 'M3 Enjoy TV Box',
3018
+ 1 => 'M3-2200',
3019
+ 2 => 'M305',
3020
+ 3 => 'M350',
3021
+ 4 => 'M363',
3022
+ 5 => 'M310',
3023
+ 6 => 'M370i',
3024
+ 7 => 'M351',
3025
+ 8 => 'M353',
3026
+ 9 => 'M355',
3027
+ 10 => 'M356',
3028
+ ),
3029
+ '@M4' =>
3030
+ array (
3031
+ 0 => 'M4301',
3032
+ 1 => 'M470BSA',
3033
+ 2 => 'M470BSE',
3034
+ 3 => 'M4(TEL)? SS[0-9]{3,4}!!',
3035
+ ),
3036
+ '@M5' =>
3037
+ array (
3038
+ 0 => 'M555',
3039
+ 1 => 'M532',
3040
+ 2 => 'M571C',
3041
+ 3 => 'M578C',
3042
+ ),
3043
+ '@M6' =>
3044
+ array (
3045
+ 0 => 'M650',
3046
+ 1 => 'M660',
3047
+ 2 => 'M6',
3048
+ ),
3049
+ '@M7' =>
3050
+ array (
3051
+ 0 => 'M701C',
3052
+ 1 => 'M702',
3053
+ 2 => 'M758A',
3054
+ 3 => 'M7CDTU',
3055
+ 4 => 'M70',
3056
+ 5 => 'M785',
3057
+ 6 => 'M726HC',
3058
+ 7 => 'M70014',
3059
+ ),
3060
+ '@M8' =>
3061
+ array (
3062
+ 0 => 'M801',
3063
+ 1 => 'M860',
3064
+ 2 => 'M865',
3065
+ 3 => 'M886',
3066
+ 4 => 'M8',
3067
+ 5 => 'M8 pro',
3068
+ ),
3069
+ '@M9' =>
3070
+ array (
3071
+ 0 => 'M975',
3072
+ 1 => 'M9300',
3073
+ 2 => 'M9',
3074
+ 3 => 'M9-unlocked',
3075
+ 4 => 'M9 pro',
3076
+ 5 => 'M9000',
3077
+ ),
3078
+ '@MA' =>
3079
+ array (
3080
+ 0 => 'Maguro',
3081
+ 1 => 'Mako',
3082
+ 2 => 'manta',
3083
+ 3 => '(bq|Aquaris|Edison|Maxwell)!!',
3084
+ 4 => '(DNS )?(Airtab )?(E|M|MA|MF|MW|P|PC|PF)[0-9]{2,4}!!',
3085
+ 5 => '(HUAWEI )?(CRR|MATE|MT1|MT2|MT7|M200|NXT|Z100)!!',
3086
+ 6 => 'Malata!!',
3087
+ 7 => 'Masstel!!',
3088
+ 8 => 'MASTONE!!',
3089
+ 9 => 'Maxtron!!',
3090
+ 10 => 'magi',
3091
+ 11 => 'MagicBox',
3092
+ ),
3093
+ '@MB' =>
3094
+ array (
3095
+ 0 => 'MBX DVBT reference board (c03ref)',
3096
+ 1 => 'MBX Dongle board!',
3097
+ 2 => 'MBX reference board!',
3098
+ 3 => '(NMP|MBR|XDK|XDS|XMP)\\-!!',
3099
+ 4 => 'MBS BEAN 454',
3100
+ 5 => 'MB[0-9]{3,3}!!',
3101
+ ),
3102
+ '@MC' =>
3103
+ array (
3104
+ 0 => 'MC002',
3105
+ 1 => 'MC32N0',
3106
+ 2 => 'MC40N0',
3107
+ 3 => 'MC67NA',
3108
+ ),
3109
+ '@MD' =>
3110
+ array (
3111
+ 0 => '(MEDION|(MD )?LIFETAB)!!',
3112
+ 1 => 'MD-[0-9]{4,4}!!',
3113
+ ),
3114
+ '@ME' =>
3115
+ array (
3116
+ 0 => 'ME102A',
3117
+ 1 => 'ME180A',
3118
+ 2 => 'ME171',
3119
+ 3 => 'ME172V',
3120
+ 4 => 'ME173X',
3121
+ 5 => 'ME301T',
3122
+ 6 => 'ME302C',
3123
+ 7 => 'ME302KL',
3124
+ 8 => 'ME370T',
3125
+ 9 => 'ME371MG',
3126
+ 10 => 'ME372CG',
3127
+ 11 => 'ME372CL-FF',
3128
+ 12 => 'ME560CG',
3129
+ 13 => 'ME581CL',
3130
+ 14 => 'MeMO Pad 7',
3131
+ 15 => 'MediaPad!!',
3132
+ 16 => 'Mediacom 810C',
3133
+ 17 => '(MEDION|(MD )?LIFETAB)!!',
3134
+ 18 => 'MEEG!!',
3135
+ 19 => 'meizu m1note',
3136
+ 20 => 'MEIZU M9',
3137
+ 21 => 'MEIZU MX',
3138
+ 22 => '(MEO )?Smart A!!',
3139
+ 23 => 'MEU AN!!',
3140
+ 24 => 'ME[0-9]{3,3}!!',
3141
+ 25 => 'MEM02',
3142
+ 26 => 'MegaFon SP-AI',
3143
+ 27 => 'MegaFon SP-A3',
3144
+ 28 => 'MegaFon SP-A5',
3145
+ 29 => 'MegaFon SP-A10',
3146
+ 30 => 'MegaFon V9',
3147
+ 31 => 'MegaFon V9+',
3148
+ 32 => 'MegaFon SIM+',
3149
+ 33 => 'MegaFon Login 3',
3150
+ ),
3151
+ '@MF' =>
3152
+ array (
3153
+ 0 => 'mfld (dv10|dv20|gi|lw00|pr2|pr3)!',
3154
+ 1 => '(DNS )?(Airtab )?(E|M|MA|MF|MW|P|PC|PF)[0-9]{2,4}!!',
3155
+ 2 => 'MFC[0-9]!!',
3156
+ ),
3157
+ '@MH' =>
3158
+ array (
3159
+ 0 => 'MH350',
3160
+ ),
3161
+ '@MI' =>
3162
+ array (
3163
+ 0 => 'MID1040C',
3164
+ 1 => 'MID[0-9]{4,4}!!',
3165
+ 2 => 'Mini 3iG',
3166
+ 3 => 'MINT-DG330',
3167
+ 4 => 'MID1018',
3168
+ 5 => 'MID1028',
3169
+ 6 => 'MITO!!',
3170
+ 7 => 'Mi438S',
3171
+ 8 => 'MID Ser(ai|ia)ls!',
3172
+ 9 => 'MIUI.us Sensation 4G',
3173
+ 10 => 'MID[0-9]!!',
3174
+ 11 => 'Mi-A402',
3175
+ 12 => 'Micromax!!',
3176
+ 13 => 'Mio!!',
3177
+ 14 => 'MIZ Z2',
3178
+ 15 => 'Milestone XT711',
3179
+ 16 => 'Milestone XT720',
3180
+ 17 => 'Milestone',
3181
+ 18 => 'Milestone X',
3182
+ 19 => 'Milestone X2',
3183
+ 20 => 'Milestone MAXX',
3184
+ 21 => 'MILESTONE3',
3185
+ 22 => 'MID7C',
3186
+ 23 => 'MID43C',
3187
+ 24 => 'MID74C',
3188
+ 25 => 'MID77C',
3189
+ 26 => 'MID82C',
3190
+ 27 => 'MID84C',
3191
+ 28 => 'MID102C',
3192
+ 29 => 'MID103C',
3193
+ 30 => 'MID104C',
3194
+ 31 => 'MID114C',
3195
+ 32 => 'MID[C012]!!',
3196
+ 33 => '(CSL[- ])?(Spice[- ]?)?Mi(-| )?[0-9]{3,3}!!',
3197
+ 34 => 'miTab!!',
3198
+ 35 => 'MI-ONE',
3199
+ 36 => 'MI-ONEC1',
3200
+ 37 => 'MI-ONE C1',
3201
+ 38 => 'MI-ONE Plus!',
3202
+ 39 => 'mione plus',
3203
+ 40 => 'MI ONE plus',
3204
+ 41 => 'MI-ONEPlus',
3205
+ 42 => 'MI 1S',
3206
+ 43 => 'MI 1SC',
3207
+ 44 => 'MI1/1s',
3208
+ 45 => 'MI-TWO',
3209
+ 46 => 'MI-TWOPlus',
3210
+ 47 => 'MI2',
3211
+ 48 => 'MI 2',
3212
+ 49 => 'MI 2C',
3213
+ 50 => 'MI 2A!',
3214
+ 51 => 'MI2A',
3215
+ 52 => 'MI 2S',
3216
+ 53 => 'MI 2SC',
3217
+ 54 => 'MI 2/2S',
3218
+ 55 => 'Mi3',
3219
+ 56 => 'MI-Three',
3220
+ 57 => 'MI-ThreePlus',
3221
+ 58 => 'MI 3',
3222
+ 59 => 'MI 3C',
3223
+ 60 => 'MI 3W',
3224
+ 61 => 'Mi3W',
3225
+ 62 => 'MI 4',
3226
+ 63 => 'MI 4LTE',
3227
+ 64 => 'MI 4C',
3228
+ 65 => 'MI 4W',
3229
+ 66 => 'Mi-4c',
3230
+ 67 => 'Mi 4i',
3231
+ 68 => 'MI NOTE LTE',
3232
+ 69 => 'MI NOTE Pro',
3233
+ 70 => 'MI PAD',
3234
+ 71 => 'MiBOX iCNTV',
3235
+ 72 => 'MiBOX1S',
3236
+ 73 => 'MiBOX2',
3237
+ ),
3238
+ '@MK' =>
3239
+ array (
3240
+ 0 => 'MK808',
3241
+ 1 => 'MK808B',
3242
+ 2 => 'MK809',
3243
+ 3 => 'MK809B',
3244
+ 4 => 'MK809IV',
3245
+ 5 => 'MK818B',
3246
+ 6 => 'MK908',
3247
+ 7 => 'MK908II',
3248
+ 8 => 'MK16(a|i|$)!',
3249
+ ),
3250
+ '@ML' =>
3251
+ array (
3252
+ 0 => 'MLLED!!',
3253
+ ),
3254
+ '@MO' =>
3255
+ array (
3256
+ 0 => 'Moto E',
3257
+ 1 => 'Moto G',
3258
+ 2 => 'Moto G LTE',
3259
+ 3 => 'Moto G 2014',
3260
+ 4 => 'Moto G 2014 LTE',
3261
+ 5 => 'Moto G (2014)',
3262
+ 6 => 'Moto X',
3263
+ 7 => 'Moto 360',
3264
+ 8 => 'Mobile Sosh',
3265
+ 9 => 'Monterra',
3266
+ 10 => 'Mobiistar!!',
3267
+ 11 => 'MOCHE SMART A16',
3268
+ 12 => '(MODECOM )?FreeTAB!!',
3269
+ 13 => 'MOGU!!',
3270
+ 14 => 'moii!!',
3271
+ 15 => 'MORAL N01',
3272
+ 16 => 'Moto Droid',
3273
+ 17 => 'Motorola Pro XT610',
3274
+ 18 => 'Motorola Milestone MAXX',
3275
+ 19 => 'Motorola Backflip Me600',
3276
+ 20 => 'Moto ME860',
3277
+ 21 => '(Moto)?E2$!',
3278
+ 22 => '(Moto)?E2\\(4G-LTE\\)$!',
3279
+ 23 => '(Moto)?G3$!',
3280
+ 24 => '(Moto)?G3-TE$!',
3281
+ 25 => 'MOTOROLA MOTOG',
3282
+ 26 => 'Moto Backflip',
3283
+ 27 => 'MOTOROLA XOOM MZ606',
3284
+ 28 => 'MOTOROLA RAZR',
3285
+ 29 => 'MOTWX435KT',
3286
+ 30 => '(PLOYER-)?MOMO!!',
3287
+ 31 => 'MOB-5045',
3288
+ 32 => 'Mobii 7',
3289
+ 33 => 'MoFing',
3290
+ 34 => 'Movistar Express',
3291
+ 35 => 'Movistar Link',
3292
+ 36 => 'Movistar Motion',
3293
+ 37 => 'Movistar Prime',
3294
+ 38 => 'MOVE',
3295
+ ),
3296
+ '@MP' =>
3297
+ array (
3298
+ 0 => 'MP[0-9]{3,3}C!!',
3299
+ 1 => 'MP717',
3300
+ 2 => 'MP843',
3301
+ 3 => 'MP888',
3302
+ 4 => 'MP959',
3303
+ 5 => 'MP969',
3304
+ 6 => 'MP1010',
3305
+ 7 => 'MP7007',
3306
+ 8 => 'MPDC100 BT',
3307
+ 9 => 'MPDC110 BT IPS',
3308
+ 10 => 'MPDC112 BT IPS',
3309
+ 11 => 'MPDC8 BT',
3310
+ 12 => 'MPDC88 BT IPS',
3311
+ 13 => 'MPDC706',
3312
+ 14 => 'MPDC903',
3313
+ 15 => 'MPQC704 HD',
3314
+ 16 => 'MPQC784 IPS',
3315
+ 17 => 'MPQC804HD',
3316
+ 18 => 'MPQC1010',
3317
+ ),
3318
+ '@MS' =>
3319
+ array (
3320
+ 0 => 'MStar Amber3',
3321
+ 1 => 'MSM',
3322
+ 2 => 'msm(7227|7627)!',
3323
+ 3 => 'msm7630!',
3324
+ 4 => 'msm8660!',
3325
+ 5 => 'msm(8x25|8625|8960)!',
3326
+ 6 => 'msm8x30!',
3327
+ 7 => 'msm8610!',
3328
+ 8 => 'msm8909!',
3329
+ 9 => 'msm(8226|8228)!',
3330
+ 10 => 'MSM8926!',
3331
+ 11 => 'msm8916!',
3332
+ 12 => 'msm8952!',
3333
+ 13 => 'msm8974!',
3334
+ 14 => 'MSM8992!',
3335
+ 15 => 'msm8994!',
3336
+ 16 => 'MS840 4G',
3337
+ 17 => 'MS3B',
3338
+ 18 => 'MS4A',
3339
+ 19 => 'MS3A',
3340
+ ),
3341
+ '@MT' =>
3342
+ array (
3343
+ 0 => 'mt5396!',
3344
+ 1 => 'mt5399!',
3345
+ 2 => 'mt5861!',
3346
+ 3 => 'mt5880!',
3347
+ 4 => 'mt5882!',
3348
+ 5 => 'mt5890!',
3349
+ 6 => 'mt6515!',
3350
+ 7 => 'MTK6515',
3351
+ 8 => 'mt6517!',
3352
+ 9 => 'mt6571!',
3353
+ 10 => 'mt6572!',
3354
+ 11 => 'mt6575!',
3355
+ 12 => 'mt6577!',
3356
+ 13 => 'mt6582!',
3357
+ 14 => 'mt6589!',
3358
+ 15 => 'MTK-MT6589',
3359
+ 16 => 'MTK6589!',
3360
+ 17 => 'mt6592!',
3361
+ 18 => 'MTK-MT6592',
3362
+ 19 => 'MTK6592',
3363
+ 20 => 'mt6595!',
3364
+ 21 => 'mt6599!',
3365
+ 22 => 'mt8125!',
3366
+ 23 => 'mt8127!',
3367
+ 24 => 'mt8135!',
3368
+ 25 => 'MTK--8312',
3369
+ 26 => 'mt8377!',
3370
+ 27 => 'mt8389!',
3371
+ 28 => 'mt8580!',
3372
+ 29 => 'mt8658!',
3373
+ 30 => '(AC|BC|LC|MT|RC|QS|VM|TS|OC)[0-9]{4,4}[A-Z]!!',
3374
+ 31 => '(HUAWEI )?(CRR|MATE|MT1|MT2|MT7|M200|NXT|Z100)!!',
3375
+ 32 => 'MTC Android',
3376
+ 33 => 'MT791',
3377
+ 34 => 'MT70[0-9]{2,2}!!',
3378
+ 35 => 'MTK6516',
3379
+ 36 => 'MT[0-9]{3,3}!!',
3380
+ 37 => 'MTS-SP100',
3381
+ 38 => 'MTS-SP101',
3382
+ 39 => 'MT[0-9]{2,2}[a-z]!!',
3383
+ 40 => 'MT7A',
3384
+ 41 => 'MTC!!',
3385
+ ),
3386
+ '@MU' =>
3387
+ array (
3388
+ 0 => 'Multilaser Diamond',
3389
+ 1 => 'Multilaser Orion',
3390
+ 2 => 'Multilaser Oxy',
3391
+ 3 => 'Multilaser Titanium',
3392
+ ),
3393
+ '@MW' =>
3394
+ array (
3395
+ 0 => 'MWND1',
3396
+ 1 => 'mw07',
3397
+ 2 => 'MW0710',
3398
+ 3 => 'MW0711',
3399
+ 4 => 'MW0712',
3400
+ 5 => 'MW0731',
3401
+ 6 => 'MW0731PLUS',
3402
+ 7 => 'MW0733',
3403
+ 8 => 'MW0811',
3404
+ 9 => 'MW0812',
3405
+ 10 => 'MW0812 V2.0',
3406
+ 11 => 'MW0821',
3407
+ 12 => 'MW0821 V2.0',
3408
+ 13 => 'MW0821+',
3409
+ 14 => 'MW0831',
3410
+ 15 => 'MW0831Plus',
3411
+ 16 => 'MW0922',
3412
+ 17 => 'MW0931',
3413
+ 18 => '(DNS )?(Airtab )?(E|M|MA|MF|MW|P|PC|PF)[0-9]{2,4}!!',
3414
+ 19 => 'MW1031',
3415
+ ),
3416
+ '@MX' =>
3417
+ array (
3418
+ 0 => 'MX Enjoy TV BOX',
3419
+ 1 => 'MX2',
3420
+ 2 => 'MX4',
3421
+ 3 => 'MX4 Pro',
3422
+ ),
3423
+ '@MY' =>
3424
+ array (
3425
+ 0 => 'MyPhone A818g Duo',
3426
+ 1 => 'MyPhone A818 Slim Duo',
3427
+ 2 => 'MyPhone A848 Duo',
3428
+ 3 => 'MyPhone A848i Duo',
3429
+ 4 => 'MyPhone A848g Duo',
3430
+ 5 => 'MyPhone A888',
3431
+ 6 => 'MyPhone A888 Duo',
3432
+ 7 => 'My|Phone A888 Duo',
3433
+ 8 => 'MyPhone A919 Duo',
3434
+ 9 => 'MyPhone A919 3D Duo',
3435
+ 10 => 'MyPhone A919i',
3436
+ 11 => 'MyPhone A919i Duo',
3437
+ 12 => 'MyPhone Agua Cyclone',
3438
+ 13 => 'MyPhone Agua Hail',
3439
+ 14 => 'MyPhone Agua Iceberg',
3440
+ 15 => 'MyPhone Agua Iceberg Mini',
3441
+ 16 => 'MyPhone Agua Iceberg Slim',
3442
+ 17 => 'MyPhone Agua Infinity',
3443
+ 18 => 'MyPhone Agua Ocean Lite',
3444
+ 19 => 'MyPhone Agua Ocean Mini',
3445
+ 20 => 'MyPhone Agua Ocean Pro',
3446
+ 21 => 'MyPhone Agua Rain 2G',
3447
+ 22 => 'MyPhone Agua Rain 3G',
3448
+ 23 => 'MyPhone Agua Rio',
3449
+ 24 => 'MyPhone Agua Rio Fun',
3450
+ 25 => 'MyPhone Agua Rio Lite',
3451
+ 26 => 'MyPhone Agua Storm',
3452
+ 27 => 'MyPhone Agua Vortex',
3453
+ 28 => 'myPhone C Smart',
3454
+ 29 => 'myPhone Cube',
3455
+ 30 => 'myPhone Cube 16GB',
3456
+ 31 => 'myPhone Duosmart',
3457
+ 32 => 'myPhone FUN 2',
3458
+ 33 => 'myPhone Funky',
3459
+ 34 => 'myPhone Hammer',
3460
+ 35 => 'myPhone INFINITY 3G',
3461
+ 36 => 'myPhone NEXT',
3462
+ 37 => 'myPhone NEXTS',
3463
+ 38 => 'myPhone NEXT S',
3464
+ 39 => 'myPhone Smart',
3465
+ 40 => 'myPhone S-line',
3466
+ 41 => 'MyPhone Rio Craze',
3467
+ 42 => 'MyPhone Rio Grande',
3468
+ 43 => 'MyPhone Rio Junior TV',
3469
+ 44 => 'MyPhone Rio 2 Fun',
3470
+ 45 => 'MyPhone UNO',
3471
+ 46 => 'MyPhone Xperia Rain 3G',
3472
+ 47 => 'MyPad 2',
3473
+ 48 => 'MyPad 750HD',
3474
+ 49 => 'MyPad 1000 HD',
3475
+ 50 => 'MY ?SAGA!!',
3476
+ 51 => 'My ?Touch ?4G$!',
3477
+ 52 => 'myTouch 4G Slide',
3478
+ 53 => 'myTouch Slide 4G',
3479
+ ),
3480
+ '@MZ' =>
3481
+ array (
3482
+ 0 => 'MZ-m2 note',
3483
+ 1 => 'MZ-M571C',
3484
+ 2 => 'MZ-MX4',
3485
+ 3 => 'MZ[0-9]{3,3}!!',
3486
+ ),
3487
+ '@N-' =>
3488
+ array (
3489
+ 0 => 'N-0[0-9][A-Z]!!',
3490
+ ),
3491
+ '@N1' =>
3492
+ array (
3493
+ 0 => 'N1',
3494
+ 1 => 'N12',
3495
+ 2 => 'N12R',
3496
+ 3 => 'N101 DUAL CORE!',
3497
+ ),
3498
+ '@N2' =>
3499
+ array (
3500
+ 0 => 'N2T',
3501
+ ),
3502
+ '@N3' =>
3503
+ array (
3504
+ 0 => 'N3-2200',
3505
+ 1 => 'N320',
3506
+ ),
3507
+ '@N5' =>
3508
+ array (
3509
+ 0 => 'N51(10|11|16|17)!',
3510
+ 1 => 'N52(06|07|09)!',
3511
+ 2 => 'N5PRO2jingying',
3512
+ 3 => 'N50',
3513
+ 4 => 'N50DT!',
3514
+ 5 => 'N50GT',
3515
+ 6 => 'N50GT A',
3516
+ ),
3517
+ '@N6' =>
3518
+ array (
3519
+ 0 => 'N612',
3520
+ 1 => 'N6',
3521
+ ),
3522
+ '@N7' =>
3523
+ array (
3524
+ 0 => 'N700',
3525
+ 1 => 'N710',
3526
+ 2 => 'N70',
3527
+ 3 => 'N70 3G',
3528
+ 4 => 'N70 C',
3529
+ 5 => 'N70DC',
3530
+ 6 => 'N70-S',
3531
+ 7 => 'N70HD',
3532
+ 8 => 'N70 DUAL CORE',
3533
+ 9 => 'N70DC-S',
3534
+ 10 => 'N70DC-T',
3535
+ 11 => 'N762',
3536
+ 12 => 'N799D',
3537
+ ),
3538
+ '@N8' =>
3539
+ array (
3540
+ 0 => 'N8730-411',
3541
+ 1 => 'N8730-41101',
3542
+ 2 => 'N8730-41102',
3543
+ 3 => 'N80($| from moage.com)!',
3544
+ 4 => 'N80DC',
3545
+ 5 => 'N80IPS',
3546
+ 6 => 'N800',
3547
+ 7 => 'N810',
3548
+ 8 => 'N850L',
3549
+ 9 => 'N860',
3550
+ 10 => 'N861',
3551
+ 11 => 'N880',
3552
+ 12 => 'N8000',
3553
+ 13 => 'N8000 USA Cricket',
3554
+ 14 => 'N8000 USA RS',
3555
+ 15 => 'N8000 WHTE CKT',
3556
+ ),
3557
+ '@N9' =>
3558
+ array (
3559
+ 0 => 'N930',
3560
+ 1 => 'N9600',
3561
+ 2 => 'N90',
3562
+ 3 => 'N90 DUAL CORE!',
3563
+ 4 => 'N90FHDRK',
3564
+ 5 => 'N986',
3565
+ 6 => 'N9100',
3566
+ 7 => 'N9101',
3567
+ 8 => 'N9130',
3568
+ 9 => 'N9180',
3569
+ 10 => 'N9500',
3570
+ 11 => 'N9510',
3571
+ 12 => 'N9515',
3572
+ 13 => 'N9520',
3573
+ 14 => 'N9810',
3574
+ 15 => 'N9835',
3575
+ 16 => 'N958St',
3576
+ 17 => 'N918St',
3577
+ ),
3578
+ '@NA' =>
3579
+ array (
3580
+ 0 => 'NABI!!',
3581
+ 1 => 'NaviPad TM-7055HD 3G',
3582
+ 2 => 'NaviPad TM-7855 3G',
3583
+ 3 => 'NaviPad TM-7858 3G (revision 1)',
3584
+ 4 => 'NATCOM N8302',
3585
+ ),
3586
+ '@NB' =>
3587
+ array (
3588
+ 0 => 'NB036',
3589
+ 1 => 'NBX-T7013N',
3590
+ 2 => 'NBX-T7023N',
3591
+ ),
3592
+ '@NE' =>
3593
+ array (
3594
+ 0 => '(HTC )?Nexus ?One!',
3595
+ 1 => '(Google )?Nexus S!',
3596
+ 2 => '(Google )?Nexus ?4!',
3597
+ 3 => 'Nexus 5X',
3598
+ 4 => '(Google )?Nexus ?5!',
3599
+ 5 => 'Nexus 6P',
3600
+ 6 => '(Google )?Nexus ?6!',
3601
+ 7 => '(Google )?Nexus ?7 2013!',
3602
+ 8 => '(Google )?Nexus ?7!',
3603
+ 9 => '(Google )?Nexus ?9!',
3604
+ 10 => '(Google )?Nexus ?10!',
3605
+ 11 => 'Nexus Player',
3606
+ 12 => 'NEO-G4',
3607
+ 13 => 'NEO-G4-108A',
3608
+ 14 => 'NEO-G4 a',
3609
+ 15 => 'NEO-X5',
3610
+ 16 => 'NEO X5',
3611
+ 17 => 'Neo-X5-B',
3612
+ 18 => 'NEO-X5-116A',
3613
+ 19 => 'NEO-X5-mini',
3614
+ 20 => 'NEO X5 mini',
3615
+ 21 => 'NEO-X6',
3616
+ 22 => 'NEO-X7-216A',
3617
+ 23 => 'NEO-X7-mini',
3618
+ 24 => 'NEO-X8',
3619
+ 25 => 'NEO-X8-H',
3620
+ 26 => 'NEO-X8H-PLUS',
3621
+ 27 => 'Neon',
3622
+ 28 => '(BLU|DASH|LIFE|NEO|STUDIO|VIVO)!!',
3623
+ 29 => 'NexusHD2',
3624
+ 30 => 'Nexus HD2',
3625
+ 31 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
3626
+ 32 => 'Neon7',
3627
+ 33 => 'Neon9',
3628
+ 34 => '(NetTab|NT-)!!',
3629
+ 35 => 'Newman K1',
3630
+ 36 => 'NewmanK1',
3631
+ 37 => 'Newman K2',
3632
+ 38 => 'Newman N1',
3633
+ 39 => 'Newman N2!',
3634
+ 40 => 'Newman-N2!',
3635
+ 41 => 'Newpad',
3636
+ 42 => 'Newpad-K97',
3637
+ 43 => 'Newpad-NP900',
3638
+ 44 => 'Newpad P9',
3639
+ 45 => 'Newpad P72',
3640
+ 46 => 'Newsmy P72',
3641
+ 47 => 'Newsmy P72-C',
3642
+ 48 => 'Newsmy T3',
3643
+ 49 => 'Newsmy T7II',
3644
+ 50 => 'NEC-STR',
3645
+ 51 => 'NEC-0912',
3646
+ 52 => 'NEC-101S',
3647
+ 53 => 'NECTEL-101S',
3648
+ 54 => 'NEC-101T',
3649
+ 55 => 'NEC-101TH',
3650
+ 56 => 'NEC-102',
3651
+ 57 => 'NE-103T',
3652
+ 58 => 'NEC909e',
3653
+ 59 => 'NE-202',
3654
+ 60 => 'NE-201A1A',
3655
+ 61 => 'NEC-NE-201A1A',
3656
+ 62 => 'NEC-NEC-NE-201A1A',
3657
+ 63 => 'NEC PC-TE508S1',
3658
+ 64 => 'neken!!',
3659
+ 65 => 'NEO!!',
3660
+ 66 => '(Nexian )?NX-A[0-9]{3,3}!!',
3661
+ 67 => 'Nextbook Premium 7',
3662
+ 68 => 'Next7C12!',
3663
+ 69 => 'Next7D12!',
3664
+ 70 => 'Next7P12!',
3665
+ 71 => 'Next7Q12!',
3666
+ 72 => 'Next7P',
3667
+ 73 => 'Next7S',
3668
+ 74 => 'Nextbook Premium 7 SE',
3669
+ 75 => 'NEXT8P',
3670
+ 76 => 'Next8P11',
3671
+ 77 => 'Next8P12',
3672
+ 78 => 'Next9P',
3673
+ 79 => 'Next10P12',
3674
+ 80 => 'NEXT',
3675
+ 81 => 'New Andromax-i',
3676
+ 82 => 'Neo V',
3677
+ 83 => 'NEBULA6.9',
3678
+ ),
3679
+ '@NG' =>
3680
+ array (
3681
+ 0 => 'NGM Black Hole',
3682
+ 1 => 'NGM Dynamic Racing 2',
3683
+ 2 => 'NGM Dynamic Racing 3',
3684
+ 3 => 'NGM Dynamic Star',
3685
+ 4 => 'NGM Dynamic Stylo',
3686
+ 5 => 'NGM Forward Infinity',
3687
+ 6 => 'NGM Forward Racing HD',
3688
+ 7 => 'NGM Forward Young',
3689
+ 8 => 'NGM Harley',
3690
+ 9 => 'NGM Orion',
3691
+ 10 => 'NGM Spirit',
3692
+ 11 => 'NGM Time',
3693
+ 12 => 'NGM Vanity Smart',
3694
+ 13 => 'NGM Action',
3695
+ 14 => 'NGM Legend',
3696
+ 15 => 'NGM-Legend/Legend',
3697
+ 16 => 'NGM Legend2',
3698
+ 17 => 'NGM LegendXL',
3699
+ 18 => 'NGM Miracle',
3700
+ 19 => 'NGM P0laris',
3701
+ 20 => 'NGM Wilco',
3702
+ 21 => 'NGM WINN',
3703
+ ),
3704
+ '@NI' =>
3705
+ array (
3706
+ 0 => 'NITROGEN6X',
3707
+ 1 => 'NID 7010',
3708
+ 2 => 'Nibiru H1',
3709
+ 3 => 'nine i7400',
3710
+ ),
3711
+ '@NM' =>
3712
+ array (
3713
+ 0 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
3714
+ 1 => '(NMP|MBR|XDK|XDS|XMP)\\-!!',
3715
+ ),
3716
+ '@NO' =>
3717
+ array (
3718
+ 0 => 'Novo7',
3719
+ 1 => 'Novo7 -?Aurora!',
3720
+ 2 => 'novo Aurora',
3721
+ 3 => 'Novo 7 Aurora',
3722
+ 4 => 'Novo7 Advanced',
3723
+ 5 => 'Novo7Advanced!',
3724
+ 6 => 'Novo7 Advanced2',
3725
+ 7 => 'Novo7 Basic',
3726
+ 8 => 'NovoCrystal',
3727
+ 9 => 'Novo 7 Crystal!',
3728
+ 10 => 'Novo7 ELF',
3729
+ 11 => 'Novo7 Fire',
3730
+ 12 => 'Novo7 Flame',
3731
+ 13 => 'Novo7 Grace',
3732
+ 14 => 'Novo7 Legend',
3733
+ 15 => 'novo7Legend!',
3734
+ 16 => 'NOVO7 Mars',
3735
+ 17 => 'Novo7 PALADIN',
3736
+ 18 => 'Novo7 Rainbow',
3737
+ 19 => 'Novo7 -Rainbow',
3738
+ 20 => 'NOVO7 Tornados',
3739
+ 21 => 'Novo7 Venus',
3740
+ 22 => 'Novo 7 Venus',
3741
+ 23 => 'Novo7 Venus QuadCore',
3742
+ 24 => 'Novo 7 Venus QuadCore',
3743
+ 25 => 'Novo8 Advanced',
3744
+ 26 => 'Novo8 Discover Quadcore',
3745
+ 27 => 'Novo8 Disover Quadcore',
3746
+ 28 => 'Novo8 Dream QuadCore',
3747
+ 29 => 'Novo8mini',
3748
+ 30 => 'novo9-Spark',
3749
+ 31 => 'NOVO9 Spark II',
3750
+ 32 => 'Novo 10 Hero',
3751
+ 33 => 'Novo10 ?Hero!',
3752
+ 34 => 'Novo 10 Hero QuadCore',
3753
+ 35 => 'Novo Captain',
3754
+ 36 => 'Novo10 captain QuadCore',
3755
+ 37 => 'NOOK',
3756
+ 38 => 'Nook ?Color!',
3757
+ 39 => '(NOOK )?BNRV(200|300)!',
3758
+ 40 => 'Nook ?Tablet!',
3759
+ 41 => 'NOOK Slate',
3760
+ 42 => '(NOOK )?BNTV250!',
3761
+ 43 => '(NOOK )?BNRV350!',
3762
+ 44 => '(NOOK )?BNTV(400)!',
3763
+ 45 => '(NOOK )?BNTV(600)!',
3764
+ 46 => '(NOOK )?BNTV(800)!',
3765
+ 47 => 'Nook HD',
3766
+ 48 => 'Nook HD+',
3767
+ 49 => 'Novapad!!',
3768
+ 50 => 'Nova!!',
3769
+ 51 => 'Now',
3770
+ 52 => 'NO1 S6',
3771
+ 53 => 'NOAIN!!',
3772
+ 54 => 'Nokia N9',
3773
+ 55 => 'Nokia N900',
3774
+ 56 => 'Nokia X',
3775
+ 57 => 'Nokia X Dual SIM',
3776
+ 58 => 'Nokia X+',
3777
+ 59 => 'Nokia Xplus',
3778
+ 60 => 'Nokia XL 4G',
3779
+ 61 => 'Nokia XL',
3780
+ 62 => 'Nokia XL Dual SIM',
3781
+ 63 => 'Nokia X2',
3782
+ 64 => 'NokiaX2DS',
3783
+ 65 => 'Notion Ink ADAM',
3784
+ 66 => 'Note III',
3785
+ 67 => 'Nozomi',
3786
+ 68 => 'Noble TAB07-485',
3787
+ 69 => '(QMobile|QTab|Q-Smart|Noir)!!',
3788
+ ),
3789
+ '@NP' =>
3790
+ array (
3791
+ 0 => 'npm702-NOVO7PALADIN',
3792
+ ),
3793
+ '@NS' =>
3794
+ array (
3795
+ 0 => 'NS115',
3796
+ 1 => 'NS2816',
3797
+ 2 => 'NS-14T002',
3798
+ 3 => 'NS-13T001',
3799
+ 4 => 'NSZ-G[A-Z][0-9]!!',
3800
+ ),
3801
+ '@NT' =>
3802
+ array (
3803
+ 0 => '(NetTab|NT-)!!',
3804
+ ),
3805
+ '@NU' =>
3806
+ array (
3807
+ 0 => 'Numy!!',
3808
+ 1 => 'nuvi!!',
3809
+ 2 => 'NuclearSX-SP5',
3810
+ 3 => 'nubia Z5',
3811
+ 4 => 'Nura 2',
3812
+ ),
3813
+ '@NW' =>
3814
+ array (
3815
+ 0 => 'NWZ?-Z1000Series!',
3816
+ ),
3817
+ '@NX' =>
3818
+ array (
3819
+ 0 => '(HUAWEI )?(CRR|MATE|MT1|MT2|MT7|M200|NXT|Z100)!!',
3820
+ 1 => '(Nexian )?NX-A[0-9]{3,3}!!',
3821
+ 2 => 'NXM726',
3822
+ 3 => 'NXM726HN',
3823
+ 4 => 'NXM726HN C030',
3824
+ 5 => 'NXM726HN HASTINGS',
3825
+ 6 => 'NXM727KC!',
3826
+ 7 => 'NXM803HC',
3827
+ 8 => 'NXM803HD',
3828
+ 9 => 'NX868QW8G',
3829
+ 10 => 'NXM805ND',
3830
+ 11 => 'NXM805ND EN',
3831
+ 12 => 'NXM908HC',
3832
+ 13 => 'NXM703U',
3833
+ 14 => 'NXM901',
3834
+ 15 => 'NXM736',
3835
+ 16 => 'NX700QC',
3836
+ 17 => 'NX785QC8G',
3837
+ 18 => 'NXM900MC',
3838
+ 19 => '(ZXY-)?NX[0-9]{2,3}!!',
3839
+ ),
3840
+ '@NY' =>
3841
+ array (
3842
+ 0 => 'NYX!!',
3843
+ ),
3844
+ '@O2' =>
3845
+ array (
3846
+ 0 => 'O2 Joggler',
3847
+ ),
3848
+ '@OB' =>
3849
+ array (
3850
+ 0 => 'OB-OPPO A31c',
3851
+ 1 => 'OB-OPPO 3005',
3852
+ 2 => 'Obreey SURFpad',
3853
+ ),
3854
+ '@OC' =>
3855
+ array (
3856
+ 0 => '(AC|BC|LC|MT|RC|QS|VM|TS|OC)[0-9]{4,4}[A-Z]!!',
3857
+ ),
3858
+ '@OD' =>
3859
+ array (
3860
+ 0 => 'ODROID-A',
3861
+ 1 => 'ODROID-U',
3862
+ 2 => 'ODROID-U2',
3863
+ 3 => 'ODROID-X',
3864
+ 4 => 'ODROID-XU',
3865
+ 5 => 'ODROID-XU3',
3866
+ 6 => 'ODROID-X2',
3867
+ 7 => 'ODYS-Chrono',
3868
+ 8 => 'ODYS-EVO',
3869
+ 9 => 'Odys-Loox',
3870
+ 10 => 'ODYS-NOON',
3871
+ 11 => 'ODYS-Q',
3872
+ 12 => 'ODYS Space',
3873
+ 13 => 'ODYS Space TKI BRR233v7',
3874
+ 14 => 'ODYS Space TKI BRR233v9',
3875
+ 15 => 'ODYS-Xpress',
3876
+ 16 => 'ODYS Xtreme',
3877
+ ),
3878
+ '@OL' =>
3879
+ array (
3880
+ 0 => 'Olivetti Olipad 100',
3881
+ ),
3882
+ '@OM' =>
3883
+ array (
3884
+ 0 => 'Omap5panda',
3885
+ 1 => 'OMAP',
3886
+ 2 => 'OMAP SS',
3887
+ 3 => 'omap3evm',
3888
+ 4 => 'OMAP3ETPP',
3889
+ 5 => 'Omap5sevm',
3890
+ 6 => 'OMS TTD',
3891
+ 7 => 'Omega 5.0',
3892
+ 8 => 'Omega 5.5',
3893
+ 9 => 'OMS1 6',
3894
+ ),
3895
+ '@ON' =>
3896
+ array (
3897
+ 0 => 'OnePAD 785I',
3898
+ 1 => 'OnePAD 900HD',
3899
+ 2 => 'OnePAD 970',
3900
+ 3 => 'OnePAD 1100x2',
3901
+ 4 => 'ONETOUCH Flash Plus',
3902
+ 5 => 'one touch 890!',
3903
+ 6 => 'one touch 891!',
3904
+ 7 => 'one touch 900!',
3905
+ 8 => 'one touch 903!',
3906
+ 9 => 'one touch 906!',
3907
+ 10 => 'one touch 908!',
3908
+ 11 => 'one touch 909!',
3909
+ 12 => 'one touch 910!',
3910
+ 13 => 'one touch 913!',
3911
+ 14 => 'one touch 916!',
3912
+ 15 => 'one touch 918!',
3913
+ 16 => 'one touch 922!',
3914
+ 17 => 'one touch 927!',
3915
+ 18 => 'one touch 928!',
3916
+ 19 => 'one touch 930!',
3917
+ 20 => 'one touch 960!',
3918
+ 21 => 'one touch 976!',
3919
+ 22 => 'one touch 978!',
3920
+ 23 => 'one touch 979 HelloKitty',
3921
+ 24 => 'one touch 979!',
3922
+ 25 => 'one touch 980!',
3923
+ 26 => 'one touch 981!',
3924
+ 27 => 'one touch 983!',
3925
+ 28 => 'one touch 985!',
3926
+ 29 => 'one touch 986!',
3927
+ 30 => 'one touch 988!',
3928
+ 31 => 'one touch 990!',
3929
+ 32 => 'one touch 991!',
3930
+ 33 => 'one touch 992!',
3931
+ 34 => 'ONE TOCH 992D',
3932
+ 35 => 'one touch 993!',
3933
+ 36 => 'one touch 995!',
3934
+ 37 => 'one touch 997!',
3935
+ 38 => 'one touch 998!',
3936
+ 39 => 'one touch D662',
3937
+ 40 => 'one touch D668',
3938
+ 41 => 'one touch D820',
3939
+ 42 => 'one touch D920',
3940
+ 43 => 'one touch J320',
3941
+ 44 => 'one ?touch 40(05|10|11)!',
3942
+ 45 => 'one ?touch 4007!',
3943
+ 46 => 'one ?touch 4008!',
3944
+ 47 => 'one ?touch 4009!',
3945
+ 48 => 'one ?touch 4013!',
3946
+ 49 => 'one ?touch 4014!',
3947
+ 50 => 'one ?touch 40(15|16)!',
3948
+ 51 => 'one ?touch 4024!',
3949
+ 52 => 'one ?touch 4027!',
3950
+ 53 => 'one ?touch 4029!',
3951
+ 54 => 'one ?touch 4030!',
3952
+ 55 => 'one ?touch 4031!',
3953
+ 56 => 'one ?touch 4032!',
3954
+ 57 => 'one ?touch 4033!',
3955
+ 58 => 'ONETOUCH POPC3',
3956
+ 59 => 'one ?touch 40(35|36|37)!',
3957
+ 60 => 'one ?touch 5045!',
3958
+ 61 => 'one ?touch 5020!',
3959
+ 62 => 'one ?touch 5021!',
3960
+ 63 => 'one ?touch 5035!',
3961
+ 64 => 'one ?touch 50(36|37)!',
3962
+ 65 => 'ONETOUCH POPC5',
3963
+ 66 => 'one ?touch 50(38)!',
3964
+ 67 => 'one ?touch 5042!',
3965
+ 68 => 'one ?touch 5050!',
3966
+ 69 => 'one ?touch 6010!',
3967
+ 70 => 'one ?touch 6012!',
3968
+ 71 => 'ONE TOUCH IDOL MINI',
3969
+ 72 => 'one ?touch 6014!',
3970
+ 73 => 'one ?touch 6016!',
3971
+ 74 => 'one ?touch 6030!',
3972
+ 75 => 'one ?touch 6032!',
3973
+ 76 => 'one ?touch 6033!',
3974
+ 77 => 'one ?touch 60(34|35)!',
3975
+ 78 => 'one ?touch 6036!',
3976
+ 79 => 'one ?touch 6037!',
3977
+ 80 => 'one ?touch 6039!',
3978
+ 81 => 'one ?touch 6040!',
3979
+ 82 => 'one ?touch 6043!',
3980
+ 83 => 'one ?touch 6045!',
3981
+ 84 => 'one ?touch 6050!',
3982
+ 85 => 'one ?touch 7024!',
3983
+ 86 => 'one touch fierce!',
3984
+ 87 => 'one ?touch 70(25|30)!',
3985
+ 88 => 'one ?touch 70(40|41)!',
3986
+ 89 => 'one ?touch 7042!',
3987
+ 90 => 'one ?touch 7043!',
3988
+ 91 => 'one ?touch 7044!',
3989
+ 92 => 'one ?touch 7045!',
3990
+ 93 => 'one ?touch 7047!',
3991
+ 94 => 'one ?touch 7050!',
3992
+ 95 => 'one ?touch 8000!',
3993
+ 96 => 'one ?touch 8008!',
3994
+ 97 => 'one ?touch 8020!',
3995
+ 98 => 'one ?touch 8030!',
3996
+ 99 => 'one ?touch T10!',
3997
+ 100 => 'one ?touch T20!',
3998
+ 101 => 'one ?touch T60!',
3999
+ 102 => 'ONE TOUCH TAB 7',
4000
+ 103 => 'ONE TOUCH TAB 7HD',
4001
+ 104 => 'ONE TOUCH TAB 8HD',
4002
+ 105 => 'ONE TOUCH EVO7',
4003
+ 106 => 'onetouch EVO7',
4004
+ 107 => 'ONE TOUCH E710',
4005
+ 108 => 'ONE TOUCH EVO 7HD',
4006
+ 109 => 'ONE TOUCH EVO7HD',
4007
+ 110 => 'ONE TOUCH EVO8HD',
4008
+ 111 => 'ONETOUCH POP 7 LTE',
4009
+ 112 => 'ONE ?TOUCH P310(A|X)!',
4010
+ 113 => 'ONE ?TOUCH P320(A|X)!',
4011
+ 114 => 'ONE ?TOUCH P321!',
4012
+ 115 => 'ONE ?TOUCH POP 8S P350X!',
4013
+ 116 => 'One S',
4014
+ 117 => 'One X',
4015
+ 118 => 'One X+',
4016
+ 119 => 'One XL',
4017
+ 120 => 'One V',
4018
+ 121 => 'One',
4019
+ 122 => 'One M7',
4020
+ 123 => 'one m8',
4021
+ 124 => 'One A0001',
4022
+ 125 => 'OnePlus One',
4023
+ 126 => 'OnePlus One A0001',
4024
+ 127 => 'ONE A2001',
4025
+ 128 => 'ONE A2003',
4026
+ 129 => 'ONE A2005',
4027
+ 130 => 'OnePlus2',
4028
+ 131 => 'ONE E1000',
4029
+ 132 => 'ONE E1001',
4030
+ 133 => 'ONE E1003',
4031
+ 134 => 'ONE E1005',
4032
+ 135 => 'ONDA MID',
4033
+ 136 => 'ONDA A9 Core4',
4034
+ 137 => 'ONDA VI10',
4035
+ 138 => 'Onda V812',
4036
+ 139 => 'ONDA v975m',
4037
+ 140 => 'ONDA V989',
4038
+ 141 => 'ONDA V989 Core8',
4039
+ ),
4040
+ '@OP' =>
4041
+ array (
4042
+ 0 => 'OPPOLenovo A60',
4043
+ 1 => 'Optimus!!',
4044
+ 2 => 'Opus One',
4045
+ 3 => 'OPS-DRD Digital Signage Player',
4046
+ 4 => 'OP110',
4047
+ 5 => 'OPPO A800',
4048
+ 6 => 'OPPOX905',
4049
+ 7 => 'OPPOX907',
4050
+ 8 => 'OPPO Find5',
4051
+ 9 => 'OPPOX909',
4052
+ 10 => 'OPPO X909',
4053
+ 11 => 'OPPOX9015',
4054
+ 12 => 'OPPOX9017',
4055
+ 13 => 'OPPO find7',
4056
+ 14 => 'OPPOR601',
4057
+ 15 => 'OPPOR801',
4058
+ 16 => 'OPPOR803',
4059
+ 17 => 'OPPOR805',
4060
+ 18 => 'OPPOR807',
4061
+ 19 => 'OPPO R811',
4062
+ 20 => 'OPPO R813T',
4063
+ 21 => 'OPPO R815',
4064
+ 22 => 'OPPOR817',
4065
+ 23 => 'Oppo R819',
4066
+ 24 => 'OPPO R821',
4067
+ 25 => 'OPPO R831',
4068
+ 26 => 'Oppo R831 Limited Edition',
4069
+ 27 => 'OPPO R1001',
4070
+ 28 => 'OPPOR8015',
4071
+ 29 => 'OPPOR8111',
4072
+ 30 => 'OPPOT29',
4073
+ 31 => '(OPPO-?)?T703!',
4074
+ 32 => 'OPPOU701',
4075
+ 33 => 'OPPOU7011',
4076
+ 34 => 'OPPOU7015',
4077
+ 35 => 'OPPO N1',
4078
+ 36 => 'OPPO R7',
4079
+ 37 => 'OPPO R7s',
4080
+ 38 => 'OPPO R7 Plus',
4081
+ 39 => 'OPSSON!!',
4082
+ 40 => 'OP0118-12',
4083
+ 41 => 'Optimus Barcelona',
4084
+ 42 => 'Optimus Boston',
4085
+ 43 => 'Optimus Madrid',
4086
+ 44 => 'Optimus Monte Carlo',
4087
+ 45 => 'Optimus San Francisco',
4088
+ 46 => 'Optimus San Remo',
4089
+ 47 => 'Optimus Zali',
4090
+ ),
4091
+ '@OR' =>
4092
+ array (
4093
+ 0 => 'Orange HUAWEI GRA-L09',
4094
+ 1 => 'Orange Boston',
4095
+ 2 => 'Orange Covo',
4096
+ 3 => 'Orange Daytona',
4097
+ 4 => 'Orange Dublin',
4098
+ 5 => 'Orange Fova',
4099
+ 6 => 'Orange Gova',
4100
+ 7 => 'Orange Hi 4G',
4101
+ 8 => 'Orange Hiro',
4102
+ 9 => 'Orange infinity 996',
4103
+ 10 => 'Orange Infinity 8008X',
4104
+ 11 => 'Orange Kivo',
4105
+ 12 => 'Orange Monte Carlo',
4106
+ 13 => 'Orange Niva',
4107
+ 14 => 'Orange Nura',
4108
+ 15 => 'Orange Novi',
4109
+ 16 => 'Orange Reyo',
4110
+ 17 => 'Orange Rise 30',
4111
+ 18 => 'Orange Rono',
4112
+ 19 => 'Orange Roya',
4113
+ 20 => 'Orange Runo',
4114
+ 21 => 'Orange San Francisco',
4115
+ 22 => 'Orange Sego',
4116
+ 23 => 'Orange Tactile internet 2',
4117
+ 24 => 'Orange Tado',
4118
+ 25 => 'Orange Yomi',
4119
+ 26 => 'Orange Yumo',
4120
+ 27 => 'Orange Zali',
4121
+ ),
4122
+ '@OT' =>
4123
+ array (
4124
+ 0 => 'OT 918',
4125
+ 1 => 'OT 919',
4126
+ 2 => 'OT 919 HelloKitty',
4127
+ 3 => 'OT-990C',
4128
+ 4 => 'OT 990M',
4129
+ 5 => 'OT-995',
4130
+ ),
4131
+ '@OU' =>
4132
+ array (
4133
+ 0 => 'OUYA( Console)?!',
4134
+ ),
4135
+ '@OV' =>
4136
+ array (
4137
+ 0 => '(OV-|Overmax|Vertis)!!',
4138
+ ),
4139
+ '@OY' =>
4140
+ array (
4141
+ 0 => 'Oysters Pacific 800',
4142
+ 1 => 'Oysters T3 3G',
4143
+ 2 => 'Oysters T7B 3G',
4144
+ 3 => 'Oysters T7X 3G',
4145
+ 4 => 'OYSTERS T14N 3G',
4146
+ 5 => 'Oysters T37',
4147
+ 6 => 'Oysters T72H 3G',
4148
+ 7 => 'Oysters T72HRi 3G',
4149
+ 8 => 'OYSTERS T80 3G',
4150
+ ),
4151
+ '@OZ' =>
4152
+ array (
4153
+ 0 => 'OZZY',
4154
+ ),
4155
+ '@P' =>
4156
+ array (
4157
+ 0 => '(DNS )?(Airtab )?(E|M|MA|MF|MW|P|PC|PF)[0-9]{2,4}!!',
4158
+ ),
4159
+ '@P-' =>
4160
+ array (
4161
+ 0 => 'P-0[0-9][A-Z]!!',
4162
+ ),
4163
+ '@P0' =>
4164
+ array (
4165
+ 0 => 'P001',
4166
+ 1 => 'P001 2',
4167
+ 2 => 'P002',
4168
+ 3 => 'P01M',
4169
+ 4 => 'P01MA',
4170
+ 5 => 'P01T',
4171
+ 6 => 'P01T 1',
4172
+ 7 => 'P01V',
4173
+ 8 => 'P01W',
4174
+ 9 => 'P01Y',
4175
+ 10 => 'P01Z',
4176
+ 11 => 'P021',
4177
+ 12 => 'P022',
4178
+ 13 => 'P023',
4179
+ 14 => 'P024',
4180
+ ),
4181
+ '@P1' =>
4182
+ array (
4183
+ 0 => 'P10AN',
4184
+ 1 => 'P105',
4185
+ 2 => 'P10HD??(E6NA)',
4186
+ 3 => 'P11HD',
4187
+ 4 => 'P11HD四核(G9X6)',
4188
+ 5 => 'P11HD??(G9X6)',
4189
+ 6 => 'P11HD四核(G9X7)',
4190
+ 7 => 'P19HD(E1K3)',
4191
+ 8 => 'P19HD(E1K5)',
4192
+ ),
4193
+ '@P2' =>
4194
+ array (
4195
+ 0 => 'P2A700',
4196
+ 1 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
4197
+ ),
4198
+ '@P3' =>
4199
+ array (
4200
+ 0 => 'P330X',
4201
+ 1 => 'P350X',
4202
+ 2 => 'P360X',
4203
+ 3 => 'P300(Funbook)',
4204
+ ),
4205
+ '@P4' =>
4206
+ array (
4207
+ 0 => 'P4i',
4208
+ 1 => 'P4D Sirius',
4209
+ ),
4210
+ '@P5' =>
4211
+ array (
4212
+ 0 => 'P5 Energy',
4213
+ 1 => 'P5Life',
4214
+ 2 => 'P5Life TM',
4215
+ 3 => 'P5',
4216
+ ),
4217
+ '@P6' =>
4218
+ array (
4219
+ 0 => 'P6 Energy',
4220
+ 1 => 'P6 Energy TM',
4221
+ 2 => 'P6 Pro',
4222
+ 3 => 'P6 Qmax',
4223
+ 4 => 'P6 Quad',
4224
+ 5 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
4225
+ ),
4226
+ '@P7' =>
4227
+ array (
4228
+ 0 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
4229
+ 1 => 'P700i',
4230
+ 2 => 'P701',
4231
+ 3 => 'P7',
4232
+ 4 => 'P70 3G八核(C2B7)',
4233
+ 5 => 'P70h(A5C2)',
4234
+ 6 => 'P72',
4235
+ 7 => 'P72w',
4236
+ 8 => 'P75a(G7E3)',
4237
+ 9 => 'P75HD(M3E5)',
4238
+ 10 => 'P76a(K3G5)',
4239
+ 11 => 'P76a双核(M4Q5)',
4240
+ 12 => 'P76e(A3E1)',
4241
+ 13 => 'P76e(G6R8)',
4242
+ 14 => 'P76h双核(K8V1)',
4243
+ 15 => 'P76s双核(DKH5)',
4244
+ 16 => 'P76TI',
4245
+ 17 => 'P76v(A3V5)',
4246
+ 18 => 'P78双核(G1M5)',
4247
+ 19 => 'P78s(G1M5)',
4248
+ 20 => 'P78s(G1M6)',
4249
+ 21 => 'P78s(G1M7)',
4250
+ 22 => 'P78HD四核(C4A5)',
4251
+ 23 => 'P78HD??(C4A5)',
4252
+ 24 => 'P79HD(A3V9)',
4253
+ 25 => 'P79HD 3G(C4K5)',
4254
+ 26 => 'p7901a',
4255
+ ),
4256
+ '@P8' =>
4257
+ array (
4258
+ 0 => 'P8 Energy',
4259
+ 1 => 'P8 Energy mini',
4260
+ 2 => 'P8 Energy mini TM',
4261
+ 3 => 'P80 四核 (BV8K)',
4262
+ 4 => 'P80 四核 (BV9K)',
4263
+ 5 => 'P80s 四核(EF6W)',
4264
+ 6 => 'P80 3G四核 (B1KC)',
4265
+ 7 => 'P80 3G四核 (B4KC)',
4266
+ 8 => 'P80 3G八核(A4LL)',
4267
+ 9 => 'P80 3G八核(A5LL)',
4268
+ 10 => 'P80 3G八核(A6LL)',
4269
+ 11 => 'P80 4G(K2G3)',
4270
+ 12 => 'P81HD',
4271
+ 13 => 'P85(A9D3)',
4272
+ 14 => 'P85(A9D5)',
4273
+ 15 => 'P85(R8A1)',
4274
+ 16 => 'P85mini(DT8W)',
4275
+ 17 => 'P85s mini(EWE8)',
4276
+ 18 => 'P85t mini(KW8P)',
4277
+ 19 => 'P85HD双核(K6N2)',
4278
+ 20 => 'P86(F8G6)',
4279
+ 21 => 'P88双核(H3D7)',
4280
+ 22 => 'P88(H3D7)',
4281
+ 23 => 'P88(GT4K)',
4282
+ 24 => 'P88s mini??(F2V6)',
4283
+ 25 => 'P88s mini四核(F2V7)',
4284
+ 26 => 'P88HD(C5GV)',
4285
+ 27 => 'P89 3G八核(D1H8)',
4286
+ 28 => 'P89 3Gk8(D1H8)',
4287
+ 29 => 'P89mini(E2W6)',
4288
+ 30 => 'P89 mini(E2W6)',
4289
+ 31 => 'P89s(F8A5)',
4290
+ 32 => 'P89s mini(F8A2)',
4291
+ ),
4292
+ '@P9' =>
4293
+ array (
4294
+ 0 => 'P940',
4295
+ 1 => 'P990',
4296
+ 2 => 'P90(H3U6)',
4297
+ 3 => 'P90(H3U7)',
4298
+ 4 => 'P98(F2K9)',
4299
+ 5 => 'P98 八核(B9A3)',
4300
+ 6 => 'P98 3Gk8(A4HY)',
4301
+ 7 => 'P98 3G??(A4HY)',
4302
+ 8 => 'P98 3G(M1Q2)',
4303
+ 9 => 'P98 3G八核(A3HY)',
4304
+ 10 => 'P98 3G八核(A4HY)',
4305
+ 11 => 'P98 4G??(A8H6)',
4306
+ 12 => 'P98 Air?? (C6V8)',
4307
+ 13 => 'P98Air(C6V8)',
4308
+ 14 => 'P98HD(A2Q6)',
4309
+ 15 => 'P98HD+M6',
4310
+ 16 => 'P98T(K3C4)',
4311
+ ),
4312
+ '@PA' =>
4313
+ array (
4314
+ 0 => 'Panda(Board)?!',
4315
+ 1 => 'Passion',
4316
+ 2 => '(Transformer )?(Pad )?TF300(T|TG|TL)!',
4317
+ 3 => '(Transformer )?(Pad )?TF502(T)!',
4318
+ 4 => '(Transformer )?(Pad )?TF700(T|K)!',
4319
+ 5 => 'PadFone',
4320
+ 6 => 'PadFone 2',
4321
+ 7 => 'PadFone Infinity',
4322
+ 8 => 'PadFone Infinity A86',
4323
+ 9 => 'PadFone T004',
4324
+ 10 => 'PadFone-T004',
4325
+ 11 => 'PadFone T008',
4326
+ 12 => 'PadFone T00C',
4327
+ 13 => 'PadFone X',
4328
+ 14 => 'PadFone X mini',
4329
+ 15 => 'Patio100',
4330
+ 16 => 'Patio100 3G',
4331
+ 17 => 'PAD[0-9]{3,3}!!',
4332
+ 18 => 'Panasonic!!',
4333
+ 19 => 'pandigital9hr',
4334
+ 20 => 'pandigital9hr2',
4335
+ 21 => 'pandigitalopc1',
4336
+ 22 => 'pandigitalopp1',
4337
+ 23 => 'pandigitalp1hr',
4338
+ 24 => 'PantechP!!',
4339
+ 25 => 'PAT712W',
4340
+ 26 => 'PATG7506HD',
4341
+ 27 => 'PAP[0-9]{4,4}!!',
4342
+ 28 => 'PAD1001',
4343
+ ),
4344
+ '@PB' =>
4345
+ array (
4346
+ 0 => 'PB99400',
4347
+ ),
4348
+ '@PC' =>
4349
+ array (
4350
+ 0 => 'PC1038',
4351
+ 1 => '(DNS )?(Airtab )?(E|M|MA|MF|MW|P|PC|PF)[0-9]{2,4}!!',
4352
+ 2 => '(HTC|PCD|USCC)?ADR[0-9]{4,4}!!',
4353
+ 3 => 'PC36100!',
4354
+ 4 => 'PC-TE307N1W',
4355
+ 5 => 'PC-TE508BAW',
4356
+ 6 => 'PC-TS508T1W',
4357
+ 7 => 'PC-TS708T1W',
4358
+ ),
4359
+ '@PD' =>
4360
+ array (
4361
+ 0 => 'PD10-DYD',
4362
+ 1 => 'PD6D1J',
4363
+ ),
4364
+ '@PE' =>
4365
+ array (
4366
+ 0 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
4367
+ 1 => 'PEDI',
4368
+ 2 => 'Penta!!',
4369
+ 3 => 'Pentagram!!',
4370
+ 4 => 'pepper',
4371
+ ),
4372
+ '@PF' =>
4373
+ array (
4374
+ 0 => '(DNS )?(Airtab )?(E|M|MA|MF|MW|P|PC|PF)[0-9]{2,4}!!',
4375
+ ),
4376
+ '@PG' =>
4377
+ array (
4378
+ 0 => 'PG06100',
4379
+ 1 => 'PG41200',
4380
+ 2 => 'PG86100!',
4381
+ 3 => 'PGM 398',
4382
+ ),
4383
+ '@PH' =>
4384
+ array (
4385
+ 0 => 'PH7M EU 5596',
4386
+ 1 => 'PHA-3850',
4387
+ 2 => 'PHA-3880',
4388
+ 3 => 'PHA-4850',
4389
+ 4 => 'PHA-5850',
4390
+ 5 => 'photon',
4391
+ 6 => 'PH44100',
4392
+ 7 => 'Photon',
4393
+ 8 => 'Photon 4G',
4394
+ 9 => 'Photon Q',
4395
+ 10 => 'Photon Q LTE',
4396
+ 11 => 'PH350',
4397
+ 12 => 'PH520',
4398
+ 13 => 'PHICOMM!!',
4399
+ 14 => 'Philips I908',
4400
+ 15 => 'Philips I928',
4401
+ 16 => 'Philips S301',
4402
+ 17 => 'Philips S308',
4403
+ 18 => 'Philips S316T',
4404
+ 19 => 'Philips S337',
4405
+ 20 => 'Philips S358',
4406
+ 21 => 'Philips S388!',
4407
+ 22 => 'Philips S398',
4408
+ 23 => 'Philips S616',
4409
+ 24 => 'Philips T3500',
4410
+ 25 => 'Philips T3566',
4411
+ 26 => 'Philips V377',
4412
+ 27 => 'Philips V387',
4413
+ 28 => 'Philips W336',
4414
+ 29 => 'Philips W536',
4415
+ 30 => 'Philips W626',
4416
+ 31 => 'Philips W632',
4417
+ 32 => 'Philips W635',
4418
+ 33 => 'Philips W737',
4419
+ 34 => 'Philips W832',
4420
+ 35 => 'Philips W3500',
4421
+ 36 => 'Philips W3509',
4422
+ 37 => 'Philips W3550',
4423
+ 38 => 'Philips W3568',
4424
+ 39 => 'Philips W6350',
4425
+ 40 => 'PhilipsW6350',
4426
+ 41 => 'Philips W6610',
4427
+ 42 => 'Philips W6618',
4428
+ 43 => 'Philips W7555',
4429
+ 44 => 'Philips-W7555',
4430
+ 45 => 'Philips-W8500',
4431
+ 46 => 'Philips W8510',
4432
+ 47 => 'Philips W8555',
4433
+ 48 => 'Philips W8560',
4434
+ 49 => 'Philips GoGear Connect',
4435
+ 50 => 'Philips PI5000',
4436
+ 51 => 'PHABLET 4S',
4437
+ 52 => 'Phablet 4.5Q',
4438
+ 53 => 'Phablet 5,3 Q',
4439
+ ),
4440
+ '@PI' =>
4441
+ array (
4442
+ 0 => 'Pixel C',
4443
+ 1 => '(Axioo[\\- ])?PICO!!',
4444
+ 2 => '(GIO-)?(GiONEE[- ])?Pioneer P1!',
4445
+ 3 => '(GIO-)?(GiONEE[- ])?Pioneer P2!',
4446
+ 4 => '(GIO-)?(GiONEE[- ])?Pioneer P3!',
4447
+ 5 => '(GIO-)?(GiONEE[- ])?Pioneer P4!',
4448
+ 6 => 'PI2000',
4449
+ 7 => 'PI2010',
4450
+ 8 => 'PI2011',
4451
+ 9 => 'PI3100',
4452
+ 10 => 'PI3100-93',
4453
+ 11 => 'PI3100Z3 93',
4454
+ 12 => 'PI3105',
4455
+ 13 => 'PI3106',
4456
+ 14 => 'PI3110',
4457
+ 15 => 'PI3205G',
4458
+ 16 => 'PI3210G',
4459
+ 17 => 'PI3900',
4460
+ 18 => 'PI3900-93',
4461
+ 19 => 'PI3910',
4462
+ 20 => 'PI4010G',
4463
+ 21 => 'PI7000',
4464
+ 22 => 'PI7100 93',
4465
+ 23 => '(PNR-)?Pioneer!!',
4466
+ 24 => 'PIRANHA!!',
4467
+ ),
4468
+ '@PJ' =>
4469
+ array (
4470
+ 0 => 'PJ83100',
4471
+ 1 => 'PJ35100',
4472
+ ),
4473
+ '@PL' =>
4474
+ array (
4475
+ 0 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
4476
+ 1 => 'Planet II v2',
4477
+ 2 => 'Play 6X-1000',
4478
+ 3 => 'Play8X-1100',
4479
+ 4 => 'PLANET',
4480
+ 5 => 'Playboy PB-S3',
4481
+ 6 => '(PLOYER-)?MOMO!!',
4482
+ 7 => 'PlayTabPro',
4483
+ 8 => 'PLT!!',
4484
+ 9 => 'PlayBook',
4485
+ ),
4486
+ '@PM' =>
4487
+ array (
4488
+ 0 => 'PM36100',
4489
+ 1 => 'PM63100',
4490
+ 2 => 'PMID!!',
4491
+ 3 => 'PMP[0-9]{4,4}!!',
4492
+ 4 => 'PMT[0-9]{4,4}!!',
4493
+ ),
4494
+ '@PN' =>
4495
+ array (
4496
+ 0 => 'pnx8473 kiryung',
4497
+ 1 => 'PNDPP4MT9G2',
4498
+ 2 => 'PNDPP44QC7',
4499
+ 3 => 'PNDPP48GP',
4500
+ 4 => 'PNDPP4MT9G3',
4501
+ 5 => 'PNDPP410GP',
4502
+ 6 => '(PNR-)?Pioneer!!',
4503
+ ),
4504
+ '@PO' =>
4505
+ array (
4506
+ 0 => '(Highscreen|Alpha|Bay|Cosmo|Explosion|Power|Prime|Zera)!!',
4507
+ 1 => 'PocketBook A7',
4508
+ 2 => 'PocketBook A10',
4509
+ 3 => 'PocketBook A10 3G',
4510
+ 4 => 'PocketBook SURFpad2',
4511
+ 5 => 'PocketBook SURFpad 3 (7,85")',
4512
+ 6 => 'PocketBook SURFpad 4 S',
4513
+ 7 => 'PocketBook SURFpad 4 M',
4514
+ 8 => 'PocketBook SURFpad 4 L',
4515
+ 9 => 'POV-Mobii-7',
4516
+ 10 => 'POV Mobii 7',
4517
+ 11 => 'POV TAB-P506!',
4518
+ 12 => 'POV TAB-P517!',
4519
+ 13 => 'POV TAB-P527!',
4520
+ 14 => 'POV TAB-P629!',
4521
+ 15 => 'POV TAB-P701!',
4522
+ 16 => 'POV TAB-P703!',
4523
+ 17 => 'POV TAB-P720!',
4524
+ 18 => 'POV TAB-P721A!',
4525
+ 19 => 'POV TAB-P721!',
4526
+ 20 => 'POV TAB-P722C!',
4527
+ 21 => 'POV TAB-P731N!',
4528
+ 22 => 'POV TAB-P825!',
4529
+ 23 => 'POV TAB-P925!',
4530
+ 24 => 'POV TAB-PR945!',
4531
+ 25 => 'POV TAB-P1025!',
4532
+ 26 => 'POV TAB-P1030!',
4533
+ 27 => 'POV TAB-PI1045!',
4534
+ 28 => 'POV TAB-P1325!',
4535
+ 29 => '(POV )?TAB-PLAYTABPRO!',
4536
+ 30 => '(POV )?TAB-PROTAB25!',
4537
+ 31 => '(POV )?TAB-PROTAB26!',
4538
+ 32 => 'POV TAB-PROTAB27',
4539
+ 33 => '(POV )?TAB-PROTAB30!',
4540
+ 34 => '(POV )?TAB-PROTAB2XXL(4)!',
4541
+ 35 => '(POV )?TAB NAVI7 3G M!',
4542
+ 36 => 'POV_TAB-NAVI7-3G-M',
4543
+ 37 => 'POV TAB-P547(v1.0)',
4544
+ 38 => 'POV TV-HDMI-200BT',
4545
+ 39 => 'POV TV-HDMI-200BT(V2.0)',
4546
+ 40 => 'POV TV-HDMI-210',
4547
+ 41 => 'POV TV-HDMI-KB-01',
4548
+ 42 => 'POV TV-SMARTTV-500',
4549
+ 43 => 'Polaroid PSPT401',
4550
+ 44 => 'Polaroid PSPC505',
4551
+ 45 => 'Polaroid P4005A',
4552
+ 46 => 'POLY ?PAD!!',
4553
+ 47 => 'POLYTRON!!',
4554
+ 48 => 'POMP!!',
4555
+ 49 => 'Positivo Mini',
4556
+ 50 => 'POSITIVO YPY 07FTB',
4557
+ 51 => 'Positivo Ypy AB7E',
4558
+ 52 => 'Positivo Ypy AB7EC',
4559
+ 53 => 'Positivo Ypy AB7F',
4560
+ 54 => 'Positivo AB7F',
4561
+ 55 => 'Positivo Ypy AB7H',
4562
+ 56 => 'Positivo Ypy AB10E',
4563
+ 57 => 'Positivo Ypy AB10EC',
4564
+ 58 => 'Positivo Ypy AB10H',
4565
+ 59 => 'Positivo BGH Ypy L700',
4566
+ 60 => 'Positivo Ypy L700',
4567
+ 61 => 'Positivo Ypy L700 Ed. Especial',
4568
+ 62 => 'Positivo Ypy L700+',
4569
+ 63 => 'Positivo Ypy L700 Kids',
4570
+ 64 => 'Positivo BGH Ypy L700 Kids',
4571
+ 65 => 'Positivo Ypy L700+ Kids',
4572
+ 66 => 'Positivo Ypy L1000',
4573
+ 67 => 'Positivo Ypy L1000AB',
4574
+ 68 => 'Positivo Ypy L1000F',
4575
+ 69 => 'Positivo Ypy L1050',
4576
+ 70 => 'Positivo Ypy L1050E',
4577
+ 71 => 'Positivo Ypy L1050F',
4578
+ 72 => 'Positivo S380',
4579
+ 73 => 'Positivo S440',
4580
+ 74 => 'Positivo S480',
4581
+ 75 => 'Positivo S550',
4582
+ 76 => 'Positivo X400',
4583
+ 77 => 'Positivo X800',
4584
+ ),
4585
+ '@PP' =>
4586
+ array (
4587
+ 0 => 'PP4MT-7',
4588
+ 1 => 'PP4MT-9',
4589
+ ),
4590
+ '@PR' =>
4591
+ array (
4592
+ 0 => 'Project Tango Tablet Development Kit',
4593
+ 1 => '(Highscreen|Alpha|Bay|Cosmo|Explosion|Power|Prime|Zera)!!',
4594
+ 2 => 'Pro 10 dual core',
4595
+ 3 => 'Prada 3.0',
4596
+ 4 => 'Primo76',
4597
+ 5 => 'Primo 91',
4598
+ 6 => 'PRIME PLUS 3G',
4599
+ 7 => 'PROTAB2XXL',
4600
+ 8 => 'PROV!!',
4601
+ 9 => 'PRO!!',
4602
+ 10 => 'Prestigio PAP5000TDUO',
4603
+ 11 => 'PRBT 100',
4604
+ 12 => 'printer-tablet',
4605
+ 13 => 'PRS-T1',
4606
+ 14 => 'PRIMO7',
4607
+ 15 => 'PRIMO8',
4608
+ 16 => 'PRO7D',
4609
+ 17 => 'Primo C2',
4610
+ 18 => 'Primo C3 3G',
4611
+ 19 => 'Primo D2',
4612
+ 20 => 'Primo D3',
4613
+ 21 => 'Primo D4',
4614
+ 22 => 'Primo D5',
4615
+ 23 => 'Primo E1',
4616
+ 24 => 'Primo E2',
4617
+ 25 => 'PRIMO E3',
4618
+ 26 => 'Primo E4',
4619
+ 27 => 'Primo E4+',
4620
+ 28 => 'Primo E6',
4621
+ 29 => 'Primo EF',
4622
+ 30 => 'Primo EF2',
4623
+ 31 => 'Primo EF3',
4624
+ 32 => 'Primo EM',
4625
+ 33 => 'Primo F1',
4626
+ 34 => 'Primo F2',
4627
+ 35 => 'Primo-F2',
4628
+ 36 => 'Primo F3',
4629
+ 37 => 'Primo F3i',
4630
+ 38 => 'Primo F4',
4631
+ 39 => 'Primo F5',
4632
+ 40 => 'Primo F6',
4633
+ 41 => 'Primo-G1',
4634
+ 42 => 'Primo G2',
4635
+ 43 => 'Primo-G3',
4636
+ 44 => 'Primo G4',
4637
+ 45 => 'Primo G5',
4638
+ 46 => 'Primo G6',
4639
+ 47 => 'Primo GF2',
4640
+ 48 => 'Primo GF4',
4641
+ 49 => 'Primo GH+',
4642
+ 50 => 'Primo-GH2',
4643
+ 51 => 'Primo GH2',
4644
+ 52 => 'Primo GH3',
4645
+ 53 => 'Primo GH4',
4646
+ 54 => 'Primo GH5',
4647
+ 55 => 'Primo GH6',
4648
+ 56 => 'Primo GM',
4649
+ 57 => 'Primo GM mini',
4650
+ 58 => 'Primo H2',
4651
+ 59 => 'Primo-H3',
4652
+ 60 => 'Primo H3',
4653
+ 61 => 'Primo H4',
4654
+ 62 => 'Primo H5',
4655
+ 63 => 'Primo HM',
4656
+ 64 => 'Primo HM3',
4657
+ 65 => 'Primo-N',
4658
+ 66 => 'Primo-N1',
4659
+ 67 => 'Primo NF',
4660
+ 68 => 'Primo NF+',
4661
+ 69 => 'Primo NX',
4662
+ 70 => 'Primo NX2',
4663
+ 71 => 'Primo NX3',
4664
+ 72 => 'Primo R1',
4665
+ 73 => 'Primo R2',
4666
+ 74 => 'Primo R3',
4667
+ 75 => 'Primo R4',
4668
+ 76 => 'Primo RH',
4669
+ 77 => 'Primo RM',
4670
+ 78 => 'Primo RM2',
4671
+ 79 => 'Primo RM2 mini',
4672
+ 80 => 'Primo RX2',
4673
+ 81 => 'Primo RX4',
4674
+ 82 => 'Primo S1',
4675
+ 83 => 'Primo S3',
4676
+ 84 => 'Primo S3 mini',
4677
+ 85 => 'Primo V1',
4678
+ 86 => 'Primo VX',
4679
+ 87 => '(WALTON )?Primo-X1!',
4680
+ 88 => 'Primo-X2',
4681
+ 89 => 'Primo X2mini',
4682
+ 90 => 'Primo X3',
4683
+ 91 => 'Primo X3mini',
4684
+ 92 => 'Primo Z',
4685
+ 93 => 'Primo-ZX',
4686
+ 94 => 'Primo ZX2',
4687
+ 95 => 'Primo Walpad 7',
4688
+ 96 => 'Primo Walpad 8',
4689
+ 97 => 'Primo Walpad 8W',
4690
+ 98 => 'Proton Lite',
4691
+ 99 => 'Prism',
4692
+ 100 => 'Prism II',
4693
+ ),
4694
+ '@PS' =>
4695
+ array (
4696
+ 0 => 'PSPT350',
4697
+ 1 => 'PSP[0-9]{4,4}!!',
4698
+ 2 => 'PS47',
4699
+ ),
4700
+ '@PT' =>
4701
+ array (
4702
+ 0 => 'PTL21',
4703
+ ),
4704
+ '@PU' =>
4705
+ array (
4706
+ 0 => 'PURE XL',
4707
+ 1 => 'PULID F6',
4708
+ 2 => 'PULID F7',
4709
+ 3 => 'PULID F11',
4710
+ 4 => 'PULID T3',
4711
+ 5 => 'Pulse',
4712
+ 6 => 'Pulse Mini',
4713
+ ),
4714
+ '@PY' =>
4715
+ array (
4716
+ 0 => 'Pyramid',
4717
+ ),
4718
+ '@Q-' =>
4719
+ array (
4720
+ 0 => 'Q-Wave!!',
4721
+ 1 => '(QMobile|QTab|Q-Smart|Noir)!!',
4722
+ ),
4723
+ '@Q0' =>
4724
+ array (
4725
+ 0 => 'Q07CL01',
4726
+ ),
4727
+ '@Q1' =>
4728
+ array (
4729
+ 0 => '(BB )?Q10$!',
4730
+ ),
4731
+ '@Q5' =>
4732
+ array (
4733
+ 0 => '(BB )?Q5$!',
4734
+ ),
4735
+ '@QI' =>
4736
+ array (
4737
+ 0 => 'Qilive!!',
4738
+ ),
4739
+ '@QM' =>
4740
+ array (
4741
+ 0 => 'QM151E',
4742
+ 1 => 'QM152E',
4743
+ 2 => 'QM163E',
4744
+ 3 => 'QM734-8G',
4745
+ 4 => 'QM735-8G',
4746
+ 5 => '(QMobile|QTab|Q-Smart|Noir)!!',
4747
+ 6 => 'QMV7A',
4748
+ 7 => 'QMV7B',
4749
+ ),
4750
+ '@QO' =>
4751
+ array (
4752
+ 0 => 'QOOQ',
4753
+ ),
4754
+ '@QS' =>
4755
+ array (
4756
+ 0 => '(AC|BC|LC|MT|RC|QS|VM|TS|OC)[0-9]{4,4}[A-Z]!!',
4757
+ ),
4758
+ '@QT' =>
4759
+ array (
4760
+ 0 => '(QMobile|QTab|Q-Smart|Noir)!!',
4761
+ 1 => 'QTAQZ3',
4762
+ 2 => 'QTAQZ3KID',
4763
+ 3 => 'QTAIR7',
4764
+ ),
4765
+ '@QU' =>
4766
+ array (
4767
+ 0 => 'Quest',
4768
+ 1 => 'Quicki-811',
4769
+ 2 => 'QUANTUM 4',
4770
+ 3 => 'QUANTUM 700m',
4771
+ 4 => 'QUANTUM 1010N',
4772
+ 5 => 'Quechua Phone 5',
4773
+ ),
4774
+ '@QV' =>
4775
+ array (
4776
+ 0 => 'QV151E',
4777
+ ),
4778
+ '@QW' =>
4779
+ array (
4780
+ 0 => 'QW ?TB-[0-9]{4,4}!!',
4781
+ ),
4782
+ '@R1' =>
4783
+ array (
4784
+ 0 => 'R1001',
4785
+ 1 => 'R1011',
4786
+ ),
4787
+ '@R2' =>
4788
+ array (
4789
+ 0 => 'R2001',
4790
+ 1 => 'R2010',
4791
+ 2 => 'R2017',
4792
+ ),
4793
+ '@R3' =>
4794
+ array (
4795
+ 0 => 'R30GT',
4796
+ ),
4797
+ '@R6' =>
4798
+ array (
4799
+ 0 => 'R6006',
4800
+ 1 => 'R6007',
4801
+ ),
4802
+ '@R7' =>
4803
+ array (
4804
+ 0 => 'R7005',
4805
+ 1 => 'R7007',
4806
+ ),
4807
+ '@R8' =>
4808
+ array (
4809
+ 0 => 'R801',
4810
+ 1 => 'R801T',
4811
+ 2 => 'R803',
4812
+ 3 => 'R805',
4813
+ 4 => 'R807',
4814
+ 5 => 'R809T',
4815
+ 6 => 'R811',
4816
+ 7 => 'R813T',
4817
+ 8 => 'R815',
4818
+ 9 => 'R815T',
4819
+ 10 => 'R815W',
4820
+ 11 => 'R817',
4821
+ 12 => 'R817T',
4822
+ 13 => 'R819',
4823
+ 14 => 'R819T!',
4824
+ 15 => 'R821',
4825
+ 16 => 'R821T',
4826
+ 17 => 'R823T',
4827
+ 18 => 'R827',
4828
+ 19 => 'R827T',
4829
+ 20 => 'R829',
4830
+ 21 => 'R829T',
4831
+ 22 => 'R830',
4832
+ 23 => 'R830S',
4833
+ 24 => 'R831K',
4834
+ 25 => 'R831L',
4835
+ 26 => 'R831T',
4836
+ 27 => 'R831S',
4837
+ 28 => 'R831',
4838
+ 29 => 'R833T',
4839
+ 30 => 'R850',
4840
+ 31 => 'R883T',
4841
+ 32 => 'R8000',
4842
+ 33 => 'R8001',
4843
+ 34 => 'R8006',
4844
+ 35 => 'R8007',
4845
+ 36 => 'R8015',
4846
+ 37 => 'R8106',
4847
+ 38 => 'R8107',
4848
+ 39 => 'R8109',
4849
+ 40 => 'R8111',
4850
+ 41 => 'R8113',
4851
+ 42 => 'R8200',
4852
+ 43 => 'R8201',
4853
+ 44 => 'R8205',
4854
+ 45 => 'R8206',
4855
+ 46 => 'R8207',
4856
+ 47 => 'R800(a|at|i|iv|x)!',
4857
+ ),
4858
+ '@RA' =>
4859
+ array (
4860
+ 0 => 'Rage',
4861
+ 1 => 'RAPAXSE080-0508',
4862
+ 2 => 'RAZR',
4863
+ 3 => 'RAZR HD',
4864
+ 4 => 'RAZR M',
4865
+ 5 => 'RAZR MAXX',
4866
+ 6 => 'Ramosi8',
4867
+ 7 => 'Ramosi8c',
4868
+ 8 => 'Ramosi9',
4869
+ 9 => 'Ramosi9-3G',
4870
+ 10 => 'Ramos i9s',
4871
+ 11 => 'Ramos i9s Series',
4872
+ 12 => 'Ramos i9s pro',
4873
+ 13 => 'Ramosi10',
4874
+ 14 => 'Ramosi12c',
4875
+ 15 => 'Ramos W6HD',
4876
+ 16 => 'Ramos W12',
4877
+ 17 => 'Ramos W12HD',
4878
+ 18 => 'Ramos W17Pro V3.0',
4879
+ 19 => 'Ramos W21',
4880
+ 20 => 'Ramos W25HD',
4881
+ 21 => 'Ramos W27Pro',
4882
+ 22 => 'Ramos W31',
4883
+ 23 => 'Ramos w36',
4884
+ 24 => 'Ramos W41',
4885
+ 25 => 'Ramos W41 QuadCore',
4886
+ 26 => 'Ramos X10 PRO!',
4887
+ 27 => 'Rayhov!!',
4888
+ 28 => 'RAINBOW',
4889
+ 29 => 'RAINBOW 4G',
4890
+ 30 => 'RacerII',
4891
+ 31 => 'Racer',
4892
+ ),
4893
+ '@RB' =>
4894
+ array (
4895
+ 0 => 'RBK-490',
4896
+ ),
4897
+ '@RC' =>
4898
+ array (
4899
+ 0 => '(AC|BC|LC|MT|RC|QS|VM|TS|OC)[0-9]{4,4}[A-Z]!!',
4900
+ ),
4901
+ '@RE' =>
4902
+ array (
4903
+ 0 => 'redhookbay',
4904
+ 1 => '(E-Boda|Eruption|Essential|Supreme|Storm|Revo)!!',
4905
+ 2 => 'Rezound',
4906
+ 3 => 'Renesas!',
4907
+ 4 => 'Readboy!!',
4908
+ 5 => 'ReederA8R',
4909
+ 6 => 'Redmi',
4910
+ 7 => 'Redmi 1S',
4911
+ 8 => 'REDMI NOTE',
4912
+ 9 => 'Redmi Note 4G (LTE)',
4913
+ 10 => 'Redmi Note 2',
4914
+ 11 => 'Redmi Note 3',
4915
+ 12 => 'RedRice',
4916
+ ),
4917
+ '@RI' =>
4918
+ array (
4919
+ 0 => 'Rikomagic MK802',
4920
+ 1 => 'Rikomagic MK802 ?II!',
4921
+ 2 => 'Rikomagic MK802III',
4922
+ 3 => 'Rikomagic MK802IIIS',
4923
+ 4 => '(Gsmart|Gigabyte|Rio)!!',
4924
+ 5 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
4925
+ 6 => 'Rise',
4926
+ 7 => '(Ritmix )?RM[DP]-?[0-9]{3,3}!!',
4927
+ 8 => 'RIDGE',
4928
+ 9 => 'RIDGE 4G',
4929
+ 10 => 'RIDGE FAB 4G',
4930
+ ),
4931
+ '@RK' =>
4932
+ array (
4933
+ 0 => 'rksdk',
4934
+ 1 => 'rk2808(sdk)?!',
4935
+ 2 => 'rk2818(sdk)?!',
4936
+ 3 => 'RK2906',
4937
+ 4 => 'RK2918',
4938
+ 5 => 'rk2926-q8',
4939
+ 6 => 'rk2928sdk',
4940
+ 7 => 'rk29sdk',
4941
+ 8 => 'rk30sdk!',
4942
+ 9 => 'rk30mtk',
4943
+ 10 => 'rk3026',
4944
+ 11 => 'rk3028a',
4945
+ 12 => 'rk3028sdk',
4946
+ 13 => 'rk3036',
4947
+ 14 => 'rk3066',
4948
+ 15 => 'rk31sdk',
4949
+ 16 => 'rk31 5931',
4950
+ 17 => 'rk31 8089',
4951
+ 18 => 'rk31 872xu',
4952
+ 19 => 'rk31au',
4953
+ 20 => 'rk31rtl',
4954
+ 21 => 'rk312x',
4955
+ 22 => 'rk3188!',
4956
+ 23 => 'rk3288!',
4957
+ 24 => 'rk3990!',
4958
+ 25 => 'RKM MK602',
4959
+ 26 => 'RKM MK802IIIS',
4960
+ 27 => 'RKM MK802IV',
4961
+ 28 => 'RKM MK902',
4962
+ 29 => 'RKM MK902II',
4963
+ ),
4964
+ '@RM' =>
4965
+ array (
4966
+ 0 => 'RM02',
4967
+ 1 => 'RM-980',
4968
+ 2 => 'RM-1061',
4969
+ 3 => '(Ritmix )?RM[DP]-?[0-9]{3,3}!!',
4970
+ 4 => 'RMD-[0-9]{2,3}G!!',
4971
+ ),
4972
+ '@RO' =>
4973
+ array (
4974
+ 0 => 'roiX',
4975
+ 1 => 'RoverPad 3W T71D',
4976
+ 2 => 'ROAR',
4977
+ 3 => 'Roar A50',
4978
+ ),
4979
+ '@RP' =>
4980
+ array (
4981
+ 0 => 'RP-UDM01A',
4982
+ ),
4983
+ '@RT' =>
4984
+ array (
4985
+ 0 => 'RTC-700A',
4986
+ ),
4987
+ '@RW' =>
4988
+ array (
4989
+ 0 => 'RW107',
4990
+ ),
4991
+ '@S-' =>
4992
+ array (
4993
+ 0 => 'S-F16',
4994
+ ),
4995
+ '@S0' =>
4996
+ array (
4997
+ 0 => 'S01',
4998
+ ),
4999
+ '@S1' =>
5000
+ array (
5001
+ 0 => '(GIO-)?(GiONEE[- ])?S101!',
5002
+ 1 => '(Lenovo )?S1[- ]37AH0!',
5003
+ 2 => 'S1005KTAB',
5004
+ ),
5005
+ '@S2' =>
5006
+ array (
5007
+ 0 => 'S222',
5008
+ 1 => '(Lenovo )?S2[- ]38A(H0|T0)!',
5009
+ 2 => 'S2',
5010
+ ),
5011
+ '@S3' =>
5012
+ array (
5013
+ 0 => 's3c6410',
5014
+ 1 => 'S30',
5015
+ 2 => 'S308',
5016
+ 3 => 'S3',
5017
+ ),
5018
+ '@S4' =>
5019
+ array (
5020
+ 0 => 'S40',
5021
+ 1 => 'S4503Q',
5022
+ 2 => 'S4505M',
5023
+ 3 => 'S4',
5024
+ ),
5025
+ '@S5' =>
5026
+ array (
5027
+ 0 => 'S5PV210',
5028
+ 1 => 'S5-F',
5029
+ 2 => 'S50',
5030
+ 3 => 'S50c',
5031
+ 4 => 'S5',
5032
+ 5 => 'S5 Mini!',
5033
+ 6 => 'S51SE',
5034
+ ),
5035
+ '@S6' =>
5036
+ array (
5037
+ 0 => 'S658t',
5038
+ 1 => 'S6 Edge+!',
5039
+ ),
5040
+ '@S7' =>
5041
+ array (
5042
+ 0 => 'S710d',
5043
+ 1 => 'S710D',
5044
+ 2 => 'S720i',
5045
+ 3 => 'S7',
5046
+ 4 => 's732',
5047
+ ),
5048
+ '@S8' =>
5049
+ array (
5050
+ 0 => 'S8600',
5051
+ 1 => 'S88 DISCOVERY',
5052
+ 2 => 'S880',
5053
+ ),
5054
+ '@SA' =>
5055
+ array (
5056
+ 0 => 'sama5d3',
5057
+ 1 => 'SABRESD-MX6DQ',
5058
+ 2 => 'saltbay',
5059
+ 3 => 'SA3CNT',
5060
+ 4 => 'Salora E1',
5061
+ 5 => 'Satellite!!',
5062
+ 6 => 'San Remo Mini',
5063
+ 7 => 'San Francisco',
5064
+ 8 => 'San Francisco for',
5065
+ 9 => 'San Francisco II',
5066
+ ),
5067
+ '@SB' =>
5068
+ array (
5069
+ 0 => 'SBM[0-9]0[0-9]SH!!',
5070
+ ),
5071
+ '@SC' =>
5072
+ array (
5073
+ 0 => '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!',
5074
+ 1 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
5075
+ 2 => 'SCH-[iI][0-9]{3,3}!!',
5076
+ 3 => 'SCH-L710!',
5077
+ 4 => 'SCH-M828!',
5078
+ 5 => 'SCH-N719',
5079
+ 6 => 'SCH-P[0-9]{3,3}!!',
5080
+ 7 => 'SCH-R[0-9]{3,3}!!',
5081
+ 8 => 'SCH-S[0-9]{3,3}!!',
5082
+ 9 => 'SCH-V727',
5083
+ 10 => 'SCH-W[0-9]{3,4}!!',
5084
+ 11 => 'SC-?0[0-9][A-Z]!!',
5085
+ 12 => 'SC[LTV][23][0-9]!!',
5086
+ 13 => 'Scroll!!',
5087
+ 14 => 'SC-!!',
5088
+ ),
5089
+ '@SD' =>
5090
+ array (
5091
+ 0 => 'sdk',
5092
+ 1 => 'SD4930UR',
5093
+ ),
5094
+ '@SE' =>
5095
+ array (
5096
+ 0 => 'sec smdkc210',
5097
+ 1 => 'sec smdkv210',
5098
+ 2 => 'SENSUELLE',
5099
+ 3 => 'SensationXE!',
5100
+ 4 => 'SensationXL!',
5101
+ 5 => 'Sensation XL with Beats Audio',
5102
+ 6 => 'Sensation!',
5103
+ 7 => '(SENCOR )?ELEMENT!!',
5104
+ 8 => 'SENSEIT R390',
5105
+ 9 => 'SENWA S970',
5106
+ ),
5107
+ '@SF' =>
5108
+ array (
5109
+ 0 => 'SFR-G8800',
5110
+ 1 => 'SFR-G8800 TV',
5111
+ 2 => 'SFR StarTab',
5112
+ ),
5113
+ '@SG' =>
5114
+ array (
5115
+ 0 => 'SGH-[EILNMS][0-9]{3,4}!!',
5116
+ 1 => 'SGH-T[0-9]{3,3}!!',
5117
+ 2 => 'SGH-W2013!',
5118
+ 3 => 'SGP[ST0-9][0-9]{2,2}!!',
5119
+ ),
5120
+ '@SH' =>
5121
+ array (
5122
+ 0 => 'Shark Bay Client platform',
5123
+ 1 => 'shamu',
5124
+ 2 => 'SHIELD Console',
5125
+ 3 => 'SHIELD Android TV',
5126
+ 4 => 'SHIELD Andr0id TV',
5127
+ 5 => 'SHIELD',
5128
+ 6 => 'SHIELD Tablet',
5129
+ 7 => 'SHIELD Tablet K1',
5130
+ 8 => 'SHIELD Tablet II',
5131
+ 9 => 'Shine',
5132
+ 10 => 'SH940C-LN',
5133
+ 11 => 'SH940C-LN TV',
5134
+ 12 => 'Sholes',
5135
+ 13 => 'SHV-E[0-9]{3,3}!!',
5136
+ 14 => 'SHW-M[0-9]{3,3}!!',
5137
+ 15 => 'SH01D',
5138
+ 16 => 'SH-M01',
5139
+ 17 => 'SH-M02',
5140
+ 18 => 'SH-M02-EVA20',
5141
+ 19 => 'SH-RM02',
5142
+ 20 => 'SH-[01][0-9][A-Z]!!',
5143
+ 21 => '(SHP-)?(SHARP )?SH[0-9]{2,3}!!',
5144
+ 22 => 'SH[FLTV][0-9]{2,2}!!',
5145
+ 23 => 'SHARP-ADS1',
5146
+ ),
5147
+ '@SI' =>
5148
+ array (
5149
+ 0 => 'SiRF Dream',
5150
+ 1 => 'simvalley SP-142',
5151
+ 2 => 'Signature Touch',
5152
+ 3 => 'Signature Touch L',
5153
+ ),
5154
+ '@SK' =>
5155
+ array (
5156
+ 0 => 'SK351',
5157
+ 1 => 'SKT01',
5158
+ 2 => '(SKY )?IM[- ][A-Z][0-9]{3,3}!!',
5159
+ 3 => 'Skyworth!!',
5160
+ 4 => 'SK17(a|i|iv|i-o)!',
5161
+ 5 => 'SK-Mtek GT7305',
5162
+ 6 => 'Skate',
5163
+ 7 => 'Skate Pro',
5164
+ ),
5165
+ '@SL' =>
5166
+ array (
5167
+ 0 => 'Slider SL101',
5168
+ 1 => 'SL930',
5169
+ 2 => '(HP|Slate)!!',
5170
+ 3 => 'Slidepad!!',
5171
+ 4 => 'SLIDE',
5172
+ ),
5173
+ '@SM' =>
5174
+ array (
5175
+ 0 => 'smdk6410',
5176
+ 1 => 'SMDKC110',
5177
+ 2 => 'SMDKV210',
5178
+ 3 => 'SMDK4x12',
5179
+ 4 => 'SMDK4412',
5180
+ 5 => 'SMDK5250',
5181
+ 6 => 'SMDK5410',
5182
+ 7 => 'smp86xx',
5183
+ 8 => 'smp8734',
5184
+ 9 => 'smp8756',
5185
+ 10 => 'SM-G900FG',
5186
+ 11 => 'SmartWatch 3',
5187
+ 12 => 'Smart!!',
5188
+ 13 => 'SM-H900A',
5189
+ 14 => 'SmartTab1',
5190
+ 15 => 'SmartPad!!',
5191
+ 16 => '(MEO )?Smart A!!',
5192
+ 17 => 'Smart Monitor 17',
5193
+ 18 => 'SMARTTVBOX',
5194
+ 19 => 'SMT-E5015',
5195
+ 20 => 'SMT-i9100',
5196
+ 21 => 'SM-A[0-9]{3,3}!!',
5197
+ 22 => 'SM-C[0-9]{3,3}!!',
5198
+ 23 => 'SM-E[0-9]{3,3}!!',
5199
+ 24 => 'SM-G[0-9]{3,3}!!',
5200
+ 25 => 'SM-I9500',
5201
+ 26 => 'SM-J[0-9]{3,3}!!',
5202
+ 27 => 'SM-N[0-9]{3,4}!!',
5203
+ 28 => 'SM-P[0-9]{3,3}!!',
5204
+ 29 => 'SM-S[0-9]{3,3}!!',
5205
+ 30 => 'SM-T[0-9]{3,3}!!',
5206
+ 31 => 'SM-V700',
5207
+ 32 => 'SM-W[0-9]{4,4}!!',
5208
+ 33 => 'Smartphone Android by SFR STARADDICT II',
5209
+ 34 => '(Smartfren|Andromax)!!',
5210
+ 35 => 'Smartfren Tab 7',
5211
+ 36 => 'SmartQ!!',
5212
+ 37 => 'SMART Sprint',
5213
+ 38 => 'SmartTab!!',
5214
+ ),
5215
+ '@SN' =>
5216
+ array (
5217
+ 0 => 'SN[0-9]!!',
5218
+ 1 => 'Snexian!!',
5219
+ 2 => '(SNM\\-)?LT[0-9]{2,2}[a-z]?!!',
5220
+ 3 => '(SNM\\-)?M[0-9]{2,2}[a-z]!!',
5221
+ ),
5222
+ '@SO' =>
5223
+ array (
5224
+ 0 => 'SoftwinerEvb',
5225
+ 1 => 'SoftwinerEvb0308',
5226
+ 2 => 'SoftwinerEvd',
5227
+ 3 => 'Softwinerkf026',
5228
+ 4 => 'Softwinerf721',
5229
+ 5 => 'Softwinerf761',
5230
+ 6 => 'Softwinerf761I',
5231
+ 7 => 'Softwinerf900',
5232
+ 8 => 'SoftwinerEvbV13',
5233
+ 9 => 'soho',
5234
+ 10 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
5235
+ 11 => 'SONIC',
5236
+ 12 => 'Sonim!!',
5237
+ 13 => 'SO-0[0-9][A-Z]!!',
5238
+ 14 => 'SO[LTV][0-9]{2,2}!!',
5239
+ 15 => 'Sony Xperia Ray',
5240
+ 16 => 'SonyEricssonMT15',
5241
+ 17 => 'SonyEricssonST15',
5242
+ 18 => 'Soshphone 4G',
5243
+ 19 => 'soft stone',
5244
+ ),
5245
+ '@SP' =>
5246
+ array (
5247
+ 0 => 'Sprint!!',
5248
+ 1 => 'Sparkle V',
5249
+ 2 => 'SPNG9716DC',
5250
+ 3 => 'SPH-D[0-9]{3,3}!!',
5251
+ 4 => 'SPH-L[0-9]{3,3}!!',
5252
+ 5 => 'SPH-M[0-9]{3,3}!!',
5253
+ 6 => 'SPH-P[0-9]{3,3}!!',
5254
+ 7 => 'SP-120',
5255
+ 8 => 'SPX-5',
5256
+ 9 => 'SPX-5 3G',
5257
+ 10 => 'SPX-6',
5258
+ 11 => 'SPX-12',
5259
+ 12 => 'SpeedUp S3',
5260
+ 13 => '(CSL[- ])?(Spice[- ]?)?Mi(-| )?[0-9]{3,3}!!',
5261
+ 14 => 'SPICE IV',
5262
+ 15 => 'SP-A20i',
5263
+ 16 => 'SpringBoard',
5264
+ ),
5265
+ '@SR' =>
5266
+ array (
5267
+ 0 => 'SRT!!',
5268
+ ),
5269
+ '@ST' =>
5270
+ array (
5271
+ 0 => 'ste l8540!',
5272
+ 1 => 'ste u8500',
5273
+ 2 => 'ste u9540',
5274
+ 3 => 'Stingray',
5275
+ 4 => 'Stream',
5276
+ 5 => 'Status',
5277
+ 6 => 'Style',
5278
+ 7 => 'STV100-1',
5279
+ 8 => 'STV100-2',
5280
+ 9 => 'STV100-3',
5281
+ 10 => 'STV100-4',
5282
+ 11 => 'STH100-2',
5283
+ 12 => '(BLU|DASH|LIFE|NEO|STUDIO|VIVO)!!',
5284
+ 13 => 'streak7',
5285
+ 14 => '(E-Boda|Eruption|Essential|Supreme|Storm|Revo)!!',
5286
+ 15 => 'ST7001',
5287
+ 16 => 'ST8000',
5288
+ 17 => 'ST9001',
5289
+ 18 => 'ST10',
5290
+ 19 => 'ST940I-UP',
5291
+ 20 => 'STM[0-9]{3,3}H!!',
5292
+ 21 => 'Stylo',
5293
+ 22 => 'STARXTREM',
5294
+ 23 => 'STARXTREM II',
5295
+ 24 => 'STARXTREM 4',
5296
+ 25 => 'STARXTREM5',
5297
+ 26 => 'STARADDICT II',
5298
+ 27 => 'STARADDICT II Plus',
5299
+ 28 => 'STARADDICT III',
5300
+ 29 => 'STARADDICT 4',
5301
+ 30 => 'STARADDICT 5',
5302
+ 31 => 'STARNAUTE II',
5303
+ 32 => 'STARNAUTE3',
5304
+ 33 => 'Starshine',
5305
+ 34 => 'STARSHINE II',
5306
+ 35 => 'STARSHINE III',
5307
+ 36 => 'STARSHINE 4',
5308
+ 37 => 'STARTEXT II',
5309
+ 38 => 'STARTRAIL II',
5310
+ 39 => 'StarTrail III',
5311
+ 40 => 'STARTRAIL4',
5312
+ 41 => 'STARTRAIL 4',
5313
+ 42 => 'STARTRAIL5',
5314
+ 43 => 'STARTRAIL 6 4G',
5315
+ 44 => 'STARTRAIL6',
5316
+ 45 => 'STARTRAIL7',
5317
+ 46 => 'STARTAB',
5318
+ 47 => 'ST[0-9]{2,2}[a-z]?!!',
5319
+ 48 => 'Star N8000',
5320
+ 49 => 'Star N9500',
5321
+ 50 => 'Star N9589',
5322
+ 51 => 'Star Q9000',
5323
+ 52 => 'STAR S5',
5324
+ 53 => 'STAR S7589',
5325
+ 54 => 'Starmobile!!',
5326
+ 55 => '(Starway )?Andromeda!!',
5327
+ 56 => 'STX!!',
5328
+ 57 => 'STOREX LinkBox',
5329
+ 58 => 'StarTab 715x',
5330
+ 59 => 'ST[0-9]{5,5}-[0-9]!!',
5331
+ 60 => 'STAIRWAY',
5332
+ 61 => 'StarTrail TT',
5333
+ ),
5334
+ '@SU' =>
5335
+ array (
5336
+ 0 => 'Surfing TAB B 9.7 3G',
5337
+ 1 => 'Surfing Tab C 3G',
5338
+ 2 => '(E-Boda|Eruption|Essential|Supreme|Storm|Revo)!!',
5339
+ 3 => '(Explay|X-tremer|ActiveD|Informer|Surfer)!!',
5340
+ 4 => 'SUPRA',
5341
+ 5 => 'SUBLIM',
5342
+ 6 => 'SUNSET',
5343
+ ),
5344
+ '@SV' =>
5345
+ array (
5346
+ 0 => 'sv8860',
5347
+ 1 => 'SVP-DTV15',
5348
+ ),
5349
+ '@SW' =>
5350
+ array (
5351
+ 0 => 'Swift',
5352
+ 1 => 'Swift Plus',
5353
+ ),
5354
+ '@SX' =>
5355
+ array (
5356
+ 0 => 'SXZ-PD!!',
5357
+ 1 => 'SX9701W',
5358
+ ),
5359
+ '@SY' =>
5360
+ array (
5361
+ 0 => 'Sygnus',
5362
+ 1 => 'SYTABEX7-2',
5363
+ 2 => '(Symphony|Xplorer)!!',
5364
+ 3 => 'Synrgic Uno M1',
5365
+ ),
5366
+ '@SZ' =>
5367
+ array (
5368
+ 0 => 'SZJ-JS101',
5369
+ 1 => 'SZENIO!!',
5370
+ ),
5371
+ '@T-' =>
5372
+ array (
5373
+ 0 => 'T-07B',
5374
+ 1 => 'T-800',
5375
+ 2 => 'T-200',
5376
+ 3 => 'T-Smart!!',
5377
+ 4 => 'T-01C',
5378
+ 5 => 'T-01D',
5379
+ 6 => 'T-02D',
5380
+ 7 => 'T-Mobile G1',
5381
+ 8 => 'T-Mobile G2',
5382
+ 9 => 'T-Mobile G2 Touch',
5383
+ 10 => 'T-Mobile HTC G2',
5384
+ 11 => 'T-Mobile myTouch',
5385
+ 12 => 'T-Mobile myTouch 3G',
5386
+ 13 => 'T-Mobile myTouch 3G Slide',
5387
+ 14 => 'T-mobile my touch 3g slide',
5388
+ 15 => 'T-Mobile Espresso',
5389
+ 16 => 'T-Mobile myTouch 4G',
5390
+ 17 => 'T-Mobile myTouch Q',
5391
+ 18 => 'T-Mobile Opal',
5392
+ 19 => 'T-Mobile Vivacity',
5393
+ 20 => 'T-Hub2',
5394
+ ),
5395
+ '@T0' =>
5396
+ array (
5397
+ 0 => 'T01',
5398
+ 1 => 'T012',
5399
+ 2 => 'T02',
5400
+ 3 => 'T05',
5401
+ 4 => 'T03',
5402
+ 5 => 'T04',
5403
+ 6 => 'T00C',
5404
+ 7 => 'T00E',
5405
+ 8 => 'T00N',
5406
+ 9 => 'T00D',
5407
+ 10 => 'T00S',
5408
+ 11 => 'T00T',
5409
+ 12 => 'T001',
5410
+ 13 => 'T00I',
5411
+ 14 => 'T00I-D',
5412
+ 15 => 'T00F',
5413
+ 16 => 'T00J',
5414
+ 17 => 'T00J-D',
5415
+ 18 => 'T00K',
5416
+ 19 => 'T00P',
5417
+ 20 => 'T00G',
5418
+ 21 => 'T00Q',
5419
+ ),
5420
+ '@T1' =>
5421
+ array (
5422
+ 0 => 'T1-B',
5423
+ 1 => 'T1-D',
5424
+ 2 => 'T1-E',
5425
+ 3 => 'T1K Plus',
5426
+ 4 => 'T1 7.0',
5427
+ 5 => 'T11AD!',
5428
+ ),
5429
+ '@T2' =>
5430
+ array (
5431
+ 0 => 'T20',
5432
+ ),
5433
+ '@T3' =>
5434
+ array (
5435
+ 0 => 'T320a',
5436
+ 1 => 'T30',
5437
+ 2 => 'T3696',
5438
+ 3 => 'T301',
5439
+ ),
5440
+ '@T6' =>
5441
+ array (
5442
+ 0 => 'T6',
5443
+ ),
5444
+ '@T7' =>
5445
+ array (
5446
+ 0 => '(OPPO-?)?T703!',
5447
+ 1 => 'T720 SE',
5448
+ 2 => 'T760 from moage.com',
5449
+ ),
5450
+ '@T8' =>
5451
+ array (
5452
+ 0 => 'T8[0-9]{3,3}!!',
5453
+ ),
5454
+ '@T9' =>
5455
+ array (
5456
+ 0 => 'T9108',
5457
+ 1 => 'T92',
5458
+ 2 => 'T9199h',
5459
+ 3 => 'T9[0-9]{3,3}!!',
5460
+ 4 => 'T959',
5461
+ 5 => 'T98 4G??(C6R2)',
5462
+ ),
5463
+ '@TA' =>
5464
+ array (
5465
+ 0 => 'TA272HUL',
5466
+ 1 => 'Tablet P1801-T',
5467
+ 2 => 'Tablet P1802-T',
5468
+ 3 => '(DENVER-)?TA[CD]-[0-9]{4,5}!!',
5469
+ 4 => 'Tablet-P27',
5470
+ 5 => 'TA10CA3',
5471
+ 6 => '(tablet )?fnac!!',
5472
+ 7 => '(HW-|HUAWEI )?(TIT|TAG)!!',
5473
+ 8 => 'TA-FONE!!',
5474
+ 9 => 'TAB1011',
5475
+ 10 => 'TAB-1030',
5476
+ 11 => '(Lenovo )?(Tab ?)?(2 ?)?[AS](7|8|10)!!',
5477
+ 12 => 'TAB950',
5478
+ 13 => 'TAB1062',
5479
+ 14 => 'TAB192',
5480
+ 15 => '(POV )?TAB-PLAYTABPRO!',
5481
+ 16 => '(POV )?TAB-PROTAB25!',
5482
+ 17 => '(POV )?TAB-PROTAB26!',
5483
+ 18 => '(POV )?TAB-PROTAB30!',
5484
+ 19 => 'TAB-PROTAB2-IPS9',
5485
+ 20 => 'TAB-PROTAB2-IPS-3G',
5486
+ 21 => 'TAB-PROTAB2-IPS-16',
5487
+ 22 => 'TAB-PROTAB2.4',
5488
+ 23 => 'TAB-PROTAB2XL',
5489
+ 24 => 'TAB-PROTAB2.4XL',
5490
+ 25 => 'TAB-PROTAB2XXL',
5491
+ 26 => 'TAB-PROTAB2XXL(4)',
5492
+ 27 => '(POV )?TAB-PROTAB2XXL(4)!',
5493
+ 28 => '(POV )?TAB NAVI7 3G M!',
5494
+ 29 => 'Tablet P',
5495
+ 30 => 'Tablet S',
5496
+ 31 => 'Tabra QAV801',
5497
+ 32 => 'TAB 7 3G V8',
5498
+ 33 => 'TAB 8 3G V8',
5499
+ 34 => 'TAB9 3G',
5500
+ 35 => 'TAB9 3G V8',
5501
+ 36 => 'TAB 10 3G V16',
5502
+ 37 => 'TAB 7i 3G',
5503
+ 38 => 'TAB 10Q',
5504
+ 39 => 'TAB09-410',
5505
+ 40 => 'TAB10-410',
5506
+ 41 => 'TAB07-485',
5507
+ 42 => 'TAB07-200',
5508
+ 43 => 'TAB9-200',
5509
+ 44 => 'TAB10-201',
5510
+ 45 => 'TAB210',
5511
+ 46 => 'TAB220',
5512
+ 47 => 'TAB224',
5513
+ 48 => 'TAB250',
5514
+ 49 => 'TAB275',
5515
+ 50 => 'TAB260',
5516
+ 51 => 'TAB264',
5517
+ 52 => 'TAB360',
5518
+ 53 => 'TAB364',
5519
+ 54 => 'TAB410',
5520
+ 55 => 'TAB411',
5521
+ 56 => 'TAB420',
5522
+ 57 => 'TAB424',
5523
+ 58 => 'TAB450',
5524
+ 59 => 'TAB460',
5525
+ 60 => 'TAB461',
5526
+ 61 => 'TAB464',
5527
+ 62 => 'TAB465EUK',
5528
+ 63 => 'TAB469',
5529
+ 64 => 'TAB466EUK',
5530
+ 65 => 'TAB467',
5531
+ 66 => 'TAB462',
5532
+ ),
5533
+ '@TB' =>
5534
+ array (
5535
+ 0 => 'TB07FTA',
5536
+ 1 => 'TB100',
5537
+ 2 => 'TB782B',
5538
+ 3 => 'TBD753B',
5539
+ 4 => 'TBDB763',
5540
+ 5 => 'TBDB863',
5541
+ 6 => 'TBDC1093',
5542
+ 7 => 'TBDG734',
5543
+ 8 => 'TBDG874',
5544
+ 9 => 'TBDG1073',
5545
+ 10 => 'TBQC1063',
5546
+ ),
5547
+ '@TC' =>
5548
+ array (
5549
+ 0 => 'TCC8920 STB!',
5550
+ 1 => 'TCC893X!',
5551
+ 2 => 'TCC8935 HDMI!',
5552
+ 3 => 'TCC8975 STB!',
5553
+ 4 => 'TCC8920 EVM',
5554
+ 5 => 'TCC8925 HDMI DONGLE',
5555
+ 6 => 'TCC8930 STB EV',
5556
+ 7 => 'TCC8930 STB1',
5557
+ 8 => 'TCC8935 HDMI DONGLE',
5558
+ 9 => 'TCL ONE TOUCH 990',
5559
+ 10 => 'TC970',
5560
+ 11 => 'TC970 (Wi-Fi)',
5561
+ 12 => 'TC975',
5562
+ 13 => 'TC55',
5563
+ 14 => 'TC55CH',
5564
+ 15 => 'TC70',
5565
+ 16 => 'TC75',
5566
+ 17 => 'TCL!!',
5567
+ ),
5568
+ '@TD' =>
5569
+ array (
5570
+ 0 => 'TD070VA1',
5571
+ 1 => 'TD600',
5572
+ 2 => 'TD-1010',
5573
+ 3 => 'TD506',
5574
+ ),
5575
+ '@TE' =>
5576
+ array (
5577
+ 0 => 'Telechips M801 Evaluation Board',
5578
+ 1 => 'Telechips TCC8900 Evaluation Board',
5579
+ 2 => 'Tegra!!',
5580
+ 3 => 'TECNO!!',
5581
+ 4 => 'Teclast A10',
5582
+ 5 => 'Teclast P76e!',
5583
+ 6 => 'Teclast P85!',
5584
+ 7 => 'Teclast X80h',
5585
+ 8 => 'tegav2',
5586
+ 9 => 'Tele2fon V3',
5587
+ 10 => 'Tele2fon v5',
5588
+ 11 => 'TELEFUNKEN Diamond TD1',
5589
+ 12 => 'Telpad Dual S',
5590
+ 13 => 'Telpad Quad S',
5591
+ 14 => 'Telpad QS',
5592
+ 15 => 'Tensent S9000',
5593
+ 16 => 'teXet X-alpha',
5594
+ 17 => 'teXet iX-mini',
5595
+ 18 => 'teXet X-navi',
5596
+ 19 => 'TEXET TM-4677',
5597
+ 20 => 'TeamDRH ICS for GTablet',
5598
+ 21 => 'Telenor!!',
5599
+ ),
5600
+ '@TF' =>
5601
+ array (
5602
+ 0 => 'TF101',
5603
+ 1 => 'TF101-WiMAX',
5604
+ 2 => 'TF201',
5605
+ 3 => 'tf201t',
5606
+ 4 => '(Transformer )?(Pad )?TF300(T|TG|TL)!',
5607
+ 5 => '(Transformer )?(Pad )?TF502(T)!',
5608
+ 6 => '(Transformer )?(Pad )?TF700(T|K)!',
5609
+ ),
5610
+ '@TH' =>
5611
+ array (
5612
+ 0 => 'thor',
5613
+ 1 => 'Thunder S220',
5614
+ 2 => '(Cloudfone|CloudPad|Excite|Thrill)!!',
5615
+ 3 => '(KAZAM|Thunder|Tornado|Trooper)!!',
5616
+ 4 => 'ThinkPad( Tablet)?!',
5617
+ 5 => '(CJ-)?ThL!!',
5618
+ 6 => 'THRiVE',
5619
+ ),
5620
+ '@TI' =>
5621
+ array (
5622
+ 0 => 'Tilapia',
5623
+ 1 => 'Titan TV S320',
5624
+ 2 => '(HW-|HUAWEI )?(TIT|TAG)!!',
5625
+ 3 => '(Karbonn|Titanium)!!',
5626
+ 4 => 'TI320-DU',
5627
+ 5 => 'TI320-DU TV',
5628
+ 6 => 'TizzBird!!',
5629
+ ),
5630
+ '@TL' =>
5631
+ array (
5632
+ 0 => 'TLINK[0-9]{3,3}!!',
5633
+ ),
5634
+ '@TM' =>
5635
+ array (
5636
+ 0 => 'TM400',
5637
+ 1 => 'TM105',
5638
+ 2 => 'TM105A',
5639
+ 3 => 'TM-3200R',
5640
+ 4 => 'TM-3204R',
5641
+ 5 => 'TM-4004',
5642
+ 6 => 'TM-4377',
5643
+ 7 => 'TM-4515',
5644
+ 8 => 'TM-4577',
5645
+ 9 => 'TM-4677',
5646
+ 10 => 'TM-5200',
5647
+ 11 => 'TM-5377',
5648
+ 12 => 'TM-7011',
5649
+ 13 => 'TM-7016',
5650
+ 14 => 'TM-7021',
5651
+ 15 => 'TM-7023',
5652
+ 16 => 'TM-7024',
5653
+ 17 => 'TM-7025',
5654
+ 18 => 'TM-7026',
5655
+ 19 => 'TM-7026 (revision 4)',
5656
+ 20 => 'TM-7037W',
5657
+ 21 => 'TM-7038W',
5658
+ 22 => 'TM-7041',
5659
+ 23 => 'TM-7043XD',
5660
+ 24 => 'TM-7047HD 3G',
5661
+ 25 => 'TM-7096',
5662
+ 26 => 'TM-7854',
5663
+ 27 => 'TM-8041HD',
5664
+ 28 => 'TM-8051',
5665
+ 29 => 'TM-9720',
5666
+ 30 => 'TM-9725',
5667
+ 31 => 'TM-9740',
5668
+ 32 => 'TM-9741',
5669
+ 33 => 'TM-9743W',
5670
+ 34 => 'TM-9747!',
5671
+ 35 => 'TM-9748 3G',
5672
+ 36 => 'TM-9750HD',
5673
+ 37 => 'TM-9751HD',
5674
+ 38 => 'TM-9757',
5675
+ 39 => 'TM-9757 3G rev1',
5676
+ 40 => 'TM-9767',
5677
+ 41 => 'TM-1058',
5678
+ 42 => 'tmn!!',
5679
+ ),
5680
+ '@TO' =>
5681
+ array (
5682
+ 0 => 'Toro',
5683
+ 1 => 'Toro-VZW',
5684
+ 2 => 'TOUCAN Stick HD',
5685
+ 3 => 'TOUCAN Stick G4',
5686
+ 4 => 'Toucan Stick 4K',
5687
+ 5 => 'TOUCAN Stick 3D mk2',
5688
+ 6 => 'TOUCHBOOK7.0 3G',
5689
+ 7 => '(HP )?Touchpad!',
5690
+ 8 => 'Touch Pro 2',
5691
+ 9 => '(KAZAM|Thunder|Tornado|Trooper)!!',
5692
+ 10 => 'Torque',
5693
+ 11 => 'Touchlet X10.dual',
5694
+ 12 => 'tolino tab!!',
5695
+ 13 => 'TomTom Bridge',
5696
+ 14 => 'TomTom PRO 8275',
5697
+ 15 => 'TOOKY!!',
5698
+ 16 => 'TOSHIBA AC AND AZ',
5699
+ 17 => 'TOSHIBA FOLIO AND A',
5700
+ 18 => 'Tostab03',
5701
+ ),
5702
+ '@TP' =>
5703
+ array (
5704
+ 0 => 'TPA60W',
5705
+ 1 => 'TPC-7151',
5706
+ ),
5707
+ '@TQ' =>
5708
+ array (
5709
+ 0 => 'TQ150',
5710
+ ),
5711
+ '@TR' =>
5712
+ array (
5713
+ 0 => 'Transformer',
5714
+ 1 => 'Transformer TF101(G)?!',
5715
+ 2 => '(Eee Pad )?Transformer Prime TF201!',
5716
+ 3 => 'Transformer TF201',
5717
+ 4 => 'Transformer TF201G',
5718
+ 5 => 'Transformer Prime',
5719
+ 6 => 'Transformer Prime TF300T',
5720
+ 7 => 'Transformer 300',
5721
+ 8 => 'Transformer Pad',
5722
+ 9 => '(Transformer )?(Pad )?TF300(T|TG|TL)!',
5723
+ 10 => '(Transformer )?(Pad )?TF502(T)!',
5724
+ 11 => 'Transformer Pad TF600T',
5725
+ 12 => '(Transformer )?(Pad )?TF700(T|K)!',
5726
+ 13 => 'Transformer (Pad )?Infinity!',
5727
+ 14 => 'TR720F',
5728
+ 15 => 'TR10CS1',
5729
+ 16 => 'TripNiCE Pyramid',
5730
+ 17 => '(KAZAM|Thunder|Tornado|Trooper)!!',
5731
+ 18 => 'Triumph',
5732
+ 19 => 'TRACER OXYGEN GS1',
5733
+ 20 => 'Trevi PHABLET 4C',
5734
+ 21 => 'Trevi PHABLET 5 S',
5735
+ 22 => 'TREQ!!',
5736
+ 23 => 'Trevi REVERSE 5.5Q',
5737
+ 24 => 'Trevi PHABLET 6 S',
5738
+ 25 => 'TRUE BEYOND 3G',
5739
+ ),
5740
+ '@TS' =>
5741
+ array (
5742
+ 0 => '(AC|BC|LC|MT|RC|QS|VM|TS|OC)[0-9]{4,4}[A-Z]!!',
5743
+ 1 => 'TSP21',
5744
+ 2 => 'TSB CLOUD COMPANION;TOSHIBA AC AND AZ',
5745
+ ),
5746
+ '@TT' =>
5747
+ array (
5748
+ 0 => 'TT101',
5749
+ ),
5750
+ '@TU' =>
5751
+ array (
5752
+ 0 => 'TURBO DG2014',
5753
+ 1 => 'Turbo-X pi',
5754
+ 2 => 'Turbo-X Ice',
5755
+ 3 => 'Turbo-X Tablet Spice III',
5756
+ 4 => 'Turkcell!!',
5757
+ ),
5758
+ '@TV' =>
5759
+ array (
5760
+ 0 => 'TVE9603I',
5761
+ 1 => 'TVPAD Slim K3409',
5762
+ ),
5763
+ '@TX' =>
5764
+ array (
5765
+ 0 => 'TX201LA',
5766
+ 1 => 'TX201LAF',
5767
+ 2 => 'TX85',
5768
+ 3 => 'TX18',
5769
+ ),
5770
+ '@U1' =>
5771
+ array (
5772
+ 0 => '(CUBE ?)?(K8|U1|U2|U3|U5|U6|U8|U9)[0-9]?GT!!',
5773
+ 1 => 'U1',
5774
+ 2 => 'U1203',
5775
+ ),
5776
+ '@U2' =>
5777
+ array (
5778
+ 0 => '(CUBE ?)?(K8|U1|U2|U3|U5|U6|U8|U9)[0-9]?GT!!',
5779
+ 1 => 'U20(a|i|iv)!',
5780
+ ),
5781
+ '@U3' =>
5782
+ array (
5783
+ 0 => '(CUBE ?)?(K8|U1|U2|U3|U5|U6|U8|U9)[0-9]?GT!!',
5784
+ ),
5785
+ '@U5' =>
5786
+ array (
5787
+ 0 => '(CUBE ?)?(K8|U1|U2|U3|U5|U6|U8|U9)[0-9]?GT!!',
5788
+ ),
5789
+ '@U6' =>
5790
+ array (
5791
+ 0 => '(CUBE ?)?(K8|U1|U2|U3|U5|U6|U8|U9)[0-9]?GT!!',
5792
+ ),
5793
+ '@U7' =>
5794
+ array (
5795
+ 0 => 'U701',
5796
+ 1 => 'U701T',
5797
+ 2 => 'U702',
5798
+ 3 => 'U705',
5799
+ 4 => 'U705T',
5800
+ 5 => 'U705W',
5801
+ 6 => 'U707',
5802
+ 7 => 'U707T',
5803
+ 8 => 'U708',
5804
+ 9 => 'U7011',
5805
+ 10 => 'U7015',
5806
+ ),
5807
+ '@U8' =>
5808
+ array (
5809
+ 0 => '(CUBE ?)?(K8|U1|U2|U3|U5|U6|U8|U9)[0-9]?GT!!',
5810
+ 1 => 'U8[0-9]{3,3}!!',
5811
+ 2 => 'U880',
5812
+ 3 => 'U880E',
5813
+ 4 => 'U880s',
5814
+ 5 => 'U8220',
5815
+ ),
5816
+ '@U9' =>
5817
+ array (
5818
+ 0 => '(CUBE ?)?(K8|U1|U2|U3|U5|U6|U8|U9)[0-9]?GT!!',
5819
+ 1 => 'U9[0-9]{3,3}!!',
5820
+ ),
5821
+ '@UL' =>
5822
+ array (
5823
+ 0 => 'Ultra',
5824
+ 1 => 'Ultimix!!',
5825
+ 2 => 'Ultra Charm',
5826
+ 3 => 'Ultra Energy Lite',
5827
+ 4 => 'Ultra Energy Plus',
5828
+ 5 => 'Ultra Latitude',
5829
+ 6 => 'Ultra Style',
5830
+ 7 => 'Ultimate10',
5831
+ 8 => 'Ultimate10-Android4.0',
5832
+ 9 => 'Ultimate 10',
5833
+ 10 => 'ultrafone!!',
5834
+ 11 => 'Ultym 5',
5835
+ 12 => 'Ultym 5L',
5836
+ 13 => 'Ultym 5.2',
5837
+ ),
5838
+ '@UM' =>
5839
+ array (
5840
+ 0 => 'UM840',
5841
+ 1 => 'UMI!!',
5842
+ ),
5843
+ '@UN' =>
5844
+ array (
5845
+ 0 => 'unknown M200-L09',
5846
+ 1 => 'UNO X8',
5847
+ 2 => 'UNO X10',
5848
+ 3 => 'Unusual!!',
5849
+ ),
5850
+ '@UO' =>
5851
+ array (
5852
+ 0 => 'UOOGOU!!',
5853
+ ),
5854
+ '@UR' =>
5855
+ array (
5856
+ 0 => 'URBANO PROGRESSO',
5857
+ ),
5858
+ '@US' =>
5859
+ array (
5860
+ 0 => 'USCC ALCATEL one touch 909B',
5861
+ 1 => 'USCC ALCATEL one touch 988',
5862
+ 2 => '(HTC|PCD|USCC)?ADR[0-9]{4,4}!!',
5863
+ 3 => 'USCCADR[0-9]{4,4}!!',
5864
+ 4 => '(USCC-|KYOCERA-)?E[0-9]{4,4}!!',
5865
+ 5 => '(USCC-|KYOCERA-)?C[0-9]{4,4}!!',
5866
+ 6 => 'USCC-(LG)?US!!',
5867
+ 7 => 'Usmart!!',
5868
+ ),
5869
+ '@UT' =>
5870
+ array (
5871
+ 0 => 'UTime!!',
5872
+ ),
5873
+ '@V-' =>
5874
+ array (
5875
+ 0 => 'V-T100',
5876
+ ),
5877
+ '@V1' =>
5878
+ array (
5879
+ 0 => 'V1 Viper',
5880
+ 1 => 'V1 Viper E',
5881
+ 2 => 'V1 Viper I',
5882
+ 3 => 'V1 Viper I4G',
5883
+ 4 => 'V1 Viper I4G PL',
5884
+ 5 => 'V1 Viper I4G TM',
5885
+ 6 => 'V1 Viper L',
5886
+ 7 => 'V1 ViperS',
5887
+ 8 => 'V1 Viper S4G',
5888
+ 9 => 'V11',
5889
+ 10 => 'V17HD',
5890
+ 11 => '(GIO-)?(GiONEE[- ])?V182!',
5891
+ 12 => '(GIO-)?(GiONEE[- ])?V185!',
5892
+ 13 => '(GIO-)?(GiONEE[- ])?V188!',
5893
+ 14 => 'V1',
5894
+ 15 => 'V1277',
5895
+ ),
5896
+ '@V2' =>
5897
+ array (
5898
+ 0 => 'V2 Viper',
5899
+ 1 => 'V2 Viper I',
5900
+ 2 => 'V2 Viper I TM',
5901
+ 3 => 'V2 Viper X',
5902
+ 4 => 'V2 Viper X plus',
5903
+ ),
5904
+ '@V3' =>
5905
+ array (
5906
+ 0 => 'v360 E1',
5907
+ ),
5908
+ '@V5' =>
5909
+ array (
5910
+ 0 => 'V5U-simvalley SP-142',
5911
+ 1 => 'V55',
5912
+ ),
5913
+ '@V7' =>
5914
+ array (
5915
+ 0 => 'V701s Core4',
5916
+ 1 => 'V711s Core4',
5917
+ 2 => 'V712 Core4',
5918
+ 3 => 'V719 3G',
5919
+ ),
5920
+ '@V8' =>
5921
+ array (
5922
+ 0 => 'V801 Core4',
5923
+ 1 => 'V801s Core4',
5924
+ 2 => 'V811 Core4',
5925
+ 3 => 'V812 Core4',
5926
+ 4 => 'V813 Core4',
5927
+ 5 => 'V813s Core4',
5928
+ 6 => 'V818',
5929
+ 7 => 'V818mini',
5930
+ 8 => 'V819mini',
5931
+ 9 => 'V819 3G',
5932
+ 10 => 'V819i',
5933
+ 11 => 'V865M',
5934
+ 12 => 'V880',
5935
+ 13 => 'V8000 USA Cricket',
5936
+ 14 => 'V8110',
5937
+ 15 => 'V8403',
5938
+ 16 => 'V8409',
5939
+ 17 => 'V8412',
5940
+ 18 => 'V8413',
5941
+ 19 => 'V8501',
5942
+ 20 => 'V8502',
5943
+ 21 => 'V8503',
5944
+ 22 => 'V8505',
5945
+ 23 => 'V8507',
5946
+ 24 => 'V8508',
5947
+ 25 => 'V8510',
5948
+ 26 => 'V8511',
5949
+ 27 => 'V8603',
5950
+ ),
5951
+ '@V9' =>
5952
+ array (
5953
+ 0 => 'V99',
5954
+ 1 => 'V936',
5955
+ 2 => 'V971 Core4',
5956
+ 3 => 'V971s Core4',
5957
+ 4 => 'V972 Core4',
5958
+ 5 => 'V973 Core4',
5959
+ 6 => 'V975 Core4',
5960
+ 7 => 'V975i',
5961
+ 8 => 'V975m',
5962
+ 9 => 'V975m Core4',
5963
+ 10 => 'V975s Core4',
5964
+ 11 => 'V961',
5965
+ 12 => 'V9',
5966
+ 13 => 'V9S',
5967
+ 14 => 'V9e',
5968
+ 15 => 'V9e+',
5969
+ 16 => 'V9A',
5970
+ 17 => 'V9C',
5971
+ ),
5972
+ '@VA' =>
5973
+ array (
5974
+ 0 => 'Vandroid S5E',
5975
+ 1 => 'Vandroid T1J',
5976
+ 2 => 'Vandroid T3-A',
5977
+ 3 => 'Vandroid T3i',
5978
+ 4 => 'Vandroid T',
5979
+ 5 => 'VAP430',
5980
+ ),
5981
+ '@VE' =>
5982
+ array (
5983
+ 0 => 'vexpress a9',
5984
+ 1 => 'Ventana',
5985
+ 2 => 'Vendor Optimus',
5986
+ 3 => 'VEOLO',
5987
+ 4 => 'VEOLO2',
5988
+ 5 => 'Vega',
5989
+ 6 => 'VegaBean!',
5990
+ 7 => 'Venture',
5991
+ 8 => 'Venue!!',
5992
+ 9 => '(OV-|Overmax|Vertis)!!',
5993
+ 10 => 'VEGA NO.6',
5994
+ 11 => 'verykool!!',
5995
+ 12 => 'Vertu Aster T',
5996
+ 13 => 'VERTU Ti',
5997
+ ),
5998
+ '@VF' =>
5999
+ array (
6000
+ 0 => 'VF-895N',
6001
+ 1 => 'VF-1397',
6002
+ 2 => 'VF-1497',
6003
+ ),
6004
+ '@VI' =>
6005
+ array (
6006
+ 0 => 'VirtualBox!',
6007
+ 1 => 'victoriabay',
6008
+ 2 => 'Viva C701',
6009
+ 3 => 'Viva H701',
6010
+ 4 => 'Viva H701 LTE CZ',
6011
+ 5 => 'VivaH7LTE',
6012
+ 6 => 'VivaH8LTE',
6013
+ 7 => 'VivaH10LTE',
6014
+ 8 => 'Viva i7G',
6015
+ 9 => 'Viva i10HD',
6016
+ 10 => 'Viva i701G TM',
6017
+ 11 => '(BLU|DASH|LIFE|NEO|STUDIO|VIVO)!!',
6018
+ 12 => 'VICTORY',
6019
+ 13 => 'Victory 2',
6020
+ 14 => 'Victory 3',
6021
+ 15 => 'Vibo-A688',
6022
+ 16 => 'VitMod ExtraLite 1.6.5.fullodex for HTC HD7 Pro',
6023
+ 17 => 'Vivid 4G',
6024
+ 18 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
6025
+ 19 => 'Vibrantmtd',
6026
+ 20 => 'Vibrant T959',
6027
+ 21 => 'victorys s8',
6028
+ 22 => 'Victorys V8',
6029
+ 23 => 'Videocon!!',
6030
+ 24 => 'ViewSonic-V350',
6031
+ 25 => 'ViewPhone3',
6032
+ 26 => 'ViewPad 4',
6033
+ 27 => 'ViewSonic-ViewPad4',
6034
+ 28 => 'ViewPad7',
6035
+ 29 => 'ViewPad 7D',
6036
+ 30 => 'ViewPad 7D Pro',
6037
+ 31 => 'ViewSonic-ViewPad7e',
6038
+ 32 => 'ViewPad7e',
6039
+ 33 => 'ViewPad 7Q',
6040
+ 34 => 'ViewPad 7Q Plus',
6041
+ 35 => 'ViewPad 7Q Pro',
6042
+ 36 => 'ViewPad7X',
6043
+ 37 => 'ViewPad 9Q',
6044
+ 38 => 'ViewPad 10e',
6045
+ 39 => 'ViewPad 10S',
6046
+ 40 => 'ViewPad 70Q',
6047
+ 41 => 'ViewPad97A',
6048
+ 42 => 'ViewPad97a K1',
6049
+ 43 => 'ViewPad97a Pro',
6050
+ 44 => 'ViewPad 97Q',
6051
+ 45 => 'ViewPad 100Q',
6052
+ 46 => 'ViewPad 100N Pro',
6053
+ 47 => 'ViewPad 701N',
6054
+ 48 => 'ViewSonic VB733',
6055
+ 49 => 'VINUS!!',
6056
+ 50 => '(BBG-|VIV-)?vivo!!',
6057
+ 51 => 'Viettel i5',
6058
+ 52 => 'VIETTEL V8404!',
6059
+ 53 => 'Viettel V8410',
6060
+ 54 => 'VIETTEL V8411',
6061
+ 55 => 'Viettel V8502',
6062
+ 56 => 'VIETTEL V8506',
6063
+ 57 => 'VIETTEL V8509',
6064
+ ),
6065
+ '@VK' =>
6066
+ array (
6067
+ 0 => 'VK410',
6068
+ 1 => 'VK700',
6069
+ 2 => 'VK810 4G',
6070
+ 3 => 'VK815',
6071
+ ),
6072
+ '@VL' =>
6073
+ array (
6074
+ 0 => 'VL-[0-9]{3,3}!!',
6075
+ ),
6076
+ '@VM' =>
6077
+ array (
6078
+ 0 => 'VMware Virtual Platform',
6079
+ 1 => '(AC|BC|LC|MT|RC|QS|VM|TS|OC)[0-9]{4,4}[A-Z]!!',
6080
+ 2 => 'VM670',
6081
+ ),
6082
+ '@VN' =>
6083
+ array (
6084
+ 0 => '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!',
6085
+ ),
6086
+ '@VO' =>
6087
+ array (
6088
+ 0 => 'Vogue',
6089
+ 1 => 'Volantis',
6090
+ 2 => 'Volantisg',
6091
+ 3 => 'VOYAGER DG300',
6092
+ 4 => 'VOYAGER2 DG310',
6093
+ 5 => 'Vox',
6094
+ 6 => 'Vortex',
6095
+ 7 => 'vollo Vi86',
6096
+ 8 => 'VOTO V5',
6097
+ 9 => 'VOTO VT868',
6098
+ 10 => 'VOTO VT888',
6099
+ 11 => 'VOTO W5300',
6100
+ 12 => 'VOTO X2',
6101
+ 13 => 'VOYO A15',
6102
+ 14 => 'voyo X6',
6103
+ 15 => 'Vodafone!!',
6104
+ ),
6105
+ '@VS' =>
6106
+ array (
6107
+ 0 => 'VS[0-9]{3,3}!!',
6108
+ 1 => 'VS TOUCH!!',
6109
+ 2 => 'VSD220',
6110
+ 3 => 'VSD221',
6111
+ 4 => 'VSD231',
6112
+ 5 => 'VSD241',
6113
+ 6 => 'Vsun i9',
6114
+ 7 => 'Vsun V9',
6115
+ ),
6116
+ '@VT' =>
6117
+ array (
6118
+ 0 => 'VT6078',
6119
+ 1 => 'VT75C',
6120
+ 2 => 'VTAB1008',
6121
+ 3 => 'VTAB3010',
6122
+ ),
6123
+ '@VW' =>
6124
+ array (
6125
+ 0 => 'VW RCBKK1',
6126
+ ),
6127
+ '@VX' =>
6128
+ array (
6129
+ 0 => 'VX-100',
6130
+ 1 => 'VX580A',
6131
+ 2 => 'VX580W',
6132
+ 3 => 'VX610A',
6133
+ ),
6134
+ '@W1' =>
6135
+ array (
6136
+ 0 => 'W10',
6137
+ 1 => 'W10 V2.0',
6138
+ 2 => 'w13pro',
6139
+ 3 => 'W13PRO V2.0',
6140
+ 4 => 'W17PRO(Dualcore)',
6141
+ 5 => 'W17PRO JB Dualcore',
6142
+ 6 => 'W100',
6143
+ ),
6144
+ '@W2' =>
6145
+ array (
6146
+ 0 => 'W200',
6147
+ 1 => 'W22PRO',
6148
+ 2 => 'W22PRO 3G',
6149
+ 3 => 'W27(Dualcore)',
6150
+ 4 => 'W28(Dualcore)',
6151
+ 5 => 'W20',
6152
+ ),
6153
+ '@W3' =>
6154
+ array (
6155
+ 0 => 'W337',
6156
+ 1 => 'W3620',
6157
+ 2 => 'W30(QuadCore)',
6158
+ 3 => 'w30hd(QuadCore)',
6159
+ 4 => 'W30HDPRO',
6160
+ ),
6161
+ '@W4' =>
6162
+ array (
6163
+ 0 => 'w42(QuadCore)',
6164
+ ),
6165
+ '@W5' =>
6166
+ array (
6167
+ 0 => 'W5510',
6168
+ ),
6169
+ '@W6' =>
6170
+ array (
6171
+ 0 => 'W606',
6172
+ 1 => 'W619',
6173
+ 2 => 'W686',
6174
+ 3 => 'W626',
6175
+ 4 => 'W6350',
6176
+ 5 => 'W6360',
6177
+ 6 => 'W6500',
6178
+ 7 => 'W6620',
6179
+ 8 => 'W6',
6180
+ 9 => 'W6HD ICS',
6181
+ 10 => 'W6HD ICS FULL',
6182
+ ),
6183
+ '@W7' =>
6184
+ array (
6185
+ 0 => 'W711',
6186
+ 1 => 'W757',
6187
+ 2 => 'W700',
6188
+ 3 => 'W732',
6189
+ ),
6190
+ '@W8' =>
6191
+ array (
6192
+ 0 => 'W820',
6193
+ 1 => '(GIO-)?(GiONEE[- ])?W800!',
6194
+ 2 => 'W800',
6195
+ 3 => 'W806',
6196
+ 4 => 'W808',
6197
+ 5 => 'W810',
6198
+ 6 => 'W880',
6199
+ 7 => 'W8',
6200
+ 8 => 'W8 beyond',
6201
+ ),
6202
+ '@W9' =>
6203
+ array (
6204
+ 0 => 'W900',
6205
+ 1 => 'W990',
6206
+ ),
6207
+ '@WA' =>
6208
+ array (
6209
+ 0 => 'WA-U420D',
6210
+ 1 => 'WALSUN S1 Pro',
6211
+ 2 => 'WALSUN S2',
6212
+ 3 => 'Walton Primo',
6213
+ 4 => 'WALTON Primo C1',
6214
+ 5 => 'WALTON Primo-D1',
6215
+ 6 => 'Walton Primo F2',
6216
+ 7 => 'WALTON Primo-G1',
6217
+ 8 => 'WALTON Primo G1',
6218
+ 9 => 'Walton Primo H3',
6219
+ 10 => 'WALTON H3',
6220
+ 11 => 'WALTON Primo HMmini',
6221
+ 12 => 'WALTON Primo-N1',
6222
+ 13 => 'Walton Primo R1',
6223
+ 14 => 'WALTON Primo S3',
6224
+ 15 => '(WALTON )?Primo-X1!',
6225
+ 16 => 'Walpad 8b',
6226
+ 17 => 'Walpad 8x',
6227
+ 18 => 'WAX',
6228
+ ),
6229
+ '@WE' =>
6230
+ array (
6231
+ 0 => 'WellcoM-A86',
6232
+ 1 => 'WellcoM-A88',
6233
+ 2 => 'WellcoM-A89',
6234
+ 3 => 'WellcoM-A89-Plus',
6235
+ 4 => 'WellcoM-A99',
6236
+ 5 => 'WellcoM-A800',
6237
+ 6 => 'WEXLER. ZEN 5',
6238
+ 7 => 'WEXLER TAB7ID',
6239
+ 8 => 'WEXLER-TAB-7iS',
6240
+ 9 => 'WEXLER-TAB-7T',
6241
+ 10 => 'WEXLER.BOOK T7008',
6242
+ ),
6243
+ '@WF' =>
6244
+ array (
6245
+ 0 => 'WF7C',
6246
+ ),
6247
+ '@WH' =>
6248
+ array (
6249
+ 0 => 'WHAM WG40',
6250
+ ),
6251
+ '@WI' =>
6252
+ array (
6253
+ 0 => 'Wingray',
6254
+ 1 => 'Wildfire S!',
6255
+ 2 => 'Wildfire!',
6256
+ 3 => 'Wiko Cink Five',
6257
+ 4 => 'Wiko Cink Peax',
6258
+ 5 => 'WIKO-CINK PEAX',
6259
+ 6 => 'Wiko Cink Slim',
6260
+ 7 => 'WIKO-CINK SLIM',
6261
+ 8 => 'Wiko Rainbow',
6262
+ 9 => 'Wiko Stairway',
6263
+ ),
6264
+ '@WL' =>
6265
+ array (
6266
+ 0 => 'WL-101GQC',
6267
+ ),
6268
+ '@WM' =>
6269
+ array (
6270
+ 0 => 'WM8650',
6271
+ 1 => 'WM8650-mid',
6272
+ 2 => 'wm8710-tvbox',
6273
+ 3 => 'WM8850-mid',
6274
+ ),
6275
+ '@WO' =>
6276
+ array (
6277
+ 0 => 'Woxter!!',
6278
+ ),
6279
+ '@WS' =>
6280
+ array (
6281
+ 0 => 'WS171',
6282
+ ),
6283
+ '@WT' =>
6284
+ array (
6285
+ 0 => 'WT[0-9]{2,2}[a-z]!!',
6286
+ ),
6287
+ '@WX' =>
6288
+ array (
6289
+ 0 => 'WX04K',
6290
+ 1 => 'WX06K',
6291
+ 2 => 'WX10K',
6292
+ 3 => 'WX[0-9]{3,3}!!',
6293
+ 4 => 'WX04SH',
6294
+ 5 => 'WX05SH',
6295
+ 6 => 'Wxt Tab PC 65CXi',
6296
+ ),
6297
+ '@X-' =>
6298
+ array (
6299
+ 0 => '(Explay|X-tremer|ActiveD|Informer|Surfer)!!',
6300
+ 1 => 'X-treme PQ11',
6301
+ 2 => 'X-treme PQ15',
6302
+ 3 => 'X-tremePQ22',
6303
+ 4 => 'X-basic',
6304
+ 5 => 'X-basic2',
6305
+ 6 => 'X-maxi',
6306
+ 7 => 'X-medium',
6307
+ ),
6308
+ '@X0' =>
6309
+ array (
6310
+ 0 => 'X002',
6311
+ 1 => 'X003',
6312
+ 2 => 'X005',
6313
+ ),
6314
+ '@X1' =>
6315
+ array (
6316
+ 0 => 'X1 Soul',
6317
+ 1 => 'X1 Soul Mini',
6318
+ 2 => 'X1 mini Soul',
6319
+ 3 => 'X1 Soul Xtreme',
6320
+ 4 => 'X1 Xtreme Mini',
6321
+ 5 => 'X1',
6322
+ 6 => 'X1 7.0',
6323
+ 7 => 'X1 Grand',
6324
+ 8 => 'X1010',
6325
+ 9 => 'X10(a|i|iv|i-o|s)?$!',
6326
+ 10 => 'X10 ?(Mini ?Pro)$!',
6327
+ 11 => 'X10 ?(Mini)$!',
6328
+ 12 => 'X10H(G3C5)',
6329
+ 13 => 'X10HD 3G(M6K6)',
6330
+ 14 => 'X16 Power(D6F7)',
6331
+ 15 => 'X16HD (K3J3)',
6332
+ 16 => 'X16HD 3G(M5J5)',
6333
+ ),
6334
+ '@X2' =>
6335
+ array (
6336
+ 0 => 'X2 Soul',
6337
+ 1 => 'X2 Soul Lite',
6338
+ 2 => 'X2 Soul Lite TM',
6339
+ 3 => 'X2 Soul Mini',
6340
+ 4 => 'X2 Soul Mini TM',
6341
+ 5 => 'X2 Soul PRO',
6342
+ 6 => 'X2 Soul Style',
6343
+ 7 => 'X2 Soul Style TM',
6344
+ 8 => 'X2 Soul Style Plus',
6345
+ 9 => 'X2 Soul Xtreme',
6346
+ 10 => 'X2 Twin',
6347
+ ),
6348
+ '@X3' =>
6349
+ array (
6350
+ 0 => 'X3 Soul',
6351
+ 1 => 'X3 Soul mini',
6352
+ 2 => 'X325a',
6353
+ 3 => 'X3-Ice MIUI XT720 Memorila Classics',
6354
+ ),
6355
+ '@X4' =>
6356
+ array (
6357
+ 0 => 'X403',
6358
+ ),
6359
+ '@X5' =>
6360
+ array (
6361
+ 0 => 'X550',
6362
+ 1 => 'X515d',
6363
+ 2 => 'X515e',
6364
+ 3 => 'X525a',
6365
+ 4 => 'X505',
6366
+ 5 => 'X506',
6367
+ 6 => 'X506S',
6368
+ 7 => 'X507Q',
6369
+ 8 => 'X500',
6370
+ 9 => 'X500 USA General',
6371
+ 10 => 'X501 USA Cricket',
6372
+ 11 => 'X501 USA RS',
6373
+ ),
6374
+ '@X7' =>
6375
+ array (
6376
+ 0 => 'X710d',
6377
+ 1 => 'X720D',
6378
+ 2 => 'X710E',
6379
+ 3 => 'X7G',
6380
+ 4 => 'X720',
6381
+ 5 => 'X70 3G (C5D9)',
6382
+ 6 => 'X70 R(C7F9)',
6383
+ 7 => 'X708S',
6384
+ ),
6385
+ '@X8' =>
6386
+ array (
6387
+ 0 => '(GIO-)?(GiONEE[- ])?X817!',
6388
+ 1 => 'X8',
6389
+ 2 => 'X80(C4M5)',
6390
+ 3 => 'X80h',
6391
+ 4 => 'X80h(FB5M)',
6392
+ 5 => 'X80h(FB6M)',
6393
+ 6 => 'X80HD(G2N5)',
6394
+ 7 => 'X80HD(G2N6)',
6395
+ 8 => 'X80HD(G2N8)',
6396
+ 9 => 'X80HD(G2N9)',
6397
+ 10 => 'X81-8G3D',
6398
+ 11 => 'X89 (E7ED)',
6399
+ 12 => 'X89HD (H21C)',
6400
+ ),
6401
+ '@X9' =>
6402
+ array (
6403
+ 0 => 'X920e',
6404
+ 1 => 'X9',
6405
+ 2 => 'X903',
6406
+ 3 => 'X905',
6407
+ 4 => 'X906',
6408
+ 5 => 'X907',
6409
+ 6 => 'X909',
6410
+ 7 => 'X909T',
6411
+ 8 => 'X9000',
6412
+ 9 => 'X9006',
6413
+ 10 => 'X9007',
6414
+ 11 => 'X9015',
6415
+ 12 => 'X9017',
6416
+ 13 => 'X9070',
6417
+ 14 => 'X9076',
6418
+ 15 => 'X9077',
6419
+ 16 => 'X90HD (M2PC)',
6420
+ 17 => 'X98 3G(HKC1)',
6421
+ 18 => 'X98 3G(HKC2)',
6422
+ 19 => 'X98 3G(HKC3)',
6423
+ 20 => 'X98 3G(lite)',
6424
+ 21 => 'X98 Air(C5KN)',
6425
+ 22 => 'X98 Air 3G',
6426
+ 23 => 'X98 Air 3G(Smile)',
6427
+ 24 => 'X98 Air 3G(C5J5)',
6428
+ 25 => 'X98 Air 3G(C5J6)',
6429
+ 26 => 'X98 Air 3G(C5J8)',
6430
+ 27 => 'X98 Air 3G(C6J6)',
6431
+ 28 => 'X98 Air 3G(C8J6)',
6432
+ 29 => 'X98 Air 3G(C8J7)',
6433
+ 30 => 'X98 Air 3G(C9J6)',
6434
+ 31 => 'X98 Air 3G(C9J7)',
6435
+ 32 => 'X98 Air 3G(C9J8)',
6436
+ 33 => 'X98 Air II',
6437
+ 34 => 'X98 Air II(HG5N)',
6438
+ 35 => 'X98 Air II(HG6M)',
6439
+ 36 => 'X98 Air II(HG7N)',
6440
+ 37 => 'X98 Air II(HG9M)',
6441
+ 38 => 'X98 Air II(HG9N)',
6442
+ 39 => 'X98 Air III',
6443
+ 40 => 'X98 Air III(M5C5)',
6444
+ 41 => 'X98 Air III(M5C6)',
6445
+ 42 => 'X98 Pro (K9C6)',
6446
+ ),
6447
+ '@XA' =>
6448
+ array (
6449
+ 0 => 'Xamarin Android Player!',
6450
+ ),
6451
+ '@XC' =>
6452
+ array (
6453
+ 0 => 'XCD 28',
6454
+ 1 => 'XCD35',
6455
+ ),
6456
+ '@XD' =>
6457
+ array (
6458
+ 0 => '(NMP|MBR|XDK|XDS|XMP)\\-!!',
6459
+ 1 => 'XDP-100R',
6460
+ ),
6461
+ '@XE' =>
6462
+ array (
6463
+ 0 => 'XELIO',
6464
+ 1 => 'XELIO7PHONETAB',
6465
+ 2 => 'Xelio 7 pro',
6466
+ 3 => 'XELIO7PRO',
6467
+ 4 => 'XELIO10 QUAD',
6468
+ 5 => 'XELIO10EXTREME',
6469
+ 6 => 'Xelio 10 Pro',
6470
+ 7 => 'Xelio10Pro',
6471
+ 8 => 'XELIO P900A',
6472
+ 9 => 'Xenta-TAB07-210',
6473
+ 10 => 'Xenta-TAB07-211',
6474
+ 11 => 'Xenta TAB07-200',
6475
+ 12 => 'Xenta TAB08-200',
6476
+ 13 => 'Xenta TAB08-201-3G',
6477
+ 14 => 'Xenta TAB9-200',
6478
+ 15 => 'Xenta TAB09-211',
6479
+ 16 => 'Xenta TAB10-211',
6480
+ 17 => 'Xenta TAB10-201',
6481
+ 18 => 'Xenta TAB13-201',
6482
+ ),
6483
+ '@XI' =>
6484
+ array (
6485
+ 0 => 'Xiaomi M1',
6486
+ 1 => 'Xiaomi MI-2S',
6487
+ 2 => 'xiaomi M3',
6488
+ 3 => 'Xiaomi Mi 4',
6489
+ 4 => 'xiaomi M4',
6490
+ 5 => 'Xiaomi M5',
6491
+ 6 => 'Xiaomi Redmi',
6492
+ 7 => 'Xiaomi Redmi 1s',
6493
+ 8 => 'Xiaomi Redmi One S',
6494
+ 9 => 'Xiaomi Note 4G',
6495
+ 10 => 'Xiaomi Note2',
6496
+ 11 => '(Xiaomi )?20130(22|23)!',
6497
+ ),
6498
+ '@XL' =>
6499
+ array (
6500
+ 0 => 'XL39h',
6501
+ ),
6502
+ '@XM' =>
6503
+ array (
6504
+ 0 => '(NMP|MBR|XDK|XDS|XMP)\\-!!',
6505
+ 1 => 'XM50h',
6506
+ 2 => 'XM50t',
6507
+ ),
6508
+ '@XO' =>
6509
+ array (
6510
+ 0 => '(XOLO )?[ABQX][0-9]{3,4}!!',
6511
+ 1 => 'XOLO One',
6512
+ 2 => 'XOLO Play',
6513
+ 3 => 'XOLO T1000',
6514
+ 4 => 'Xolo QC800',
6515
+ 5 => 'XOOM',
6516
+ 6 => 'XOOM 2!',
6517
+ 7 => 'XOOM MZ606',
6518
+ 8 => 'Xoom Wifi',
6519
+ 9 => 'Xoom LTE',
6520
+ 10 => 'Xoom 3G',
6521
+ 11 => 'XO Learning tablet',
6522
+ ),
6523
+ '@XP' =>
6524
+ array (
6525
+ 0 => 'Xperia Z Ultra',
6526
+ 1 => 'XPRESS PRO',
6527
+ 2 => 'Xperia!!',
6528
+ 3 => '(Symphony|Xplorer)!!',
6529
+ 4 => 'xPAD-70',
6530
+ ),
6531
+ '@XT' =>
6532
+ array (
6533
+ 0 => 'XT[0-9]{3,3}!!',
6534
+ 1 => 'xt880b',
6535
+ 2 => '(Hisense )?(LED[0-9]{2,2}(G|K|L|EC|XT)[0-9]{2,3})!',
6536
+ 3 => 'Xteam Smartpad 810c',
6537
+ 4 => 'Xteam 4.8 Smartpad 810c',
6538
+ 5 => 'XT[0-9]{3,4}!!',
6539
+ 6 => 'Xtab1081HD',
6540
+ 7 => 'Xtreme V10',
6541
+ 8 => 'Xtreme V20',
6542
+ 9 => 'Xtreme-V30',
6543
+ 10 => 'xTAB-7X',
6544
+ 11 => 'xTAB-9',
6545
+ 12 => 'xTAB-70!',
6546
+ 13 => 'xTAB-100!',
6547
+ 14 => 'Xtouch X405',
6548
+ 15 => 'Xtreamer Mobile AiKi',
6549
+ 16 => 'Xtreamer Mobile AiKi a7*',
6550
+ 17 => 'Xtreamer Joyz',
6551
+ ),
6552
+ '@XW' =>
6553
+ array (
6554
+ 0 => 'XW-I8',
6555
+ ),
6556
+ '@Y2' =>
6557
+ array (
6558
+ 0 => 'Y2',
6559
+ ),
6560
+ '@YD' =>
6561
+ array (
6562
+ 0 => 'YD201',
6563
+ ),
6564
+ '@YE' =>
6565
+ array (
6566
+ 0 => 'Yellowstone',
6567
+ 1 => '(Andy|Yezz)!!',
6568
+ ),
6569
+ '@YO' =>
6570
+ array (
6571
+ 0 => 'youwave custom',
6572
+ 1 => 'YOGA Tablet!!',
6573
+ ),
6574
+ '@YP' =>
6575
+ array (
6576
+ 0 => 'YPY-72SIM',
6577
+ 1 => 'YPY-73G',
6578
+ 2 => 'Ypy 7 - TB07FTA',
6579
+ 3 => 'YPY 07FTA',
6580
+ 4 => 'YPY 07FTAB',
6581
+ 5 => 'YPY 07FTAB PA',
6582
+ 6 => 'YPY 07FTB',
6583
+ 7 => 'YPY 07FTBF',
6584
+ 8 => 'Ypy 7 - TB07STA',
6585
+ 9 => 'YPY 07STB',
6586
+ 10 => 'YPY 07STBF',
6587
+ 11 => 'YPY 10FTA',
6588
+ 12 => 'YPY10FTA',
6589
+ 13 => 'YPY 10FTB',
6590
+ 14 => 'YPY 10FTBF',
6591
+ 15 => 'YPY 10STB',
6592
+ 16 => 'YPY 10STBF',
6593
+ 17 => 'YPY AB7D',
6594
+ 18 => 'YPY AB7DC',
6595
+ 19 => 'YPY AB10D',
6596
+ 20 => 'YPY AB10DC',
6597
+ 21 => 'YPY ABXD',
6598
+ 22 => 'YPY J213',
6599
+ 23 => 'YPY S350',
6600
+ 24 => 'YPY S350 PLUS',
6601
+ 25 => 'YPY S400',
6602
+ 26 => 'YPY S405',
6603
+ 27 => 'YPY S450',
6604
+ 28 => 'YPY S460',
6605
+ 29 => 'YPY S500',
6606
+ 30 => 'YPY TQ7',
6607
+ 31 => 'YP-G!!',
6608
+ 32 => 'YP712',
6609
+ ),
6610
+ '@YU' =>
6611
+ array (
6612
+ 0 => 'yukkabeach',
6613
+ 1 => 'YU5050',
6614
+ 2 => 'YUSUN E98',
6615
+ 3 => 'YUSUN L71',
6616
+ 4 => 'YUSUN L88',
6617
+ 5 => 'YUSUN LA2-T',
6618
+ 6 => 'YUSUN LA2 T',
6619
+ 7 => 'YUSUN LA2-T1',
6620
+ 8 => 'YUSUN LA2 T1',
6621
+ 9 => 'YUSUN LA2-W',
6622
+ 10 => 'YUSUN LA2 W1',
6623
+ 11 => 'YUSUN T22',
6624
+ 12 => 'YUSUN-T22',
6625
+ 13 => 'YUSUN T30',
6626
+ 14 => 'YUSUN T31',
6627
+ 15 => 'YUSUN T50',
6628
+ 16 => 'YUSUN T85',
6629
+ 17 => 'YUSUN W90',
6630
+ 18 => 'YUSUN W306',
6631
+ 19 => 'yusun W702',
6632
+ 20 => 'YUSUN W706',
6633
+ 21 => 'YUSUN W708',
6634
+ 22 => 'YUSUN - W 800',
6635
+ 23 => 'YUSUN--W 800',
6636
+ 24 => 'YUSUN W808',
6637
+ 25 => 'YUSUN -- W 900',
6638
+ ),
6639
+ '@YX' =>
6640
+ array (
6641
+ 0 => 'YX-YUSUN E80',
6642
+ 1 => 'YX-YUSUN E89',
6643
+ 2 => 'YX-YUSUN E96',
6644
+ ),
6645
+ '@Z0' =>
6646
+ array (
6647
+ 0 => 'Z002',
6648
+ 1 => 'Z007',
6649
+ 2 => 'Z008',
6650
+ 3 => 'Z008D',
6651
+ 4 => 'Z00A',
6652
+ 5 => 'Z00AD',
6653
+ 6 => 'Z00ADA',
6654
+ 7 => 'Z00ADB',
6655
+ 8 => 'Z00D',
6656
+ 9 => 'Z00ED',
6657
+ 10 => 'Z00EDB',
6658
+ 11 => 'Z00LD',
6659
+ 12 => 'Z00LDC',
6660
+ 13 => 'Z00LDD',
6661
+ 14 => 'Z00MD',
6662
+ 15 => 'Z00RD',
6663
+ 16 => 'Z00TD',
6664
+ 17 => 'Z00TDA',
6665
+ 18 => 'Z00WD',
6666
+ 19 => 'Z011D',
6667
+ 20 => 'Z00UD',
6668
+ 21 => 'Z00UDA',
6669
+ 22 => 'Z00UDB',
6670
+ 23 => 'Z00UDC',
6671
+ 24 => 'Z00SD',
6672
+ 25 => 'Z00VD',
6673
+ 26 => 'Z00XS',
6674
+ 27 => 'Z00XSA',
6675
+ 28 => 'Z00XSB',
6676
+ 29 => 'Z010D',
6677
+ 30 => 'Z010DA',
6678
+ 31 => 'Z010DD',
6679
+ 32 => 'Z012DA',
6680
+ 33 => 'Z00YD',
6681
+ ),
6682
+ '@Z1' =>
6683
+ array (
6684
+ 0 => '(BB )?Z10$!',
6685
+ 1 => '(HUAWEI )?(CRR|MATE|MT1|MT2|MT7|M200|NXT|Z100)!!',
6686
+ 2 => 'Z1i',
6687
+ ),
6688
+ '@Z2' =>
6689
+ array (
6690
+ 0 => 'Z282 C91',
6691
+ ),
6692
+ '@Z3' =>
6693
+ array (
6694
+ 0 => '(BB )?Z30$!',
6695
+ ),
6696
+ '@Z4' =>
6697
+ array (
6698
+ 0 => 'Z4',
6699
+ 1 => 'Z4 mini',
6700
+ ),
6701
+ '@Z5' =>
6702
+ array (
6703
+ 0 => 'Z520m',
6704
+ ),
6705
+ '@Z6' =>
6706
+ array (
6707
+ 0 => 'Z660G',
6708
+ 1 => 'Z665C',
6709
+ 2 => 'Z667',
6710
+ 3 => 'Z667G',
6711
+ 4 => 'Z667T',
6712
+ ),
6713
+ '@Z7' =>
6714
+ array (
6715
+ 0 => 'Z71',
6716
+ 1 => 'Z710',
6717
+ 2 => 'Z710e',
6718
+ 3 => 'Z715e',
6719
+ 4 => 'Z730',
6720
+ 5 => 'Z740',
6721
+ 6 => 'Z740G',
6722
+ 7 => 'Z750C',
6723
+ 8 => 'Z752C',
6724
+ 9 => 'Z753G',
6725
+ 10 => 'Z768G',
6726
+ 11 => 'Z777',
6727
+ 12 => 'Z787',
6728
+ 13 => 'Z788G',
6729
+ 14 => 'Z791G',
6730
+ 15 => 'Z792',
6731
+ 16 => 'Z795G',
6732
+ 17 => 'Z796C',
6733
+ 18 => 'Z797C',
6734
+ ),
6735
+ '@Z8' =>
6736
+ array (
6737
+ 0 => 'Z818L',
6738
+ 1 => 'Z819L',
6739
+ ),
6740
+ '@Z9' =>
6741
+ array (
6742
+ 0 => 'Z930L',
6743
+ 1 => 'Z932L',
6744
+ 2 => 'Z936L',
6745
+ 3 => 'Z970',
6746
+ 4 => 'Z987',
6747
+ 5 => 'Z992',
6748
+ ),
6749
+ '@ZA' =>
6750
+ array (
6751
+ 0 => 'Zaffire 785',
6752
+ 1 => 'Zaffire 970',
6753
+ 2 => 'ZA950',
6754
+ 3 => 'ZA966',
6755
+ 4 => 'ZA985',
6756
+ ),
6757
+ '@ZB' =>
6758
+ array (
6759
+ 0 => 'ZBOX-ID18',
6760
+ 1 => 'ZBOX-ID81',
6761
+ ),
6762
+ '@ZE' =>
6763
+ array (
6764
+ 0 => 'ZenWatch',
6765
+ 1 => 'ZenWatch 2',
6766
+ 2 => 'Zenith',
6767
+ 3 => 'Zenfone 5 LTE',
6768
+ 4 => 'ZenFone 2',
6769
+ 5 => 'ZenFone 2E',
6770
+ 6 => '(Highscreen|Alpha|Bay|Cosmo|Explosion|Power|Prime|Zera)!!',
6771
+ 7 => 'ZEN 4.5',
6772
+ 8 => 'ZEN 4.7',
6773
+ 9 => 'ZENITHINK C94!',
6774
+ ),
6775
+ '@ZI' =>
6776
+ array (
6777
+ 0 => 'Zii!!',
6778
+ 1 => 'Zio P2',
6779
+ 2 => 'Zio',
6780
+ 3 => 'ZiiLABS ViewBook 730',
6781
+ 4 => 'Zigo Eon6i',
6782
+ 5 => 'Zigo Eon7i',
6783
+ 6 => 'Zigo Nebula Tab 7.1',
6784
+ 7 => 'Ziss Ranger HD',
6785
+ 8 => 'Zilo',
6786
+ ),
6787
+ '@ZO' =>
6788
+ array (
6789
+ 0 => 'Zoom',
6790
+ 1 => '(Zopo )?ZP ?[0-9]{3,3}!!',
6791
+ ),
6792
+ '@ZP' =>
6793
+ array (
6794
+ 0 => '(Zopo )?ZP ?[0-9]{3,3}!!',
6795
+ ),
6796
+ '@ZT' =>
6797
+ array (
6798
+ 0 => 'zt180',
6799
+ 1 => 'ZTE G[0-9]{3,3}!!',
6800
+ 2 => 'ZTE Q[0-9]{3,3}!!',
6801
+ 3 => 'ZTE Q[0-9]!!',
6802
+ 4 => 'ZTE T[0-9]!!',
6803
+ 5 => '(ZTE )?Blade!!',
6804
+ 6 => 'ZTE Geek!!',
6805
+ 7 => '(ZTE )?Grand!!',
6806
+ 8 => 'ZTE Kis!!',
6807
+ 9 => 'ZTE Libra',
6808
+ 10 => 'ZTE LINK',
6809
+ 11 => 'ZTE T T9',
6810
+ 12 => 'ZTE V7073',
6811
+ 13 => 'ZTE V9',
6812
+ 14 => 'ZTE V9A',
6813
+ 15 => 'ZTE C V9E',
6814
+ 16 => 'ZTE V7273',
6815
+ 17 => 'ZTE R22',
6816
+ 18 => 'ZTE V70',
6817
+ 19 => 'ZTE V72',
6818
+ 20 => 'ZTE V72A',
6819
+ 21 => 'ZTE K97',
6820
+ 22 => 'ZTE T T98',
6821
+ 23 => 'ZTE 975',
6822
+ 24 => 'ZTE Skate',
6823
+ 25 => 'ZTE Skate 2',
6824
+ 26 => 'ZTE STAR',
6825
+ 27 => 'ZTE Star 1',
6826
+ 28 => 'ZTE Tureis',
6827
+ 29 => 'ZTE S118',
6828
+ 30 => 'ZTE S251',
6829
+ 31 => 'ZTE S291',
6830
+ 32 => 'ZTE X500',
6831
+ 33 => 'ZTE C X500',
6832
+ 34 => 'ZTE C N600!',
6833
+ 35 => 'ZTE C N606',
6834
+ 36 => 'ZTE Z667',
6835
+ 37 => 'ZTE Z667G',
6836
+ 38 => 'ZTE Z669',
6837
+ 39 => 'ZTE C N700',
6838
+ 40 => 'ZTE U N720',
6839
+ 41 => 'ZTE U N721',
6840
+ 42 => 'ZTE P727A',
6841
+ 43 => 'ZTE Z740',
6842
+ 44 => 'ZTE Z740G',
6843
+ 45 => 'ZTE C R750',
6844
+ 46 => 'ZTE C R750+',
6845
+ 47 => 'ZTE Z753G',
6846
+ 48 => 'ZTE Z755',
6847
+ 49 => 'ZTE C N760',
6848
+ 50 => 'ZTE U V760',
6849
+ 51 => 'ZTE CLARO Q1',
6850
+ 52 => 'ZTE LEO M1',
6851
+ 53 => 'ZTE LEO S1',
6852
+ 54 => 'ZTE LEO S2',
6853
+ 55 => 'ZTE LEO Q1',
6854
+ 56 => 'ZTE V765M',
6855
+ 57 => 'ZTE LEO Q2',
6856
+ 58 => 'ZTE V768',
6857
+ 59 => 'ZTE V769M',
6858
+ 60 => 'ZTE Z777',
6859
+ 61 => 'ZTE V779M',
6860
+ 62 => 'ZTE C N780',
6861
+ 63 => 'ZTE Z787',
6862
+ 64 => 'ZTE N788',
6863
+ 65 => 'ZTE Kis Pro',
6864
+ 66 => 'ZTE V788!',
6865
+ 67 => 'ZTE U788!',
6866
+ 68 => 'ZTE N789',
6867
+ 69 => 'ZTE B790',
6868
+ 70 => 'ZTE N790!',
6869
+ 71 => 'ZTE T790',
6870
+ 72 => 'ZTE U790',
6871
+ 73 => 'ZTE V790',
6872
+ 74 => 'ZTE U791!',
6873
+ 75 => 'ZTE V791',
6874
+ 76 => 'ZTE Z791G',
6875
+ 77 => 'ZTE B792',
6876
+ 78 => 'ZTE U793',
6877
+ 79 => 'ZTE V793',
6878
+ 80 => 'ZTE B795',
6879
+ 81 => 'ZTE N795',
6880
+ 82 => 'ZTE U795!',
6881
+ 83 => 'ZTE V795',
6882
+ 84 => 'ZTE N798!',
6883
+ 85 => 'ZTE N799!',
6884
+ 86 => 'ZTE T U802',
6885
+ 87 => 'ZTE T U805',
6886
+ 88 => 'ZTE T U806',
6887
+ 89 => 'ZTE N807',
6888
+ 90 => 'ZTE U807',
6889
+ 91 => 'ZTE U807N',
6890
+ 92 => 'ZTE V807',
6891
+ 93 => 'ZTE U808',
6892
+ 94 => 'ZTE V808',
6893
+ 95 => 'ZTE U809',
6894
+ 96 => 'ZTE V809',
6895
+ 97 => 'ZTE V811',
6896
+ 98 => 'ZTE V811W',
6897
+ 99 => 'ZTE Z812',
6898
+ 100 => 'ZTE V815W',
6899
+ 101 => 'ZTE T U812',
6900
+ 102 => 'ZTE Z813',
6901
+ 103 => 'ZTE V816W',
6902
+ 104 => 'ZTE U817',
6903
+ 105 => 'ZTE V817',
6904
+ 106 => 'ZTE N818',
6905
+ 107 => 'ZTE U818',
6906
+ 108 => 'ZTE V818',
6907
+ 109 => 'ZTE U819',
6908
+ 110 => 'ZTE GV821',
6909
+ 111 => 'ZTE V829',
6910
+ 112 => 'ZTE T U830',
6911
+ 113 => 'ZTE V830W',
6912
+ 114 => 'ZTE Z830',
6913
+ 115 => 'ZTE Racer',
6914
+ 116 => 'ZTE U X850',
6915
+ 117 => 'ZTE X850',
6916
+ 118 => 'ZTE U V852',
6917
+ 119 => 'ZTE N855D',
6918
+ 120 => 'ZTE N855D+',
6919
+ 121 => 'ZTE U V856',
6920
+ 122 => 'ZTE V856',
6921
+ 123 => 'ZTE U V857',
6922
+ 124 => 'ZTE U V859',
6923
+ 125 => 'ZTE-U V859',
6924
+ 126 => 'ZTE V860',
6925
+ 127 => 'ZTE-860U',
6926
+ 128 => 'ZTE U? X876!',
6927
+ 129 => 'ZTE X876',
6928
+ 130 => 'ZTE V877!',
6929
+ 131 => 'ZTE U879',
6930
+ 132 => 'ZTE A880',
6931
+ 133 => 'ZTE B880',
6932
+ 134 => 'ZTE C N880!',
6933
+ 135 => 'ZTE R880H',
6934
+ 136 => 'ZTE ?U880!',
6935
+ 137 => 'ZTE T ?U880!',
6936
+ 138 => 'ZTE (U )?V880!',
6937
+ 139 => 'ZTE U(V)880+',
6938
+ 140 => 'ZTE U-V880',
6939
+ 141 => 'ZTE U V-880',
6940
+ 142 => 'ZTE N880E!',
6941
+ 143 => 'ZTE N880F',
6942
+ 144 => 'ZTE N880G',
6943
+ 145 => 'ZTE N881E',
6944
+ 146 => 'ZTE N881F',
6945
+ 147 => 'ZTE U V881',
6946
+ 148 => 'ZTE V881',
6947
+ 149 => 'ZTE V882',
6948
+ 150 => 'ZTE N882E',
6949
+ 151 => 'ZTE ?U885!',
6950
+ 152 => 'ZTE U887',
6951
+ 153 => 'ZTE V887',
6952
+ 154 => 'ZTE U889',
6953
+ 155 => 'ZTE V889!',
6954
+ 156 => 'ZTE U V889D',
6955
+ 157 => 'ZTE Blade III',
6956
+ 158 => 'ZTE N900',
6957
+ 159 => 'ZTE N900D',
6958
+ 160 => 'ZTE T ?U900!',
6959
+ 161 => 'ZTE M901C',
6960
+ 162 => 'ZTE N909',
6961
+ 163 => 'ZTE N909D',
6962
+ 164 => 'ZTE N910',
6963
+ 165 => 'ZTE N919',
6964
+ 166 => 'ZTE N919D',
6965
+ 167 => 'ZTE C X920',
6966
+ 168 => 'ZTE U930!',
6967
+ 169 => 'ZTE Grand X',
6968
+ 170 => 'ZTE U930 Ultimate',
6969
+ 171 => 'ZTE U930HD',
6970
+ 172 => 'ZTE U935',
6971
+ 173 => 'ZTE U950',
6972
+ 174 => 'ZTE V955',
6973
+ 175 => 'ZTE Z955L',
6974
+ 176 => 'ZTE U956',
6975
+ 177 => 'ZTE V956',
6976
+ 178 => 'ZTE Z958',
6977
+ 179 => 'ZTE N960',
6978
+ 180 => 'ZTE (U )?V960!',
6979
+ 181 => 'ZTE T ?U960!',
6980
+ 182 => 'ZTE U960E',
6981
+ 183 => 'ZTE U960s2',
6982
+ 184 => 'ZTE U960s3',
6983
+ 185 => 'ZTE V965',
6984
+ 186 => 'ZTE V967S',
6985
+ 187 => 'ZTEv967s',
6986
+ 188 => 'ZTE U968',
6987
+ 189 => 'ZTE U969',
6988
+ 190 => 'ZTE N970',
6989
+ 191 => 'ZTE U970!',
6990
+ 192 => 'ZTE V970!',
6991
+ 193 => 'ZTE Mimosa X',
6992
+ 194 => 'ZTE V975',
6993
+ 195 => 'ZTE N980',
6994
+ 196 => 'ZTE N983',
6995
+ 197 => 'ZTE V983',
6996
+ 198 => 'ZTE Grand Era',
6997
+ 199 => 'ZTE U985',
6998
+ 200 => 'ZTE V985',
6999
+ 201 => 'ZTE V985 Grand Era',
7000
+ 202 => 'ZTE N986',
7001
+ 203 => 'ZTE V ?987!',
7002
+ 204 => 'ZTE Z987',
7003
+ 205 => 'ZTE U988S',
7004
+ 206 => 'ZTE V988',
7005
+ 207 => 'ZTE Grand S',
7006
+ 208 => 'ZTE Roamer',
7007
+ 209 => 'ZTE Z990!',
7008
+ 210 => 'ZTE Z992',
7009
+ 211 => 'ZTE Z993',
7010
+ 212 => 'ZTE Z995',
7011
+ 213 => 'ZTE V998',
7012
+ 214 => 'ZTE Z998',
7013
+ 215 => 'ZTE V9800',
7014
+ 216 => 'ZTE U9810',
7015
+ 217 => 'ZTE U9815',
7016
+ 218 => 'ZTE V9815',
7017
+ 219 => 'ZTE Grand Memo LTE',
7018
+ 220 => 'ZTE V9820',
7019
+ 221 => 'ZTE N9120',
7020
+ 222 => 'ZTE N9511',
7021
+ 223 => 'ZTE Nubia Z7',
7022
+ 224 => 'ZTE Nubia X6',
7023
+ 225 => 'ZTE N5',
7024
+ 226 => 'ZTE N5L',
7025
+ 227 => 'ZTE N5S',
7026
+ 228 => 'ZTE U5',
7027
+ 229 => 'ZTE U5S',
7028
+ 230 => 'ZTE V5S',
7029
+ 231 => 'ZTE A2015',
7030
+ 232 => 'ZTE A2016',
7031
+ 233 => 'ZTE B2015',
7032
+ 234 => 'ZTE C2016',
7033
+ 235 => 'ZTE S2004',
7034
+ 236 => 'ZTE S2005',
7035
+ 237 => 'ZTE S2010',
7036
+ 238 => 'ZTE W1010',
7037
+ ),
7038
+ '@ZU' =>
7039
+ array (
7040
+ 0 => 'ZUK Z1',
7041
+ 1 => 'ZUK Z2',
7042
+ ),
7043
+ '@ZX' =>
7044
+ array (
7045
+ 0 => 'ZXY-ZTE-C X920',
7046
+ 1 => 'ZXY-ZTE V6700',
7047
+ 2 => 'ZXY-ZTE N8010',
7048
+ 3 => 'ZXY-ZTE N8300',
7049
+ 4 => '(ZXY-)?NX[0-9]{2,3}!!',
7050
+ ),
7051
+ );
integration/whichbrowser/data/indices/models-asha.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$ASHA_INDEX = array (
6
+ '@50' =>
7
+ array (
8
+ 0 => 500,
9
+ 1 => 501,
10
+ 2 => '501s',
11
+ 3 => '501.1',
12
+ 4 => '501.2',
13
+ 5 => 502,
14
+ 6 => 503,
15
+ 7 => '503s',
16
+ ),
17
+ '@AS' =>
18
+ array (
19
+ 0 => 'Asha230SingleSIM',
20
+ 1 => 'Asha230DualSIM',
21
+ 2 => 'Asha500SingleSIM',
22
+ 3 => 'Asha500DualSIM',
23
+ ),
24
+ );
integration/whichbrowser/data/indices/models-bada.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$BADA_INDEX = array (
6
+ '@GT' =>
7
+ array (
8
+ 0 => 'GT- ?S52(50|53)!',
9
+ 1 => 'GT-S53(30|33)!',
10
+ 2 => 'GT-S5380!',
11
+ 3 => 'GT-S57(50|53)!',
12
+ 4 => 'GT-S57(80)!',
13
+ 5 => 'GT-S72(30|33)!',
14
+ 6 => 'GT-S7250!',
15
+ 7 => 'GT-S8500!',
16
+ 8 => 'GT- ?S8530!',
17
+ 9 => 'GT- ?S8600!',
18
+ ),
19
+ '@SC' =>
20
+ array (
21
+ 0 => 'SCH-F859!',
22
+ ),
23
+ '@SH' =>
24
+ array (
25
+ 0 => 'SHW-M410',
26
+ ),
27
+ );
integration/whichbrowser/data/indices/models-brew.php ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$BREW_INDEX = array (
6
+ '@CD' =>
7
+ array (
8
+ 0 => 'CDM8999',
9
+ 1 => 'CDM8992',
10
+ ),
11
+ '@CO' =>
12
+ array (
13
+ 0 => 'Coolpad D508',
14
+ 1 => 'Coolpad E600',
15
+ ),
16
+ '@E4' =>
17
+ array (
18
+ 0 => 'E4255',
19
+ ),
20
+ '@EX' =>
21
+ array (
22
+ 0 => 'EX200!',
23
+ ),
24
+ '@HS' =>
25
+ array (
26
+ 0 => 'HS-E316!',
27
+ ),
28
+ '@HU' =>
29
+ array (
30
+ 0 => 'HUAWEI U2801!',
31
+ 1 => 'HUAWEI U5200!',
32
+ ),
33
+ '@LG' =>
34
+ array (
35
+ 0 => 'LG272',
36
+ 1 => 'LG510',
37
+ ),
38
+ '@LN' =>
39
+ array (
40
+ 0 => 'LN510',
41
+ ),
42
+ '@LX' =>
43
+ array (
44
+ 0 => 'LX610',
45
+ ),
46
+ '@M2' =>
47
+ array (
48
+ 0 => 'M260!',
49
+ ),
50
+ '@M3' =>
51
+ array (
52
+ 0 => 'M390!',
53
+ ),
54
+ '@M5' =>
55
+ array (
56
+ 0 => 'M550!',
57
+ ),
58
+ '@P5' =>
59
+ array (
60
+ 0 => 'P5000',
61
+ ),
62
+ '@P6' =>
63
+ array (
64
+ 0 => 'P6020',
65
+ 1 => 'P6030',
66
+ ),
67
+ '@PL' =>
68
+ array (
69
+ 0 => 'PLS M330',
70
+ ),
71
+ '@S2' =>
72
+ array (
73
+ 0 => 'S2151!',
74
+ ),
75
+ '@SA' =>
76
+ array (
77
+ 0 => 'sam-r631',
78
+ ),
79
+ '@SC' =>
80
+ array (
81
+ 0 => 'SCH-B309!',
82
+ 1 => 'SCH-F839',
83
+ 2 => 'SCH-M519!',
84
+ 3 => 'SCH-S559!',
85
+ 4 => 'SCH-S579!',
86
+ 5 => 'SCH-U380',
87
+ 6 => 'SCH-U485',
88
+ 7 => 'SCH-U820',
89
+ 8 => 'SCH-W709!',
90
+ 9 => 'SCP-6750',
91
+ 10 => 'SCP6760',
92
+ 11 => 'SCP-6760',
93
+ 12 => 'SCP6780',
94
+ ),
95
+ '@SP' =>
96
+ array (
97
+ 0 => 'SPH M330',
98
+ 1 => 'Sprint M850',
99
+ ),
100
+ '@TX' =>
101
+ array (
102
+ 0 => 'TXT8045',
103
+ ),
104
+ '@VN' =>
105
+ array (
106
+ 0 => 'VN170',
107
+ 1 => 'VN271',
108
+ 2 => 'VN280',
109
+ 3 => 'VN360',
110
+ 4 => 'VN530',
111
+ ),
112
+ '@VX' =>
113
+ array (
114
+ 0 => 'VX9200!',
115
+ 1 => 'VX9600!',
116
+ 2 => 'VX11000',
117
+ ),
118
+ );
integration/whichbrowser/data/indices/models-feature.php ADDED
@@ -0,0 +1,202 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$FEATURE_INDEX = array (
6
+ '@CK' =>
7
+ array (
8
+ 0 => 'CK13[ai]?$!',
9
+ 1 => 'CK15[ai]?$!',
10
+ ),
11
+ '@CO' =>
12
+ array (
13
+ 0 => 'COCOON',
14
+ ),
15
+ '@EF' =>
16
+ array (
17
+ 0 => 'EF71',
18
+ ),
19
+ '@EX' =>
20
+ array (
21
+ 0 => 'EX115',
22
+ 1 => 'EX118',
23
+ 2 => 'EX119',
24
+ 3 => 'EX128',
25
+ 4 => 'EX225',
26
+ 5 => 'EX226',
27
+ 6 => 'EX430',
28
+ ),
29
+ '@F1' =>
30
+ array (
31
+ 0 => 'F100[ai]?$!',
32
+ ),
33
+ '@GM' =>
34
+ array (
35
+ 0 => 'GM360',
36
+ ),
37
+ '@GR' =>
38
+ array (
39
+ 0 => 'GR700',
40
+ ),
41
+ '@GS' =>
42
+ array (
43
+ 0 => 'GS290',
44
+ 1 => 'GS500',
45
+ ),
46
+ '@GT' =>
47
+ array (
48
+ 0 => 'GT500!',
49
+ 1 => 'GT550',
50
+ 2 => 'GT-B2710',
51
+ 3 => 'GT-B3210',
52
+ 4 => 'GT-B3313',
53
+ 5 => 'GT-C3200',
54
+ 6 => 'GT-C3222',
55
+ 7 => 'GT-C3322',
56
+ 8 => 'GT-C3500',
57
+ 9 => 'GT-C5010!',
58
+ 10 => 'GT-E1282!',
59
+ 11 => 'GT-E2152',
60
+ 12 => 'GT-E2220',
61
+ 13 => 'GT-E2222',
62
+ 14 => 'GT-E2202',
63
+ 15 => 'GT-E2250',
64
+ 16 => 'GT-E2252',
65
+ 17 => 'GT-E3213',
66
+ 18 => 'GT-E3309I',
67
+ 19 => 'GT-M8910',
68
+ 20 => 'GT-S3332',
69
+ 21 => 'GT-S33(50|53)!',
70
+ 22 => 'GT-S35(70|72)!',
71
+ 23 => 'GT-S5229',
72
+ 24 => 'GT-S5270!',
73
+ 25 => 'GT-S5610!',
74
+ 26 => 'GT-I6410!',
75
+ 27 => 'GT-I8320!',
76
+ 28 => 'GT-I8330!',
77
+ ),
78
+ '@J1' =>
79
+ array (
80
+ 0 => 'J105[ai]?$!',
81
+ 1 => 'J108[ai]?$!',
82
+ 2 => 'J10(i2?)?$!',
83
+ ),
84
+ '@J2' =>
85
+ array (
86
+ 0 => 'J20[ai]?$!',
87
+ ),
88
+ '@K6' =>
89
+ array (
90
+ 0 => 'K612',
91
+ ),
92
+ '@KC' =>
93
+ array (
94
+ 0 => 'KC910i',
95
+ ),
96
+ '@KP' =>
97
+ array (
98
+ 0 => 'KP500!',
99
+ 1 => 'KP570!',
100
+ ),
101
+ '@KU' =>
102
+ array (
103
+ 0 => 'KU990i',
104
+ ),
105
+ '@LI' =>
106
+ array (
107
+ 0 => 'Lightpipe',
108
+ ),
109
+ '@M3' =>
110
+ array (
111
+ 0 => 'm3510c',
112
+ ),
113
+ '@MO' =>
114
+ array (
115
+ 0 => 'MOTOQA1',
116
+ ),
117
+ '@P7' =>
118
+ array (
119
+ 0 => 'P7000',
120
+ ),
121
+ '@P9' =>
122
+ array (
123
+ 0 => 'P9020',
124
+ 1 => 'P9050',
125
+ ),
126
+ '@PL' =>
127
+ array (
128
+ 0 => 'PLS6600KJ',
129
+ ),
130
+ '@PM' =>
131
+ array (
132
+ 0 => 'PM-8200',
133
+ ),
134
+ '@S7' =>
135
+ array (
136
+ 0 => 'S7350',
137
+ ),
138
+ '@SA' =>
139
+ array (
140
+ 0 => 'sam-r560',
141
+ ),
142
+ '@SC' =>
143
+ array (
144
+ 0 => 'SCP-5500',
145
+ 1 => 'SCP-6600',
146
+ 2 => 'SCH-W169',
147
+ 3 => 'SCH-W279',
148
+ ),
149
+ '@SG' =>
150
+ array (
151
+ 0 => 'SGH-A667',
152
+ 1 => 'SGH-A697',
153
+ 2 => 'SGH-A877',
154
+ 3 => 'SGH-A927',
155
+ 4 => 'SGH-A997',
156
+ 5 => 'SGH-D880',
157
+ 6 => 'SGH-G600',
158
+ 7 => 'SGH-J700V',
159
+ 8 => 'SGH-S390G',
160
+ 9 => 'SGH-T189N',
161
+ 10 => 'SGHX660V',
162
+ 11 => 'SGH-Z107!',
163
+ 12 => 'SGH-Z130!',
164
+ 13 => 'SGH-Z500!',
165
+ ),
166
+ '@SM' =>
167
+ array (
168
+ 0 => 'SM-B313E',
169
+ 1 => 'SM-B350E',
170
+ 2 => 'SM-B780(A|W)!',
171
+ ),
172
+ '@TE' =>
173
+ array (
174
+ 0 => 'tecnot36',
175
+ ),
176
+ '@U1' =>
177
+ array (
178
+ 0 => 'U100[ai]?$!',
179
+ 1 => 'U10[ai]?$!',
180
+ ),
181
+ '@VO' =>
182
+ array (
183
+ 0 => 'Vodafone 575',
184
+ ),
185
+ '@W1' =>
186
+ array (
187
+ 0 => 'W100i?$!',
188
+ 1 => 'W150i?$!',
189
+ ),
190
+ '@W2' =>
191
+ array (
192
+ 0 => 'W20i?$!',
193
+ ),
194
+ '@WT' =>
195
+ array (
196
+ 0 => 'WT13i$!',
197
+ ),
198
+ '@X5' =>
199
+ array (
200
+ 0 => 'X5i$!',
201
+ ),
202
+ );
integration/whichbrowser/data/indices/models-firefoxos.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$FIREFOXOS_INDEX = array (
6
+ '@AL' =>
7
+ array (
8
+ 0 => 'ALCATEL ONE TOUCH FIRE',
9
+ 1 => 'ALCATEL ONE TOUCH 4012A',
10
+ 2 => 'ALCATEL ONE TOUCH 4012X',
11
+ 3 => 'ALCATELOneTouch4012A!',
12
+ 4 => 'ALCATELOneTouch4012X!',
13
+ 5 => 'ALCATELOneTouch4019A!',
14
+ 6 => 'ALCATELOneTouch4019X!',
15
+ 7 => 'ALCATELOneTouch4020D!',
16
+ 8 => 'ALCATELOneTouch4022!',
17
+ 9 => 'ALCATELOneTouch4023!',
18
+ 10 => 'ALCATELOneTouch6015X!',
19
+ ),
20
+ '@HU' =>
21
+ array (
22
+ 0 => 'HUAWEI Ascend Y300-F1',
23
+ 1 => 'HUAWEIY300-F1',
24
+ ),
25
+ '@LG' =>
26
+ array (
27
+ 0 => 'LG-D3(00|01)!',
28
+ 1 => 'LGL25',
29
+ ),
30
+ '@MA' =>
31
+ array (
32
+ 0 => 'madai',
33
+ ),
34
+ '@ON' =>
35
+ array (
36
+ 0 => 'OneTouch4019A',
37
+ ),
38
+ '@OP' =>
39
+ array (
40
+ 0 => 'OPEN',
41
+ 1 => 'OpenC',
42
+ 2 => 'Open C',
43
+ 3 => 'OPENC2',
44
+ 4 => 'OPEN2',
45
+ ),
46
+ '@OR' =>
47
+ array (
48
+ 0 => 'Orange KLIF',
49
+ 1 => 'Orange KLIFD',
50
+ ),
51
+ '@ZT' =>
52
+ array (
53
+ 0 => 'ZTEOPEN',
54
+ ),
55
+ );
integration/whichbrowser/data/indices/models-kddi.php ADDED
@@ -0,0 +1,393 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$KDDI_INDEX = array (
6
+ '@CA' =>
7
+ array (
8
+ 0 => 'CA11',
9
+ 1 => 'CA12',
10
+ 2 => 'CA13',
11
+ 3 => 'CA14',
12
+ 4 => 'CA21',
13
+ 5 => 'CA22',
14
+ 6 => 'CA23',
15
+ 7 => 'CA24',
16
+ 8 => 'CA25',
17
+ 9 => 'CA26',
18
+ 10 => 'CA27',
19
+ 11 => 'CA28',
20
+ 12 => 'CA31',
21
+ 13 => 'CA32',
22
+ 14 => 'CA33',
23
+ 15 => 'CA34',
24
+ 16 => 'CA35',
25
+ 17 => 'CA36',
26
+ 18 => 'CA37',
27
+ 19 => 'CA38',
28
+ 20 => 'CA39',
29
+ 21 => 'CA3A',
30
+ 22 => 'CA3B',
31
+ 23 => 'CA3C',
32
+ 24 => 'CA3D',
33
+ 25 => 'CA3E',
34
+ 26 => 'CA3F',
35
+ 27 => 'CA3G',
36
+ 28 => 'CA3H',
37
+ 29 => 'CA3I',
38
+ 30 => 'CA3J',
39
+ 31 => 'CA3K',
40
+ ),
41
+ '@DN' =>
42
+ array (
43
+ 0 => 'DN01',
44
+ 1 => 'DN11',
45
+ ),
46
+ '@ER' =>
47
+ array (
48
+ 0 => 'ERK0',
49
+ ),
50
+ '@FJ' =>
51
+ array (
52
+ 0 => 'FJ31',
53
+ ),
54
+ '@HI' =>
55
+ array (
56
+ 0 => 'HI01',
57
+ 1 => 'HI02',
58
+ 2 => 'HI11',
59
+ 3 => 'HI12',
60
+ 4 => 'HI13',
61
+ 5 => 'HI14',
62
+ 6 => 'HI21',
63
+ 7 => 'HI23',
64
+ 8 => 'HI24',
65
+ 9 => 'HI31',
66
+ 10 => 'HI32',
67
+ 11 => 'HI33',
68
+ 12 => 'HI34',
69
+ 13 => 'HI35',
70
+ 14 => 'HI36',
71
+ 15 => 'HI37',
72
+ 16 => 'HI38',
73
+ 17 => 'HI39',
74
+ 18 => 'HI3A',
75
+ 19 => 'HI3B',
76
+ 20 => 'HI3C',
77
+ 21 => 'HI3D',
78
+ 22 => 'HI3E',
79
+ 23 => 'HI3F',
80
+ 24 => 'HI3G',
81
+ 25 => 'HI3H',
82
+ ),
83
+ '@KC' =>
84
+ array (
85
+ 0 => 'KC3Q',
86
+ 1 => 'KC3S',
87
+ 2 => 'KC3V',
88
+ 3 => 'KC11',
89
+ 4 => 'KC12',
90
+ 5 => 'KC13',
91
+ 6 => 'KC14',
92
+ 7 => 'KC15',
93
+ 8 => 'KC21',
94
+ 9 => 'KC22',
95
+ 10 => 'KC23',
96
+ 11 => 'KC24',
97
+ 12 => 'KC25',
98
+ 13 => 'KC26',
99
+ 14 => 'KC27',
100
+ 15 => 'KC28',
101
+ 16 => 'KC29',
102
+ 17 => 'KC2A',
103
+ 18 => 'KC31',
104
+ 19 => 'KC32',
105
+ 20 => 'KC33',
106
+ 21 => 'KC34',
107
+ 22 => 'KC35',
108
+ 23 => 'KC36',
109
+ 24 => 'KC37',
110
+ 25 => 'KC38',
111
+ 26 => 'KC39',
112
+ 27 => 'KC3A',
113
+ 28 => 'KC3B',
114
+ 29 => 'KC3D',
115
+ 30 => 'KC3E',
116
+ 31 => 'KC3G',
117
+ 32 => 'KC3H',
118
+ 33 => 'KC3I',
119
+ 34 => 'KC3K',
120
+ 35 => 'KC3M',
121
+ 36 => 'KC3N',
122
+ 37 => 'KC3O',
123
+ 38 => 'KC3P',
124
+ 39 => 'KC3R',
125
+ 40 => 'KC3T',
126
+ 41 => 'KC3U',
127
+ 42 => 'KC3W',
128
+ 43 => 'KC3X',
129
+ 44 => 'KC3Y',
130
+ 45 => 'KC3Z',
131
+ 46 => 'KC41',
132
+ 47 => 'KC42',
133
+ 48 => 'KC43',
134
+ 49 => 'KC44',
135
+ 50 => 'KC45',
136
+ 51 => 'KC46',
137
+ 52 => 'KC47',
138
+ 53 => 'KC48',
139
+ 54 => 'KC4A',
140
+ 55 => 'KCC1',
141
+ 56 => 'KCC2',
142
+ 57 => 'KCI1',
143
+ 58 => 'KCI2',
144
+ 59 => 'KCT1',
145
+ 60 => 'KCT2',
146
+ 61 => 'KCT3',
147
+ 62 => 'KCT4',
148
+ 63 => 'KCT5',
149
+ 64 => 'KCT6',
150
+ 65 => 'KCT7',
151
+ 66 => 'KCT8',
152
+ 67 => 'KCT9',
153
+ 68 => 'KCTA',
154
+ 69 => 'KCTB',
155
+ 70 => 'KCTC',
156
+ ),
157
+ '@MA' =>
158
+ array (
159
+ 0 => 'MA11',
160
+ 1 => 'MA12',
161
+ 2 => 'MA13',
162
+ 3 => 'MA21',
163
+ 4 => 'MA31',
164
+ 5 => 'MA32',
165
+ 6 => 'MA33',
166
+ 7 => 'MA34',
167
+ 8 => 'MA35',
168
+ 9 => 'MAC1',
169
+ 10 => 'MAC2',
170
+ 11 => 'MAI1',
171
+ 12 => 'MAI2',
172
+ 13 => 'MAT1',
173
+ 14 => 'MAT2',
174
+ 15 => 'MAT3',
175
+ ),
176
+ '@MI' =>
177
+ array (
178
+ 0 => 'MIT1',
179
+ ),
180
+ '@PT' =>
181
+ array (
182
+ 0 => 'PT21',
183
+ 1 => 'PT23',
184
+ 2 => 'PT33',
185
+ 3 => 'PT34',
186
+ 4 => 'PT35',
187
+ 5 => 'PT36',
188
+ ),
189
+ '@SA' =>
190
+ array (
191
+ 0 => 'SA21',
192
+ 1 => 'SA22',
193
+ 2 => 'SA24',
194
+ 3 => 'SA25',
195
+ 4 => 'SA26',
196
+ 5 => 'SA27',
197
+ 6 => 'SA28',
198
+ 7 => 'SA29',
199
+ 8 => 'SA2A',
200
+ 9 => 'SA31',
201
+ 10 => 'SA32',
202
+ 11 => 'SA33',
203
+ 12 => 'SA34',
204
+ 13 => 'SA35',
205
+ 14 => 'SA36',
206
+ 15 => 'SA37',
207
+ 16 => 'SA38',
208
+ 17 => 'SA39',
209
+ 18 => 'SA3A',
210
+ 19 => 'SA3B',
211
+ 20 => 'SA3C',
212
+ 21 => 'SA3D',
213
+ 22 => 'SA3E',
214
+ ),
215
+ '@SH' =>
216
+ array (
217
+ 0 => 'SH31',
218
+ 1 => 'SH32',
219
+ 2 => 'SH33',
220
+ 3 => 'SH34',
221
+ 4 => 'SH35',
222
+ 5 => 'SH36',
223
+ 6 => 'SH37',
224
+ 7 => 'SH38',
225
+ 8 => 'SH39',
226
+ 9 => 'SH3A',
227
+ 10 => 'SH3B',
228
+ 11 => 'SH3C',
229
+ 12 => 'SH3D',
230
+ 13 => 'SH3E',
231
+ 14 => 'SH3F',
232
+ 15 => 'SH3G',
233
+ 16 => 'SH3H',
234
+ 17 => 'SH3I',
235
+ 18 => 'SH3J',
236
+ 19 => 'SH3K',
237
+ 20 => 'SH3L',
238
+ ),
239
+ '@SN' =>
240
+ array (
241
+ 0 => 'SN3K',
242
+ 1 => 'SN3T',
243
+ 2 => 'SN11',
244
+ 3 => 'SN13',
245
+ 4 => 'SN14',
246
+ 5 => 'SN15',
247
+ 6 => 'SN16',
248
+ 7 => 'SN17',
249
+ 8 => 'SN21',
250
+ 9 => 'SN22',
251
+ 10 => 'SN23',
252
+ 11 => 'SN24',
253
+ 12 => 'SN25',
254
+ 13 => 'SN26',
255
+ 14 => 'SN27',
256
+ 15 => 'SN28',
257
+ 16 => 'SN29',
258
+ 17 => 'SN31',
259
+ 18 => 'SN32',
260
+ 19 => 'SN33',
261
+ 20 => 'SN34',
262
+ 21 => 'SN35',
263
+ 22 => 'SN36',
264
+ 23 => 'SN37',
265
+ 24 => 'SN38',
266
+ 25 => 'SN39',
267
+ 26 => 'SN3A',
268
+ 27 => 'SN3B',
269
+ 28 => 'SN3C',
270
+ 29 => 'SN3D',
271
+ 30 => 'SN3E',
272
+ 31 => 'SN3F',
273
+ 32 => 'SN3G',
274
+ 33 => 'SN3H',
275
+ 34 => 'SN3I',
276
+ 35 => 'SN3J',
277
+ 36 => 'SN3L',
278
+ 37 => 'SN3M',
279
+ 38 => 'SN3N',
280
+ 39 => 'SN3O',
281
+ 40 => 'SN3P',
282
+ 41 => 'SN3Q',
283
+ 42 => 'SN3R',
284
+ 43 => 'SN3S',
285
+ 44 => 'SN3U',
286
+ 45 => 'SN3V',
287
+ ),
288
+ '@ST' =>
289
+ array (
290
+ 0 => 'ST22',
291
+ 1 => 'ST33',
292
+ 2 => 'ST11',
293
+ 3 => 'ST12',
294
+ 4 => 'ST13',
295
+ 5 => 'ST14',
296
+ 6 => 'ST21',
297
+ 7 => 'ST23',
298
+ 8 => 'ST24',
299
+ 9 => 'ST25',
300
+ 10 => 'ST26',
301
+ 11 => 'ST27',
302
+ 12 => 'ST28',
303
+ 13 => 'ST29',
304
+ 14 => 'ST2A',
305
+ 15 => 'ST2C',
306
+ 16 => 'ST2D',
307
+ 17 => 'ST31',
308
+ 18 => 'ST32',
309
+ 19 => 'ST34',
310
+ ),
311
+ '@SY' =>
312
+ array (
313
+ 0 => 'SY12',
314
+ 1 => 'SY13',
315
+ 2 => 'SY14',
316
+ 3 => 'SY15',
317
+ 4 => 'SYC1',
318
+ 5 => 'SYT1',
319
+ 6 => 'SYT2',
320
+ 7 => 'SYT3',
321
+ 8 => 'SYT4',
322
+ 9 => 'SY01',
323
+ 10 => 'SY02',
324
+ 11 => 'SY03',
325
+ 12 => 'SY11',
326
+ ),
327
+ '@TS' =>
328
+ array (
329
+ 0 => 'TS3Q',
330
+ 1 => 'TS3U',
331
+ 2 => 'TS3W',
332
+ 3 => 'TS01',
333
+ 4 => 'TS11',
334
+ 5 => 'TS12',
335
+ 6 => 'TS13',
336
+ 7 => 'TS14',
337
+ 8 => 'TS21',
338
+ 9 => 'TS22',
339
+ 10 => 'TS23',
340
+ 11 => 'TS24',
341
+ 12 => 'TS25',
342
+ 13 => 'TS26',
343
+ 14 => 'TS27',
344
+ 15 => 'TS28',
345
+ 16 => 'TS29',
346
+ 17 => 'TS2A',
347
+ 18 => 'TS2B',
348
+ 19 => 'TS2C',
349
+ 20 => 'TS2D',
350
+ 21 => 'TS2E',
351
+ 22 => 'TS31',
352
+ 23 => 'TS32',
353
+ 24 => 'TS33',
354
+ 25 => 'TS34',
355
+ 26 => 'TS35',
356
+ 27 => 'TS36',
357
+ 28 => 'TS37',
358
+ 29 => 'TS38',
359
+ 30 => 'TS39',
360
+ 31 => 'TS3A',
361
+ 32 => 'TS3B',
362
+ 33 => 'TS3C',
363
+ 34 => 'TS3D',
364
+ 35 => 'TS3E',
365
+ 36 => 'TS3G',
366
+ 37 => 'TS3H',
367
+ 38 => 'TS3I',
368
+ 39 => 'TS3J',
369
+ 40 => 'TS3K',
370
+ 41 => 'TS3L',
371
+ 42 => 'TS3M',
372
+ 43 => 'TS3N',
373
+ 44 => 'TS3O',
374
+ 45 => 'TS3P',
375
+ 46 => 'TS3R',
376
+ 47 => 'TS3S',
377
+ 48 => 'TS3T',
378
+ 49 => 'TS3V',
379
+ 50 => 'TS3X',
380
+ 51 => 'TS3Y',
381
+ 52 => 'TS3Z',
382
+ 53 => 'TS41',
383
+ 54 => 'TSC1',
384
+ 55 => 'TSI1',
385
+ 56 => 'TST1',
386
+ 57 => 'TST2',
387
+ 58 => 'TST3',
388
+ 59 => 'TST4',
389
+ 60 => 'TST5',
390
+ 61 => 'TST6',
391
+ 62 => 'TST7',
392
+ ),
393
+ );
integration/whichbrowser/data/indices/models-palmos.php ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$PALMOS_INDEX = array (
6
+ '@AC' =>
7
+ array (
8
+ 0 => 'acer-momo',
9
+ 1 => 'acer-coco',
10
+ 2 => 'Acea-MZ01',
11
+ 3 => 'Acea-PD01',
12
+ ),
13
+ '@GR' =>
14
+ array (
15
+ 0 => 'grmn-3200',
16
+ 1 => 'grmn-3600',
17
+ 2 => 'grmn-3700',
18
+ ),
19
+ '@GS' =>
20
+ array (
21
+ 0 => 'gsRl-zicn',
22
+ 1 => 'gsRl-zcn2',
23
+ 2 => 'gsRl-zcn5',
24
+ ),
25
+ '@HS' =>
26
+ array (
27
+ 0 => 'hspr-H101',
28
+ 1 => 'hspr-H102',
29
+ ),
30
+ '@KW' =>
31
+ array (
32
+ 0 => 'kwc.-7135',
33
+ ),
34
+ '@PA' =>
35
+ array (
36
+ 0 => 'Palm-D061',
37
+ 1 => 'Palm-D062',
38
+ 2 => 'Palm-TunX',
39
+ 3 => 'Palm-stuj',
40
+ 4 => 'Palm-hbbs',
41
+ 5 => 'Palm-trnd',
42
+ 6 => 'Palm-ecty',
43
+ 7 => 'Palm-lith',
44
+ 8 => 'Palm-sky1',
45
+ 9 => 'Palm-D053',
46
+ 10 => 'Palm-D052',
47
+ 11 => 'Palm-D060',
48
+ 12 => 'Palm-MT64',
49
+ 13 => 'Palm-Cct1',
50
+ 14 => 'Palm-Zir4',
51
+ 15 => 'Palm-Frg1',
52
+ 16 => 'Palm-Frg2',
53
+ 17 => 'Palm-Arz1',
54
+ 18 => 'Palm-TnT5',
55
+ 19 => 'Palm-atc1',
56
+ 20 => 'Palm-D050',
57
+ 21 => 'Palm-Cubs',
58
+ 22 => 'Palm-Zi21',
59
+ 23 => 'Palm-D051',
60
+ 24 => 'Palm-Zi22',
61
+ 25 => 'Palm-Zpth',
62
+ 26 => 'Palm-Zi72',
63
+ ),
64
+ '@QC' =>
65
+ array (
66
+ 0 => 'qcom-qc20',
67
+ ),
68
+ '@SM' =>
69
+ array (
70
+ 0 => 'smsn-phix',
71
+ 1 => 'smsn-Phx2',
72
+ 2 => 'smsn-blch',
73
+ 3 => 'smsn-BLFM',
74
+ 4 => 'smsn-glxy',
75
+ ),
76
+ '@SO' =>
77
+ array (
78
+ 0 => 'sony-ystn',
79
+ 1 => 'sony-ysmt',
80
+ 2 => 'sony-ysm2',
81
+ 3 => 'sony-nsca',
82
+ 4 => 'sony-nsc2',
83
+ 5 => 'sony-vnce',
84
+ 6 => 'sony-mdna',
85
+ 7 => 'sony-npls',
86
+ 8 => 'sony-rdwd',
87
+ 9 => 'sony-crdb',
88
+ 10 => 'sony-tldo',
89
+ 11 => 'sony-mdrd',
90
+ 12 => 'sony-grnd',
91
+ 13 => 'sony-frta',
92
+ 14 => 'sony-cocs',
93
+ 15 => 'sony-glps',
94
+ 16 => 'sony-mcnd',
95
+ 17 => 'sony-vrna',
96
+ 18 => 'sony-atom',
97
+ 19 => 'sony-goha',
98
+ 20 => 'sony-leia',
99
+ 21 => 'sony-hwai',
100
+ 22 => 'sony-goku',
101
+ 23 => 'sony-luke',
102
+ 24 => 'sony-amno',
103
+ 25 => 'sony-prmr',
104
+ 26 => 'sony-ancy',
105
+ ),
106
+ '@TP' =>
107
+ array (
108
+ 0 => 'Tpwv-Rdog',
109
+ ),
110
+ '@TR' =>
111
+ array (
112
+ 0 => 'trgp-trg1',
113
+ 1 => 'trgp-trg2',
114
+ ),
115
+ );
integration/whichbrowser/data/indices/models-s30plus.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$S30PLUS_INDEX = array (
6
+ '@21' =>
7
+ array (
8
+ 0 => 215,
9
+ ),
10
+ '@22' =>
11
+ array (
12
+ 0 => 220,
13
+ 1 => 222,
14
+ 2 => 225,
15
+ ),
16
+ '@23' =>
17
+ array (
18
+ 0 => 230,
19
+ ),
20
+ );
integration/whichbrowser/data/indices/models-s40.php ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$S40_INDEX = array (
6
+ '@10' =>
7
+ array (
8
+ 0 => 109,
9
+ ),
10
+ '@11' =>
11
+ array (
12
+ 0 => 110,
13
+ 1 => 111,
14
+ 2 => '111.1',
15
+ 3 => 112,
16
+ 4 => 114,
17
+ ),
18
+ '@16' =>
19
+ array (
20
+ 0 => '1682c',
21
+ ),
22
+ '@20' =>
23
+ array (
24
+ 0 => 200,
25
+ 1 => 201,
26
+ 2 => 202,
27
+ 3 => 203,
28
+ 4 => 205,
29
+ 5 => '205.1',
30
+ 6 => '205.3',
31
+ 7 => 206,
32
+ 8 => '206.1',
33
+ 9 => 208,
34
+ 10 => '208.1',
35
+ 11 => '208.2',
36
+ 12 => '208.3',
37
+ 13 => '208.4',
38
+ 14 => 2055,
39
+ 15 => 2060,
40
+ ),
41
+ '@21' =>
42
+ array (
43
+ 0 => 210,
44
+ 1 => '210.2',
45
+ 2 => '210.3',
46
+ 3 => '210.4',
47
+ 4 => '210.5',
48
+ ),
49
+ '@22' =>
50
+ array (
51
+ 0 => '2220s!',
52
+ ),
53
+ '@23' =>
54
+ array (
55
+ 0 => '2320c!',
56
+ 1 => '2322c!',
57
+ 2 => '2323c!',
58
+ 3 => '2330c!',
59
+ ),
60
+ '@26' =>
61
+ array (
62
+ 0 => '2600c!',
63
+ 1 => '2680s!',
64
+ 2 => 2690,
65
+ 3 => 2692,
66
+ ),
67
+ '@27' =>
68
+ array (
69
+ 0 => '2700c!',
70
+ 1 => '2710c',
71
+ 2 => '2710c-2',
72
+ 3 => '2720a!',
73
+ 4 => '2730c!',
74
+ ),
75
+ '@30' =>
76
+ array (
77
+ 0 => 300,
78
+ 1 => 301,
79
+ 2 => '301.1',
80
+ 3 => 302,
81
+ 4 => 303,
82
+ 5 => 305,
83
+ 6 => 306,
84
+ 7 => 308,
85
+ 8 => 309,
86
+ 9 => 3020,
87
+ ),
88
+ '@31' =>
89
+ array (
90
+ 0 => 310,
91
+ 1 => 311,
92
+ 2 => '3109c',
93
+ 3 => '3110c',
94
+ 4 => '3120c',
95
+ 5 => '3120classic',
96
+ ),
97
+ '@32' =>
98
+ array (
99
+ 0 => '3208c',
100
+ ),
101
+ '@35' =>
102
+ array (
103
+ 0 => '3500c',
104
+ 1 => '3555b',
105
+ ),
106
+ '@36' =>
107
+ array (
108
+ 0 => '3600s',
109
+ 1 => '3610a',
110
+ ),
111
+ '@37' =>
112
+ array (
113
+ 0 => '3710fold',
114
+ 1 => '3720c',
115
+ ),
116
+ '@50' =>
117
+ array (
118
+ 0 => '5000!',
119
+ ),
120
+ '@51' =>
121
+ array (
122
+ 0 => 515,
123
+ 1 => '515.2',
124
+ 2 => '5130!',
125
+ 3 => '5130c!',
126
+ 4 => 5132,
127
+ ),
128
+ '@52' =>
129
+ array (
130
+ 0 => '5200!',
131
+ 1 => '5220!',
132
+ ),
133
+ '@53' =>
134
+ array (
135
+ 0 => '5300!',
136
+ 1 => '5310!',
137
+ 2 => 5330,
138
+ 3 => '5330-1d',
139
+ ),
140
+ '@56' =>
141
+ array (
142
+ 0 => '5610d!',
143
+ ),
144
+ '@60' =>
145
+ array (
146
+ 0 => '6070!',
147
+ ),
148
+ '@62' =>
149
+ array (
150
+ 0 => '6208c',
151
+ 1 => '6212c',
152
+ 2 => '6260s!',
153
+ 3 => '6230i!',
154
+ 4 => 6233,
155
+ 5 => 6234,
156
+ 6 => '6263!',
157
+ 7 => 6280,
158
+ ),
159
+ '@63' =>
160
+ array (
161
+ 0 => 6300,
162
+ 1 => '6300i',
163
+ 2 => 6301,
164
+ 3 => '6303c',
165
+ 4 => '6303classic',
166
+ 5 => '6303iclassic',
167
+ 6 => '6303ci',
168
+ 7 => 6350,
169
+ ),
170
+ '@65' =>
171
+ array (
172
+ 0 => '6500s!',
173
+ ),
174
+ '@66' =>
175
+ array (
176
+ 0 => '6600f!',
177
+ 1 => '6600s!',
178
+ 2 => '6600i!',
179
+ ),
180
+ '@67' =>
181
+ array (
182
+ 0 => '6700c!',
183
+ 1 => '6750c',
184
+ ),
185
+ '@70' =>
186
+ array (
187
+ 0 => '7070!',
188
+ ),
189
+ '@71' =>
190
+ array (
191
+ 0 => '7100s!',
192
+ ),
193
+ '@72' =>
194
+ array (
195
+ 0 => '7210s!',
196
+ 1 => '7210Supernova!',
197
+ 2 => '7230!',
198
+ ),
199
+ '@73' =>
200
+ array (
201
+ 0 => '7310c!',
202
+ ),
203
+ '@75' =>
204
+ array (
205
+ 0 => 7500,
206
+ 1 => '7510Supernova!',
207
+ ),
208
+ '@76' =>
209
+ array (
210
+ 0 => '7610Supernova!',
211
+ ),
212
+ '@88' =>
213
+ array (
214
+ 0 => '8800!',
215
+ ),
216
+ '@C1' =>
217
+ array (
218
+ 0 => 'C1-01!',
219
+ 1 => 'C1-02!',
220
+ 2 => 'C1-03!',
221
+ ),
222
+ '@C2' =>
223
+ array (
224
+ 0 => 'C2-00!',
225
+ 1 => 'C2-01!',
226
+ 2 => 'C2-02!',
227
+ 3 => 'C2-03!',
228
+ 4 => 'C2-05!',
229
+ 5 => 'C2-06!',
230
+ ),
231
+ '@C3' =>
232
+ array (
233
+ 0 => 'C3-00!',
234
+ 1 => 'C3-01!',
235
+ ),
236
+ '@X2' =>
237
+ array (
238
+ 0 => 'X2-00!',
239
+ 1 => 'X2-01!',
240
+ 2 => 'X2-02!',
241
+ 3 => 'X2-03!',
242
+ 4 => 'X2-05!',
243
+ ),
244
+ '@X3' =>
245
+ array (
246
+ 0 => 'X3-00!',
247
+ 1 => 'X3-02!',
248
+ ),
249
+ );
integration/whichbrowser/data/indices/models-symbian.php ADDED
@@ -0,0 +1,343 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$SYMBIAN_INDEX = array (
6
+ '@' =>
7
+ array (
8
+ 0 => '(?i)U1(a|i|iv)?$!',
9
+ 1 => '(?i)U5(a|i|iv)?$!',
10
+ 2 => '(?i)U8(a|i)?$!',
11
+ ),
12
+ '@32' =>
13
+ array (
14
+ 0 => 3230,
15
+ 1 => 3250,
16
+ ),
17
+ '@36' =>
18
+ array (
19
+ 0 => 3650,
20
+ 1 => 3660,
21
+ ),
22
+ '@50' =>
23
+ array (
24
+ 0 => 500,
25
+ ),
26
+ '@52' =>
27
+ array (
28
+ 0 => 5228,
29
+ 1 => '5233!',
30
+ 2 => '5230!',
31
+ 3 => 5232,
32
+ 4 => '5235!',
33
+ 5 => 5236,
34
+ 6 => 5238,
35
+ 7 => 5250,
36
+ ),
37
+ '@53' =>
38
+ array (
39
+ 0 => '5320!',
40
+ ),
41
+ '@55' =>
42
+ array (
43
+ 0 => '5500d!',
44
+ 1 => '5530!',
45
+ ),
46
+ '@56' =>
47
+ array (
48
+ 0 => '5630!',
49
+ ),
50
+ '@57' =>
51
+ array (
52
+ 0 => '5700!',
53
+ 1 => '5730!',
54
+ ),
55
+ '@58' =>
56
+ array (
57
+ 0 => '5800!',
58
+ ),
59
+ '@60' =>
60
+ array (
61
+ 0 => 600,
62
+ 1 => 603,
63
+ ),
64
+ '@61' =>
65
+ array (
66
+ 0 => '6110Navigator',
67
+ 1 => '6120c!',
68
+ 2 => '6121c!',
69
+ 3 => '6122c!',
70
+ 4 => '6124c',
71
+ ),
72
+ '@62' =>
73
+ array (
74
+ 0 => '6210 ?Navigator!',
75
+ 1 => '6220c!',
76
+ 2 => 6260,
77
+ 3 => '6290!',
78
+ ),
79
+ '@66' =>
80
+ array (
81
+ 0 => 6600,
82
+ 1 => 6630,
83
+ 2 => '6650d!',
84
+ 3 => 6670,
85
+ 4 => 6680,
86
+ 5 => 6681,
87
+ ),
88
+ '@67' =>
89
+ array (
90
+ 0 => '6700s',
91
+ 1 => 6708,
92
+ 2 => '6710s',
93
+ 3 => '6720c!',
94
+ 4 => '6730c!',
95
+ 5 => '6760s!',
96
+ 6 => 6788,
97
+ 7 => '6788i',
98
+ 8 => '6790s-1b!',
99
+ 9 => '6790s-1c!',
100
+ ),
101
+ '@70' =>
102
+ array (
103
+ 0 => 700,
104
+ 1 => 701,
105
+ 2 => '702T',
106
+ ),
107
+ '@76' =>
108
+ array (
109
+ 0 => 7610,
110
+ 1 => 7650,
111
+ 2 => 7660,
112
+ ),
113
+ '@80' =>
114
+ array (
115
+ 0 => '801T',
116
+ 1 => 808,
117
+ 2 => '808PureView',
118
+ 3 => '808 PureView',
119
+ ),
120
+ '@A1' =>
121
+ array (
122
+ 0 => 'A1000',
123
+ ),
124
+ '@A9' =>
125
+ array (
126
+ 0 => 'A920',
127
+ 1 => 'A925',
128
+ ),
129
+ '@BE' =>
130
+ array (
131
+ 0 => 'BenQ P30',
132
+ 1 => 'BenQ P31',
133
+ ),
134
+ '@C5' =>
135
+ array (
136
+ 0 => 'C5-00!',
137
+ 1 => 'C5-01',
138
+ 2 => 'C5-03!',
139
+ 3 => 'C5-04',
140
+ 4 => 'C5-05',
141
+ 5 => 'C5-06',
142
+ ),
143
+ '@C6' =>
144
+ array (
145
+ 0 => 'C6-00!',
146
+ 1 => 'C6-01!',
147
+ ),
148
+ '@C7' =>
149
+ array (
150
+ 0 => 'C7-00!',
151
+ ),
152
+ '@CO' =>
153
+ array (
154
+ 0 => 'ConstellationT',
155
+ 1 => 'ConstellationQuest',
156
+ ),
157
+ '@E-' =>
158
+ array (
159
+ 0 => 'E-90-1',
160
+ ),
161
+ '@E5' =>
162
+ array (
163
+ 0 => 'E5-00!',
164
+ 1 => 'E50(-[1-9])?$!',
165
+ 2 => 'E51(-[1-9])?$!',
166
+ 3 => 'E52(-[1-9])?$!',
167
+ 4 => 'E55(-[1-9])?$!',
168
+ ),
169
+ '@E6' =>
170
+ array (
171
+ 0 => 'E6',
172
+ 1 => 'E6-00',
173
+ 2 => 'E60(-[1-9])?$!',
174
+ 3 => 'E61i!',
175
+ 4 => 'E61(-[1-9])?$!',
176
+ 5 => 'E62(-[1-9])?$!',
177
+ 6 => 'E63(-[1-9])?$!',
178
+ 7 => 'E65(-[1-9])?$!',
179
+ 8 => 'E66(-[1-9])?$!',
180
+ ),
181
+ '@E7' =>
182
+ array (
183
+ 0 => 'E7-00',
184
+ 1 => 'E70(-[1-9])?$!',
185
+ 2 => 'E71x',
186
+ 3 => 'E71(-[1-9])?$!',
187
+ 4 => 'E72(-[1-9])?$!',
188
+ 5 => 'E73(-[1-9])?$!',
189
+ 6 => 'E75(-[1-9])?$!',
190
+ ),
191
+ '@E9' =>
192
+ array (
193
+ 0 => 'E90(-[1-9])?$!',
194
+ ),
195
+ '@G7' =>
196
+ array (
197
+ 0 => 'G700',
198
+ ),
199
+ '@G9' =>
200
+ array (
201
+ 0 => 'G900',
202
+ ),
203
+ '@I7' =>
204
+ array (
205
+ 0 => 'I7710',
206
+ ),
207
+ '@I8' =>
208
+ array (
209
+ 0 => 'I8510',
210
+ 1 => 'I8910',
211
+ ),
212
+ '@LG' =>
213
+ array (
214
+ 0 => 'LG KS10',
215
+ 1 => 'LGKT610',
216
+ 2 => 'LGKT615',
217
+ ),
218
+ '@M1' =>
219
+ array (
220
+ 0 => 'M1000',
221
+ ),
222
+ '@M6' =>
223
+ array (
224
+ 0 => 'M600i',
225
+ ),
226
+ '@N-' =>
227
+ array (
228
+ 0 => 'N-Gage',
229
+ 1 => 'N-GageQD',
230
+ ),
231
+ '@N5' =>
232
+ array (
233
+ 0 => 'N5233!',
234
+ ),
235
+ '@N7' =>
236
+ array (
237
+ 0 => 'N70(-[1-9])?$!',
238
+ 1 => 'N71(-[1-9])?$!',
239
+ 2 => 'N72(-[1-9])?$!',
240
+ 3 => 'N73(-[1-9])?$!',
241
+ 4 => 'N75(-[1-9])?$!',
242
+ 5 => 'N76(-[1-9])?$!',
243
+ 6 => 'N77(-[1-9])?$!',
244
+ 7 => 'N78(-[1-9])?$!',
245
+ 8 => 'N79(-[1-9])?$!',
246
+ ),
247
+ '@N8' =>
248
+ array (
249
+ 0 => 'N8-00',
250
+ 1 => 'N80(-[1-9])?$!',
251
+ 2 => 'N81(-[1-9])?$!',
252
+ 3 => 'N82(-[1-9])?$!',
253
+ 4 => 'N85(-[1-9])?$!',
254
+ 5 => 'N86(-[1-9])?$!',
255
+ 6 => 'N86 ?8MP$!',
256
+ ),
257
+ '@N9' =>
258
+ array (
259
+ 0 => 'N90(-[1-9])?$!',
260
+ 1 => 'N91(-[1-9])?$!',
261
+ 2 => 'N92(-[1-9])?$!',
262
+ 3 => 'N93(-[1-9])?$!',
263
+ 4 => 'N93i',
264
+ 5 => 'N95(-[1-9])?$!',
265
+ 6 => 'N95[ -]8GB(-[1-9])?!',
266
+ 7 => 'N96(-[1-9])?$!',
267
+ 8 => 'N97(-[1-3])?$!',
268
+ 9 => 'N97i',
269
+ 10 => 'N97(-[4-5])?$!',
270
+ 11 => 'N97 ?mini!',
271
+ ),
272
+ '@NO' =>
273
+ array (
274
+ 0 => 'Nokia N81',
275
+ 1 => 'Nokia N81 8GB',
276
+ ),
277
+ '@OR' =>
278
+ array (
279
+ 0 => 'Oro',
280
+ ),
281
+ '@P1' =>
282
+ array (
283
+ 0 => 'P1i',
284
+ ),
285
+ '@P9' =>
286
+ array (
287
+ 0 => 'P910i',
288
+ 1 => 'P990i',
289
+ ),
290
+ '@PA' =>
291
+ array (
292
+ 0 => 'Panasonic-X700',
293
+ 1 => 'Panasonic-X800',
294
+ ),
295
+ '@RI' =>
296
+ array (
297
+ 0 => 'RIZR-Z8',
298
+ 1 => 'RIZR-Z10',
299
+ ),
300
+ '@SG' =>
301
+ array (
302
+ 0 => 'SGH-D720',
303
+ 1 => 'SGH-D728',
304
+ 2 => 'SGH-D730',
305
+ 3 => 'SGH-i400!',
306
+ 4 => 'SGH-i408!',
307
+ 5 => 'SGH-i450!',
308
+ 6 => 'SGH-i455!',
309
+ 7 => 'SGH-i458!',
310
+ 8 => 'SGH-i520!',
311
+ 9 => 'SGH-i550!',
312
+ 10 => 'SGH-i560!',
313
+ 11 => 'SGH-i568!',
314
+ 12 => 'SGH-i570!',
315
+ 13 => 'SGH-G810',
316
+ ),
317
+ '@T7' =>
318
+ array (
319
+ 0 => 'T7-00',
320
+ ),
321
+ '@U' =>
322
+ array (
323
+ 0 => 'U',
324
+ ),
325
+ '@W9' =>
326
+ array (
327
+ 0 => 'W950i',
328
+ 1 => 'W960i',
329
+ ),
330
+ '@X5' =>
331
+ array (
332
+ 0 => 'X5-00',
333
+ 1 => 'X5-01',
334
+ ),
335
+ '@X6' =>
336
+ array (
337
+ 0 => 'X6-00!',
338
+ ),
339
+ '@X7' =>
340
+ array (
341
+ 0 => 'X7-00!',
342
+ ),
343
+ );
integration/whichbrowser/data/indices/models-tizen.php ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$TIZEN_INDEX = array (
6
+ '@AR' =>
7
+ array (
8
+ 0 => '(ARMV7 )?SM-Z9005!',
9
+ ),
10
+ '@BA' =>
11
+ array (
12
+ 0 => 'Baltic',
13
+ ),
14
+ '@EM' =>
15
+ array (
16
+ 0 => 'Emulator',
17
+ ),
18
+ '@FA' =>
19
+ array (
20
+ 0 => 'FamilyHub',
21
+ ),
22
+ '@GT' =>
23
+ array (
24
+ 0 => 'GT-I8800!',
25
+ 1 => 'GT-I8805!',
26
+ 2 => 'GT-I9500!',
27
+ ),
28
+ '@HA' =>
29
+ array (
30
+ 0 => 'hawkp',
31
+ ),
32
+ '@KI' =>
33
+ array (
34
+ 0 => 'KIRAN',
35
+ ),
36
+ '@MO' =>
37
+ array (
38
+ 0 => 'Mobile-RD-PQ',
39
+ 1 => 'Mobile-Emulator',
40
+ ),
41
+ '@NX' =>
42
+ array (
43
+ 0 => 'NX300',
44
+ ),
45
+ '@SC' =>
46
+ array (
47
+ 0 => 'SC-03F',
48
+ ),
49
+ '@SD' =>
50
+ array (
51
+ 0 => 'sdk',
52
+ ),
53
+ '@SE' =>
54
+ array (
55
+ 0 => 'SEC SC-001',
56
+ 1 => 'SEC SC-03F',
57
+ ),
58
+ '@SG' =>
59
+ array (
60
+ 0 => 'SGH-N099',
61
+ ),
62
+ '@SM' =>
63
+ array (
64
+ 0 => 'SM-HIGGS',
65
+ 1 => '(ARMV7 )?SM-Z9005!',
66
+ 2 => 'SM-Z130!',
67
+ 3 => 'SM-Z300!',
68
+ 4 => 'SM-Z500!',
69
+ 5 => 'SM-Z700!',
70
+ 6 => 'SM-Z900!',
71
+ 7 => 'SM-Z910!',
72
+ 8 => 'SM-R750!',
73
+ ),
74
+ '@TI' =>
75
+ array (
76
+ 0 => 'TIZEN SM-Z130!',
77
+ 1 => 'TIZEN SM-Z300!',
78
+ 2 => 'TIZEN Emulator',
79
+ ),
80
+ '@TM' =>
81
+ array (
82
+ 0 => 'TM1',
83
+ ),
84
+ '@XU' =>
85
+ array (
86
+ 0 => 'xu3',
87
+ ),
88
+ '@Z3' =>
89
+ array (
90
+ 0 => 'Z3 Z910F',
91
+ ),
92
+ );
integration/whichbrowser/data/indices/models-touchwiz.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$TOUCHWIZ_INDEX = array (
6
+ '@GT' =>
7
+ array (
8
+ 0 => 'GT-B5310!',
9
+ 1 => 'GT-B3410',
10
+ 2 => 'GT-B7722',
11
+ 3 => 'GT-C3262',
12
+ 4 => 'GT-C33(00|03)!',
13
+ 5 => 'GT-C3312R',
14
+ 6 => 'GT-C3312!',
15
+ 7 => 'GT-C3330',
16
+ 8 => 'GT-C6712',
17
+ 9 => 'GT-E2652!',
18
+ 10 => 'GT-I6230!',
19
+ 11 => 'GT-I6712!',
20
+ 12 => 'GT-M3710',
21
+ 13 => 'GT-M5650',
22
+ 14 => 'GT-S3370!',
23
+ 15 => 'GT-S36(50|53)!',
24
+ 16 => 'GT-S3770!',
25
+ 17 => 'GT-S38(00|02)!',
26
+ 18 => 'GT-S3850',
27
+ 19 => 'GT-S5220',
28
+ 20 => 'GT-S5222R',
29
+ 21 => 'GT-S5222',
30
+ 22 => 'GT-S52(30|33)!',
31
+ 23 => 'GT-S5260P',
32
+ 24 => 'GT-S52(60|63)!',
33
+ 25 => 'GT-S5292R',
34
+ 26 => 'GT-S5292',
35
+ 27 => 'GT-S5560!',
36
+ 28 => 'GT-S5600',
37
+ 29 => 'GT-S5603',
38
+ 30 => 'GT-S5620!',
39
+ 31 => 'GT-S5680',
40
+ 32 => 'GT-S7550',
41
+ 33 => 'GT-S8000c',
42
+ 34 => 'GT-S8003',
43
+ ),
44
+ '@S8' =>
45
+ array (
46
+ 0 => 'S80(00|03)!',
47
+ ),
48
+ '@SG' =>
49
+ array (
50
+ 0 => 'SGH-A597',
51
+ 1 => 'SGH-F480',
52
+ 2 => 'SGH-F480I',
53
+ 3 => 'SGH-T528g',
54
+ ),
55
+ );
integration/whichbrowser/data/indices/models-wm.php ADDED
@@ -0,0 +1,534 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$WM_INDEX = array (
6
+ '@' =>
7
+ array (
8
+ 0 => '.*T5555!',
9
+ 1 => '.*T8585!',
10
+ 2 => '.*S521!',
11
+ 3 => '.*T33(20|33|35)!',
12
+ 4 => '.*T5353!',
13
+ 5 => '.*P3700!',
14
+ 6 => '.*T82(82|83)!',
15
+ 7 => '.*T73(73|80)!',
16
+ 8 => '.*T7272!',
17
+ 9 => '.*T2223!',
18
+ ),
19
+ '@-G' =>
20
+ array (
21
+ 0 => '-GalaxyII',
22
+ 1 => '-GalaxyMini',
23
+ ),
24
+ '@-P' =>
25
+ array (
26
+ 0 => '-P525!',
27
+ 1 => '-P526!',
28
+ 2 => '-P527!',
29
+ 3 => '-P552w!',
30
+ 4 => '-P552!',
31
+ 5 => '-P565!',
32
+ 6 => '-P735!',
33
+ ),
34
+ '@12' =>
35
+ array (
36
+ 0 => 1210,
37
+ ),
38
+ '@A3' =>
39
+ array (
40
+ 0 => 'A3100',
41
+ 1 => 'A3300c',
42
+ ),
43
+ '@A4' =>
44
+ array (
45
+ 0 => 'A4500!',
46
+ ),
47
+ '@AL' =>
48
+ array (
49
+ 0 => 'Alltel HTC PPC6800',
50
+ 1 => 'Alltel HTC Touch',
51
+ 2 => 'Alltel HTC Touch Diamond',
52
+ ),
53
+ '@AM' =>
54
+ array (
55
+ 0 => 'Ameo!',
56
+ ),
57
+ '@BI' =>
58
+ array (
59
+ 0 => 'Bird T900',
60
+ ),
61
+ '@C6' =>
62
+ array (
63
+ 0 => 'C6625',
64
+ ),
65
+ '@CH' =>
66
+ array (
67
+ 0 => 'CHT 9100!',
68
+ ),
69
+ '@CO' =>
70
+ array (
71
+ 0 => 'Coolpad F800',
72
+ ),
73
+ '@DA' =>
74
+ array (
75
+ 0 => 'Datalogic Memor',
76
+ ),
77
+ '@DO' =>
78
+ array (
79
+ 0 => 'Dopod838Pro',
80
+ 1 => 'DopodD810',
81
+ 2 => 'dopod-S900c',
82
+ 3 => 'dopodT5588',
83
+ 4 => 'dopodT8388',
84
+ 5 => 'dopodT8588',
85
+ ),
86
+ '@DX' =>
87
+ array (
88
+ 0 => 'DX900',
89
+ ),
90
+ '@E1' =>
91
+ array (
92
+ 0 => 'E100',
93
+ ),
94
+ '@ES' =>
95
+ array (
96
+ 0 => 'ES405B!',
97
+ ),
98
+ '@F9' =>
99
+ array (
100
+ 0 => 'F900',
101
+ ),
102
+ '@GA' =>
103
+ array (
104
+ 0 => 'garmin-asus-Nuvifone-M10',
105
+ ),
106
+ '@GI' =>
107
+ array (
108
+ 0 => 'GIGABYTE-MS800',
109
+ ),
110
+ '@GM' =>
111
+ array (
112
+ 0 => 'GM730',
113
+ 1 => 'GM750Q',
114
+ ),
115
+ '@GT' =>
116
+ array (
117
+ 0 => 'GT-B5722',
118
+ 1 => 'GT-B6520',
119
+ 2 => 'GT-B7300',
120
+ 3 => 'GT-B7320!',
121
+ 4 => 'GT-B7330!',
122
+ 5 => 'GT-B7350',
123
+ 6 => 'GT-B7610',
124
+ 7 => 'GT-C6625',
125
+ 8 => 'GT-I8000!',
126
+ ),
127
+ '@GW' =>
128
+ array (
129
+ 0 => 'GW550',
130
+ 1 => 'GW825',
131
+ ),
132
+ '@H-' =>
133
+ array (
134
+ 0 => 'H-21',
135
+ ),
136
+ '@HD' =>
137
+ array (
138
+ 0 => '(HTC )?HD mini!',
139
+ 1 => '(HTC )?HD2!',
140
+ ),
141
+ '@HP' =>
142
+ array (
143
+ 0 => 'HP iPAQ 510',
144
+ 1 => 'HPiPAQ510!',
145
+ 2 => 'HPiPAQ610',
146
+ 3 => 'HPiPAQ910!',
147
+ 4 => 'HP iPAQ h6300',
148
+ 5 => 'HP iPAQ hw6500!',
149
+ 6 => 'HPiPAQhw6900!',
150
+ 7 => 'HPiPAQrw6800!',
151
+ 8 => 'HPiPAQrw6815!',
152
+ 9 => 'HPiPAQDataMessenger!',
153
+ 10 => 'HPiPAQVoiceMessenger!',
154
+ 11 => 'HPiPAQGlisten',
155
+ 12 => 'HP KB1',
156
+ ),
157
+ '@HT' =>
158
+ array (
159
+ 0 => 'HTC8500',
160
+ 1 => 'HTC P3300',
161
+ 2 => 'HTC love',
162
+ 3 => 'HTC P3350',
163
+ 4 => 'HTC P3400!',
164
+ 5 => 'HTC P3450!',
165
+ 6 => 'HTC HERALD',
166
+ 7 => 'HTC P6300',
167
+ 8 => 'HTC P6500',
168
+ 9 => 'HTC X7500',
169
+ 10 => 'HTC X7510',
170
+ 11 => '(HTC )?HD mini!',
171
+ 12 => '(HTC )?HD2!',
172
+ 13 => 'HTC T8290',
173
+ 14 => 'HTC MAX 4G',
174
+ 15 => 'HTC MTeoR',
175
+ 16 => 'HTC Prophet',
176
+ 17 => 'HTC Snap!',
177
+ 18 => 'HTC Maple S520',
178
+ 19 => 'HTC S620!',
179
+ 20 => 'HTC Excalibur',
180
+ 21 => 'HTC S630',
181
+ 22 => 'HTC S710',
182
+ 23 => 'HTC S730',
183
+ 24 => 'HTC S740',
184
+ 25 => 'HTC Touch',
185
+ 26 => 'HTC Elf',
186
+ 27 => 'HTC 6900',
187
+ 28 => 'HTC6900',
188
+ 29 => 'HTC6900-MR1',
189
+ 30 => 'HTC TouchDual',
190
+ 31 => 'HTC Touch 3G!',
191
+ 32 => 'HTC Jade',
192
+ 33 => 'HTC Mega!',
193
+ 34 => 'HTC Touch2!',
194
+ 35 => 'HTC Touch Cruise!',
195
+ 36 => 'HTC P3650',
196
+ 37 => 'HTC P3651',
197
+ 38 => 'HTC Polaris',
198
+ 39 => 'HTC Touch Diamond2!',
199
+ 40 => 'HTC Touch Diamond!',
200
+ 41 => 'HTC Diamond',
201
+ 42 => 'HTC P3701',
202
+ 43 => 'HTC P5500',
203
+ 44 => 'HTC P5310!',
204
+ 45 => 'HTC Touch HD2!',
205
+ 46 => 'HTC Touch HD!',
206
+ 47 => 'HTC Touch Pro2!',
207
+ 48 => 'HTC Touch Pro!',
208
+ 49 => 'HTC P4600',
209
+ 50 => 'HTC Raphael',
210
+ 51 => 'HTC Touch Viva!',
211
+ 52 => 'HTC Trinity',
212
+ 53 => 'HTC P3600',
213
+ 54 => 'HTC P3600i',
214
+ 55 => 'HTC v3600',
215
+ 56 => 'HTC TyTN II',
216
+ 57 => 'HTC Kaiser',
217
+ 58 => 'HTC TyTN!',
218
+ 59 => 'HTC Mercury',
219
+ 60 => 'HTC wizard',
220
+ 61 => 'HTCPPC6850!',
221
+ 62 => 'HTC VDA V',
222
+ 63 => 'HTC v1510',
223
+ 64 => 'HTC VPACompactIV',
224
+ 65 => 'HT01A',
225
+ ),
226
+ '@I-' =>
227
+ array (
228
+ 0 => 'i-mate JAMA',
229
+ 1 => 'i-mate JAMAQ',
230
+ 2 => 'i-mate JAMin',
231
+ 3 => 'i-mate JASJAM',
232
+ 4 => 'i-mate JAQ',
233
+ 5 => 'i-mate JAQ3',
234
+ 6 => 'i-mate K-JAM',
235
+ 7 => 'i-mate PDAL',
236
+ 8 => 'i-mate 6150',
237
+ 9 => 'i-mate 8150!',
238
+ 10 => 'i-mate 8502',
239
+ 11 => 'i-mate 9502!',
240
+ ),
241
+ '@K-' =>
242
+ array (
243
+ 0 => 'K-Touch W366!',
244
+ ),
245
+ '@KD' =>
246
+ array (
247
+ 0 => 'KDDI-HT01',
248
+ ),
249
+ '@KY' =>
250
+ array (
251
+ 0 => 'Kyocera-E4000',
252
+ ),
253
+ '@LE' =>
254
+ array (
255
+ 0 => 'Lenovo ET860',
256
+ 1 => 'LENOVO-ET980',
257
+ ),
258
+ '@LG' =>
259
+ array (
260
+ 0 => 'LG-GM730!',
261
+ 1 => 'LG-GM750!',
262
+ 2 => 'LG-GW550!',
263
+ 3 => 'LG-KS20',
264
+ 4 => 'LG-MS25',
265
+ 5 => 'LGE VS750',
266
+ ),
267
+ '@M1' =>
268
+ array (
269
+ 0 => 'M1i',
270
+ ),
271
+ '@M5' =>
272
+ array (
273
+ 0 => 'M530w!',
274
+ ),
275
+ '@M9' =>
276
+ array (
277
+ 0 => 'M930!',
278
+ ),
279
+ '@MC' =>
280
+ array (
281
+ 0 => 'MC45!',
282
+ 1 => 'MC659B!',
283
+ ),
284
+ '@MD' =>
285
+ array (
286
+ 0 => 'MDA III!',
287
+ 1 => 'MDA compact II!',
288
+ 2 => 'MDA compact!',
289
+ 3 => 'MDA Pro!',
290
+ 4 => 'MDA Touch!',
291
+ 5 => 'MDA Vario!',
292
+ ),
293
+ '@NU' =>
294
+ array (
295
+ 0 => 'Nuvifone-M10',
296
+ 1 => 'Nuvifone-M20',
297
+ ),
298
+ '@O2' =>
299
+ array (
300
+ 0 => 'o2 Xda comet',
301
+ 1 => 'O2 Xda 2mini',
302
+ 2 => 'O2 Xda 2s',
303
+ ),
304
+ '@P3' =>
305
+ array (
306
+ 0 => 'P3470!',
307
+ 1 => 'P3450',
308
+ 2 => 'P3650',
309
+ 3 => 'P3650t',
310
+ 4 => 'P3600!',
311
+ ),
312
+ '@P4' =>
313
+ array (
314
+ 0 => 'P400',
315
+ 1 => 'P4350!',
316
+ 2 => 'P4550',
317
+ ),
318
+ '@P5' =>
319
+ array (
320
+ 0 => 'P550',
321
+ ),
322
+ '@P7' =>
323
+ array (
324
+ 0 => 'P750',
325
+ ),
326
+ '@PA' =>
327
+ array (
328
+ 0 => 'Palm500!',
329
+ 1 => 'Palm750',
330
+ 2 => 'Palm850!',
331
+ 3 => 'Palm Treo850e',
332
+ 4 => 'PANTECH-C810',
333
+ ),
334
+ '@PP' =>
335
+ array (
336
+ 0 => 'PPC6850!',
337
+ ),
338
+ '@Q-' =>
339
+ array (
340
+ 0 => 'Q-UMTS',
341
+ ),
342
+ '@Q8' =>
343
+ array (
344
+ 0 => 'Q8',
345
+ ),
346
+ '@Q9' =>
347
+ array (
348
+ 0 => 'Q9',
349
+ 1 => 'Q9c!',
350
+ 2 => 'Q9m!',
351
+ ),
352
+ '@S0' =>
353
+ array (
354
+ 0 => 'S01SH',
355
+ 1 => 'S01SH2',
356
+ ),
357
+ '@S1' =>
358
+ array (
359
+ 0 => 'S11HT',
360
+ 1 => 'S12HT',
361
+ ),
362
+ '@S2' =>
363
+ array (
364
+ 0 => 'S200',
365
+ 1 => 'S21HT',
366
+ 2 => 'S22HT',
367
+ ),
368
+ '@SC' =>
369
+ array (
370
+ 0 => 'SCH-M490',
371
+ 1 => 'SCH-M710',
372
+ 2 => 'SCH-M715',
373
+ 3 => 'SCH-i220!',
374
+ 4 => 'SCH-i225!',
375
+ 5 => 'SCH-i760!',
376
+ 6 => 'SCH-i770!',
377
+ 7 => 'SCHI910!',
378
+ 8 => 'SCH-i920',
379
+ 9 => 'SC-01B',
380
+ ),
381
+ '@SF' =>
382
+ array (
383
+ 0 => 'SFR v3650!',
384
+ ),
385
+ '@SG' =>
386
+ array (
387
+ 0 => 'SGH-i600!',
388
+ 1 => 'SGH-i601!',
389
+ 2 => 'SGH-I607',
390
+ 3 => 'SGH-i608!',
391
+ 4 => 'SGH-I617',
392
+ 5 => 'SGH-I637',
393
+ 6 => 'SGH-i640!',
394
+ 7 => 'SGH-i718',
395
+ 8 => 'SGH-i718plus',
396
+ 9 => 'SGH-i728',
397
+ 10 => 'SGH-i780!',
398
+ 11 => 'SGH-i900!',
399
+ 12 => 'SGH-i908E',
400
+ ),
401
+ '@SI' =>
402
+ array (
403
+ 0 => 'SIE-SX66',
404
+ 1 => 'sigmarion3',
405
+ ),
406
+ '@SP' =>
407
+ array (
408
+ 0 => 'Sprint:MotoQ9c',
409
+ 1 => 'Sprint Treo850e',
410
+ 2 => 'SPH-M7200',
411
+ 3 => 'SPH-M7350',
412
+ 4 => 'SPH-M8400',
413
+ 5 => 'SPHI325!',
414
+ 6 => 'Spice D1100',
415
+ 7 => 'SPV E600',
416
+ 8 => 'SPV E650',
417
+ 9 => 'SPV M700',
418
+ 10 => 'SPV M2000',
419
+ 11 => 'SPV M3100',
420
+ 12 => 'Sprint S511',
421
+ 13 => 'Sprint:SPH-ip830w',
422
+ 14 => 'Sprint:PPC6600-1',
423
+ 15 => 'Sprint:PPC-6700',
424
+ 16 => 'Sprint:PPC6800',
425
+ 17 => 'Sprint PPC6850SP',
426
+ 18 => 'Sprint MP6850SP',
427
+ 19 => 'Sprint MP6900SP',
428
+ 20 => 'Sprint MP6950SP',
429
+ ),
430
+ '@T-' =>
431
+ array (
432
+ 0 => 'T-Mobile Atlas',
433
+ 1 => 'T-Mobile Dash',
434
+ 2 => 'T-Mobile LEO',
435
+ 3 => 'T-Mobile Cleopatra',
436
+ 4 => 'T-01A!',
437
+ 5 => 'T-01B!',
438
+ ),
439
+ '@T5' =>
440
+ array (
441
+ 0 => 'T5388',
442
+ ),
443
+ '@T9' =>
444
+ array (
445
+ 0 => 'T9188',
446
+ 1 => 'T9199',
447
+ ),
448
+ '@TG' =>
449
+ array (
450
+ 0 => '(Toshiba[- ])?TG01!',
451
+ ),
452
+ '@TO' =>
453
+ array (
454
+ 0 => '(Toshiba[- ])?TG01!',
455
+ ),
456
+ '@TR' =>
457
+ array (
458
+ 0 => 'Treo800w',
459
+ ),
460
+ '@V1' =>
461
+ array (
462
+ 0 => 'v1415',
463
+ 1 => 'v1240',
464
+ 2 => 'v1210',
465
+ 3 => 'v1640',
466
+ ),
467
+ '@VE' =>
468
+ array (
469
+ 0 => 'Velocity',
470
+ ),
471
+ '@VI' =>
472
+ array (
473
+ 0 => 'VIP12!',
474
+ ),
475
+ '@VP' =>
476
+ array (
477
+ 0 => 'VPA Touch',
478
+ ),
479
+ '@W3' =>
480
+ array (
481
+ 0 => 'W366',
482
+ ),
483
+ '@WS' =>
484
+ array (
485
+ 0 => 'WS003SH',
486
+ 1 => 'WS004SH',
487
+ 2 => 'WS007SH',
488
+ 3 => 'WS011SH',
489
+ 4 => 'WS020SH',
490
+ 5 => 'WS027SH',
491
+ ),
492
+ '@X0' =>
493
+ array (
494
+ 0 => 'X01T',
495
+ 1 => 'X02T!',
496
+ 2 => 'X01HT',
497
+ 3 => 'X02HT',
498
+ 4 => 'X03HT',
499
+ 5 => 'X04HT',
500
+ 6 => 'X05HT',
501
+ 7 => 'X01SC',
502
+ ),
503
+ '@X1' =>
504
+ array (
505
+ 0 => 'X1',
506
+ 1 => 'X1[ia]!',
507
+ ),
508
+ '@X2' =>
509
+ array (
510
+ 0 => 'X2',
511
+ 1 => 'X2[ia]!',
512
+ ),
513
+ '@XD' =>
514
+ array (
515
+ 0 => 'Xda diamond',
516
+ 1 => 'Xda neo',
517
+ 2 => 'Xda nova',
518
+ 3 => 'Xda orbit',
519
+ 4 => 'Xda terra',
520
+ 5 => 'Xda trion',
521
+ ),
522
+ '@XV' =>
523
+ array (
524
+ 0 => 'XV6175!',
525
+ 1 => 'XV6875!',
526
+ 2 => 'XV6900',
527
+ 3 => 'XV6975',
528
+ ),
529
+ '@ZT' =>
530
+ array (
531
+ 0 => 'ZTE E N72',
532
+ 1 => 'ZTE E X70',
533
+ ),
534
+ );
integration/whichbrowser/data/indices/models-wp.php ADDED
@@ -0,0 +1,511 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ DeviceModels::$WP_INDEX = array (
6
+ '@' =>
7
+ array (
8
+ 0 => '(HD7|.*T92(92|95|96))!',
9
+ 1 => '((7 )?Mozart|.*T86(97|98))!',
10
+ 2 => '(7 Pro|.*T75(75|76))!',
11
+ 3 => '.*T8788!',
12
+ 4 => '((7 )?Trophy|.*T8686)!',
13
+ 5 => '(Radar|.*C110e)!',
14
+ 6 => '.*X310e!',
15
+ 7 => '(Lumia ?|Nokia ?)?[0-9]{3,4}!!',
16
+ ),
17
+ '@- ' =>
18
+ array (
19
+ 0 => '- BUSH Windows Phone',
20
+ 1 => '- Lazer SMART WIND',
21
+ ),
22
+ '@0P' =>
23
+ array (
24
+ 0 => '0P6B140',
25
+ 1 => '0P6B180',
26
+ ),
27
+ '@40' =>
28
+ array (
29
+ 0 => '40 Cesium',
30
+ ),
31
+ '@47' =>
32
+ array (
33
+ 0 => 47,
34
+ ),
35
+ '@4A' =>
36
+ array (
37
+ 0 => '4Afrika',
38
+ ),
39
+ '@69' =>
40
+ array (
41
+ 0 => '6990LVW',
42
+ ),
43
+ '@7 ' =>
44
+ array (
45
+ 0 => '((7 )?Mozart|.*T86(97|98))!',
46
+ 1 => '7 HTC MOZART',
47
+ 2 => '(7 Pro|.*T75(75|76))!',
48
+ 3 => '7 Surround',
49
+ 4 => '((7 )?Trophy|.*T8686)!',
50
+ ),
51
+ '@75' =>
52
+ array (
53
+ 0 => '75eL0N',
54
+ ),
55
+ '@8S' =>
56
+ array (
57
+ 0 => '8S',
58
+ 1 => '8S by HTC',
59
+ ),
60
+ '@8X' =>
61
+ array (
62
+ 0 => '8X',
63
+ 1 => '8X by HTC',
64
+ ),
65
+ '@;H' =>
66
+ array (
67
+ 0 => ';HD2',
68
+ ),
69
+ '@;P' =>
70
+ array (
71
+ 0 => ';PD67100',
72
+ ),
73
+ '@<M' =>
74
+ array (
75
+ 0 => '<model>!',
76
+ ),
77
+ '@A6' =>
78
+ array (
79
+ 0 => 'A620(b|d|e|m|t)!',
80
+ ),
81
+ '@AC' =>
82
+ array (
83
+ 0 => 'AC50CE',
84
+ 1 => 'ACD U',
85
+ 2 => 'Accord',
86
+ ),
87
+ '@AL' =>
88
+ array (
89
+ 0 => 'Allegro',
90
+ ),
91
+ '@AN' =>
92
+ array (
93
+ 0 => 'Andi4L',
94
+ 1 => 'Android!',
95
+ ),
96
+ '@AT' =>
97
+ array (
98
+ 0 => 'Ativ S',
99
+ 1 => 'ATIV S Neo',
100
+ ),
101
+ '@BI' =>
102
+ array (
103
+ 0 => 'Billy 4.7',
104
+ ),
105
+ '@BP' =>
106
+ array (
107
+ 0 => 'BP30.BM180',
108
+ ),
109
+ '@C6' =>
110
+ array (
111
+ 0 => 'C620(d|e|t)!',
112
+ 1 => 'C625(a|b)!',
113
+ ),
114
+ '@CE' =>
115
+ array (
116
+ 0 => 'CETUS',
117
+ ),
118
+ '@DO' =>
119
+ array (
120
+ 0 => 'DolphinCT50',
121
+ ),
122
+ '@E2' =>
123
+ array (
124
+ 0 => 'E260T+',
125
+ ),
126
+ '@E6' =>
127
+ array (
128
+ 0 => 'E600',
129
+ ),
130
+ '@ET' =>
131
+ array (
132
+ 0 => 'Eternity',
133
+ ),
134
+ '@FI' =>
135
+ array (
136
+ 0 => 'FierceXL',
137
+ ),
138
+ '@FO' =>
139
+ array (
140
+ 0 => 'Focus i917!',
141
+ 1 => 'FOCUS S',
142
+ ),
143
+ '@FT' =>
144
+ array (
145
+ 0 => 'FTJ152E',
146
+ 1 => 'FTJ152F',
147
+ ),
148
+ '@FZ' =>
149
+ array (
150
+ 0 => 'FZ-E1',
151
+ ),
152
+ '@GA' =>
153
+ array (
154
+ 0 => 'Galaxy6',
155
+ ),
156
+ '@GO' =>
157
+ array (
158
+ 0 => 'Gold',
159
+ ),
160
+ '@GT' =>
161
+ array (
162
+ 0 => 'GT-[IS][0-9]{4,4}!!',
163
+ ),
164
+ '@GW' =>
165
+ array (
166
+ 0 => 'GW910',
167
+ ),
168
+ '@H8' =>
169
+ array (
170
+ 0 => 'H883G',
171
+ ),
172
+ '@HA' =>
173
+ array (
174
+ 0 => 'Harley Davidson',
175
+ 1 => 'Harley-Davidson',
176
+ 2 => 'Haden',
177
+ ),
178
+ '@HD' =>
179
+ array (
180
+ 0 => 'HD2',
181
+ 1 => 'HD2(Leo',
182
+ 2 => 'HD2 LEO',
183
+ 3 => '(HD7|.*T92(92|95|96))!',
184
+ ),
185
+ '@HE' =>
186
+ array (
187
+ 0 => 'HELSINKI',
188
+ ),
189
+ '@HT' =>
190
+ array (
191
+ 0 => 'HTC HD2',
192
+ 1 => 'HTC Mozart',
193
+ 2 => 'htc mpw6958',
194
+ 3 => 'htcmpw6958',
195
+ 4 => 'HTC 7 Trophy',
196
+ 5 => 'HTC Trophy',
197
+ 6 => 'HTC6690LVW',
198
+ 7 => 'HTC6990LVW',
199
+ 8 => 'HTC6990LVW 4G',
200
+ 9 => 'htc 8x',
201
+ 10 => 'HTCPO881',
202
+ 11 => 'HTC6995LVW',
203
+ ),
204
+ '@HU' =>
205
+ array (
206
+ 0 => 'HUAWEI Ascend W1!',
207
+ 1 => 'HUAWEI ?W1-(C00|U00|U34)!',
208
+ 2 => 'HUAWEI ?W2-(T00|T01|U00|U051)!',
209
+ ),
210
+ '@I9' =>
211
+ array (
212
+ 0 => 'I917',
213
+ ),
214
+ '@ID' =>
215
+ array (
216
+ 0 => 'id[0-9]{3,3}!!',
217
+ ),
218
+ '@IM' =>
219
+ array (
220
+ 0 => 'Impera I',
221
+ 1 => 'Impera M',
222
+ 2 => 'Impera S',
223
+ ),
224
+ '@IN' =>
225
+ array (
226
+ 0 => 'InfoPath!',
227
+ ),
228
+ '@IQ' =>
229
+ array (
230
+ 0 => 'IQ400W',
231
+ ),
232
+ '@IR' =>
233
+ array (
234
+ 0 => 'iris Win 1',
235
+ ),
236
+ '@IS' =>
237
+ array (
238
+ 0 => 'IS12T',
239
+ ),
240
+ '@IX' =>
241
+ array (
242
+ 0 => 'Ixion W 5',
243
+ ),
244
+ '@LE' =>
245
+ array (
246
+ 0 => 'LEO',
247
+ ),
248
+ '@LG' =>
249
+ array (
250
+ 0 => 'LG-E740!',
251
+ 1 => 'LG-E-?900!',
252
+ 2 => 'LG-E906',
253
+ 3 => 'LG-C900!',
254
+ ),
255
+ '@LI' =>
256
+ array (
257
+ 0 => 'Linux!',
258
+ ),
259
+ '@LU' =>
260
+ array (
261
+ 0 => '(Lumia ?|Nokia ?)?[0-9]{3,4}!!',
262
+ ),
263
+ '@M2' =>
264
+ array (
265
+ 0 => 'M220',
266
+ ),
267
+ '@M3' =>
268
+ array (
269
+ 0 => 'M310',
270
+ ),
271
+ '@M5' =>
272
+ array (
273
+ 0 => 'M5w',
274
+ ),
275
+ '@MA' =>
276
+ array (
277
+ 0 => 'Mazaa',
278
+ ),
279
+ '@ME' =>
280
+ array (
281
+ 0 => 'MegaFon SP-W1',
282
+ ),
283
+ '@MI' =>
284
+ array (
285
+ 0 => 'MICROMAX-W121',
286
+ 1 => 'MI4',
287
+ 2 => 'Microsoft!',
288
+ ),
289
+ '@MO' =>
290
+ array (
291
+ 0 => 'MOBILE Alpha Luxe',
292
+ 1 => 'MOBILE Alpha Style',
293
+ 2 => 'Mondrian',
294
+ 3 => '((7 )?Mozart|.*T86(97|98))!',
295
+ 4 => 'MouseComputer MADOSMA Q501',
296
+ ),
297
+ '@MW' =>
298
+ array (
299
+ 0 => 'MWP6885',
300
+ 1 => 'mwp6985',
301
+ 2 => 'MWP-47!',
302
+ ),
303
+ '@N8' =>
304
+ array (
305
+ 0 => 'N880e!',
306
+ ),
307
+ '@NE' =>
308
+ array (
309
+ 0 => 'NEO',
310
+ ),
311
+ '@NO' =>
312
+ array (
313
+ 0 => '(Lumia ?|Nokia ?)?[0-9]{3,4}!!',
314
+ ),
315
+ '@OM' =>
316
+ array (
317
+ 0 => 'Omega',
318
+ 1 => 'OM(NI|IN)A ?7!',
319
+ 2 => 'Omnia W',
320
+ ),
321
+ '@ON' =>
322
+ array (
323
+ 0 => 'ONE TOUCH 5040X',
324
+ ),
325
+ '@PC' =>
326
+ array (
327
+ 0 => 'PC93100',
328
+ 1 => 'PC40100',
329
+ ),
330
+ '@PD' =>
331
+ array (
332
+ 0 => 'PD67100',
333
+ ),
334
+ '@PI' =>
335
+ array (
336
+ 0 => 'PI39100',
337
+ 1 => 'PI86100',
338
+ ),
339
+ '@PK' =>
340
+ array (
341
+ 0 => 'PKT-407',
342
+ ),
343
+ '@PM' =>
344
+ array (
345
+ 0 => 'PM23300',
346
+ ),
347
+ '@PR' =>
348
+ array (
349
+ 0 => 'PRESTIGIO-PSP8500DUO',
350
+ ),
351
+ '@PS' =>
352
+ array (
353
+ 0 => 'PSP8400DUO',
354
+ 1 => 'PSP8500DUO',
355
+ ),
356
+ '@QS' =>
357
+ array (
358
+ 0 => 'QSMART DREAM W473',
359
+ ),
360
+ '@QU' =>
361
+ array (
362
+ 0 => 'Quantum',
363
+ ),
364
+ '@RA' =>
365
+ array (
366
+ 0 => '(Radar|.*C110e)!',
367
+ ),
368
+ '@RI' =>
369
+ array (
370
+ 0 => 'RIO U',
371
+ ),
372
+ '@RM' =>
373
+ array (
374
+ 0 => 'RM-[0-9]{3,4}!!',
375
+ ),
376
+ '@S5' =>
377
+ array (
378
+ 0 => 'S58',
379
+ ),
380
+ '@S6' =>
381
+ array (
382
+ 0 => 'S606',
383
+ ),
384
+ '@SC' =>
385
+ array (
386
+ 0 => 'Schubert!',
387
+ 1 => 'SCH-R860U',
388
+ 2 => 'SCH-I930',
389
+ ),
390
+ '@SE' =>
391
+ array (
392
+ 0 => 'SeaRay',
393
+ ),
394
+ '@SG' =>
395
+ array (
396
+ 0 => 'SGH-[IT][0-9]{3,3}!!',
397
+ ),
398
+ '@SM' =>
399
+ array (
400
+ 0 => 'SM-W750V',
401
+ ),
402
+ '@SO' =>
403
+ array (
404
+ 0 => 'SOUL2',
405
+ ),
406
+ '@SP' =>
407
+ array (
408
+ 0 => 'Spark',
409
+ 1 => 'SPH-I800',
410
+ ),
411
+ '@SU' =>
412
+ array (
413
+ 0 => 'Surround',
414
+ 1 => 'Surface Phone',
415
+ ),
416
+ '@TA' =>
417
+ array (
418
+ 0 => 'Taylor',
419
+ 1 => 'Tania',
420
+ ),
421
+ '@TC' =>
422
+ array (
423
+ 0 => 'TC70',
424
+ ),
425
+ '@TG' =>
426
+ array (
427
+ 0 => 'TG01',
428
+ ),
429
+ '@TH' =>
430
+ array (
431
+ 0 => 'Thunder 450W',
432
+ ),
433
+ '@TI' =>
434
+ array (
435
+ 0 => 'Titan',
436
+ 1 => 'Titanium Wind W4',
437
+ ),
438
+ '@TO' =>
439
+ array (
440
+ 0 => 'Touch-IT HD7',
441
+ 1 => 'Touch-IT Trophy',
442
+ ),
443
+ '@TR' =>
444
+ array (
445
+ 0 => '((7 )?Trophy|.*T8686)!',
446
+ ),
447
+ '@TS' =>
448
+ array (
449
+ 0 => 'TSUNAGI',
450
+ ),
451
+ '@UL' =>
452
+ array (
453
+ 0 => 'Ultimate',
454
+ ),
455
+ '@US' =>
456
+ array (
457
+ 0 => 'USCCHTC-PC93100',
458
+ 1 => 'USCCN859',
459
+ ),
460
+ '@V9' =>
461
+ array (
462
+ 0 => 'V965W',
463
+ ),
464
+ '@VE' =>
465
+ array (
466
+ 0 => 'Venue Pro',
467
+ ),
468
+ '@VI' =>
469
+ array (
470
+ 0 => 'Virtual!',
471
+ ),
472
+ '@VW' =>
473
+ array (
474
+ 0 => 'VW820',
475
+ ),
476
+ '@W1' =>
477
+ array (
478
+ 0 => 'W10',
479
+ 1 => 'W1-(C00|U00|U34)!',
480
+ 2 => 'W121',
481
+ ),
482
+ '@W2' =>
483
+ array (
484
+ 0 => 'W2-(T00|T01|U00)!',
485
+ ),
486
+ '@WI' =>
487
+ array (
488
+ 0 => 'WIN HD LTE',
489
+ 1 => 'WIN HD W510l',
490
+ 2 => 'WIN HD W510u',
491
+ 3 => 'WIN JR LTE',
492
+ 4 => 'WIN JR W410a',
493
+ 5 => 'WIN JR W410i',
494
+ 6 => 'WIN JR W410u',
495
+ 7 => 'WIN 400',
496
+ 8 => 'WINJOY',
497
+ 9 => 'WinWin',
498
+ 10 => 'Windows Phone 8X by HTC!',
499
+ 11 => 'WindowsPhone8Xby',
500
+ 12 => 'Windows Phone 8S by HTC!',
501
+ 13 => 'WindowsPhone8Sby',
502
+ 14 => 'Win1',
503
+ 15 => 'Win-Q900S',
504
+ 16 => 'Win Q1000',
505
+ 17 => 'Windows!',
506
+ ),
507
+ '@XX' =>
508
+ array (
509
+ 0 => 'XXX!',
510
+ ),
511
+ );
integration/whichbrowser/data/manufacturer-names.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ Manufacturers::$GENERIC = [
6
+ 'LG Electronics' => 'LG',
7
+ 'LGE' => 'LG',
8
+ 'TOSHIBA' => 'Toshiba',
9
+ 'SAMSUNG' => 'Samsung',
10
+ 'SHARP' => 'Sharp',
11
+ 'SONY' => 'Sony',
12
+ ];
13
+
14
+ Manufacturers::$TELEVISION = [
15
+ 'ALDISUED' => 'Aldi',
16
+ 'BANGOLUFSEN' => 'Bang & Olufsen',
17
+ 'CHANGHONG' => 'Changhong',
18
+ 'changhong' => 'Changhong',
19
+ 'FINLUX' => 'Finlux',
20
+ 'HHW HAIER' => 'Haier',
21
+ 'HITACHI' => 'Hitachi',
22
+ 'HYUNDAI' => 'Hyundai',
23
+ 'inverto' => 'Inverto',
24
+ 'LOEWE' => 'Loewe',
25
+ 'MEDION' => 'Medion',
26
+ 'Nagra OpenTV' => 'NAGRA',
27
+ 'PANASONIC' => 'Panasonic',
28
+ 'Sagemcom_Broadband_SAS' => 'Sagemcom',
29
+ 'SERAPHIC' => 'Seraphic',
30
+ 'selevision' => 'Selevision',
31
+ 'smart' => 'Smart',
32
+ 'Sky_worth' => 'Skyworth',
33
+ 'TechnoTrend Goerler' => 'TechnoTrend',
34
+ 'TechnoTrend Goerler/Kathrein' => 'TechnoTrend',
35
+ 'TELEFUNKEN' => 'Telefunken',
36
+ 'THOM' => 'Thomson',
37
+ 'THOMSON' => 'Thomson',
38
+ 'tv2n' => 'TV2N',
39
+ 'VESTEL' => 'Vestel'
40
+ ];
integration/whichbrowser/data/models-android.php ADDED
@@ -0,0 +1,15281 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WhichBrowser\Data;
4
+
5
+ use WhichBrowser\Constants\DeviceType;
6
+ use WhichBrowser\Constants\DeviceSubType;
7
+ use WhichBrowser\Constants\Flag;
8
+
9
+ DeviceModels::$ANDROID_MODELS = [
10
+
11
+ /* Generic identifiers */
12
+ 'Android' => [ null, null ],
13
+ 'google sdk' => [ null, null, DeviceType::EMULATOR ],
14
+ 'sdk' => [ null, null, DeviceType::EMULATOR ],
15
+ 'generic' => [ null, null ],
16
+ 'generic x86' => [ null, null ],
17
+ 'VirtualBox!' => [ null, null, DeviceType::EMULATOR ],
18
+
19
+ /* Development boards and kits */
20
+ 'amd brazos' => [ 'AMD', 'Fusion based device', DeviceType::DEVBOARD ],
21
+ 'amd persimmon' => [ 'AMD', 'Persimmon based device', DeviceType::DEVBOARD ],
22
+ 'Amlogic M1 reference board' => [ 'Amlogic', 'M1 reference board', DeviceType::DEVBOARD ],
23
+ 'AML8726M' => [ 'Amlogic', 'AML8726-M based device', DeviceType::DEVBOARD ],
24
+ 'AMLOGIC8726MX' => [ 'Amlogic', 'AML8726-MX based device', DeviceType::DEVBOARD ],
25
+ 'vexpress a9' => [ 'ARM', 'Versatile Express development platform', DeviceType::DEVBOARD ],
26
+ 'sama5d3' => [ 'Atmel', 'SAMA5D3 based device', DeviceType::DEVBOARD ],
27
+ 'BEAGLEBONE' => [ 'BeagleBoard', 'BeagleBone', DeviceType::DEVBOARD ],
28
+ 'BeagleBone Black' => [ 'BeagleBoard', 'BeagleBone Black', DeviceType::DEVBOARD ],
29
+ 'BEAGLEBONEBLACK' => [ 'BeagleBoard', 'BeagleBone Black', DeviceType::DEVBOARD ],
30
+ 'BEAGLEBONEBLACK.A5C' => [ 'BeagleBoard', 'BeagleBone Black', DeviceType::DEVBOARD ],
31
+ 'NITROGEN6X' => [ 'Boundary Devices', 'Nitrogen6X', DeviceType::DEVBOARD ],
32
+ 'bcm platform' => [ 'Broadcom', 'BCM based device', DeviceType::DEVBOARD ],
33
+ 'bcm7231' => [ 'Broadcom', 'BCM7231 based device', DeviceType::DEVBOARD ],
34
+ 'bcm7425' => [ 'Broadcom', 'BCM7425 based device', DeviceType::DEVBOARD ],
35
+ 'bcm7429' => [ 'Broadcom', 'BCM7429 based device', DeviceType::DEVBOARD ],
36
+ 'bcm7435' => [ 'Broadcom', 'BCM7435 based device', DeviceType::DEVBOARD ],
37
+ 'bcm7439' => [ 'Broadcom', 'BCM7439 based device', DeviceType::DEVBOARD ],
38
+ 'bcm7445' => [ 'Broadcom', 'BCM7445 based device', DeviceType::DEVBOARD ],
39
+ 'bcm7584' => [ 'Broadcom', 'BCM7584 based device', DeviceType::DEVBOARD ],
40
+ 'BCM21654!' => [ 'Broadcom', 'BCM21654 based device', DeviceType::DEVBOARD ],
41
+ 'BCM21664!' => [ 'Broadcom', 'BCM21664 based device', DeviceType::DEVBOARD ],
42
+ 'BCM23550!' => [ 'Broadcom', 'BCM23550 based device', DeviceType::DEVBOARD ],
43
+ 'BCM28145!' => [ 'Broadcom', 'BCM28145 based device', DeviceType::DEVBOARD ],
44
+ 'BCM28155!' => [ 'Broadcom', 'BCM28155 based device', DeviceType::DEVBOARD ],
45
+ 'imx50!' => [ 'Freescale', 'i.MX50 based device', DeviceType::DEVBOARD ],
46
+ 'imx51!' => [ 'Freescale', 'i.MX51 based device', DeviceType::DEVBOARD ],
47
+ 'imx53!' => [ 'Freescale', 'i.MX53 based device', DeviceType::DEVBOARD ],
48
+ 'imx6q!' => [ 'Freescale', 'i.MX6Q based device', DeviceType::DEVBOARD ],
49
+ 'SABRESD-MX6DQ' => [ 'Freescale', 'i.MX6DQ based device', DeviceType::DEVBOARD ],
50
+ 'ODROID-A' => [ 'Hardkernel', 'ODROID-A developer tablet', DeviceType::TABLET ],
51
+ 'ODROID-U' => [ 'Hardkernel', 'ODROID-U developer board', DeviceType::DEVBOARD ],
52
+ 'ODROID-U2' => [ 'Hardkernel', 'ODROID-U2 developer board', DeviceType::DEVBOARD ],
53
+ 'ODROID-X' => [ 'Hardkernel', 'ODROID-X developer board', DeviceType::DEVBOARD ],
54
+ 'ODROID-XU' => [ 'Hardkernel', 'ODROID-XU developer board', DeviceType::DEVBOARD ],
55
+ 'ODROID-XU3' => [ 'Hardkernel', 'ODROID-XU3 developer board', DeviceType::DEVBOARD ],
56
+ 'ODROID-X2' => [ 'Hardkernel', 'ODROID-X2 developer board', DeviceType::DEVBOARD ],
57
+ 'Bay Trail Generic Platform' => [ 'Intel', 'Bay Trail based device', DeviceType::DEVBOARD ],
58
+ 'Bayley Bay' => [ 'Intel', 'Bay Trail based device', DeviceType::DEVBOARD ],
59
+ 'cedartrail' => [ 'Intel', 'Cedar Trail based device', DeviceType::DEVBOARD ],
60
+ 'mfld (dv10|dv20|gi|lw00|pr2|pr3)!' => [ 'Intel', 'Medfield based device', DeviceType::DEVBOARD ],
61
+ 'redhookbay' => [ 'Intel', 'Merrifield based device', DeviceType::DEVBOARD ],
62
+ 'saltbay' => [ 'Intel', 'Merrifield based device', DeviceType::DEVBOARD ],
63
+ 'victoriabay' => [ 'Intel', 'Merrifield based device', DeviceType::DEVBOARD ],
64
+ 'Shark Bay Client platform' => [ 'Intel', 'Haswell based device', DeviceType::DEVBOARD ],
65
+ 'BP710A' => [ 'Intel', 'Yukka Beach based device', DeviceType::DEVBOARD ],
66
+ 'yukkabeach' => [ 'Intel', 'Yukka Beach based device', DeviceType::DEVBOARD ],
67
+ 'berlin' => [ 'Marvell', 'Armada based device', DeviceType::DEVBOARD ],
68
+ 'berlin bg2!' => [ 'Marvell', 'Armada based device', DeviceType::DEVBOARD ],
69
+ 'berlin generic!' => [ 'Marvell', 'Armada based device', DeviceType::DEVBOARD ],
70
+ 'bg2 !' => [ 'Marvell', 'Armada based device', DeviceType::DEVBOARD ],
71
+ 'bg2ct !' => [ 'Marvell', 'Armada based device', DeviceType::DEVBOARD ],
72
+ 'bg2q4k !' => [ 'Marvell', 'Armada based device', DeviceType::DEVBOARD ],
73
+ 'bg2qa0v4 !' => [ 'Marvell', 'Armada based device', DeviceType::DEVBOARD ],
74
+ 'bg2qv4 !' => [ 'Marvell', 'Armada based device', DeviceType::DEVBOARD ],
75
+ 'MStar Amber3' => [ 'MStar', 'Amber3 based device', DeviceType::DEVBOARD ],
76
+ 'Konka Amber3' => [ 'MStar', 'Amber3 based device', DeviceType::DEVBOARD ],
77
+ 'mt5396!' => [ 'Mediatek', 'MT5396 based device', DeviceType::DEVBOARD ],
78
+ 'mt5399!' => [ 'Mediatek', 'MT5399 based device', DeviceType::DEVBOARD ],
79
+ 'mt5861!' => [ 'Mediatek', 'MT5861 based device', DeviceType::DEVBOARD ],
80
+ 'mt5880!' => [ 'Mediatek', 'MT5880 based device', DeviceType::DEVBOARD ],
81
+ 'mt5882!' => [ 'Mediatek', 'MT5882 based device', DeviceType::DEVBOARD ],
82
+ 'mt5890!' => [ 'Mediatek', 'MT5890 based device', DeviceType::DEVBOARD ],
83
+ 'mt6515!' => [ 'Mediatek', 'MT6515 based device', DeviceType::DEVBOARD ],
84
+ 'MTK6515' => [ 'Mediatek', 'MT6515 based device', DeviceType::DEVBOARD ],
85
+ 'mt6517!' => [ 'Mediatek', 'MT6517 based device', DeviceType::DEVBOARD ],
86
+ 'mt6571!' => [ 'Mediatek', 'MT6571 based device', DeviceType::DEVBOARD ],
87
+ 'mt6572!' => [ 'Mediatek', 'MT6572 based device', DeviceType::DEVBOARD ],
88
+ 'baoxue' => [ 'Mediatek', 'MT6573 based device', DeviceType::DEVBOARD ],
89
+ 'bird75v2' => [ 'Mediatek', 'MT6575 based device', DeviceType::DEVBOARD ],
90
+ 'eagle75v1 2' => [ 'Mediatek', 'MT6575 based device', DeviceType::DEVBOARD ],
91
+ 'mt6575!' => [ 'Mediatek', 'MT6575 based device', DeviceType::DEVBOARD ],
92
+ 'mt6577!' => [ 'Mediatek', 'MT6577 based device', DeviceType::DEVBOARD ],
93
+ 'mt6582!' => [ 'Mediatek', 'MT6582 based device', DeviceType::DEVBOARD ],
94
+ 'mt6589!' => [ 'Mediatek', 'MT6589 based device', DeviceType::DEVBOARD ],
95
+ 'MTK-MT6589' => [ 'Mediatek', 'MT6589 based device', DeviceType::DEVBOARD ],
96
+ 'MTK6589!' => [ 'Mediatek', 'MT6589 based device', DeviceType::DEVBOARD ],
97
+ 'mt6592!' => [ 'Mediatek', 'MT6592 based device', DeviceType::DEVBOARD ],
98
+ 'MTK-MT6592' => [ 'Mediatek', 'MT6592 based device', DeviceType::DEVBOARD ],
99
+ 'MTK6592' => [ 'Mediatek', 'MT6592 based device', DeviceType::DEVBOARD ],
100
+ 'mt6595!' => [ 'Mediatek', 'MT6595 based device', DeviceType::DEVBOARD ],
101
+ 'mt6599!' => [ 'Mediatek', 'MT6599 based device', DeviceType::DEVBOARD ],
102
+ 'mt8125!' => [ 'Mediatek', 'MT8125 based device', DeviceType::DEVBOARD ],
103
+ 'mt8127!' => [ 'Mediatek', 'MT8127 based device', DeviceType::DEVBOARD ],
104
+ 'mt8135!' => [ 'Mediatek', 'MT8135 based device', DeviceType::DEVBOARD ],
105
+ 'MTK--8312' => [ 'Mediatek', 'MT8312 based device', DeviceType::DEVBOARD ],
106
+ 'mt8377!' => [ 'Mediatek', 'MT8377 based device', DeviceType::DEVBOARD ],
107
+ 'mt8389!' => [ 'Mediatek', 'MT8389 based device', DeviceType::DEVBOARD ],
108
+ 'mt8580!' => [ 'Mediatek', 'MT8580 based device', DeviceType::DEVBOARD ],
109
+ 'mt8658!' => [ 'Mediatek', 'MT8658 based device', DeviceType::DEVBOARD ],
110
+ 'MBX DVBT reference board (c03ref)' => [ 'MBX', 'DVBT reference board', DeviceType::DEVBOARD ],
111
+ 'MBX Dongle board!' => [ 'MBX', 'Dongle board', DeviceType::DEVBOARD ],
112
+ 'MBX reference board!' => [ 'MBX', 'Reference board', DeviceType::DEVBOARD ],
113
+ 'NS115' => [ 'Nufront', 'NuSmart 115 based device', DeviceType::DEVBOARD ],
114
+ 'NS2816' => [ 'Nufront', 'NuSmart 2816 based device', DeviceType::DEVBOARD ],
115
+ 'Ventana' => [ 'Nvidia', 'Tegra Ventana development kit', DeviceType::DEVBOARD ],
116
+ 'Cardhu' => [ 'Nvidia', 'Tegra 3 based device', DeviceType::DEVBOARD ],
117
+ 'Panda(Board)?!' => [ 'Pandaboard', 'Development Kit', DeviceType::DEVBOARD ],
118
+ 'Omap5panda' => [ 'Pandaboard', 'Development Kit', DeviceType::DEVBOARD ],
119
+ 'MSM' => [ 'Qualcomm', 'Snapdragon based device', DeviceType::DEVBOARD ],
120
+ 'msm(7227|7627)!' => [ 'Qualcomm', 'Snapdragon S1 based device', DeviceType::DEVBOARD ],
121
+ 'msm7630!' => [ 'Qualcomm', 'Snapdragon S2 based device', DeviceType::DEVBOARD ],
122
+ 'msm8660!' => [ 'Qualcomm', 'Snapdragon S3 based device', DeviceType::DEVBOARD ],
123
+ 'msm(8x25|8625|8960)!' => [ 'Qualcomm', 'Snapdragon S4 based device', DeviceType::DEVBOARD ],
124
+ 'msm8x30!' => [ 'Qualcomm', 'Snapdragon S4 Plus based device', DeviceType::DEVBOARD ],
125
+ 'msm8610!' => [ 'Qualcomm', 'Snapdragon 200 based device', DeviceType::DEVBOARD ],
126
+ 'msm8909!' => [ 'Qualcomm', 'Snapdragon 210 based device', DeviceType::DEVBOARD ],
127
+ 'msm(8226|8228)!' => [ 'Qualcomm', 'Snapdragon 400 based device', DeviceType::DEVBOARD ],
128
+ 'MSM8926!' => [ 'Qualcomm', 'Snapdragon 400 based device', DeviceType::DEVBOARD ],
129
+ 'msm8916!' => [ 'Qualcomm', 'Snapdragon 410 based device', DeviceType::DEVBOARD ],
130
+ 'msm8952!' => [ 'Qualcomm', 'Snapdragon 615 based device', DeviceType::DEVBOARD ],
131
+ 'msm8974!' => [ 'Qualcomm', 'Snapdragon 800 based device', DeviceType::DEVBOARD ],
132
+ 'MSM8992!' => [ 'Qualcomm', 'Snapdragon 808 based device', DeviceType::DEVBOARD ],
133
+ 'msm8994!' => [ 'Qualcomm', 'Snapdragon 810 based device', DeviceType::DEVBOARD ],
134
+ 'rksdk' => [ 'Rockchip', 'based device', DeviceType::DEVBOARD ],
135
+ 'rk2808(sdk)?!' => [ 'Rockchip', 'RK2808 based device', DeviceType::DEVBOARD ],
136
+ 'rk2818(sdk)?!' => [ 'Rockchip', 'RK2818 based device', DeviceType::DEVBOARD ],
137
+ 'Android-for-Rockchip-2818' => [ 'Rockchip', 'RK2818 based device', DeviceType::DEVBOARD ],
138
+ 'RK2906' => [ 'Rockchip', 'RK2906 based device', DeviceType::DEVBOARD ],
139
+ 'RK2918' => [ 'Rockchip', 'RK2918 based device', DeviceType::DEVBOARD ],
140
+ 'rk2926-q8' => [ 'Rockchip', 'RK2926 based device', DeviceType::DEVBOARD ],
141
+ 'rk2928sdk' => [ 'Rockchip', 'RK2928 based device', DeviceType::DEVBOARD ],
142
+ 'rk29sdk' => [ 'Rockchip', 'RK29 based device', DeviceType::DEVBOARD ],
143
+ 'rk30sdk!' => [ 'Rockchip', 'RK30 based device', DeviceType::DEVBOARD ],
144
+ 'rk30mtk' => [ 'Rockchip', 'RK30 based device', DeviceType::DEVBOARD ],
145
+ 'rk3026' => [ 'Rockchip', 'RK3026 based device', DeviceType::DEVBOARD ],
146
+ 'rk3028a' => [ 'Rockchip', 'RK3028 based device', DeviceType::DEVBOARD ],
147
+ 'rk3028sdk' => [ 'Rockchip', 'RK3028 based device', DeviceType::DEVBOARD ],
148
+ 'rk3036' => [ 'Rockchip', 'RK3036 based device', DeviceType::DEVBOARD ],
149
+ 'rk3066' => [ 'Rockchip', 'RK3066 based device', DeviceType::DEVBOARD ],
150
+ 'rk31sdk' => [ 'Rockchip', 'RK31 based device', DeviceType::DEVBOARD ],
151
+ 'rk31 5931' => [ 'Rockchip', 'RK31 based device', DeviceType::DEVBOARD ],
152
+ 'rk31 8089' => [ 'Rockchip', 'RK31 based device', DeviceType::DEVBOARD ],
153
+ 'rk31 872xu' => [ 'Rockchip', 'RK31 based device', DeviceType::DEVBOARD ],
154
+ 'rk31au' => [ 'Rockchip', 'RK31 based device', DeviceType::DEVBOARD ],
155
+ 'rk31rtl' => [ 'Rockchip', 'RK31 based device', DeviceType::DEVBOARD ],
156
+ 'rk312x' => [ 'Rockchip', 'RK312X based device', DeviceType::DEVBOARD ],
157
+ 'rk3188!' => [ 'Rockchip', 'RK3188 based device', DeviceType::DEVBOARD ],
158
+ 'rk3288!' => [ 'Rockchip', 'RK3288 based device', DeviceType::DEVBOARD ],
159
+ 'rk3990!' => [ 'Rockchip', 'RK3990 based device', DeviceType::DEVBOARD ],
160
+ 's3c6410' => [ 'Samsung', 'S3C6410 based device', DeviceType::DEVBOARD ],
161
+ 'smdk6410' => [ 'Samsung', 'S3C6410 based device', DeviceType::DEVBOARD ],
162
+ 'SMDKC110' => [ 'Samsung', 'Exynos 3110 based device', DeviceType::DEVBOARD ],
163
+ 'SMDKV210' => [ 'Samsung', 'Exynos 4210 based device', DeviceType::DEVBOARD ],
164
+ 'S5PV210' => [ 'Samsung', 'Exynos 4210 based device', DeviceType::DEVBOARD ],
165
+ 'sec smdkc210' => [ 'Samsung', 'Exynos 4210 based device', DeviceType::DEVBOARD ],
166
+ 'sec smdkv210' => [ 'Samsung', 'Exynos 4210 based device', DeviceType::DEVBOARD ],
167
+ 'SMDK4x12' => [ 'Samsung', 'Exynos 4212 or 4412 based device', DeviceType::DEVBOARD ],
168
+ 'SMDK4412' => [ 'Samsung', 'Exynos 4412 based device', DeviceType::DEVBOARD ],
169
+ 'SMDK5250' => [ 'Samsung', 'Exynos 5250 based device', DeviceType::DEVBOARD ],
170
+ 'SMDK5410' => [ 'Samsung', 'Exynos 5410 based device', DeviceType::DEVBOARD ],
171
+ 'Exynos5410' => [ 'Samsung', 'Exynos 5410 based device', DeviceType::DEVBOARD ],
172
+ 'smp86xx' => [ 'Sigma', 'SMP86xx based device', DeviceType::DEVBOARD ],
173
+ 'smp8734' => [ 'Sigma', 'SMP8734 based device', DeviceType::DEVBOARD ],
174
+ 'smp8756' => [ 'Sigma', 'SMP8756 based device', DeviceType::DEVBOARD ],
175
+ 'sv8860' => [ 'Skyviia', 'SV8860 based device', DeviceType::DEVBOARD ],
176
+ 'ste l8540!' => [ 'ST Ericsson', 'Novathor L8540 based device', DeviceType::DEVBOARD ],
177
+ 'ste u8500' => [ 'ST Ericsson', 'Novathor U8500 based device', DeviceType::DEVBOARD ],
178
+ 'ste u9540' => [ 'ST Ericsson', 'Novathor U9540 based device', DeviceType::DEVBOARD ],
179
+ 'Telechips M801 Evaluation Board' => [ 'Telechips', 'M801 based device', DeviceType::DEVBOARD ],
180
+ 'Telechips TCC8900 Evaluation Board' => [ 'Telechips', 'TCC8900 based device', DeviceType::DEVBOARD ],
181
+ 'TCC8920 STB!' => [ 'Telechips', 'TCC8920 based device', DeviceType::DEVBOARD ],
182
+ 'TCC893X!' => [ 'Telechips', 'TCC893X based device', DeviceType::DEVBOARD ],
183
+ 'TCC8935 HDMI!' => [ 'Telechips', 'TCC8935 based device', DeviceType::DEVBOARD ],
184
+ 'TCC8975 STB!' => [ 'Telechips', 'TCC8975 based device', DeviceType::DEVBOARD ],
185
+ 'OMAP' => [ 'Texas Instruments', 'OMAP based device', DeviceType::DEVBOARD ],
186
+ 'OMAP SS' => [ 'Texas Instruments', 'OMAP based device', DeviceType::DEVBOARD ],
187
+ 'LogicPD Zoom2' => [ 'Texas Instruments', 'OMAP based device', DeviceType::DEVBOARD ],
188
+ 'omap3evm' => [ 'Texas Instruments', 'OMAP3 based device', DeviceType::DEVBOARD ],
189
+ 'OMAP3ETPP' => [ 'Texas Instruments', 'OMAP3 based device', DeviceType::DEVBOARD ],
190
+ 'Omap5sevm' => [ 'Texas Instruments', 'OMAP5 based device', DeviceType::DEVBOARD ],
191
+ 'AM335XEVM' => [ 'Texas Instruments', 'Sitara AM335 based device', DeviceType::DEVBOARD ],
192
+ 'AM335XEVM SK' => [ 'Texas Instruments', 'Sitara AM335 based device', DeviceType::DEVBOARD ],
193
+ 'am3517evm' => [ 'Texas Instruments', 'Sitara AM351 based device', DeviceType::DEVBOARD ],
194
+ 'AM437XEVM' => [ 'Texas Instruments', 'Sitara AM437 based device', DeviceType::DEVBOARD ],
195
+ 'Colibri-T20' => [ 'Toradex', 'Colibri T20', DeviceType::DEVBOARD ],
196
+ 'pnx8473 kiryung' => [ 'Trident', 'PNX8473 based device', DeviceType::DEVBOARD ],
197
+
198
+ /* Official Google development devices */
199
+ 'Bravo' => [ 'HTC', 'Desire' ],
200
+ 'Dream' => [ 'HTC', 'Dream' ],
201
+ 'Vogue' => [ 'HTC', 'Touch' ],
202
+ 'Vendor Optimus' => [ 'LG', 'Optimus' ],
203
+ 'Stingray' => [ 'Motorola', 'XOOM', DeviceType::TABLET ],
204
+ 'Wingray' => [ 'Motorola', 'XOOM', DeviceType::TABLET ],
205
+ 'Blaze' => [ 'Texas Instruments', 'Blaze Tablet', DeviceType::TABLET ],
206
+ 'Blaze Tablet' => [ 'Texas Instruments', 'Blaze Tablet', DeviceType::TABLET ],
207
+ 'Google Ion' => [ 'Google', 'Ion' ],
208
+ 'Project Tango Tablet Development Kit' => [ 'Google', 'Project Tango' ],
209
+ 'Yellowstone' => [ 'Google', 'Project Tango' ],
210
+
211
+ /* Nexus Devices (without official model no. */
212
+ 'Passion' => [ 'HTC', 'Nexus One' ],
213
+ '(HTC )?Nexus ?One!' => [ 'HTC', 'Nexus One' ],
214
+ 'Crespo!' => [ 'Samsung', 'Nexus S' ],
215
+ '(Google )?Nexus S!' => [ 'Samsung', 'Nexus S' ],
216
+ 'Dooderbutt!' => [ 'Samsung', 'Nexus S' ],
217
+ 'LGE-lap crespo' => [ 'Samsung', 'Nexus S' ],
218
+ 'Maguro' => [ 'Samsung', 'Galaxy Nexus' ],
219
+ 'Toro' => [ 'Samsung', 'Galaxy Nexus' ],
220
+ 'Toro-VZW' => [ 'Samsung', 'Galaxy Nexus' ],
221
+ '(Google )?Galaxy Nexus!' => [ 'Samsung', 'Galaxy Nexus' ],
222
+ 'LGE-lap maguro' => [ 'Samsung', 'Galaxy Nexus' ],
223
+ 'LGE-maguro cappuccino' => [ 'Samsung', 'Galaxy Nexus' ],
224
+ '(Google )?Nexus ?4!' => [ 'LG', 'Nexus 4' ],
225
+ 'Mako' => [ 'LG', 'Nexus 4' ],
226
+ 'LGE-lap mako' => [ 'LG', 'Nexus 4' ],
227
+ 'Nexus 5X' => [ 'LG', 'Nexus 5X' ],
228
+ '(Google )?Nexus ?5!' => [ 'LG', 'Nexus 5' ],
229
+ 'HammerHead' => [ 'LG', 'Nexus 5' ],
230
+ 'LG-Nexus5' => [ 'LG', 'Nexus 5' ],
231
+ 'Nexus 6P' => [ 'Huawei', 'Nexus 6P' ],
232
+ 'shamu' => [ 'Motorola', 'Nexus 6' ],
233
+ '(Google )?Nexus ?6!' => [ 'Motorola', 'Nexus 6' ],
234
+ '(Google )?Nexus ?7 2013!' => [ 'Asus', 'Nexus 7 (2013)', DeviceType::TABLET ],
235
+ 'Flo' => [ 'Asus', 'Nexus 7 (2013)', DeviceType::TABLET ],
236
+ 'Grouper' => [ 'Asus', 'Nexus 7', DeviceType::TABLET ],
237
+ 'Tilapia' => [ 'Asus', 'Nexus 7', DeviceType::TABLET ],
238
+ '(Google )?Nexus ?7!' => [ 'Asus', 'Nexus 7', DeviceType::TABLET ],
239
+ 'Flounder' => [ 'HTC', 'Nexus 9', DeviceType::TABLET ],
240
+ 'Volantis' => [ 'HTC', 'Nexus 9', DeviceType::TABLET ],
241
+ 'Volantisg' => [ 'HTC', 'Nexus 9', DeviceType::TABLET ],
242
+ '(Google )?Nexus ?9!' => [ 'HTC', 'Nexus 9', DeviceType::TABLET ],
243
+ 'manta' => [ 'Samsung', 'Nexus 10', DeviceType::TABLET ],
244
+ '(Google )?Nexus ?10!' => [ 'Samsung', 'Nexus 10', DeviceType::TABLET ],
245
+
246
+ /* Pixel Devices */
247
+ 'Pixel C' => [ 'Google', 'Pixel C', DeviceType::TABLET ],
248
+
249
+ /* Google Edition */
250
+ 'HTC One' => [ 'HTC', 'One (Google Edition)' ],
251
+ 'Moto E' => [ 'Motorola', 'Moto E (Google Edition)' ],
252
+ 'Moto G' => [ 'Motorola', 'Moto G (Google Edition)' ],
253
+ 'Moto G LTE' => [ 'Motorola', 'Moto G (Google Edition)' ],
254
+ 'Moto G 2014' => [ 'Motorola', 'Moto G (Google Edition, 2014)' ],
255
+ 'Moto G 2014 LTE' => [ 'Motorola', 'Moto G (Google Edition, 2014)' ],
256
+ 'Moto G (2014)' => [ 'Motorola', 'Moto G (Google Edition, 2014)' ],
257
+ 'Moto X' => [ 'Motorola', 'Moto X (Google Edition)' ],
258
+ 'GT-I9505G' => [ 'Samsung', 'Galaxy S4 (Google Edition)' ],
259
+ 'Galaxy S4 Google Editon' => [ 'Samsung', 'Galaxy S4 (Google Edition)' ],
260
+ 'SM-G900FG' => [ 'Samsung', 'Galaxy S5 (Google Edition)' ],
261
+ 'Xperia Z Ultra' => [ 'Sony', 'Xperia Z Ultra (Google Edition)' ],
262
+
263
+ /* Google Glass */
264
+ 'Glass 1' => [ 'Google', 'Glass', DeviceType::HEADSET, Flag::GOOGLEGLASS ],
265
+
266
+ /* Android Wear */
267
+ 'ZenWatch' => [ 'Asus', 'ZenWatch', DeviceType::WATCH, Flag::ANDROIDWEAR ],
268
+ 'ZenWatch 2' => [ 'Asus', 'ZenWatch 2', DeviceType::WATCH, Flag::ANDROIDWEAR ],
269
+ 'HUAWEI WATCH' => [ 'Huawei', 'Watch', DeviceType::WATCH, Flag::ANDROIDWEAR ],
270
+ 'G Watch' => [ 'LG', 'G Watch', DeviceType::WATCH, Flag::ANDROIDWEAR ],
271
+ 'G Watch R' => [ 'LG', 'G Watch R', DeviceType::WATCH, Flag::ANDROIDWEAR ],
272
+ 'LG-Watch Urbane' => [ 'LG', 'G Watch Urbane', DeviceType::WATCH, Flag::ANDROIDWEAR ],
273
+ 'Moto 360' => [ 'Motorola', 'Moto 360', DeviceType::WATCH, Flag::ANDROIDWEAR ],
274
+ 'Gear Live' => [ 'Samsung', 'Gear Live', DeviceType::WATCH, Flag::ANDROIDWEAR ],
275
+ 'SmartWatch 3' => [ 'Sony', 'SmartWatch 3', DeviceType::WATCH, Flag::ANDROIDWEAR ],
276
+
277
+ /* Android TV */
278
+ 'Nexus Player' => [ 'Asus', 'Nexus Player', DeviceType::TELEVISION, Flag::ANDROIDTV],
279
+ 'SVP-DTV15' => [ 'Sony', 'Bravia Android TV (2015)', DeviceType::TELEVISION, Flag::ANDROIDTV],
280
+ 'BRAVIA 2015' => [ 'Sony', 'Bravia Android TV (2015)', DeviceType::TELEVISION, Flag::ANDROIDTV],
281
+ 'BRAVIA 4K 2015' => [ 'Sony', 'Bravia Android TV (2015)', DeviceType::TELEVISION, Flag::ANDROIDTV ],
282
+ 'BRAVIA 4K GB' => [ 'Sony', 'Bravia Android TV (2016)', DeviceType::TELEVISION, Flag::ANDROIDTV ],
283
+ 'QV151E' => [ 'Philips', 'Android TV (2015)', DeviceType::TELEVISION, Flag::ANDROIDTV],
284
+ 'QM151E' => [ 'Philips', 'Android TV (2015)', DeviceType::TELEVISION, Flag::ANDROIDTV],
285
+ 'QM152E' => [ 'Philips', 'Android TV (2015)', DeviceType::TELEVISION, Flag::ANDROIDTV],
286
+ 'QM163E' => [ 'Philips', 'Android TV (2016)', DeviceType::TELEVISION, Flag::ANDROIDTV],
287
+ 'PH7M EU 5596' => [ 'Philips', 'Android TV (2016)', DeviceType::TELEVISION, Flag::ANDROIDTV],
288
+ 'SHIELD Console' => [ 'Nvidia', 'SHIELD Android TV', DeviceType::TELEVISION, Flag::ANDROIDTV],
289
+ 'SHIELD Android TV' => [ 'Nvidia', 'SHIELD Android TV', DeviceType::TELEVISION, Flag::ANDROIDTV],
290
+ 'SHIELD Andr0id TV' => [ 'Nvidia', 'SHIELD Android TV', DeviceType::TELEVISION, Flag::ANDROIDTV],
291
+
292
+ /* Middleware and emulators */
293
+ 'BlueStacks!' => [ 'BlueStacks', 'App Player', DeviceType::DESKTOP ],
294
+ 'App Runtime for Chrome' => [ 'Google', 'App Runtime for Chrome', DeviceType::DESKTOP ],
295
+ 'youwave custom' => [ 'Youwave', 'Android on PC', DeviceType::DESKTOP ],
296
+ 'BlackBerry Runtime for Android Apps' => [ 'RIM', 'BlackBerry (Android Runtime)', DeviceType::MOBILE ],
297
+ 'alien jolla bionic' => [ 'Jolla', 'Sailfish (Android Runtime)', DeviceType::MOBILE ],
298
+ 'Jolla' => [ 'Jolla', 'Sailfish (Android Runtime)', DeviceType::MOBILE ],
299
+ 'alien ubuntu qt' => [ 'Ubuntu', 'Touch (Android Runtime)', DeviceType::MOBILE ],
300
+ 'full Android on Microsoft Windows, pad, pc, n*books' => [ 'SocketeQ', 'WindowsAndroid', DeviceType::DESKTOP ],
301
+ 'VMware Virtual Platform' => [ 'VMWare', 'Virtual Platform', DeviceType::DESKTOP ],
302
+ 'Xamarin Android Player!' => [ 'Xamarin', 'Android Player', DeviceType::EMULATOR ],
303
+
304
+ /* TV sticks */
305
+ 'CX-919' => [ null, 'CX-919', DeviceType::TELEVISION ],
306
+ 'CX-921' => [ null, 'CX-921', DeviceType::TELEVISION ],
307
+ 'CX-921B' => [ null, 'CX-921B', DeviceType::TELEVISION ],
308
+ 'CX-929' => [ null, 'CX-929', DeviceType::TELEVISION ],
309
+ 'CX-950' => [ null, 'CX-950', DeviceType::TELEVISION ],
310
+ 'CX-958' => [ null, 'CX-958', DeviceType::TELEVISION ],
311
+ 'VEOLO' => [ 'A.C. Ryan', 'VEOLO Smart Android Hub', DeviceType::TELEVISION ],
312
+ 'VEOLO2' => [ 'A.C. Ryan', 'VEOLO2 Smart Android Hub', DeviceType::TELEVISION ],
313
+ 'Astone A108' => [ 'Astone', 'A108', DeviceType::TELEVISION ],
314
+ 'BenQ JD-130' => [ 'BenQ', 'JD-130', DeviceType::TELEVISION ],
315
+ 'BenQ Android TV' => [ 'BenQ', 'JD-130', DeviceType::TELEVISION ],
316
+ 'EVOKE HDI Box' => [ 'Evoke', 'HDI TV Box', DeviceType::TELEVISION ],
317
+ 'Ezcast' => [ 'Ezcast', 'Dongle', DeviceType::TELEVISION ],
318
+ 'JT SmartPC02' => [ 'Joy-IT', 'Smart PC', DeviceType::TELEVISION ],
319
+ 'M3 Enjoy TV Box' => [ 'Geniatech', 'Enjoy TV', DeviceType::TELEVISION ],
320
+ 'MX Enjoy TV BOX' => [ 'Geniatech', 'Enjoy TV', DeviceType::TELEVISION ],
321
+ 'TOUCAN Stick HD' => [ 'iconBit', 'Toucan Stick HD', DeviceType::TELEVISION ],
322
+ 'TOUCAN Stick G4' => [ 'iconBit', 'Toucan Stick G4', DeviceType::TELEVISION ],
323
+ 'Toucan Stick 4K' => [ 'iconBit', 'Toucan Stick 4K', DeviceType::TELEVISION ],
324
+ 'TOUCAN Stick 3D mk2' => [ 'iconBit', 'Toucan Stick 3D', DeviceType::TELEVISION ],
325
+ 'NEO-G4' => [ 'Minix', 'Neo G4', DeviceType::TELEVISION ],
326
+ 'NEO-G4-108A' => [ 'Minix', 'Neo G4', DeviceType::TELEVISION ],
327
+ 'NEO-G4 a' => [ 'Minix', 'Neo G4 a', DeviceType::TELEVISION ],
328
+ 'NEO-X5' => [ 'Minix', 'Neo X5', DeviceType::TELEVISION ],
329
+ 'NEO X5' => [ 'Minix', 'Neo X5', DeviceType::TELEVISION ],
330
+ 'Neo-X5-B' => [ 'Minix', 'Neo X5', DeviceType::TELEVISION ],
331
+ 'NEO-X5-116A' => [ 'Minix', 'Neo X5', DeviceType::TELEVISION ],
332
+ 'NEO-X5-mini' => [ 'Minix', 'Neo X5 mini', DeviceType::TELEVISION ],
333
+ 'NEO X5 mini' => [ 'Minix', 'Neo X5 mini', DeviceType::TELEVISION ],
334
+ 'NEO-X6' => [ 'Minix', 'Neo X6', DeviceType::TELEVISION ],
335
+ 'NEO-X7-216A' => [ 'Minix', 'Neo X7', DeviceType::TELEVISION ],
336
+ 'NEO-X7-mini' => [ 'Minix', 'Neo X7 mini', DeviceType::TELEVISION ],
337
+ 'NEO-X8' => [ 'Minix', 'Neo X8', DeviceType::TELEVISION ],
338
+ 'NEO-X8-H' => [ 'Minix', 'Neo X8', DeviceType::TELEVISION ],
339
+ 'NEO-X8H-PLUS' => [ 'Minix', 'Neo X8+', DeviceType::TELEVISION ],
340
+ 'RKM MK602' => [ 'Rikomagic', 'MK602', DeviceType::TELEVISION ],
341
+ 'Rikomagic MK802' => [ 'Rikomagic', 'MK802', DeviceType::TELEVISION ],
342
+ 'Rikomagic MK802 ?II!' => [ 'Rikomagic', 'MK802 II', DeviceType::TELEVISION ],
343
+ 'Rikomagic MK802III' => [ 'Rikomagic', 'MK802 III', DeviceType::TELEVISION ],
344
+ 'Rikomagic MK802IIIS' => [ 'Rikomagic', 'MK802 IIIS', DeviceType::TELEVISION ],
345
+ 'RKM MK802IIIS' => [ 'Rikomagic', 'MK802 IIIS', DeviceType::TELEVISION ],
346
+ 'RKM MK802IV' => [ 'Rikomagic', 'MK802 IV', DeviceType::TELEVISION ],
347
+ 'MK808' => [ 'Rikomagic', 'MK808', DeviceType::TELEVISION ],
348
+ 'MK808B' => [ 'Rikomagic', 'MK808 B', DeviceType::TELEVISION ],
349
+ 'MK809' => [ 'Rikomagic', 'MK809', DeviceType::TELEVISION ],
350
+ 'MK809B' => [ 'Rikomagic', 'MK809 B', DeviceType::TELEVISION ],
351
+ 'MK809IV' => [ 'Rikomagic', 'MK809 IV', DeviceType::TELEVISION ],
352
+ 'MK818B' => [ 'Rikomagic', 'MK818 B', DeviceType::TELEVISION ],
353
+ 'RKM MK902' => [ 'Rikomagic', 'MK902', DeviceType::TELEVISION ],
354
+ 'RKM MK902II' => [ 'Rikomagic', 'MK902 II', DeviceType::TELEVISION ],
355
+ 'MK908' => [ 'Rikomagic', 'MK908', DeviceType::TELEVISION ],
356
+ 'MK908II' => [ 'Rikomagic', 'MK908 II', DeviceType::TELEVISION ],
357
+ 'GK802' => [ 'Rikomagic', 'GK802', DeviceType::TELEVISION ],
358
+ 'XW-I8' => [ 'Sambao', 'XW-I8', DeviceType::TELEVISION ],
359
+ 'TCC8920 EVM' => [ 'Telechips', 'TCC8920', DeviceType::TELEVISION ],
360
+ 'TCC8925 HDMI DONGLE' => [ 'Telechips', 'TCC8925', DeviceType::TELEVISION ],
361
+ 'TCC8930 STB EV' => [ 'Telechips', 'TCC8930', DeviceType::TELEVISION ],
362
+ 'TCC8930 STB1' => [ 'Telechips', 'TCC8930', DeviceType::TELEVISION ],
363
+ 'TCC8935 HDMI DONGLE' => [ 'Telechips', 'TCC8935', DeviceType::TELEVISION ],
364
+
365
+ /* Game consoles */
366
+ 'OUYA( Console)?!' => [ 'OUYA', 'OUYA', [ DeviceType::GAMING, DeviceSubType::CONSOLE ] ],
367
+ 'SHIELD' => [ 'Nvidia', 'SHIELD', [ DeviceType::GAMING, DeviceSubType::CONSOLE ] ],
368
+ 'SHIELD Tablet' => [ 'Nvidia', 'SHIELD Tablet', [ DeviceType::GAMING, DeviceSubType::PORTABLE ] ],
369
+ 'SHIELD Tablet K1' => [ 'Nvidia', 'SHIELD Tablet K1', [ DeviceType::GAMING, DeviceSubType::PORTABLE ] ],
370
+ 'SHIELD Tablet II' => [ 'Nvidia', 'SHIELD Tablet II', [ DeviceType::GAMING, DeviceSubType::PORTABLE ] ],
371
+
372
+ /* Regular devices */
373
+ 'EL72B' => [ '3Q', 'Qoo! Q-Book EL72B', DeviceType::TABLET ],
374
+
375
+ '(AC|BC|LC|MT|RC|QS|VM|TS|OC)[0-9]{4,4}[A-Z]!!' => [
376
+ 'AC0731B' => [ '3Q', 'Qoo! Q-Pad AC0731B', DeviceType::TABLET ],
377
+ 'AC1024C' => [ '3Q', 'Qoo! Q-Pad AC1024C', DeviceType::TABLET ],
378
+ 'AC7803C' => [ '3Q', 'Qoo! Q-Pad AC7803C', DeviceType::TABLET ],
379
+ 'BC9710A' => [ '3Q', 'Qoo! Q-Pad BC9710A', DeviceType::TABLET ],
380
+ 'BC9710AM' => [ '3Q', 'Qoo! Q-Pad BC9710A', DeviceType::TABLET ],
381
+ 'LC0720C' => [ '3Q', 'Qoo! Q-Pad LC0720C', DeviceType::TABLET ],
382
+ 'LC0723B' => [ '3Q', 'Qoo! Q-Pad LC0723B', DeviceType::TABLET ],
383
+ 'LC0725B' => [ '3Q', 'Qoo! Q-Pad LC0725B', DeviceType::TABLET ],
384
+ 'LC0804B' => [ '3Q', 'Qoo! Q-Pad LC0804B', DeviceType::TABLET ],
385
+ 'LC0808B' => [ '3Q', 'Qoo! Q-Pad LC0808B', DeviceType::TABLET ],
386
+ 'LC0809B' => [ '3Q', 'Qoo! Q-Pad LC0809B', DeviceType::TABLET ],
387
+ 'LC0810C' => [ '3Q', 'Qoo! Q-Pad LC0810C', DeviceType::TABLET ],
388
+ 'LC0816C' => [ '3Q', 'Qoo! Q-Pad LC0816C', DeviceType::TABLET ],
389
+ 'LC0901D' => [ '3Q', 'Qoo! Q-Pad LC0901D', DeviceType::TABLET ],
390
+ 'LC1016C' => [ '3Q', 'Qoo! Q-Pad LC1016C', DeviceType::TABLET ],
391
+ 'LC9721C' => [ '3Q', 'Qoo! Q-Pad LC9721C', DeviceType::TABLET ],
392
+ 'MT0724B' => [ '3Q', 'Qoo! Q-Pad MT0724B', DeviceType::TABLET ],
393
+ 'MT0729B' => [ '3Q', 'Qoo! Q-Pad MT0729B', DeviceType::TABLET ],
394
+ 'MT0729D' => [ '3Q', 'Qoo! Q-Pad MT0729D', DeviceType::TABLET ],
395
+ 'MT0811B' => [ '3Q', 'Qoo! Q-Pad MT0811B', DeviceType::TABLET ],
396
+ 'MT7801C' => [ '3Q', 'Qoo! Q-Pad MT7801C', DeviceType::TABLET ],
397
+ 'RC0709B' => [ '3Q', 'Qoo! Q-Pad RC0709B', DeviceType::TABLET ],
398
+ 'RC0710B' => [ '3Q', 'Qoo! Q-Pad RC0710B', DeviceType::TABLET ],
399
+ 'RC0718C' => [ '3Q', 'Qoo! Q-Pad RC0718C', DeviceType::TABLET ],
400
+ 'RC0719H' => [ '3Q', 'Qoo! Q-Pad RC0719H', DeviceType::TABLET ],
401
+ 'RC0721B' => [ '3Q', 'Qoo! Q-Pad RC0721B', DeviceType::TABLET ],
402
+ 'RC0722C' => [ '3Q', 'Qoo! Q-Pad RC0722C', DeviceType::TABLET ],
403
+ 'RC0726B' => [ '3Q', 'Qoo! Q-Pad RC0726B', DeviceType::TABLET ],
404
+ 'RC0734H' => [ '3Q', 'Qoo! Q-Pad RC0734H', DeviceType::TABLET ],
405
+ 'RC0738C' => [ '3Q', 'Qoo! Q-Pad RC0738C', DeviceType::TABLET ],
406
+ 'RC0743H' => [ '3Q', 'Qoo! Q-Pad RC0743H', DeviceType::TABLET ],
407
+ 'RC0813C' => [ '3Q', 'Qoo! Q-Pad RC0813C', DeviceType::TABLET ],
408
+ 'RC0813CM' => [ '3Q', 'Qoo! Q-Pad RC0813CM', DeviceType::TABLET ],
409
+ 'RC0817C' => [ '3Q', 'Qoo! Q-Pad RC0817C', DeviceType::TABLET ],
410
+ 'RC1018C' => [ '3Q', 'Qoo! Q-Pad RC1018C', DeviceType::TABLET ],
411
+ 'RC1019G' => [ '3Q', 'Qoo! Q-Pad RC1019G', DeviceType::TABLET ],
412
+ 'RC1025F' => [ '3Q', 'Qoo! Q-Pad RC1025F', DeviceType::TABLET ],
413
+ 'RC1301C' => [ '3Q', 'Qoo! Q-Pad RC1301C', DeviceType::TABLET ],
414
+ 'RC7802F' => [ '3Q', 'Qoo! Q-Pad RC7802F', DeviceType::TABLET ],
415
+ 'RC9711B' => [ '3Q', 'Qoo! Q-Pad RC9711B', DeviceType::TABLET ],
416
+ 'RC9712C' => [ '3Q', 'Qoo! Q-Pad RC9712C', DeviceType::TABLET ],
417
+ 'RC9716B' => [ '3Q', 'Qoo! Q-Pad RC9716B', DeviceType::TABLET ],
418
+ 'RC9717B' => [ '3Q', 'Qoo! Q-Pad RC9717B', DeviceType::TABLET ],
419
+ 'RC9724C' => [ '3Q', 'Qoo! Q-Pad RC9724C', DeviceType::TABLET ],
420
+ 'RC9726C' => [ '3Q', 'Qoo! Q-Pad RC9726C', DeviceType::TABLET ],
421
+ 'RC9727F' => [ '3Q', 'Qoo! Q-Pad RC9727F', DeviceType::TABLET ],
422
+ 'RC9730C' => [ '3Q', 'Qoo! Q-Pad RC9730C', DeviceType::TABLET ],
423
+ 'RC9731C' => [ '3Q', 'Qoo! Q-Pad RC9731C', DeviceType::TABLET ],
424
+ 'QS0715C' => [ '3Q', 'Qoo! Q-Pad QS0715C', DeviceType::TABLET ],
425
+ 'QS0716D' => [ '3Q', 'Qoo! Q-Pad QS0716D', DeviceType::TABLET ],
426
+ 'QS0717D' => [ '3Q', 'Qoo! Q-Pad QS0717D', DeviceType::TABLET ],
427
+ 'QS0728C' => [ '3Q', 'Qoo! Q-Pad QS0728C', DeviceType::TABLET ],
428
+ 'QS0730C' => [ '3Q', 'Qoo! Q-Pad QS0730C', DeviceType::TABLET ],
429
+ 'QS0815C' => [ '3Q', 'Qoo! Q-Pad QS0815C', DeviceType::TABLET ],
430
+ 'QS9718C' => [ '3Q', 'Qoo! Q-Pad QS9718C', DeviceType::TABLET ],
431
+ 'VM1017A' => [ '3Q', 'Qoo! Q-Pad VM1017A', DeviceType::TABLET ],
432
+ 'TS0807B' => [ '3Q', 'Qoo! Q-Note TS0807B', DeviceType::TABLET ],
433
+ 'TS1003T' => [ '3Q', 'Qoo! Surf Tablet TS1003T', DeviceType::TABLET ],
434
+ 'TS1004T' => [ '3Q', 'Qoo! Surf Tablet TS1004T', DeviceType::TABLET ],
435
+ 'TS1009B' => [ '3Q', 'Qoo! Surf Tablet TS1009B', DeviceType::TABLET ],
436
+ 'TS1013B' => [ '3Q', 'Qoo! Surf Tablet TS1013B', DeviceType::TABLET ],
437
+ 'TS9708B' => [ '3Q', 'Qoo! Surf Tablet TS9708B', DeviceType::TABLET ],
438
+ 'OC1020A' => [ '3Q', 'Qoo! Surf Tablet OC1020A', DeviceType::TABLET ],
439
+ 'QS9715F' => [ '3Q', 'Qoo! Surf Tablet QS9715F', DeviceType::TABLET ],
440
+ 'QS9719D' => [ '3Q', 'Qoo! Surf Tablet QS9719D', DeviceType::TABLET ],
441
+ 'QS1023H' => [ '3Q', 'Qoo! Surf Tablet QS1023H', DeviceType::TABLET ],
442
+ 'VM0711A' => [ '3Q', 'Qoo! Surf Tablet VM0711A', DeviceType::TABLET ],
443
+ ],
444
+
445
+ 'BioniQ!!' => [
446
+ 'BioniQ 700' => [ 'a-rival', 'BioniQ 700', DeviceType::TABLET ],
447
+ 'BioniQ700HX' => [ 'a-rival', 'BioniQ 700 HX', DeviceType::TABLET ],
448
+ 'BioniQ 800' => [ 'a-rival', 'BioniQ 800', DeviceType::TABLET ],
449
+ 'BioniQ 1001' => [ 'a-rival', 'BioniQ 1001', DeviceType::TABLET ],
450
+ 'BioniQ 8008' => [ 'a-rival', 'BioniQ 8008', DeviceType::TABLET ],
451
+ ],
452
+
453
+ 'RTC-700A' => [ 'Aaeon', 'RTC-700A', DeviceType::TABLET ],
454
+ 'aspire1000s' => [ 'Acer', '1000 Series', DeviceType::DESKTOP ],
455
+
456
+ 'A[0-9]{3,3}!!' => [
457
+ 'A100' => [ 'Acer', 'Iconia Tab A100', DeviceType::TABLET ],
458
+ 'A101' => [ 'Acer', 'Iconia Tab A101', DeviceType::TABLET ],
459
+ 'A110' => [ 'Acer', 'Iconia Tab A110', DeviceType::TABLET ],
460
+ 'A200' => [ 'Acer', 'Iconia Tab A200', DeviceType::TABLET ],
461
+ 'A200 3G' => [ 'Acer', 'Iconia Tab A200', DeviceType::TABLET ],
462
+ 'A210' => [ 'Acer', 'Iconia Tab A210', DeviceType::TABLET ],
463
+ 'A211' => [ 'Acer', 'Iconia Tab A211', DeviceType::TABLET ],
464
+ 'A500' => [ 'Acer', 'Iconia Tab A500', DeviceType::TABLET ],
465
+ 'A501' => [ 'Acer', 'Iconia Tab A501', DeviceType::TABLET ],
466
+ 'A510' => [ 'Acer', 'Iconia Tab A510', DeviceType::TABLET ],
467
+ 'A511' => [ 'Acer', 'Iconia Tab A511', DeviceType::TABLET ],
468
+ 'A700' => [ 'Acer', 'Iconia Tab A700', DeviceType::TABLET ],
469
+ 'A701' => [ 'Acer', 'Iconia Tab A701', DeviceType::TABLET ],
470
+ 'A800' => [ 'Acer', 'Iconia Tab A800', DeviceType::TABLET ],
471
+ ],
472
+
473
+ 'P2A700' => [ 'Acer', 'Iconia Tab A700', DeviceType::TABLET ],
474
+
475
+ 'A1-[0-9]{3,3}!!' => [
476
+ 'A1-713' => [ 'Acer', 'Iconia Tab 7 A1-713', DeviceType::TABLET ],
477
+ 'A1-713HD' => [ 'Acer', 'Iconia Tab 7 A1-713 HD', DeviceType::TABLET ],
478
+ 'A1-724' => [ 'Acer', 'Iconia TalkTab 7 A1-724', DeviceType::TABLET ],
479
+ 'A1-810' => [ 'Acer', 'Iconia A1-810', DeviceType::TABLET ],
480
+ 'A1-811' => [ 'Acer', 'Iconia A1-811', DeviceType::TABLET ],
481
+ 'A1-812' => [ 'Acer', 'Iconia A1-812', DeviceType::TABLET ],
482
+ 'A1-820' => [ 'Acer', 'Iconia A1-820', DeviceType::TABLET ],
483
+ 'A1-830' => [ 'Acer', 'Iconia A1-830', DeviceType::TABLET ],
484
+ 'A1-840' => [ 'Acer', 'Iconia Tab 8 A1-840', DeviceType::TABLET ],
485
+ 'A1-840FHD' => [ 'Acer', 'Iconia Tab 8 A1-840 FHD', DeviceType::TABLET ],
486
+ 'A1-841' => [ 'Acer', 'Iconia Tab 8 A1-841', DeviceType::TABLET ],
487
+ 'A1-850' => [ 'Acer', 'Iconia One 8 A1-850', DeviceType::TABLET ],
488
+ 'A1-860' => [ 'Acer', 'Iconia Tab 8 A1-860', DeviceType::TABLET ],
489
+ ],
490
+
491
+ 'A3-A[0-9]{2,2}!!' => [
492
+ 'A3-A10' => [ 'Acer', 'Iconia A3-A10', DeviceType::TABLET ],
493
+ 'A3-A11' => [ 'Acer', 'Iconia A3-A11', DeviceType::TABLET ],
494
+ 'A3-A20' => [ 'Acer', 'Iconia Tab 10 A3-A20', DeviceType::TABLET ],
495
+ 'A3-A20FHD' => [ 'Acer', 'Iconia Tab 10 A3-A20 FHD', DeviceType::TABLET ],
496
+ 'A3-A30' => [ 'Acer', 'Iconia Tab 10 A3-A30', DeviceType::TABLET ],
497
+ ],
498
+
499
+ 'B1-[A0-9][0-9]{2,2}!!' => [
500
+ 'B1-A71' => [ 'Acer', 'Iconia B1-A71', DeviceType::TABLET ],
501
+ 'B1-710' => [ 'Acer', 'Iconia B1-710', DeviceType::TABLET ],
502
+ 'B1-711' => [ 'Acer', 'Iconia B1-711', DeviceType::TABLET ],
503
+ 'B1-713' => [ 'Acer', 'Iconia B1-713', DeviceType::TABLET ],
504
+ 'B1-720' => [ 'Acer', 'Iconia B1-720', DeviceType::TABLET ],
505
+ 'B1-721' => [ 'Acer', 'Iconia B1-721', DeviceType::TABLET ],
506
+ 'B1-723' => [ 'Acer', 'Iconia B1-723', DeviceType::TABLET ],
507
+ 'B1-730' => [ 'Acer', 'Iconia One 7 B1-730', DeviceType::TABLET ],
508
+ 'B1-730HD' => [ 'Acer', 'Iconia One 7 B1-730 HD', DeviceType::TABLET ],
509
+ 'B1-750' => [ 'Acer', 'Iconia One 7 B1-750', DeviceType::TABLET ],
510
+ 'B1-760' => [ 'Acer', 'Iconia One 7 B1-760', DeviceType::TABLET ],
511
+ 'B1-760HD' => [ 'Acer', 'Iconia One 7 B1-760 HD', DeviceType::TABLET ],
512
+ 'B1-770' => [ 'Acer', 'Iconia B1-770', DeviceType::TABLET ],
513
+ 'B1-810' => [ 'Acer', 'Iconia One 8 B1-810', DeviceType::TABLET ],
514
+ 'B1-820' => [ 'Acer', 'Iconia One 8 B1-820', DeviceType::TABLET ],
515
+ 'B1-830' => [ 'Acer', 'Iconia One 8 B1-830', DeviceType::TABLET ],
516
+ ],
517
+
518
+ 'TD070VA1' => [ 'Acer', 'Iconia One 7 TD070VA1', DeviceType::TABLET ],
519
+
520
+ 'ICONIA!!' => [
521
+ 'ICONIA Tab W500' => [ 'Acer', 'Iconia W500', DeviceType::TABLET ],
522
+ 'ICONIA Tab W500P' => [ 'Acer', 'Iconia W500P', DeviceType::TABLET ],
523
+ 'ICONIA Tab W501' => [ 'Acer', 'Iconia W501', DeviceType::TABLET ],
524
+ 'ICONIA W700' => [ 'Acer', 'Iconia W700', DeviceType::TABLET ],
525
+ ],
526
+
527
+ 'GT-810' => [ 'Acer', 'Predator 8', DeviceType::TABLET ],
528
+
529
+ 'E[0-9]{2,2}0?!!' => [
530
+ 'E110' => [ 'Acer', 'beTouch E110' ],
531
+ 'E120' => [ 'Acer', 'beTouch E120' ],
532
+ 'E130' => [ 'Acer', 'beTouch E130' ],
533
+ 'E140' => [ 'Acer', 'beTouch E140' ],
534
+ 'E210' => [ 'Acer', 'beTouch E210' ],
535
+ 'E310' => [ 'Acer', 'Liquid mini' ],
536
+ 'E320' => [ 'Acer', 'Liquid Express' ],
537
+ 'E330' => [ 'Acer', 'Liquid Glow' ],
538
+ 'E350' => [ 'Acer', 'Liquid Gallant' ],
539
+ 'E380' => [ 'Acer', 'Liquid E3' ],
540
+ 'E400' => [ 'Acer', 'beTouch E400' ],
541
+ 'E600' => [ 'Acer', 'Liquid E600' ],
542
+ 'E39' => [ 'Acer', 'Liquid E700' ],
543
+ ],
544
+
545
+ 'I110' => [ 'Acer', 'Liquid C1' ],
546
+
547
+ 'S[0-9]{2,2}0?!!' => [
548
+ 'S100' => [ 'Acer', 'Liquid' ],
549
+ 'S110' => [ 'Acer', 'Stream' ],
550
+ 'S120' => [ 'Acer', 'Liquid mt' ],
551
+ 'S300' => [ 'Acer', 'Iconia Smart' ],
552
+ 'S500' => [ 'Acer', 'CloudMobile' ],
553
+ 'S510' => [ 'Acer', 'Liquid S' ],
554
+ 'S520' => [ 'Acer', 'Liquid S2' ],
555
+ 'S53' => [ 'Acer', 'Liquid S3' ],
556
+ 'S55' => [ 'Acer', 'Liquid Jade' ],
557
+ 'S56' => [ 'Acer', 'Liquid Jade S' ],
558
+ 'S57' => [ 'Acer', 'Liquid Jade Z' ],
559
+ 'S59' => [ 'Acer', 'Liquid X2' ],
560
+ ],
561
+
562
+ 'V[0-9]{2,2}0!!' => [
563
+ 'V360' => [ 'Acer', 'Liquid E1' ],
564
+ 'V370' => [ 'Acer', 'Liquid E2' ],
565
+ 'V380' => [ 'Acer', 'Liquid E3' ],
566
+ ],
567
+
568
+ 'Z[0-9]{3,3}!!' => [
569
+ 'Z110' => [ 'Acer', 'Liquid Z' ],
570
+ 'Z120' => [ 'Acer', 'Liquid Z2' ],
571
+ 'Z130' => [ 'Acer', 'Liquid Z3' ],
572
+ 'Z140' => [ 'Acer', 'Liquid Z4' ],
573
+ 'Z150' => [ 'Acer', 'Liquid Z5' ],
574
+ 'Z160' => [ 'Acer', 'Liquid Z4' ],
575
+ 'Z200' => [ 'Acer', 'Liquid Z200' ],
576
+ 'Z205' => [ 'Acer', 'Liquid Z205' ],
577
+ 'Z205P' => [ 'Acer', 'Liquid Z205' ],
578
+ 'Z220' => [ 'Acer', 'Liquid Z220' ],
579
+ 'Z410' => [ 'Acer', 'Liquid Z410' ],
580
+ 'Z500' => [ 'Acer', 'Liquid Z500' ],
581
+ 'Z520' => [ 'Acer', 'Liquid Z520' ],
582
+ ],
583
+
584
+ 'Z4' => [ 'Acer', 'Liquid Z4' ],
585
+ 'T01' => [ 'Acer', 'Liquid Z330' ],
586
+ 'T012' => [ 'Acer', 'Liquid Z330' ],
587
+ 'T02' => [ 'Acer', 'Liquid Z530' ],
588
+ 'T05' => [ 'Acer', 'Liquid Z530S' ],
589
+ 'T03' => [ 'Acer', 'Liquid Z630' ],
590
+ 'T04' => [ 'Acer', 'Liquid Z630S' ],
591
+ 'TD600' => [ 'Acer', 'beTouch TD600' ],
592
+ 'AK330' => [ 'Acer', 'Liquid Gallant Duo' ],
593
+ 'AK330s' => [ 'Acer', 'Liquid Gallant Duo' ],
594
+ 'AT390' => [ 'Acer', 'Liquid C' ],
595
+ 'E1 v360' => [ 'Acer', 'Liquid E1' ],
596
+ 'v360 E1' => [ 'Acer', 'Liquid E1' ],
597
+
598
+ 'Liquid!!' => [
599
+ 'Liquid' => [ 'Acer', 'Liquid' ],
600
+ 'Liquid E' => [ 'Acer', 'Liquid E' ],
601
+ 'LIQUID E1' => [ 'Acer', 'Liquid E1 ' ],
602
+ 'LIQUID E2' => [ 'Acer', 'Liquid E2 ' ],
603
+ 'Liquid MT' => [ 'Acer', 'Liquid mt' ],
604
+ 'Liquid Metal' => [ 'Acer', 'Liquid mt' ],
605
+ ],
606
+
607
+ 'Stream' => [ 'Acer', 'Stream' ],
608
+ 'M3-2200' => [ 'Acer', 'M3-2200', DeviceType::TABLET ],
609
+ 'MWND1' => [ 'Acer', 'MWND1 Android Dongle', DeviceType::TELEVISION ],
610
+
611
+ 'DA2[0-9]{2,2}[A-Z]+!!' => [
612
+ 'DA220HQL' => [ 'Acer', 'Touch and 3D Monitor DA220HQL', DeviceType::MONITOR ],
613
+ 'DA221HQL' => [ 'Acer', 'Touch and 3D Monitor DA221HQL', DeviceType::MONITOR ],
614
+ 'DA222HQL' => [ 'Acer', 'Touch and 3D Monitor DA222HQL', DeviceType::MONITOR ],
615
+ 'DA222HQLA' => [ 'Acer', 'Touch and 3D Monitor DA222HQL', DeviceType::MONITOR ],
616
+ 'DA223HQL' => [ 'Acer', 'All-in-One DA223HQL', DeviceType::MONITOR ],
617
+ 'DA226HQ' => [ 'Acer', 'All-in-One DA226HQ', DeviceType::MONITOR ],
618
+ 'DA241HL' => [ 'Acer', 'All-in-One DA241HL', DeviceType::MONITOR ],
619
+ 'DA245HQL' => [ 'Acer', 'Touch and 3D Monitor DA245HQL', DeviceType::MONITOR ],
620
+ ],
621
+
622
+ 'TA272HUL' => [ 'Acer', 'All-in-One TA272HUL', DeviceType::MONITOR ],
623
+
624
+ 'AA3-600' => [ 'Acer', 'Aspire A3', DeviceType::DESKTOP ],
625
+
626
+ 'Aspire!!' => [
627
+ 'Aspire A1' => [ 'Acer', 'Aspire A1', DeviceType::DESKTOP ],
628
+ 'Aspire ([0-9]{4,4}[A-Z]?)!' => [ 'Acer', 'Aspire $1', DeviceType::DESKTOP ],
629
+ 'Aspire ([A-Z][A-Z0-9]-[0-9]{3,3}[A-Z]?)!' => [ 'Acer', 'Aspire $1', DeviceType::DESKTOP ],
630
+ 'Aspire ([A-Z][0-9]{4,4}[A-Z]?)!' => [ 'Acer', 'Aspire $1', DeviceType::DESKTOP ],
631
+ 'Aspire ([A-Z]{2,2}[0-9]-[0-9]{3,3})!' => [ 'Acer', 'Aspire $1', DeviceType::DESKTOP ],
632
+ 'Aspire one' => [ 'Acer', 'Aspire One', DeviceType::DESKTOP ],
633
+ 'Aspire one Pro' => [ 'Acer', 'Aspire One Pro', DeviceType::DESKTOP ],
634
+ ],
635
+
636
+ 'C908' => [ 'Acho', 'C908', DeviceType::TABLET ],
637
+
638
+ 'ADVAN Q7A' => [ 'Advan', 'Vandroid Q7A' ],
639
+ 'ADVAN E1C+' => [ 'Advan', 'Vandroid E1-C+', DeviceType::TABLET ],
640
+ 'ADVAN S3' => [ 'Advan', 'Vandroid S3', DeviceType::TABLET ],
641
+ 'ADVAN S3+' => [ 'Advan', 'Vandroid S3+', DeviceType::TABLET ],
642
+ 'ADVAN S3A' => [ 'Advan', 'Vandroid S3-A', DeviceType::TABLET ],
643
+ 'ADVAN S3C' => [ 'Advan', 'Vandroid S3-C', DeviceType::TABLET ],
644
+ 'ADVAN S4' => [ 'Advan', 'Vandroid S4', DeviceType::TABLET ],
645
+ 'ADVAN S4+' => [ 'Advan', 'Vandroid S4+', DeviceType::TABLET ],
646
+ 'ADVAN S4A' => [ 'Advan', 'Vandroid S4-A', DeviceType::TABLET ],
647
+ 'ADVAN S4C' => [ 'Advan', 'Vandroid S4-C', DeviceType::TABLET ],
648
+ 'ADVAN S4E' => [ 'Advan', 'Vandroid S4-E', DeviceType::TABLET ],
649
+ 'ADVAN S5E' => [ 'Advan', 'Vandroid S5-E', DeviceType::TABLET ],
650
+ 'Vandroid S5E' => [ 'Advan', 'Vandroid S5-E', DeviceType::TABLET ],
651
+ 'ADVAN S5E Pro' => [ 'Advan', 'Vandroid S5-E Pro', DeviceType::TABLET ],
652
+ 'S5-F' => [ 'Advan', 'Vandroid S5-F', DeviceType::TABLET ],
653
+ 'ADVAN S5H' => [ 'Advan', 'Vandroid S5-H', DeviceType::TABLET ],
654
+ 'ADVAN S5I' => [ 'Advan', 'Vandroid S5-I', DeviceType::TABLET ],
655
+ 'Advan S5K' => [ 'Advan', 'Vandroid S5-K', DeviceType::TABLET ],
656
+ 'ADVAN S5M' => [ 'Advan', 'Vandroid S5-M', DeviceType::TABLET ],
657
+ 'ADVAN S6A' => [ 'Advan', 'Vandroid S6-A', DeviceType::TABLET ],
658
+ 'T1-B' => [ 'Advan', 'Vandroid T1-B', DeviceType::TABLET ],
659
+ 'T1-D' => [ 'Advan', 'Vandroid T1-D', DeviceType::TABLET ],
660
+ 'T1-E' => [ 'Advan', 'Vandroid T1-E', DeviceType::TABLET ],
661
+ 'ADVAN T1G' => [ 'Advan', 'Vandroid T1-G', DeviceType::TABLET ],
662
+ 'ADVAN T1J' => [ 'Advan', 'Vandroid T1-J', DeviceType::TABLET ],
663
+ 'Vandroid T1J' => [ 'Advan', 'Vandroid T1-J', DeviceType::TABLET ],
664
+ 'ADVAN T1J+' => [ 'Advan', 'Vandroid T1-J+', DeviceType::TABLET ],
665
+ 'T1K Plus' => [ 'Advan', 'Vandroid T1-K Plus', DeviceType::TABLET ],
666
+ 'ADVAN T1L' => [ 'Advan', 'Vandroid T1-L', DeviceType::TABLET ],
667
+ 'ADVAN T2E' => [ 'Advan', 'Vandroid T2-E', DeviceType::TABLET ],
668
+ 'ADVAN T2F' => [ 'Advan', 'Vandroid T2-F', DeviceType::TABLET ],
669
+ 'Vandroid T3-A' => [ 'Advan', 'Vandroid T3-A', DeviceType::TABLET ],
670
+ 'ADVAN T3E+' => [ 'Advan', 'Vandroid T3-E+', DeviceType::TABLET ],
671
+ 'Vandroid T3i' => [ 'Advan', 'Vandroid T3i', DeviceType::TABLET ],
672
+ 'ADVAN T5C' => [ 'Advan', 'Vandroid T5-C', DeviceType::TABLET ],
673
+ 'Vandroid T' => [ 'Advan', 'Vandroid T', DeviceType::TABLET ],
674
+ 'Vega' => [ 'Advent', 'Vega', DeviceType::TABLET ],
675
+ 'VegaBean!' => [ 'Advent', 'Vega', DeviceType::TABLET ],
676
+ 'Advent Vega' => [ 'Advent', 'Vega', DeviceType::TABLET ],
677
+ 'Boost' => [ 'AG Mobile', 'Boost' ],
678
+ 'Chacer' => [ 'AG Mobile', 'Chacer' ],
679
+ 'AG Chrome Selfie' => [ 'AG Mobile', 'Chrome Selfie' ],
680
+ 'AG CHROME ULTRA' => [ 'AG Mobile', 'Chrome Ultra' ],
681
+ 'Ghost' => [ 'AG Mobile', 'Ghost' ],
682
+ 'Neon' => [ 'AG Mobile', 'Neon' ],
683
+ 'Quest' => [ 'AG Mobile', 'Quest' ],
684
+ 'Rage' => [ 'AG Mobile', 'Rage' ],
685
+ 'Shine' => [ 'AG Mobile', 'Shine' ],
686
+ 'Status' => [ 'AG Mobile', 'Status' ],
687
+ 'Style' => [ 'AG Mobile', 'Style' ],
688
+ 'Swift' => [ 'AG Mobile', 'Swift' ],
689
+ 'Swift Plus' => [ 'AG Mobile', 'Swift Plus' ],
690
+ 'Ultra' => [ 'AG Mobile', 'Ultra' ],
691
+ 'Zenith' => [ 'AG Mobile', 'Zenith' ],
692
+ 'Zoom' => [ 'AG Mobile', 'Zoom' ],
693
+ 'AG Tab 7 0' => [ 'AG Mobile', 'Tab 7.0', DeviceType::TABLET ],
694
+ 'AG Go-Tab Access' => [ 'AG Mobile', 'Go-Tab Access', DeviceType::TABLET ],
695
+ 'AG Chrome Go Tab 7.0' => [ 'AG Mobile', 'Go-Tab Chrome', DeviceType::TABLET ],
696
+ 'aigoPad' => [ 'aigo', 'aigoPad', DeviceType::TABLET ],
697
+ 'aigoPadM60' => [ 'aigo', 'aigoPad M60', DeviceType::TABLET ],
698
+ 'AigoPad M60' => [ 'aigo', 'aigoPad M60', DeviceType::TABLET ],
699
+ 'aigoPad M80D' => [ 'aigo', 'aigoPad M80', DeviceType::TABLET ],
700
+ 'aigoPad M80E' => [ 'aigo', 'aigoPad M80', DeviceType::TABLET ],
701
+ 'M801' => [ 'aigo', 'aigoPad M801', DeviceType::TABLET ],
702
+ 'N700' => [ 'aigo', 'aigoPad N700', DeviceType::TABLET ],
703
+ 'AT102HC' => [ 'Aikun', 'iTouch AT102HC', DeviceType::TABLET ],
704
+ 'AT104GS' => [ 'Aikun', 'iTouch AT104GS', DeviceType::TABLET ],
705
+
706
+ 'Numy!!' => [
707
+ 'Numy 3G AW1' => [ 'Ainol', 'Numy 3G AW1', DeviceType::TABLET ],
708
+ 'Numy 3G AX1' => [ 'Ainol', 'Numy 3G AX1', DeviceType::TABLET ],
709
+ 'Numy 3G AX10t' => [ 'Ainol', 'Numy 3G AX10t', DeviceType::TABLET ],
710
+ 'Numy 3G AX3' => [ 'Ainol', 'Numy 3G AX3', DeviceType::TABLET ],
711
+ 'Numy 3G BW1' => [ 'Ainol', 'Numy 3G BW1', DeviceType::TABLET ],
712
+ 'Numy 3G Vegas' => [ 'Ainol', 'Numy 3G Vegas', DeviceType::TABLET ],
713
+ 'Numy Note 9' => [ 'Ainol', 'Numy Note 9', DeviceType::TABLET ],
714
+ ],
715
+
716
+ 'Novo7' => [ 'Ainovo', 'Novo7', DeviceType::TABLET ],
717
+ 'Novo7 -?Aurora!' => [ 'Ainovo', 'Novo7 Aurora', DeviceType::TABLET ],
718
+ 'novo Aurora' => [ 'Ainovo', 'Novo7 Aurora', DeviceType::TABLET ],
719
+ 'Novo 7 Aurora' => [ 'Ainovo', 'Novo7 Aurora', DeviceType::TABLET ],
720
+ 'Ainovo Aurora-II' => [ 'Ainovo', 'Novo7 Aurora II', DeviceType::TABLET ],
721
+ 'Aurora-II' => [ 'Ainovo', 'Novo7 Aurora II', DeviceType::TABLET ],
722
+ 'Novo7 Advanced' => [ 'Ainovo', 'Novo7 Advanced', DeviceType::TABLET ],
723
+ 'Novo7Advanced!' => [ 'Ainovo', 'Novo7 Advanced', DeviceType::TABLET ],
724
+ 'Novo7 Advanced2' => [ 'Ainovo', 'Novo7 Advanced 2', DeviceType::TABLET ],
725
+ 'Novo7 Basic' => [ 'Ainovo', 'Novo7 Basic', DeviceType::TABLET ],
726
+ 'NovoCrystal' => [ 'Ainovo', 'Novo7 Crystal', DeviceType::TABLET ],
727
+ 'Novo 7 Crystal!' => [ 'Ainovo', 'Novo7 Crystal', DeviceType::TABLET ],
728
+ 'Novo7 ELF' => [ 'Ainovo', 'Novo7 Elf', DeviceType::TABLET ],
729
+ 'ELF-II' => [ 'Ainovo', 'Novo7 Elf II', DeviceType::TABLET ],
730
+ 'Novo7 Fire' => [ 'Ainovo', 'Novo7 Fire', DeviceType::TABLET ],
731
+ 'Novo7 Flame' => [ 'Ainovo', 'Novo7 Flame', DeviceType::TABLET ],
732
+ 'Ainovo Flame (Nexus 7)' => [ 'Ainovo', 'Novo7 Flame', DeviceType::TABLET ],
733
+ 'Novo7 Grace' => [ 'Ainovo', 'Novo7 Grace', DeviceType::TABLET ],
734
+ 'Novo7 Legend' => [ 'Ainovo', 'Novo7 Legend', DeviceType::TABLET ],
735
+ 'novo7Legend!' => [ 'Ainovo', 'Novo7 Legend', DeviceType::TABLET ],
736
+ 'NOVO7 Mars' => [ 'Ainovo', 'Novo7 Mars', DeviceType::TABLET ],
737
+ 'Novo7 PALADIN' => [ 'Ainovo', 'Novo7 Paladin', DeviceType::TABLET ],
738
+ 'npm702-NOVO7PALADIN' => [ 'Ainovo', 'Novo7 Paladin', DeviceType::TABLET ],
739
+ 'Novo7 Rainbow' => [ 'Ainovo', 'Novo7 Rainbow', DeviceType::TABLET ],
740
+ 'Novo7 -Rainbow' => [ 'Ainovo', 'Novo7 Rainbow', DeviceType::TABLET ],
741
+ 'NOVO7 Tornados' => [ 'Ainovo', 'Novo7 Tornados', DeviceType::TABLET ],
742
+ 'Novo7 Venus' => [ 'Ainovo', 'Novo7 Venus', DeviceType::TABLET ],
743
+ 'Novo 7 Venus' => [ 'Ainovo', 'Novo7 Venus', DeviceType::TABLET ],
744
+ 'Novo7 Venus QuadCore' => [ 'Ainovo', 'Novo7 Venus', DeviceType::TABLET ],
745
+ 'Novo 7 Venus QuadCore' => [ 'Ainovo', 'Novo7 Venus', DeviceType::TABLET ],
746
+ 'Novo8 Advanced' => [ 'Ainovo', 'Novo8 Advanced', DeviceType::TABLET ],
747
+ 'Novo8 Discover Quadcore' => [ 'Ainovo', 'Novo8 Discover', DeviceType::TABLET ],
748
+ 'Novo8 Disover Quadcore' => [ 'Ainovo', 'Novo8 Discover', DeviceType::TABLET ],
749
+ 'Novo8 Dream QuadCore' => [ 'Ainovo', 'Novo8 Dream', DeviceType::TABLET ],
750
+ 'Novo8mini' => [ 'Ainovo', 'Novo8 Mini', DeviceType::TABLET ],
751
+ 'novo9-Spark' => [ 'Ainovo', 'Novo9 Spark', DeviceType::TABLET ],
752
+ 'NOVO9 Spark II' => [ 'Ainovo', 'Novo9 Spark II', DeviceType::TABLET ],
753
+ 'Novo 10 Hero' => [ 'Ainovo', 'Novo10 Hero', DeviceType::TABLET ],
754
+ 'Novo10 ?Hero!' => [ 'Ainovo', 'Novo10 Hero', DeviceType::TABLET ],
755
+ 'Novo 10 Hero QuadCore' => [ 'Ainovo', 'Novo10 Hero', DeviceType::TABLET ],
756
+ 'Novo Captain' => [ 'Ainovo', 'Novo10 Captain', DeviceType::TABLET ],
757
+ 'Novo10 captain QuadCore' => [ 'Ainovo', 'Novo10 Captain', DeviceType::TABLET ],
758
+ 'AIRIS GN135' => [ 'Airis', 'GN135' ],
759
+ 'AIRIS S211' => [ 'Airis', 'S211' ],
760
+ 'AIRIS TM51Q' => [ 'Airis', 'TM51Q' ],
761
+ 'AIRIS TM54QM' => [ 'Airis', 'TM54QM' ],
762
+ 'AIRIS TM55S' => [ 'Airis', 'TM55S' ],
763
+ 'AIRIS TM60D' => [ 'Airis', 'TM60D' ],
764
+ 'AIRIS TM350' => [ 'Airis', 'TM350' ],
765
+ 'TM400' => [ 'Airis', 'TM400' ],
766
+ 'AIRIS TM400' => [ 'Airis', 'TM400' ],
767
+ 'AIRIS TM475' => [ 'Airis', 'TM475' ],
768
+ 'AIRIS TM421M' => [ 'Airis', 'TM421M' ],
769
+ 'AIRIS TM500' => [ 'Airis', 'TM500' ],
770
+ 'AIRIS OnePAD 725' => [ 'Airis', 'OnePAD 725' ],
771
+ 'AIRIS OnePAD700' => [ 'Airis', 'OnePAD 700' ],
772
+ 'AIRIS OnePAD 730' => [ 'Airis', 'OnePAD 730' ],
773
+ 'OnePAD 785I' => [ 'Airis', 'OnePAD 785I' ],
774
+ 'OnePAD 900HD' => [ 'Airis', 'OnePAD 900HD' ],
775
+ 'OnePAD 970' => [ 'Airis', 'OnePAD 970' ],
776
+ 'AirisOnePad1000' => [ 'Airis', 'OnePAD 1000' ],
777
+ 'OnePAD 1100x2' => [ 'Airis', 'OnePAD 1100x2' ],
778
+ 'AKAI NEO' => [ 'AKAI', 'Neo' ],
779
+ 'AKAI N8800' => [ 'AKAI', 'N8800' ],
780
+ 'PHA-3850' => [ 'AKAI', 'PHA-3850' ],
781
+ 'PHA-3880' => [ 'AKAI', 'PHA-3880 Glory F1' ],
782
+ 'AKAI PHA-4800' => [ 'AKAI', 'PHA-4800 Glory G1' ],
783
+ 'PHA-4850' => [ 'AKAI', 'PHA-4850 Glory L1' ],
784
+ 'AKAIPHA 5800' => [ 'AKAI', 'PHA-5800' ],
785
+ 'PHA-5850' => [ 'AKAI', 'PHA-5850 Glory O1' ],
786
+ 'AKAI MIDMA-7002S' => [ 'AKAI', 'MIDMA 7002S', DeviceType::TABLET ],
787
+ 'MID1040C' => [ 'AKAI', 'MID1040C', DeviceType::TABLET ],
788
+ 'A206G' => [ 'Alcatel', 'A206G' ],
789
+ 'A450TL' => [ 'Alcatel', 'One Touch Pixi Charm' ],
790
+ 'A460G' => [ 'Alcatel', 'One Touch Pixi Pulsar' ],
791
+ 'A463BG' => [ 'Alcatel', 'One Touch Pixi Glitz' ],
792
+ 'A480G' => [ 'Alcatel', 'One Touch Pop C1' ],
793
+ 'A520L' => [ 'Alcatel', 'One Touch Pop Nova' ],
794
+ 'A521L' => [ 'Alcatel', 'One Touch Pop Star 2' ],
795
+ 'A554C' => [ 'Alcatel', 'One Touch Juke' ],
796
+ 'A556C' => [ 'Alcatel', 'A556C' ],
797
+ 'A560G' => [ 'Alcatel', 'A560G' ],
798
+ 'A562G' => [ 'Alcatel', 'A562G' ],
799
+ 'A564R' => [ 'Alcatel', 'One Touch Pop Icon' ],
800
+ 'A564C' => [ 'Alcatel', 'One Touch Pop Icon' ],
801
+ 'A621BL' => [ 'Alcatel', 'A621BL' ],
802
+ 'A845L' => [ 'Alcatel', 'One Touch Pop Star' ],
803
+ 'A846L' => [ 'Alcatel', 'One Touch Pop Icon 2' ],
804
+ 'Alcatel A851L' => [ 'Alcatel', 'One Touch Sonic' ],
805
+ 'A851L' => [ 'Alcatel', 'One Touch Sonic' ],
806
+ 'A995L' => [ 'Alcatel', 'One Touch Pop Mega' ],
807
+ 'ONETOUCH Flash Plus' => [ 'Alcatel', 'One Touch Flash Plus' ],
808
+ 'one touch 890!' => [ 'Alcatel', 'One Touch 890' ],
809
+ 'one touch 891!' => [ 'Alcatel', 'One Touch 891' ],
810
+ 'one touch 900!' => [ 'Alcatel', 'One Touch 900' ],
811
+ 'one touch 903!' => [ 'Alcatel', 'One Touch 903' ],
812
+ 'one touch 906!' => [ 'Alcatel', 'One Touch 906' ],
813
+ 'Alcatel one touch 908F' => [ 'Alcatel', 'One Touch 908' ],
814
+ 'one touch 908!' => [ 'Alcatel', 'One Touch 908' ],
815
+ 'one touch 909!' => [ 'Alcatel', 'One Touch 909' ],
816
+ 'USCC ALCATEL one touch 909B' => [ 'Alcatel', 'One Touch 909' ],
817
+ 'one touch 910!' => [ 'Alcatel', 'One Touch 910' ],
818
+ 'one touch 913!' => [ 'Alcatel', 'One Touch 913' ],
819
+ 'one touch 916!' => [ 'Alcatel', 'One Touch 916' ],
820
+ 'one touch 918!' => [ 'Alcatel', 'One Touch 918' ],
821
+ 'Alcatel one touch 918' => [ 'Alcatel', 'One Touch 918' ],
822
+ 'Alcatel ONETOUCH 918' => [ 'Alcatel', 'One Touch 918' ],
823
+ 'OT 918' => [ 'Alcatel', 'One Touch 918' ],
824
+ 'ALCATEL OT 919' => [ 'Alcatel', 'One Touch 919' ],
825
+ 'OT 919' => [ 'Alcatel', 'One Touch 919' ],
826
+ 'OT 919 HelloKitty' => [ 'Alcatel', 'One Touch 919 Hello Kitty' ],
827
+ 'one touch 922!' => [ 'Alcatel', 'One Touch 922' ],
828
+ 'one touch 927!' => [ 'Alcatel', 'One Touch 927' ],
829
+ 'one touch 928!' => [ 'Alcatel', 'One Touch 928' ],
830
+ 'one touch 930!' => [ 'Alcatel', 'One Touch 930' ],
831
+ 'one touch 960!' => [ 'Alcatel', 'One Touch 960' ],
832
+ 'one touch 976!' => [ 'Alcatel', 'One Touch 976' ],
833
+ 'one touch 978!' => [ 'Alcatel', 'One Touch 978' ],
834
+ 'one touch 979 HelloKitty' => [ 'Alcatel', 'One Touch 979 Hello Kitty' ],
835
+ 'one touch 979!' => [ 'Alcatel', 'One Touch 979' ],
836
+ 'one touch 980!' => [ 'Alcatel', 'One Touch 980' ],
837
+ 'one touch 981!' => [ 'Alcatel', 'One Touch 981' ],
838
+ 'one touch 983!' => [ 'Alcatel', 'One Touch 983' ],
839
+ 'one touch 985!' => [ 'Alcatel', 'One Touch 985' ],
840
+ 'one touch 986!' => [ 'Alcatel', 'One Touch 986' ],
841
+ 'one touch 988!' => [ 'Alcatel', 'One Touch 988' ],
842
+ 'USCC ALCATEL one touch 988' => [ 'Alcatel', 'One Touch 988' ],
843
+ 'one touch 990!' => [ 'Alcatel', 'One Touch 990' ],
844
+ 'Alcatel one touch 990' => [ 'Alcatel', 'One Touch 990' ],
845
+ 'Alcatel one touch 990S' => [ 'Alcatel', 'One Touch 990' ],
846
+ 'TCL ONE TOUCH 990' => [ 'Alcatel', 'One Touch 990' ],
847
+ 'OT-990C' => [ 'Alcatel', 'One Touch 990' ],
848
+ 'OT 990M' => [ 'Alcatel', 'One Touch 990' ],
849
+ 'one touch 991!' => [ 'Alcatel', 'One Touch 991' ],
850
+ 'one touch 992!' => [ 'Alcatel', 'One Touch 992' ],
851
+ 'ONE TOCH 992D' => [ 'Alcatel', 'One Touch 992' ],
852
+ 'one touch 993!' => [ 'Alcatel', 'One Touch 993' ],
853
+ 'one touch 995!' => [ 'Alcatel', 'One Touch 995' ],
854
+ 'OT-995' => [ 'Alcatel', 'One Touch 995' ],
855
+ 'one touch 997!' => [ 'Alcatel', 'One Touch 997' ],
856
+ 'one touch 998!' => [ 'Alcatel', 'One Touch 998' ],
857
+ 'one touch D662' => [ 'Alcatel', 'One Touch D662' ],
858
+ 'one touch D668' => [ 'Alcatel', 'One Touch D668' ],
859
+ 'one touch D820' => [ 'Alcatel', 'One Touch D820' ],
860
+ 'one touch D920' => [ 'Alcatel', 'One Touch D920' ],
861
+ 'one touch J320' => [ 'Alcatel', 'One Touch J320' ],
862
+ '1216[X]!' => [ 'Alcatel', 'One Touch Pixi 3 (7)' ],
863
+ '4003[AJ]!' => [ 'Alcatel', 'One Touch Pixi 3 (4)' ],
864
+ 'one ?touch 40(05|10|11)!' => [ 'Alcatel', 'One Touch T\'Pop' ],
865
+ 'one ?touch 4007!' => [ 'Alcatel', 'One Touch Pixi' ],
866
+ 'one ?touch 4008!' => [ 'Alcatel', 'One Touch Pixi 3 (3.5)' ],
867
+ '4008[A]!' => [ 'Alcatel', 'One Touch Pixi 3 (3.5)' ],
868
+ 'one ?touch 4009!' => [ 'Alcatel', 'One Touch Pixi 3 (3.5)' ],
869
+ '4009[ADEFKMSX]!' => [ 'Alcatel', 'One Touch Pixi 3 (3.5)' ],
870
+ 'one ?touch 4013!' => [ 'Alcatel', 'One Touch Pixi 3 (4)' ],
871
+ '4013[ADEJKMX]!' => [ 'Alcatel', 'One Touch Pixi 3 (4)' ],
872
+ 'one ?touch 4014!' => [ 'Alcatel', 'One Touch Pixi 3 (4)' ],
873
+ '4014[AMX]!' => [ 'Alcatel', 'One Touch Pixi 3 (4)' ],
874
+ 'one ?touch 40(15|16)!' => [ 'Alcatel', 'One Touch Pop C1' ],
875
+ '4015[ANTX]!' => [ 'Alcatel', 'One Touch Pop C1' ],
876
+ '4015[D]!' => [ 'Alcatel', 'One Touch Pixi 2' ],
877
+ '4016[ADX]!' => [ 'Alcatel', 'One Touch Pop C1' ],
878
+ '4017[DEFX]!' => [ 'Alcatel', 'One Touch Pixi 4 (3.5)' ],
879
+ '4018[ADEFMX]!' => [ 'Alcatel', 'One Touch Pop D1' ],
880
+ 'one ?touch 4024!' => [ 'Alcatel', 'One Touch Pixi First' ],
881
+ '4024[DEX]!' => [ 'Alcatel', 'One Touch Pixi First' ],
882
+ 'one ?touch 4027!' => [ 'Alcatel', 'One Touch Pixi 3 (4.5)' ],
883
+ '4027[ADNX]!' => [ 'Alcatel', 'One Touch Pixi 3 (4.5)' ],
884
+ '4028[AEJS]!' => [ 'Alcatel', 'One Touch Pixi 3 (4.5)' ],
885
+ 'one ?touch 4029!' => [ 'Alcatel', 'One Touch S\'Pop' ],
886
+ 'one ?touch 4030!' => [ 'Alcatel', 'One Touch S\'Pop' ],
887
+ 'one ?touch 4031!' => [ 'Alcatel', 'One Touch Flash Mini' ],
888
+ 'one ?touch 4032!' => [ 'Alcatel', 'One Touch Pop C2' ],
889
+ '4032[ADEX]!' => [ 'Alcatel', 'One Touch Pop C2' ],
890
+ 'one ?touch 4033!' => [ 'Alcatel', 'One Touch Pop C3' ],
891
+ '4033[AL]!' => [ 'Alcatel', 'One Touch Pop C3' ],
892
+ 'ONETOUCH POPC3' => [ 'Alcatel', 'One Touch Pop C3' ],
893
+ 'one ?touch 40(35|36|37)!' => [ 'Alcatel', 'One Touch Pop D3' ],
894
+ '4035[ADYX]!' => [ 'Alcatel', 'One Touch Pop D3' ],
895
+ '4036[E]!' => [ 'Alcatel', 'One Touch Pop D3' ],
896
+ '4037[AX]!' => [ 'Alcatel', 'One Touch Pop D3' ],
897
+ '4037[T]!' => [ 'Alcatel', 'One Touch Evolve 2' ],
898
+ 'one ?touch 5045!' => [ 'Alcatel', 'One Touch Pop 2 (4)' ],
899
+ '4045[ADELOX]!' => [ 'Alcatel', 'One Touch Pop 2 (4)' ],
900
+ '5015[ADEX]!' => [ 'Alcatel', 'One Touch Pixi 3 (5)' ],
901
+ '5016[AJ]!' => [ 'Alcatel', 'One Touch Pixi 3 (5)' ],
902
+ '5017[B]!' => [ 'Alcatel', 'One Touch Elevate' ],
903
+ '5017[ADEOX]!' => [ 'Alcatel', 'One Touch Pixi 3 (4.5)' ],
904
+ 'one ?touch 5020!' => [ 'Alcatel', 'One Touch M\'Pop' ],
905
+ 'Alcatel OT M\'pop 5020D' => [ 'Alcatel', 'One Touch M\'Pop' ],
906
+ 'M POP 5020A' => [ 'Alcatel', 'One Touch M\'Pop' ],
907
+ 'M POP' => [ 'Alcatel', 'One Touch M\'Pop' ],
908
+ '5020[A]!' => [ 'Alcatel', 'One Touch M\'Pop' ],
909
+ 'one ?touch 5021!' => [ 'Alcatel', 'One Touch Soleil' ],
910
+ '5022[DX]!' => [ 'Alcatel', 'One Touch Pop Star' ],
911
+ '5025[DEGX]!' => [ 'Alcatel', 'One Touch Pop 3' ],
912
+ 'one ?touch 5035!' => [ 'Alcatel', 'One Touch X\'Pop' ],
913
+ 'one ?touch 50(36|37)!' => [ 'Alcatel', 'One Touch Pop C5' ],
914
+ 'ONETOUCH POPC5' => [ 'Alcatel', 'One Touch Pop C5' ],
915
+ 'one ?touch 50(38)!' => [ 'Alcatel', 'One Touch Pop D5' ],
916
+ '5038[ADEX]!' => [ 'Alcatel', 'One Touch Pop D5' ],
917
+ 'one ?touch 5042!' => [ 'Alcatel', 'One Touch Pop 2 (4.5)' ],
918
+ '5042[ADEFGTWXY]!' => [ 'Alcatel', 'One Touch Pop 2 (4.5)' ],
919
+ '5045[JX]!' => [ 'Alcatel', 'One Touch Pixi 4 (5.0)' ],
920
+ 'one ?touch 5050!' => [ 'Alcatel', 'One Touch Pop S3' ],
921
+ '5050[ASYX]!' => [ 'Alcatel', 'One Touch Pop S3' ],
922
+ '5054[ADOSTX]!' => [ 'Alcatel', 'One Touch Pixi 3 (5.5)' ],
923
+ '5054[NW]!' => [ 'Alcatel', 'One Touch Fierce XL' ],
924
+ '5065[ADJWX]!' => [ 'Alcatel', 'One Touch Pixi 3 (5)' ],
925
+ '5070[DJX]!' => [ 'Alcatel', 'One Touch Pop Star' ],
926
+ 'one ?touch 6010!' => [ 'Alcatel', 'One Touch Star' ],
927
+ 'one ?touch 6012!' => [ 'Alcatel', 'One Touch Idol Mini' ],
928
+ 'ONE TOUCH IDOL MINI' => [ 'Alcatel', 'One Touch Idol Mini' ],
929
+ 'one ?touch 6014!' => [ 'Alcatel', 'One Touch Idol Mini' ],
930
+ '6014[DX]!' => [ 'Alcatel', 'One Touch Idol Mini' ],
931
+ 'one ?touch 6016!' => [ 'Alcatel', 'One Touch Idol 2 Mini' ],
932
+ '6016[ADEX]!' => [ 'Alcatel', 'One Touch Idol 2 Mini' ],
933
+ 'one ?touch 6030!' => [ 'Alcatel', 'One Touch Idol' ],
934
+ 'one ?touch 6032!' => [ 'Alcatel', 'One Touch Idol α' ],
935
+ 'one ?touch 6033!' => [ 'Alcatel', 'One Touch Idol Ultra' ],
936
+ 'one ?touch 60(34|35)!' => [ 'Alcatel', 'One Touch Idol S' ],
937
+ 'one ?touch 6036!' => [ 'Alcatel', 'One Touch Idol 2 Mini S' ],
938
+ '6036[AYX]!' => [ 'Alcatel', 'One Touch Idol 2 Mini S' ],
939
+ 'one ?touch 6037!' => [ 'Alcatel', 'One Touch Idol 2 Dual' ],
940
+ '6037[BIKY]!' => [ 'Alcatel', 'One Touch Idol 2 Dual' ],
941
+ 'one ?touch 6039!' => [ 'Alcatel', 'One Touch Idol 3 (4.7)' ],
942
+ '6039[AHJKSY]!' => [ 'Alcatel', 'One Touch Idol 3 (4.7)' ],
943
+ 'one ?touch 6040!' => [ 'Alcatel', 'One Touch Idol X' ],
944
+ '6042[D]!' => [ 'Alcatel', 'One Touch Flash' ],
945
+ 'one ?touch 6043!' => [ 'Alcatel', 'One Touch Idol X+' ],
946
+ '6043[AD]!' => [ 'Alcatel', 'One Touch Idol X+' ],
947
+ '6044D' => [ 'Alcatel', 'One Touch Pop Up' ],
948
+ 'one ?touch 6045!' => [ 'Alcatel', 'One Touch Idol 3 (5.5)' ],
949
+ '6045[BFGIKOXY]!' => [ 'Alcatel', 'One Touch Idol 3 (5.5)' ],
950
+ 'one ?touch 6050!' => [ 'Alcatel', 'One Touch Idol 2S' ],
951
+ '6050[AFWY]!' => [ 'Alcatel', 'One Touch Idol 2S' ],
952
+ '6055[BHIKPY]!' => [ 'Alcatel', 'One Touch Idol 4' ],
953
+ '6070[K]!' => [ 'Alcatel', 'One Touch Idol 4s' ],
954
+ 'one ?touch 7024!' => [ 'Alcatel', 'One Touch Fierce' ],
955
+ 'one touch fierce!' => [ 'Alcatel', 'One Touch Fierce' ],
956
+ 'one ?touch 70(25|30)!' => [ 'Alcatel', 'One Touch Snap' ],
957
+ '7030[L]!' => [ 'Alcatel', 'One Touch Snap' ],
958
+ 'one ?touch 70(40|41)!' => [ 'Alcatel', 'One Touch Pop C7' ],
959
+ '7040[NR]!' => [ 'Alcatel', 'One Touch Pop C7' ],
960
+ '7040[T]!' => [ 'Alcatel', 'One Touch Fierce 2' ],
961
+ 'one ?touch 7042!' => [ 'Alcatel', 'One Touch Snap' ],
962
+ 'one ?touch 7043!' => [ 'Alcatel', 'One Touch Pop 2 (5)' ],
963
+ '7043[AEKY]!' => [ 'Alcatel', 'One Touch Pop 2 (5)' ],
964
+ 'one ?touch 7044!' => [ 'Alcatel', 'One Touch Pop 2 (5) Premium' ],
965
+ '7044[AXY]!' => [ 'Alcatel', 'One Touch Pop 2 (5) Premium' ],
966
+ 'one ?touch 7045!' => [ 'Alcatel', 'One Touch Pop S7' ],
967
+ '7045[Y]!' => [ 'Alcatel', 'One Touch Pop S7' ],
968
+ '7046[T]!' => [ 'Alcatel', 'One Touch Conquest' ],
969
+ 'one ?touch 7047!' => [ 'Alcatel', 'One Touch Pop C9' ],
970
+ '7048[ASWX]!' => [ 'Alcatel', 'One Touch Go Play' ],
971
+ 'one ?touch 7050!' => [ 'Alcatel', 'One Touch Pop S9' ],
972
+ '7050[Y]!' => [ 'Alcatel', 'One Touch Pop S9' ],
973
+ '7051[X]!' => [ 'Alcatel', 'One Touch Pop 3 (5)' ],
974
+ '7053[D]!' => [ 'Alcatel', 'X1' ],
975
+ '7055[AW]!' => [ 'Alcatel', 'One Touch Hero 2C' ],
976
+ '7051[X]!' => [ 'Alcatel', 'One Touch Pop 2 (5) Premium' ],
977
+ 'one ?touch 8000!' => [ 'Alcatel', 'One Touch Scribe Easy' ],
978
+ 'one ?touch 8008!' => [ 'Alcatel', 'One Touch Scribe HD' ],
979
+ 'one ?touch 8020!' => [ 'Alcatel', 'One Touch Hero' ],
980
+ '8020[D]!' => [ 'Alcatel', 'One Touch Hero' ],
981
+ 'one ?touch 8030!' => [ 'Alcatel', 'One Touch Hero 2' ],
982
+ '8030[BY]!' => [ 'Alcatel', 'One Touch Hero 2' ],
983
+ '9002[AWX]!' => [ 'Alcatel', 'One Touch Pixi 3 (7)' ],
984
+ '9003[A]!' => [ 'Alcatel', 'One Touch Pixi 4 (7)' ],
985
+ '9006[W]!' => [ 'Alcatel', 'One Touch Pixi 4 (7)' ],
986
+ '9007[ATX]!' => [ 'Alcatel', 'One Touch Pixi 3 (7)' ],
987
+ '9005[X]!' => [ 'Alcatel', 'One Touch Pixi 3 (8)' ],
988
+ '9010[X]!' => [ 'Alcatel', 'One Touch Pixi 3 (10)' ],
989
+ '9022[X]!' => [ 'Alcatel', 'One Touch Pixi 3 (8)' ],
990
+ 'one ?touch T10!' => [ 'Alcatel', 'One Touch T10', DeviceType::TABLET ],
991
+ 'one ?touch T20!' => [ 'Alcatel', 'One Touch T20', DeviceType::TABLET ],
992
+ 'one ?touch T60!' => [ 'Alcatel', 'One Touch T60', DeviceType::TABLET ],
993
+ 'ONE TOUCH TAB 7' => [ 'Alcatel', 'One Touch Tab 7', DeviceType::TABLET ],
994
+ 'ONE TOUCH TAB 7HD' => [ 'Alcatel', 'One Touch Tab 7HD', DeviceType::TABLET ],
995
+ 'ONE TOUCH TAB 8HD' => [ 'Alcatel', 'One Touch Tab 8HD', DeviceType::TABLET ],
996
+ 'ONE TOUCH EVO7' => [ 'Alcatel', 'One Touch Evo 7', DeviceType::TABLET ],
997
+ 'onetouch EVO7' => [ 'Alcatel', 'One Touch Evo 7', DeviceType::TABLET ],
998
+ 'ONE TOUCH E710' => [ 'Alcatel', 'One Touch Evo 7 HD', DeviceType::TABLET ],
999
+ 'ONE TOUCH EVO 7HD' => [ 'Alcatel', 'One Touch Evo 7 HD', DeviceType::TABLET ],
1000
+ 'ONE TOUCH EVO7HD' => [ 'Alcatel', 'One Touch Evo 7 HD', DeviceType::TABLET ],
1001
+ 'ONE TOUCH EVO8HD' => [ 'Alcatel', 'One Touch Evo 8 HD', DeviceType::TABLET ],
1002
+ 'D820X' => [ 'Alcatel', 'One Touch Hero 8', DeviceType::TABLET ],
1003
+ 'ONETOUCH POP 7 LTE' => [ 'Alcatel', 'One Touch POP7', DeviceType::TABLET ],
1004
+ 'ONE ?TOUCH P310(A|X)!' => [ 'Alcatel', 'One Touch POP7', DeviceType::TABLET ],
1005
+ 'ONE ?TOUCH P320(A|X)!' => [ 'Alcatel', 'One Touch POP8', DeviceType::TABLET ],
1006
+ 'ONE ?TOUCH P321!' => [ 'Alcatel', 'One Touch POP8', DeviceType::TABLET ],
1007
+ '9021A' => [ 'Alcatel', 'One Touch POP8', DeviceType::TABLET ],
1008
+ 'P330X' => [ 'Alcatel', 'One Touch POP7S', DeviceType::TABLET ],
1009
+ 'P350X' => [ 'Alcatel', 'One Touch POP8S', DeviceType::TABLET ],
1010
+ 'ONE ?TOUCH POP 8S P350X!' => [ 'Alcatel', 'One Touch POP8S', DeviceType::TABLET ],
1011
+ 'P360X' => [ 'Alcatel', 'One Touch POP10', DeviceType::TABLET ],
1012
+ 'ADR3010' => [ 'Alcatel', 'Authority' ],
1013
+ 'Venture' => [ 'Alcatel', 'Venture' ],
1014
+ 'Mobile Sosh' => [ 'Alcatel', 'Le mobile Sosh' ],
1015
+ 'Alcor Access Q913M' => [ 'Alcor', 'Access Q913M', DeviceType::TABLET ],
1016
+ 'Alcor Zest Q813I' => [ 'Alcor', 'Zest Q813I', DeviceType::TABLET ],
1017
+ 'Alcor Zest Q813IS' => [ 'Alcor', 'Zest Q813IS', DeviceType::TABLET ],
1018
+ 'Alcor Zest Q813IX' => [ 'Alcor', 'Zest Q813IX', DeviceType::TABLET ],
1019
+ 'Alcor Zest Q933R' => [ 'Alcor', 'Zest Q933R', DeviceType::TABLET ],
1020
+ 'ALLVIEW A4ALL' => [ 'Allview', 'A4 All' ],
1021
+ 'A5 Easy' => [ 'Allview', 'A5 Easy' ],
1022
+ 'A5 Easy TM' => [ 'Allview', 'A5 Easy' ],
1023
+ 'A5 Lite' => [ 'Allview', 'A5 Lite' ],
1024
+ 'A5 Quad Plus' => [ 'Allview', 'A5 Quad Plus' ],
1025
+ 'A5 Quad Plus TM' => [ 'Allview', 'A5 Quad Plus' ],
1026
+ 'A6 Duo' => [ 'Allview', 'A6 Duo' ],
1027
+ 'A6 Lite' => [ 'Allview', 'A6 Lite' ],
1028
+ 'ALLVIEW A6 Quad' => [ 'Allview', 'A6 Quad' ],
1029
+ 'A7 Lite' => [ 'Allview', 'A7 Lite' ],
1030
+ 'AX3Party' => [ 'Allview', 'AX3 Party' ],
1031
+ 'AX4Nano plus' => [ 'Allview', 'AX4 Nano Plus' ],
1032
+ 'C6 Duo' => [ 'Allview', 'C6 Duo' ],
1033
+ 'C6Quad 4G' => [ 'Allview', 'C6 Quad' ],
1034
+ 'E2 Jump' => [ 'Allview', 'E2 Jump' ],
1035
+ 'E3 Living' => [ 'Allview', 'E3 Living' ],
1036
+ 'E3 Sign' => [ 'Allview', 'E3 Sign' ],
1037
+ 'E4' => [ 'Allview', 'E4' ],
1038
+ 'E4 Lite' => [ 'Allview', 'E4 Lite' ],
1039
+ 'ALLVIEW P1' => [ 'Allview', 'P1 Alldro' ],
1040
+ 'Allview P2' => [ 'Allview', 'P2 Alldro' ],
1041
+ 'ALLVIEW P4' => [ 'Allview', 'P4 Alldro' ],
1042
+ 'ALLVIEW P4i' => [ 'Allview', 'P4 Duo' ],
1043
+ 'P4i' => [ 'Allview', 'P4 Duo' ],
1044
+ 'Allview P5' => [ 'Allview', 'P5' ],
1045
+ 'P5 Energy' => [ 'Allview', 'P5 Energy' ],
1046
+ 'P5Life' => [ 'Allview', 'P5 Life' ],
1047
+ 'P5Life TM' => [ 'Allview', 'P5 Life' ],
1048
+ 'Allview P5-Mini' => [ 'Allview', 'P5 Mini' ],
1049
+ 'ALLVIEW P5 Quad' => [ 'Allview', 'P5 Quad' ],
1050
+ 'ALLVIEW P5 Qmax' => [ 'Allview', 'P5 Qmax' ],
1051
+ 'ALLVIEW P6' => [ 'Allview', 'P6' ],
1052
+ 'P6 Energy' => [ 'Allview', 'P6 Energy' ],
1053
+ 'P6 Energy TM' => [ 'Allview', 'P6 Energy' ],
1054
+ 'P6 Pro' => [ 'Allview', 'P6 Pro' ],
1055
+ 'P6 Qmax' => [ 'Allview', 'P6 Qmax' ],
1056
+ 'ALLVIEW P6 Quad' => [ 'Allview', 'P6 Quad' ],
1057
+ 'P6 Quad' => [ 'Allview', 'P6 Quad' ],
1058
+ 'P8 Energy' => [ 'Allview', 'P8 Energy' ],
1059
+ 'P8 Energy mini' => [ 'Allview', 'P8 Energy Mini' ],
1060
+ 'P8 Energy mini TM' => [ 'Allview', 'P8 Energy Mini' ],
1061
+ 'ALLVIEW TX1 Quasar' => [ 'Allview', 'TX1 Quasar' ],
1062
+ 'V1 Viper' => [ 'Allview', 'V1 Viper' ],
1063
+ 'V1 Viper E' => [ 'Allview', 'V1 Viper E' ],
1064
+ 'V1 Viper I' => [ 'Allview', 'V1 Viper I' ],
1065
+ 'V1 Viper I4G' => [ 'Allview', 'V1 Viper I' ],
1066
+ 'V1 Viper I4G PL' => [ 'Allview', 'V1 Viper I' ],
1067
+ 'V1 Viper I4G TM' => [ 'Allview', 'V1 Viper I' ],
1068
+ 'V1 Viper L' => [ 'Allview', 'V1 Viper L' ],
1069
+ 'V1 ViperS' => [ 'Allview', 'V1 Viper S' ],
1070
+ 'V1 Viper S4G' => [ 'Allview', 'V1 Viper S' ],
1071
+ 'V2 Viper' => [ 'Allview', 'V2 Viper' ],
1072
+ 'V2 Viper I' => [ 'Allview', 'V2 Viper I' ],
1073
+ 'V2 Viper I TM' => [ 'Allview', 'V2 Viper I' ],
1074
+ 'V2 Viper X' => [ 'Allview', 'V2 Viper X' ],
1075
+ 'V2 Viper X plus' => [ 'Allview', 'V2 Viper X Plus' ],
1076
+ 'Viva C701' => [ 'Allview', 'Viva C701' ],
1077
+ 'Viva H701' => [ 'Allview', 'Viva H701' ],
1078
+ 'Viva H701 LTE CZ' => [ 'Allview', 'Viva H701' ],
1079
+ 'VivaH7LTE' => [ 'Allview', 'Viva H7' ],
1080
+ 'VivaH8LTE' => [ 'Allview', 'Viva H8' ],
1081
+ 'H8 Life' => [ 'Allview', 'Viva H8 Life' ],
1082
+ 'VivaH10LTE' => [ 'Allview', 'Viva H10' ],
1083
+ 'Viva i7G' => [ 'Allview', 'Viva i7G' ],
1084
+ 'Viva i10HD' => [ 'Allview', 'Viva i10 HD' ],
1085
+ 'Viva i701G TM' => [ 'Allview', 'Viva i701G' ],
1086
+ 'X1 Soul' => [ 'Allview', 'X1 Soul' ],
1087
+ 'X1 Soul Mini' => [ 'Allview', 'X1 Soul Mini' ],
1088
+ 'X1 mini Soul' => [ 'Allview', 'X1 Soul Mini' ],
1089
+ 'X1 Soul Xtreme' => [ 'Allview', 'X1 Soul Xtreme' ],
1090
+ 'X1 Xtreme Mini' => [ 'Allview', 'X1 Xtreme Mini' ],
1091
+ 'X2 Soul' => [ 'Allview', 'X2 Soul' ],
1092
+ 'X2 Soul Lite' => [ 'Allview', 'X2 Soul Lite' ],
1093
+ 'X2 Soul Lite TM' => [ 'Allview', 'X2 Soul Lite' ],
1094
+ 'X2 Soul Mini' => [ 'Allview', 'X2 Soul Mini' ],
1095
+ 'X2 Soul Mini TM' => [ 'Allview', 'X2 Soul Mini' ],
1096
+ 'X2 Soul PRO' => [ 'Allview', 'X2 Soul Pro' ],
1097
+ 'X2 Soul Style' => [ 'Allview', 'X2 Soul Style' ],
1098
+ 'X2 Soul Style TM' => [ 'Allview', 'X2 Soul Style' ],
1099
+ 'X2 Soul Style Plus' => [ 'Allview', 'X2 Soul Style Plus' ],
1100
+ 'X2 Soul Xtreme' => [ 'Allview', 'X2 Soul Xtreme' ],
1101
+ 'X2 Twin' => [ 'Allview', 'X2 Twin' ],
1102
+ 'X3 Soul' => [ 'Allview', 'X3 Soul' ],
1103
+ 'X3 Soul mini' => [ 'Allview', 'X3 Soul Mini' ],
1104
+
1105
+ '(Allview|Alldro)!!' => [
1106
+ 'Allview AX1 Shine' => [ 'Allview', 'AX1 Shine', DeviceType::TABLET ],
1107
+ 'AllviewAX2' => [ 'Allview', 'AX2 Frenzy', DeviceType::TABLET ],
1108
+ 'AllviewAX2Frenzy' => [ 'Allview', 'AX2 Frenzy', DeviceType::TABLET ],
1109
+ 'ALLVIEW SPEEDI' => [ 'Allview', 'Alldro Speed', DeviceType::TABLET ],
1110
+ 'AllviewSpeed' => [ 'Allview', 'Alldro Speed', DeviceType::TABLET ],
1111
+ 'ALLDROSPEED' => [ 'Allview', 'Alldro Speed', DeviceType::TABLET ],
1112
+ 'AllviewSpeedDuo' => [ 'Allview', 'Alldro Speed Duo', DeviceType::TABLET ],
1113
+ 'AllviewSpeedEco' => [ 'Allview', 'Alldro Speed Eco', DeviceType::TABLET ],
1114
+ 'AllviewSpeedSatellite' => [ 'Allview', 'Alldro Speed Satellite', DeviceType::TABLET ],
1115
+ 'AllviewSpeedSatelite' => [ 'Allview', 'Alldro Speed Satellite', DeviceType::TABLET ],
1116
+ 'ALLDRO2SPEED' => [ 'Allview', 'Alldro Speed 2', DeviceType::TABLET ],
1117
+ 'Allview2SpeedDuo' => [ 'Allview', 'Alldro Speed 2 Duo', DeviceType::TABLET ],
1118
+ 'Allview 2 Speed QUAD' => [ 'Allview', 'Alldro Speed 2 Quad', DeviceType::TABLET ],
1119
+ 'AllviewSpeed2' => [ 'Allview', 'Alldro Speed 2', DeviceType::TABLET ],
1120
+ 'AllviewSpeed2+' => [ 'Allview', 'Alldro Speed 2', DeviceType::TABLET ],
1121
+ 'AllviewSpeed3' => [ 'Allview', 'Alldro Speed 3', DeviceType::TABLET ],
1122
+ 'AllviewSpeed3G' => [ 'Allview', 'Alldro Speed 3G', DeviceType::TABLET ],
1123
+ 'AllviewSpeed3HD' => [ 'Allview', 'Alldro Speed 3HD', DeviceType::TABLET ],
1124
+ 'AllviewSpeed3T' => [ 'Allview', 'Alldro Speed 3T', DeviceType::TABLET ],
1125
+ 'Alldro3Speed DUO' => [ 'Allview', 'Alldro Speed 3 Duo', DeviceType::TABLET ],
1126
+ 'Allview3SpeedQuad' => [ 'Allview', 'Alldro Speed 3 Quad', DeviceType::TABLET ],
1127
+ 'AllviewCity' => [ 'Allview', 'Alldro City', DeviceType::TABLET ],
1128
+ 'AllviewCityPlus' => [ 'Allview', 'Alldro City Plus', DeviceType::TABLET ],
1129
+ 'AllviewCityLife' => [ 'Allview', 'Alldro City Life', DeviceType::TABLET ],
1130
+ 'ALLVIEW VIPER I' => [ 'Allview', 'Viper I', DeviceType::TABLET ],
1131
+ 'Allview Viva H8' => [ 'Allview', 'Viva H8', DeviceType::TABLET ],
1132
+ 'ALLVIEW3CONECT' => [ 'Allview', '3 Conect', DeviceType::TABLET ],
1133
+ ],
1134
+
1135
+ 'A10' => [ 'AllWinner', 'A10', DeviceType::TABLET ],
1136
+ 'Allwinner A10' => [ 'AllWinner', 'A10', DeviceType::TABLET ],
1137
+ '97FC' => [ 'AllWinner', 'A10 97FC', DeviceType::TABLET ],
1138
+ 'A13-?MID!' => [ 'AllWinner', 'A13', DeviceType::TABLET ],
1139
+ 'SoftwinerEvb' => [ 'AllWinner', 'A13', DeviceType::TABLET ],
1140
+ 'SoftwinerEvb0308' => [ 'AllWinner', 'A13', DeviceType::TABLET ],
1141
+ 'SoftwinerEvd' => [ 'AllWinner', 'A13', DeviceType::TABLET ],
1142
+ 'Softwinerkf026' => [ 'AllWinner', 'A13', DeviceType::TABLET ],
1143
+ 'Softwinerf721' => [ 'AllWinner', 'F721', DeviceType::TABLET ],
1144
+ 'Softwinerf761' => [ 'AllWinner', 'F761', DeviceType::TABLET ],
1145
+ 'Softwinerf761I' => [ 'AllWinner', 'F761', DeviceType::TABLET ],
1146
+ 'Softwinerf900' => [ 'AllWinner', 'F900', DeviceType::TABLET ],
1147
+ 'SoftwinerEvbV13' => [ 'AllWinner', 'V13', DeviceType::TABLET ],
1148
+ 'GT-I7105' => [ 'Alps', 'GT-I7105' ],
1149
+ 'GT-I9810' => [ 'Alps', 'GT-I9810' ],
1150
+ 'AT107F' => [ 'Aluratek', 'Cinepad AT107F', DeviceType::TABLET ],
1151
+ 'AT108F' => [ 'Aluratek', 'Cinepad AT108F', DeviceType::TABLET ],
1152
+ 'AT197F' => [ 'Aluratek', 'Cinepad AT197F', DeviceType::TABLET ],
1153
+ 'Amazon Kindle Fire!' => [ 'Amazon', 'Kindle Fire', DeviceType::TABLET ], // 1st generation or unknown variant using unofficial firmware
1154
+ 'Amazon Otter' => [ 'Amazon', 'Kindle Fire', DeviceType::TABLET ], // "Otter" 1st generation 7" (1024 x 600)
1155
+ 'Amazon OtterX' => [ 'Amazon', 'Kindle Fire', DeviceType::TABLET ], // "Otter" 1st generation 7" (1024 x 600)
1156
+ 'Amazon Otter2' => [ 'Amazon', 'Kindle Fire', DeviceType::TABLET ], // "Otter2" 2nd generation 7" (1024 x 600)
1157
+ 'Amazon Tate' => [ 'Amazon', 'Kindle Fire HD', DeviceType::TABLET ], // "Tate" 2nd generation 7" HD (1280 x 800)
1158
+ 'Amazon Jem' => [ 'Amazon', 'Kindle Fire HD 8.9"', DeviceType::TABLET ], // "Jem" 2nd generation 8.9" HD (1920 x 1200)
1159
+ 'soho' => [ 'Amazon', 'Kindle Fire HD (2013)', DeviceType::TABLET ], // "Soho" 3rd generation 7" HD (1280 x 800)
1160
+ 'thor' => [ 'Amazon', 'Kindle Fire HDX', DeviceType::TABLET ], // "Thor" 3rd generation 7" HDX (1920 x 1200)
1161
+ 'apollo' => [ 'Amazon', 'Kindle Fire HDX 8.9"', DeviceType::TABLET ], // "Apollo" 3rd generation 8.9" HDX (2560 x 1600)
1162
+ 'Kindle Fire' => [ 'Amazon', 'Kindle Fire', DeviceType::TABLET, Flag::FIREOS ], // "Otter" 1st generation 7" (1024 x 600)
1163
+ 'KFOTE?!' => [ 'Amazon', 'Kindle Fire', DeviceType::TABLET, Flag::FIREOS ], // "Otter2" 2nd generation 7" (1024 x 600)
1164
+ 'KFTT' => [ 'Amazon', 'Kindle Fire HD', DeviceType::TABLET, Flag::FIREOS ], // "Tate" 2nd generation 7" HD (1280 x 800)
1165
+ 'KFJW(I|A)!' => [ 'Amazon', 'Kindle Fire HD 8.9"', DeviceType::TABLET, Flag::FIREOS ], // "Jem" 2nd generation 8.9" HD (1920 x 1200)
1166
+ 'KFJMWI' => [ 'Amazon', 'Kindle Fire', DeviceType::TABLET, Flag::FIREOS ], // 3rd generation (1280 x 800)
1167
+ 'KFSOWI' => [ 'Amazon', 'Kindle Fire HD (2013)', DeviceType::TABLET, Flag::FIREOS ], // "Soho" 3rd generation 7" HD (1280 x 800)
1168
+ 'KFTHW(I|A)!' => [ 'Amazon', 'Kindle Fire HDX', DeviceType::TABLET, Flag::FIREOS ], // "Thor" 3rd generation 7" HDX (1920 x 1200)
1169
+ 'KFAPW(I|A)!' => [ 'Amazon', 'Kindle Fire HDX 8.9"', DeviceType::TABLET, Flag::FIREOS ], // "Apollo" 3rd generation 8.9" HDX (2560 x 1600)
1170
+ 'KFARWI' => [ 'Amazon', 'Fire HD 6', DeviceType::TABLET, Flag::FIREOS ], // 4th generation 6" HD (1280 x 800)
1171
+ 'KFASWI' => [ 'Amazon', 'Fire HD 7', DeviceType::TABLET, Flag::FIREOS ], // 4th generation 7" HD (1280 x 800)
1172
+ 'KFSAW(I|A)!' => [ 'Amazon', 'Fire HDX 8.9" (2014)', DeviceType::TABLET, Flag::FIREOS ], // 4th generation 8.9" HDX (2560 x 1600)
1173
+ 'KFFOWI' => [ 'Amazon', 'Fire', DeviceType::TABLET, Flag::FIREOS ], // 5th generation 7" (1024 x 600)
1174
+ 'KFMEWI' => [ 'Amazon', 'Fire HD 8', DeviceType::TABLET, Flag::FIREOS ], // 5th generation 8" HD (1280 x 800)
1175
+ 'KFTBWI' => [ 'Amazon', 'Fire HD 10', DeviceType::TABLET, Flag::FIREOS ], // 5th generation 10" HD (1280 x 800)
1176
+ 'SD4930UR' => [ 'Amazon', 'Fire Phone', DeviceType::MOBILE, Flag::FIREOS ],
1177
+ 'AFTB' => [ 'Amazon', 'Fire TV', DeviceType::TELEVISION, Flag::FIREOS ],
1178
+ 'AFTS' => [ 'Amazon', 'Fire TV (2015)', DeviceType::TELEVISION, Flag::FIREOS ],
1179
+ 'AFTM' => [ 'Amazon', 'Fire TV stick', DeviceType::TELEVISION, Flag::FIREOS ],
1180
+ 'AMI-TT2' => [ 'Amicroe', 'TouchTab II', DeviceType::TABLET ],
1181
+ 'AMI-TT2C' => [ 'Amicroe', 'TouchTab IIC', DeviceType::TABLET ],
1182
+ 'AMI-TT4' => [ 'Amicroe', 'TouchTab IV', DeviceType::TABLET ],
1183
+ 'AMI-TTFORCE' => [ 'Amicroe', 'TouchTab Force', DeviceType::TABLET ],
1184
+ 'AML-MX REF' => [ 'AmLogic', 'MX', DeviceType::TABLET ],
1185
+
1186
+ '(AMO-)?AMOI!!' => [
1187
+ 'AMOI 1570W' => [ 'Amoi', '1570W' ],
1188
+ 'AMOI A860w' => [ 'Amoi', 'A860W' ],
1189
+ 'AMOI-A862W' => [ 'Amoi', 'A862W' ],
1190
+ 'AMOI A900T' => [ 'Amoi', 'A900T' ],
1191
+ 'AMOI A900W' => [ 'Amoi', 'A900W' ],
1192
+ 'AMOI A918T' => [ 'Amoi', 'A918T' ],
1193
+ 'AMOI A920' => [ 'Amoi', 'A920' ],
1194
+ 'AMOI A920T' => [ 'Amoi', 'A920T' ],
1195
+ 'AMOI A920W' => [ 'Amoi', 'A920W' ],
1196
+ 'AMOI A928W' => [ 'Amoi', 'A928W' ],
1197
+ 'AMOI A955T' => [ 'Amoi', 'A955T' ],
1198
+ 'AMO-AMOI E700C' => [ 'Amoi', 'E700C' ],
1199
+ 'AMOI E800C' => [ 'Amoi', 'E800C' ],
1200
+ 'AMOI N79+' => [ 'Amoi', 'N79' ],
1201
+ 'AMOI N89' => [ 'Amoi', 'N89' ],
1202
+ 'AMOI N807' => [ 'Amoi', 'N807' ],
1203
+ 'AMOI N808' => [ 'Amoi', 'N808' ],
1204
+ 'AMOI N816' => [ 'Amoi', 'N816' ],
1205
+ 'AMOI N818' => [ 'Amoi', 'N818' ],
1206
+ 'AMOI N820' => [ 'Amoi', 'N820' ],
1207
+ 'AMOI N821' => [ 'Amoi', 'N821' ],
1208
+ 'AMOI[ -]N828!' => [ 'Amoi', 'N828' ],
1209
+ 'AMOI N850' => [ 'Amoi', 'N850' ],
1210
+ 'AMOI N890' => [ 'Amoi', 'N890' ],
1211
+ 'AMOI M8228' => [ 'Amoi', 'M8228' ],
1212
+ 'AMOI M8448' => [ 'Amoi', 'M8448' ],
1213
+ 'Amoi Q50H' => [ 'Amoi', 'Q50H', DeviceType::TABLET ],
1214
+ ],
1215
+
1216
+ 'A862W' => [ 'Amoi', 'A862W' ],
1217
+ 'AMD120' => [ 'AnyDATA', 'AnyTAB AMD120', DeviceType::TABLET ],
1218
+ 'mw07' => [ 'AOC', 'Breeze MW07', DeviceType::TABLET ],
1219
+ 'MW0710' => [ 'AOC', 'Breeze MW0710', DeviceType::TABLET ],
1220
+ 'MW0711' => [ 'AOC', 'Breeze MW0711', DeviceType::TABLET ],
1221
+ 'MW0712' => [ 'AOC', 'Breeze MW0712', DeviceType::TABLET ],
1222
+ 'MW0731' => [ 'AOC', 'Breeze MW0731', DeviceType::TABLET ],
1223
+ 'MW0731PLUS' => [ 'AOC', 'Breeze MW0731 Plus', DeviceType::TABLET ],
1224
+ 'MW0733' => [ 'AOC', 'Breeze MW0733', DeviceType::TABLET ],
1225
+ 'MW0811' => [ 'AOC', 'Breeze MW0811', DeviceType::TABLET ],
1226
+ 'MW0812' => [ 'AOC', 'Breeze MW0812', DeviceType::TABLET ],
1227
+ 'MW0812 V2.0' => [ 'AOC', 'Breeze MW0812', DeviceType::TABLET ],
1228
+ 'MW0821' => [ 'AOC', 'Breeze MW0821', DeviceType::TABLET ],
1229
+ 'MW0821 V2.0' => [ 'AOC', 'Breeze MW0821', DeviceType::TABLET ],
1230
+ 'MW0821+' => [ 'AOC', 'Breeze MW0821 Plus', DeviceType::TABLET ],
1231
+ 'MW0831' => [ 'AOC', 'Breeze MW0831', DeviceType::TABLET ],
1232
+ 'MW0831Plus' => [ 'AOC', 'Breeze MW0831 Plus', DeviceType::TABLET ],
1233
+ 'MW0922' => [ 'AOC', 'Breeze MW0922', DeviceType::TABLET ],
1234
+ 'MW0931' => [ 'AOC', 'Breeze MW0931', DeviceType::TABLET ],
1235
+ 'AOLE 828' => [ 'Aole', '828' ],
1236
+ 'AOSON G18' => [ 'Aoson', 'G18', DeviceType::TABLET ],
1237
+ 'Aoson M11' => [ 'Aoson', 'M11', DeviceType::TABLET ],
1238
+ 'M19' => [ 'Aoson', 'M19', DeviceType::TABLET ],
1239
+ 'Aoson M19' => [ 'Aoson', 'M19', DeviceType::TABLET ],
1240
+ 'aoson m33' => [ 'Aoson', 'M33', DeviceType::TABLET ],
1241
+ 'aoson M33 3G' => [ 'Aoson', 'M33', DeviceType::TABLET ],
1242
+ 'AOSON M1016' => [ 'Aoson', 'M1016', DeviceType::TABLET ],
1243
+ 'Apanda.A60!' => [ 'Apanda', 'A60' ],
1244
+ 'apanda-A80S' => [ 'Apanda', 'A80' ],
1245
+ 'apanda-A100' => [ 'Apanda', 'A100' ],
1246
+ 'apanda-A101' => [ 'Apanda', 'A101' ],
1247
+ 'Quicki-811' => [ 'Apollo', 'Quicki-811', DeviceType::TABLET ],
1248
+ 'Aprix D97+' => [ 'Aprix', 'D97+', DeviceType::TABLET ],
1249
+ 'ARCHM901' => [ 'Archos', 'Arnova M901', DeviceType::TABLET ],
1250
+ 'AN7CG2' => [ 'Archos', 'Arnova 7c G2', DeviceType::TABLET ],
1251
+ 'Arnova 7G2' => [ 'Archos', 'Arnova 7 G2', DeviceType::TABLET ],
1252
+ 'AN7G2' => [ 'Archos', 'Arnova 7 G2', DeviceType::TABLET ],
1253
+ 'AN7G2DTE' => [ 'Archos', 'Arnova 7 G2', DeviceType::TABLET ],
1254
+ 'AN7G2I' => [ 'Archos', 'Arnova 7 G2', DeviceType::TABLET ],
1255
+ 'AN7G3' => [ 'Archos', 'Arnova 7 G3', DeviceType::TABLET ],
1256
+ 'AN7BG2' => [ 'Archos', 'Arnova 7b G2', DeviceType::TABLET ],
1257
+ 'AN7BG2DT' => [ 'Archos', 'Arnova 7b G2', DeviceType::TABLET ],
1258
+ 'AN7BG3' => [ 'Archos', 'Arnova 7b G3', DeviceType::TABLET ],
1259
+ 'AN7CG3' => [ 'Archos', 'Arnova 7c G3', DeviceType::TABLET ],
1260
+ 'AN7DG3' => [ 'Archos', 'Arnova 7d G3', DeviceType::TABLET ],
1261
+ 'AN7DG3B' => [ 'Archos', 'Arnova 7d G3', DeviceType::TABLET ],
1262
+ 'AN7DG3-CP' => [ 'Archos', 'Arnova Childpad', DeviceType::TABLET ],
1263
+ 'AN7DG3ST-CP' => [ 'Archos', 'Arnova Childpad', DeviceType::TABLET ],
1264
+ 'AN7FG3' => [ 'Archos', 'Arnova 7f G3', DeviceType::TABLET ],
1265
+ 'AN7HG3' => [ 'Archos', 'Arnova 7h G3', DeviceType::TABLET ],
1266
+ 'AN7IG3' => [ 'Archos', 'Arnova 7i G3', DeviceType::TABLET ],
1267
+ 'A80KSC!' => [ 'Archos', 'Arnova 8', DeviceType::TABLET ],
1268
+ 'ARNOVA8G2' => [ 'Archos', 'Arnova 8 G2', DeviceType::TABLET ],
1269
+ 'AN8G2' => [ 'Archos', 'Arnova 8 G2', DeviceType::TABLET ],
1270
+ 'AN8G2I' => [ 'Archos', 'Arnova 8 G2', DeviceType::TABLET ],
1271
+ 'AN8G3' => [ 'Archos', 'Arnova 8 G3', DeviceType::TABLET ],
1272
+ 'AN8BG2' => [ 'Archos', 'Arnova 8b G2', DeviceType::TABLET ],
1273
+ 'AN8BG3' => [ 'Archos', 'Arnova 8b G3', DeviceType::TABLET ],
1274
+ 'AN8CG3' => [ 'Archos', 'Arnova 8c G3', DeviceType::TABLET ],
1275
+ 'AN9G2' => [ 'Archos', 'Arnova 9 G2', DeviceType::TABLET ],
1276
+ 'AN9G2I' => [ 'Archos', 'Arnova 9i G2', DeviceType::TABLET ],
1277
+ 'AN9G3' => [ 'Archos', 'Arnova 9 G3', DeviceType::TABLET ],
1278
+ 'A101B' => [ 'Archos', 'Arnova 10', DeviceType::TABLET ],
1279
+ 'Arnova 10G2' => [ 'Archos', 'Arnova 10 G2', DeviceType::TABLET ],
1280
+ 'A101C' => [ 'Archos', 'Arnova 10 G2', DeviceType::TABLET ],
1281
+ 'AN10G2' => [ 'Archos', 'Arnova 10 G2', DeviceType::TABLET ],
1282
+ 'AN10G2-KN' => [ 'Archos', 'Arnova 10 G2', DeviceType::TABLET ],
1283
+ 'AN10G2-LN' => [ 'Archos', 'Arnova 10 G2', DeviceType::TABLET ],
1284
+ 'AN10G2I' => [ 'Archos', 'Arnova 10 G2', DeviceType::TABLET ],
1285
+ 'AN10BG2' => [ 'Archos', 'Arnova 10b G2', DeviceType::TABLET ],
1286
+ 'AN10BG2DT' => [ 'Archos', 'Arnova 10b G2', DeviceType::TABLET ],
1287
+ 'AN10BG2I' => [ 'Archos', 'Arnova 10b G2', DeviceType::TABLET ],
1288
+ 'AN10BG3' => [ 'Archos', 'Arnova 10b G3', DeviceType::TABLET ],
1289
+ 'AN10BG3DT' => [ 'Archos', 'Arnova 10b G3', DeviceType::TABLET ],
1290
+ 'AN10CG3' => [ 'Archos', 'Arnova 10c G3', DeviceType::TABLET ],
1291
+ 'AN10DG3' => [ 'Archos', 'Arnova 10d G3', DeviceType::TABLET ],
1292
+ 'AN13FP' => [ 'Archos', 'Arnova Familypad', DeviceType::TABLET ],
1293
+ 'ARNOVA 90G3' => [ 'Archos', 'Arnova 90 G3', DeviceType::TABLET ],
1294
+ 'ARNOVA 90 G4' => [ 'Archos', 'Arnova 90 G4', DeviceType::TABLET ],
1295
+ 'ARNOVA 97G4' => [ 'Archos', 'Arnova 97 G4', DeviceType::TABLET ],
1296
+ 'ARNOVA 101 G4' => [ 'Archos', 'Arnova 101 G4', DeviceType::TABLET ],
1297
+ 'AN8BG3-LZ' => [ 'Archos', 'Lazer 8.0', DeviceType::TABLET ],
1298
+ 'A101B2-LZ' => [ 'Archos', 'Lazer 10.1', DeviceType::TABLET ],
1299
+ 'AN10G2-LZ' => [ 'Archos', 'Lazer 10.1', DeviceType::TABLET ],
1300
+ 'AN10BG3-LZ' => [ 'Archos', 'Lazer 10.1', DeviceType::TABLET ],
1301
+ 'AN7DG3C' => [ 'Archos', 'Tabeo', DeviceType::TABLET ],
1302
+ 'A32' => [ 'Archos', '32', 'media' ],
1303
+ 'A35DE' => [ 'Archos', '35 Smart Home Phone' ],
1304
+ 'A43' => [ 'Archos', '43', 'media' ],
1305
+ 'ARCHOS 50PL' => [ 'Archos', '50PL', 'media' ],
1306
+ 'ARCHOS 79XE' => [ 'Archos', '79XE', 'media' ],
1307
+ 'Archos5' => [ 'Archos', '5', 'media' ],
1308
+ 'A70HB' => [ 'Archos', '7 Home Tablet', DeviceType::TABLET ], // G7
1309
+ 'A70BHT' => [ 'Archos', '7 Home Tablet', DeviceType::TABLET ],
1310
+ 'A70BHT-LZ' => [ 'Archos', '7 Home Tablet', DeviceType::TABLET ],
1311
+ 'A70BHT-PR' => [ 'Archos', '7 Home Tablet', DeviceType::TABLET ],
1312
+ 'A70CHT' => [ 'Archos', '7c Home Tablet', DeviceType::TABLET ],
1313
+ 'A80HF' => [ 'Archos', '8 Home Tablet', DeviceType::TABLET ],
1314
+ 'A70H' => [ 'Archos', '70 Internet Tablet', DeviceType::TABLET ], // G8
1315
+ 'A70S' => [ 'Archos', '70s Internet Tablet', DeviceType::TABLET ],
1316
+ 'A7EB' => [ 'Archos', '70b eReader', DeviceType::TABLET ],
1317
+ 'ARCHOS 70it2' => [ 'Archos', '70b Internet Tablet', DeviceType::TABLET ],
1318
+ 'ARCHOS 70it2G8' => [ 'Archos', '70b Internet Tablet', DeviceType::TABLET ],
1319
+ 'Archos 80 Internet Tablet' => [ 'Archos', '80 Internet Tablet', DeviceType::TABLET ],
1320
+ 'A101IT' => [ 'Archos', '101 Internet Tablet', DeviceType::TABLET ],
1321
+ 'Archos 101 Internet Tablet' => [ 'Archos', '101 Internet Tablet', DeviceType::TABLET ],
1322
+ 'AC45BHE' => [ 'Archos', '45b Helium' ],
1323
+ 'AC50BHE' => [ 'Archos', '50b Helium' ],
1324
+ 'AC50DHE' => [ 'Archos', '50d Helium' ],
1325
+
1326
+ 'Archos!!' => [
1327
+ 'ARCHOS 80G9' => [ 'Archos', '80 G9', DeviceType::TABLET ],
1328
+ 'ARCHOS 101G9' => [ 'Archos', '101 G9', DeviceType::TABLET ],
1329
+ 'ARCHOS 97XSLG10' => [ 'Archos', '97 XS', DeviceType::TABLET ],
1330
+ 'ARCHOS 80XSK' => [ 'Archos', '80 XS', DeviceType::TABLET ],
1331
+ 'ARCHOS 101G10' => [ 'Archos', '101 XS', DeviceType::TABLET ],
1332
+ 'ARCHOS 101 XS 2' => [ 'Archos', '101 XS 2', DeviceType::TABLET ],
1333
+ 'Archos 101 XS 2 Moi' => [ 'Archos', '101 XS 2', DeviceType::TABLET ],
1334
+ 'ARCHOS 101b XS2' => [ 'Archos', '101b XS 2', DeviceType::TABLET ],
1335
+ 'Archos 70 Carbon' => [ 'Archos', '70 Carbon', DeviceType::TABLET ],
1336
+ 'ARCHOS 80 Carbon' => [ 'Archos', '80 Carbon', DeviceType::TABLET ],
1337
+ 'ARCHOS 97 CARBON' => [ 'Archos', '97 Carbon', DeviceType::TABLET ],
1338
+ 'ARCHOS 70 Cobalt' => [ 'Archos', '70 Cobalt', DeviceType::TABLET ],
1339
+ 'Archos 70b Cobalt' => [ 'Archos', '70b Cobalt', DeviceType::TABLET ],
1340
+ 'Archos 70c Cobalt' => [ 'Archos', '70c Cobalt', DeviceType::TABLET ],
1341
+ 'Archos 79 Cobalt' => [ 'Archos', '79 Cobalt', DeviceType::TABLET ],
1342
+ 'ARCHOS 80 COBALT' => [ 'Archos', '80 Cobalt', DeviceType::TABLET ],
1343
+ 'Archos 97 Cobalt' => [ 'Archos', '97 Cobalt', DeviceType::TABLET ],
1344
+ 'Archos 101 Cobalt' => [ 'Archos', '101 Cobalt', DeviceType::TABLET ],
1345
+ 'Archos 70 Copper' => [ 'Archos', '70 Copper', DeviceType::TABLET ],
1346
+ 'Archos 90 Copper' => [ 'Archos', '90 Copper', DeviceType::TABLET ],
1347
+ 'Archos 90b Copper' => [ 'Archos', '90b Copper', DeviceType::TABLET ],
1348
+ 'Archos 101 Copper' => [ 'Archos', '101 Copper', DeviceType::TABLET ],
1349
+ 'Archos 101b Copper' => [ 'Archos', '101b Copper', DeviceType::TABLET ],
1350
+ 'Archos 50 Diamond' => [ 'Archos', '50 Diamond' ],
1351
+ 'Archos Diamond S' => [ 'Archos', 'Diamond S' ],
1352
+ 'Archos Diamond Plus' => [ 'Archos', 'Diamond Plus' ],
1353
+ 'Archos 40 Helium' => [ 'Archos', '40 Helium' ],
1354
+ 'Archos 45 Helium 4G' => [ 'Archos', '45 Helium' ],
1355
+ 'ARCHOS 45b Helium' => [ 'Archos', '45b Helium' ],
1356
+ 'Archos 50 Helium 4G' => [ 'Archos', '50 Helium' ],
1357
+ 'Archos 50b Helium 4G' => [ 'Archos', '50b Helium' ],
1358
+ 'Archos 50c Helium' => [ 'Archos', '50c Helium' ],
1359
+ 'Archos 50d Helium' => [ 'Archos', '50d Helium' ],
1360
+ 'Archos 50e Helium' => [ 'Archos', '50e Helium' ],
1361
+ 'Archos 50 Helium Plus' => [ 'Archos', '50 Helium Plus' ],
1362
+ 'Archos 55 Helium Plus' => [ 'Archos', '55 Helium Plus' ],
1363
+ 'Archos 70 Helium' => [ 'Archos', '70 Helium', DeviceType::TABLET ],
1364
+ 'Archos 80 Helium 4G' => [ 'Archos', '80 Helium', DeviceType::TABLET ],
1365
+ 'Archos 80b Helium' => [ 'Archos', '80b Helium', DeviceType::TABLET ],
1366
+ 'Archos 80b Helium v2' => [ 'Archos', '80b Helium', DeviceType::TABLET ],
1367
+ 'Archos 101 Helium' => [ 'Archos', '101 Helium', DeviceType::TABLET ],
1368
+ 'ARCHOS 101 Magnus' => [ 'Archos', '101 Magnus', DeviceType::TABLET ],
1369
+ 'Archos 45 Neon' => [ 'Archos', '45 Neon' ],
1370
+ 'Archos 50 Neon' => [ 'Archos', '50 Neon' ],
1371
+ 'ARCHOS 50c Neon' => [ 'Archos', '50c Neon' ],
1372
+ 'Archos 50b Neon' => [ 'Archos', '50b Neon' ],
1373
+ 'Archos 70 Neon' => [ 'Archos', '70 Neon', DeviceType::TABLET ],
1374
+ 'Archos 79 Neon' => [ 'Archos', '79 Neon', DeviceType::TABLET ],
1375
+ 'Archos 79c Neon' => [ 'Archos', '79c Neon', DeviceType::TABLET ],
1376
+ 'Archos 90 Neon' => [ 'Archos', '90 Neon', DeviceType::TABLET ],
1377
+ 'Archos 90b Neon' => [ 'Archos', '90b Neon', DeviceType::TABLET ],
1378
+ 'Archos 97 Neon' => [ 'Archos', '97 Neon', DeviceType::TABLET ],
1379
+ 'Archos 101 Neon' => [ 'Archos', '101 Neon', DeviceType::TABLET ],
1380
+ 'Archos 101b Neon' => [ 'Archos', '101b Neon', DeviceType::TABLET ],
1381
+ 'Archos 101c Neon' => [ 'Archos', '101c Neon', DeviceType::TABLET ],
1382
+ 'Archos 101d Neon' => [ 'Archos', '101d Neon', DeviceType::TABLET ],
1383
+ 'Archos 121 Neon' => [ 'Archos', '121 Neon', DeviceType::TABLET ],
1384
+ 'Archos 50 Oxygen' => [ 'Archos', '50 Oxygen' ],
1385
+ 'Archos 50b Oxygen' => [ 'Archos', '50b Oxygen' ],
1386
+ 'Archos 50c Oxygen' => [ 'Archos', '50c Oxygen' ],
1387
+ 'Archos 50 Oxygen Plus' => [ 'Archos', '50 Oxygen Plus' ],
1388
+ 'Archos 101 Oxygen' => [ 'Archos', '101 Oxygen' ],
1389
+ 'Archos 45 Platinum' => [ 'Archos', '45 Platinum' ],
1390
+ 'Archos 45c Platinum' => [ 'Archos', '45c Platinum' ],
1391
+ 'Archos 50 Platinum' => [ 'Archos', '50 Platinum' ],
1392
+ 'Archos 50b Platinum' => [ 'Archos', '50b Platinum' ],
1393
+ 'Archos 50c Platinum' => [ 'Archos', '50c Platinum' ],
1394
+ 'Archos 52 Platinum' => [ 'Archos', '52 Platinum' ],
1395
+ 'Archos 53 Platinum' => [ 'Archos', '53 Platinum' ],
1396
+ 'Archos 5.3s Platinum' => [ 'Archos', '53s Platinum' ],
1397
+ 'Archos 55 Platinum' => [ 'Archos', '55 Platinum' ],
1398
+ 'Archos 70 Platinum' => [ 'Archos', '70 Platinum', DeviceType::TABLET ],
1399
+ 'Archos 70 Platinum v3' => [ 'Archos', '70 Platinum', DeviceType::TABLET ],
1400
+ 'ARCHOS 79 Platinum' => [ 'Archos', '79 Platinum', DeviceType::TABLET ],
1401
+ 'ARCHOS 80 Platinum' => [ 'Archos', '80 Platinum', DeviceType::TABLET ],
1402
+ 'ARCHOS 80b PLATINUM' => [ 'Archos', '80b Platinum', DeviceType::TABLET ],
1403
+ 'Archos 80c Platinum' => [ 'Archos', '80c Platinum', DeviceType::TABLET ],
1404
+ 'ARCHOS 97 Platinum' => [ 'Archos', '97 Platinum', DeviceType::TABLET ],
1405
+ 'ARCHOS 97b PLATINUM' => [ 'Archos', '97b Platinum', DeviceType::TABLET ],
1406
+ 'ARCHOS 101 PLATINUM' => [ 'Archos', '101 Platinum', DeviceType::TABLET ],
1407
+ 'Archos 101b Platinium' => [ 'Archos', '101b Platinum', DeviceType::TABLET ],
1408
+ 'Archos 101c Platinum' => [ 'Archos', '101c Platinum', DeviceType::TABLET ],
1409
+ 'Archos 50 Power' => [ 'Archos', '50 Power' ],
1410
+ 'Archos 35 Titanium' => [ 'Archos', '35 Titanium' ],
1411
+ 'Archos 35b Titanium' => [ 'Archos', '35b Titanium' ],
1412
+ 'Archos 40 Titanium' => [ 'Archos', '40 Titanium' ],
1413
+ 'Archos 40b Titanium Surround' => [ 'Archos', '40b Titanium' ],
1414
+ 'Archos 40c Titanium' => [ 'Archos', '40c Titanium' ],
1415
+ 'ARCHOS 40C TIv2' => [ 'Archos', '40c Titanium' ],
1416
+ 'ARCHOS 40d Titanium' => [ 'Archos', '40d Titanium' ],
1417
+ 'Archos 45 Titanium' => [ 'Archos', '45 Titanium' ],
1418
+ 'Archos 50 Titanium' => [ 'Archos', '50 Titanium' ],
1419
+ 'Archos 53 Titanium' => [ 'Archos', '53 Titanium' ],
1420
+ 'Archos 59 Titanium' => [ 'Archos', '59 Titanium' ],
1421
+ 'ARCHOS 70 Titanium' => [ 'Archos', '70 Titanium', DeviceType::TABLET ],
1422
+ 'ARCHOS 70b TITANIUM' => [ 'Archos', '70b Titanium', DeviceType::TABLET ],
1423
+ 'Archos 70c Titanium' => [ 'Archos', '70c Titanium', DeviceType::TABLET ],
1424
+ 'ARCHOS 80 TITANIUM' => [ 'Archos', '80 Titanium', DeviceType::TABLET ],
1425
+ 'ARCHOS 97 TITANIUMHD' => [ 'Archos', '97 Titanium', DeviceType::TABLET ],
1426
+ 'ARCHOS 97B TITANIUM' => [ 'Archos', '97b Titanium', DeviceType::TABLET ],
1427
+ 'ARCHOS 101 Titanium' => [ 'Archos', '101 Titanium', DeviceType::TABLET ],
1428
+ 'Archos 59 Xenon' => [ 'Archos', '59 Xenon' ],
1429
+ 'Archos 62 Xenon' => [ 'Archos', '62 Xenon' ],
1430
+ 'Archos 64 Xenon' => [ 'Archos', '64 Xenon' ],
1431
+ 'Archos 70 Xenon' => [ 'Archos', '70 Xenon', DeviceType::TABLET ],
1432
+ 'Archos 70b Xenon' => [ 'Archos', '70b Xenon', DeviceType::TABLET ],
1433
+ 'Archos 70c Xenon' => [ 'Archos', '70c Xenon', DeviceType::TABLET ],
1434
+ 'Archos 79 Xenon' => [ 'Archos', '79 Xenon', DeviceType::TABLET ],
1435
+ 'Archos 80 Xenon' => [ 'Archos', '80 Xenon', DeviceType::TABLET ],
1436
+ 'Archos 80b Xenon' => [ 'Archos', '80b Xenon', DeviceType::TABLET ],
1437
+ 'Archos 96 Xenon' => [ 'Archos', '96 Xenon', DeviceType::TABLET ],
1438
+ 'ARCHOS 97 XENON' => [ 'Archos', '97 Xenon', DeviceType::TABLET ],
1439
+ 'Archos 101 Xenon' => [ 'Archos', '101 Xenon', DeviceType::TABLET ],
1440
+ 'Archos 101 Xenon v2' => [ 'Archos', '101 Xenon', DeviceType::TABLET ],
1441
+ 'Archos 101b Xenon v2' => [ 'Archos', '101b Xenon', DeviceType::TABLET ],
1442
+ 'Archos 101c Xenon' => [ 'Archos', '101c Xenon', DeviceType::TABLET ],
1443
+ 'ARCHOS 101 Xenon Lite' => [ 'Archos', '101 Xenon Lite', DeviceType::TABLET ],
1444
+ 'ARCHOS 80 CHILDPAD' => [ 'Archos', '80 Childpad', DeviceType::TABLET ],
1445
+ 'ARCHOS 101 CHILDPAD' => [ 'Archos', '101 Childpad', DeviceType::TABLET ],
1446
+ 'Archos Chefpad' => [ 'Archos', 'ChefPad', DeviceType::TABLET ],
1447
+ 'ARCHOS GAMEPAD' => [ 'Archos', 'Gamepad', [ DeviceType::GAMING, DeviceSubType::PORTABLE ] ],
1448
+ 'ARCHOS GAMEPAD2' => [ 'Archos', 'Gamepad 2', [ DeviceType::GAMING, DeviceSubType::PORTABLE ] ],
1449
+ 'ARCHOS FAMILYPAD 2' => [ 'Archos', 'Familypad 2', DeviceType::TABLET ],
1450
+ 'Archos 101 DB' => [ 'Archos', 'ArcBook', DeviceType::TABLET ],
1451
+ 'Archos Smart Home Tablet' => [ 'Archos', 'Smart Home Tablet', DeviceType::TABLET ],
1452
+ 'ARCHOS LUDOG10' => [ 'Archos', 'TV Connect', DeviceType::TELEVISION ],
1453
+ ],
1454
+
1455
+ 'Artes D708' => [ 'Artes', 'D708', DeviceType::TABLET ],
1456
+ 'Artes D821' => [ 'Artes', 'D821', DeviceType::TABLET ],
1457
+ 'D9702' => [ 'Artes', 'D9702', DeviceType::TABLET ],
1458
+ 'Artes i701' => [ 'Artes', 'i701', DeviceType::TABLET ],
1459
+ 'ARTES I709' => [ 'Artes', 'i709', DeviceType::TABLET ],
1460
+ 'Artes Q812' => [ 'Artes', 'Q812', DeviceType::TABLET ],
1461
+ 'AT10H-A10WP' => [ 'Artview', 'AT10H-A10WP', DeviceType::TABLET ],
1462
+ 'Arya A1+' => [ 'Arya', 'A1 Plus' ],
1463
+ 'Arya Z2' => [ 'Arya', 'Z2' ],
1464
+
1465
+ 'ASK SP[0-9]{3,3}!!' => [
1466
+ 'ASK SP440 3G' => [ 'ASK', 'SP440' ],
1467
+ 'ASK SP460 HD' => [ 'ASK', 'SP460 HD' ],
1468
+ 'ASK SP461 3G' => [ 'ASK', 'SP461' ],
1469
+ 'ASK SP510 HD' => [ 'ASK', 'SP510 HD' ],
1470
+ 'ASK SP516 IPS' => [ 'ASK', 'SP516' ],
1471
+ 'ASK SP516+ IPS' => [ 'ASK', 'SP516+' ],
1472
+ 'ASK SP551 HD' => [ 'ASK', 'SP551 HD' ],
1473
+ 'ASK SP551+HD' => [ 'ASK', 'SP551+ HD' ],
1474
+ 'ASK SP554 HD' => [ 'ASK', 'SP554 HD' ],
1475
+ 'ASK SP581 HD' => [ 'ASK', 'SP581 HD' ],
1476
+ 'ASK SP583 HD' => [ 'ASK', 'SP583 HD' ],
1477
+ 'ASK SP584 FHD' => [ 'ASK', 'SP584 FHD' ],
1478
+ 'ASK SP628 HD' => [ 'ASK', 'SP628 HD' ],
1479
+ ],
1480
+
1481
+ 'ASTRI' => [ 'ASTRI', 'e-reader', DeviceType::EREADER ],
1482
+ 'eeepc' => [ 'Asus', 'Eee Pc' ],
1483
+ 'asus laptop' => [ 'Asus', 'Eee Pc' ],
1484
+ 'eee 701' => [ 'Asus', 'Eee Pc' ],
1485
+ 'OMS TTD' => [ 'Asus', 'Eee Pc T10' ],
1486
+ 'ASUS T20' => [ 'Asus', 'Eee Pc T20' ],
1487
+ 'ME102A' => [ 'Asus', 'MeMO Pad 10 (ME102A)', DeviceType::TABLET ],
1488
+ 'ME180A' => [ 'Asus', 'MeMO Pad HD 8 (ME180A)', DeviceType::TABLET ],
1489
+ 'ME171' => [ 'Asus', 'Eee Pad MeMO (ME171)', DeviceType::TABLET ],
1490
+ 'ME172V' => [ 'Asus', 'MeMO Pad (ME172V)', DeviceType::TABLET ],
1491
+ 'ME173X' => [ 'Asus', 'MeMO Pad HD 7 (ME173X)', DeviceType::TABLET ],
1492
+ 'ME301T' => [ 'Asus', 'MeMO Pad Smart 10 (ME301T)', DeviceType::TABLET ],
1493
+ 'ME302C' => [ 'Asus', 'MeMO Pad 10 (ME302C)', DeviceType::TABLET ],
1494
+ 'ME302KL' => [ 'Asus', 'MeMO Pad FHD 10 (ME302KL)', DeviceType::TABLET ],
1495
+ 'ASUS Pad ME370T' => [ 'Asus', 'Eee Pad MeMO (ME370T)', DeviceType::TABLET ],
1496
+ 'ME370T' => [ 'Asus', 'Eee Pad MeMO (ME370T)', DeviceType::TABLET ],
1497
+ 'ME371MG' => [ 'Asus', 'Fonepad (ME371MG)', DeviceType::TABLET ],
1498
+ 'Asus Fonepad ME371MG 8GB' => [ 'Asus', 'Fonepad (ME371MG)', DeviceType::TABLET ],
1499
+ 'ME372CG' => [ 'Asus', 'Fonepad 7 (ME372CG)', DeviceType::TABLET ],
1500
+ 'ME372CL-FF' => [ 'Asus', 'Fonepad 7 (ME372CL)', DeviceType::TABLET ],
1501
+ 'ME560CG' => [ 'Asus', 'Fonepad Note 6 (ME560CG)', DeviceType::TABLET ],
1502
+ 'ME581CL' => [ 'Asus', 'MeMO Pad 8 (ME581CL)', DeviceType::TABLET ],
1503
+ 'Slider SL101' => [ 'Asus', 'Eee Pad Slider', DeviceType::TABLET ],
1504
+ 'EPAD' => [ 'Asus', 'Eee Pad Transformer', DeviceType::TABLET ],
1505
+ 'TF101' => [ 'Asus', 'Eee Pad Transformer', DeviceType::TABLET ],
1506
+ 'TF101-WiMAX' => [ 'Asus', 'Eee Pad Transformer', DeviceType::TABLET ],
1507
+ 'Transformer' => [ 'Asus', 'Eee Pad Transformer', DeviceType::TABLET ],
1508
+ 'Transformer TF101(G)?!' => [ 'Asus', 'Eee Pad Transformer', DeviceType::TABLET ],
1509
+ 'TF201' => [ 'Asus', 'Eee Pad Transformer Prime', DeviceType::TABLET ],
1510
+ 'tf201t' => [ 'Asus', 'Eee Pad Transformer Prime', DeviceType::TABLET ],
1511
+ '(Eee Pad )?Transformer Prime TF201!' => [ 'Asus', 'Eee Pad Transformer Prime', DeviceType::TABLET ],
1512
+ 'Transformer TF201' => [ 'Asus', 'Eee Pad Transformer Prime', DeviceType::TABLET ],
1513
+ 'Transformer TF201G' => [ 'Asus', 'Eee Pad Transformer Prime', DeviceType::TABLET ],
1514
+ 'Transformer Prime' => [ 'Asus', 'Eee Pad Transformer Prime', DeviceType::TABLET ],
1515
+ 'Transformer Prime TF300T' => [ 'Asus', 'Eee Pad Transformer Prime', DeviceType::TABLET ],
1516
+ 'Transformer 300' => [ 'Asus', 'Transformer Pad 300', DeviceType::TABLET ],
1517
+ 'Transformer Pad' => [ 'Asus', 'Transformer Pad 300', DeviceType::TABLET ],
1518
+ '(Transformer )?(Pad )?TF300(T|TG|TL)!' => [ 'Asus', 'Transformer Pad 300', DeviceType::TABLET ],
1519
+ '(Transformer )?(Pad )?TF502(T)!' => [ 'Asus', 'Transformer Pad 502', DeviceType::TABLET ],
1520
+ 'Transformer Pad TF600T' => [ 'Asus', 'Transformer Pad 600', DeviceType::TABLET ],
1521
+ '(Transformer )?(Pad )?TF700(T|K)!' => [ 'Asus', 'Transformer Pad Infinity 700', DeviceType::TABLET ],
1522
+ 'Transformer (Pad )?Infinity!' => [ 'Asus', 'Transformer Pad Infinity 700', DeviceType::TABLET ],
1523
+ 'Tablet P1801-T' => [ 'Asus', 'Transformer AiO P1801', DeviceType::TABLET ],
1524
+ 'Tablet P1802-T' => [ 'Asus', 'Transformer AiO P1802', DeviceType::TABLET ],
1525
+ 'PadFone' => [ 'Asus', 'PadFone', DeviceType::TABLET ],
1526
+ 'PadFone 2' => [ 'Asus', 'PadFone 2', DeviceType::TABLET ],
1527
+ 'PadFone Infinity' => [ 'Asus', 'PadFone Infinity', DeviceType::TABLET ],
1528
+ 'PadFone Infinity A86' => [ 'Asus', 'PadFone Infinity', DeviceType::TABLET ],
1529
+ 'PadFone T004' => [ 'Asus', 'PadFone Infinity', DeviceType::TABLET ],
1530
+ 'PadFone-T004' => [ 'Asus', 'PadFone Infinity', DeviceType::TABLET ],
1531
+ 'PadFone T008' => [ 'Asus', 'PadFone E', DeviceType::TABLET ],
1532
+ 'PadFone T00C' => [ 'Asus', 'PadFone mini', DeviceType::TABLET ],
1533
+ 'PadFone X' => [ 'Asus', 'PadFone X', DeviceType::TABLET ],
1534
+ 'PadFone X mini' => [ 'Asus', 'PadFone X mini (PF450CL)', DeviceType::TABLET ],
1535
+ 'ETBW11AA' => [ 'Asus', 'Tough' ],
1536
+ 'K00C' => [ 'Asus', 'Transformer Pad Infinity', DeviceType::TABLET ],
1537
+ 'K010' => [ 'Asus', 'Transformer Pad TF103', DeviceType::TABLET ],
1538
+ 'K010E' => [ 'Asus', 'Transformer Pad TF103', DeviceType::TABLET ],
1539
+ 'K018' => [ 'Asus', 'Transformer Pad TF103', DeviceType::TABLET ],
1540
+ 'K014' => [ 'Asus', 'Transformer Pad TF303', DeviceType::TABLET ],
1541
+ 'K01B' => [ 'Asus', 'Transformer Pad TF303', DeviceType::TABLET ],
1542
+ 'K00G' => [ 'Asus', 'Fonepad Note 6 (ME560CG)', DeviceType::TABLET ],
1543
+ 'K00E' => [ 'Asus', 'Fonepad 7 (ME372CG)', DeviceType::TABLET ],
1544
+ 'K00Y' => [ 'Asus', 'Fonepad 7 (ME372CL)', DeviceType::TABLET ],
1545
+ 'K00Z' => [ 'Asus', 'Fonepad 7 (ME175CG)', DeviceType::TABLET ],
1546
+ 'K012' => [ 'Asus', 'Fonepad 7 (FE170CG)', DeviceType::TABLET ],
1547
+ 'K019' => [ 'Asus', 'Fonepad 7 (FE375CG)', DeviceType::TABLET ],
1548
+ 'K01F' => [ 'Asus', 'Fonepad 7 (FE171MG)', DeviceType::TABLET ],
1549
+ 'K01N' => [ 'Asus', 'Fonepad 7 (FE171CG)', DeviceType::TABLET ],
1550
+ 'K01Q' => [ 'Asus', 'Fonepad 7 (FE375CL)', DeviceType::TABLET ],
1551
+ 'K016' => [ 'Asus', 'Fonepad 8 (FE380CG)', DeviceType::TABLET ],
1552
+ 'K01E' => [ 'Asus', 'MeMO Pad (ME103K)', DeviceType::TABLET ],
1553
+ 'K00X' => [ 'Asus', 'MeMO Pad 7 (ME7530CL)', DeviceType::TABLET ],
1554
+ 'K00R' => [ 'Asus', 'MeMO Pad 7 (ME572CL)', DeviceType::TABLET ],
1555
+ 'K007' => [ 'Asus', 'MeMO Pad 7 (ME572C)', DeviceType::TABLET ],
1556
+ 'K013' => [ 'Asus', 'MeMO Pad 7 (ME176C)', DeviceType::TABLET ],
1557
+ 'K013C' => [ 'Asus', 'MeMO Pad 7 (ME176C)', DeviceType::TABLET ],
1558
+ 'K017' => [ 'Asus', 'MeMO Pad 7 (ME170C)', DeviceType::TABLET ],
1559
+ 'K01A' => [ 'Asus', 'MeMO Pad 7 (ME70C)', DeviceType::TABLET ],
1560
+ 'MeMO Pad 7' => [ 'Asus', 'MeMo Pad 7 (ME375CL)', DeviceType::TABLET ],
1561
+ 'K012 2' => [ 'Asus', 'MeMO Pad 7 (FE7010CG)', DeviceType::TABLET ],
1562
+ 'K01U' => [ 'Asus', 'MeMO Pad 7 (ME171C)', DeviceType::TABLET ],
1563
+ 'K00S' => [ 'Asus', 'MeMO Pad HD 7 (ME175KG)', DeviceType::TABLET ],
1564
+ 'K00U' => [ 'Asus', 'MeMO Pad HD 7 (ME173XX)', DeviceType::TABLET ],
1565
+ 'K011' => [ 'Asus', 'MeMO Pad 8 (ME181C)', DeviceType::TABLET ],
1566
+ 'AST21' => [ 'Asus', 'MeMO Pad 8 AST21', DeviceType::TABLET, 'carrier' => 'au' ],
1567
+ 'K015' => [ 'Asus', 'MeMO Pad 8 AST21', DeviceType::TABLET, 'carrier' => 'au' ],
1568
+ 'K01H' => [ 'Asus', 'MeMO Pad 8 (ME581C)', DeviceType::TABLET ],
1569
+ 'K00L' => [ 'Asus', 'MeMO Pad HD 8 (ME180A)', DeviceType::TABLET ],
1570
+ 'K00F' => [ 'Asus', 'MeMO Pad 10 (ME102A)', DeviceType::TABLET ],
1571
+ 'T00C' => [ 'Asus', 'PadFone mini', DeviceType::TABLET ],
1572
+ 'T00E' => [ 'Asus', 'PadFone mini (PF400CG)', DeviceType::TABLET ],
1573
+ 'T00N' => [ 'Asus', 'PadFone S (PF500KL)', DeviceType::TABLET ],
1574
+ 'T00D' => [ 'Asus', 'PadFone X mini (PF450CL)', DeviceType::TABLET ],
1575
+ 'T00S' => [ 'Asus', 'PadFone X mini (PF450CL)', DeviceType::TABLET ],
1576
+ 'T00T' => [ 'Asus', 'PadFone X mini (PF450CL)', DeviceType::TABLET ],
1577
+ 'T001' => [ 'Asus', 'ZenFone 4 (A400CG)' ],
1578
+ 'T00I' => [ 'Asus', 'ZenFone 4 (A400CG)' ],
1579
+ 'T00I-D' => [ 'Asus', 'ZenFone 4 (A400CG)' ],
1580
+ 'A400CG' => [ 'Asus', 'ZenFone 4 (A400CG)' ],
1581
+ 'T00F' => [ 'Asus', 'ZenFone 5 (A500CG)' ],
1582
+ 'T00J' => [ 'Asus', 'ZenFone 5 (A501CG)' ],
1583
+ 'T00J-D' => [ 'Asus', 'ZenFone 5 (A501CG)' ],
1584
+ 'T00K' => [ 'Asus', 'ZenFone 5 (A502CG)' ],
1585
+ 'T00P' => [ 'Asus', 'ZenFone 5 LTE (A500KL)' ],
1586
+ 'Zenfone 5 LTE' => [ 'Asus', 'ZenFone 5 LTE (A500KL)' ],
1587
+ 'T00G' => [ 'Asus', 'ZenFone 6 (A600CG)' ],
1588
+ 'T00Q' => [ 'Asus', 'ZenFone 4 (A450CG)' ],
1589
+ 'P001' => [ 'Asus', 'ZenPad C 7.0 (Z170MG)', DeviceType::TABLET ],
1590
+ 'P001 2' => [ 'Asus', 'ZenPad C 7.0 (Z170MG)', DeviceType::TABLET ],
1591
+ 'P002' => [ 'Asus', 'ZenPad 7.0 (Z370KL)', DeviceType::TABLET ],
1592
+ 'P01M' => [ 'Asus', 'ZenPad S 8.0 (Z580C)', DeviceType::TABLET ],
1593
+ 'P01MA' => [ 'Asus', 'ZenPad S 8.0 (Z580CA)', DeviceType::TABLET ],
1594
+ 'P01T' => [ 'Asus', 'ZenPad 10 (Z300CL)', DeviceType::TABLET ],
1595
+ 'P01T 1' => [ 'Asus', 'ZenPad 10 (Z300CL)', DeviceType::TABLET ],
1596
+ 'P01V' => [ 'Asus', 'ZenPad 7.0 (Z370CG)', DeviceType::TABLET ],
1597
+ 'P01W' => [ 'Asus', 'ZenPad 7.0 (Z370C)', DeviceType::TABLET ],
1598
+ 'P01Y' => [ 'Asus', 'ZenPad C 7.0 (Z170CG)', DeviceType::TABLET ],
1599
+ 'P01Z' => [ 'Asus', 'ZenPad C 7.0 (Z170C)', DeviceType::TABLET ],
1600
+ 'P021' => [ 'Asus', 'ZenPad 10 (Z300CG)', DeviceType::TABLET ],
1601
+ 'P022' => [ 'Asus', 'ZenPad 8.0 (Z380C)', DeviceType::TABLET ],
1602
+ 'P023' => [ 'Asus', 'ZenPad 10 (Z300C)', DeviceType::TABLET ],
1603
+ 'P024' => [ 'Asus', 'ZenPad 8.0 (Z380KL)', DeviceType::TABLET ],
1604
+ // '' => [ 'Asus', 'ZenPad 10 (Z300CNL)', DeviceType::TABLET ],
1605
+ 'Z002' => [ 'Asus', 'ZenFone 6 (A601CG)' ],
1606
+ 'Z007' => [ 'Asus', 'ZenFone C (ZC451CG)' ],
1607
+ 'ZenFone 2' => [ 'Asus', 'ZenFone 2 (ZE550ML)' ],
1608
+ 'Z008' => [ 'Asus', 'ZenFone 2 (ZE550ML)' ],
1609
+ 'Z008D' => [ 'Asus', 'ZenFone 2 (ZE550ML)' ],
1610
+ 'Z00A' => [ 'Asus', 'ZenFone 2 (ZE551ML)' ],
1611
+ 'Z00AD' => [ 'Asus', 'ZenFone 2 (ZE551ML)' ],
1612
+ 'Z00ADA' => [ 'Asus', 'ZenFone 2 (ZE551ML)' ],
1613
+ 'Z00ADB' => [ 'Asus', 'ZenFone 2 (ZE551ML)' ],
1614
+ 'Z00D' => [ 'Asus', 'ZenFone 2 (ZE500CL)' ],
1615
+ 'ZenFone 2E' => [ 'Asus', 'ZenFone 2E' ],
1616
+ 'Z00ED' => [ 'Asus', 'ZenFone 2 Laser (ZE500KL)' ],
1617
+ 'Z00EDB' => [ 'Asus', 'ZenFone 2 Laser (ZE500KL)' ],
1618
+ 'Z00LD' => [ 'Asus', 'ZenFone 2 Laser (ZE550KL)' ],
1619
+ 'Z00LDC' => [ 'Asus', 'ZenFone 2 Laser (ZE550KL)' ],
1620
+ 'Z00LDD' => [ 'Asus', 'ZenFone 2 Laser (ZE550KL)' ],
1621
+ 'Z00MD' => [ 'Asus', 'ZenFone 2 Laser (ZE600KL)' ],
1622
+ 'Z00RD' => [ 'Asus', 'ZenFone 2 Laser (ZE500KG)' ],
1623
+ 'Z00TD' => [ 'Asus', 'ZenFone 2 Laser (ZE551KL)' ],
1624
+ 'Z00TDA' => [ 'Asus', 'ZenFone 2 Laser (ZE551KL)' ],
1625
+ 'Z00WD' => [ 'Asus', 'ZenFone 2 Laser (ZE550KG)' ],
1626
+ 'Z011D' => [ 'Asus', 'ZenFone 2 Laser (ZE601KL)' ],
1627
+ 'Z00UD' => [ 'Asus', 'ZenFone Selfie (ZD551KL)' ],
1628
+ 'Z00UDA' => [ 'Asus', 'ZenFone Selfie (ZD551KL)' ],
1629
+ 'Z00UDB' => [ 'Asus', 'ZenFone Selfie (ZD551KL)' ],
1630
+ 'Z00UDC' => [ 'Asus', 'ZenFone Selfie (ZD551KL)' ],
1631
+ 'Z00SD' => [ 'Asus', 'ZenFone Go (ZC451TG)' ],
1632
+ 'Z00VD' => [ 'Asus', 'ZenFone Go (ZC500TG)' ],
1633
+ // '' => [ 'Asus', 'ZenFone Go TV (ZB551KL)' ],
1634
+ 'Z00XS' => [ 'Asus', 'ZenFone Zoom (ZX551ML)' ],
1635
+ 'Z00XSA' => [ 'Asus', 'ZenFone Zoom (ZX551ML)' ],
1636
+ 'Z00XSB' => [ 'Asus', 'ZenFone Zoom (ZX551ML)' ],
1637
+ 'Z010D' => [ 'Asus', 'ZenFone Max (ZC550KL)' ],
1638
+ 'Z010DA' => [ 'Asus', 'ZenFone Max (ZC550KL)' ],
1639
+ 'Z010DD' => [ 'Asus', 'ZenFone Max (ZC550KL)' ],
1640
+ 'Z012DA' => [ 'Asus', 'ZenFone 3 (ZE552KL)' ],
1641
+ // '' => [ 'Asus', 'ZenFone 3 Ultra (ZU680KL)' ],
1642
+ // '' => [ 'Asus', 'ZenFone 3 Deluxe (ZS570KL)' ],
1643
+ 'Z00YD' => [ 'Asus', 'Live' ],
1644
+ 'X002' => [ 'Asus', 'Pegasus' ],
1645
+ 'X003' => [ 'Asus', 'Pegasus' ],
1646
+ 'X005' => [ 'Asus', 'Pegasus 2 Plus' ],
1647
+ 'X550' => [ 'Asus', 'Pegasus 2 Plus' ],
1648
+ 'TX201LA' => [ 'Asus', 'Transformer Book Trio', DeviceType::TABLET ],
1649
+ 'TX201LAF' => [ 'Asus', 'Transformer Book Trio', DeviceType::TABLET ],
1650
+ 'asus google cube' => [ 'Asus', 'Cube with Google TV', DeviceType::TELEVISION, Flag::GOOGLETV ],
1651
+ 'google cube' => [ 'Asus', 'Cube with Google TV', DeviceType::TELEVISION, Flag::GOOGLETV ],
1652
+
1653
+ 'RTC-700A' => [ 'Asus', 'AAEON RTC-700A', DeviceType::TABLET ],
1654
+
1655
+ 'Qilive!!' => [
1656
+ 'Qilive 40' => [ 'Auchan', 'QiLive 4” Smartphone' ],
1657
+ 'Qilive 45' => [ 'Auchan', 'QiLive 4.5” Smartphone' ],
1658
+ 'Qilive 50' => [ 'Auchan', 'QiLive 5” Smartphone' ],
1659
+ 'Qilive 50 QC' => [ 'Auchan', 'QiLive 5” Smartphone' ],
1660
+ 'Qilive 53' => [ 'Auchan', 'QiLive 5.3” Smartphone' ],
1661
+ 'Qilive 7' => [ 'Auchan', 'QiLive 7” Dual core tablet', DeviceType::TABLET ],
1662
+ 'Qilive 70v2' => [ 'Auchan', 'QiLive 7” Dual core tablet', DeviceType::TABLET ],
1663
+ 'Qilive 79' => [ 'Auchan', 'QiLive 7.9” Dual core tablet', DeviceType::TABLET ],
1664
+ 'Qilive 97R-2' => [ 'Auchan', 'QiLive 7.9” Quad core tablet', DeviceType::TABLET ],
1665
+ 'QiLive 8' => [ 'Auchan', 'QiLive 8” Dual core tablet', DeviceType::TABLET ],
1666
+ 'QiLive 8QC' => [ 'Auchan', 'QiLive 8” Quad core tablet', DeviceType::TABLET ],
1667
+ 'QiLive 97' => [ 'Auchan', 'QiLive 9.7” Dual core tablet', DeviceType::TABLET ],
1668
+ 'QiLive 97R' => [ 'Auchan', 'QiLive 9.7R Quad core tablet', DeviceType::TABLET ],
1669
+ 'QILIVE 101' => [ 'Auchan', 'QiLive 10.1” Dual core tablet', DeviceType::TABLET ],
1670
+ ],
1671
+
1672
+ 'T-07B' => [ 'AudioSonic', 'T07B', DeviceType::TABLET ],
1673
+ 'T-800' => [ 'AudioSonic', 'T800', DeviceType::TABLET ],
1674
+
1675
+ 'AUX!!' => [
1676
+ 'AUX 909+P' => [ 'AUX', '909+P' ],
1677
+ 'AUX 910+' => [ 'AUX', '910+' ],
1678
+ 'AUX 939+' => [ 'AUX', '939+' ],
1679
+ 'AUX M959P' => [ 'AUX', 'M959P' ],
1680
+ 'AUX T5100L' => [ 'AUX', 'T5100L' ],
1681
+ 'AUX V900' => [ 'AUX', 'V900' ],
1682
+ 'AUX V900P' => [ 'AUX', 'V900P' ],
1683
+ 'AUX V920' => [ 'AUX', 'V920' ],
1684
+ 'AUX V920P' => [ 'AUX', 'V920P' ],
1685
+ 'AUX V926T' => [ 'AUX', 'V926T' ],
1686
+ 'AUX V950' => [ 'AUX', 'V950' ],
1687
+ 'AUX V950P' => [ 'AUX', 'V950P' ],
1688
+ 'AUX V965T' => [ 'AUX', 'V965T' ],
1689
+ 'AUX W6' => [ 'AUX', 'W6' ],
1690
+ ],
1691
+
1692
+ 'Numy!!' => [
1693
+ 'Avea inTouch 2' => [ 'Avea', 'inTouch 2', DeviceType::TABLET ],
1694
+ 'Avea inTouch 3' => [ 'Avea', 'inTouch 3', DeviceType::TABLET ],
1695
+ 'Avea inTouch 3 Large' => [ 'Avea', 'inTouch 3', DeviceType::TABLET ],
1696
+ 'Avea inTouch 4' => [ 'Avea', 'inTouch 4', DeviceType::TABLET ],
1697
+ ],
1698
+
1699
+ '(Ilium )?Avvio!!' => [
1700
+ 'Avvio 489' => [ 'Avvio', '489' ],
1701
+ 'Avvio 710' => [ 'Avvio', '710' ],
1702
+ 'Avvio 735s' => [ 'Avvio', '735' ],
1703
+ 'Avvio 750' => [ 'Avvio', '750' ],
1704
+ 'Ilium AVVIO 760' => [ 'Avvio', '760' ],
1705
+ 'AVVIO 765!' => [ 'Avvio', '765' ],
1706
+ 'Avvio 768' => [ 'Avvio', '768' ],
1707
+ 'Avvio 775' => [ 'Avvio', '775' ],
1708
+ 'Avvio-775s' => [ 'Avvio', '775s' ],
1709
+ 'Avvio 778' => [ 'Avvio', '778' ],
1710
+ 'Avvio 780' => [ 'Avvio', '780' ],
1711
+ 'Avvio 785' => [ 'Avvio', '785' ],
1712
+ 'Avvio786' => [ 'Avvio', '786' ],
1713
+ 'Avvio 790' => [ 'Avvio', '790' ],
1714
+ 'Avvio 790s' => [ 'Avvio', '790s' ],
1715
+ 'Avvio 792' => [ 'Avvio', '792' ],
1716
+ 'Avvio 792s' => [ 'Avvio', '792s' ],
1717
+ 'Avvio 793' => [ 'Avvio', '793' ],
1718
+ 'Avvio L500 Claro' => [ 'Avvio', 'L500' ],
1719
+ 'Avvio PAD' => [ 'Avvio', 'Pad', DeviceType::TABLET ],
1720
+ ],
1721
+
1722
+ '(Axioo[\- ])?PICO!!' => [
1723
+ 'PICOphone 2' => [ 'Axioo', 'PICOphone 2' ],
1724
+ 'PICOphone 4' => [ 'Axioo', 'PICOphone 4' ],
1725
+ 'Picophone4' => [ 'Axioo', 'PICOphone 4' ],
1726
+ 'PICOphone4 GDF' => [ 'Axioo', 'PICOphone 4' ],
1727
+ 'PICOphone4 GDX' => [ 'Axioo', 'PICOphone 4' ],
1728
+ 'PICOphone M1' => [ 'Axioo', 'PICOphone M1' ],
1729
+ 'PICOphone M2 (M)' => [ 'Axioo', 'PICOphone M2' ],
1730
+ 'PICOpad S1(7 3G)' => [ 'Axioo', 'PICOpad S1', DeviceType::TABLET ],
1731
+ 'PICOpad 7H(7 3G)' => [ 'Axioo', 'PICOpad 7H', DeviceType::TABLET ],
1732
+ 'PICOpadGCE' => [ 'Axioo', 'PICOpad GCE', DeviceType::TABLET ],
1733
+ 'Axioo PICOpad GDK' => [ 'Axioo', 'PICOpad GDK', DeviceType::TABLET ],
1734
+ 'PICOpad GDK' => [ 'Axioo', 'PICOpad GDK', DeviceType::TABLET ],
1735
+ 'PICOpad GDS' => [ 'Axioo', 'PICOpad GDS', DeviceType::TABLET ],
1736
+ 'PICOpad GEA' => [ 'Axioo', 'PICOpad GEA', DeviceType::TABLET ],
1737
+ 'PICOpad GEW' => [ 'Axioo', 'PICOpad GEW', DeviceType::TABLET ],
1738
+ 'PICOpad GFI' => [ 'Axioo', 'PICOpad GFI', DeviceType::TABLET ],
1739
+ 'PICOpad GGA' => [ 'Axioo', 'PICOpad GGA', DeviceType::TABLET ],
1740
+ 'PICOpad GGD' => [ 'Axioo', 'PICOpad GGD', DeviceType::TABLET ],
1741
+ 'PICOpad GGG' => [ 'Axioo', 'PICOpad GGG', DeviceType::TABLET ],
1742
+ 'PICOpad GHM' => [ 'Axioo', 'PICOpad GHM', DeviceType::TABLET ],
1743
+ 'Axioo PICOpad GIM' => [ 'Axioo', 'PICOpad GIM', DeviceType::TABLET ],
1744
+ 'PICOpad GJE' => [ 'Axioo', 'PICOpad GJE', DeviceType::TABLET ],
1745
+ 'PICOpad GJT' => [ 'Axioo', 'PICOpad GJT', DeviceType::TABLET ],
1746
+ 'PICOpad-QGN' => [ 'Axioo', 'PICOpad QGN', DeviceType::TABLET ],
1747
+ 'Axioo-VIGO350' => [ 'Axioo', 'Vigo 350' ],
1748
+ 'Axioo-VIGO410' => [ 'Axioo', 'Vigo 410' ],
1749
+ ],
1750
+
1751
+ '(AXPAD|Axxion)!!' => [
1752
+ 'AXPAD 7E01' => [ 'Axtrom', 'Axpad 7" Series-7E01', DeviceType::TABLET ],
1753
+ 'AXPAD 7E02' => [ 'Axtrom', 'Axpad 7" Series-7E02', DeviceType::TABLET ],
1754
+ 'AXPAD 7I04' => [ 'Axtrom', 'Axpad 7" Series-7I04', DeviceType::TABLET ],
1755
+ 'AXPAD 9P01' => [ 'Axtrom', 'Axpad 9" Series-9P01', DeviceType::TABLET ],
1756
+ 'Axxion ATAB-701' => [ 'Axxion', 'ATAB-701', DeviceType::TABLET ],
1757
+ 'Axxion ATAB-902' => [ 'Axxion', 'ATAB-902', DeviceType::TABLET ],
1758
+ ],
1759
+
1760
+ 'A10 MID' => [ 'Azhuo', 'A10 MID', DeviceType::TABLET ],
1761
+ 'A10MID' => [ 'Azhuo', 'A10 MID', DeviceType::TABLET ],
1762
+
1763
+ 'Azumi!!' => [
1764
+ 'Azumi A35S' => [ 'Azumi', 'A35s' ],
1765
+ 'Azumi A40C' => [ 'Azumi', 'A40c' ],
1766
+ 'AZUMI A50' => [ 'Azumi', 'A50' ],
1767
+ 'Azumi A50c' => [ 'Azumi', 'A50c' ],
1768
+ 'AZUMI A50c+' => [ 'Azumi', 'A50c+' ],
1769
+ 'Azumi LT50' => [ 'Azumi', 'LT50' ],
1770
+ 'Azumi KL32' => [ 'Azumi', 'KL32' ],
1771
+ 'Azumi AT7' => [ 'Azumi', 'AT7', DeviceType::TABLET ],
1772
+ ],
1773
+
1774
+ '(BDS|BHX|BKO)\-!!' => [
1775
+ 'BDS-S100' => [ 'B box', 'B tv BDS-S100', DeviceType::TELEVISION ],
1776
+ 'BDS-S200' => [ 'B box', 'B tv BDS-S200', DeviceType::TELEVISION ],
1777
+ 'BHX-S100' => [ 'B box', 'B tv BHX-S100', DeviceType::TELEVISION ],
1778
+ 'BHX-S100 TV' => [ 'B box', 'B tv BHX-S100', DeviceType::TELEVISION ],
1779
+ 'BHX-UH200' => [ 'B box', 'B tv UHD BHX-UH200', DeviceType::TELEVISION ],
1780
+ 'BKO-S200' => [ 'B box', 'B tv BKO-S200', DeviceType::TELEVISION ],
1781
+ 'BKO-S200 TV' => [ 'B box', 'B tv BKO-S200', DeviceType::TELEVISION ],
1782
+ ],
1783
+
1784
+ 'Aero A2-110' => [ 'Banghó', 'Aero A2 110', DeviceType::TABLET ],
1785
+ 'NOOK' => [ 'Barnes & Noble', 'NOOK', DeviceType::EREADER ],
1786
+ 'Nook ?Color!' => [ 'Barnes & Noble', 'NOOK Color', DeviceType::EREADER ],
1787
+ '(NOOK )?BNRV(200|300)!' => [ 'Barnes & Noble', 'NOOK Color', DeviceType::EREADER ],
1788
+ 'Nook ?Tablet!' => [ 'Barnes & Noble', 'NOOK Tablet', DeviceType::EREADER ],
1789
+ 'NOOK Slate' => [ 'Barnes & Noble', 'NOOK Tablet', DeviceType::EREADER ],
1790
+ 'Barnes & Noble Nook Tablet' => [ 'Barnes & Noble', 'NOOK Tablet', DeviceType::EREADER ],
1791
+ '(NOOK )?BNTV250!' => [ 'Barnes & Noble', 'NOOK Tablet', DeviceType::EREADER ],
1792
+ '(NOOK )?BNRV350!' => [ 'Barnes & Noble', 'NOOK Simple Touch', DeviceType::EREADER ],
1793
+ '(NOOK )?BNTV(400)!' => [ 'Barnes & Noble', 'NOOK HD Tablet', DeviceType::EREADER ],
1794
+ '(NOOK )?BNTV(600)!' => [ 'Barnes & Noble', 'NOOK HD+ Tablet', DeviceType::EREADER ],
1795
+ '(NOOK )?BNTV(800)!' => [ 'Barnes & Noble', 'NOOK BNTV800 Tablet', DeviceType::EREADER ],
1796
+ 'Barnes & Noble Nook HD' => [ 'Barnes & Noble', 'NOOK HD Tablet', DeviceType::EREADER ],
1797
+ 'Barnes & Noble Nook HD+' => [ 'Barnes & Noble', 'NOOK HD+ Tablet', DeviceType::EREADER ],
1798
+ 'Nook HD' => [ 'Barnes & Noble', 'NOOK HD Tablet', DeviceType::EREADER ],
1799
+ 'BN Nook HD' => [ 'Barnes & Noble', 'NOOK HD Tablet', DeviceType::EREADER ],
1800
+ 'BN NookHD+' => [ 'Barnes & Noble', 'NOOK HD+ Tablet', DeviceType::EREADER ],
1801
+ 'Nook HD+' => [ 'Barnes & Noble', 'NOOK HD+ Tablet', DeviceType::EREADER ],
1802
+ 'HY5001' => [ 'Bedove', 'HY5001' ],
1803
+ 'BenWee 5100' => [ 'BenWee', '5100' ],
1804
+ 'ASP-4300W' => [ 'Bauhn', 'ASP-4300W' ],
1805
+ 'ASP-4500Z' => [ 'Bauhn', 'ASP-4500Z' ],
1806
+ 'ASP-5000H' => [ 'Bauhn', 'ASP-5000H' ],
1807
+ 'AT101-014' => [ 'Bauhn', 'AT101-014', DeviceType::TABLET ],
1808
+ 'AT101T-114' => [ 'Bauhn', 'AT101T-114', DeviceType::TABLET ],
1809
+ 'WL-101GQC' => [ 'Bauhn', 'WL-101GQC', DeviceType::TABLET ],
1810
+ 'BEE 9500' => [ 'Bee Mobile', 'Bee 9500' ],
1811
+
1812
+ 'BF[ \-]!!' => [
1813
+ 'BF A8' => [ 'Bellefonte', 'A8' ],
1814
+ 'BF-A10' => [ 'Bellefonte', 'A10' ],
1815
+ 'BF A11' => [ 'Bellefonte', 'A11' ],
1816
+ 'BF A12P' => [ 'Bellefonte', 'A12P' ],
1817
+ 'BF A16' => [ 'Bellefonte', 'A16' ],
1818
+ 'BF C7' => [ 'Bellefonte', 'C7' ],
1819
+ 'BF G11' => [ 'Bellefonte', 'G11' ],
1820
+ 'BF V5T!' => [ 'Bellefonte', 'V5T' ],
1821
+ ],
1822
+
1823
+ 'BenQ!!' => [
1824
+ 'BenQ F5' => [ 'BenQ', 'F5' ],
1825
+ 'BenQ T3' => [ 'BenQ', 'T3' ],
1826
+ 'BenQ R71' => [ 'BenQ', 'R71', DeviceType::TABLET ],
1827
+ ],
1828
+
1829
+ 'BenWee!!' => [
1830
+ 'BenWee 550S' => [ 'BenWee', '550S' ],
1831
+ 'BenWee 5100S' => [ 'BenWee', '5100S' ],
1832
+ 'BenWee N7' => [ 'BenWee', 'N7' ],
1833
+ 'BenWee N9' => [ 'BenWee', 'N9' ],
1834
+ ],
1835
+
1836
+ 'BePhone UN030' => [ 'BePhone', 'UN030' ],
1837
+
1838
+ 'Best ?sonny!!' => [
1839
+ 'Best sonny L82' => [ 'Best Sonny', 'L82' ],
1840
+ 'Best sonny LT986' => [ 'Best Sonny', 'LT986' ],
1841
+ 'Best sonny T898' => [ 'Best Sonny', 'T898' ],
1842
+ 'BestsonnyT961' => [ 'Best Sonny', 'T961' ],
1843
+ 'BestsonnyT962' => [ 'Best Sonny', 'T962' ],
1844
+ ],
1845
+
1846
+ 'CA907AAC0G' => [ 'Besta', 'CA907AAC0G' ],
1847
+
1848
+ 'BFB!!' => [
1849
+ 'BFB S7' => [ 'BFB', 'S7' ],
1850
+ 'BFB W9000' => [ 'BFB', 'W9000' ],
1851
+ 'BFB W9900' => [ 'BFB', 'W9900' ],
1852
+ ],
1853
+
1854
+ 'BF[0-9]{2,2}00!!' => [
1855
+ 'BF5200' => [ 'Bifer', 'BF5200' ],
1856
+ 'BF9100' => [ 'Bifer', 'BF9100' ],
1857
+ 'BF9200' => [ 'Bifer', 'BF9200' ],
1858
+ ],
1859
+
1860
+ 'Bird!!' => [
1861
+ 'BIRD A11C' => [ 'Bird', 'A11C' ],
1862
+ 'BIRD E700' => [ 'Bird', 'E700' ],
1863
+ 'Bird-Doeasy E700' => [ 'Bird', 'Doeasy E700' ],
1864
+ 'Bird i7' => [ 'Bird', 'I7' ],
1865
+ 'Bird i8' => [ 'Bird', 'I8' ],
1866
+ 'Bird i9' => [ 'Bird', 'I9' ],
1867
+ 'Bird i500' => [ 'Bird', 'I500' ],
1868
+ 'Bird i580' => [ 'Bird', 'I580' ],
1869
+ 'Bird i600' => [ 'Bird', 'I600' ],
1870
+ 'BIRD I720 WIFI 3000' => [ 'Bird', 'I720' ],
1871
+ 'Bird i900' => [ 'Bird', 'I900' ],
1872
+ 'Bird L9' => [ 'Bird', 'L9' ],
1873
+ 'BIRD L108' => [ 'Bird', 'L108' ],
1874
+ 'Bird LT01' => [ 'Bird', 'LT01' ],
1875
+ 'Bird LT02' => [ 'Bird', 'LT02' ],
1876
+ 'BIRD S6' => [ 'Bird', 'S6' ],
1877
+ 'BIRD T40' => [ 'Bird', 'T40' ],
1878
+ 'BIRD T900' => [ 'Bird', 'T900' ],
1879
+ 'Bird T9500' => [ 'Bird', 'T9500' ],
1880
+ 'Bird T9508' => [ 'Bird', 'T9508' ],
1881
+ 'BIRD T9600' => [ 'Bird', 'T9600' ],
1882
+ 'Bird T9608' => [ 'Bird', 'T9608' ],
1883
+ 'BIRD-V8' => [ 'Bird', 'V8' ],
1884
+ 'BIRD-W3' => [ 'Bird', 'W3' ],
1885
+ 'BIRD W5' => [ 'Bird', 'W5' ],
1886
+ 'Bird W188' => [ 'Bird', 'W188' ],
1887
+ 'Bird XL100' => [ 'Bird', 'XL100' ],
1888
+ ],
1889
+
1890
+ 'T9108' => [ 'Bird', 'T9108' ],
1891
+ 'BB EH7' => [ 'BestBuy', 'EH7', DeviceType::TABLET ],
1892
+ 'BB EH7LE' => [ 'BestBuy', 'EH7LE', DeviceType::TABLET ],
1893
+ '(BB )?Q5$!' => [ 'BlackBerry', 'Q5' ],
1894
+ '(BB )?Q10$!' => [ 'BlackBerry', 'Q10' ],
1895
+ '(BB )?Z10$!' => [ 'BlackBerry', 'Z10' ],
1896
+ '(BB )?Z30$!' => [ 'BlackBerry', 'Z30' ],
1897
+ 'BLACKBERRY P\'9982' => [ 'BlackBerry', 'Porsche Design P\'9982' ],
1898
+ 'STV100-1' => [ 'BlackBerry', 'PRIV' ],
1899
+ 'STV100-2' => [ 'BlackBerry', 'PRIV' ],
1900
+ 'STV100-3' => [ 'BlackBerry', 'PRIV' ],
1901
+ 'STV100-4' => [ 'BlackBerry', 'PRIV' ],
1902
+ 'STH100-2' => [ 'BlackBerry', '"Hamburg"' ],
1903
+
1904
+ 'Endeavour!!' => [
1905
+ 'Endeavour101' => [ 'Blaupunkt', 'Endeavour 101', DeviceType::TABLET ],
1906
+ 'Endeavour 101G' => [ 'Blaupunkt', 'Endeavour 101 G', DeviceType::TABLET ],
1907
+ 'Endeavour 101M' => [ 'Blaupunkt', 'Endeavour 101 M', DeviceType::TABLET ],
1908
+ 'Endeavour 700BN' => [ 'Blaupunkt', 'Endeavour 700 BN', DeviceType::TABLET ],
1909
+ 'Endeavour 785' => [ 'Blaupunkt', 'Endeavour 785', DeviceType::TABLET ],
1910
+ 'Endeavour 800NG' => [ 'Blaupunkt', 'Endeavour 800 NG', DeviceType::TABLET ],
1911
+ 'Endeavour 1000WS' => [ 'Blaupunkt', 'Endeavour 1000 WS', DeviceType::TABLET ],
1912
+ 'Endeavour 1000QC' => [ 'Blaupunkt', 'Endeavour 1000 QC', DeviceType::TABLET ],
1913
+ 'Endeavour 1001' => [ 'Blaupunkt', 'Endeavour 1001', DeviceType::TABLET ],
1914
+ 'Endeavour 1001 DVB-T' => [ 'Blaupunkt', 'Endeavour 1001 DVB-T', DeviceType::TABLET ],
1915
+ 'Endeavour 1010' => [ 'Blaupunkt', 'Endeavour 1010', DeviceType::TABLET ],
1916
+ 'Endeavour 1013' => [ 'Blaupunkt', 'Endeavour 1013', DeviceType::TABLET ],
1917
+ 'Endeavour 1100' => [ 'Blaupunkt', 'Endeavour 1100', DeviceType::TABLET ],
1918
+ ],
1919
+
1920
+ '(BLU|DASH|LIFE|NEO|STUDIO|VIVO)!!' => [
1921
+ 'BLU ADVANCE 3.5' => [ 'BLU', 'Advance 3.5' ],
1922
+ 'BLU ADVANCE 4.0' => [ 'BLU', 'Advance 4.0' ],
1923
+ 'BLU ADVANCE 4.0 L' => [ 'BLU', 'Advance 4.0 L' ],
1924
+ 'BLU Advance 5.0' => [ 'BLU', 'Advance 5.0' ],
1925
+ 'BLU AMOUR' => [ 'BLU', 'Amour' ],
1926
+ 'BLU DASH' => [ 'BLU', 'Dash' ],
1927
+ 'DASH JR' => [ 'BLU', 'Dash Jr' ],
1928
+ 'BLU DASH JR' => [ 'BLU', 'Dash Jr' ],
1929
+ 'BLU DASH JR SOCIAL' => [ 'BLU', 'Dash Jr Social' ],
1930
+ 'DASH JR K' => [ 'BLU', 'Dash Jr K' ],
1931
+ 'DASH JR. 4.0' => [ 'BLU', 'Dash Jr 4.0' ],
1932
+ 'BLU DASH JR 4.0 K' => [ 'BLU', 'Dash Jr 4.0 K' ],
1933
+ '(BLU )?DASH 3.2!' => [ 'BLU', 'Dash 3.2' ],
1934
+ 'Blu Dash3.5' => [ 'BLU', 'Dash 3.5' ],
1935
+ 'BLU DASH 3.5!' => [ 'BLU', 'Dash 3.5' ],
1936
+ 'DASH 3.5' => [ 'BLU', 'Dash 3.5' ],
1937
+ 'DASH 3.5 II' => [ 'BLU', 'Dash 3.5 II' ],
1938
+ 'BLU DASH 4.0' => [ 'BLU', 'Dash 4.0' ],
1939
+ 'BLU Dash 4.0 Ce' => [ 'BLU', 'Dash 4.0 CE' ],
1940
+ 'BLU DASH 4.5' => [ 'BLU', 'Dash 4.5' ],
1941
+ 'BLU DASH 5.0' => [ 'BLU', 'Dash 5.0' ],
1942
+ 'DASH 5.0+' => [ 'BLU', 'Dash 5.0+' ],
1943
+ 'Dash 5.5' => [ 'BLU', 'Dash 5.5' ],
1944
+ 'BLU DASH5.5' => [ 'BLU', 'Dash 5.5' ],
1945
+ 'BLU DASH MUSIC 4.0' => [ 'BLU', 'Dash Music 4.0' ],
1946
+ 'BLU DASH MUSIC 4.5' => [ 'BLU', 'Dash Music 4.5' ],
1947
+ 'BLU DASH MUSIC II' => [ 'BLU', 'Dash Music II' ],
1948
+ 'DASH C MUSIC' => [ 'BLU', 'Dash C Music' ],
1949
+ 'BLU DASH L' => [ 'BLU', 'Dash L' ],
1950
+ 'BLU DASH M' => [ 'BLU', 'Dash M' ],
1951
+ 'BLU DASH X' => [ 'BLU', 'Dash X' ],
1952
+ 'BLU DASH X LTE' => [ 'BLU', 'Dash X' ],
1953
+ 'DASH X PLUS LTE' => [ 'BLU', 'Dash X Plus' ],
1954
+ 'BLU ENERGY X PLUS' => [ 'BLU', 'Energy X Plus' ],
1955
+ 'BLU LIFE 8' => [ 'BLU', 'Life 8' ],
1956
+ 'BLU LIFE 8 XL' => [ 'BLU', 'Life 8 XL' ],
1957
+ 'BLU Life One' => [ 'BLU', 'Life One' ],
1958
+ 'BLU LIFE ONE M' => [ 'BLU', 'Life One M' ],
1959
+ 'BLU LIFE ONE X' => [ 'BLU', 'Life One X' ],
1960
+ 'BLU LIFE ONE XL' => [ 'BLU', 'Life One XL' ],
1961
+ 'LIFE PLAY' => [ 'BLU', 'Life Play' ],
1962
+ 'LIFE PLAY 2' => [ 'BLU', 'Life Play 2' ],
1963
+ 'BLU LIFE PLAY S' => [ 'BLU', 'Life Play S' ],
1964
+ 'LIFE PLAY X' => [ 'BLU', 'Life Play X' ],
1965
+ 'BLU LIFE PLAY MINI' => [ 'BLU', 'Life Play Mini' ],
1966
+ 'LIFE PRO' => [ 'BLU', 'Life Pro' ],
1967
+ 'LIFE PURE' => [ 'BLU', 'Life Pure' ],
1968
+ 'LIFE PURE MINI' => [ 'BLU', 'Life Pure Mini' ],
1969
+ 'LIFE PURE XL' => [ 'BLU', 'Life Pure XL' ],
1970
+ 'BLU Life View' => [ 'BLU', 'Life View' ],
1971
+ 'BLU LIFE XL' => [ 'BLU', 'Life XL' ],
1972
+ 'BLU Magic' => [ 'BLU', 'Magic' ],
1973
+ 'BLU Neo 3.5' => [ 'BLU', 'Neo 3.5' ],
1974
+ 'Neo 3.5' => [ 'BLU', 'Neo 3.5' ],
1975
+ 'BLU Quattro 4.5' => [ 'BLU', 'Quattro 4.5' ],
1976
+ 'BLU Quattro 4.5 HD' => [ 'BLU', 'Quattro 4.5 HD' ],
1977
+ 'BLU Quattro 5.7HD' => [ 'BLU', 'Quattro 5.7 HD' ],
1978
+ 'BLU SPORT 4.5' => [ 'BLU', 'Sport 4.5' ],
1979
+ 'BLU STAR4.0' => [ 'BLU', 'Star 4.0' ],
1980
+ 'BLU STUDIO 5.0' => [ 'BLU', 'Studio 5.0' ],
1981
+ 'BLU STUDIO 5.0 C' => [ 'BLU', 'Studio 5.0c' ],
1982
+ 'BLU STUDIO 5.0 Ce' => [ 'BLU', 'Studio 5.0ce' ],
1983
+ 'BLU STUDIO 5.0 C HD' => [ 'BLU', 'Studio 5.0c HD' ],
1984
+ 'STUDIO 5.0e' => [ 'BLU', 'Studio 5.0e' ],
1985
+ 'STUDIO 5.0K' => [ 'BLU', 'Studio 5.0k' ],
1986
+ 'Studio 5.0s' => [ 'BLU', 'Studio 5.0s' ],
1987
+ 'BLU Studio 5.0 S II' => [ 'BLU', 'Studio 5.0s II' ],
1988
+ 'Studio 5.0 S II' => [ 'BLU', 'Studio 5.0s II' ],
1989
+ 'Studio-5.0sII' => [ 'BLU', 'Studio 5.0s II' ],
1990
+ 'Studio-5.0-s-II' => [ 'BLU', 'Studio 5.0s II' ],
1991
+ 'BLU STUDIO 5.0 II' => [ 'BLU', 'Studio 5.0 II' ],
1992
+ 'Studio 5.0LTE' => [ 'BLU', 'Studio 5.0 LTE' ],
1993
+ 'Studio 5.0 HD LTE' => [ 'BLU', 'Studio 5.0 HD LTE' ],
1994
+ 'BLU Studio 5.3' => [ 'BLU', 'Studio 5.3' ],
1995
+ 'Studio 5.3s' => [ 'BLU', 'Studio 5.3s' ],
1996
+ 'BLU STUDIO 5.3 II' => [ 'BLU', 'Studio 5.3 II' ],
1997
+ 'STUDIO 5.5' => [ 'BLU', 'Studio 5.5' ],
1998
+ 'BLU STUDIO 5.5 C' => [ 'BLU', 'Studio 5.5c' ],
1999
+ 'BLU STUDIO 5.5 S' => [ 'BLU', 'Studio 5.5s' ],
2000
+ 'STUDIO6 0HD' => [ 'BLU', 'Studio 6.0 HD' ],
2001
+ 'STUDIO6.0HD' => [ 'BLU', 'Studio 6.0 HD' ],
2002
+ 'BLU STUDIO 6.0 HD' => [ 'BLU', 'Studio 6.0 HD' ],
2003
+ 'Studio 6.0 LTE' => [ 'BLU', 'Studio 6.0 LTE' ],
2004
+ 'BLU STUDIO 7.0' => [ 'BLU', 'Studio 7.0' ],
2005
+ 'STUDIO 7.0 LTE' => [ 'BLU', 'Studio 7.0 LTE' ],
2006
+ 'BLU STUDIO 7.0 LTE' => [ 'BLU', 'Studio 7.0 LTE' ],
2007
+ 'BLU STUDIO 7.0 II' => [ 'BLU', 'Studio 7.0 II' ],
2008
+ 'STUDIO C' => [ 'BLU', 'Studio C' ],
2009
+ 'BLU STUDIO C' => [ 'BLU', 'Studio C' ],
2010
+ 'BLU STUDIO C MINI' => [ 'BLU', 'Studio C Mini' ],
2011
+ 'BLU STUDIO C HD' => [ 'BLU', 'Studio C HD' ],
2012
+ 'BLU STUDIO C 5+5' => [ 'BLU', 'Studio C 5+5' ],
2013
+ 'BLU STUDIO C 5+5 LTE' => [ 'BLU', 'Studio C 5+5' ],
2014
+ 'BLU STUDIO C SUPER CAMERA' => [ 'BLU', 'Studio C Super Camera' ],
2015
+ 'BLU STUDIO G' => [ 'BLU', 'Studio G' ],
2016
+ 'BLU STUDIO G PLUS' => [ 'BLU', 'Studio G Plus' ],
2017
+ 'STUDIO G PLUS' => [ 'BLU', 'Studio G Plus' ],
2018
+ 'BLU STUDIO X' => [ 'BLU', 'Studio X' ],
2019
+ 'STUDIO X PLUS' => [ 'BLU', 'Studio X Plus' ],
2020
+ 'STUDIO XL' => [ 'BLU', 'Studio XL' ],
2021
+ 'BLU STUDIO XL' => [ 'BLU', 'Studio XL' ],
2022
+ 'STUDIO ENERGY' => [ 'BLU', 'Studio Energy' ],
2023
+ 'STUDIO ENERGY 2' => [ 'BLU', 'Studio Energy 2' ],
2024
+ 'Studio Mini LTE' => [ 'BLU', 'Studio Mini LTE' ],
2025
+ 'BLU STUDIO ONE PLUS' => [ 'BLU', 'Studio One Plus' ],
2026
+ 'STUDIO SELFIE' => [ 'BLU', 'Studio Selfie' ],
2027
+ 'BLU STUDIO SELFIE LTE' => [ 'BLU', 'Studio Selfie LTE' ],
2028
+ 'BLU Tank4.5' => [ 'BLU', 'Tank 4.5' ],
2029
+ 'BLU Tigo' => [ 'BLU', 'Tigo' ],
2030
+ 'BLU Touch Book 7.0 LITE' => [ 'BLU', 'Touch Book 7.0 Lite', DeviceType::TABLET ],
2031
+ 'BLU P100i' => [ 'BLU', 'Touch Book 7.0 Plus', DeviceType::TABLET ],
2032
+ '(BLU )?VIVO 4.3!' => [ 'BLU', 'Vivo 4.3' ],
2033
+ '(BLU )?VIVO 4.65!' => [ 'BLU', 'Vivo 4.65' ],
2034
+ 'VIVO 4.8 HD' => [ 'BLU', 'Vivo 4.8 HD' ],
2035
+ 'VIVO IV' => [ 'BLU', 'Vivo IV' ],
2036
+ 'VIVO AIR' => [ 'BLU', 'Vivo Air' ],
2037
+ 'BLU VIVO AIR LTE' => [ 'BLU', 'Vivo Air' ],
2038
+ 'BLU VIVO SELFIE' => [ 'BLU', 'Vivo Selfie' ],
2039
+ ],
2040
+
2041
+ 'PURE XL' => [ 'BLU', 'Pure XL' ],
2042
+ 'TOUCHBOOK7.0 3G' => [ 'BLU', 'Touch Book 7.0', DeviceType::TABLET ],
2043
+ 'BMOBILE DASH 3.5' => [ 'BLU', 'Dash 3.5' ],
2044
+ 'B3000' => [ 'BlueBo', 'B3000' ],
2045
+
2046
+ '(Bmobile )?AX[0-9]{3,4}!!' => [
2047
+ 'AX410' => [ 'Bmobile', 'AX410' ],
2048
+ 'Bmobile AX512' => [ 'Bmobile', 'AX512' ],
2049
+ 'AX512' => [ 'Bmobile', 'AX512' ],
2050
+ 'AX515' => [ 'Bmobile', 'AX515' ],
2051
+ 'AX520' => [ 'Bmobile', 'AX520' ],
2052
+ 'AX525' => [ 'Bmobile', 'AX525' ],
2053
+ 'AX530' => [ 'Bmobile', 'AX530' ],
2054
+ 'AX535' => [ 'Bmobile', 'AX535' ],
2055
+ 'AX540' => [ 'Bmobile', 'AX540' ],
2056
+ 'Bmobile AX540' => [ 'Bmobile', 'AX540' ],
2057
+ 'AX570' => [ 'Bmobile', 'AX570' ],
2058
+ 'Bmobile AX570' => [ 'Bmobile', 'AX570' ],
2059
+ 'AX600' => [ 'Bmobile', 'AX600' ],
2060
+ 'AX610' => [ 'Bmobile', 'AX610' ],
2061
+ 'Bmobile AX610' => [ 'Bmobile', 'AX610' ],
2062
+ 'AX620' => [ 'Bmobile', 'AX620' ],
2063
+ 'Bmobile AX620' => [ 'Bmobile', 'AX620' ],
2064
+ 'AX650' => [ 'Bmobile', 'AX650' ],
2065
+ 'AX660' => [ 'Bmobile', 'AX650' ],
2066
+ 'Bmobile AX670' => [ 'Bmobile', 'AX670' ],
2067
+ 'Bmobile AX680' => [ 'Bmobile', 'AX680' ],
2068
+ 'AX745' => [ 'Bmobile', 'AX745' ],
2069
+ 'Bmobile AX745' => [ 'Bmobile', 'AX745' ],
2070
+ 'Bmobile AX810' => [ 'Bmobile', 'AX810' ],
2071
+ 'AX1020' => [ 'Bmobile', 'AX1020' ],
2072
+ 'BMOBILE AX1020' => [ 'Bmobile', 'AX1020' ],
2073
+ 'Bmobile AX1030' => [ 'Bmobile', 'AX1030' ],
2074
+ 'AX1055' => [ 'Bmobile', 'AX1055' ],
2075
+ 'BMOBILE AX1060' => [ 'Bmobile', 'AX1060' ],
2076
+ 'AX1060' => [ 'Bmobile', 'AX1060' ],
2077
+ ],
2078
+
2079
+ 'AX7OO' => [ 'Bmobile', 'AX700' ],
2080
+ 'Bmobile T35AC' => [ 'Bmobile', 'T35AC' ],
2081
+ 'JC-S9220' => [ 'Bmorn', 'Phone One' ],
2082
+ 'BM999' => [ 'Bmorn', 'BM999', DeviceType::TABLET ],
2083
+ 'V11' => [ 'Bmorn', 'V11', DeviceType::TABLET ],
2084
+ 'V99' => [ 'Bmorn', 'V99', DeviceType::TABLET ],
2085
+ 'BO-FRSP4' => [ 'Bogo', 'Friendly 4DC' ],
2086
+ 'BO-LFSPBS5' => [ 'Bogo', 'Lifestyle 5BS' ],
2087
+ 'BOVO S-F16' => [ 'Bovo', 'Walker S-F16' ],
2088
+ 'S-F16' => [ 'Bovo', 'Walker S-F16' ],
2089
+
2090
+ 'BOWAY!!' => [
2091
+ 'BOWAY F3' => [ 'Boway', 'F3' ],
2092
+ 'BOWAY I3' => [ 'Boway', 'I3' ],
2093
+ 'BOWAY I5' => [ 'Boway', 'I5' ],
2094
+ 'BOWAY I9' => [ 'Boway', 'I9' ],
2095
+ 'BOWAY P1' => [ 'Boway', 'P1' ],
2096
+ 'BOWAY U1' => [ 'Boway', 'U1' ],
2097
+ 'BOWAY-BOWAY-U1' => [ 'Boway', 'U1' ],
2098
+ 'BOWAY U2' => [ 'Boway', 'U2' ],
2099
+ 'BOWAY-BOWAY-U2' => [ 'Boway', 'U2' ],
2100
+ 'BOWAY U3' => [ 'Boway', 'U3' ],
2101
+ 'BOWAY U7' => [ 'Boway', 'U7' ],
2102
+ 'BOWAY V7' => [ 'Boway', 'V7' ],
2103
+ 'BOWAY V70' => [ 'Boway', 'V70' ],
2104
+ 'BOWAY V80' => [ 'Boway', 'V80' ],
2105
+ ],
2106
+
2107
+ 'BroadSign Xpress!' => [ 'BroadSign', 'Xpress', DeviceType::SIGNAGE ],
2108
+ 'Broncho M7' => [ 'Broncho', 'M7', DeviceType::TABLET ],
2109
+ 'CENTURION' => [ 'Brondi', 'CENTURION' ],
2110
+ 'CENTURION 3' => [ 'Brondi', 'CENTURION 3' ],
2111
+ 'GLADIATOR' => [ 'Brondi', 'GLADIATOR' ],
2112
+ 'GLADIATOR-2' => [ 'Brondi', 'GLADIATOR 2' ],
2113
+ 'GLADIATOR 3' => [ 'Brondi', 'GLADIATOR 3' ],
2114
+ 'GLADIATOR 4' => [ 'Brondi', 'GLADIATOR 4' ],
2115
+ 'Glory' => [ 'Brondi', 'GLORY' ],
2116
+ 'Glory 2' => [ 'Brondi', 'GLORY 2' ],
2117
+ 'Glory3' => [ 'Brondi', 'GLORY 3' ],
2118
+ 'GLORY 4' => [ 'Brondi', 'GLORY 4' ],
2119
+ 'LUXURY' => [ 'Brondi', 'LUXURY' ],
2120
+ 'LUXURY 3' => [ 'Brondi', 'LUXURY 3' ],
2121
+ 'LUXURY 4' => [ 'Brondi', 'LUXURY 4' ],
2122
+ 'LUXURY 5' => [ 'Brondi', 'LUXURY 5' ],
2123
+ 'SENSUELLE' => [ 'Brondi', 'SENSUELLE' ],
2124
+ 'VICTORY' => [ 'Brondi', 'VICTORY' ],
2125
+ 'Victory 2' => [ 'Brondi', 'VICTORY 2' ],
2126
+ 'Victory 3' => [ 'Brondi', 'VICTORY 3' ],
2127
+ 'Surfing TAB B 9.7 3G' => [ 'Brondi', 'SURFING TAB B', DeviceType::TABLET ],
2128
+ 'Surfing Tab C 3G' => [ 'Brondi', 'SURFING TAB C', DeviceType::TABLET ],
2129
+
2130
+ '(BRS-)?BROR!!' => [
2131
+ 'BROR G2' => [ 'BROR', 'G2' ],
2132
+ 'BRS-BROR S3' => [ 'BROR', 'S3' ],
2133
+ 'BROR S9' => [ 'BROR', 'S9' ],
2134
+ 'BRS-BROR S9' => [ 'BROR', 'S9' ],
2135
+ 'BROR T70' => [ 'BROR', 'T70' ],
2136
+ 'BRS-BROR W58' => [ 'BROR', 'W58' ],
2137
+ 'BROR W58' => [ 'BROR', 'W58' ],
2138
+ 'BROR W60' => [ 'BROR', 'W60' ],
2139
+ 'BROR W60+' => [ 'BROR', 'W60+' ],
2140
+ 'BROR W65' => [ 'BROR', 'W65' ],
2141
+ 'BROR W68' => [ 'BROR', 'W68' ],
2142
+ 'BRS-BROR W70' => [ 'BROR', 'W70' ],
2143
+ 'BRS-BROR W80' => [ 'BROR', 'W80' ],
2144
+ ],
2145
+
2146
+ '(bq|Aquaris|Edison|Maxwell)!!' => [
2147
+ 'bq Aquaris' => [ 'bq', 'Aquaris' ],
2148
+ 'bq Aquaris 3.5' => [ 'bq', 'Aquaris 3.5' ],
2149
+ 'bq Aquaris 4' => [ 'bq', 'Aquaris 4' ],
2150
+ 'bq Aquaris 5' => [ 'bq', 'Aquaris 5' ],
2151
+ 'bq Aquaris5' => [ 'bq', 'Aquaris 5' ],
2152
+ 'BqAquaris5' => [ 'bq', 'Aquaris 5' ],
2153
+ 'bq Aquaris 5 HD' => [ 'bq', 'Aquaris 5 HD' ],
2154
+ 'bq Aquaris 5.7' => [ 'bq', 'Aquaris 5.7' ],
2155
+ 'Aquaris A4.5' => [ 'bq', 'Aquaris A4.5' ],
2156
+ 'Aquaris E4' => [ 'bq', 'Aquaris E4' ],
2157
+ 'Aquaris E4.5' => [ 'bq', 'Aquaris E4.5' ],
2158
+ 'Aquaris E5' => [ 'bq', 'Aquaris E5' ],
2159
+ 'Aquaris E5 HD' => [ 'bq', 'Aquaris E5 HD' ],
2160
+ 'Aquaris E5 FHD' => [ 'bq', 'Aquaris E5 FHD' ],
2161
+ 'Aquaris E6' => [ 'bq', 'Aquaris E6' ],
2162
+ 'Aquaris E10' => [ 'bq', 'Aquaris E10', DeviceType::TABLET ],
2163
+ 'Aquaris E10 3G' => [ 'bq', 'Aquaris E10', DeviceType::TABLET ],
2164
+ 'Aquaris M4.5' => [ 'bq', 'Aquaris M4.5' ],
2165
+ 'Aquaris M5' => [ 'bq', 'Aquaris M5' ],
2166
+ 'Aquaris M5.5' => [ 'bq', 'Aquaris M5.5' ],
2167
+ 'Aquaris M10' => [ 'bq', 'Aquaris M10', DeviceType::TABLET ],
2168
+ 'Aquaris M10 FHD' => [ 'bq', 'Aquaris M10 FHD', DeviceType::TABLET ],
2169
+ 'Aquaris X5' => [ 'bq', 'Aquaris X5' ],
2170
+ 'bq Curie' => [ 'bq', 'Curie', DeviceType::TABLET ],
2171
+ 'bq Curie 2' => [ 'bq', 'Curie 2', DeviceType::TABLET ],
2172
+ 'bq Curie 2 3G' => [ 'bq', 'Curie 2', DeviceType::TABLET ],
2173
+ 'bq Curie 2 Quad Core' => [ 'bq', 'Curie 2', DeviceType::TABLET ],
2174
+ 'bq Curie 2 Quad Core 3G' => [ 'bq', 'Curie 2', DeviceType::TABLET ],
2175
+ 'Bq Darwin' => [ 'bq', 'Darwin', DeviceType::TABLET ],
2176
+ 'bq DaVinci' => [ 'bq', 'DaVinci', DeviceType::TABLET ],
2177
+ 'bq Elcano' => [ 'bq', 'Elcano', DeviceType::TABLET ],
2178
+ 'bq Elcano 2 Quad Core' => [ 'bq', 'Elcano 2', DeviceType::TABLET ],
2179
+ 'bq Edison' => [ 'bq', 'Edison', DeviceType::TABLET ],
2180
+ 'bq Edison 3G' => [ 'bq', 'Edison', DeviceType::TABLET ],
2181
+ 'bq Edison 2' => [ 'bq', 'Edison 2', DeviceType::TABLET ],
2182
+ 'bq Edison 2 3G' => [ 'bq', 'Edison 2', DeviceType::TABLET ],
2183
+ 'bq Edison 2 Quad Core' => [ 'bq', 'Edison 2', DeviceType::TABLET ],
2184
+ 'bq Edison 2 Quad Core 3G' => [ 'bq', 'Edison 2', DeviceType::TABLET ],
2185
+ 'Edison 3' => [ 'bq', 'Edison 3', DeviceType::TABLET ],
2186
+ 'Edison 3 3G' => [ 'bq', 'Edison 3', DeviceType::TABLET ],
2187
+ 'Edison 3 mini' => [ 'bq', 'Edison 3 mini', DeviceType::TABLET ],
2188
+ 'bq Livingstone 2' => [ 'bq', 'Livingstone 2', DeviceType::TABLET ],
2189
+ 'Maxwell' => [ 'bq', 'Maxwell', DeviceType::TABLET ],
2190
+ 'Maxwell Lite' => [ 'bq', 'Maxwell Lite', DeviceType::TABLET ],
2191
+ 'bq Maxwell Plus' => [ 'bq', 'Maxwell Plus', DeviceType::TABLET ],
2192
+ 'bq Maxwell 2' => [ 'bq', 'Maxwell 2', DeviceType::TABLET ],
2193
+ 'bq Maxwell 2 Lite' => [ 'bq', 'Maxwell 2 Lite', DeviceType::TABLET ],
2194
+ 'bq Maxwell 2 Plus' => [ 'bq', 'Maxwell 2 Plus', DeviceType::TABLET ],
2195
+ 'bq Maxwell 2 Quad Core' => [ 'bq', 'Maxwell 2', DeviceType::TABLET ],
2196
+ 'bq Pascal 2!' => [ 'bq', 'Pascal 2', DeviceType::TABLET ],
2197
+ 'bq Verne Plus' => [ 'bq', 'Verne Plus', DeviceType::TABLET ],
2198
+ 'bq Verne Plus 3G' => [ 'bq', 'Verne Plus', DeviceType::TABLET ],
2199
+ 'bq Voltaire' => [ 'bq', 'Voltaire', DeviceType::TABLET ],
2200
+ ],
2201
+
2202
+ 'BUSH!!' => [
2203
+ 'Bush 4 Android' => [ 'Bush', '4' ],
2204
+ 'BUSH 5 Android' => [ 'Bush', '5' ],
2205
+ 'Bush 5" Android' => [ 'Bush', '5' ],
2206
+ 'Bush 5" 4G' => [ 'Bush', '5 4G' ],
2207
+ 'Bush Spira C2 5" Smartphone' => [ 'Bush', '5 4G' ],
2208
+ 'Bush 5.5" 4G' => [ 'Bush', '5.5 4G' ],
2209
+ 'Bush Spira D2 5.5" Smartphone' => [ 'Bush', '5.5 4G' ],
2210
+ 'BUSH 7.0 TABLET' => [ 'Bush', '7.0 Tablet', DeviceType::TABLET ],
2211
+ 'BUSH 7.85 TABLET' => [ 'Bush', '7.85 Tablet', DeviceType::TABLET ],
2212
+ 'Bush 8.0 MyTablet' => [ 'Bush', '8.0 MyTablet', DeviceType::TABLET ],
2213
+ 'BUSH 10.1 TABLET' => [ 'Bush', '10.1 Tablet', DeviceType::TABLET ],
2214
+ 'Bush 7.0 MyTablet' => [ 'Bush', '7.0 MyTablet', DeviceType::TABLET ],
2215
+ 'Bush 10.0 MyTablet' => [ 'Bush', '10.0 MyTablet', DeviceType::TABLET ],
2216
+ 'Bush Mytablet 2' => [ 'Bush', 'MyTablet 2', DeviceType::TABLET ],
2217
+ ],
2218
+
2219
+ 'CT[0-9]{3,4}!!' => [
2220
+ 'CT700' => [ 'Carrefour', 'Touch Tablet CT700', DeviceType::TABLET ],
2221
+ 'CT701' => [ 'Carrefour', 'Touch Tablet CT701', DeviceType::TABLET ],
2222
+ 'CT704' => [ 'Carrefour', 'Touch Tablet CT704', DeviceType::TABLET ],
2223
+ 'CT705' => [ 'Carrefour', 'Touch Tablet CT705', DeviceType::TABLET ],
2224
+ 'CT705FR' => [ 'Carrefour', 'Touch Tablet CT705', DeviceType::TABLET ],
2225
+ 'CT710' => [ 'Carrefour', 'Touch Tablet CT710', DeviceType::TABLET ],
2226
+ 'CT715' => [ 'Carrefour', 'Touch Tablet CT715', DeviceType::TABLET ],
2227
+ 'CT720' => [ 'Carrefour', 'Touch Tablet CT720', DeviceType::TABLET ],
2228
+ 'CT726' => [ 'Carrefour', 'Touch Tablet CT726', DeviceType::TABLET ],
2229
+ 'CT820' => [ 'Carrefour', 'Touch Tablet CT820', DeviceType::TABLET ],
2230
+ 'CT826' => [ 'Carrefour', 'Touch Tablet CT826', DeviceType::TABLET ],
2231
+ 'CT1000' => [ 'Carrefour', 'Touch Tablet CT1000', DeviceType::TABLET ],
2232
+ 'CT1002' => [ 'Carrefour', 'Touch Tablet CT1002', DeviceType::TABLET ],
2233
+ 'CT1002PLUS' => [ 'Carrefour', 'Touch Tablet CT1002 plus', DeviceType::TABLET ],
2234
+ 'CT1010' => [ 'Carrefour', 'Touch Tablet CT1010', DeviceType::TABLET ],
2235
+ 'CT1020W' => [ 'Carrefour', 'Touch Tablet CT1020W', DeviceType::TABLET ],
2236
+ ],
2237
+
2238
+ 'EM63' => [ 'Carrefour', 'Touch Tablet CT720', DeviceType::TABLET ],
2239
+ 'A101B-CF' => [ 'Carrefour', 'Touch Tablet CT1001', DeviceType::TABLET ],
2240
+ 'TVE9603I' => [ 'Carrefour', 'Touch Tablet CT1050', DeviceType::TABLET ],
2241
+ 'Camangi-Mangrove7' => [ 'Camangi', 'Mangrove 7', DeviceType::TABLET ],
2242
+ 'WS171' => [ 'Camangi', 'WebStation', DeviceType::TABLET ],
2243
+
2244
+ 'CAPTIVA!!' => [
2245
+ 'CAPTIVA PAD 7' => [ 'Captiva', 'Pad 7', DeviceType::TABLET ],
2246
+ 'CAPTIVA PAD 8' => [ 'Captiva', 'Pad 8', DeviceType::TABLET ],
2247
+ 'CAPTIVA PAD 8 Pro' => [ 'Captiva', 'Pad 8 Pro', DeviceType::TABLET ],
2248
+ 'CAPTIVA PAD 8 GPS' => [ 'Captiva', 'Pad 8 GPS', DeviceType::TABLET ],
2249
+ 'CAPTIVA 9.7 Super FHD' => [ 'Captiva', 'Pad 9.7 Super FHD', DeviceType::TABLET ],
2250
+ 'CAPTIVA PAD 10' => [ 'Captiva', 'Pad 10.1', DeviceType::TABLET ],
2251
+ 'CAPTIVA PAD 10.1' => [ 'Captiva', 'Pad 10.1', DeviceType::TABLET ],
2252
+ 'CAPTIVA 10.1 HD' => [ 'Captiva', 'Pad 10.1 HD', DeviceType::TABLET ],
2253
+ 'CAPTIVA PAD 10.1 Quad FHD' => [ 'Captiva', 'Pad 10.1 Quad FHD', DeviceType::TABLET ],
2254
+ 'CAPTIVA PAD 10.1 Quad FHD 3G' => [ 'Captiva', 'Pad 10.1 Quad FHD', DeviceType::TABLET ],
2255
+ ],
2256
+
2257
+ 'Carpad T5' => [ 'Carpad', 'T5' ],
2258
+ 'Carpad T61 2g' => [ 'Carpad', 'T61' ],
2259
+ 'CAL21' => [ 'Casio', 'GzOne Type-L CAL21', 'carrier' => 'au' ],
2260
+ 'CA201SP' => [ 'Casio', 'GzOne CA-201SP' ],
2261
+ 'CA-201L' => [ 'Casio', 'GzOne CA-201L' ],
2262
+ 'IS11CA' => [ 'Casio', 'GzOne Commando IS11CA', 'carrier' => 'au' ],
2263
+ 'C771' => [ 'Casio', 'GzOne Commando' ],
2264
+ 'C811 4G' => [ 'Casio', 'GzOne Commando 811' ],
2265
+ 'VX-100' => [ 'Casio', 'VX-100 EPOS Terminal', DeviceType::POS ],
2266
+
2267
+ 'Casper VIA!!' => [
2268
+ 'Casper VIA A3216' => [ 'Casper', 'VIA A3216' ],
2269
+ 'Casper VIA A6108' => [ 'Casper', 'VIA A6108' ],
2270
+ 'Casper VIA V4' => [ 'Casper', 'VIA V4' ],
2271
+ 'Casper VIA V5' => [ 'Casper', 'VIA V5' ],
2272
+ 'Casper VIA V8' => [ 'Casper', 'VIA V8' ],
2273
+ ],
2274
+
2275
+ 'B15' => [ 'CAT', 'B15' ],
2276
+ 'B15Q' => [ 'CAT', 'B15Q' ],
2277
+ 'S30' => [ 'CAT', 'S30' ],
2278
+ 'S40' => [ 'CAT', 'S40' ],
2279
+ 'S50' => [ 'CAT', 'S50' ],
2280
+ 'S50c' => [ 'CAT', 'S50c' ],
2281
+
2282
+ 'CAT!!' => [
2283
+ 'Cat Comet' => [ 'CAT', 'COMET', DeviceType::TABLET ],
2284
+ 'CAT NOVA' => [ 'CAT', 'NOVA', DeviceType::TABLET ],
2285
+ 'Cat Tablet Android 4.0.4' => [ 'CAT', 'NOVA', DeviceType::TABLET ],
2286
+ 'CatNova8' => [ 'CAT', 'NOVA8', DeviceType::TABLET ],
2287
+ 'Cat Tablet PHOENIX 8J0' => [ 'CAT', 'PHOENIX', DeviceType::TABLET ],
2288
+ 'Cat Tablet PHOENIX 8.1J0' => [ 'CAT', 'PHOENIX', DeviceType::TABLET ],
2289
+ 'Cat Tablet Galactica 9[.,]7CA!' => [ 'CAT', 'GALACTICA', DeviceType::TABLET ],
2290
+ 'Cat Tablet Galactica X 9[.,]7CA!' => [ 'CAT', 'GALACTICA X', DeviceType::TABLET ],
2291
+ 'Cat Tablet GalacticaX 9.7JA' => [ 'CAT', 'GALACTICA X', DeviceType::TABLET ],
2292
+ 'Cat Tablet PEGASUS T 8J0' => [ 'CAT', 'PEGASUS', DeviceType::TABLET ],
2293
+ 'Cat StarGate' => [ 'CAT', 'STARGATE', DeviceType::TABLET ],
2294
+ 'Cat Tablet CSG 7J0' => [ 'CAT', 'STARGATE', DeviceType::TABLET ],
2295
+ 'Cat Tablet StarGate 2' => [ 'CAT', 'STARGATE 2', DeviceType::TABLET ],
2296
+ 'Cat Tablet CSG2 7.1J0' => [ 'CAT', 'STARGATE 2', DeviceType::TABLET ],
2297
+ ],
2298
+
2299
+ 'SK351' => [ 'CCE', 'Motion.Plus SK351' ],
2300
+ 'CCE SK352' => [ 'CCE', 'Motion.Plus SK352' ],
2301
+
2302
+ 'Celkon!!' => [
2303
+ 'Celkon A8+' => [ 'Celkon', 'A8+' ],
2304
+ 'CELKON A9 Dual' => [ 'Celkon', 'A9' ],
2305
+ 'CELKON A9+' => [ 'Celkon', 'A9+' ],
2306
+ 'Celkon A10' => [ 'Celkon', 'Campus A10' ],
2307
+ 'Celkon A15' => [ 'Celkon', 'Campus A15' ],
2308
+ 'Celkon A15K' => [ 'Celkon', 'Campus A15K' ],
2309
+ 'Celkon A20' => [ 'Celkon', 'Campus A20' ],
2310
+ 'Celkon A21' => [ 'Celkon', 'A21' ],
2311
+ 'Celkon A 22' => [ 'Celkon', 'A22' ],
2312
+ 'Celkon A27' => [ 'Celkon', 'A27' ],
2313
+ 'Celkon A35K' => [ 'Celkon', 'A35K' ],
2314
+ 'Celkon A43' => [ 'Celkon', 'A43' ],
2315
+ 'Celkon A58' => [ 'Celkon', 'A58' ],
2316
+ 'Celkon A 59' => [ 'Celkon', 'A59' ],
2317
+ 'Celkon A62' => [ 'Celkon', 'A62' ],
2318
+ 'Celkon A 63' => [ 'Celkon', 'A63' ],
2319
+ 'CELKON A64' => [ 'Celkon', 'A64' ],
2320
+ 'Celkon A66' => [ 'Celkon', 'A66' ],
2321
+ 'Celkon A67' => [ 'Celkon', 'A67' ],
2322
+ 'Celkon A75' => [ 'Celkon', 'A75' ],
2323
+ 'Celkon A 77' => [ 'Celkon', 'A77' ],
2324
+ 'Celkon A79' => [ 'Celkon', 'A79' ],
2325
+ 'CELKON A83' => [ 'Celkon', 'A83' ],
2326
+ 'Celkon A 85' => [ 'Celkon', 'A85' ],
2327
+ 'Celkon*A86' => [ 'Celkon', 'A86' ],
2328
+ 'Celkon A88' => [ 'Celkon', 'A88' ],
2329
+ 'CELKON A 90' => [ 'Celkon', 'A90' ],
2330
+ 'Celkon*A95*Pro' => [ 'Celkon', 'A95 Pro' ],
2331
+ 'Celkon A97' => [ 'Celkon', 'A97' ],
2332
+ 'Celkon A98' => [ 'Celkon', 'A98' ],
2333
+ 'Celkon A101' => [ 'Celkon', 'A101' ],
2334
+ 'Celkon A105+' => [ 'Celkon', 'Signature Vista A105+' ],
2335
+ 'Celkon A107' => [ 'Celkon', 'Signature One A107' ],
2336
+ 'Celkon A107+' => [ 'Celkon', 'Signature One A107+' ],
2337
+ 'Celkon A112' => [ 'Celkon', 'Signature Swift A112' ],
2338
+ 'Celkon A118' => [ 'Celkon', 'Signature HD A118' ],
2339
+ 'Celkon A119' => [ 'Celkon', 'Signature HD A119' ],
2340
+ 'Celkon A119Q' => [ 'Celkon', 'Signature HD A119Q' ],
2341
+ 'Celkon A125' => [ 'Celkon', 'Campus A125' ],
2342
+ 'Celkon A 200' => [ 'Celkon', 'A200' ],
2343
+ 'Celkon A200' => [ 'Celkon', 'A200' ],
2344
+ 'Celkon A 220' => [ 'Celkon', 'A220' ],
2345
+ 'Celkon A 225' => [ 'Celkon', 'A225' ],
2346
+ 'Celkon A404' => [ 'Celkon', 'Campus Buddy A404' ],
2347
+ 'Celkon A500' => [ 'Celkon', 'Signature Two A500' ],
2348
+ 'Celkon A900' => [ 'Celkon', 'A900' ],
2349
+ 'Celkon A.R 40' => [ 'Celkon', 'AR40' ],
2350
+ 'Celkon A.R 45' => [ 'Celkon', 'AR45' ],
2351
+ 'Celkon A.R 50' => [ 'Celkon', 'AR50' ],
2352
+ 'Celkon C720' => [ 'Celkon', 'C720', DeviceType::TABLET ],
2353
+ 'CELKON CT2' => [ 'Celkon', 'CT2', DeviceType::TABLET ],
2354
+ 'Celkon CT3' => [ 'Celkon', 'CT3', DeviceType::TABLET ],
2355
+ 'Celkon CT7' => [ 'Celkon', 'CT7', DeviceType::TABLET ],
2356
+ 'Celkon CT 9' => [ 'Celkon', 'CT9', DeviceType::TABLET ],
2357
+ 'CELKON CT 888' => [ 'Celkon', 'CT888', DeviceType::TABLET ],
2358
+ 'Celkon CT 910' => [ 'Celkon', 'CT910', DeviceType::TABLET ],
2359
+ 'Celkon CT 910+' => [ 'Celkon', 'CT910+', DeviceType::TABLET ],
2360
+ 'Celkon IQ180' => [ 'Celkon', 'IQ180' ],
2361
+ 'Celkon S1' => [ 'Celkon', 'S1' ],
2362
+ 'Celkon Q405' => [ 'Celkon', 'Campus Q405' ],
2363
+ 'CELKON Q450' => [ 'Celkon', 'Millennia Q450' ],
2364
+ 'Celkon Q455' => [ 'Celkon', 'Millennium Vogue Q455' ],
2365
+ 'Celkon Q470' => [ 'Celkon', 'Millennium Elite Q470' ],
2366
+ 'Celkon Q500' => [ 'Celkon', 'Millennium Ultra Q500' ],
2367
+ 'Celkon Q550' => [ 'Celkon', 'Millennia Epic Q550' ],
2368
+ 'Celkon Q3000' => [ 'Celkon', 'Millennia Power Q3000' ],
2369
+ ],
2370
+
2371
+ 'A89' => [ 'Celkon', 'A89' ],
2372
+ 'A95' => [ 'Celkon', 'A95' ],
2373
+ 'A97i' => [ 'Celkon', 'A97i' ],
2374
+ 'CT-1' => [ 'Celkon', 'CT1', DeviceType::TABLET ],
2375
+ 'CT910' => [ 'Celkon', 'CT910', DeviceType::TABLET ],
2376
+ 'W820' => [ 'Cellon', 'HW-W820' ],
2377
+
2378
+ 'ChangHong!!' => [
2379
+ 'ChangHong-Z-ME' => [ 'ChangHong', 'Z-me' ],
2380
+ 'ChanghongA898T' => [ 'ChangHong', 'A898T' ],
2381
+ 'ChanghongC100' => [ 'ChangHong', 'C100' ],
2382
+ 'ChanghongC600' => [ 'ChangHong', 'C600' ],
2383
+ 'ChanghongC770' => [ 'ChangHong', 'C770' ],
2384
+ 'ChanghongC800' => [ 'ChangHong', 'C800' ],
2385
+ 'Changhong H5018' => [ 'ChangHong', 'H5018' ],
2386
+ 'ChangHongV5t' => [ 'ChangHong', 'V5t' ],
2387
+ 'ChangHong ?V7!' => [ 'ChangHong', 'V7' ],
2388
+ 'ChonghongV8' => [ 'ChangHong', 'V8' ],
2389
+ 'ChangHongV11t' => [ 'ChangHong', 'V11t' ],
2390
+ 'ChangHongW3' => [ 'ChangHong', 'W3' ],
2391
+ 'ChangHong W3' => [ 'ChangHong', 'W3' ],
2392
+ 'ChanghongW6' => [ 'ChangHong', 'W6' ],
2393
+ 'ChanghongW7' => [ 'ChangHong', 'W7' ],
2394
+ 'ChangHong W8' => [ 'ChangHong', 'W8' ],
2395
+ 'ChangHong W22' => [ 'ChangHong', 'W22' ],
2396
+ 'ChangHong ?Z1!' => [ 'ChangHong', 'Z1' ],
2397
+ 'ChanghongZ3t' => [ 'ChangHong', 'Z3t' ],
2398
+ 'ChangHongZ9' => [ 'ChangHong', 'Z9' ],
2399
+ 'changhong TV' => [ 'ChangHong', null ],
2400
+ ],
2401
+
2402
+ 'CHER!!' => [
2403
+ 'CHER A50' => [ 'Cher', 'A50' ],
2404
+ 'CHER A55w' => [ 'Cher', 'A55w' ],
2405
+ 'CHER A90' => [ 'Cher', 'A90' ],
2406
+ 'CHER A91' => [ 'Cher', 'A91' ],
2407
+ ],
2408
+
2409
+ 'PC1038' => [ 'Cherry', 'Pro-Line 2', DeviceType::TABLET ],
2410
+ 'Candy TV' => [ 'Cherry Mobile', 'Candy TV' ],
2411
+ 'Titan TV S320' => [ 'Cherry Mobile', 'Titan TV' ],
2412
+ 'Flame2' => [ 'Cherry Mobile', 'Flame 2.0' ],
2413
+ 'Flare S100' => [ 'Cherry Mobile', 'Flare' ],
2414
+ 'Flare 2.0' => [ 'Cherry Mobile', 'Flare 2.0' ],
2415
+ 'Flare 2.1' => [ 'Cherry Mobile', 'Flare 2.1' ],
2416
+ 'Flare2X' => [ 'Cherry Mobile', 'Flare 2X' ],
2417
+ 'Blaze S180' => [ 'Cherry Mobile', 'Blaze S180' ],
2418
+ 'Burst S280' => [ 'Cherry Mobile', 'Burst W280' ],
2419
+ 'Cherry Mobile Burst' => [ 'Cherry Mobile', 'Burst W280' ],
2420
+ 'Cherry Life' => [ 'Cherry Mobile', 'Life' ],
2421
+ 'Cherry Razor' => [ 'Cherry Mobile', 'Razor' ],
2422
+ 'Cherry Mobile Razor' => [ 'Cherry Mobile', 'Razor' ],
2423
+ 'CHERRY SNAP' => [ 'Cherry Mobile', 'Snap' ],
2424
+ 'Cherry Sonic' => [ 'Cherry Mobile', 'Sonic' ],
2425
+ 'Cherry thunder2.0' => [ 'Cherry Mobile', 'Thunder 2.0' ],
2426
+ 'Thunder S220' => [ 'Cherry Mobile', 'Thunder S220' ],
2427
+ 'H120' => [ 'Cherry Mobile', 'H120' ],
2428
+ 'W200' => [ 'Cherry Mobile', 'W200' ],
2429
+ 'Cherry Mobile Amber W380' => [ 'Cherry Mobile', 'Amber W380' ],
2430
+ 'Cherry w500' => [ 'Cherry Mobile', 'W500' ],
2431
+ 'W900' => [ 'Cherry Mobile', 'W900' ],
2432
+ 'Fusion Bolt' => [ 'Cherry Mobile', 'Fusion Bolt', DeviceType::TABLET ],
2433
+
2434
+ 'LA-!!' => [
2435
+ 'LA-E' => [ 'Chili', 'E' ],
2436
+ 'LA-I' => [ 'Chili', 'I' ],
2437
+ 'LA-I2' => [ 'Chili', 'I2' ],
2438
+ 'LA-M1' => [ 'Chili', 'M1' ],
2439
+ 'LA-M1Y' => [ 'Chili', 'M1Y' ],
2440
+ 'LA-M2' => [ 'Chili', 'M2' ],
2441
+ 'LA-Q1' => [ 'Chili', 'Q1' ],
2442
+ ],
2443
+
2444
+ 'M701C' => [ 'China Tablet', 'M701C', DeviceType::TABLET ],
2445
+ 'TR720F' => [ 'China Tablet', 'TR720F', DeviceType::TABLET ],
2446
+ 'ARMM2V' => [ 'chinaleap', 'ARMM2V', DeviceType::TABLET ],
2447
+ 'ARMM3V' => [ 'chinaleap', 'ARMM3V', DeviceType::TABLET ],
2448
+ 'V936' => [ 'Chiva', 'V936' ],
2449
+
2450
+ 'CHUWI!!' => [
2451
+ 'CHUWI V3' => [ 'Chuwi', 'V3', DeviceType::TABLET ],
2452
+ 'CHUWI-V8-HD' => [ 'Chuwi', 'V8 HD', DeviceType::TABLET ],
2453
+ 'CHUWI V9' => [ 'Chuwi', 'V9', DeviceType::TABLET ],
2454
+ ],
2455
+
2456
+ 'cius' => [ 'Cisco', 'Cius', DeviceType::TABLET ],
2457
+ 'CIUS-7!' => [ 'Cisco', 'Cius', DeviceType::TABLET ],
2458
+
2459
+ 'CP-DX!!' => [
2460
+ 'CP-DX70' => [ 'Cisco', 'DX70', DeviceType::TABLET ],
2461
+ 'CP-DX80' => [ 'Cisco', 'DX80', DeviceType::TABLET ],
2462
+ 'CP-DX650' => [ 'Cisco', 'DX650', DeviceType::TABLET ],
2463
+ ],
2464
+
2465
+ 'Citycall!!' => [
2466
+ 'Citycall A1' => [ 'Citycall', 'A1' ],
2467
+ 'Citycall i310+' => [ 'Citycall', 'i310+' ],
2468
+ 'Citycall i930+' => [ 'Citycall', 'i930+' ],
2469
+ ],
2470
+
2471
+ 'Clarion Mirage 2' => [ 'Clarion', 'Mirage 2', DeviceType::CAR ],
2472
+
2473
+ '(Cloudfone|CloudPad|Excite|Thrill)!!' => [
2474
+ 'Cloudfone Excite320e' => [ 'Cloudfone', 'Excite 320e' ],
2475
+ 'Cloudfone Excite320g' => [ 'Cloudfone', 'Excite 320g' ],
2476
+ 'Cloudfone Excite350e' => [ 'Cloudfone', 'Excite 350e' ],
2477
+ 'Cloudfone Excite350g' => [ 'Cloudfone', 'Excite 350g' ],
2478
+ 'Cloudfone Excite 350g' => [ 'Cloudfone', 'Excite 350g' ],
2479
+ 'Cloudfone Excite 350i' => [ 'Cloudfone', 'Excite 350i' ],
2480
+ 'Cloudfone Excite 354g' => [ 'Cloudfone', 'Excite 354g' ],
2481
+ 'Cloudfone Excite 400d' => [ 'Cloudfone', 'Excite 400d' ],
2482
+ 'Cloudfone Excite 402d' => [ 'Cloudfone', 'Excite 402d' ],
2483
+ 'Excite 402d' => [ 'Cloudfone', 'Excite 402d' ],
2484
+ 'Cloudfone Excite 452q' => [ 'Cloudfone', 'Excite 452q' ],
2485
+ 'Cloudfone Excite 500d' => [ 'Cloudfone', 'Excite 500d' ],
2486
+ 'Excite 501o' => [ 'Cloudfone', 'Excite 501o' ],
2487
+ 'Cloudfone Excite 502q' => [ 'Cloudfone', 'Excite 502q' ],
2488
+ 'Cloudfone GEO 400q+' => [ 'Cloudfone', 'Geo 400q' ],
2489
+ 'Cloudfone GEO 402q' => [ 'Cloudfone', 'Geo 402q' ],
2490
+ 'Cloudfone ICE 2Gs' => [ 'Cloudfone', 'Ice 2Gs' ],
2491
+ 'cloudfone ice 350e!' => [ 'Cloudfone', 'Ice 350e' ],
2492
+ 'Cloudfone ICE 500e' => [ 'Cloudfone', 'Ice 500e' ],
2493
+ 'Cloudfone Thrill 400g' => [ 'Cloudfone', 'Thrill 400g' ],
2494
+ 'Cloudfone Thrill 430d' => [ 'Cloudfone', 'Thrill 430d' ],
2495
+ 'Cloudfone Thrill 430g' => [ 'Cloudfone', 'Thrill 430g' ],
2496
+ 'Thrill 430x' => [ 'Cloudfone', 'Thrill 430x' ],
2497
+ 'Cloudfone Thrill 500g' => [ 'Cloudfone', 'Thrill 500g' ],
2498
+ 'Thrill 530qx' => [ 'Cloudfone', 'Thrill 530qx' ],
2499
+ 'CloudPad 700d' => [ 'Cloudfone', 'CloudPad 700d' ],
2500
+ 'CloudPad 700w' => [ 'Cloudfone', 'CloudPad 700w' ],
2501
+ 'CloudPad 700TV' => [ 'Cloudfone', 'CloudPad 700tv' ],
2502
+ 'CloudPad 701tv' => [ 'Cloudfone', 'CloudPad 701tv' ],
2503
+ 'Cloudpad 705w' => [ 'Cloudfone', 'CloudPad 705w' ],
2504
+ 'CloudPad 707qw' => [ 'Cloudfone', 'CloudPad 707qw' ],
2505
+ 'Cloudpad 800d' => [ 'Cloudfone', 'CloudPad 800d' ],
2506
+ ],
2507
+
2508
+ 'CW[- ]!!' => [
2509
+ 'CW V7 SIM' => [ 'Chuwi', 'V7' ],
2510
+ 'CW V8 Dual' => [ 'Chuwi', 'V8' ],
2511
+ 'CW-V9 DUAL' => [ 'Chuwi', 'V9' ],
2512
+ 'CW-V17HD' => [ 'Chuwi', 'V17HD' ],
2513
+ 'CW-V18' => [ 'Chuwi', 'V18' ],
2514
+ 'CW V70' => [ 'Chuwi', 'V70' ],
2515
+ 'CW V80' => [ 'Chuwi', 'V80' ],
2516
+ 'CW-V88-QUAD' => [ 'Chuwi', 'V88' ],
2517
+ 'CW-V88S' => [ 'Chuwi', 'V88s' ],
2518
+ 'CW-V88S-QUAD' => [ 'Chuwi', 'V88s' ],
2519
+ 'CW-V99' => [ 'Chuwi', 'V99' ],
2520
+ 'CW-V99-QUAD' => [ 'Chuwi', 'V99' ],
2521
+ 'CW-VX8-3G' => [ 'Chuwi', 'VX8 3G' ],
2522
+ ],
2523
+
2524
+ 'V17HD' => [ 'Chuwi', 'V17HD' ],
2525
+ 'AQUILA 080-1008' => [ 'CMX', 'Aquila 080-1008', DeviceType::TABLET ],
2526
+ 'AQUILA 097-1006' => [ 'CMX', 'Aquila 097-1006', DeviceType::TABLET ],
2527
+ 'Clanga 079-1016' => [ 'CMX', 'Clanga 079-1016', DeviceType::TABLET ],
2528
+ 'Clanga 097-2016' => [ 'CMX', 'Clanga 097-2016', DeviceType::TABLET ],
2529
+ 'Clanga SE 097-1008' => [ 'CMX', 'Clanga SE 097-1008', DeviceType::TABLET ],
2530
+ 'RAPAXSE080-0508' => [ 'CMX', 'Rapax SE 080-0508', DeviceType::TABLET ],
2531
+
2532
+ 'CnM!!' => [
2533
+ 'CnM TouchPad 7' => [ 'CnM', 'TouchPad 7', DeviceType::TABLET ],
2534
+ 'CnM-TOUCHPAD 7' => [ 'CnM', 'TouchPad 7', DeviceType::TABLET ],
2535
+ 'CnM-TOUCHPAD7' => [ 'CnM', 'TouchPad 7', DeviceType::TABLET ],
2536
+ 'CnM TouchPad 7DC' => [ 'CnM', 'TouchPad 7 DC', DeviceType::TABLET ],
2537
+ 'CnM-TP-8DC-16-B' => [ 'CnM', 'TouchPad 7 DC', DeviceType::TABLET ],
2538
+ 'CnM TouchPad 9DC' => [ 'CnM', 'TouchPad 8 DC', DeviceType::TABLET ],
2539
+ 'CnM TOUCHPAD 9' => [ 'CnM', 'TouchPad 9', DeviceType::TABLET ],
2540
+ 'CnM-TOUCHPAD9' => [ 'CnM', 'TouchPad 9', DeviceType::TABLET ],
2541
+ 'Cnm TOUCHPAD 9.7' => [ 'CnM', 'TouchPad 9.7', DeviceType::TABLET ],
2542
+ 'CnM-TP-10DC-16-B' => [ 'CnM', 'TouchPad 10 DC', DeviceType::TABLET ],
2543
+ 'CnM TouchPad 10.1DC' => [ 'CnM', 'TouchPad 10.1 DC', DeviceType::TABLET ],
2544
+ ],
2545
+
2546
+ 'MID[0-9]{4,4}!!' => [
2547
+ 'MID1024' => [ 'Coby', 'Kyros MID1024', DeviceType::TABLET ],
2548
+ 'MID1042' => [ 'Coby', 'Kyros MID1042', DeviceType::TABLET ],
2549
+ 'MID1045' => [ 'Coby', 'Kyros MID1045', DeviceType::TABLET ],
2550
+ 'MID1048' => [ 'Coby', 'Kyros MID1048', DeviceType::TABLET ],
2551
+ 'MID1060' => [ 'Coby', 'Kyros MID1060', DeviceType::TABLET ],
2552
+ 'MID1065' => [ 'Coby', 'Kyros MID1065', DeviceType::TABLET ],
2553
+ 'MID1125' => [ 'Coby', 'Kyros MID1125', DeviceType::TABLET ],
2554
+ 'MID1126' => [ 'Coby', 'Kyros MID1126', DeviceType::TABLET ],
2555
+ 'MID4331' => [ 'Coby', 'Kyros MID4331', DeviceType::MEDIA ],
2556
+ 'MID7002' => [ 'Coby', 'Kyros MID7002', DeviceType::TABLET ],
2557
+ 'MID7005' => [ 'Coby', 'Kyros MID7005', DeviceType::TABLET ],
2558
+ 'MID7010' => [ 'Coby', 'Kyros MID7010', DeviceType::TABLET ],
2559
+ 'MID7011' => [ 'Coby', 'Kyros MID7011', DeviceType::TABLET ],
2560
+ 'MID7012' => [ 'Coby', 'Kyros MID7012', DeviceType::TABLET ],
2561
+ 'MID7014' => [ 'Coby', 'Kyros MID7014', DeviceType::TABLET ],
2562
+ 'MID7015!' => [ 'Coby', 'Kyros MID7015', DeviceType::TABLET ],
2563
+ 'MID7016' => [ 'Coby', 'Kyros MID7016', DeviceType::TABLET ],
2564
+ 'MID7020' => [ 'Coby', 'Kyros MID7020', DeviceType::TABLET ],
2565
+ 'MID7022' => [ 'Coby', 'Kyros MID7022', DeviceType::TABLET ],
2566
+ 'MID7024' => [ 'Coby', 'Kyros MID7024', DeviceType::TABLET ],
2567
+ 'MID7025' => [ 'Coby', 'Kyros MID7025', DeviceType::TABLET ],
2568
+ 'MID7032' => [ 'Coby', 'Kyros MID7032', DeviceType::TABLET ],
2569
+ 'MID7033' => [ 'Coby', 'Kyros MID7033', DeviceType::TABLET ],
2570
+ 'MID7034' => [ 'Coby', 'Kyros MID7034', DeviceType::TABLET ],
2571
+ 'MID7035' => [ 'Coby', 'Kyros MID7035', DeviceType::TABLET ],
2572
+ 'MID7036' => [ 'Coby', 'Kyros MID7036', DeviceType::TABLET ],
2573
+ 'MID7038' => [ 'Coby', 'Kyros MID7038', DeviceType::TABLET ],
2574
+ 'MID7042' => [ 'Coby', 'Kyros MID7042', DeviceType::TABLET ],
2575
+ 'MID7046' => [ 'Coby', 'Kyros MID7046', DeviceType::TABLET ],
2576
+ 'MID7047' => [ 'Coby', 'Kyros MID7047', DeviceType::TABLET ],
2577
+ 'MID7048' => [ 'Coby', 'Kyros MID7048', DeviceType::TABLET ],
2578
+ 'MID7051' => [ 'Coby', 'Kyros MID7051', DeviceType::TABLET ],
2579
+ 'MID7052' => [ 'Coby', 'Kyros MID7052', DeviceType::TABLET ],
2580
+ 'MID7055' => [ 'Coby', 'Kyros MID7052', DeviceType::TABLET ],
2581
+ 'MID7065' => [ 'Coby', 'Kyros MID7065', DeviceType::TABLET ],
2582
+ 'MID7120' => [ 'Coby', 'Kyros MID7120', DeviceType::TABLET ],
2583
+ 'MID7125' => [ 'Coby', 'Kyros MID7125', DeviceType::TABLET ],
2584
+ 'MID7127' => [ 'Coby', 'Kyros MID7127', DeviceType::TABLET ],
2585
+ 'MID8024' => [ 'Coby', 'Kyros MID8024', DeviceType::TABLET ],
2586
+ 'MID8042' => [ 'Coby', 'Kyros MID8042', DeviceType::TABLET ],
2587
+ 'MID8048' => [ 'Coby', 'Kyros MID8048', DeviceType::TABLET ],
2588
+ 'MID8065' => [ 'Coby', 'Kyros MID8065', DeviceType::TABLET ],
2589
+ 'MID8120' => [ 'Coby', 'Kyros MID8120', DeviceType::TABLET ],
2590
+ 'MID8125' => [ 'Coby', 'Kyros MID8125', DeviceType::TABLET ],
2591
+ 'MID8127' => [ 'Coby', 'Kyros MID8127', DeviceType::TABLET ],
2592
+ 'MID8128' => [ 'Coby', 'Kyros MID8128', DeviceType::TABLET ],
2593
+ 'MID9042' => [ 'Coby', 'Kyros MID9042', DeviceType::TABLET ],
2594
+ 'MID9724' => [ 'Coby', 'Kyros MID9724', DeviceType::TABLET ],
2595
+ 'MID9740' => [ 'Coby', 'Kyros MID9740', DeviceType::TABLET ],
2596
+ 'MID9742' => [ 'Coby', 'Kyros MID9742', DeviceType::TABLET ],
2597
+ 'MID9760' => [ 'Coby', 'Kyros MID9760', DeviceType::TABLET ],
2598
+ ],
2599
+
2600
+ 'Ultimix!!' => [
2601
+ 'Ultimix77' => [ 'Codegen', 'Ultimix 77', DeviceType::TABLET ],
2602
+ 'Ultimix 88' => [ 'Codegen', 'Ultimix 88', DeviceType::TABLET ],
2603
+ 'Ultimix99' => [ 'Codegen', 'Ultimix 99', DeviceType::TABLET ],
2604
+ ],
2605
+
2606
+ 'BLADE LE 70' => [ 'COMMAX', 'BLADE LE 70', DeviceType::TABLET ],
2607
+
2608
+ 'Commodore!!' => [
2609
+ 'Commodore IS-7107C' => [ 'Commodore', 'IS-7107C', DeviceType::TABLET ],
2610
+ 'Commodore IS-7107C' => [ 'Commodore', 'IS-7107C', DeviceType::TABLET ],
2611
+ ],
2612
+
2613
+ 'Z71' => [ 'Commtiva', 'Z71' ],
2614
+ 'V-T100' => [ 'Commtiva', 'V-T100' ],
2615
+ 'FIH-FB0' => [ 'Commtiva', 'HD700'],
2616
+ 'Commtiva-HD710' => [ 'Commtiva', 'HD710'],
2617
+ 'Commtiva-N700' => [ 'Commtiva', 'N700'],
2618
+ 'Connspeed IP71' => [ 'Connspeed', 'IP71' ],
2619
+
2620
+ '(Colorfly|CT[0-9]{3,3})!!' => [
2621
+ 'Colorfly CT102 Qise 3' => [ 'Colorfly', 'CT102 Qise 3', DeviceType::TABLET ],
2622
+ 'CT704 D·Bok' => [ 'Colorfly', 'CT704 D·Bok', DeviceType::TABLET ],
2623
+ 'CT801 Eyas' => [ 'Colorfly', 'CT801 Eyas', DeviceType::TABLET ],
2624
+ 'CT801 Q.Ait' => [ 'Colorfly', 'CT801 Q·Ait', DeviceType::TABLET ],
2625
+ 'Colorfly CT972Q·Vanilla' => [ 'Colorfly', 'CT972 Q·Vanilla', DeviceType::TABLET ],
2626
+ 'Colorfly CT972Q·Vanilla' => [ 'Colorfly', 'CT972 Q·Vanilla', DeviceType::TABLET ],
2627
+ 'Colorfly CT972Q·Vanilla' => [ 'Colorfly', 'CT972 Q·Vanilla', DeviceType::TABLET ],
2628
+ 'CT972 Q.Vanilla 2' => [ 'Colorfly', 'CT972 Q·Vanilla 2', DeviceType::TABLET ],
2629
+ 'CT974 Ivory 3' => [ 'Colorfly', 'CT974 Ivory 3', DeviceType::TABLET ],
2630
+ 'Colorfly E708' => [ 'Colorfly', 'E708', DeviceType::TABLET ],
2631
+ 'Colorfly E708 Q1' => [ 'Colorfly', 'E708 Q1', DeviceType::TABLET ],
2632
+ 'Colorfly E708 Q1s' => [ 'Colorfly', 'E708 Q1s', DeviceType::TABLET ],
2633
+ 'Colorfly E708 Q2' => [ 'Colorfly', 'E708 Q2', DeviceType::TABLET ],
2634
+ 'Colorfly G708' => [ 'Colorfly', 'G708', DeviceType::TABLET ],
2635
+ 'Colorfly S782 Q1' => [ 'Colorfly', 'S782 Q1', DeviceType::TABLET ],
2636
+ 'Colorfly U781 Q1' => [ 'Colorfly', 'U781 Q1', DeviceType::TABLET ],
2637
+ ],
2638
+
2639
+ 'K11' => [ 'Colors', 'K11' ],
2640
+
2641
+ 'Colors!!' => [
2642
+ 'Colors K22' => [ 'Colors', 'K22' ],
2643
+ 'Colors X27' => [ 'Colors', 'Xfactor Wave X27' ],
2644
+ 'Colors X45' => [ 'Colors', 'X45' ],
2645
+ 'Colors X115' => [ 'Colors', 'Xfactor Quad II X115' ],
2646
+ ],
2647
+
2648
+ 'ConCorde!!' => [
2649
+ 'ConCorde SmartPhone 4300' => [ 'ConCorde', 'SmartPhone 4300' ],
2650
+ 'ConCorde SmartPhone5000' => [ 'ConCorde', 'SmartPhone 5000' ],
2651
+ 'ConCorde Smartphone 5005 NFC' => [ 'ConCorde', 'SmartPhone 5005 NFC' ],
2652
+ 'ConCorde SmartPhone5700' => [ 'ConCorde', 'SmartPhone 5700' ],
2653
+ 'ConCorde SmartPhone6500' => [ 'ConCorde', 'SmartPhone 6500' ],
2654
+ 'ConCorde tab 9.7IPS PLUS' => [ 'ConCorde', 'tab 9.7IPS Plus', DeviceType::TABLET ],
2655
+ 'ConCorde tab NOVUM' => [ 'ConCorde', 'tab NOVUM', DeviceType::TABLET ],
2656
+ 'Concorde Tab Omega 3G' => [ 'ConCorde', 'tab OMEGA', DeviceType::TABLET ],
2657
+ 'ConCorde tab PLAY' => [ 'ConCorde', 'tab PLAY', DeviceType::TABLET ],
2658
+ 'ConCorde tab Speed' => [ 'ConCorde', 'tab SPEED', DeviceType::TABLET ],
2659
+ 'ConCorde Tab T10' => [ 'ConCorde', 'tab T10', DeviceType::TABLET ],
2660
+ ],
2661
+
2662
+ 'Coolgen!!' => [
2663
+ 'Coolgen E68+' => [ 'Coolgen', 'E68+' ],
2664
+ 'Coolgen E69+' => [ 'Coolgen', 'E69+' ],
2665
+ 'Coolgen E70' => [ 'Coolgen', 'E70' ],
2666
+ 'Coolgen E70 G' => [ 'Coolgen', 'E70 G' ],
2667
+ 'Coolgen E71' => [ 'Coolgen', 'E71' ],
2668
+ 'Coolgen E72 Note 3G' => [ 'Coolgen', 'E72' ],
2669
+ 'Coolgen E72 Note8' => [ 'Coolgen', 'E72' ],
2670
+ ],
2671
+
2672
+ 'Coolpad!!' => [
2673
+ 'Coolpad A8-531' => [ 'Coolpad', 'A8-531' ],
2674
+ 'Coolpad D510' => [ 'Coolpad', 'D510' ],
2675
+ 'Coolpad D530' => [ 'Coolpad', 'D530' ],
2676
+ 'Coolpad D530TW' => [ 'Coolpad', 'D530' ],
2677
+ 'Coolpad D539' => [ 'Coolpad', 'D539' ],
2678
+ 'Coolpad E239' => [ 'Coolpad', 'E239' ],
2679
+ 'Coolpad E501!' => [ 'Coolpad', 'E501' ],
2680
+ 'Coolpad E560' => [ 'Coolpad', 'E560' ],
2681
+ 'Coolpad F101' => [ 'Coolpad', 'F101' ],
2682
+ 'Coolpad F103' => [ 'Coolpad', 'F103' ],
2683
+ 'Coolpad N930' => [ 'Coolpad', 'N930' ],
2684
+ 'Coolpad N950' => [ 'Coolpad', 'N950' ],
2685
+ 'Coolpad R106' => [ 'Coolpad', 'R106' ],
2686
+ 'Coolpad S6-NT' => [ 'Coolpad', 'S6-NT' ],
2687
+ 'Coolpad T1' => [ 'Coolpad', 'T1' ],
2688
+ 'Coolpad T2-C01' => [ 'Coolpad', 'T2' ],
2689
+ 'Coolpad V1-C' => [ 'Coolpad', 'Bodun' ],
2690
+ 'Coolpad W706!' => [ 'Coolpad', 'W706' ],
2691
+ 'Coolpad W708' => [ 'Coolpad', 'W708' ],
2692
+ 'Coolpad Y1' => [ 'Coolpad', 'Y1' ],
2693
+ 'Coolpad Y60!' => [ 'Coolpad', 'Y60' ],
2694
+ 'Coolpad Y70!' => [ 'Coolpad', 'Y70' ],
2695
+ 'Coolpad Y71!' => [ 'Coolpad', 'Y71' ],
2696
+ 'Coolpad Y75!' => [ 'Coolpad', 'Y75' ],
2697
+ 'Coolpad Y76!' => [ 'Coolpad', 'Y76' ],
2698
+ 'Coolpad Y80!' => [ 'Coolpad', 'Y80' ],
2699
+ 'Coolpad Y82!' => [ 'Coolpad', 'Y82' ],
2700
+ 'Coolpad 3300A' => [ 'Coolpad', '3300A' ],
2701
+ 'Coolpad 3320A' => [ 'Coolpad', '3320A' ],
2702
+ 'Coolpad 5010' => [ 'Coolpad', '5010' ],
2703
+ 'Coolpad 5108' => [ 'Coolpad', '5108' ],
2704
+ 'Coolpad 5109' => [ 'Coolpad', '5109' ],
2705
+ 'Coolpad 5110' => [ 'Coolpad', '5110' ],
2706
+ 'Coolpad 5200' => [ 'Coolpad', '5200' ],
2707
+ 'Coolpad 5200S' => [ 'Coolpad', '5200S' ],
2708
+ 'Coolpad 5210!' => [ 'Coolpad', '5210' ],
2709
+ 'Coolpad 5211' => [ 'Coolpad', '5211' ],
2710
+ 'Coolpad 5213' => [ 'Coolpad', '5213' ],
2711
+ 'Coolpad 5216!' => [ 'Coolpad', '5216' ],
2712
+ 'Coolpad 5217' => [ 'Coolpad', '5217' ],
2713
+ 'Coolpad 5218!' => [ 'Coolpad', '5218' ],
2714
+ 'Coolpad 5219' => [ 'Coolpad', '5219' ],
2715
+ 'Coolpad 5230!' => [ 'Coolpad', '5230' ],
2716
+ 'Coolpad 5261!' => [ 'Coolpad', '5261' ],
2717
+ 'Coolpad 5263!' => [ 'Coolpad', '5263' ],
2718
+ 'Coolpad 5310' => [ 'Coolpad', '5310' ],
2719
+ 'Coolpad 5311' => [ 'Coolpad', '5311' ],
2720
+ 'Coolpad 5313' => [ 'Coolpad', '5313' ],
2721
+ 'Coolpad 5313S' => [ 'Coolpad', '5313S' ],
2722
+ 'Coolpad 5316' => [ 'Coolpad', '5316' ],
2723
+ 'Coolpad 5360' => [ 'Coolpad', '5360' ],
2724
+ 'Coolpad 5820' => [ 'Coolpad', '5820' ],
2725
+ 'Coolpad 5832' => [ 'Coolpad', '5832' ],
2726
+ 'Coolpad 5860!' => [ 'Coolpad', '5860' ],
2727
+ 'Coolpad 5870' => [ 'Coolpad', '5870' ],
2728
+ 'Coolpad 5872' => [ 'Coolpad', '5872' ],
2729
+ 'Coolpad 5876' => [ 'Coolpad', '5876' ],
2730
+ 'Coolpad 5879' => [ 'Coolpad', '5879' ],
2731
+ 'Coolpad 5879T' => [ 'Coolpad', '5879T' ],
2732
+ 'Coolpad 5880' => [ 'Coolpad', '5880' ],
2733
+ 'Coolpad 5890' => [ 'Coolpad', '5890' ],
2734
+ 'Coolpad 5891!' => [ 'Coolpad', '5891' ],
2735
+ 'Coolpad 5892!' => [ 'Coolpad', '5892' ],
2736
+ 'Coolpad 5910' => [ 'Coolpad', '5910' ],
2737
+ 'Coolpad 5930' => [ 'Coolpad', '5930' ],
2738
+ 'Coolpad 5950' => [ 'Coolpad', '5950' ],
2739
+ 'Coolpad 5950T' => [ 'Coolpad', '5950T' ],
2740
+ 'Coolpad 5951' => [ 'Coolpad', '5951' ],
2741
+ 'Coolpad 5952' => [ 'Coolpad', '5952' ],
2742
+ 'Coolpad 5956' => [ 'Coolpad', '5956' ],
2743
+ 'Coolpad 7005' => [ 'Coolpad', '7005' ],
2744
+ 'Coolpad 7011' => [ 'Coolpad', '7011' ],
2745
+ 'Coolpad 7019!' => [ 'Coolpad', '7019' ],
2746
+ 'Coolpad 7020' => [ 'Coolpad', '7020' ],
2747
+ 'Coolpad 7060!' => [ 'Coolpad', '7060' ],
2748
+ 'Coolpad 7061' => [ 'Coolpad', '7061' ],
2749
+ 'Coolpad 7105' => [ 'Coolpad', '7105' ],
2750
+ 'Coolpad 7230!' => [ 'Coolpad', '7230' ],
2751
+ 'Coolpad 7231' => [ 'Coolpad', '7231' ],
2752
+ 'Coolpad 7232' => [ 'Coolpad', '7232' ],
2753
+ 'Coolpad 7235' => [ 'Coolpad', '7235' ],
2754
+ 'Coolpad 7236' => [ 'Coolpad', '7236' ],
2755
+ 'Coolpad 7251' => [ 'Coolpad', '7251' ],
2756
+ 'Coolpad 7260!' => [ 'Coolpad', '7260' ],
2757
+ 'Coolpad 7266' => [ 'Coolpad', '7266' ],
2758
+ 'Coolpad 7268' => [ 'Coolpad', '7268' ],
2759
+ 'Coolpad 7269' => [ 'Coolpad', '7269' ],
2760
+ 'Coolpad 7270' => [ 'Coolpad', '7270' ],
2761
+ 'Coolpad 7270 W00' => [ 'Coolpad', '7270' ],
2762
+ 'Coolpad 7275' => [ 'Coolpad', '7275' ],
2763
+ 'Coolpad 7290' => [ 'Coolpad', '7290' ],
2764
+ 'Coolpad 7295!' => [ 'Coolpad', '7295' ],
2765
+ 'Coolpad 7296' => [ 'Coolpad', '7296' ],
2766
+ 'Coolpad 7296S' => [ 'Coolpad', '7296S' ],
2767
+ 'Coolpad 7298A' => [ 'Coolpad', '7298A' ],
2768
+ 'Coolpad 7298D' => [ 'Coolpad', '7298D' ],
2769
+ 'Coolpad 7320' => [ 'Coolpad', '7320' ],
2770
+ 'Coolpad 7560U' => [ 'Coolpad', '7560U' ],
2771
+ 'Coolpad 7620L!' => [ 'Coolpad', '7620L' ],
2772
+ 'Coolpad 7728' => [ 'Coolpad', '7728' ],
2773
+ 'Coolpad 8010' => [ 'Coolpad', '8010' ],
2774
+ 'Coolpad 8012' => [ 'Coolpad', '8012' ],
2775
+ 'Coolpad 8013' => [ 'Coolpad', '8013' ],
2776
+ 'Coolpad 8017!' => [ 'Coolpad', '8017' ],
2777
+ 'Coolpad 8020!' => [ 'Coolpad', '8020' ],
2778
+ 'Coolpad 8021' => [ 'Coolpad', '8021' ],
2779
+ 'Coolpad 8022' => [ 'Coolpad', '8022' ],
2780
+ 'Coolpad 8026' => [ 'Coolpad', '8026' ],
2781
+ 'Coolpad 8028' => [ 'Coolpad', '8028' ],
2782
+ 'Coolpad 8029' => [ 'Coolpad', '8029' ],
2783
+ 'Coolpad 8050' => [ 'Coolpad', '8050' ],
2784
+ 'Coolpad 8056' => [ 'Coolpad', '8056' ],
2785
+ 'Coolpad -8056' => [ 'Coolpad', '8056' ],
2786
+ 'Coolpad 8060' => [ 'Coolpad', '8060' ],
2787
+ 'Coolpad 8070' => [ 'Coolpad', '8070' ],
2788
+ 'Coolpad 8070D' => [ 'Coolpad', '8070D' ],
2789
+ 'Coolpad 8071' => [ 'Coolpad', '8071' ],
2790
+ 'Coolpad 8076' => [ 'Coolpad', '8076' ],
2791
+ 'Coolpad -8076!' => [ 'Coolpad', '8076' ],
2792
+ 'Coolpad 8076D' => [ 'Coolpad', '8076' ],
2793
+ 'Coolpad 8079' => [ 'Coolpad', '8079' ],
2794
+ 'Coolpad 8085' => [ 'Coolpad', '8085' ],
2795
+ 'Coolpad 8085Q' => [ 'Coolpad', '8085' ],
2796
+ 'Coolpad 8089' => [ 'Coolpad', '8089' ],
2797
+ 'Coolpad 8105' => [ 'Coolpad', '8105' ],
2798
+ 'Coolpad 8122' => [ 'Coolpad', '8122' ],
2799
+ 'Coolpad 8150S' => [ 'Coolpad', '8150' ],
2800
+ 'Coolpad -?8190!' => [ 'Coolpad', '8190' ],
2801
+ 'Coolpad 8198T' => [ 'Coolpad', '8198T' ],
2802
+ 'Coolpad 8295M' => [ 'Coolpad', '8295M' ],
2803
+ 'Coolpad 8295!' => [ 'Coolpad', '8295' ],
2804
+ 'Coolpad 8297!' => [ 'Coolpad', 'Dashen F1' ],
2805
+ 'Coolpad F1 8297W' => [ 'Coolpad', 'Dashen F1' ],
2806
+ 'Coolpad 8670' => [ 'Coolpad', 'Note 8670' ],
2807
+ 'Coolpad 8675!' => [ 'Coolpad', 'Dashen F2' ],
2808
+ 'Coolpad 8676!' => [ 'Coolpad', 'Note 3 8676' ],
2809
+ 'Coolpad 8690!' => [ 'Coolpad', 'Dashen X7' ],
2810
+ 'Coolpad 8702' => [ 'Coolpad', '8702' ],
2811
+ 'Coolpad 8702D' => [ 'Coolpad', '8702D' ],
2812
+ 'Coolpad 8705' => [ 'Coolpad', '8705' ],
2813
+ 'Coolpad 8707' => [ 'Coolpad', '8707' ],
2814
+ 'Coolpad 8713' => [ 'Coolpad', '8713' ],
2815
+ 'Coolpad 8720L' => [ 'Coolpad', '8720L' ],
2816
+ 'Coolpad 8720Q' => [ 'Coolpad', '8720Q' ],
2817
+ 'Coolpad 8729' => [ 'Coolpad', '8729' ],
2818
+ 'Coolpad 8730L' => [ 'Coolpad', '8730L' ],
2819
+ 'Coolpad 8732' => [ 'Coolpad', '8732' ],
2820
+ 'Coolpad 8735' => [ 'Coolpad', '8735' ],
2821
+ 'Coolpad 8736' => [ 'Coolpad', '8736' ],
2822
+ 'Coolpad 8750' => [ 'Coolpad', 'Xuan Ying SII 8750' ],
2823
+ 'Coolpad 8809' => [ 'Coolpad', '8809' ],
2824
+ 'Coolpad 8810' => [ 'Coolpad', '8810' ],
2825
+ 'Coolpad 8811' => [ 'Coolpad', '8811' ],
2826
+ 'Coolpad 8860!' => [ 'Coolpad', '8860' ],
2827
+ 'Coolpad 8870!' => [ 'Coolpad', '8870' ],
2828
+ 'Coolpad 8908' => [ 'Coolpad', '8908' ],
2829
+ 'Coolpad 8920' => [ 'Coolpad', 'Quattro II 8920' ],
2830
+ 'Coolpad 8970L' => [ 'Coolpad', 'Grand 4 8970' ],
2831
+ 'Coolpad 8971' => [ 'Coolpad', '8971' ],
2832
+ 'Coolpad 9070' => [ 'Coolpad', '9070+XO' ],
2833
+ 'Coolpad 9080W' => [ 'Coolpad', '9080' ],
2834
+ 'Coolpad 9120' => [ 'Coolpad', '9120' ],
2835
+ 'Coolpad 9150' => [ 'Coolpad', 'Air 9150' ],
2836
+ 'Coolpad 9150W' => [ 'Coolpad', 'Air 9150' ],
2837
+ 'Coolpad 9190L!' => [ 'Coolpad', 'S6 9190' ],
2838
+ 'Coolpad 9190 T00' => [ 'Coolpad', 'S6 9190' ],
2839
+ 'Coolpad 9900' => [ 'Coolpad', '9900' ],
2840
+ 'Coolpad 9960' => [ 'Coolpad', 'Grand HD 9960' ],
2841
+ 'Coolpad 9970' => [ 'Coolpad', 'Grand 4 9970' ],
2842
+ 'Coolpad 9976!' => [ 'Coolpad', '9976' ],
2843
+ 'Coolpad Flo' => [ 'Coolpad', 'Flo' ],
2844
+ ],
2845
+
2846
+ 'D530' => [ 'Coolpad', 'D530' ],
2847
+ 'D539' => [ 'Coolpad', 'D539' ],
2848
+ 'E239' => [ 'Coolpad', 'E239' ],
2849
+ 'N930' => [ 'Coolpad', 'N930' ],
2850
+ 'W711' => [ 'Coolpad', 'W711' ],
2851
+ 'CP3700A' => [ 'Coolpad', '3700A' ],
2852
+ '5560S' => [ 'Coolpad', '5560S' ],
2853
+ '5832' => [ 'Coolpad', '5832' ],
2854
+ '5855' => [ 'Coolpad', '5855' ],
2855
+ '5860' => [ 'Coolpad', '5860' ],
2856
+ '5860A' => [ 'Coolpad', '5860A' ],
2857
+ '5860E' => [ 'Coolpad', 'Quattro 4G 5860E' ],
2858
+ '5860S' => [ 'Coolpad', '5860S' ],
2859
+ '5870' => [ 'Coolpad', '5870' ],
2860
+ '7260' => [ 'Coolpad', '7260' ],
2861
+ '7266' => [ 'Coolpad', '7266' ],
2862
+ '8022' => [ 'Coolpad', '8022' ],
2863
+ '8190Q' => [ 'Coolpad', '8190' ],
2864
+ '8720' => [ 'Coolpad', '8720' ],
2865
+ '8720L' => [ 'Coolpad', '8720' ],
2866
+ '8810' => [ 'Coolpad', '8810' ],
2867
+ '801ES' => [ 'Coolpad', 'Quattro II 4G' ],
2868
+
2869
+ 'COSHIP F2' => [ 'Coship', 'F2' ],
2870
+
2871
+ 'COWON!!' => [
2872
+ 'COWON D3' => [ 'Cowon', 'D3 Plenue', DeviceType::MEDIA ],
2873
+ 'COWON Z2' => [ 'Cowon', 'Z2 Plenue', DeviceType::MEDIA ],
2874
+ ],
2875
+
2876
+ 'COZCO C1 Plus' => [ 'Cozco', 'C1 Plus' ],
2877
+ 'CLP281X' => [ 'Craig', 'CLP281x', DeviceType::TABLET ],
2878
+
2879
+ 'CMP!!' => [
2880
+ 'CMP741d' => [ 'Craig', 'CMP741d', DeviceType::TABLET ],
2881
+ 'CMP741E' => [ 'Craig', 'CMP741e', DeviceType::TABLET ],
2882
+ 'CMP745E' => [ 'Craig', 'CMP745e', DeviceType::TABLET ],
2883
+ 'CMP748' => [ 'Craig', 'CMP748', DeviceType::TABLET ],
2884
+ 'CMP749' => [ 'Craig', 'CMP749', DeviceType::TABLET ],
2885
+ 'CMP756' => [ 'Craig', 'CMP756', DeviceType::TABLET ],
2886
+ 'CMP 765' => [ 'Craig', 'CMP765', DeviceType::TABLET ],
2887
+ ],
2888
+
2889
+ 'Zii!!' => [
2890
+ 'ZiiO7' => [ 'Creative', 'ZiiO 7', DeviceType::TABLET ],
2891
+ 'ZiiLABS ZiiO7' => [ 'Creative', 'ZiiO 7', DeviceType::TABLET ],
2892
+ 'ZiiLABS ZiiO10' => [ 'Creative', 'ZiiO 10', DeviceType::TABLET ],
2893
+ 'ZiiLABS ZiiO10 ' => [ 'Creative', 'ZiiO 10', DeviceType::TABLET ],
2894
+ 'ZiiLABS ZiiO10+' => [ 'Creative', 'ZiiO 10', DeviceType::TABLET ],
2895
+ 'Zii EGG' => [ 'Creative', 'Zii Egg', DeviceType::MEDIA ],
2896
+ ],
2897
+
2898
+ 'CTP828BT' => [ 'Cresta', 'CTP828BT', DeviceType::TABLET ],
2899
+ 'CRESTA.CTP888' => [ 'Cresta', 'CTP888', DeviceType::TABLET ],
2900
+
2901
+ 'Cross!!' => [
2902
+ 'CROSS-A1' => [ 'Cross', 'A1' ],
2903
+ 'Cross A2' => [ 'Cross', 'A2' ],
2904
+ 'CROSS A5' => [ 'Cross', 'A5' ],
2905
+ 'CROSS A5B' => [ 'Cross', 'A5B' ],
2906
+ 'Cross A7*' => [ 'Cross', 'A7' ],
2907
+ 'CROSS A7#' => [ 'Cross', 'A7' ],
2908
+ 'Cross Andromeda A7*' => [ 'Cross', 'A7' ],
2909
+ 'CROSS A7S' => [ 'Cross', 'A7S' ],
2910
+ 'CROSSA7S' => [ 'Cross', 'A7S' ],
2911
+ 'CROSS A10' => [ 'Cross', 'A10' ],
2912
+ 'CROSS A11' => [ 'Cross', 'A11' ],
2913
+ 'CrossA18' => [ 'Cross', 'A18' ],
2914
+ 'CROSS-A20G' => [ 'Cross', 'A20G' ],
2915
+ 'Cross A22' => [ 'Cross', 'A22' ],
2916
+ 'Cross A25' => [ 'Cross', 'A25' ],
2917
+ 'CROSS A26' => [ 'Cross', 'A26' ],
2918
+ 'CROSS A27' => [ 'Cross', 'A27' ],
2919
+ 'CROSS A28' => [ 'Cross', 'A28' ],
2920
+ 'CROSS A66' => [ 'Cross', 'A66' ],
2921
+ 'CROSS A88' => [ 'Cross', 'A88' ],
2922
+ 'CROSS AT1' => [ 'Cross', 'AT1', DeviceType::TABLET ],
2923
+ 'CROSS AT1G' => [ 'Cross', 'AT1G', DeviceType::TABLET ],
2924
+ 'CROSS AT1G*' => [ 'Cross', 'AT1G', DeviceType::TABLET ],
2925
+ ],
2926
+
2927
+ 'Crosscall!!' => [
2928
+ 'Crosscall ELEMENT' => [ 'Crosscall', 'ELEMENT' ],
2929
+ 'CROSSCALL WILD' => [ 'Crosscall', 'WILD' ],
2930
+ ],
2931
+
2932
+ 'Novapad!!' => [
2933
+ 'Novapad 70 D124 FC' => [ 'Crypto', 'NovaPad 70 D124', DeviceType::TABLET ],
2934
+ 'Novapad 70 S124 FC' => [ 'Crypto', 'NovaPad 70 S124', DeviceType::TABLET ],
2935
+ 'NovaPad80C104' => [ 'Crypto', 'NovaPad 80 C104', DeviceType::TABLET ],
2936
+ 'NovaPad 80 C124' => [ 'Crypto', 'NovaPad 80 C124', DeviceType::TABLET ],
2937
+ 'Novapad D7000' => [ 'Crypto', 'NovaPad D7000', DeviceType::TABLET ],
2938
+ 'Novapad D7001' => [ 'Crypto', 'NovaPad D7001', DeviceType::TABLET ],
2939
+ 'Novapad D7002' => [ 'Crypto', 'NovaPad D7002', DeviceType::TABLET ],
2940
+ ],
2941
+
2942
+ 'CUBOT!!' => [
2943
+ 'CUBOT C7' => [ 'Cubot', 'C7' ],
2944
+ 'CUBOT C7+' => [ 'Cubot', 'C7+' ],
2945
+ 'CUBOT C9+' => [ 'Cubot', 'C9+' ],
2946
+ 'CUBOT C9W' => [ 'Cubot', 'C9W' ],
2947
+ 'CUBOT C11' => [ 'Cubot', 'C11' ],
2948
+ 'CUBOT GT72E' => [ 'Cubot', 'GT72E' ],
2949
+ 'CUBOT GT99' => [ 'Cubot', 'GT99' ],
2950
+ 'CUBOT ONE' => [ 'Cubot', 'One' ],
2951
+ 'CUBOT ONE-S' => [ 'Cubot', 'One S' ],
2952
+ 'CUBOT P7' => [ 'Cubot', 'P7' ],
2953
+ 'CUBOT P9' => [ 'Cubot', 'P9' ],
2954
+ 'CUBOT S108' => [ 'Cubot', 'S108' ],
2955
+ 'CUBOT S222' => [ 'Cubot', 'S222' ],
2956
+ 'CUBOT X6' => [ 'Cubot', 'X6' ],
2957
+ ],
2958
+
2959
+ 'S222' => [ 'Cubot', 'S222' ],
2960
+ 'S308' => [ 'Cubot', 'S308' ],
2961
+
2962
+ '(CUBE ?)?(K8|U1|U2|U3|U5|U6|U8|U9)[0-9]?GT!!' => [
2963
+ 'CUBE K8GT' => [ 'Cube', 'K8GT', DeviceType::TABLET ],
2964
+ 'CUBE K8GT A' => [ 'Cube', 'K8GT A', DeviceType::TABLET ],
2965
+ 'CUBE K8GT B' => [ 'Cube', 'K8GT B', DeviceType::TABLET ],
2966
+ 'K8GT C' => [ 'Cube', 'K8GT C', DeviceType::TABLET ],
2967
+ 'K8GT H' => [ 'Cube', 'K8GT H', DeviceType::TABLET ],
2968
+ 'CUBE K8GT H' => [ 'Cube', 'K8GT H', DeviceType::TABLET ],
2969
+ 'K8GT W' => [ 'Cube', 'K8GT W', DeviceType::TABLET ],
2970
+ 'CUBE U8GT' => [ 'Cube', 'U8GT', DeviceType::TABLET ],
2971
+ 'CUBE U9GT' => [ 'Cube', 'U9GT', DeviceType::TABLET ],
2972
+ 'CUBE U9 GT' => [ 'Cube', 'U9GT', DeviceType::TABLET ],
2973
+ 'U9GT' => [ 'Cube', 'U9GT', DeviceType::TABLET ],
2974
+ 'U9GT S' => [ 'Cube', 'U9GT S', DeviceType::TABLET ],
2975
+ 'U9GT-S' => [ 'Cube', 'U9GT S', DeviceType::TABLET ],
2976
+ 'U9GT S A' => [ 'Cube', 'U9GT SA', DeviceType::TABLET ],
2977
+ 'U9GTS A' => [ 'Cube', 'U9GT SA', DeviceType::TABLET ],
2978
+ 'U9GT-SA' => [ 'Cube', 'U9GT SA', DeviceType::TABLET ],
2979
+ 'U9GT V' => [ 'Cube', 'U9GT V', DeviceType::TABLET ],
2980
+ 'U9GT V Core 4' => [ 'Cube', 'U9GT V', DeviceType::TABLET ],
2981
+ 'CUBE U9GT ?2!' => [ 'Cube', 'U9GT2', DeviceType::TABLET ],
2982
+ 'Cube U9GT-2' => [ 'Cube', 'U9GT2', DeviceType::TABLET ],
2983
+ 'U9GT2!' => [ 'Cube', 'U9GT2', DeviceType::TABLET ],
2984
+ 'N90 From moage.com' => [ 'Cube', 'U9GT2', DeviceType::TABLET ],
2985
+ 'U9GT3' => [ 'Cube', 'U9GT3', DeviceType::TABLET ],
2986
+ 'U9GT3-S' => [ 'Cube', 'U9GT3 S', DeviceType::TABLET ],
2987
+ 'U9GT4' => [ 'Cube', 'U9GT4', DeviceType::TABLET ],
2988
+ 'U10GT A' => [ 'Cube', 'U10GT A', DeviceType::TABLET ],
2989
+ 'U10GT-A' => [ 'Cube', 'U10GT A', DeviceType::TABLET ],
2990
+ 'U10GT S' => [ 'Cube', 'U10GT S', DeviceType::TABLET ],
2991
+ 'U10GT 2' => [ 'Cube', 'U10GT2', DeviceType::TABLET ],
2992
+ 'CUBE U15GT' => [ 'Cube', 'U15GT', DeviceType::TABLET ],
2993
+ 'U18GT' => [ 'Cube', 'U18GT', DeviceType::TABLET ],
2994
+ 'U18GT-H' => [ 'Cube', 'U18GT H', DeviceType::TABLET ],
2995
+ 'U18GT-S' => [ 'Cube', 'U18GT S', DeviceType::TABLET ],
2996
+ 'U18GT-W' => [ 'Cube', 'U18GT W', DeviceType::TABLET ],
2997
+ 'U18GTW' => [ 'Cube', 'U18GT W', DeviceType::TABLET ],
2998
+ 'U18GT2' => [ 'Cube', 'U18GT2', DeviceType::TABLET ],
2999
+ 'U19GT-W' => [ 'Cube', 'U19GT W', DeviceType::TABLET ],
3000
+ 'U21GT' => [ 'Cube', 'U21GT', DeviceType::TABLET ],
3001
+ 'U20GT' => [ 'Cube', 'U20GT', DeviceType::TABLET ],
3002
+ 'U20GT WS' => [ 'Cube', 'U20GT WS', DeviceType::TABLET ],
3003
+ 'U23GT' => [ 'Cube', 'U23GT', DeviceType::TABLET ],
3004
+ 'U23GT-S' => [ 'Cube', 'U23GT S', DeviceType::TABLET ],
3005
+ 'U23GTC4' => [ 'Cube', 'U23GT C4', DeviceType::TABLET ],
3006
+ 'U25GT' => [ 'Cube', 'U25GT', DeviceType::TABLET ],
3007
+ 'CUBE U25GT' => [ 'Cube', 'U25GT', DeviceType::TABLET ],
3008
+ 'U25GT PRO' => [ 'Cube', 'U25GT Pro', DeviceType::TABLET ],
3009
+ 'U25GT-W' => [ 'Cube', 'U25GT W', DeviceType::TABLET ],
3010
+ 'U25GT-W4' => [ 'Cube', 'U25GT W4', DeviceType::TABLET ],
3011
+ 'U25GT-BN' => [ 'Cube', 'U25GT BN', DeviceType::TABLET ],
3012
+ 'U25GT-C4' => [ 'Cube', 'U25GT C4', DeviceType::TABLET ],
3013
+ 'U25GT-C4W' => [ 'Cube', 'U25GT C4W', DeviceType::TABLET ],
3014
+ 'U25GT-C4WB' => [ 'Cube', 'U25GT C4WB', DeviceType::TABLET ],
3015
+ 'U25GT-C4Y' => [ 'Cube', 'U25GT C4Y', DeviceType::TABLET ],
3016
+ 'U25GT2-H' => [ 'Cube', 'U25GT2 H', DeviceType::TABLET ],
3017
+ 'U27GT' => [ 'Cube', 'U27GT', DeviceType::TABLET ],
3018
+ 'U27GT-C8' => [ 'Cube', 'U27GT C8', DeviceType::TABLET ],
3019
+ 'U27GT-C8P' => [ 'Cube', 'U27GT C8P', DeviceType::TABLET ],
3020
+ 'U27GT-SD' => [ 'Cube', 'U27GT SD', DeviceType::TABLET ],
3021
+ 'U28GT' => [ 'Cube', 'U28GT', DeviceType::TABLET ],
3022
+ 'U30GT' => [ 'Cube', 'U30GT', DeviceType::TABLET ],
3023
+ 'U30GT C4' => [ 'Cube', 'U30GT C4', DeviceType::TABLET ],
3024
+ 'U30GT-H' => [ 'Cube', 'U30GT H', DeviceType::TABLET ],
3025
+ 'U30GT-H By BiscuitTeam' => [ 'Cube', 'U30GT H', DeviceType::TABLET ],
3026
+ 'U30GT-HS' => [ 'Cube', 'U30GT HS', DeviceType::TABLET ],
3027
+ 'U30GT-M' => [ 'Cube', 'U30GT M', DeviceType::TABLET ],
3028
+ 'U30GT-MS' => [ 'Cube', 'U30GT MS', DeviceType::TABLET ],
3029
+ 'U30GTm2' => [ 'Cube', 'U30GT M2', DeviceType::TABLET ],
3030
+ 'U30GT MINI' => [ 'Cube', 'U30GT Mini', DeviceType::TABLET ],
3031
+ 'U30GT-mini' => [ 'Cube', 'U30GT Mini', DeviceType::TABLET ],
3032
+ 'U30GT-W' => [ 'Cube', 'U30GT W', DeviceType::TABLET ],
3033
+ 'u30gt2' => [ 'Cube', 'U30GT2', DeviceType::TABLET ],
3034
+ 'U30GT 2' => [ 'Cube', 'U30GT2', DeviceType::TABLET ],
3035
+ 'U30GT-2' => [ 'Cube', 'U30GT2', DeviceType::TABLET ],
3036
+ 'U30GT 2MH' => [ 'Cube', 'U30GT2 MH', DeviceType::TABLET ],
3037
+ 'U31GT' => [ 'Cube', 'U31GT', DeviceType::TABLET ],
3038
+ 'U35GT' => [ 'Cube', 'U35GT', DeviceType::TABLET ],
3039
+ 'U35GT-W' => [ 'Cube', 'U35GT W', DeviceType::TABLET ],
3040
+ 'U35GT2' => [ 'Cube', 'U35GT2', DeviceType::TABLET ],
3041
+ 'U39GT' => [ 'Cube', 'U39GT', DeviceType::TABLET ],
3042
+ 'U39GT-W' => [ 'Cube', 'U39GT W', DeviceType::TABLET ],
3043
+ 'U39GT-3G' => [ 'Cube', 'U39GT 3G', DeviceType::TABLET ],
3044
+ 'U51GT' => [ 'Cube', 'U51GT', DeviceType::TABLET ],
3045
+ 'U51GT-S' => [ 'Cube', 'U51GT S', DeviceType::TABLET ],
3046
+ 'U51GT-W' => [ 'Cube', 'U51GT W', DeviceType::TABLET ],
3047
+ 'U51GT C4' => [ 'Cube', 'U51GT C4', DeviceType::TABLET ],
3048
+ 'U51GT-C4' => [ 'Cube', 'U51GT C4', DeviceType::TABLET ],
3049
+ 'U51GT-C4B' => [ 'Cube', 'U51GT C4B', DeviceType::TABLET ],
3050
+ 'U51GT-C4BD' => [ 'Cube', 'U51GT C4BD', DeviceType::TABLET ],
3051
+ 'U51GT-C8' => [ 'Cube', 'U51GT C8', DeviceType::TABLET ],
3052
+ 'U51GT-C8P' => [ 'Cube', 'U51GT C8S', DeviceType::TABLET ],
3053
+ 'U51GT-C8S' => [ 'Cube', 'U51GT C8S', DeviceType::TABLET ],
3054
+ 'U51GT-4G' => [ 'Cube', 'U51GT 4G', DeviceType::TABLET ],
3055
+ 'U55GT' => [ 'Cube', 'U55GT', DeviceType::TABLET ],
3056
+ 'U55GT C8' => [ 'Cube', 'U55GT C8', DeviceType::TABLET ],
3057
+ 'U55GT S' => [ 'Cube', 'U55GT S', DeviceType::TABLET ],
3058
+ 'U59GT-C4' => [ 'Cube', 'U59GT C4', DeviceType::TABLET ],
3059
+ 'U65GT' => [ 'Cube', 'U65GT', DeviceType::TABLET ],
3060
+ ],
3061
+
3062
+ 'CUBE!!' => [
3063
+ 'CUBE Q7PRO' => [ 'Cube', 'Q7 Pro', DeviceType::TABLET ],
3064
+ 'CUBE Q7PRO J' => [ 'Cube', 'Q7 Pro', DeviceType::TABLET ],
3065
+ 'CUBE TALK7X' => [ 'Cube', 'Talk 7X', DeviceType::TABLET ],
3066
+ 'CUBE TALK7X C4' => [ 'Cube', 'Talk 7X C4', DeviceType::TABLET ],
3067
+ ],
3068
+
3069
+ 'LT[0-9]{4,4}!!' => [
3070
+ 'LT7033' => [ 'Curtis', 'Klu LT7033', DeviceType::TABLET ],
3071
+ 'LT7035-F' => [ 'Curtis', 'Klu LT7035-F', DeviceType::TABLET ],
3072
+ 'LT7035-J' => [ 'Curtis', 'Klu LT7035-J', DeviceType::TABLET ],
3073
+ 'LT7035-L' => [ 'Curtis', 'Klu LT7035-L', DeviceType::TABLET ],
3074
+ 'LT7052' => [ 'Curtis', 'Klu LT7052', DeviceType::TABLET ],
3075
+ 'LT8088' => [ 'Curtis', 'Klu LT8088', DeviceType::TABLET ],
3076
+ ],
3077
+
3078
+ 'Cydle M7!' => [ 'Cydle', 'M7 MultiPAD', DeviceType::TABLET ],
3079
+ 'EVDO1000' => [ 'Cyrus', 'EVDO 1000' ],
3080
+ 'GloryG1000' => [ 'Cyrus', 'Glory G1000' ],
3081
+ 'TVPAD Slim K3409' => [ 'Cyrus', 'TVPad Slim K3409', DeviceType::TABLET ],
3082
+
3083
+ 'D2-[0-9]{3,3}!!' => [
3084
+ 'D2-711' => [ 'D2pad', 'D2-711', DeviceType::TABLET ],
3085
+ 'D2-712' => [ 'D2pad', 'D2-712', DeviceType::TABLET ],
3086
+ 'D2-721' => [ 'D2pad', 'D2-721', DeviceType::TABLET ],
3087
+ 'D2-721G' => [ 'D2pad', 'D2-721G', DeviceType::TABLET ],
3088
+ 'D2-727' => [ 'D2pad', 'D2-727', DeviceType::TABLET ],
3089
+ 'D2-751G' => [ 'D2pad', 'D2-751G', DeviceType::TABLET ],
3090
+ 'D2-911' => [ 'D2pad', 'D2-911', DeviceType::TABLET ],
3091
+ 'D2-912' => [ 'D2pad', 'D2-912', DeviceType::TABLET ],
3092
+ 'D2-927G' => [ 'D2pad', 'D2-927G', DeviceType::TABLET ],
3093
+ 'D2-961G' => [ 'D2pad', 'D2-961G', DeviceType::TABLET ],
3094
+ ],
3095
+
3096
+ 'Dakele A380' => [ 'Dakele', 'A380' ],
3097
+ 'DAKELE MC001' => [ 'Dakele', 'MC001' ],
3098
+ 'MC002' => [ 'Dakele', 'MC002' ],
3099
+
3100
+ 'Dslide!!' => [
3101
+ 'Dslide 700' => [ 'Danew', 'DSlide 700', DeviceType::TABLET ],
3102
+ 'Dslide 702' => [ 'Danew', 'DSlide 702', DeviceType::TABLET ],
3103
+ 'Dslide 703R' => [ 'Danew', 'DSlide 703R', DeviceType::TABLET ],
3104
+ 'Dslide 704' => [ 'Danew', 'DSlide 704', DeviceType::TABLET ],
3105
+ 'Dslide 706' => [ 'Danew', 'DSlide 706', DeviceType::TABLET ],
3106
+ 'Dslide 707' => [ 'Danew', 'DSlide 707', DeviceType::TABLET ],
3107
+ 'Dslide800' => [ 'Danew', 'DSlide 800', DeviceType::TABLET ],
3108
+ 'Dslide801' => [ 'Danew', 'DSlide 801', DeviceType::TABLET ],
3109
+ 'Dslide900' => [ 'Danew', 'DSlide 900', DeviceType::TABLET ],
3110
+ 'Dslide 971' => [ 'Danew', 'DSlide 971', DeviceType::TABLET ],
3111
+ 'Dslide971DC' => [ 'Danew', 'DSlide 971', DeviceType::TABLET ],
3112
+ 'DSlide972' => [ 'Danew', 'DSlide 972', DeviceType::TABLET ],
3113
+ 'DSlide973' => [ 'Danew', 'DSlide 973', DeviceType::TABLET ],
3114
+ 'Dslide973QC' => [ 'Danew', 'DSlide 973', DeviceType::TABLET ],
3115
+ 'DSlide 1013' => [ 'Danew', 'DSlide 1013', DeviceType::TABLET ],
3116
+ ],
3117
+
3118
+ 'Genius!!' => [
3119
+ 'Genius TAB GIII' => [ 'Dany', 'Genius Tab G3', DeviceType::TABLET ],
3120
+ 'GENIUS-G4' => [ 'Dany', 'Genius Tab G4', DeviceType::TABLET ],
3121
+ 'Genius TAB G4' => [ 'Dany', 'Genius Tab G4', DeviceType::TABLET ],
3122
+ 'Genius Tab Q4' => [ 'Dany', 'Genius Tab Q4', DeviceType::TABLET ],
3123
+ ],
3124
+
3125
+ 'EvoPAD!!' => [
3126
+ 'EvoPAD A7000' => [ 'Dark', 'EvoPad A7000', DeviceType::TABLET ],
3127
+ 'EvoPad-R1020' => [ 'Dark', 'EvoPad R1020', DeviceType::TABLET ],
3128
+ 'EVOPad R8000' => [ 'Dark', 'EvoPad R8000', DeviceType::TABLET ],
3129
+ 'EVOPad R8020' => [ 'Dark', 'EvoPad R8020', DeviceType::TABLET ],
3130
+ 'EVOPad R9720' => [ 'Dark', 'EvoPad R9720', DeviceType::TABLET ],
3131
+ 'EvoPAD R9740' => [ 'Dark', 'EvoPad R9740', DeviceType::TABLET ],
3132
+ 'EvoPAD-R9722' => [ 'Dark', 'EvoPad R9722', DeviceType::TABLET ],
3133
+ 'Evopad R9730' => [ 'Dark', 'EvoPad R9730', DeviceType::TABLET ],
3134
+ ],
3135
+
3136
+ 'HB-100 DASAN' => [ 'Dasan', 'HB-100', DeviceType::TELEVISION ],
3137
+ 'HB-100 DASAN Networks, Inc.' => [ 'Dasan', 'HB-100', DeviceType::TELEVISION ],
3138
+
3139
+ 'Mini 3iG' => [ 'Dell', 'Aero' ],
3140
+ 'BizSmartPhone' => [ 'Dell', 'Biz SmartPhone' ],
3141
+ '001DL' => [ 'Dell', 'STREAK 001DL', DeviceType::TABLET, 'carrier' => 'Softbank' ],
3142
+ '101DL' => [ 'Dell', 'STREAK PRO 101DL', DeviceType::TABLET, 'carrier' => 'Softbank' ],
3143
+ 'GS01' => [ 'Dell', 'STREAK PRO GS01', DeviceType::TABLET, 'carrier' => 'EMOBILE' ],
3144
+ 'streak7' => [ 'Dell', 'Streak 7', DeviceType::TABLET ],
3145
+ 'CS-1A13' => [ 'Dell', 'Wyse Cloud Connect', DeviceType::TELEVISION ],
3146
+
3147
+ 'Dell!!' => [
3148
+ 'Dell Aero' => [ 'Dell', 'Aero' ],
3149
+ 'Dell Grappa' => [ 'Dell', 'Aero' ],
3150
+ 'Dell M01M' => [ 'Dell', 'Streak', DeviceType::TABLET ],
3151
+ 'Dell Mini 5' => [ 'Dell', 'Streak', DeviceType::TABLET ],
3152
+ 'Dell Streak' => [ 'Dell', 'Streak', DeviceType::TABLET ],
3153
+ 'Dell V04B' => [ 'Dell', 'Streak Pro', DeviceType::TABLET ],
3154
+ 'Dell Streak Pro' => [ 'Dell', 'Streak Pro', DeviceType::TABLET ],
3155
+ 'Dell Streak 7' => [ 'Dell', 'Streak 7', DeviceType::TABLET ],
3156
+ 'Dell Streak 10 Pro' => [ 'Dell', 'Streak 10 Pro', DeviceType::TABLET ],
3157
+ 'Dell Venue' => [ 'Dell', 'Venue' ],
3158
+ ],
3159
+
3160
+ 'Venue!!' => [
3161
+ 'venue 7' => [ 'Dell', 'Venue 7', DeviceType::TABLET ],
3162
+ 'Venue 7 3730' => [ 'Dell', 'Venue 7', DeviceType::TABLET ],
3163
+ 'Venue 7 3736' => [ 'Dell', 'Venue 7', DeviceType::TABLET ],
3164
+ 'Venue 7 3740' => [ 'Dell', 'Venue 7', DeviceType::TABLET ],
3165
+ 'Venue7 3740' => [ 'Dell', 'Venue 7', DeviceType::TABLET ],
3166
+ 'Venue7 3740 LTE' => [ 'Dell', 'Venue 7', DeviceType::TABLET ],
3167
+ 'Venue 7 3741' => [ 'Dell', 'Venue 7', DeviceType::TABLET ],
3168
+ 'Venue 7 HSPA+' => [ 'Dell', 'Venue 7', DeviceType::TABLET ],
3169
+ 'Venue 7 WWAN' => [ 'Dell', 'Venue 7', DeviceType::TABLET ],
3170
+ 'Venue 8 HSPA+' => [ 'Dell', 'Venue 8', DeviceType::TABLET ],
3171
+ 'Venue 8 WiFi' => [ 'Dell', 'Venue 8', DeviceType::TABLET ],
3172
+ 'Venue 8 3830' => [ 'Dell', 'Venue 8', DeviceType::TABLET ],
3173
+ 'Venue 8 3840' => [ 'Dell', 'Venue 8', DeviceType::TABLET ],
3174
+ 'Venue8 3840' => [ 'Dell', 'Venue 8', DeviceType::TABLET ],
3175
+ 'Venue8 3840 LTE' => [ 'Dell', 'Venue 8', DeviceType::TABLET ],
3176
+ 'Venue 8 7040' => [ 'Dell', 'Venue 8', DeviceType::TABLET ],
3177
+ 'Venue 8 7840' => [ 'Dell', 'Venue 8', DeviceType::TABLET ],
3178
+ 'Venue 8 7840 LTE' => [ 'Dell', 'Venue 8', DeviceType::TABLET ],
3179
+ 'Venue 10 5050' => [ 'Dell', 'Venue 10', DeviceType::TABLET ],
3180
+ 'Venue 10 7040' => [ 'Dell', 'Venue 10', DeviceType::TABLET ],
3181
+ ],
3182
+
3183
+ 'XCD 28' => [ 'Dell', 'XCD28' ],
3184
+ 'Dell XCD35' => [ 'Dell', 'XCD35' ],
3185
+ 'XCD35' => [ 'Dell', 'XCD35' ],
3186
+ 'DEM752HCF' => [ 'Denver', 'TAC-7018', DeviceType::TABLET ],
3187
+
3188
+ '(DENVER-)?TA[CD]-[0-9]{4,5}!!' => [
3189
+ 'TAC-7028' => [ 'Denver', 'TAC-7028', DeviceType::TABLET ],
3190
+ 'TAC-10011' => [ 'Denver', 'TAC-10011', DeviceType::TABLET ],
3191
+ 'TAC-10031' => [ 'Denver', 'TAC-10031', DeviceType::TABLET ],
3192
+ 'TAC-10031 MK2' => [ 'Denver', 'TAC-10031', DeviceType::TABLET ],
3193
+ 'TAC-70031' => [ 'Denver', 'TAC-70031', DeviceType::TABLET ],
3194
+ 'TAC-70041' => [ 'Denver', 'TAC-70041', DeviceType::TABLET ],
3195
+ 'TAC-70051' => [ 'Denver', 'TAC-70051', DeviceType::TABLET ],
3196
+ 'TAC-70061' => [ 'Denver', 'TAC-70061', DeviceType::TABLET ],
3197
+ 'TAC-70072' => [ 'Denver', 'TAC-70072', DeviceType::TABLET ],
3198
+ 'TAC-70072kc' => [ 'Denver', 'TAC-70072', DeviceType::TABLET ],
3199
+ 'TAD-70102G' => [ 'Denver', 'TAC-70102G', DeviceType::TABLET ],
3200
+ 'TAC-70111' => [ 'Denver', 'TAC-70111', DeviceType::TABLET ],
3201
+ 'TAC-70111 PO8195' => [ 'Denver', 'TAC-70111', DeviceType::TABLET ],
3202
+ 'TAC-70111 PO8241' => [ 'Denver', 'TAC-70111', DeviceType::TABLET ],
3203
+ 'TAC-70111 PO8242' => [ 'Denver', 'TAC-70111', DeviceType::TABLET ],
3204
+ 'TAC-80011' => [ 'Denver', 'TAC-80011', DeviceType::TABLET ],
3205
+ 'TAC-90011' => [ 'Denver', 'TAC-90011', DeviceType::TABLET ],
3206
+ 'TAC-90012' => [ 'Denver', 'TAC-90012', DeviceType::TABLET ],
3207
+ 'TAC-97032' => [ 'Denver', 'TAC-97032', DeviceType::TABLET ],
3208
+ 'TAC-97052' => [ 'Denver', 'TAC-97052', DeviceType::TABLET ],
3209
+ 'TAD-10021' => [ 'Denver', 'TAD-10021', DeviceType::TABLET ],
3210
+ 'TAD-10023' => [ 'Denver', 'TAD-10023', DeviceType::TABLET ],
3211
+ 'TAD-10063 MK2 PO8311' => [ 'Denver', 'TAD-10063', DeviceType::TABLET ],
3212
+ 'DENVER-TAD-10082' => [ 'Denver', 'TAD-10082', DeviceType::TABLET ],
3213
+ 'TAD-70091' => [ 'Denver', 'TAD-70091', DeviceType::TABLET ],
3214
+ 'TAD-70092' => [ 'Denver', 'TAD-70092', DeviceType::TABLET ],
3215
+ 'TAD-70092 BLACK MK2 PO8341' => [ 'Denver', 'TAD-70092', DeviceType::TABLET ],
3216
+ 'TAD-70111PO8275' => [ 'Denver', 'TAD-70111', DeviceType::TABLET ],
3217
+ 'TAD-70111 PO8307' => [ 'Denver', 'TAD-70111', DeviceType::TABLET ],
3218
+ 'TAD-70112PO8197' => [ 'Denver', 'TAD-70112', DeviceType::TABLET ],
3219
+ 'TAD-70112 PO8292' => [ 'Denver', 'TAD-70112', DeviceType::TABLET ],
3220
+ 'TAD-70112KC PO8360' => [ 'Denver', 'TAD-70112', DeviceType::TABLET ],
3221
+ 'TAD-90021' => [ 'Denver', 'TAD-90021', DeviceType::TABLET ],
3222
+ 'TAD-90022' => [ 'Denver', 'TAD-90022', DeviceType::TABLET ],
3223
+ 'TAD-97052' => [ 'Denver', 'TAD-97052', DeviceType::TABLET ],
3224
+ 'TAD-97052mk2' => [ 'Denver', 'TAD-97052', DeviceType::TABLET ],
3225
+ 'TAD-97072G' => [ 'Denver', 'TAD-97072', DeviceType::TABLET ],
3226
+ 'TAD-97082!' => [ 'Denver', 'TAD-97082', DeviceType::TABLET ],
3227
+ ],
3228
+
3229
+ 'deovo V5' => [ 'deovo', 'V5' ],
3230
+
3231
+ 'DESAY!!' => [
3232
+ 'DESAY TS808' => [ 'Desay', 'TS808' ],
3233
+ 'DESAY TS908' => [ 'Desay', 'TS908' ],
3234
+ 'DESAY TS928' => [ 'Desay', 'TS928' ],
3235
+ 'DESAY TS1008' => [ 'Desay', 'TS1008' ],
3236
+ 'DESAY TS1018' => [ 'Desay', 'TS1018' ],
3237
+ 'DESAY TS1218' => [ 'Desay', 'TS1218' ],
3238
+ ],
3239
+
3240
+ 'iP977' => [ 'Dex', 'iP977', DeviceType::TABLET ],
3241
+
3242
+ 'Dialog!!' => [
3243
+ 'Dialog i35' => [ 'Dialog', 'i35' ],
3244
+ 'Dialog i43' => [ 'Dialog', 'i43' ],
3245
+ 'Dialog i43(ICS)' => [ 'Dialog', 'i43' ],
3246
+ 'Dialog K35' => [ 'Dialog', 'K35' ],
3247
+ 'Dialog K45' => [ 'Dialog', 'K45' ],
3248
+ 'Dialog K235' => [ 'Dialog', 'K235' ],
3249
+ 'Dialog Q143L' => [ 'Dialog', 'Q143L' ],
3250
+ 'Dialog Q178' => [ 'Dialog', 'Q178' ],
3251
+ 'Dialog Q243' => [ 'Dialog', 'Q243' ],
3252
+ ],
3253
+
3254
+ 'DIT[0-9]{4,6}!!' => [
3255
+ 'DIT1010' => [ 'Difrnce', 'DIT1010', DeviceType::TABLET ],
3256
+ 'DIT7000' => [ 'Difrnce', 'DIT7000', DeviceType::TABLET ],
3257
+ 'DIT7070' => [ 'Difrnce', 'DIT7070', DeviceType::TABLET ],
3258
+ 'DIT8070' => [ 'Difrnce', 'DIT8070', DeviceType::TABLET ],
3259
+ 'DIT9720' => [ 'Difrnce', 'DIT9720', DeviceType::TABLET ],
3260
+ 'DIT101201' => [ 'Difrnce', 'DIT101201', DeviceType::TABLET ],
3261
+ 'DIT102201' => [ 'Difrnce', 'DIT102201', DeviceType::TABLET ],
3262
+ 'DIT102202' => [ 'Difrnce', 'DIT102202', DeviceType::TABLET ],
3263
+ 'DIT701101' => [ 'Difrnce', 'DIT701101', DeviceType::TABLET ],
3264
+ 'DIT702101' => [ 'Difrnce', 'DIT702101', DeviceType::TABLET ],
3265
+ 'DIT902101' => [ 'Difrnce', 'DIT902101', DeviceType::TABLET ],
3266
+ 'DIT902102' => [ 'Difrnce', 'DIT902102', DeviceType::TABLET ],
3267
+ 'DIT902103' => [ 'Difrnce', 'DIT902103', DeviceType::TABLET ],
3268
+ ],
3269
+
3270
+ 'NID 7010' => [ 'Difrnce', 'DIT702201', DeviceType::TABLET ],
3271
+ 'DIGICEL DL800' => [ 'Digicel', 'DL800' ],
3272
+
3273
+ '(Digma )?iD[jmnsx][DQ]?[0-9]*!!' => [
3274
+ 'Digma iDj7!' => [ 'Digma', 'iDj7', DeviceType::TABLET ],
3275
+ 'iDj7n' => [ 'Digma', 'iDj7n', DeviceType::TABLET ],
3276
+ 'Digma iDm7' => [ 'Digma', 'iDm7', DeviceType::TABLET ],
3277
+ 'Digma iDn7' => [ 'Digma', 'iDn7', DeviceType::TABLET ],
3278
+ 'ids7' => [ 'Digma', 'iDs7', DeviceType::TABLET ],
3279
+ 'ids10' => [ 'Digma', 'iDs10', DeviceType::TABLET ],
3280
+ 'DIGMA iDs10!' => [ 'Digma', 'iDs10', DeviceType::TABLET ],
3281
+ 'iDx5' => [ 'Digma', 'iDx5' ],
3282
+ 'iDx7' => [ 'Digma', 'iDx7', DeviceType::TABLET ],
3283
+ 'iDx7 Type2 4' => [ 'Digma', 'iDx7', DeviceType::TABLET ],
3284
+ 'iDx10!' => [ 'Digma', 'iDx10', DeviceType::TABLET ],
3285
+ 'iDnD7' => [ 'Digma', 'iDnD7', DeviceType::TABLET ],
3286
+ 'DIGMA IDSD' => [ 'Digma', 'iDsD', DeviceType::TABLET ],
3287
+ 'DIGMA iDsD7!' => [ 'Digma', 'iDsD7', DeviceType::TABLET ],
3288
+ 'DIGMA iDsD8!' => [ 'Digma', 'iDsD8', DeviceType::TABLET ],
3289
+ 'DIGMA iDsD10!' => [ 'Digma', 'iDsD10', DeviceType::TABLET ],
3290
+ 'iDxD4' => [ 'Digma', 'iDxD4' ],
3291
+ 'IDXD8' => [ 'Digma', 'iDxD8', DeviceType::TABLET ],
3292
+ 'iDxD8 3G' => [ 'Digma', 'iDxD8', DeviceType::TABLET ],
3293
+ 'iDxD7 3G' => [ 'Digma', 'iDxD7', DeviceType::TABLET ],
3294
+ 'IDXD10' => [ 'Digma', 'iDxD10', DeviceType::TABLET ],
3295
+ 'iDxD10 3G' => [ 'Digma', 'iDxD10', DeviceType::TABLET ],
3296
+ 'iDxQ5' => [ 'Digma', 'iDxQ5' ],
3297
+ ],
3298
+
3299
+ 'DISTAB9000R' => [ 'Disgo', 'Distab 9000R', DeviceType::TABLET ],
3300
+ 'DishTV Smartvu A2020' => [ 'DishTV', 'SmartVU-mini', DeviceType::TELEVISION ],
3301
+
3302
+ 'DM0[0-9]{2,2}(K|SH)!!' => [
3303
+ 'DM009SH' => [ 'Sharp', 'DM009SH', 'carrier' => 'Disney Mobile' ],
3304
+ 'DM010SH' => [ 'Sharp', 'DM010SH', 'carrier' => 'Disney Mobile' ],
3305
+ 'DM011SH' => [ 'Sharp', 'DM011SH', 'carrier' => 'Disney Mobile' ],
3306
+ 'DM012SH' => [ 'Sharp', 'DM012SH', 'carrier' => 'Disney Mobile' ],
3307
+ 'DM013SH' => [ 'Sharp', 'DM013SH', 'carrier' => 'Disney Mobile' ],
3308
+ 'DM014SH' => [ 'Sharp', 'DM014SH', 'carrier' => 'Disney Mobile' ],
3309
+ 'DM015K' => [ 'Kyocera', 'DM015K', 'carrier' => 'Disney Mobile' ],
3310
+ 'DM016SH' => [ 'Sharp', 'DM016SH', 'carrier' => 'Disney Mobile' ],
3311
+ ],
3312
+
3313
+ 'DJC Touchtab3' => [ 'DJC', 'Touchtab3', DeviceType::TABLET ],
3314
+ 'DJC Touchtab4' => [ 'DJC', 'Touchtab4', DeviceType::TABLET ],
3315
+ 'AirBook TTJ702' => [ 'DNS', 'Airbook TTJ702', DeviceType::TABLET ],
3316
+ 'DNS Airbook TYT701' => [ 'DNS', 'Airbook TYT701', DeviceType::TABLET ],
3317
+
3318
+ '(DNS )?(Airtab )?(E|M|MA|MF|MW|P|PC|PF)[0-9]{2,4}!!' => [
3319
+ 'DNS Airtab E73' => [ 'DNS', 'AirTab E73', DeviceType::TABLET ],
3320
+ 'AirTab ES70' => [ 'DNS', 'AirTab ES70', DeviceType::TABLET ],
3321
+ 'AirTab M81g' => [ 'DNS', 'AirTab M81g', DeviceType::TABLET ],
3322
+ 'AirTab M81w' => [ 'DNS', 'AirTab M81w', DeviceType::TABLET ],
3323
+ 'M83w' => [ 'DNS', 'AirTab M83w', DeviceType::TABLET ],
3324
+ 'M84g' => [ 'DNS', 'AirTab M84g', DeviceType::TABLET ],
3325
+ 'M100qw' => [ 'DNS', 'AirTab M100qw', DeviceType::TABLET ],
3326
+ 'M101g' => [ 'DNS', 'AirTab M101g', DeviceType::TABLET ],
3327
+ 'AirTab M104G' => [ 'DNS', 'AirTab M104g', DeviceType::TABLET ],
3328
+ 'AirTab m971g' => [ 'DNS', 'AirTab M971g', DeviceType::TABLET ],
3329
+ 'M971w' => [ 'DNS', 'AirTab M971w', DeviceType::TABLET ],
3330
+ 'M972g' => [ 'DNS', 'AirTab M972g', DeviceType::TABLET ],
3331
+ 'M972w' => [ 'DNS', 'AirTab M972w', DeviceType::TABLET ],
3332
+ 'DNS AirTab M974w' => [ 'DNS', 'AirTab M974w', DeviceType::TABLET ],
3333
+ 'AirTab M975w' => [ 'DNS', 'AirTab M975w', DeviceType::TABLET ],
3334
+ 'DNS M975W' => [ 'DNS', 'AirTab M975W', DeviceType::TABLET ],
3335
+ 'AirTab MA7001' => [ 'DNS', 'AirTab MA7001', DeviceType::TABLET ],
3336
+ 'DNS AirTab MF1011' => [ 'DNS', 'AirTab MF1011', DeviceType::TABLET ],
3337
+ 'AirTab MW7851' => [ 'DNS', 'AirTab MW7851', DeviceType::TABLET ],
3338
+ 'AirTab P70qw' => [ 'DNS', 'AirTab P70qw', DeviceType::TABLET ],
3339
+ 'AirTab P71g' => [ 'DNS', 'AirTab P71g', DeviceType::TABLET ],
3340
+ 'DNS AirTab P71g' => [ 'DNS', 'AirTab P71g', DeviceType::TABLET ],
3341
+ 'AirTab P83' => [ 'DNS', 'AirTab P83', DeviceType::TABLET ],
3342
+ 'DNS AirTab P101w' => [ 'DNS', 'AirTab P101w', DeviceType::TABLET ],
3343
+ 'AirTab P970g' => [ 'DNS', 'AirTab P970g', DeviceType::TABLET ],
3344
+ 'AirTab P970w' => [ 'DNS', 'AirTab P970w', DeviceType::TABLET ],
3345
+ 'AirTab PC9701' => [ 'DNS', 'AirTab PC9701', DeviceType::TABLET ],
3346
+ 'DNS AirTab PF7001' => [ 'DNS', 'AirTab PF7001', DeviceType::TABLET ],
3347
+ ],
3348
+
3349
+ 'DNS S!!' => [
3350
+ 'DNS S3501' => [ 'DNS', 'S3501' ],
3351
+ 'DNS s4003' => [ 'DNS', 'S4003' ],
3352
+ 'DNS S4006' => [ 'DNS', 'S4006' ],
3353
+ 'DNS S4008' => [ 'DNS', 'S4008' ],
3354
+ 'DNS S4502' => [ 'DNS', 'S4502' ],
3355
+ 'DNS S4502M' => [ 'DNS', 'S4502M' ],
3356
+ 'DNS S4507' => [ 'DNS', 'S4507' ],
3357
+ 'DNS S4508' => [ 'DNS', 'S4508' ],
3358
+ 'DNS S4705' => [ 'DNS', 'S4705' ],
3359
+ 'DNS S5005' => [ 'DNS', 'S5005' ],
3360
+ 'DNS S5008' => [ 'DNS', 'S5008' ],
3361
+ 'DNS S5701' => [ 'DNS', 'S5701' ],
3362
+ ],
3363
+
3364
+ 'DNS4502M' => [ 'DNS', 'S4502M' ],
3365
+ 'S4503Q' => [ 'DNS', 'S4503Q' ],
3366
+ 'S4505M' => [ 'DNS', 'S4505M' ],
3367
+
3368
+ 'DPS Dream 7' => [ 'DPS', 'Dream 7', DeviceType::TABLET ],
3369
+ 'DPS Dream 9' => [ 'DPS', 'Dream 9', DeviceType::TABLET ],
3370
+ 'domod G20' => [ 'Domod', 'G20' ],
3371
+ 'Collo DG100' => [ 'Doogee', 'Collo DG100' ],
3372
+ 'Collo 2 DG120' => [ 'Doogee', 'Collo 2 DG120' ],
3373
+ 'DOOGEE-TITANS-DG150' => [ 'Doogee', 'Titans DG150' ],
3374
+ 'VOYAGER DG300' => [ 'Doogee', 'Voyager DG300' ],
3375
+ 'VOYAGER2 DG310' => [ 'Doogee', 'Voyager 2 DG310' ],
3376
+ 'MINT-DG330' => [ 'Doogee', 'Mint DG330' ],
3377
+ 'Discovery DG500' => [ 'Doogee', 'Discovery DG500' ],
3378
+ 'Discovery2-DG500C' => [ 'Doogee', 'Discovery 2 DG500C' ],
3379
+ 'TURBO DG2014' => [ 'Doogee', 'Turbo DG2014' ],
3380
+
3381
+ 'DOOV!!' => [
3382
+ 'DOOV C1' => [ 'DOOV', 'C1' ],
3383
+ 'DOOV C7' => [ 'DOOV', 'C7' ],
3384
+ 'DOOV D2' => [ 'DOOV', 'D2' ],
3385
+ 'DOOV D3' => [ 'DOOV', 'D3' ],
3386
+ 'DOOV D5' => [ 'DOOV', 'D5' ],
3387
+ 'DOOV D7' => [ 'DOOV', 'D7' ],
3388
+ 'DOOV D8' => [ 'DOOV', 'D8' ],
3389
+ 'DOOV D9' => [ 'DOOV', 'D9' ],
3390
+ 'DOOV D10' => [ 'DOOV', 'D10' ],
3391
+ 'DOOV D30' => [ 'DOOV', 'D30' ],
3392
+ 'DOOV-DOOV D300' => [ 'DOOV', 'D300' ],
3393
+ 'DOOV D300' => [ 'DOOV', 'D300' ],
3394
+ 'DOOV D350' => [ 'DOOV', 'D350' ],
3395
+ 'DOOV D360' => [ 'DOOV', 'D360' ],
3396
+ 'DOOV D500' => [ 'DOOV', 'D500' ],
3397
+ 'DOOV D700' => [ 'DOOV', 'D700' ],
3398
+ 'DOOV D708' => [ 'DOOV', 'D708' ],
3399
+ 'DOOV D710' => [ 'DOOV', 'D710' ],
3400
+ 'DOOV D720' => [ 'DOOV', 'D720' ],
3401
+ 'DOOV D770' => [ 'DOOV', 'D770' ],
3402
+ 'DOOV D800' => [ 'DOOV', 'D800' ],
3403
+ 'DOOV D910T' => [ 'DOOV', 'D910T' ],
3404
+ 'DOOV D920' => [ 'DOOV', 'D920' ],
3405
+ 'DOOV L1' => [ 'DOOV', 'L1' ],
3406
+ 'DOOV L1M' => [ 'DOOV', 'L1M' ],
3407
+ 'DOOV L3' => [ 'DOOV', 'L3' ],
3408
+ 'DOOV L5' => [ 'DOOV', 'L5' ],
3409
+ 'DOOV L5Pro' => [ 'DOOV', 'L5 Pro' ],
3410
+ 'DOOV S1' => [ 'DOOV', 'S1' ],
3411
+ 'DOOV S2' => [ 'DOOV', 'S2' ],
3412
+ 'DOOV S2y' => [ 'DOOV', 'S2y' ],
3413
+ 'DOOV S3' => [ 'DOOV', 'S3' ],
3414
+ 'DOOV S5' => [ 'DOOV', 'S5' ],
3415
+ 'DOOV T20L' => [ 'DOOV', 'T20L' ],
3416
+ 'DOOV T35' => [ 'DOOV', 'T35' ],
3417
+ 'DOOV T60' => [ 'DOOV', 'T60' ],
3418
+ 'DOOV T90' => [ 'DOOV', 'T90' ],
3419
+ ],
3420
+
3421
+ 'Doro Liberto!!' => [
3422
+ 'Doro Liberto 810' => [ 'Doro', 'Liberto 810' ],
3423
+ 'Doro Liberto 820' => [ 'Doro', 'Liberto 820' ],
3424
+ 'Doro Liberto 820 Mini' => [ 'Doro', 'Liberto 820 Mini' ],
3425
+ 'Doro Liberto 822' => [ 'Doro', 'Liberto 822' ],
3426
+ 'Doro Liberto 825' => [ 'Doro', 'Liberto 825' ],
3427
+ ],
3428
+
3429
+ 'Doro 8030' => [ 'Doro', 'Liberto 822' ],
3430
+ 'Doro 824' => [ 'Doro', 'Liberto 824' ],
3431
+ '825 T-Mobile' => [ 'Doro', 'Liberto 825' ],
3432
+ 'M975' => [ 'Double Power', 'M975', DeviceType::TABLET ],
3433
+ 'TD-1010' => [ 'Double Power', 'TD-1010', DeviceType::TABLET ],
3434
+ 'Tablet-P27' => [ 'DracoTek', 'P27 Tablet', DeviceType::TABLET ],
3435
+ 'dyno 7.80' => [ 'Dyno', '7.80', DeviceType::TABLET ],
3436
+ 'dyno 7.85' => [ 'Dyno', '7.85', DeviceType::TABLET ],
3437
+ 'ACM3066-8' => [ 'MY|eebo', 'Color Tablet', DeviceType::TABLET ],
3438
+
3439
+ '(E-Boda|Eruption|Essential|Supreme|Storm|Revo)!!' => [
3440
+ 'Eruption V200' => [ 'E-Boda', 'Eruption V200', DeviceType::TABLET ],
3441
+ 'E-Boda Essential A150' => [ 'E-Boda', 'Essential A150', DeviceType::TABLET ],
3442
+ 'Essential A330' => [ 'E-Boda', 'Essential A330', DeviceType::TABLET ],
3443
+ 'E-Boda IMPRESSPE3D E1' => [ 'E-Boda', 'Impresspeed E1', DeviceType::TABLET ],
3444
+ 'E-Boda IMPRESSPEED E 250DC' => [ 'E-Boda', 'Impresspeed E250', DeviceType::TABLET ],
3445
+ 'E-Boda Impresspeed E300' => [ 'E-Boda', 'Impresspeed E300', DeviceType::TABLET ],
3446
+ 'E-Boda Supreme X80 Dual Core' => [ 'E-Boda', 'Supreme X80', DeviceType::TABLET ],
3447
+ 'E-Boda Supreme Dual Core X190' => [ 'E-Boda', 'Supreme X190', DeviceType::TABLET ],
3448
+ 'SUPREME IPS Dual Core X200' => [ 'E-Boda', 'Supreme X200', DeviceType::TABLET ],
3449
+ 'E-Boda Supreme X400 Quad Core' => [ 'E-Boda', 'Supreme X400', DeviceType::TABLET ],
3450
+ 'E-Boda Supreme XL200IPS' => [ 'E-Boda', 'Supreme XL200', DeviceType::TABLET ],
3451
+ 'E-Boda Supreme XL400QC' => [ 'E-Boda', 'Supreme XL400', DeviceType::TABLET ],
3452
+ 'E-Boda Rainbow V47' => [ 'E-Boda', 'Rainbow V47' ],
3453
+ 'Revo R80' => [ 'E-Boda', 'Revo R80' ],
3454
+ 'E-Boda Storm V50' => [ 'E-Boda', 'Storm V50' ],
3455
+ 'Storm V100' => [ 'E-Boda', 'Storm V100' ],
3456
+ 'Storm X450' => [ 'E-Boda', 'Storm X450' ],
3457
+ ],
3458
+
3459
+ 'Etel!!' => [
3460
+ 'Etel i3' => [ 'E-tel', 'Curiosity i3' ],
3461
+ 'Etel i4' => [ 'E-tel', 'Curiosity i4' ],
3462
+ 'Etel i6' => [ 'E-tel', 'Curiosity i6' ],
3463
+ 'Etel i8' => [ 'E-tel', 'Curiosity i8' ],
3464
+ ],
3465
+
3466
+ 'EasyPhone EP5' => [ 'Easypix', 'EasyPhone EP5' ],
3467
+ 'EasyPad 971' => [ 'Easypix', 'EasyPad 971', DeviceType::TABLET ],
3468
+
3469
+ 'EBEN!!' => [
3470
+ 'EBEN A3' => [ 'EBEN', 'A3', DeviceType::TABLET ],
3471
+ 'EBEN S1' => [ 'EBEN', 'S1', DeviceType::TABLET ],
3472
+ 'EBEN T6' => [ 'EBEN', 'T6', DeviceType::TABLET ],
3473
+ 'EBEN T7' => [ 'EBEN', 'T7', DeviceType::TABLET ],
3474
+ 'EBEN T8' => [ 'EBEN', 'T8', DeviceType::TABLET ],
3475
+ ],
3476
+
3477
+ 'EBEST!!' => [
3478
+ 'EBEST A35' => [ 'EBEST', 'A35' ],
3479
+ 'EBEST F5' => [ 'EBEST', 'F5' ],
3480
+ 'EBEST N4' => [ 'EBEST', 'N4' ],
3481
+ 'EBEST T5' => [ 'EBEST', 'T5' ],
3482
+ 'EBEST T7' => [ 'EBEST', 'T7' ],
3483
+ 'EBEST U1' => [ 'EBEST', 'U1' ],
3484
+ 'EBEST V5' => [ 'EBEST', 'V5' ],
3485
+ 'EBEST V6' => [ 'EBEST', 'V6' ],
3486
+ 'EBEST V7' => [ 'EBEST', 'V7' ],
3487
+ 'EBEST V8' => [ 'EBEST', 'V8' ],
3488
+ 'EBEST W16A' => [ 'EBEST', 'W16A' ],
3489
+ 'EBEST W18' => [ 'EBEST', 'W18' ],
3490
+ 'EBEST W66' => [ 'EBEST', 'W66' ],
3491
+ 'EBEST W66A' => [ 'EBEST', 'W66A' ],
3492
+ 'EBEST W70' => [ 'EBEST', 'W70' ],
3493
+ 'EBEST Z5' => [ 'EBEST', 'Z5' ],
3494
+ 'EBEST Z7' => [ 'EBEST', 'Z7' ],
3495
+ ],
3496
+
3497
+ 'TA10CA3' => [ 'ECS', 'TA10CA3', DeviceType::TABLET ],
3498
+ 'TM105' => [ 'ECS', 'TM105', DeviceType::TABLET ],
3499
+ 'TM105A' => [ 'ECS', 'TM105A', DeviceType::TABLET ],
3500
+ 'TR10CS1' => [ 'ECS', 'TR10CS1', DeviceType::TABLET ],
3501
+
3502
+ 'Elephone!!' => [
3503
+ 'Elephone G2' => [ 'Elephone', 'G2' ],
3504
+ 'Elephone G4' => [ 'Elephone', 'G4' ],
3505
+ 'Elephone G5' => [ 'Elephone', 'G5' ],
3506
+ 'Elephone G6' => [ 'Elephone', 'G6' ],
3507
+ 'Elephone G7' => [ 'Elephone', 'G7' ],
3508
+ 'Elephone G9' => [ 'Elephone', 'G9' ],
3509
+ 'Elephone P8 Pro' => [ 'Elephone', 'P8 Pro' ],
3510
+ 'Elephone-P10C' => [ 'Elephone', 'P10C' ],
3511
+ 'Elephone-P2000' => [ 'Elephone', 'P2000' ],
3512
+ 'Elephone P2000' => [ 'Elephone', 'P2000' ],
3513
+ 'Elephone-P2000C' => [ 'Elephone', 'P2000C' ],
3514
+ 'Elephone P3000!' => [ 'Elephone', 'P3000' ],
3515
+ 'Elephone P5000!' => [ 'Elephone', 'P5000' ],
3516
+ 'Elephone P6000!' => [ 'Elephone', 'P6000' ],
3517
+ 'Elephone P7000' => [ 'Elephone', 'P7000' ],
3518
+ 'Elephone P8000!' => [ 'Elephone', 'P8000' ],
3519
+ 'Elephone S2' => [ 'Elephone', 'S2' ],
3520
+ 'Elephone S2 Plus' => [ 'Elephone', 'S2 Plus' ],
3521
+ ],
3522
+
3523
+ 'D709' => [ 'Empire Electronix', 'Tablet D709', DeviceType::TABLET ],
3524
+ 'C8660' => [ 'Enspire', 'C8660' ],
3525
+ 'edgejr' => [ 'EnTourage', 'Pocket eDGe', DeviceType::TABLET ],
3526
+ 'l97D' => [ 'EPad', 'l97D', DeviceType::TABLET ],
3527
+ 'A1001T' => [ 'Elijah', 'A1001T', DeviceType::TABLET ],
3528
+ 'ELIYA S1' => [ 'Eliya', 'S1' ],
3529
+
3530
+ 'epade!!' => [
3531
+ 'epade A3' => [ 'epade', 'A3' ],
3532
+ 'epade A7' => [ 'epade', 'A7' ],
3533
+ 'epade A45' => [ 'epade', 'A45' ],
3534
+ 'epade A300' => [ 'epade', 'A300' ],
3535
+ 'epade A360S' => [ 'epade', 'A360S' ],
3536
+ 'epade A718' => [ 'epade', 'A718' ],
3537
+ 'epade N01' => [ 'epade', 'N01' ],
3538
+ 'epade Q3' => [ 'epade', 'Q3' ],
3539
+ 'epade S300' => [ 'epade', 'S300' ],
3540
+ 'EPADE S3' => [ 'epade', 'S3' ],
3541
+ 'epade S5' => [ 'epade', 'S5' ],
3542
+ 'epade S7' => [ 'epade', 'S7' ],
3543
+ 'epade V05' => [ 'epade', 'V05' ],
3544
+ ],
3545
+
3546
+ 'equiso.smart.tv.pro' => [ 'Equiso', 'SmartTV', DeviceType::TELEVISION ],
3547
+
3548
+ 'ST7001' => [ 'Essentiel B', 'Black Diamond' ],
3549
+ 'ST8000' => [ 'Essentiel B', 'Smart\'Tab 8000', DeviceType::TABLET ],
3550
+ 'ST9001' => [ 'Essentiel B', 'Smart\'Tab 9001', DeviceType::TABLET ],
3551
+
3552
+ 'eSTAR!!' => [
3553
+ 'eSTAR BEAUTY HD Quad core' => [ 'eSTAR', 'Beauty HD', DeviceType::TABLET ],
3554
+ 'eSTAR CRYSTAL' => [ 'eSTAR', 'Crystal', DeviceType::TABLET ],
3555
+ 'eSTAR Easy' => [ 'eSTAR', 'Easy', DeviceType::TABLET ],
3556
+ 'eSTAR GO!' => [ 'eSTAR', 'Go!', DeviceType::TABLET ],
3557
+ 'eSTAR GRAND' => [ 'eSTAR', 'Grand', DeviceType::TABLET ],
3558
+ 'eSTAR GRAND HD' => [ 'eSTAR', 'Grand HD', DeviceType::TABLET ],
3559
+ 'eSTAR GRAND HD Quad 3G' => [ 'eSTAR', 'Grand HD 3G', DeviceType::TABLET ],
3560
+ 'eSTAR GRAND HD Intel Quad core 3G' => [ 'eSTAR', 'Grand HD 3G', DeviceType::TABLET ],
3561
+ 'eSTAR Gemini' => [ 'eSTAR', 'Gemini', DeviceType::TABLET ],
3562
+ 'eSTAR MINI' => [ 'eSTAR', 'Mini', DeviceType::TABLET ],
3563
+ 'eSTAR MINI 3G' => [ 'eSTAR', 'Mini 3G', DeviceType::TABLET ],
3564
+ 'eSTAR Zoom Quad' => [ 'eSTAR', 'Zoom', DeviceType::TABLET ],
3565
+ 'eSTAR ZOOM HD Duo' => [ 'eSTAR', 'Zoom HD', DeviceType::TABLET ],
3566
+ 'eSTAR Zoom HD Quad' => [ 'eSTAR', 'Zoom HD', DeviceType::TABLET ],
3567
+ ],
3568
+
3569
+ 'MID1018' => [ 'eSTAR', 'MID1018', DeviceType::TABLET ],
3570
+ 'MID1028' => [ 'eSTAR', 'MID1028', DeviceType::TABLET ],
3571
+ 'M4301' => [ 'Eston', 'MID M4301', 'media' ],
3572
+ 'EVERPAD SC-710' => [ 'Everest', 'Everpad SC-710', DeviceType::TABLET ],
3573
+
3574
+ 'Ever!!' => [
3575
+ 'EverClassic' => [ 'Evertek', 'EverClassic' ],
3576
+ 'EverFancy D40' => [ 'Evertek', 'EverFancy D40' ],
3577
+ 'EverGlory' => [ 'Evertek', 'EverGlory' ],
3578
+ 'EverMagic' => [ 'Evertek', 'EverMagic' ],
3579
+ 'EverMellow D45' => [ 'Evertek', 'EverMellow D45' ],
3580
+ 'EverMellow D50' => [ 'Evertek', 'EverMellow D50' ],
3581
+ 'EverMiracle' => [ 'Evertek', 'EverMiracle' ],
3582
+ 'EverMiracle mini' => [ 'Evertek', 'EverMiracle Mini' ],
3583
+ 'EverMiracle Nano' => [ 'Evertek', 'EverMiracle Nano' ],
3584
+ 'EverShine' => [ 'Evertek', 'EverShine' ],
3585
+ 'EverTrendy' => [ 'Evertek', 'EverTrendy' ],
3586
+ ],
3587
+
3588
+ 'E70[0-9]{2,2}H[DG]!!' => [
3589
+ 'E7020HD' => [ 'Evertek', 'Everpad E7020HD', DeviceType::TABLET ],
3590
+ 'E7050HD' => [ 'Evertek', 'Everpad E7050HD', DeviceType::TABLET ],
3591
+ ],
3592
+
3593
+ 'E80[0-9]{2,2}H[DG]!!' => [
3594
+ 'E8050HG' => [ 'Evertek', 'Everpad E8050HG', DeviceType::TABLET ],
3595
+ 'E8051HD' => [ 'Evertek', 'Everpad E8051HD', DeviceType::TABLET ],
3596
+ ],
3597
+
3598
+ 'P10AN' => [ 'Exper', 'Easypad P10AN', DeviceType::TABLET ],
3599
+
3600
+ '(Explay|X-tremer|ActiveD|Informer|Surfer)!!' => [
3601
+ 'Explay A320' => [ 'Explay', 'A320' ],
3602
+ 'Explay Advance' => [ 'Explay', 'Advance' ],
3603
+ 'Explay Dream' => [ 'Explay', 'Dream' ],
3604
+ 'Explay Fresh' => [ 'Explay', 'Fresh' ],
3605
+ 'Explay Indigo' => [ 'Explay', 'Indigo' ],
3606
+ 'Explay Infinity' => [ 'Explay', 'Infinity' ],
3607
+ 'Explay A350' => [ 'Explay', 'Star' ],
3608
+ 'Explay Star' => [ 'Explay', 'Star' ],
3609
+ 'Explay Vega' => [ 'Explay', 'Vega' ],
3610
+ 'X-tremer' => [ 'Explay', 'X-tremer' ],
3611
+ 'Explay X-tremer' => [ 'Explay', 'X-tremer' ],
3612
+ 'ActiveD 7.4 3G' => [ 'Explay', 'ActiveD 7.4 3G', DeviceType::TABLET ],
3613
+ 'Explay Informer 701' => [ 'Explay', 'Informer 701', DeviceType::TABLET ],
3614
+ 'Informer 701' => [ 'Explay', 'Informer 701', DeviceType::TABLET ],
3615
+ 'Explay Informer 702' => [ 'Explay', 'Informer 702', DeviceType::TABLET ],
3616
+ 'Informer-702' => [ 'Explay', 'Informer 702', DeviceType::TABLET ],
3617
+ 'Explay Informer 703' => [ 'Explay', 'Informer 703', DeviceType::TABLET ],
3618
+ 'Informer 703' => [ 'Explay', 'Informer 703', DeviceType::TABLET ],
3619
+ 'Informer 704' => [ 'Explay', 'Informer 704', DeviceType::TABLET ],
3620
+ 'Informer 705' => [ 'Explay', 'Informer 705', DeviceType::TABLET ],
3621
+ 'Explay Informer 705' => [ 'Explay', 'Informer 705', DeviceType::TABLET ],
3622
+ 'Informer-801' => [ 'Explay', 'Informer 801', DeviceType::TABLET ],
3623
+ 'Explay Informer 801' => [ 'Explay', 'Informer 801', DeviceType::TABLET ],
3624
+ 'Explay Informer 804' => [ 'Explay', 'Informer 804', DeviceType::TABLET ],
3625
+ 'informer 901' => [ 'Explay', 'Informer 901', DeviceType::TABLET ],
3626
+ 'informer 920' => [ 'Explay', 'Informer 920', DeviceType::TABLET ],
3627
+ 'informer 921' => [ 'Explay', 'Informer 921', DeviceType::TABLET ],
3628
+ 'Explay Surfer 7.02' => [ 'Explay', 'Surfer 7.02', DeviceType::TABLET ],
3629
+ 'Surfer7.03' => [ 'Explay', 'Surfer 7.03', DeviceType::TABLET ],
3630
+ 'Surfer 7.04' => [ 'Explay', 'Surfer 7.04', DeviceType::TABLET ],
3631
+ 'Surfer 7.31 3G' => [ 'Explay', 'Surfer 7.31 3G', DeviceType::TABLET ],
3632
+ 'Surfer 7.32 3G' => [ 'Explay', 'Surfer 7.32 3G', DeviceType::TABLET ],
3633
+ 'Surfer 7.34' => [ 'Explay', 'Surfer 7.34', DeviceType::TABLET ],
3634
+ 'Explay surfer 8.01' => [ 'Explay', 'Surfer 8.01', DeviceType::TABLET ],
3635
+ 'Surfer 8 02' => [ 'Explay', 'Surfer 8.02', DeviceType::TABLET ],
3636
+ 'Surfer 8.02' => [ 'Explay', 'Surfer 8.02', DeviceType::TABLET ],
3637
+ 'Surfer 8.31 3G' => [ 'Explay', 'Surfer 8.31 3G', DeviceType::TABLET ],
3638
+ 'Surfer 10.11' => [ 'Explay', 'Surfer 10.11', DeviceType::TABLET ],
3639
+ ],
3640
+
3641
+ 'Smart!!' => [
3642
+ 'Smart402' => [ 'Fareastone', 'Smart 402' ],
3643
+ 'Smart 403' => [ 'Fareastone', 'Smart 403' ],
3644
+ 'Smart501' => [ 'Fareastone', 'Smart 501' ],
3645
+ 'Smart 502' => [ 'Fareastone', 'Smart 502' ],
3646
+ 'Smart503' => [ 'Fareastone', 'Smart 503' ],
3647
+ 'Smart 505' => [ 'Fareastone', 'Smart 505' ],
3648
+ 'Smart 701' => [ 'Fareastone', 'Smart 701', DeviceType::TABLET ],
3649
+ ],
3650
+
3651
+ 'FP1' => [ 'Fairphone', '1' ],
3652
+ 'FP1U' => [ 'Fairphone', '1' ],
3653
+ 'FP2' => [ 'Fairphone', '2' ],
3654
+
3655
+ 'FDT!!' => [
3656
+ 'FDT C838' => [ 'FDT', 'C838' ],
3657
+ 'FDT E5' => [ 'FDT', 'E5' ],
3658
+ 'FDT E6' => [ 'FDT', 'E6' ],
3659
+ 'FDT E829' => [ 'FDT', 'E829' ],
3660
+ 'FDT E969' => [ 'FDT', 'E969' ],
3661
+ 'FDT G18' => [ 'FDT', 'G18' ],
3662
+ 'FDT G505' => [ 'FDT', 'G505' ],
3663
+ ],
3664
+
3665
+ 'GT-[HN][0-9]{4,4}!!' => [
3666
+ 'GT-H9001' => [ 'Feiteng', 'GT-H9001' ],
3667
+ 'GT-H9500' => [ 'Feiteng', 'GT-H9500' ],
3668
+ 'GT-N9300' => [ 'Feiteng', 'GT-N9300' ],
3669
+ ],
3670
+
3671
+ 'GT-9000' => [ 'Feiteng', 'H5W' ],
3672
+ '9300' => [ 'Feiteng', 'GT-N9300' ],
3673
+
3674
+ 'iOCEAN!!' => [
3675
+ 'iOCEAN X7' => [ 'FHD', 'iOCEAN X7' ],
3676
+ 'iOCEAN X7 HD' => [ 'FHD', 'iOCEAN X7 HD' ],
3677
+ 'iOCEAN X7S' => [ 'FHD', 'iOCEAN X7S' ],
3678
+ 'iOCEAN X7T' => [ 'FHD', 'iOCEAN X7T' ],
3679
+ 'iOCEAN X8' => [ 'FHD', 'iOCEAN X8' ],
3680
+ ],
3681
+
3682
+ 'FIH-!!' => [
3683
+ 'FIH-F0X' => [ 'FIH', 'F0X' ],
3684
+ 'FIH-FBO' => [ 'FIH', 'FBO' ],
3685
+ 'FIH-FD1' => [ 'FIH', 'FD1' ],
3686
+ 'FIH-VKY' => [ 'FIH', 'VKY' ],
3687
+ ],
3688
+
3689
+ 'Vibo-A688' => [ 'FIH', 'Vibo A688' ],
3690
+
3691
+ 'XT[0-9]{3,3}!!' => [
3692
+ 'XT712' => [ 'Flipkart', 'Digiflip Pro XT712', DeviceType::TABLET ],
3693
+ 'XT801' => [ 'Flipkart', 'Digiflip Pro XT801', DeviceType::TABLET ],
3694
+ 'XT811' => [ 'Flipkart', 'Digiflip Pro XT811', DeviceType::TABLET ],
3695
+ ],
3696
+
3697
+ 'Fly F[0-9]{2,3}!!' => [
3698
+ 'Fly F40' => [ 'Fly', 'F40' ],
3699
+ 'FLY F45s' => [ 'Fly', 'F45s' ],
3700
+ 'FLY F50s' => [ 'Fly', 'F50s' ],
3701
+ 'Fly F350' => [ 'Fly', 'F350' ],
3702
+ ],
3703
+
3704
+ 'F50Q' => [ 'Fly', 'F50Q' ],
3705
+ 'FS403' => [ 'Fly', 'FS403 Cumulus 1' ],
3706
+ 'Fly Phoenix 2' => [ 'Fly', 'IQ4410i Phoenix 2' ],
3707
+ 'Fly Ego Art 2' => [ 'Fly', 'IQ455 Ego Art 2' ],
3708
+
3709
+ '(Fly )?IQ ?[0-9]{3,4}!!' => [
3710
+ '(Fly )?IQ4413!' => [ 'Fly', 'IQ4413 Evo Chic 3' ],
3711
+ '(Fly )?IQ4417!' => [ 'Fly', 'IQ4417 Quad Era Energy 3' ],
3712
+ '(Fly )?IQ4516!' => [ 'Fly', 'IQ4516 Tornado Slim' ],
3713
+ '(Fly )?IQ230!' => [ 'Fly', 'IQ230 Compact' ],
3714
+ '(Fly )?IQ235!' => [ 'Fly', 'IQ235 Uno' ],
3715
+ '(Fly )?IQ236!' => [ 'Fly', 'IQ236 Victory' ],
3716
+ '(Fly )?IQ237!' => [ 'Fly', 'IQ237 Dynamic' ],
3717
+ '(Fly )?IQ238!' => [ 'Fly', 'IQ238 Jazz' ],
3718
+ '(Fly )?IQ239!' => [ 'Fly', 'IQ239 Era Nano 2' ],
3719
+ '(Fly )?IQ240!' => [ 'Fly', 'IQ240 Whizz' ],
3720
+ '(Fly )?IQ245!' => [ 'Fly', 'IQ245 Wizard' ],
3721
+ '(Fly )?IQ245 Plus!' => [ 'Fly', 'IQ245 Wizard Plus' ],
3722
+ '(Fly )?IQ246!' => [ 'Fly', 'IQ246 Power' ],
3723
+ '(Fly )?IQ250!' => [ 'Fly', 'IQ250 Swift' ],
3724
+ '(Fly )?IQ255!' => [ 'Fly', 'IQ255 Pride' ],
3725
+ '(Fly )?IQ256!' => [ 'Fly', 'IQ256 Vogue' ],
3726
+ '(Fly )?IQ260!' => [ 'Fly', 'IQ260 BlackBird' ],
3727
+ '(Fly )?IQ270!' => [ 'Fly', 'IQ270 Firebird' ],
3728
+ '(Fly )?IQ275!' => [ 'Fly', 'IQ275 Marathon' ],
3729
+ '(Fly )?IQ280!' => [ 'Fly', 'IQ280 Tech' ],
3730
+ '(Fly )?IQ285!' => [ 'Fly', 'IQ285 Turbo' ],
3731
+ '(Fly )?IQ310!' => [ 'Fly', 'IQ310 Panorama', DeviceType::TABLET ],
3732
+ '(Fly )?IQ320!' => [ 'Fly', 'IQ320', DeviceType::TABLET ],
3733
+ '(Fly )?IQ430!' => [ 'Fly', 'IQ430 Evoke' ],
3734
+ 'IQ 430' => [ 'Fly', 'IQ430 Evoke' ],
3735
+ '(Fly )?IQ431!' => [ 'Fly', 'IQ431 Glory' ],
3736
+ '(Fly )?IQ432!' => [ 'Fly', 'IQ432 Era Nano 1' ],
3737
+ '(Fly )?IQ434!' => [ 'Fly', 'IQ434 Era Nano 5' ],
3738
+ '(Fly )?IQ436!' => [ 'Fly', 'IQ434 Era Nano 9' ],
3739
+ '(Fly )?IQ440!' => [ 'Fly', 'IQ440 Energie' ],
3740
+ '(Fly )?IQ441!' => [ 'Fly', 'IQ441 Radiance' ],
3741
+ '(Fly )?IQ442!' => [ 'Fly', 'IQ442 Miracle' ],
3742
+ '(Fly )?IQ443!' => [ 'Fly', 'IQ443 Trend' ],
3743
+ '(Fly )?IQ444!' => [ 'Fly', 'IQ444 Diamond' ],
3744
+ '(Fly )?IQ445!' => [ 'Fly', 'IQ445 Genius' ],
3745
+ '(Fly )?IQ446!' => [ 'Fly', 'IQ446 Magic' ],
3746
+ 'IQ 446' => [ 'Fly', 'IQ446 Magic' ],
3747
+ '(Fly )?IQ447!' => [ 'Fly', 'IQ447 Era Life 1' ],
3748
+ '(Fly )?IQ448!' => [ 'Fly', 'IQ448 Chic' ],
3749
+ '(Fly )?IQ449!' => [ 'Fly', 'IQ449 Pronto' ],
3750
+ '(Fly )?IQ450!' => [ 'Fly', 'IQ450 Horizon' ],
3751
+ '(Fly )?IQ451!' => [ 'Fly', 'IQ451 Vista' ],
3752
+ 'IQ 451' => [ 'Fly', 'IQ451 Vista' ],
3753
+ '(Fly )?IQ452!' => [ 'Fly', 'IQ452 Ego Vision 1' ],
3754
+ '(Fly )?IQ453!' => [ 'Fly', 'IQ453 Luminor' ],
3755
+ '(Fly )?IQ454!' => [ 'Fly', 'IQ454 Evo Tech 1' ],
3756
+ '(Fly )?IQ455!' => [ 'Fly', 'IQ455 Ego Art 2' ],
3757
+ 'IQ456' => [ 'Fly', 'IQ456 Era Life 2' ],
3758
+ '(Fly )?IQ458!' => [ 'Fly', 'IQ458 Evo Tech 2' ],
3759
+ '(Fly )?IQ459!' => [ 'Fly', 'IQ459 Evo Chic 2' ],
3760
+ 'IQ4601' => [ 'Fly', 'IQ4601 Era Style 2' ],
3761
+ 'IQ4602 Quad' => [ 'Fly', 'IQ4602 Thunder' ],
3762
+ ],
3763
+
3764
+ 'Flylife!!' => [
3765
+ 'Flylife Connect 7 3G' => [ 'Fly', 'Flylife Connect 7 3G', DeviceType::TABLET ],
3766
+ 'Flylife Connect 7 3G 2' => [ 'Fly', 'Flylife Connect 7 3G 2', DeviceType::TABLET ],
3767
+ 'Flylife Connect 7.85 3G 2' => [ 'Fly', 'Flylife Connect 7.85 3G 2', DeviceType::TABLET ],
3768
+ 'Flylife Connect 7.85 3G Slim' => [ 'Fly', 'Flylife Connect 7.85 3G Slim', DeviceType::TABLET ],
3769
+ 'Flylife Connect 10.1 3G' => [ 'Fly', 'Flylife Connect 10.1 3G', DeviceType::TABLET ],
3770
+ 'Flylife Web 7' => [ 'Fly', 'Flylife Web 7', DeviceType::TABLET ],
3771
+ 'Flylife Web 7.85 Slim' => [ 'Fly', 'Flylife Web 7.85 Slim', DeviceType::TABLET ],
3772
+ ],
3773
+
3774
+ 'Fly Flylife Web 7.85 Slim' => [ 'Fly', 'Flylife Web 7.85 Slim', DeviceType::TABLET ],
3775
+ 'F600' => [ 'Flying', 'F600' ],
3776
+ 'BC1003' => [ 'Flytouch', 'BC1003', DeviceType::TABLET ],
3777
+
3778
+ '(tablet )?fnac!!' => [
3779
+ 'fnac 3.5' => [ 'Fnac', 'Smartphone 3.5' ],
3780
+ 'fnac 4' => [ 'Fnac', 'Smartphone 4' ],
3781
+ 'fnac 4.5' => [ 'Fnac', 'Smartphone 4.5' ],
3782
+ 'fnac 5' => [ 'Fnac', 'Smartphone 5' ],
3783
+ 'fnac 5 HD' => [ 'Fnac', 'Smartphone 5 HD' ],
3784
+ 'fnac 5.7' => [ 'Fnac', 'Smartphone 5.7' ],
3785
+ 'tablet Fnac 7' => [ 'Fnac', 'Tablet 7', DeviceType::TABLET ],
3786
+ 'tablet Fnac 8' => [ 'Fnac', 'Tablet 8', DeviceType::TABLET ],
3787
+ 'fnac 8 3G v2' => [ 'Fnac', 'Tablet 8 3G v2', DeviceType::TABLET ],
3788
+ 'tablet Fnac 10' => [ 'Fnac', 'Tablet 10', DeviceType::TABLET ],
3789
+ 'tablet Fnac 10 3G' => [ 'Fnac', 'Tablet 10 3G', DeviceType::TABLET ],
3790
+ 'fnac 10 v2' => [ 'Fnac', 'Tablet 10 v2', DeviceType::TABLET ],
3791
+ 'fnac 3.0 8' => [ 'Fnac', 'Tablet 3.0 8', DeviceType::TABLET ],
3792
+ 'fnac 3.0 10 Plus' => [ 'Fnac', 'Tablet 3.0 10', DeviceType::TABLET ],
3793
+ ],
3794
+
3795
+ 'ifive!!' => [
3796
+ 'ifive 2' => [ 'FNF', 'iFive 2', DeviceType::TABLET ],
3797
+ 'ifive2S' => [ 'FNF', 'iFive 2S', DeviceType::TABLET ],
3798
+ 'ifive3' => [ 'FNF', 'iFive 3', DeviceType::TABLET ],
3799
+ 'ifive MX' => [ 'FNF', 'iFive MX', DeviceType::TABLET ],
3800
+ 'ifive X' => [ 'FNF', 'iFive X', DeviceType::TABLET ],
3801
+ 'ifiveX2' => [ 'FNF', 'iFive X2', DeviceType::TABLET ],
3802
+ 'ifive X2' => [ 'FNF', 'iFive X2', DeviceType::TABLET ],
3803
+ 'ifiveX3' => [ 'FNF', 'iFive X3', DeviceType::TABLET ],
3804
+ 'ifive MINI 2' => [ 'FNF', 'iFive Mini 2', DeviceType::TABLET ],
3805
+ 'IfiveMini3' => [ 'FNF', 'iFive Mini 3', DeviceType::TABLET ],
3806
+ 'ifive mini 3GS' => [ 'FNF', 'iFive Mini 3GS', DeviceType::TABLET ],
3807
+ 'IfiveMini4' => [ 'FNF', 'iFive Mini 4', DeviceType::TABLET ],
3808
+ ],
3809
+
3810
+ 'Freelander I20' => [ 'Freelander', 'i20' ],
3811
+ 'PD10-DYD' => [ 'Freelander', 'PD10', DeviceType::TABLET ],
3812
+
3813
+ 'SXZ-PD!!' => [
3814
+ 'SXZ-PD10' => [ 'Freelander', 'PD10', DeviceType::TABLET ],
3815
+ 'SXZ-PDX0-01' => [ 'Freelander', 'PD20', DeviceType::TABLET ],
3816
+ 'SXZ-PDX0-03' => [ 'Freelander', 'PD90', DeviceType::TABLET ],
3817
+ 'SXZ-PDX-03' => [ 'Freelander', 'PD90', DeviceType::TABLET ],
3818
+ ],
3819
+
3820
+ 'NABI!!' => [
3821
+ 'NABI-A' => [ 'Fuhu', 'nabi Kids tablet', DeviceType::TABLET ],
3822
+ 'NABIJR-NV5A' => [ 'Fuhu', 'nabi Jr.', DeviceType::TABLET ],
3823
+ 'NABIJR-NV5B' => [ 'Fuhu', 'nabi Jr.', DeviceType::TABLET ],
3824
+ 'NABI2-NV3D' => [ 'Fuhu', 'nabi 2', DeviceType::TABLET ],
3825
+ 'NABI2-NV7A' => [ 'Fuhu', 'nabi 2', DeviceType::TABLET ],
3826
+ 'NABI2-NV7A-D' => [ 'Fuhu', 'nabi 2', DeviceType::TABLET ],
3827
+ 'NABI2-NV7A-IE' => [ 'Fuhu', 'nabi 2', DeviceType::TABLET ],
3828
+ 'NABI2-NV7A-UK' => [ 'Fuhu', 'nabi 2', DeviceType::TABLET ],
3829
+ 'NABI2-NV7A-3D' => [ 'Fuhu', 'nabi 2', DeviceType::TABLET ],
3830
+ 'NABIXD-NV10A' => [ 'Fuhu', 'nabi XD', DeviceType::TABLET ],
3831
+ 'NABIXD-NV10B' => [ 'Fuhu', 'nabi XD', DeviceType::TABLET ],
3832
+ 'NABIXD-NV10C' => [ 'Fuhu', 'nabi XD', DeviceType::TABLET ],
3833
+ ],
3834
+
3835
+ '[0-9]0[0-9]F!!' => [
3836
+ '101F' => [ 'Fujitsu', 'ARROWS A 101F', 'carrier' => 'Softbank' ],
3837
+ '201F' => [ 'Fujitsu', 'ARROWS A 201F', 'carrier' => 'Softbank' ],
3838
+ '202F' => [ 'Fujitsu', 'ARROWS A 202F', 'carrier' => 'Softbank' ],
3839
+ '301F' => [ 'Fujitsu', 'ARROWS A 301F', 'carrier' => 'Softbank' ],
3840
+ ],
3841
+
3842
+ 'ISW?[0-9]{2,2}F!!' => [
3843
+ 'ISW11F' => [ 'Fujitsu', 'ARROWS Z ISW11F', 'carrier' => 'au' ],
3844
+ 'ISW13F' => [ 'Fujitsu', 'ARROWS Z ISW13F', 'carrier' => 'au' ],
3845
+ 'IS12F' => [ 'Fujitsu', 'ARROWS ES IS12F', 'carrier' => 'au' ],
3846
+ ],
3847
+
3848
+ 'F-[0-9]{2,2}[A-Z]!!' => [
3849
+ 'F-01D' => [ 'Fujitsu', 'ARROWS Tab LTE F-01D', DeviceType::TABLET, 'carrier' => 'DoCoMo' ],
3850
+ 'F-01F' => [ 'Fujitsu', 'ARROWS NX F-01F', 'carrier' => 'DoCoMo' ],
3851
+ 'F-01H' => [ 'Fujitsu', 'arrows Fit F-01H', 'carrier' => 'DoCoMo' ],
3852
+ 'F-02E' => [ 'Fujitsu', 'ARROWS X F-02E', 'carrier' => 'DoCoMo' ],
3853
+ 'F-02F' => [ 'Fujitsu', 'ARROWS Tab F-02F', DeviceType::TABLET, 'carrier' => 'DoCoMo' ],
3854
+ 'F-02G' => [ 'Fujitsu', 'ARROWS NX F-02G', 'carrier' => 'DoCoMo' ],
3855
+ 'F-02H' => [ 'Fujitsu', 'arrows NX F-02H', 'carrier' => 'DoCoMo' ],
3856
+ 'F-03D' => [ 'Fujitsu', 'ARROWS Kiss F-03D', 'carrier' => 'DoCoMo' ],
3857
+ 'F-03E' => [ 'Fujitsu', 'ARROWS Kiss with JILL STUART F-03E', 'carrier' => 'DoCoMo' ],
3858
+ 'F-03F' => [ 'Fujitsu', 'F-03F', 'carrier' => 'Disney Mobile' ],
3859
+ 'F-03G' => [ 'Fujitsu', 'ARROWS Tab F-03G', DeviceType::TABLET, 'carrier' => 'DoCoMo' ],
3860
+ 'F-03H' => [ 'Fujitsu', 'arrows SV F-03H', 'carrier' => 'DoCoMo' ],
3861
+ 'F-04E' => [ 'Fujitsu', 'ARROWS V F-04E', 'carrier' => 'DoCoMo' ],
3862
+ 'F-04F' => [ 'Fujitsu', 'Business Smartphone F-04F', 'carrier' => 'DoCoMo' ],
3863
+ 'F-04G' => [ 'Fujitsu', 'ARROWS NX F-04G', 'carrier' => 'DoCoMo' ],
3864
+ 'F-05D' => [ 'Fujitsu', 'ARROWS X LTE F-05D', 'carrier' => 'DoCoMo' ],
3865
+ 'F-05E' => [ 'Fujitsu', 'ARROWS Tab F-05E', 'carrier' => 'DoCoMo' ],
3866
+ 'F-05F' => [ 'Fujitsu', 'ARROWS NX F-05F', 'carrier' => 'DoCoMo' ],
3867
+ 'F-05G' => [ 'Fujitsu', 'ARROWS F-05G', 'carrier' => 'DoCoMo' ],
3868
+ 'F-06E' => [ 'Fujitsu', 'ARROWS NX F-06E', 'carrier' => 'DoCoMo' ],
3869
+ 'F-06F' => [ 'Fujitsu', 'Easy Smartphone 3 F-06F', 'carrier' => 'DoCoMo' ],
3870
+ 'F-07D' => [ 'Fujitsu', 'ARROWS μ F-07D', 'carrier' => 'DoCoMo' ],
3871
+ 'F-07E' => [ 'Fujitsu', 'F-07E', 'carrier' => 'Disney Mobile' ],
3872
+ 'F-08D' => [ 'Fujitsu', 'F-08D', 'carrier' => 'Disney Mobile' ],
3873
+ 'F-08E' => [ 'Fujitsu', 'Easy Smartphone 2 F-08E', 'carrier' => 'DoCoMo' ],
3874
+ 'F-09D' => [ 'Fujitsu', 'ANTEPRIMA F-09D', 'carrier' => 'DoCoMo' ],
3875
+ 'F-09E' => [ 'Fujitsu', 'Easy Smartphone Premium F-09E', 'carrier' => 'DoCoMo' ],
3876
+ 'F-10D' => [ 'Fujitsu', 'ARROWS X F-10D', 'carrier' => 'DoCoMo' ],
3877
+ 'F-11D' => [ 'Fujitsu', 'ARROWS Me F-11D', 'carrier' => 'DoCoMo' ],
3878
+ 'F-12C' => [ 'Fujitsu', 'GLOBE-TROTTER F-12C', 'carrier' => 'DoCoMo' ],
3879
+ 'F-12D' => [ 'Fujitsu', 'Easy Smartphone F-12D', 'carrier' => 'DoCoMo' ],
3880
+ ],
3881
+
3882
+ 'f12[a-z]{3,3}!!' => [
3883
+ 'f12arc' => [ 'Fujitsu', 'F12arc' ],
3884
+ 'f12bob' => [ 'Fujitsu', 'F12bob' ],
3885
+ ],
3886
+
3887
+ 'FJ[LT][0-9]{2,2}!!' => [
3888
+ 'FJL21' => [ 'Fujitsu', 'ARROWS ef FJL21', 'carrier' => 'au' ],
3889
+ 'FJL22' => [ 'Fujitsu', 'ARROWS Z FJL22', 'carrier' => 'au' ],
3890
+ 'FJT21' => [ 'Fujitsu', 'ARROWS Tab FJT21', DeviceType::TABLET, 'carrier' => 'au' ],
3891
+ ],
3892
+
3893
+ 'SZJ-JS101' => [ 'Fujitsu', 'SZJ-JS101' ],
3894
+
3895
+ 'FHMD001' => [ 'Fujitsu', 'FHMD001', DeviceType::HEADSET ],
3896
+
3897
+ 'F-074' => [ 'Fujitsu', 'ARROWS μ F-07D', 'carrier' => 'DoCoMo' ],
3898
+ 'FJJB091' => [ 'Fujitsu', 'ARROWS μ F-07D', 'carrier' => 'DoCoMo' ],
3899
+ 'EM01F' => [ 'Fujitsu', 'ARROWS S EM01F', 'carrier' => 'EMOBILE' ],
3900
+ 'M01' => [ 'Fujitsu', 'ARROWS M01' ],
3901
+ 'M02' => [ 'Fujitsu', 'ARROWS M02' ],
3902
+ 'RM02' => [ 'Fujitsu', 'ARROWS M02' ],
3903
+ 'M305' => [ 'Fujitsu', 'ARROWS M305' ],
3904
+ 'M01T' => [ 'Fujitsu', 'ARROWS Tab M01T', DeviceType::TABLET ],
3905
+ 'M555' => [ 'Fujitsu', 'ARROWS Tab M555', DeviceType::TABLET ],
3906
+ 'FAR7' => [ 'Fujitsu', 'ARROWS Tab FAR70A', DeviceType::TABLET ],
3907
+ 'FAR70B' => [ 'Fujitsu', 'ARROWS Tab FAR70B', DeviceType::TABLET ],
3908
+ 'FARTM933KZ' => [ 'Fujitsu', 'ARROWS Tab M504', DeviceType::TABLET ],
3909
+
3910
+ 'M350' => [ 'Fujitsu', 'Stylistic M350', DeviceType::TABLET ],
3911
+ 'M532' => [ 'Fujitsu', 'Stylistic M532', DeviceType::TABLET ],
3912
+ 'M363' => [ 'Fujitsu', 'Stylistic M363', DeviceType::TABLET ],
3913
+ 'M702' => [ 'Fujitsu', 'Stylistic M702', DeviceType::TABLET ],
3914
+ 'MH350' => [ 'Fujitsu', 'Stylistic MH350', DeviceType::TABLET ],
3915
+ 'S01' => [ 'Fujitsu', 'Stylistic S01', DeviceType::TABLET ],
3916
+
3917
+ 'Patio100' => [ 'Fujitsu', 'Patio100', DeviceType::POS ],
3918
+ 'Patio100 3G' => [ 'Fujitsu', 'Patio100', DeviceType::POS ],
3919
+
3920
+ 'F&U ETB!!' => [
3921
+ 'F&U ETB7506' => [ 'F&U', 'ETB7506', DeviceType::TABLET ],
3922
+ 'F&U ETB7818' => [ 'F&U', 'ETB7818', DeviceType::TABLET ],
3923
+ 'F&U ETB9543' => [ 'F&U', 'ETB9543', DeviceType::TABLET ],
3924
+ 'F&U ETB9544' => [ 'F&U', 'ETB9544', DeviceType::TABLET ],
3925
+ 'F&U ETB1063' => [ 'F&U', 'ETB1063', DeviceType::TABLET ],
3926
+ 'F&U ETB1065' => [ 'F&U', 'ETB1065', DeviceType::TABLET ],
3927
+ ],
3928
+
3929
+ 'Asus A10' => [ 'Garmin-Asus', 'Nuvifone A10' ],
3930
+ 'Monterra' => [ 'Garmin', 'Monterra', DeviceType::GPS ],
3931
+
3932
+ 'Garmin!!' => [
3933
+ 'Garminfone' => [ 'Garmin-Asus', 'Garminfone' ],
3934
+ 'Garmin-Asus A10' => [ 'Garmin-Asus', 'Nuvifone A10' ],
3935
+ 'Garmin-Asus A50' => [ 'Garmin-Asus', 'Nuvifone A50' ],
3936
+ ],
3937
+
3938
+ 'nuvi!!' => [
3939
+ 'nuvi 3590' => [ 'Garmin', 'Nuvi 3590', DeviceType::GPS ],
3940
+ 'nuvi 3592' => [ 'Garmin', 'Nuvi 3592', DeviceType::GPS ],
3941
+ 'nuvi 3595' => [ 'Garmin', 'Nuvi 3595', DeviceType::GPS ],
3942
+ 'nuvifone A50' => [ 'Garmin-Asus', 'Nuvifone A50' ],
3943
+ ],
3944
+
3945
+ 'G1-715' => [ 'Gateway', 'G1-715', DeviceType::TABLET ],
3946
+ 'G1-725' => [ 'Gateway', 'G1-725', DeviceType::TABLET ],
3947
+ 'N3-2200' => [ 'Gateway', 'N3-2200', DeviceType::TABLET ],
3948
+ 'TPA60W' => [ 'Gateway', 'TPA60W', DeviceType::TABLET ],
3949
+
3950
+ '(GP-|Geeksphone)!!' => [
3951
+ 'GP-KEON' => [ 'Geeksphone', 'Keon'],
3952
+ 'GP-PEAK' => [ 'Geeksphone', 'Peak'],
3953
+ 'Geeksphone ZERO' => [ 'Geeksphone', 'ZERO'],
3954
+ 'Geeksphone ONE' => [ 'Geeksphone', 'ONE'],
3955
+ ],
3956
+
3957
+ 'Gemei!!' => [
3958
+ 'Gemei G2' => [ 'Gemei', 'G2', DeviceType::TABLET ],
3959
+ 'Gemei G3' => [ 'Gemei', 'G3', DeviceType::TABLET ],
3960
+ 'gemei G6' => [ 'Gemei', 'G6', DeviceType::TABLET ],
3961
+ 'Gemei G9' => [ 'Gemei', 'G9', DeviceType::TABLET ],
3962
+ 'gemei G9T' => [ 'Gemei', 'G9T', DeviceType::TABLET ],
3963
+ ],
3964
+
3965
+ 'GEM[0-9]{4,4}!!' => [
3966
+ 'GEM7008' => [ 'Gemini', 'JoyTab GEM7008', DeviceType::TABLET ],
3967
+ 'GEM7020' => [ 'Gemini', 'JoyTab GEM7020', DeviceType::TABLET ],
3968
+ 'GEM7032G-rev2' => [ 'Gemini', 'JoyTab GEM7032', DeviceType::TABLET ],
3969
+ 'GEM10313BK' => [ 'Gemini', 'JoyTab GEM10313', DeviceType::TABLET ],
3970
+ 'GEM10313S' => [ 'Gemini', 'JoyTab GEM10313', DeviceType::TABLET ],
3971
+ ],
3972
+
3973
+ 'GP-431' => [ 'Genesis', 'GP-431' ],
3974
+
3975
+ 'GT-[0-9]{4,4}!!' => [
3976
+ 'GT-7200' => [ 'Genesis', 'Tab GT-7200', DeviceType::TABLET ],
3977
+ 'GT-7204' => [ 'Genesis', 'Tab GT-7204', DeviceType::TABLET ],
3978
+ 'GT-7204R' => [ 'Genesis', 'Tab GT-7204R', DeviceType::TABLET ],
3979
+ 'GT-7240' => [ 'Genesis', 'Tab GT-7240', DeviceType::TABLET ],
3980
+ 'GT-7240R' => [ 'Genesis', 'Tab GT-7240R', DeviceType::TABLET ],
3981
+ 'GT-7245' => [ 'Genesis', 'Tab GT-7245', DeviceType::TABLET ],
3982
+ 'GT-7326' => [ 'Genesis', 'Tab GT-7326', DeviceType::TABLET ],
3983
+ ],
3984
+
3985
+ 'GP-720' => [ 'Genius', 'GP-720', DeviceType::TABLET ],
3986
+
3987
+ 'G9' => [ 'GFive', 'G9' ],
3988
+
3989
+ 'GFIVE!!' => [
3990
+ 'GFIVE A5' => [ 'GFive', 'A5' ],
3991
+ 'GFIVE A800' => [ 'GFive', 'A800' ],
3992
+ 'GFIVE Aurora(A79)' => [ 'GFive', 'Aurora' ],
3993
+ 'GFIVE A68' => [ 'GFive', 'Beam' ],
3994
+ 'GFIVE Blade (F500)' => [ 'GFive', 'Blade' ],
3995
+ 'GFIVE Bravo' => [ 'GFive', 'Bravo' ],
3996
+ 'GFIVE Bravo(G95)' => [ 'GFive', 'Bravo' ],
3997
+ 'GFIVE A77' => [ 'GFive', 'Bravo' ],
3998
+ 'GFIVE A57' => [ 'GFive', 'Fanse' ],
3999
+ 'GFIVE Glory' => [ 'GFive', 'Glory' ],
4000
+ 'GFIVE Glory(A86)' => [ 'GFive', 'Glory' ],
4001
+ 'GFIVE A86' => [ 'GFive', 'Glory' ],
4002
+ 'GFIVE Glory Bee(E670)' => [ 'GFive', 'Glory Bee' ],
4003
+ 'GFIVE Prado' => [ 'GFive', 'Prado' ],
4004
+ 'GFIVE President A97' => [ 'GFive', 'President' ],
4005
+ 'GFIVE president(G6)' => [ 'GFive', 'President' ],
4006
+ 'GFIVE President(G7)' => [ 'GFive', 'President' ],
4007
+ 'GFIVE President(G9)' => [ 'GFive', 'President' ],
4008
+ 'GFIVE G9' => [ 'GFive', 'President' ],
4009
+ 'GFIVE.G9' => [ 'GFive', 'President' ],
4010
+ 'GFIVE President G10 Fashion' => [ 'GFive', 'President' ],
4011
+ 'GFIVE Spark(A1)' => [ 'GFive', 'Spark' ],
4012
+ 'GFIVE GPad701' => [ 'GFive', 'GPad 701', DeviceType::TABLET ],
4013
+ ],
4014
+
4015
+ 'GHIA!!' => [
4016
+ 'GHIA 20218P' => [ 'Ghia', 'Any 20218P', DeviceType::TABLET ],
4017
+ 'GHIA 27154P' => [ 'Ghia', 'Any 27154P', DeviceType::TABLET ],
4018
+ 'GHIA V2.0 27158N' => [ 'Ghia', 'Any 27158N', DeviceType::TABLET ],
4019
+ 'GHIA 27214P' => [ 'Ghia', 'Any 27214P', DeviceType::TABLET ],
4020
+ 'GHIA 27258B' => [ 'Ghia', 'Any 27258B', DeviceType::TABLET ],
4021
+ 'GHIA 27258N' => [ 'Ghia', 'Any 27258N', DeviceType::TABLET ],
4022
+ 'GHIA V2.0 27258N' => [ 'Ghia', 'Any 27258N', DeviceType::TABLET ],
4023
+ 'GHIA 29214P' => [ 'Ghia', 'Any 29214P', DeviceType::TABLET ],
4024
+ ],
4025
+
4026
+ '(Gsmart|Gigabyte|Rio)!!' => [
4027
+ 'GSmart Aku A1' => [ 'Gigabyte', 'GSmart Aku A1' ],
4028
+ 'GSmart Alto A2' => [ 'Gigabyte', 'GSmart Alto A2' ],
4029
+ 'GSmart Arty A3' => [ 'Gigabyte', 'GSmart Arty A3' ],
4030
+ 'GSmart Akta A4' => [ 'Gigabyte', 'GSmart Akta A4' ],
4031
+ 'GSmart Essence 4' => [ 'Gigabyte', 'GSmart Essence 4' ],
4032
+ 'GSmart-G1305' => [ 'Gigabyte', 'GSmart G1305' ],
4033
+ 'GSmart G1310' => [ 'Gigabyte', 'GSmart G1310' ],
4034
+ 'GSmart G1315!' => [ 'Gigabyte', 'GSmart G1315' ],
4035
+ 'GSmart G1317!' => [ 'Gigabyte', 'GSmart G1317' ],
4036
+ 'GSmart G1342' => [ 'Gigabyte', 'GSmart G1342' ],
4037
+ 'GSmart G1345' => [ 'Gigabyte', 'GSmart G1345' ],
4038
+ 'GSmart G1355' => [ 'Gigabyte', 'GSmart G1355' ],
4039
+ 'GSmart G1362' => [ 'Gigabyte', 'GSmart G1362' ],
4040
+ 'GSmart GS202!' => [ 'Gigabyte', 'GSmart GS202' ],
4041
+ 'GSmart Guru G1' => [ 'Gigabyte', 'GSmart Guru G1' ],
4042
+ 'GSmart Maya M1' => [ 'Gigabyte', 'GSmart Maya M1' ],
4043
+ 'GSmart Maya M1v2' => [ 'Gigabyte', 'GSmart Maya M1 v2' ],
4044
+ 'GSmart Maya M1 v2' => [ 'Gigabyte', 'GSmart Maya M1 v2' ],
4045
+ 'GSmart Mika M2' => [ 'Gigabyte', 'GSmart Mika M2' ],
4046
+ 'GSmart Mika M3' => [ 'Gigabyte', 'GSmart Mika M3' ],
4047
+ 'GSmart Rio R1' => [ 'Gigabyte', 'GSmart Rio R1' ],
4048
+ 'GIGABYTE GSmart Rio R1' => [ 'Gigabyte', 'GSmart Rio R1' ],
4049
+ 'Gigabyte RIO R1' => [ 'Gigabyte', 'GSmart Rio R1' ],
4050
+ 'Rio R1' => [ 'Gigabyte', 'GSmart Rio R1' ],
4051
+ 'GSmart Roma R2' => [ 'Gigabyte', 'GSmart Roma R2' ],
4052
+ 'GSmart Rey R3' => [ 'Gigabyte', 'GSmart Rey R3' ],
4053
+ 'GSmart Saga S3' => [ 'Gigabyte', 'GSmart Saga S3' ],
4054
+ 'GSmart Sierra S1' => [ 'Gigabyte', 'GSmart Sierra S1' ],
4055
+ 'GSmart Tuku T2' => [ 'Gigabyte', 'GSmart Tuku T2' ],
4056
+ 'GSmart T4' => [ 'Gigabyte', 'GSmart T4' ],
4057
+ 'Gigabyte TB100' => [ 'Gigabyte', 'TB100', DeviceType::TABLET ],
4058
+ ],
4059
+
4060
+ 'Gigaset!!' => [
4061
+ 'Gigaset QV830' => [ 'Gigaset', 'QV830', DeviceType::TABLET ],
4062
+ 'Gigaset QV831' => [ 'Gigaset', 'QV831', DeviceType::TABLET ],
4063
+ 'Gigaset QV1030' => [ 'Gigaset', 'QV1030', DeviceType::TABLET ],
4064
+ ],
4065
+
4066
+ '80-1' => [ 'Gigaset', 'Maxwell 10', DeviceType::DECT ],
4067
+ 'SL930' => [ 'Gigaset', 'SL930', DeviceType::DECT ],
4068
+
4069
+ '(GIO-)?(GiONEE[- ])?A9$!' => [ 'Gionee', 'A9' ],
4070
+ '(GIO-)?(GiONEE[- ])?C500!' => [ 'Gionee', 'C500' ],
4071
+ '(GIO-)?(GiONEE[- ])?C600!' => [ 'Gionee', 'C600' ],
4072
+ '(GIO-)?(GiONEE[- ])?C610!' => [ 'Gionee', 'C610' ],
4073
+ '(GIO-)?(GiONEE[- ])?C620!' => [ 'Gionee', 'C620' ],
4074
+ '(GIO-)?(GiONEE[- ])?C700!' => [ 'Gionee', 'C700' ],
4075
+ '(GIO-)?(GiONEE[- ])?C800!' => [ 'Gionee', 'C800' ],
4076
+ '(GIO-)?(GiONEE[- ])?Dream D1!' => [ 'Gionee', 'Dream D1' ],
4077
+ '(GIO-)?(GiONEE[- ])?E3T!' => [ 'Gionee', 'E3T' ],
4078
+ '(GIO-)?(GiONEE[- ])?E3$!' => [ 'Gionee', 'E3' ],
4079
+ '(GIO-)?(GiONEE[- ])?E5$!' => [ 'Gionee', 'E5' ],
4080
+ '(GIO-)?(GiONEE[- ])?E6mini!' => [ 'Gionee', 'E6 mini' ],
4081
+ '(GIO-)?(GiONEE[- ])?E6$!' => [ 'Gionee', 'E6' ],
4082
+ '(GIO-)?(GiONEE[- ])?E6T$!' => [ 'Gionee', 'E6T' ],
4083
+ '(GIO-)?(GiONEE[- ])?E7$!' => [ 'Gionee', 'E7' ],
4084
+ '(GIO-)?(GiONEE[- ])?F103!' => [ 'Gionee', 'F103' ],
4085
+ '(GIO-)?(GiONEE[- ])?F301!' => [ 'Gionee', 'F301' ],
4086
+ '(GIO-)?(GiONEE[- ])?GN5001!' => [ 'Gionee', 'GN5001' ],
4087
+ '(GIO-)?(GiONEE[- ])?GN5002!' => [ 'Gionee', 'GN5002' ],
4088
+ '(GIO-)?(GiONEE[- ])?GN8001!' => [ 'Gionee', 'GN8001' ],
4089
+ '(GIO-)?(GiONEE[- ])?GN9000!' => [ 'Gionee', 'GN9000' ],
4090
+ '(GIO-)?(GiONEE[- ])?GN9001!' => [ 'Gionee', 'GN9001' ],
4091
+ '(GIO-)?(GiONEE[- ])?GN9002!' => [ 'Gionee', 'GN9002' ],
4092
+ '(GIO-)?(GiONEE[- ])?GN9004!' => [ 'Gionee', 'GN9004' ],
4093
+ '(GIO-)?(GiONEE[- ])?GN9005!' => [ 'Gionee', 'GN9005' ],
4094
+ '(GIO-)?(GiONEE[- ])?GN9006!' => [ 'Gionee', 'GN9006' ],
4095
+ '(GIO-)?(GiONEE[- ])?GN9007!' => [ 'Gionee', 'GN9007' ],
4096
+ '(GIO-)?(GiONEE[- ])?GN9008!' => [ 'Gionee', 'GN9008' ],
4097
+ '(GIO-)?(GiONEE[- ])?GN9010!' => [ 'Gionee', 'GN9010' ],
4098
+ '(GIO-)?(GiONEE[- ])?GN100T!' => [ 'Gionee', 'GN100T' ],
4099
+ '(GIO-)?(GiONEE[- ])?GN100!' => [ 'Gionee', 'GN100' ],
4100
+ '(GIO-)?(GiONEE[- ])?GN105!' => [ 'Gionee', 'GN105' ],
4101
+ '(GIO-)?(GiONEE[- ])?GN106!' => [ 'Gionee', 'GN106' ],
4102
+ '(GIO-)?(GiONEE[- ])?GN107!' => [ 'Gionee', 'GN107' ],
4103
+ '(GIO-)?(GiONEE[- ])?GN108!' => [ 'Gionee', 'GN108' ],
4104
+ '(GIO-)?(GiONEE[- ])?GN109!' => [ 'Gionee', 'GN109' ],
4105
+ '(GIO-)?(GiONEE[- ])?GN135!' => [ 'Gionee', 'GN135' ],
4106
+ '(GIO-)?(GiONEE[- ])?GN136!' => [ 'Gionee', 'GN136' ],
4107
+ '(GIO-)?(GiONEE[- ])?GN137!' => [ 'Gionee', 'GN137' ],
4108
+ '(GIO-)?(GiONEE[- ])?GN139!' => [ 'Gionee', 'GN139' ],
4109
+ '(GIO-)?(GiONEE[- ])?GN150!' => [ 'Gionee', 'GN150' ],
4110
+ '(GIO-)?(GiONEE[- ])?GN151!' => [ 'Gionee', 'GN151' ],
4111
+ '(GIO-)?(GiONEE[- ])?GN152!' => [ 'Gionee', 'GN152' ],
4112
+ '(GIO-)?(GiONEE[- ])?GN160T!' => [ 'Gionee', 'GN160T' ],
4113
+ '(GIO-)?(GiONEE[- ])?GN160!' => [ 'Gionee', 'GN160' ],
4114
+ '(GIO-)?(GiONEE[- ])?GN168T!' => [ 'Gionee', 'GN168T' ],
4115
+ '(GIO-)?(GiONEE[- ])?GN170!' => [ 'Gionee', 'GN170' ],
4116
+ '(GIO-)?(GiONEE[- ])?GN180!' => [ 'Gionee', 'GN180' ],
4117
+ '(GIO-)?(GiONEE[- ])?GN181!' => [ 'Gionee', 'GN181' ],
4118
+ '(GIO-)?(GiONEE[- ])?GN200!' => [ 'Gionee', 'GN200' ],
4119
+ '(GIO-)?(GiONEE[- ])?GN205!' => [ 'Gionee', 'GN205' ],
4120
+ '(GIO-)?(GiONEE[- ])?GN210!' => [ 'Gionee', 'GN210' ],
4121
+ '(GIO-)?(GiONEE[- ])?GN305!' => [ 'Gionee', 'GN305' ],
4122
+ '(GIO-)?(GiONEE[- ])?GN320!' => [ 'Gionee', 'GN320' ],
4123
+ '(GIO-)?(GiONEE[- ])?GN360!' => [ 'Gionee', 'GN360' ],
4124
+ '(GIO-)?(GiONEE[- ])?GN380!' => [ 'Gionee', 'GN380' ],
4125
+ '(GIO-)?(GiONEE[- ])?GN600!' => [ 'Gionee', 'GN600' ],
4126
+ '(GIO-)?(GiONEE[- ])?GN700T!' => [ 'Gionee', 'GN700T' ],
4127
+ '(GIO-)?(GiONEE[- ])?GN700W!' => [ 'Gionee', 'GN700W' ],
4128
+ '(GIO-)?(GiONEE[- ])?GN705T!' => [ 'Gionee', 'GN705T' ],
4129
+ '(GIO-)?(GiONEE[- ])?GN705W!' => [ 'Gionee', 'GN705W' ],
4130
+ '(GIO-)?(GiONEE[- ])?GN706L!' => [ 'Gionee', 'GN706L' ],
4131
+ '(GIO-)?(GiONEE[- ])?GN708T!' => [ 'Gionee', 'GN708T' ],
4132
+ 'GN 708T' => [ 'Gionee', 'GN708T' ],
4133
+ '(GIO-)?(GiONEE[- ])?GN708W!' => [ 'Gionee', 'GN708W' ],
4134
+ 'GPLUS GN708W' => [ 'Gionee', 'GN708W' ],
4135
+ '(GIO-)?(GiONEE[- ])?GN787!' => [ 'Gionee', 'GN787' ],
4136
+ '(GIO-)?(GiONEE[- ])?GN800!' => [ 'Gionee', 'GN800' ],
4137
+ '(GIO-)?(GiONEE[- ])?GN810!' => [ 'Gionee', 'GN810' ],
4138
+ '(GIO-)?(GiONEE[- ])?GN818T!' => [ 'Gionee', 'GN818T' ],
4139
+ '(GIO-)?(GiONEE[- ])?GN858!' => [ 'Gionee', 'GN858' ],
4140
+ '(GIO-)?(GiONEE[- ])?GN868!' => [ 'Gionee', 'GN868' ],
4141
+ '(GIO-)?(GiONEE[- ])?GN878!' => [ 'Gionee', 'GN878' ],
4142
+ 'Gionee M1' => [ 'Gionee', 'M1' ],
4143
+ 'Gionee M2' => [ 'Gionee', 'M2' ],
4144
+ 'Gionee M3S' => [ 'Gionee', 'M3S' ],
4145
+ 'Gionee M5' => [ 'Gionee', 'M5' ],
4146
+ 'GPLUS N809' => [ 'Gionee', 'N809' ],
4147
+ '(GIO-)?(GiONEE[- ])?S101!' => [ 'Gionee', 'S101' ],
4148
+ 'GiONEE TD500' => [ 'Gionee', 'TD500' ],
4149
+ '(GIO-)?(GiONEE[- ])?V182!' => [ 'Gionee', 'V182' ],
4150
+ '(GIO-)?(GiONEE[- ])?V185!' => [ 'Gionee', 'V185' ],
4151
+ '(GIO-)?(GiONEE[- ])?V188!' => [ 'Gionee', 'V188' ],
4152
+ '(GIO-)?(GiONEE[- ])?W800!' => [ 'Gionee', 'W800' ],
4153
+ '(GIO-)?(GiONEE[- ])?X817!' => [ 'Gionee', 'X817' ],
4154
+ '(GIO-)?(GiONEE[- ])?Ctrl V1!' => [ 'Gionee', 'CTRL V1' ],
4155
+ '(GIO-)?(GiONEE[- ])?Ctrl V2!' => [ 'Gionee', 'CTRL V2' ],
4156
+ '(GIO-)?(GiONEE[- ])?Ctrl V3!' => [ 'Gionee', 'CTRL V3' ],
4157
+ '(GIO-)?(GiONEE[- ])?Ctrl V4!' => [ 'Gionee', 'CTRL V4' ],
4158
+ '(GIO-)?(GiONEE[- ])?Ctrl V5!' => [ 'Gionee', 'CTRL V5' ],
4159
+ '(GIO-)?(GiONEE[- ])?Pioneer P1!' => [ 'Gionee', 'Pioneer P1' ],
4160
+ '(GIO-)?(GiONEE[- ])?Pioneer P2!' => [ 'Gionee', 'Pioneer P2' ],
4161
+ '(GIO-)?(GiONEE[- ])?Pioneer P3!' => [ 'Gionee', 'Pioneer P3' ],
4162
+ '(GIO-)?(GiONEE[- ])?Pioneer P4!' => [ 'Gionee', 'Pioneer P4' ],
4163
+ 'Gionee P3' => [ 'Gionee', 'Pioneer P3' ],
4164
+ 'Gionee P4' => [ 'Gionee', 'Pioneer P4' ],
4165
+ 'GiONEE S7' => [ 'Gionee', 'Elife S7' ],
4166
+ '(GIO-)?(GiONEE[- ])?Gpad G1!' => [ 'Gionee', 'GPAD G1', DeviceType::TABLET ],
4167
+ '(GIO-)?(GiONEE[- ])?Gpad G2!' => [ 'Gionee', 'GPAD G2', DeviceType::TABLET ],
4168
+ '(GIO-)?(GiONEE[- ])?Gpad G3!' => [ 'Gionee', 'GPAD G3', DeviceType::TABLET ],
4169
+ 'GL-900' => [ 'GlobusGPS', 'GL-900', DeviceType::GPS ],
4170
+
4171
+ 'GLX!!' => [
4172
+ 'GLX Jet' => [ 'GLX', 'Jet', DeviceType::TABLET ],
4173
+ 'GLX Luster a' => [ 'GLX', 'Luster', DeviceType::TABLET ],
4174
+ 'GLX SpiderI' => [ 'GLX', 'Spider', DeviceType::TABLET ],
4175
+ ],
4176
+
4177
+ 'GOCL!!' => [
4178
+ 'GOCLEVER ANDROID BOX 500' => [ 'Goclever', 'Android Box 500', ],
4179
+ 'GOCLEVER' => [ 'Goclever', 'TAB', DeviceType::TABLET ],
4180
+ 'GOCLEVER TAB A73' => [ 'Goclever', 'TAB A73', DeviceType::TABLET ],
4181
+ 'GOCLEVER TAB A93' => [ 'Goclever', 'TAB A93', DeviceType::TABLET ],
4182
+ 'GOCLEVER TAB A93.2' => [ 'Goclever', 'TAB A93', DeviceType::TABLET ],
4183
+ 'GOCLEVER TAB A101' => [ 'Goclever', 'TAB A101', DeviceType::TABLET ],
4184
+ 'GOCLEVER TAB A103' => [ 'Goclever', 'TAB A103', DeviceType::TABLET ],
4185
+ 'GOCLEVER A103' => [ 'Goclever', 'TAB A103', DeviceType::TABLET ],
4186
+ 'GOCLEVER TAB A104!' => [ 'Goclever', 'TAB A104', DeviceType::TABLET ],
4187
+ 'GOCLEVER TAB A971' => [ 'Goclever', 'TAB A971', DeviceType::TABLET ],
4188
+ 'GOCLEVER TAB A972BK' => [ 'Goclever', 'TAB A972', DeviceType::TABLET ],
4189
+ 'GOCLEVER TAB I71' => [ 'Goclever', 'TAB I71', DeviceType::TABLET ],
4190
+ 'GOCLEVER TAB M703G' => [ 'Goclever', 'TAB M703G', DeviceType::TABLET ],
4191
+ 'GOCLEVER TAB M713G' => [ 'Goclever', 'TAB M713G', DeviceType::TABLET ],
4192
+ 'GOCLEVER TAB M723G' => [ 'Goclever', 'TAB M723G', DeviceType::TABLET ],
4193
+ 'GOCLEVER TAB M813G' => [ 'Goclever', 'TAB M813G', DeviceType::TABLET ],
4194
+ 'GOCLEVER TAB R70' => [ 'Goclever', 'TAB R70', DeviceType::TABLET ],
4195
+ 'GOCLEVER TAB R76.1' => [ 'Goclever', 'TAB R76', DeviceType::TABLET ],
4196
+ 'GOCLEVER TAB R104' => [ 'Goclever', 'TAB R104', DeviceType::TABLET ],
4197
+ 'GOCLEVER TAB R106' => [ 'Goclever', 'TAB R106', DeviceType::TABLET ],
4198
+ 'GOCLEVER TAB T75' => [ 'Goclever', 'TAB T75', DeviceType::TABLET ],
4199
+ 'GOCLEVER TAB T76' => [ 'Goclever', 'TAB T76', DeviceType::TABLET ],
4200
+ 'GOCLEVER TAB 9300' => [ 'Goclever', 'TAB 9300', DeviceType::TABLET ],
4201
+ 'GOCLM7000KD' => [ 'Goclever', 'Terra 70', DeviceType::TABLET ],
4202
+ 'GOCLEVER HYBRID' => [ 'Goclever', 'Hybrid', DeviceType::TABLET ],
4203
+ 'GOCLEVER NETBOOK I102' => [ 'Goclever', 'Netbook I102' ],
4204
+ 'GOCLEVER NETBOOK R103' => [ 'Goclever', 'Netbook R103' ],
4205
+ ],
4206
+
4207
+ 'ARIES 101' => [ 'Goclever', 'ARIES 101', DeviceType::TABLET ],
4208
+ 'ARIES 785' => [ 'Goclever', 'ARIES 785', DeviceType::TABLET ],
4209
+ 'INSIGNIA 5' => [ 'Goclever', 'INSIGNIA 5' ],
4210
+ 'INSIGNIA 5X' => [ 'Goclever', 'INSIGNIA 5X' ],
4211
+ 'QUANTUM 4' => [ 'Goclever', 'QUANTUM 4' ],
4212
+ 'QUANTUM 700m' => [ 'Goclever', 'QUANTUM 700M' ],
4213
+ 'QUANTUM 1010N' => [ 'Goclever', 'QUANTUM 1010N' ],
4214
+
4215
+ 'GO Live!!' => [
4216
+ 'GO Live S1' => [ 'GoLive', 'S1' ],
4217
+ 'GO Live Dual Core' => [ 'GoLive', 'Dual Core' ],
4218
+ ],
4219
+
4220
+ 'GOOPHONE!!' => [
4221
+ 'GOOPHONE i5C' => [ 'Goophone', 'i5C' ],
4222
+ 'GOOPHONE i5S' => [ 'Goophone', 'i5S' ],
4223
+ 'Goophone i9' => [ 'Goophone', 'i9' ],
4224
+ 'GOOPHONE M3+' => [ 'Goophone', 'M3+' ],
4225
+ 'GooPhone S5 Pro' => [ 'Goophone', 'S5 Pro' ],
4226
+ 'GOOPHONE X1' => [ 'Goophone', 'X1' ],
4227
+ 'GOOPHONE X7' => [ 'Goophone', 'X7' ],
4228
+ ],
4229
+
4230
+ 'CHONG!!' => [
4231
+ 'GHONG T618' => [ 'Guohong', 'T618' ],
4232
+ 'GHONGV10' => [ 'Guohong', 'V10' ],
4233
+ 'GHONGV12' => [ 'Guohong', 'V12' ],
4234
+ 'GHONG W100' => [ 'Guohong', 'W100' ],
4235
+ ],
4236
+
4237
+ 'M758A' => [ 'Gpad', 'M758A', DeviceType::TABLET ],
4238
+
4239
+ 'GO !!' => [
4240
+ 'GO M1' => [ 'GreenOrange', 'M1' ],
4241
+ 'GO M2' => [ 'GreenOrange', 'M2' ],
4242
+ 'GO M2S' => [ 'GreenOrange', 'M2S' ],
4243
+ 'GO M3' => [ 'GreenOrange', 'M3' ],
4244
+ 'GO N1' => [ 'GreenOrange', 'N1' ],
4245
+ 'GO N1-Y' => [ 'GreenOrange', 'N1-Y' ],
4246
+ 'GO N1S' => [ 'GreenOrange', 'N1S' ],
4247
+ 'GO N2' => [ 'GreenOrange', 'N2' ],
4248
+ 'GO NX' => [ 'GreenOrange', 'NX' ],
4249
+ 'GO S2' => [ 'GreenOrange', 'S2' ],
4250
+ ],
4251
+
4252
+ 'GR-TB!!' => [
4253
+ 'GR-TB7' => [ 'Grundig', 'Style Tab GR-TB7', DeviceType::TABLET ],
4254
+ 'GR-TB10S' => [ 'Grundig', 'Style Tab GR-TB10S', DeviceType::TABLET ],
4255
+ ],
4256
+
4257
+ 'GVON 898' => [ 'Gvon', 'Aero 898' ],
4258
+
4259
+ '(Haier[- ])?H[ETW]- ?[A-Z][0-9]!!' => [
4260
+ '(Haier[- ])?HE-E80!' => [ 'Haier', 'E80' ],
4261
+ '(Haier[- ])?HE-E617!' => [ 'Haier', 'E617' ],
4262
+ '(Haier[- ])?HE-E700!' => [ 'Haier', 'E700' ],
4263
+ '(Haier[- ])?HE-E760!' => [ 'Haier', 'E760' ],
4264
+ '(Haier[- ])?HT-I600!' => [ 'Haier', 'I600' ],
4265
+ '(Haier[- ])?HT-I617!' => [ 'Haier', 'I617' ],
4266
+ '(Haier[- ])?HT-I619!' => [ 'Haier', 'I619' ],
4267
+ '(Haier[- ])?HT-I710!' => [ 'Haier', 'I710' ],
4268
+ '(Haier[- ])?HT-I736!' => [ 'Haier', 'I736' ],
4269
+ '(Haier[- ])?HT-I756!' => [ 'Haier', 'I756' ],
4270
+ '(Haier[- ])?HT-I816!' => [ 'Haier', 'I816' ],
4271
+ '(Haier[- ])?HT-I860!' => [ 'Haier', 'I860' ],
4272
+ '(Haier[- ])?HT-I928!' => [ 'Haier', 'I928' ],
4273
+ '(Haier[- ])?HW-N66W!' => [ 'Haier', 'N66W' ],
4274
+ '(Haier[- ])?HW-N86W!' => [ 'Haier', 'N86W' ],
4275
+ '(Haier[- ])?(HW-)?N88W!' => [ 'Haier', 'N88W' ],
4276
+ '(Haier[- ])?HW-N620E!' => [ 'Haier', 'N620E' ],
4277
+ '(Haier[- ])?HW-N800!' => [ 'Haier', 'N800' ],
4278
+ '(Haier[- ])?(HW-)?W716!' => [ 'Haier', 'W716' ],
4279
+ '(Haier[- ])?(HW-)?W718!' => [ 'Haier', 'W718' ],
4280
+ '(Haier[- ])?HW-W820!' => [ 'Haier', 'W820' ],
4281
+ '(Haier[- ])?HW-W850!' => [ 'Haier', 'W850' ],
4282
+ '(Haier[- ])?HW-W860!' => [ 'Haier', 'W860' ],
4283
+ '(Haier[- ])?HW-W910!' => [ 'Haier', 'W910' ],
4284
+ ],
4285
+
4286
+ 'Haier-W700' => [ 'Haier', 'W700' ],
4287
+ 'W757' => [ 'Haier', 'W757' ],
4288
+ 'Haier-SY0880' => [ 'Haier', 'SY0880' ],
4289
+ '(LE[0-9]{2,2}[BMU][0-9]{4,4}[A-Z]+)!' => [ 'Haier', '$1', DeviceType::TELEVISION ],
4290
+
4291
+ 'Zio P2' => [ 'Haier', 'Zio P2' ],
4292
+
4293
+ 'PAD[0-9]{3,3}!!' => [
4294
+ 'PAD511' => [ 'Haier', 'Pad 511', DeviceType::TABLET ],
4295
+ 'PAD711' => [ 'Haier', 'Pad 711', DeviceType::TABLET ],
4296
+ 'PAD722' => [ 'Haier', 'Pad 722', DeviceType::TABLET ],
4297
+ 'PAD821' => [ 'Haier', 'Pad 821', DeviceType::TABLET ],
4298
+ 'PAD822' => [ 'Haier', 'Pad 822', DeviceType::TABLET ],
4299
+ ],
4300
+
4301
+ 'I9220' => [ 'Haipai', 'I9220' ],
4302
+ 'GT-i9377' => [ 'Haipai', 'I9377' ],
4303
+ 'X710d' => [ 'Haipai', 'X710D' ],
4304
+ 'X720D' => [ 'Haipai', 'X720D' ],
4305
+
4306
+ 'SN[0-9]!!' => [
4307
+ 'SN10T1' => [ 'HANNspree', 'HANNSpad SN10T1', DeviceType::TABLET ],
4308
+ 'SN10T2' => [ 'HANNspree', 'HANNSpad SN10T2', DeviceType::TABLET ],
4309
+ 'SN14T71' => [ 'HANNspree', 'HANNSpad SN14T71', DeviceType::TABLET ],
4310
+ 'SN97T41W' => [ 'HANNspree', 'HANNSpad SN97T41W', DeviceType::TABLET ],
4311
+ 'SN1AT71W(B)' => [ 'HANNspree', 'HANNSpad SN1AT71WB', DeviceType::TABLET ],
4312
+ ],
4313
+
4314
+ 'HannsComb' => [ 'HANNspree', 'HANNSpad', DeviceType::TABLET ],
4315
+ 'Hannspadd' => [ 'HANNspree', 'HANNSpad', DeviceType::TABLET ],
4316
+
4317
+ '(EVAS )?EVERCOSS[- ]A!!' => [
4318
+ 'EVERCOSS A5' => [ 'Harga', 'EVERCOSS A5' ],
4319
+ 'EVERCOSS A5A*' => [ 'Harga', 'EVERCOSS A5A' ],
4320
+ 'EVERCOSS A5C' => [ 'Harga', 'EVERCOSS A5C' ],
4321
+ 'EVERCOSS A5K' => [ 'Harga', 'EVERCOSS A5K' ],
4322
+ 'EVERCOSS A5P*' => [ 'Harga', 'EVERCOSS A5P' ],
4323
+ 'EVERCOSS A5V' => [ 'Harga', 'EVERCOSS A5V' ],
4324
+ 'EVERCOSS A5Z' => [ 'Harga', 'EVERCOSS A5Z' ],
4325
+ 'EVERCOSS A7A' => [ 'Harga', 'EVERCOSS A7A' ],
4326
+ 'EVERCOSS A7A*' => [ 'Harga', 'EVERCOSS A7A' ],
4327
+ 'EVERCOSS A7B' => [ 'Harga', 'EVERCOSS A7B' ],
4328
+ 'EVERCOSS A7F' => [ 'Harga', 'EVERCOSS A7F' ],
4329
+ 'EVERCOSS A7K' => [ 'Harga', 'EVERCOSS A7K' ],
4330
+ 'EVERCOSS A7L' => [ 'Harga', 'EVERCOSS A7L' ],
4331
+ 'EVERCOSS A7N' => [ 'Harga', 'EVERCOSS A7N' ],
4332
+ 'EVERCOSS A7R' => [ 'Harga', 'EVERCOSS A7R' ],
4333
+ 'EVERCOSS A7S' => [ 'Harga', 'EVERCOSS A7S' ],
4334
+ 'EVAS evercoss-a7s' => [ 'Harga', 'EVERCOSS A7S' ],
4335
+ 'EVERCOSS A7T' => [ 'Harga', 'EVERCOSS A7T' ],
4336
+ 'EVERCOSS A7T*' => [ 'Harga', 'EVERCOSS A7T' ],
4337
+ 'EVERCOSS A7V' => [ 'Harga', 'EVERCOSS A7V' ],
4338
+ 'EVERCOSS A7V+' => [ 'Harga', 'EVERCOSS A7V' ],
4339
+ 'EVERCOSS A7Z' => [ 'Harga', 'EVERCOSS A7Z' ],
4340
+ 'EVERCOSS A28A' => [ 'Harga', 'EVERCOSS A28A' ],
4341
+ 'EVERCOSS A28M' => [ 'Harga', 'EVERCOSS A28M' ],
4342
+ 'EVERCOSS A65' => [ 'Harga', 'EVERCOSS A65' ],
4343
+ 'Evercoss A66A' => [ 'Harga', 'EVERCOSS A66A' ],
4344
+ 'EVERCOSS A66S' => [ 'Harga', 'EVERCOSS A66S' ],
4345
+ 'EVERCOSS A66V' => [ 'Harga', 'EVERCOSS A66V' ],
4346
+ 'EVERCOSS A74A' => [ 'Harga', 'EVERCOSS A74A' ],
4347
+ 'EVERCOSS A74C' => [ 'Harga', 'EVERCOSS A74C' ],
4348
+ 'EVERCOSS A74D' => [ 'Harga', 'EVERCOSS A74D' ],
4349
+ 'EVERCOSS-A75L' => [ 'Harga', 'EVERCOSS A75L' ],
4350
+ 'EVERCOSS A75W' => [ 'Harga', 'EVERCOSS A75W' ],
4351
+ 'EVERCOSS A80A' => [ 'Harga', 'EVERCOSS A80A' ],
4352
+ 'EVERCOSS A200' => [ 'Harga', 'EVERCOSS A200' ],
4353
+ 'EVERCOSS AT1A' => [ 'Harga', 'EVERCOSS AT1A', DeviceType::TABLET ],
4354
+ 'EVERCOSS AT1A*' => [ 'Harga', 'EVERCOSS AT1A', DeviceType::TABLET ],
4355
+ 'EVERCOSS AT1G' => [ 'Harga', 'EVERCOSS AT1G', DeviceType::TABLET ],
4356
+ 'EVERCOSS AT8D' => [ 'Harga', 'EVERCOSS AT8D', DeviceType::TABLET ],
4357
+ ],
4358
+
4359
+ 'AT1A*' => [ 'Harga', 'EVERCOSS AT1A', DeviceType::TABLET ],
4360
+ 'AT1C' => [ 'Harga', 'EVERCOSS AT1C', DeviceType::TABLET ],
4361
+ 'AT1C*' => [ 'Harga', 'EVERCOSS AT1C', DeviceType::TABLET ],
4362
+ 'AT1D' => [ 'Harga', 'EVERCOSS AT1D', DeviceType::TABLET ],
4363
+ 'AT1G*' => [ 'Harga', 'EVERCOSS AT1G', DeviceType::TABLET ],
4364
+
4365
+ 'MITO!!' => [
4366
+ 'MITO A10' => [ 'Harga', 'MITO A10' ],
4367
+ 'MITO A15' => [ 'Harga', 'MITO A15' ],
4368
+ 'MITO A18' => [ 'Harga', 'MITO A18' ],
4369
+ 'MITO A30' => [ 'Harga', 'MITO A30' ],
4370
+ 'MITO A38' => [ 'Harga', 'MITO A38' ],
4371
+ 'MITO A50' => [ 'Harga', 'MITO A50' ],
4372
+ 'MITO A55' => [ 'Harga', 'MITO A55' ],
4373
+ 'MITO A60' => [ 'Harga', 'MITO A60' ],
4374
+ 'MITO A68' => [ 'Harga', 'MITO A68' ],
4375
+ 'MITO 68' => [ 'Harga', 'MITO A68' ],
4376
+ 'MITO A72' => [ 'Harga', 'MITO A72' ],
4377
+ 'MITO A75' => [ 'Harga', 'MITO A75' ],
4378
+ 'MITO A77' => [ 'Harga', 'MITO A77' ],
4379
+ 'MITO A78' => [ 'Harga', 'MITO A78' ],
4380
+ 'MITO A80' => [ 'Harga', 'MITO A80' ],
4381
+ 'MITO A95' => [ 'Harga', 'MITO A95' ],
4382
+ 'MITO A99' => [ 'Harga', 'MITO A99' ],
4383
+ 'MITO A100' => [ 'Harga', 'MITO A100' ],
4384
+ 'MITO A120' => [ 'Harga', 'MITO A120' ],
4385
+ 'MITO A180' => [ 'Harga', 'MITO A180' ],
4386
+ 'MITO A200' => [ 'Harga', 'MITO A200' ],
4387
+ 'MITO A210' => [ 'Harga', 'MITO A210' ],
4388
+ 'MITO A220' => [ 'Harga', 'MITO A220' ],
4389
+ 'MITO A222' => [ 'Harga', 'MITO A222' ],
4390
+ 'MITO A250' => [ 'Harga', 'MITO A250' ],
4391
+ 'MITO A260' => [ 'Harga', 'MITO A260' ],
4392
+ 'MITO A300' => [ 'Harga', 'MITO A300' ],
4393
+ 'MITO A310' => [ 'Harga', 'MITO A310' ],
4394
+ 'MITO A313' => [ 'Harga', 'MITO A313' ],
4395
+ 'MITO A322' => [ 'Harga', 'MITO A322' ],
4396
+ 'MITO A330' => [ 'Harga', 'MITO A330' ],
4397
+ 'MITO A350' => [ 'Harga', 'MITO A350' ],
4398
+ 'MITO A355' => [ 'Harga', 'MITO A355' ],
4399
+ 'MITO A360' => [ 'Harga', 'MITO A360' ],
4400
+ 'MITO A363' => [ 'Harga', 'MITO A363' ],
4401
+ 'MITO A390' => [ 'Harga', 'MITO A390' ],
4402
+ 'MITO A660' => [ 'Harga', 'MITO A660' ],
4403
+ 'MITO A700' => [ 'Harga', 'MITO A700' ],
4404
+ 'MITO A750' => [ 'Harga', 'MITO A750' ],
4405
+ 'MITO A780' => [ 'Harga', 'MITO A780' ],
4406
+ 'MITOA800' => [ 'Harga', 'MITO A800' ],
4407
+ 'MITO A810' => [ 'Harga', 'MITO A810' ],
4408
+ 'MITO A850' => [ 'Harga', 'MITO A850' ],
4409
+ 'MITO T10' => [ 'Harga', 'MITO T10', DeviceType::TABLET ],
4410
+ 'MITO T77' => [ 'Harga', 'MITO T77', DeviceType::TABLET ],
4411
+ 'MITO T80' => [ 'Harga', 'MITO T80', DeviceType::TABLET ],
4412
+ 'MITO T81' => [ 'Harga', 'MITO T81', DeviceType::TABLET ],
4413
+ 'MITO T100' => [ 'Harga', 'MITO T100', DeviceType::TABLET ],
4414
+ 'MITO t300' => [ 'Harga', 'MITO T300', DeviceType::TABLET ],
4415
+ 'MITO T330' => [ 'Harga', 'MITO T330', DeviceType::TABLET ],
4416
+ 'MITO t510' => [ 'Harga', 'MITO T510', DeviceType::TABLET ],
4417
+ 'MITO t550' => [ 'Harga', 'MITO T550', DeviceType::TABLET ],
4418
+ 'MITO T660' => [ 'Harga', 'MITO T660', DeviceType::TABLET ],
4419
+ 'MITO T777' => [ 'Harga', 'MITO T777', DeviceType::TABLET ],
4420
+ 'MITO T888' => [ 'Harga', 'MITO T888', DeviceType::TABLET ],
4421
+ 'MITO T979' => [ 'Harga', 'MITO T979', DeviceType::TABLET ],
4422
+ ],
4423
+
4424
+ 'Snexian!!' => [
4425
+ 'Snexian Mi320' => [ 'Harga', 'Nexian Chronos Mi320' ],
4426
+ 'Snexian Mi430' => [ 'Harga', 'Nexian Xtreme2 Mi430' ],
4427
+ ],
4428
+
4429
+ 'Mi438S' => [ 'Harga', 'Nexian Journey One Mi438' ],
4430
+ 'U1' => [ 'HCL', 'ME U1', DeviceType::TABLET ],
4431
+ 'X1' => [ 'HCL', 'ME X1', DeviceType::TABLET ],
4432
+ 'Y2' => [ 'HCL', 'ME Y2', DeviceType::TABLET ],
4433
+ 'Connect-2G-2.0' => [ 'HCL', 'ME Connect 2G 2.0', DeviceType::TABLET ],
4434
+ 'H701' => [ 'Hedy', 'H701' ],
4435
+
4436
+ 'HEDY!!' => [
4437
+ 'HEDY H701' => [ 'Hedy', 'H701' ],
4438
+ 'HEDY H712' => [ 'Hedy', 'H712' ],
4439
+ 'HEDY H770' => [ 'Hedy', 'H770' ],
4440
+ 'HEDY S801' => [ 'Hedy', 'S801' ],
4441
+ 'HEDY S803' => [ 'Hedy', 'S803' ],
4442
+ 'HEDY T700' => [ 'Hedy', 'T700' ],
4443
+ ],
4444
+
4445
+ '9300+' => [ 'Hero', '9300+' ],
4446
+ 'H2000+' => [ 'Hero', 'H2000+' ],
4447
+ 'H7100' => [ 'Hero', 'H7100' ],
4448
+ 'H7500+' => [ 'Hero', 'H7500+' ],
4449
+ 'HERO H7500+' => [ 'Hero', 'H7500+' ],
4450
+ 'H9500' => [ 'Hero', 'H9500' ],
4451
+ 'MID Ser(ai|ia)ls!' => [ 'Herotab', 'C8', DeviceType::TABLET ],
4452
+
4453
+ '(Highscreen|Alpha|Bay|Cosmo|Explosion|Power|Prime|Zera)!!' => [
4454
+ 'Alpha Ice' => [ 'Highscreen', 'Alpha Ice' ],
4455
+ 'Alpha GT' => [ 'Highscreen', 'Alpha GT' ],
4456
+ 'Alpha GTR' => [ 'Highscreen', 'Alpha GTR' ],
4457
+ 'HIGHSCREEN GTR' => [ 'Highscreen', 'Alpha GTR' ],
4458
+ 'Alpha GTX' => [ 'Highscreen', 'Alpha GTX' ],
4459
+ 'Alpha R' => [ 'Highscreen', 'Alpha R' ],
4460
+ 'Alpha Rage' => [ 'Highscreen', 'Alpha Rage' ],
4461
+ 'Bay' => [ 'Highscreen', 'Bay' ],
4462
+ 'HighScreen Boost' => [ 'Highscreen', 'Boost' ],
4463
+ 'Cosmo' => [ 'Highscreen', 'Cosmo', DeviceType::TABLET ],
4464
+ 'COSMO DUO' => [ 'Highscreen', 'Cosmo Duo', DeviceType::TABLET ],
4465
+ 'Explosion' => [ 'Highscreen', 'Explosion' ],
4466
+ 'HIGHSCREEN Jet Duo' => [ 'Highscreen', 'Jet Duo', DeviceType::TABLET ],
4467
+ 'PowerFive' => [ 'Highscreen', 'Power Five' ],
4468
+ 'PowerFour' => [ 'Highscreen', 'Power Four' ],
4469
+ 'Power Ice' => [ 'Highscreen', 'Power Ice' ],
4470
+ 'Power Rage' => [ 'Highscreen', 'Power Rage' ],
4471
+ 'Prime L' => [ 'Highscreen', 'Prime L' ],
4472
+ 'Highscreen Spark' => [ 'Highscreen', 'Spark' ],
4473
+ 'ZeraF' => [ 'Highscreen', 'Zera F' ],
4474
+ 'Zera F' => [ 'Highscreen', 'Zera F' ],
4475
+ 'Zera f rev.S' => [ 'Highscreen', 'Zera F' ],
4476
+ 'Zera S' => [ 'Highscreen', 'Zera S' ],
4477
+ 'Zera S Rev.S' => [ 'Highscreen', 'Zera S' ],
4478
+ 'Zera-S-Power' => [ 'Highscreen', 'Zera S Power' ],
4479
+ ],
4480
+
4481
+ 'HLV-T!!' => [
4482
+ 'HLV-T701' => [ 'Hi-Level', 'HLV-T701', DeviceType::TABLET ],
4483
+ 'HLV-T702' => [ 'Hi-Level', 'HLV-T702', DeviceType::TABLET ],
4484
+ 'HLV-T704' => [ 'Hi-Level', 'HLV-T704', DeviceType::TABLET ],
4485
+ 'HLV-T707' => [ 'Hi-Level', 'HLV-T707', DeviceType::TABLET ],
4486
+ 'HLV-T1001W' => [ 'Hi-Level', 'HLV-T1001W', DeviceType::TABLET ],
4487
+ 'HLV-T1002W' => [ 'Hi-Level', 'HLV-T1002W', DeviceType::TABLET ],
4488
+ 'HLV-T9701' => [ 'Hi-Level', 'HLV-T9701', DeviceType::TABLET ],
4489
+ 'HLV-TN75' => [ 'Hi-Level', 'HLV-TN75', DeviceType::TABLET ],
4490
+ ],
4491
+
4492
+ 'HIKe!!' => [
4493
+ 'HIKe 716' => [ 'HIKe', 'Q1' ],
4494
+ 'HIKe 818' => [ 'HIKe', 'Pandora 2' ],
4495
+ 'HIKe 828' => [ 'HIKe', 'X1' ],
4496
+ 'HIKe 828A' => [ 'HIKe', 'X1' ],
4497
+ 'HIKe 848' => [ 'HIKe', 'X2' ],
4498
+ 'HIKe 868' => [ 'HIKe', 'Z1' ],
4499
+ ],
4500
+
4501
+ 'HILIVE H7' => [ 'Hilive', 'H7' ],
4502
+
4503
+ 'HS-[0-9]{1,2}DTB!!' => [
4504
+ 'HS-7DTB4!' => [ 'Hipstreet', 'Titan 7"', DeviceType::TABLET ],
4505
+ 'HS-7DTB25!' => [ 'Hipstreet', 'Titan 2 7"', DeviceType::TABLET ],
4506
+ 'HS-7DTB26!' => [ 'Hipstreet', 'Titan+ 7"', DeviceType::TABLET ],
4507
+ 'HS-7DTB27!' => [ 'Hipstreet', 'Titan+ 7"', DeviceType::TABLET ],
4508
+ 'HS-7DTB29!' => [ 'Hipstreet', 'Astro 7"', DeviceType::TABLET ],
4509
+ 'HS-7DTB39!' => [ 'Hipstreet', 'Titan 2 7"', DeviceType::TABLET ],
4510
+ 'HS-7DTB5!' => [ 'Hipstreet', 'Nova 7"', DeviceType::TABLET ],
4511
+ 'HS-7DTB6!' => [ 'Hipstreet', 'Aurora 7"', DeviceType::TABLET ],
4512
+ 'HS-785TB2!' => [ 'Hipstreet', 'Hyperion 7"', DeviceType::TABLET ],
4513
+ 'HS-785TB3!' => [ 'Hipstreet', 'i8', DeviceType::TABLET ],
4514
+ 'HS-8DTB!' => [ 'Hipstreet', 'Flash 8"', DeviceType::TABLET ],
4515
+ 'HS-9DTB4!' => [ 'Hipstreet', 'Flare 9"', DeviceType::TABLET ],
4516
+ 'HS-9DTB7!' => [ 'Hipstreet', 'Flare 2 9"', DeviceType::TABLET ],
4517
+ 'HS-9DTB37!' => [ 'Hipstreet', 'Flare 3 9"', DeviceType::TABLET ],
4518
+ 'HS-10DTB2!' => [ 'Hipstreet', 'Equinox 10"', DeviceType::TABLET ],
4519
+ 'HS-10DTB4!' => [ 'Hipstreet', 'Equinox 4 10"', DeviceType::TABLET ],
4520
+ 'HS-10DTB5!' => [ 'Hipstreet', 'Spectrum 10"', DeviceType::TABLET ],
4521
+ 'HS-10DTB8!' => [ 'Hipstreet', 'Equinox 3 10"', DeviceType::TABLET ],
4522
+ 'HS-10DTB12!' => [ 'Hipstreet', 'Phoenix 10"', DeviceType::TABLET ],
4523
+ ],
4524
+
4525
+ 'HS-[EFHITUX][0-9]!!' => [
4526
+ 'HS-X1' => [ 'Hisense', 'X1' ],
4527
+ 'HS-X5T' => [ 'Hisense', 'X5T' ],
4528
+ 'HS-X6C' => [ 'Hisense', 'X6C' ],
4529
+ 'HS-X8C' => [ 'Hisense', 'X8C' ],
4530
+ 'HS-X8T' => [ 'Hisense', 'X8T' ],
4531
+ 'HS-U8' => [ 'Hisense', 'U8' ],
4532
+ 'HS-U9' => [ 'Hisense', 'U9' ],
4533
+ 'HS-U98' => [ 'Hisense', 'U98' ],
4534
+ 'HS-U609' => [ 'Hisense', 'U609' ],
4535
+ 'HS-U800' => [ 'Hisense', 'U800' ],
4536
+ 'HS-U820' => [ 'Hisense', 'U820' ],
4537
+ 'HS-U850' => [ 'Hisense', 'U850' ],
4538
+ 'HS-U860' => [ 'Hisense', 'U860' ],
4539
+ 'HS-U909' => [ 'Hisense', 'U909' ],
4540
+ 'HS-U909B' => [ 'Hisense', 'U909B' ],
4541
+ 'HS-U912' => [ 'Hisense', 'U912' ],
4542
+ 'HS-U912C' => [ 'Hisense', 'U912C' ],
4543
+ 'HS-U930' => [ 'Hisense', 'U930' ],
4544
+ 'HS-U936' => [ 'Hisense', 'U936' ],
4545
+ 'HS-U939' => [ 'Hisense', 'U939' ],
4546
+ 'HS-U950' => [ 'Hisense', 'U950' ],
4547
+ 'HS-U958' => [ 'Hisense', 'U958' ],
4548
+ 'HS-U960Q' => [ 'Hisense', 'U960' ],
4549
+ 'HS-U966' => [ 'Hisense', 'U966' ],
4550
+ 'HS-U970' => [ 'Hisense', 'U970' ],
4551
+ 'HS-U971' => [ 'Hisense', 'U971' ],
4552
+ 'HS-U978' => [ 'Hisense', 'U978' ],
4553
+ 'HS-U980' => [ 'Hisense', 'U980' ],
4554
+ 'HS-U988' => [ 'Hisense', 'U988' ],
4555
+ 'HS-T9' => [ 'Hisense', 'T9' ],
4556
+ 'HS-T92' => [ 'Hisense', 'T92' ],
4557
+ 'HS-T96' => [ 'Hisense', 'T96' ],
4558
+ 'HS-T818' => [ 'Hisense', 'T818' ],
4559
+ 'HS-T820' => [ 'Hisense', 'T820' ],
4560
+ 'HS-T830' => [ 'Hisense', 'T830' ],
4561
+ 'HS-T909' => [ 'Hisense', 'T909' ],
4562
+ 'HS-T912' => [ 'Hisense', 'T912' ],
4563
+ 'HS-T928' => [ 'Hisense', 'T928' ],
4564
+ 'HS-T930' => [ 'Hisense', 'T930' ],
4565
+ 'HS-T950' => [ 'Hisense', 'T950' ],
4566
+ 'HS-T958' => [ 'Hisense', 'T958' ],
4567
+ 'HS-T959' => [ 'Hisense', 'T959' ],
4568
+ 'HS-T959S1' => [ 'Hisense', 'T959' ],
4569
+ 'HS-T967' => [ 'Hisense', 'T967' ],
4570
+ 'HS-T968' => [ 'Hisense', 'T968' ],
4571
+ 'HS-T970' => [ 'Hisense', 'T970' ],
4572
+ 'HS-T978' => [ 'Hisense', 'T978' ],
4573
+ 'HS-I630T' => [ 'Hisense', 'I630T' ],
4574
+ 'HS-H800T' => [ 'Hisense', 'H800T' ],
4575
+ 'HS-F1' => [ 'Hisense', 'F1' ],
4576
+ 'HS-F5180' => [ 'Hisense', 'F5180' ],
4577
+ 'HS-E86' => [ 'Hisense', 'E86' ],
4578
+ 'HS-E200T' => [ 'Hisense', 'E200T' ],
4579
+ 'HS-E260T' => [ 'Hisense', 'E260T' ],
4580
+ 'HS-E600M' => [ 'Hisense', 'E600M' ],
4581
+ 'HS-E620M' => [ 'Hisense', 'E620M' ],
4582
+ 'HS-E820' => [ 'Hisense', 'E820' ],
4583
+ 'HS-E830' => [ 'Hisense', 'E830' ],
4584
+ 'HS-E860' => [ 'Hisense', 'E860' ],
4585
+ 'HS-E909' => [ 'Hisense', 'E909' ],
4586
+ 'HS-E910' => [ 'Hisense', 'E910' ],
4587
+ 'HS-E912!' => [ 'Hisense', 'E912' ],
4588
+ 'HS-E913' => [ 'Hisense', 'E913' ],
4589
+ 'HS-E917' => [ 'Hisense', 'E917' ],
4590
+ 'HS-E920' => [ 'Hisense', 'E920' ],
4591
+ 'HS-E926' => [ 'Hisense', 'E926' ],
4592
+ 'HS-E930' => [ 'Hisense', 'E930' ],
4593
+ 'HS-E936' => [ 'Hisense', 'E936' ],
4594
+ 'HS-E956' => [ 'Hisense', 'E956' ],
4595
+ 'HS-E956Q' => [ 'Hisense', 'E956' ],
4596
+ 'HS-E968' => [ 'Hisense', 'E968' ],
4597
+ ],
4598
+
4599
+ 'HS-E[GT][0-9]{3,3}!!' => [
4600
+ 'HS-EG870' => [ 'Hisense', 'EG870' ],
4601
+ 'HS-EG900' => [ 'Hisense', 'EG900' ],
4602
+ 'HS-EG901' => [ 'Hisense', 'EG901' ],
4603
+ 'HS-EG902' => [ 'Hisense', 'EG902' ],
4604
+ 'HS-EG906' => [ 'Hisense', 'EG906' ],
4605
+ 'HS-EG909' => [ 'Hisense', 'EG909' ],
4606
+ 'HS-EG916' => [ 'Hisense', 'EG916' ],
4607
+ 'HS-EG929' => [ 'Hisense', 'EG929' ],
4608
+ 'HS-EG936D' => [ 'Hisense', 'EG936' ],
4609
+ 'HS-EG939' => [ 'Hisense', 'EG939' ],
4610
+ 'HS-EG950' => [ 'Hisense', 'EG950' ],
4611
+ 'HS-EG958' => [ 'Hisense', 'EG958' ],
4612
+ 'HS-EG966' => [ 'Hisense', 'EG966' ],
4613
+ 'HS-EG970' => [ 'Hisense', 'EG970' ],
4614
+ 'HS-EG971' => [ 'Hisense', 'EG971' ],
4615
+ 'HS-EG978' => [ 'Hisense', 'EG978' ],
4616
+ 'HS-EG980' => [ 'Hisense', 'EG980' ],
4617
+ 'HS-EG981' => [ 'Hisense', 'EG981' ],
4618
+ 'HS-ET919' => [ 'Hisense', 'ET919' ],
4619
+ ],
4620
+
4621
+ '(HS-)?Hisense!!' => [
4622
+ 'Hisense-U8' => [ 'Hisense', 'U8' ],
4623
+ 'Hisense U980' => [ 'Hisense', 'U980' ],
4624
+ 'Hisense T92' => [ 'Hisense', 'T92' ],
4625
+ 'Hisense I639T' => [ 'Hisense', 'I639T' ],
4626
+ 'Hisense I639M' => [ 'Hisense', 'I639M' ],
4627
+ 'Hisense-E360M' => [ 'Hisense', 'E360M' ],
4628
+ 'Hisense E602M' => [ 'Hisense', 'E602M' ],
4629
+ 'Hisense HS-E910' => [ 'Hisense', 'E910' ],
4630
+ 'Hisense EG909' => [ 'Hisense', 'EG909' ],
4631
+ 'HS-Hisense F20T' => [ 'Hisense', 'F20T' ],
4632
+ 'HS-Hisense I632T' => [ 'Hisense', 'I632T' ],
4633
+ 'HS-Hisense I635T' => [ 'Hisense', 'I635T' ],
4634
+ 'HS-Hisense I639T' => [ 'Hisense', 'I639T' ],
4635
+ 'HS-Hisense E602T' => [ 'Hisense', 'E602T' ],
4636
+ 'HS-Hisense E621T' => [ 'Hisense', 'E621T' ],
4637
+ 'HS-Hisense E625T' => [ 'Hisense', 'E625T' ],
4638
+ ],
4639
+
4640
+ 'T92' => [ 'Hisense', 'T92' ],
4641
+ 'E860' => [ 'Hisense', 'E860' ],
4642
+ 'EG98' => [ 'Hisense', 'EG98' ],
4643
+ 'EG680' => [ 'Hisense', 'EG680' ],
4644
+
4645
+ 'AD683G' => [ 'Hisense', 'EG909' ],
4646
+ 'EG968B' => [ 'Hisense', 'EG968B' ],
4647
+ 'E170BS' => [ 'Hisense', 'E170BS', DeviceType::TABLET ],
4648
+ 'Hisense AD686G' => [ 'Hisense', 'AD686G' ],
4649
+ 'E270BSA' => [ 'Hisense', 'Sero 7 Lite', DeviceType::TABLET ],
4650
+ 'M470BSA' => [ 'Hisense', 'Sero 7 Pro', DeviceType::TABLET ],
4651
+ 'M470BSE' => [ 'Hisense', 'Sero 7 Pro', DeviceType::TABLET ],
4652
+ 'E2281' => [ 'Hisense', 'Sero 8', DeviceType::TABLET ],
4653
+ 'xt880b' => [ 'Hisense', 'XT880', DeviceType::TELEVISION ],
4654
+ 'GX1210V TV' => [ 'Hisense', 'GX1210', DeviceType::TELEVISION ],
4655
+
4656
+ '(Hisense )?(LED[0-9]{2,2}(G|K|L|EC|XT)[0-9]{2,3})!'
4657
+ => [ 'Hisense', '$2', DeviceType::TELEVISION ],
4658
+
4659
+ 'Hisense Google TV TV' => [ 'Hisense', 'Pulse', DeviceType::TELEVISION, Flag::GOOGLETV ],
4660
+ 'hisense gx1200v' => [ 'Hisense', 'Pulse', DeviceType::TELEVISION, Flag::GOOGLETV ],
4661
+
4662
+ '(Amaze|Hitech)!!' => [
4663
+ 'Amaze HT-808' => [ 'Hi-Tech', 'Amaze HT-808' ],
4664
+ 'AMAZE S200' => [ 'Hi-Tech', 'Amaze S200' ],
4665
+ 'Hitech Amaze S200 3G' => [ 'Hi-Tech', 'Amaze S200' ],
4666
+ 'AMAZE S250' => [ 'Hi-Tech', 'Amaze S250' ],
4667
+ 'Amaze S400' => [ 'Hi-Tech', 'Amaze S400' ],
4668
+ 'Amaze S405' => [ 'Hi-Tech', 'Amaze S405' ],
4669
+ 'Hitech S450' => [ 'Hi-Tech', 'Amaze S450' ],
4670
+ 'Amaze S500' => [ 'Hi-Tech', 'Amaze S500' ],
4671
+ ],
4672
+
4673
+ 'HITO HT-3' => [ 'Hito', 'HT-3' ],
4674
+ 'HKPHONE H8-3G' => [ 'HKPhone', 'H8 3G' ],
4675
+ 'D7800AD' => [ 'Honeywell', 'D7800AD' ],
4676
+ 'Dolphin 70e Black' => [ 'Honeywell', 'Dolphin 70e' ],
4677
+ 'D75E' => [ 'Honeywell', 'Dolphin 75e' ],
4678
+ 'CT50' => [ 'Honeywell', 'Dolphin CT50' ],
4679
+ 'CN51 [NQ]!' => [ 'Honeywell', 'Intermec CN51' ],
4680
+
4681
+ 'HOSIN!!' => [
4682
+ 'HOSIN A608' => [ 'Hosin', 'A608' ],
4683
+ 'HOSIN T70(OPEN)' => [ 'Hosin', 'T70' ],
4684
+ 'HOSIN T70' => [ 'Hosin', 'T70' ],
4685
+ 'HOSIN T80' => [ 'Hosin', 'T80' ],
4686
+ 'HOSIN U2' => [ 'Hosin', 'U2' ],
4687
+ 'HOSIN U3' => [ 'Hosin', 'U3' ],
4688
+ 'Hosin U7' => [ 'Hosin', 'U7' ],
4689
+ 'HOSIN V60' => [ 'Hosin', 'V60' ],
4690
+ 'HOSIN V70' => [ 'Hosin', 'V70' ],
4691
+ 'HOSIN V708T' => [ 'Hosin', 'V708T' ],
4692
+ ],
4693
+
4694
+ '(HP|Slate)!!' => [
4695
+ 'HP 7' => [ 'HP', '7', DeviceType::TABLET ],
4696
+ 'HP 7.1' => [ 'HP', '7.1', DeviceType::TABLET ],
4697
+ 'HP 7 G2' => [ 'HP', '7 G2', DeviceType::TABLET ],
4698
+ 'HP 7 Plus' => [ 'HP', '7 Plus', DeviceType::TABLET ],
4699
+ 'HP 7 Plus G2' => [ 'HP', '7 Plus G2', DeviceType::TABLET ],
4700
+ 'HP 8' => [ 'HP', '8', DeviceType::TABLET ],
4701
+ 'HP 8 G2' => [ 'HP', '8 G2', DeviceType::TABLET ],
4702
+ 'HP 10' => [ 'HP', '10', DeviceType::TABLET ],
4703
+ 'HP 10 Tablet' => [ 'HP', '10', DeviceType::TABLET ],
4704
+ 'HP 10 G2 Tablet' => [ 'HP', '10 G2', DeviceType::TABLET ],
4705
+ 'HP 10 Plus' => [ 'HP', '10 Plus', DeviceType::TABLET ],
4706
+ 'HP Slate 6 Voice Tab' => [ 'HP', 'Slate 6 Voice Tab', DeviceType::TABLET ],
4707
+ 'HP Slate 6 VoiceTab Plus' => [ 'HP', 'Slate 6 Voice Tab Plus', DeviceType::TABLET ],
4708
+ 'HP Slate 6 Voice Tab II' => [ 'HP', 'Slate 6 Voice Tab II', DeviceType::TABLET ],
4709
+ 'HP Slate 7' => [ 'HP', 'Slate 7', DeviceType::TABLET ],
4710
+ 'HP Slate 7 Beats Special Edition' => [ 'HP', 'Slate 7', DeviceType::TABLET ],
4711
+ 'HP Slate7 Beats Special Edition' => [ 'HP', 'Slate 7', DeviceType::TABLET ],
4712
+ 'HP Slate 7 Plus' => [ 'HP', 'Slate 7 Plus', DeviceType::TABLET ],
4713
+ 'HP Slate 7 HD' => [ 'HP', 'Slate 7 HD', DeviceType::TABLET ],
4714
+ 'HP Slate7 Extreme' => [ 'HP', 'Slate 7 Extreme', DeviceType::TABLET ],
4715
+ 'HP Slate 7 Voice Tab' => [ 'HP', 'Slate 7 Voice Tab', DeviceType::TABLET ],
4716
+ 'HP 7 VoiceTab' => [ 'HP', 'Slate 7 Voice Tab', DeviceType::TABLET ],
4717
+ 'HP Slate 7 VoiceTab Ultra' => [ 'HP', 'Slate 7 Voice Tab Ultra', DeviceType::TABLET ],
4718
+ 'HP Slate 8 Plus' => [ 'HP', 'Slate 8 Plus', DeviceType::TABLET ],
4719
+ 'HP Slate 8 Pro' => [ 'HP', 'Slate 8 Pro', DeviceType::TABLET ],
4720
+ 'HP Slate 10 HD' => [ 'HP', 'Slate 10 HD', DeviceType::TABLET ],
4721
+ 'Slate 10 HD' => [ 'HP', 'Slate 10 HD', DeviceType::TABLET ],
4722
+ 'HP Slate 10 Plus' => [ 'HP', 'Slate 10 Plus', DeviceType::TABLET ],
4723
+ 'HP Slate 17' => [ 'HP', 'Slate 17', DeviceType::TABLET ],
4724
+ 'Slate 21' => [ 'HP', 'Slate 21', DeviceType::TABLET ],
4725
+ 'Slate 21 Pro' => [ 'HP', 'Slate 21 Pro', DeviceType::TABLET ],
4726
+ 'HP SlateBook 10 x2 PC' => [ 'HP', 'SlateBook 10 x2', DeviceType::TABLET ],
4727
+ 'HP SlateBook 14 PC' => [ 'HP', 'SlateBook 14 HD', DeviceType::TABLET ],
4728
+ 'HP Pro Slate 8' => [ 'HP', 'Pro Slate 8', DeviceType::TABLET ],
4729
+ 'HP Pro Slate 10 EE G1' => [ 'HP', 'Pro Slate 10', DeviceType::TABLET ],
4730
+ 'HP Pro Slate 12' => [ 'HP', 'Pro Slate 12', DeviceType::TABLET ],
4731
+ ],
4732
+
4733
+ 'HP!!' => [
4734
+ 'HP Compaq ([0-9]{4,4}[a-z])!' => [ 'HP', 'Compaq $1', DeviceType::DESKTOP ],
4735
+ 'HP Compaq ([a-z]{2,2}[0-9]{4,4})!' => [ 'HP', 'Compaq $1', DeviceType::DESKTOP ],
4736
+ 'HP Elite ([0-9]{4,4})!' => [ 'HP', 'Elite $1', DeviceType::DESKTOP ],
4737
+ 'HP EliteBook ([0-9]{4,4}[a-z])!' => [ 'HP', 'EliteBook $1', DeviceType::DESKTOP ],
4738
+ 'HP EliteBook Revolve ([0-9]{3,3})!' => [ 'HP', 'EliteBook Revolve $1', DeviceType::DESKTOP ],
4739
+ 'HP ENVY (.*) Notebook PC!' => [ 'HP', 'ENVY $1', DeviceType::DESKTOP ],
4740
+ 'HP ENVY Sleekbook (.*) PC!' => [ 'HP', 'ENVY Sleekbook $1', DeviceType::DESKTOP ],
4741
+ 'HP (G[0-9]{2,4}) Notebook PC!' => [ 'HP', '$1', DeviceType::DESKTOP ],
4742
+ 'HP Mini!' => [ 'HP', 'Mini', DeviceType::DESKTOP ],
4743
+ 'HP Pavilion ([0-9]+)!' => [ 'HP', 'Pavilion $1', DeviceType::DESKTOP ],
4744
+ 'HP Pavilion ([a-z]{1,2} ?[0-9]+)!' => [ 'HP', 'Pavilion $1', DeviceType::DESKTOP ],
4745
+ 'HP ProBook ([0-9]{4,4}[a-z])!' => [ 'HP', 'ProBook $1', DeviceType::DESKTOP ],
4746
+ 'HP ProBook ([0-9]{3,3} G[0-9])!' => [ 'HP', 'ProBook $1', DeviceType::DESKTOP ],
4747
+ 'HP Spectre ((?:[0-9]+ )?x2)!' => [ 'HP', 'Spectre $1', DeviceType::DESKTOP ],
4748
+ 'HP Split ((?:[0-9]+ )?x2)!' => [ 'HP', 'Split $1', DeviceType::DESKTOP ],
4749
+ ],
4750
+
4751
+ 'HP-TouchPad' => [ 'HP', 'TouchPad', DeviceType::TABLET ],
4752
+ '(HP )?Touchpad!' => [ 'HP', 'TouchPad', DeviceType::TABLET ],
4753
+ '(cm|aokp) tenderloin!' => [ 'HP', 'TouchPad', DeviceType::TABLET ],
4754
+
4755
+ 'HTC!!' => [
4756
+ 'HTC (Amaze|Ruby)!' => [ 'HTC', 'Amaze 4G' ],
4757
+ 'HTC (Aria|Gratia|Liberty)!' => [ 'HTC', 'Aria' ],
4758
+ 'HTC A63(66|80)!' => [ 'HTC', 'Aria' ],
4759
+ 'HTC Bee' => [ 'HTC', 'Bee' ],
4760
+ 'HTC ?ChaCha!' => [ 'HTC', 'ChaCha' ],
4761
+ 'HTC A810e' => [ 'HTC', 'ChaCha' ],
4762
+ 'HTC Status' => [ 'HTC', 'ChaCha' ],
4763
+ 'HTC PH06130' => [ 'HTC', 'ChaCha' ],
4764
+ 'HTC A9188!' => [ 'HTC', 'Cullinan' ],
4765
+ 'HTC Desire 200' => [ 'HTC', 'Desire 200' ],
4766
+ 'HTC Desire 210 dual sim' => [ 'HTC', 'Desire 210' ],
4767
+ 'HTC Desire 300' => [ 'HTC', 'Desire 300' ],
4768
+ 'HTC 0P6A1' => [ 'HTC', 'Desire 300' ],
4769
+ 'HTC 301e' => [ 'HTC', 'Desire 300' ],
4770
+ 'HTC D310(n|w)!' => [ 'HTC', 'Desire 310' ],
4771
+ 'HTC Desire 310' => [ 'HTC', 'Desire 310' ],
4772
+ 'HTC Desire 310 dual sim' => [ 'HTC', 'Desire 310' ],
4773
+ 'HTC 0PF11' => [ 'HTC', 'Desire 310' ],
4774
+ 'HTC 0PF110' => [ 'HTC', 'Desire 310' ],
4775
+ 'HTC 0PF120' => [ 'HTC', 'Desire 310' ],
4776
+ 'HTC V1' => [ 'HTC', 'Desire 310' ],
4777
+ 'HTC D316d' => [ 'HTC', 'Desire 316' ],
4778
+ 'HTC Desire 320' => [ 'HTC', 'Desire 320' ],
4779
+ 'htc v01' => [ 'HTC', 'Desire 320' ],
4780
+ 'HTC Desire 326G dual sim' => [ 'HTC', 'Desire 326G' ],
4781
+ 'HTC 2PNT1' => [ 'HTC', 'Desire 326G' ],
4782
+ 'HTC Desire 400 dual sim' => [ 'HTC', 'Desire 400' ],
4783
+ 'HTC Desire 500' => [ 'HTC', 'Desire 500' ],
4784
+ 'HTC Desire 500 dual sim' => [ 'HTC', 'Desire 500' ],
4785
+ 'HTC 5060' => [ 'HTC', 'Desire 500' ],
4786
+ 'HTC 0P3Z11' => [ 'HTC', 'Desire 500' ],
4787
+ 'HTC 0PFJ50' => [ 'HTC', 'Desire 500' ],
4788
+ 'HTC Desire 501' => [ 'HTC', 'Desire 501' ],
4789
+ 'HTC Desire 501 dual sim' => [ 'HTC', 'Desire 501' ],
4790
+ 'HTC 603h' => [ 'HTC', 'Desire 501' ],
4791
+ 'HTC PO091' => [ 'HTC', 'Desire 501' ],
4792
+ 'HTC Desire 510' => [ 'HTC', 'Desire 510' ],
4793
+ 'HTC 0PCV2' => [ 'HTC', 'Desire 510' ],
4794
+ 'HTC 0PCV20' => [ 'HTC', 'Desire 510' ],
4795
+ 'HTC 0PCV220' => [ 'HTC', 'Desire 510' ],
4796
+ 'HTC Desire 512' => [ 'HTC', 'Desire 512' ],
4797
+ 'HTC D516(d|t|w)!' => [ 'HTC', 'Desire 516' ],
4798
+ 'HTC Desire 516 dual sim' => [ 'HTC', 'Desire 516' ],
4799
+ 'HTC C2' => [ 'HTC', 'Desire 516' ],
4800
+ 'HTC V2' => [ 'HTC', 'Desire 516' ],
4801
+ 'HTC Desire 520' => [ 'HTC', 'Desire 520' ],
4802
+ 'HTC 0PGQ1' => [ 'HTC', 'Desire 520' ],
4803
+ 'HTC Desire 526' => [ 'HTC', 'Desire 526' ],
4804
+ 'HTCD100LVW' => [ 'HTC', 'Desire 526' ],
4805
+ 'HTC D100LVW' => [ 'HTC', 'Desire 526' ],
4806
+ 'HTC D100LVWPP' => [ 'HTC', 'Desire 526' ],
4807
+ 'HTC 0PM31' => [ 'HTC', 'Desire 526' ],
4808
+ 'HTC 0PM1100' => [ 'HTC', 'Desire 526G' ],
4809
+ 'HTC Desire 526G' => [ 'HTC', 'Desire 526G' ],
4810
+ 'HTC Desire 526G dual sim' => [ 'HTC', 'Desire 526G' ],
4811
+ 'HTC D526(h)!' => [ 'HTC', 'Desire 526G+' ],
4812
+ 'HTC Desire 526GPLUS dual sim' => [ 'HTC', 'Desire 526G+' ],
4813
+ 'HTC 0PL41!' => [ 'HTC', 'Desire 526G+' ],
4814
+ 'HTC 0PL42!' => [ 'HTC', 'Desire 526G+' ],
4815
+ 'HTC Desire 530' => [ 'HTC', 'Desire 530' ],
4816
+ 'HTC Desire 600' => [ 'HTC', 'Desire 600' ],
4817
+ 'HTC Desire 600 dual sim' => [ 'HTC', 'Desire 600' ],
4818
+ 'HTC PO491' => [ 'HTC', 'Desire 600' ],
4819
+ 'HTC PO49120' => [ 'HTC', 'Desire 600' ],
4820
+ 'HTC Desire 600c dual sim' => [ 'HTC', 'Desire 600c' ],
4821
+ 'HTC 609d' => [ 'HTC', 'Desire 600c' ],
4822
+ 'HTC Desire 601' => [ 'HTC', 'Desire 601' ],
4823
+ 'HTC Desire 601 dual sim' => [ 'HTC', 'Desire 601' ],
4824
+ 'HTC ?0P4E!' => [ 'HTC', 'Desire 601' ],
4825
+ 'HTC 606w' => [ 'HTC', 'Desire 606w' ],
4826
+ 'HTC 608' => [ 'HTC', 'Desire 608' ],
4827
+ 'HTC 608t' => [ 'HTC', 'Desire 608t' ],
4828
+ 'HTC Desire 610' => [ 'HTC', 'Desire 610' ],
4829
+ 'HTC D610' => [ 'HTC', 'Desire 610' ],
4830
+ 'HTC D610t' => [ 'HTC', 'Desire 610' ],
4831
+ 'HTC D610x' => [ 'HTC', 'Desire 610' ],
4832
+ 'HTC 0P9O110' => [ 'HTC', 'Desire 610' ],
4833
+ 'HTC 0P9O2' => [ 'HTC', 'Desire 610' ],
4834
+ 'HTC331ZLVW' => [ 'HTC', 'Desire 610' ],
4835
+ 'htc a3qhdul' => [ 'HTC', 'Desire 610' ],
4836
+ 'HTC Desire 612' => [ 'HTC', 'Desire 612' ],
4837
+ 'HTC331ZLVWPP' => [ 'HTC', 'Desire 612' ],
4838
+ 'HTC 0P9O30' => [ 'HTC', 'Desire 612' ],
4839
+ 'HTC Desire 616 dual sim' => [ 'HTC', 'Desire 616' ],
4840
+ 'HTC D616w!' => [ 'HTC', 'Desire 616' ],
4841
+ 'HTC V3' => [ 'HTC', 'Desire 616' ],
4842
+ 'HTC 619d!' => [ 'HTC', 'Desire 619d' ],
4843
+ 'HTC D620(h|u)!' => [ 'HTC', 'Desire 620' ],
4844
+ 'HTC Desire 620' => [ 'HTC', 'Desire 620' ],
4845
+ 'HTC 0PE64!' => [ 'HTC', 'Desire 620' ],
4846
+ 'HTC Desire 620G' => [ 'HTC', 'Desire 620G' ],
4847
+ 'HTC Desire 620G dual sim' => [ 'HTC', 'Desire 620G' ],
4848
+ 'HTC 0PE65' => [ 'HTC', 'Desire 620G' ],
4849
+ 'HTC Desire 625' => [ 'HTC', 'Desire 625' ],
4850
+ 'HTC D626(d|q|t|w|x)!' => [ 'HTC', 'Desire 626' ],
4851
+ 'HTC Desire 626' => [ 'HTC', 'Desire 626' ],
4852
+ 'HTC Desire 626 dual sim' => [ 'HTC', 'Desire 626' ],
4853
+ 'HTC 0PKX2' => [ 'HTC', 'Desire 626' ],
4854
+ 'HTC D630x' => [ 'HTC', 'Desire 626' ],
4855
+ 'HTC D200LVW' => [ 'HTC', 'Desire 626' ],
4856
+ 'HTC D200LVWPP' => [ 'HTC', 'Desire 626' ],
4857
+ 'HTC Desire 626G dual sim' => [ 'HTC', 'Desire 626G' ],
4858
+ 'HTC D626(ph)!' => [ 'HTC', 'Desire 626G' ],
4859
+ 'HTC Desire 626GPLUS dual sim' => [ 'HTC', 'Desire 626G+' ],
4860
+ 'HTC 0PM11' => [ 'HTC', 'Desire 626G+' ],
4861
+ 'HTC Desire 626s' => [ 'HTC', 'Desire 626s' ],
4862
+ 'HTC 0PM91' => [ 'HTC', 'Desire 626s' ],
4863
+ 'HTC 0PM912!' => [ 'HTC', 'Desire 626s' ],
4864
+ 'HTC 0PM92' => [ 'HTC', 'Desire 626s' ],
4865
+ 'HTC Desire 700 dual sim' => [ 'HTC', 'Desire 700' ],
4866
+ 'HTC 709d' => [ 'HTC', 'Desire 709d' ],
4867
+ 'HTC Desire 728 dual sim' => [ 'HTC', 'Desire 728' ],
4868
+ 'HTC D728(w|x)!' => [ 'HTC', 'Desire 728' ],
4869
+ 'HTC Desire 728G dual sim' => [ 'HTC', 'Desire 728G' ],
4870
+ 'HTC 2PQ83' => [ 'HTC', 'Desire 728G' ],
4871
+ 'HTC D816' => [ 'HTC', 'Desire 816' ],
4872
+ 'HTC D816(d|t|v|w|x)!' => [ 'HTC', 'Desire 816' ],
4873
+ 'HTC D816(h)!' => [ 'HTC', 'Desire 816G' ],
4874
+ 'HTC Desire 816' => [ 'HTC', 'Desire 816' ],
4875
+ 'HTC Desire 816 dual sim' => [ 'HTC', 'Desire 816' ],
4876
+ 'htc a5ul' => [ 'HTC', 'Desire 816' ],
4877
+ 'HTC 0P9C2' => [ 'HTC', 'Desire 816' ],
4878
+ 'HTC 0P9C8' => [ 'HTC', 'Desire 816' ],
4879
+ 'HTC D816e' => [ 'HTC', 'Desire 816' ],
4880
+ 'HTC Desire 816G' => [ 'HTC', 'Desire 816G' ],
4881
+ 'HTC Desire 816G dual sim' => [ 'HTC', 'Desire 816G' ],
4882
+ 'HTC D820(pi|ts|us)!' => [ 'HTC', 'Desire 820G' ],
4883
+ 'HTC Desire 820G dual sim' => [ 'HTC', 'Desire 820G' ],
4884
+ 'HTC Desire 820G PLUS dual sim' => [ 'HTC', 'Desire 820G+' ],
4885
+ 'HTC D820(f|mt|mu|t|u|x)!' => [ 'HTC', 'Desire 820' ],
4886
+ 'HTC Desire 820' => [ 'HTC', 'Desire 820' ],
4887
+ 'HTC Desire 820 dual sim' => [ 'HTC', 'Desire 820' ],
4888
+ 'HTC 0PFJ4' => [ 'HTC', 'Desire 820' ],
4889
+ 'HTC Desire 820q dual sim' => [ 'HTC', 'Desire 820q' ],
4890
+ 'HTC Desire 820s dual sim' => [ 'HTC', 'Desire 820s' ],
4891
+ 'HTC D820(ys)!' => [ 'HTC', 'Desire 820s' ],
4892
+ 'HTC Desire 826' => [ 'HTC', 'Desire 826' ],
4893
+ 'HTC Desire 826 dual sim' => [ 'HTC', 'Desire 826' ],
4894
+ 'HTC D826(d|t|w|y)!' => [ 'HTC', 'Desire 826' ],
4895
+ 'HTC D828(w|x)!' => [ 'HTC', 'Desire 828' ],
4896
+ 'HTC Desire 828 dual sim' => [ 'HTC', 'Desire 828' ],
4897
+ 'HTC 2PRE2' => [ 'HTC', 'Desire 828' ],
4898
+ 'HTC 5088' => [ 'HTC', 'Desire 5088' ],
4899
+ 'HTC 6160' => [ 'HTC', 'Desire 6160' ],
4900
+ 'HTC 7060' => [ 'HTC', 'Desire 7060' ],
4901
+ 'HTC ?7088!' => [ 'HTC', 'Desire 7088' ],
4902
+ 'HTC 8060' => [ 'HTC', 'Desire 8060' ],
4903
+ 'HTC Desire C' => [ 'HTC', 'Desire C' ],
4904
+ 'HTC Desire C N' => [ 'HTC', 'Desire C' ],
4905
+ 'HTC H1000C' => [ 'HTC', 'Desire C' ],
4906
+ 'HTC A320e' => [ 'HTC', 'Desire C' ],
4907
+ 'HTC Desire ?HD!' => [ 'HTC', 'Desire HD' ],
4908
+ 'HTC A91(91|92)!' => [ 'HTC', 'Desire HD' ],
4909
+ 'HTC 0PFH1!' => [ 'HTC', 'Desire Eye' ],
4910
+ 'HTC 0PFH2!' => [ 'HTC', 'Desire Eye' ],
4911
+ 'HTC Desire EYE' => [ 'HTC', 'Desire Eye' ],
4912
+ 'HTC M910x' => [ 'HTC', 'Desire Eye' ],
4913
+ 'HTC Desire L dual sim' => [ 'HTC', 'Desire L' ],
4914
+ 'HTC PM6014' => [ 'HTC', 'Desire L' ],
4915
+ 'HTC Desire P' => [ 'HTC', 'Desire P' ],
4916
+ 'HTC Desire Q' => [ 'HTC', 'Desire Q' ],
4917
+ 'HTC ?Desire ?S( |$)!' => [ 'HTC', 'Desire S' ],
4918
+ 'HTC S510(b|e)!' => [ 'HTC', 'Desire S' ],
4919
+ 'HTC Passion S510e' => [ 'HTC', 'Desire S' ],
4920
+ 'HTC Desire Saga' => [ 'HTC', 'Desire S' ],
4921
+ 'HTC Saga' => [ 'HTC', 'Desire S' ],
4922
+ 'HTC DesireSV' => [ 'HTC', 'Desire SV' ],
4923
+ 'HTC Desire SV' => [ 'HTC', 'Desire SV' ],
4924
+ 'HTC DesireU' => [ 'HTC', 'Desire U' ],
4925
+ 'HTC Desire U' => [ 'HTC', 'Desire U' ],
4926
+ 'HTC Desire U dual sim' => [ 'HTC', 'Desire U' ],
4927
+ 'HTC T327w' => [ 'HTC', 'Desire U' ],
4928
+ 'HTC Desire V' => [ 'HTC', 'Desire V' ],
4929
+ 'HTC T328w' => [ 'HTC', 'Desire V' ],
4930
+ 'HTC PROMIN U' => [ 'HTC', 'Desire V' ],
4931
+ 'HTC PRO DS' => [ 'HTC', 'Desire V' ],
4932
+ 'HTC Desire VC' => [ 'HTC', 'Desire VC' ],
4933
+ 'HTC Desire VC T328d' => [ 'HTC', 'Desire VC' ],
4934
+ 'HTC T328d' => [ 'HTC', 'Desire VC' ],
4935
+ 'HTC PRO DD' => [ 'HTC', 'Desire VC' ],
4936
+ 'HTC Desire VT' => [ 'HTC', 'Desire VT' ],
4937
+ 'HTC T328t' => [ 'HTC', 'Desire VT' ],
4938
+ 'HTC Desire XC!' => [ 'HTC', 'Desire XC' ],
4939
+ 'HTC Desire XS!' => [ 'HTC', 'Desire XS' ],
4940
+ 'HTC Desire ?X!' => [ 'HTC', 'Desire X' ],
4941
+ 'HTC T329w' => [ 'HTC', 'Desire X' ],
4942
+ 'HTC POO U' => [ 'HTC', 'Desire X' ],
4943
+ 'HTC Desire ?Z!' => [ 'HTC', 'Desire Z' ],
4944
+ 'HTC A72(71|72|75)!' => [ 'HTC', 'Desire Z' ],
4945
+ 'HTC ?Vision!' => [ 'HTC', 'Desire Z' ],
4946
+ 'HTC T329d' => [ 'HTC', 'T329d' ],
4947
+ 'HTC ?Desire!' => [ 'HTC', 'Desire' ],
4948
+ 'HTC Bravo' => [ 'HTC', 'Desire' ],
4949
+ 'HTC Bravo C' => [ 'HTC', 'Desire' ],
4950
+ 'HTC eris' => [ 'HTC', 'Desire' ],
4951
+ 'HTC A81(81|83)!' => [ 'HTC', 'Desire' ],
4952
+ 'HTC ?X06HTII!' => [ 'HTC', 'Desire X06HTII', 'carrier' => 'Softbank' ],
4953
+ 'HTC ?X06HT!' => [ 'HTC', 'Desire X06HT', 'carrier' => 'Softbank' ],
4954
+ 'HTC Desire CDMA' => [ 'HTC', 'Desire' ],
4955
+ 'HTC PLS7373ADR' => [ 'HTC', 'Detail' ],
4956
+ 'HTC 603e' => [ 'HTC', 'E1' ],
4957
+ 'HTC Evo' => [ 'HTC', 'EVO 3D' ],
4958
+ 'HTC ?EVO ?3D!' => [ 'HTC', 'EVO 3D' ],
4959
+ 'HTC X51(5a|5c|5d|5m)!' => [ 'HTC', 'EVO 3D' ],
4960
+ 'HTC Shooter' => [ 'HTC', 'EVO 3D' ],
4961
+ 'htc shooteru' => [ 'HTC', 'EVO 3D' ],
4962
+ 'HTC ?EVO ?V ?4G!' => [ 'HTC', 'EVO 3D' ],
4963
+ 'HTC EVO 4G\+!' => [ 'HTC', 'EVO 4G+' ],
4964
+ 'HTC X515e!' => [ 'HTC', 'EVO 4G+' ],
4965
+ 'HTC ?EVO ?4G!' => [ 'HTC', 'EVO 4G' ],
4966
+ 'HTC jewel' => [ 'HTC', 'EVO 4G' ],
4967
+ 'HTC EVO LTE' => [ 'HTC', 'EVO 4G' ],
4968
+ 'HTC EVO G20 T9399 For Sprint' => [ 'HTC', 'EVO 4G' ],
4969
+ 'HTC ?(EVO ?)?Design ?4G!' => [ 'HTC', 'EVO Design 4G' ],
4970
+ 'HTC EVO Design C715e!' => [ 'HTC', 'EVO Design 4G' ],
4971
+ 'HTC C715c' => [ 'HTC', 'EVO Design 4G' ],
4972
+ 'HTC Acquire' => [ 'HTC', 'EVO Design 4G' ],
4973
+ 'HTC Kingdom' => [ 'HTC', 'EVO Design 4G' ],
4974
+ 'HTC EVO Shift!' => [ 'HTC', 'EVO Shift' ],
4975
+ 'HTC EVO View 4G' => [ 'HTC', 'EVO View 4G' ],
4976
+ 'HTC ?Explorer!' => [ 'HTC', 'Explorer' ],
4977
+ 'HTC A31(0b|0e)!' => [ 'HTC', 'Explorer' ],
4978
+ 'HTC Pico Incredible HD' => [ 'HTC', 'Explorer' ],
4979
+ 'HTC first' => [ 'HTC', 'First' ],
4980
+ 'HTC PM33100' => [ 'HTC', 'First' ],
4981
+ 'HTC Flyer!' => [ 'HTC', 'Flyer', DeviceType::TABLET ],
4982
+ 'HTC P51(0e|2|5e)!' => [ 'HTC', 'Flyer', DeviceType::TABLET ],
4983
+ 'HTC HD' => [ 'HTC', 'HD' ],
4984
+ 'HTC HD2!' => [ 'HTC', 'HD2' ],
4985
+ 'HTC T8585' => [ 'HTC', 'HD2' ],
4986
+ 'HTC HD7!' => [ 'HTC', 'HD7' ],
4987
+ 'HTC T92(98|99)!' => [ 'HTC', 'HD7' ],
4988
+ 'HTC HD7S!' => [ 'HTC', 'HD7s' ],
4989
+ 'HTC T(93|98)99!' => [ 'HTC', 'HD7s' ],
4990
+ 'HTC HD Mini' => [ 'HTC', 'HD mini' ],
4991
+ 'HTC HERO200' => [ 'HTC', 'Hero 200' ], /* Sprint */
4992
+ 'HTC Hero ?S!' => [ 'HTC', 'Hero S' ], /* US Cellular */
4993
+ 'HTC Hero!' => [ 'HTC', 'Hero' ],
4994
+ 'HTC IMAGIO' => [ 'HTC', 'Imagio' ],
4995
+ 'HTC Incredible' => [ 'HTC', 'Incredible' ],
4996
+ 'HTC Incredible CDMA' => [ 'HTC', 'Incredible' ],
4997
+ 'HTC Incredible T9199 for Vodafone' => [ 'HTC', 'Incredible' ],
4998
+ 'HTC Incredible E S715e' => [ 'HTC', 'Incredible E' ],
4999
+ 'HTC Incredible ?S!' => [ 'HTC', 'Incredible S' ],
5000
+ 'HTC ?Vivo!' => [ 'HTC', 'Incredible S' ],
5001
+ 'HTC S710e!' => [ 'HTC', 'Incredible S' ],
5002
+ 'HTC S710d' => [ 'HTC', 'Incredible S' ],
5003
+ 'HTC Incredible 2' => [ 'HTC', 'Incredible S' ],
5004
+ 'HTC Innovation' => [ 'HTC', 'Innovation' ],
5005
+ 'HTC (HD7 )?Inspire!' => [ 'HTC', 'Inspire 4G' ],
5006
+ 'HTC J Z321e' => [ 'HTC', 'J' ],
5007
+ 'HTC X920e' => [ 'HTC', 'J Butterfly' ],
5008
+ 'HTC Butterfly' => [ 'HTC', 'J Butterfly' ],
5009
+ 'HTC J Butterfly' => [ 'HTC', 'J Butterfly' ],
5010
+ 'HTC Butterfly J' => [ 'HTC', 'J Butterfly' ],
5011
+ 'HTC DLX WLJ' => [ 'HTC', 'J Butterfly' ],
5012
+ 'HTC DLX WL' => [ 'HTC', 'J Butterfly' ],
5013
+ 'HTC DLX U' => [ 'HTC', 'J Butterfly' ],
5014
+ 'HTC DLXUB1' => [ 'HTC', 'J Butterfly' ],
5015
+ 'HTC J One' => [ 'HTC', 'J One' ],
5016
+ 'HTC Butterfly s' => [ 'HTC', 'Butterfly S' ],
5017
+ 'HTC Butterfly s 901s' => [ 'HTC', 'Butterfly S' ],
5018
+ 'HTC PO68' => [ 'HTC', 'Butterfly S' ],
5019
+ 'HTC 9060' => [ 'HTC', 'Butterfly S' ],
5020
+ 'HTC 9088' => [ 'HTC', 'Butterfly S' ],
5021
+ 'HTC 901e' => [ 'HTC', 'Butterfly S' ],
5022
+ 'HTC 909d' => [ 'HTC', 'Butterfly S' ],
5023
+ 'HTC 919d' => [ 'HTC', 'Butterfly S' ],
5024
+ 'HTC B810x' => [ 'HTC', 'Butterfly 2' ],
5025
+ 'HTC Butterfly 2' => [ 'HTC', 'Butterfly 2' ],
5026
+ 'HTC B830x' => [ 'HTC', 'Butterfly 3' ],
5027
+ 'HTC P715!' => [ 'HTC', 'Jetstream', DeviceType::TABLET ],
5028
+ 'HTC PG09410' => [ 'HTC', 'Jetstream', DeviceType::TABLET ],
5029
+ 'HTC Legend!' => [ 'HTC', 'Legend' ],
5030
+ 'HTC Magic!' => [ 'HTC', 'Magic' ],
5031
+ 'HTC Sapphire' => [ 'HTC', 'Magic' ],
5032
+ 'HTC Merge' => [ 'HTC', 'Merge' ],
5033
+ 'HTC Lexikon' => [ 'HTC', 'Merge' ],
5034
+ 'HTC One SC' => [ 'HTC', 'One SC' ],
5035
+ 'HTC One SC T528d' => [ 'HTC', 'One SC' ],
5036
+ 'HTC T528d' => [ 'HTC', 'One SC' ],
5037
+ 'HTC T528t' => [ 'HTC', 'One ST' ],
5038
+ 'HTC T528w' => [ 'HTC', 'One SU' ],
5039
+ 'HTC One Su' => [ 'HTC', 'One SU' ],
5040
+ 'HTC One ?SV!' => [ 'HTC', 'One SV' ],
5041
+ 'HTC C525c' => [ 'HTC', 'One SV' ],
5042
+ 'HTC C525u' => [ 'HTC', 'One SV' ],
5043
+ 'HTC H3000C' => [ 'HTC', 'One SV' ],
5044
+ 'HTC K2!' => [ 'HTC', 'One SV' ],
5045
+ 'HTC One S' => [ 'HTC', 'One S' ],
5046
+ 'HTC One S !' => [ 'HTC', 'One S' ],
5047
+ 'HTC Ville!' => [ 'HTC', 'One S' ],
5048
+ 'HTC Z(52|56)0e!' => [ 'HTC', 'One S' ],
5049
+ 'HTC One VX' => [ 'HTC', 'One VX' ],
5050
+ 'htc totem' => [ 'HTC', 'One VX' ],
5051
+ 'HTC PM36100' => [ 'HTC', 'One VX' ],
5052
+ 'HTC One V' => [ 'HTC', 'One V' ],
5053
+ 'HTC T120C' => [ 'HTC', 'One V' ],
5054
+ 'HTC T320e' => [ 'HTC', 'One V' ],
5055
+ 'HTC H2000C' => [ 'HTC', 'One V' ],
5056
+ 'HTC X720d' => [ 'HTC', 'One XC' ],
5057
+ 'HTC ?One ?XL+!' => [ 'HTC', 'One XL+' ],
5058
+ 'HTC ?One ?XL!' => [ 'HTC', 'One XL' ],
5059
+ 'htc evita' => [ 'HTC', 'One XL' ],
5060
+ 'HTC S720t!' => [ 'HTC', 'One XT' ],
5061
+ 'HTC One X+' => [ 'HTC', 'One X+' ],
5062
+ 'HTC OneXplus!' => [ 'HTC', 'One X+' ],
5063
+ 'HTC PM63100' => [ 'HTC', 'One X+' ],
5064
+ 'HTC ?One ?X!' => [ 'HTC', 'One X' ],
5065
+ 'HTC Endeavour!' => [ 'HTC', 'One X' ],
5066
+ 'HTC S720e' => [ 'HTC', 'One X' ],
5067
+ 'HTC One X S720e' => [ 'HTC', 'One X' ],
5068
+ 'HTC One X with Beats Audio' => [ 'HTC', 'One X' ],
5069
+ 'HTC M7' => [ 'HTC', 'One' ],
5070
+ 'HTC 801e' => [ 'HTC', 'One' ],
5071
+ 'HTC 801s' => [ 'HTC', 'One' ],
5072
+ 'HTC ?802d!' => [ 'HTC', 'One' ],
5073
+ 'HTC ?802t!' => [ 'HTC', 'One' ],
5074
+ 'HTC 802w' => [ 'HTC', 'One' ],
5075
+ 'HTC PN071' => [ 'HTC', 'One' ],
5076
+ 'HTC PN072' => [ 'HTC', 'One' ],
5077
+ 'HTC PN0711' => [ 'HTC', 'One' ],
5078
+ 'HTC PN07120' => [ 'HTC', 'One' ],
5079
+ 'HTC PN07310' => [ 'HTC', 'One' ],
5080
+ 'HTC HTC6500LVW' => [ 'HTC', 'One' ],
5081
+ 'HTC6500LVW' => [ 'HTC', 'One' ],
5082
+ 'HTC6500LVW 4G' => [ 'HTC', 'One' ],
5083
+ 'HTC6445LVW 4G' => [ 'HTC', 'One' ],
5084
+ 'HTC One 801e' => [ 'HTC', 'One' ],
5085
+ 'HTC One 801s' => [ 'HTC', 'One' ],
5086
+ 'HTC one 802d' => [ 'HTC', 'One' ],
5087
+ 'HTC One dual' => [ 'HTC', 'One' ],
5088
+ 'HTC One dual 802d' => [ 'HTC', 'One' ],
5089
+ 'HTC One dual sim' => [ 'HTC', 'One' ],
5090
+ 'HTCONE' => [ 'HTC', 'One' ],
5091
+ 'HTC6515LVW' => [ 'HTC', 'One Remix' ],
5092
+ 'HTC 601e' => [ 'HTC', 'One Mini' ],
5093
+ 'HTC PO581' => [ 'HTC', 'One Mini' ],
5094
+ 'HTC PO582' => [ 'HTC', 'One Mini' ],
5095
+ 'HTC PO58220' => [ 'HTC', 'One Mini' ],
5096
+ 'HTC One mini' => [ 'HTC', 'One Mini' ],
5097
+ 'HTC One mini 601e' => [ 'HTC', 'One Mini' ],
5098
+ 'HTC 809d' => [ 'HTC', 'One Max' ],
5099
+ 'HTC 8060' => [ 'HTC', 'One Max' ],
5100
+ 'HTC 8088' => [ 'HTC', 'One Max' ],
5101
+ 'HTC 8160' => [ 'HTC', 'One Max' ],
5102
+ 'HTC ?0P3P[0-9]!' => [ 'HTC', 'One Max' ],
5103
+ 'HTC6600LVW' => [ 'HTC', 'One Max' ],
5104
+ 'HTC6600LVW 4G' => [ 'HTC', 'One Max' ],
5105
+ 'HTC One max' => [ 'HTC', 'One Max' ],
5106
+ 'HTC One max dual' => [ 'HTC', 'One Max' ],
5107
+ 'HTC One A9' => [ 'HTC', 'One (A9)' ],
5108
+ 'HTC A9(u|w)!' => [ 'HTC', 'One (A9)' ],
5109
+ 'HTC 2PQ910' => [ 'HTC', 'One (A9)' ],
5110
+ 'HTC 2PQ912!' => [ 'HTC', 'One (A9)' ],
5111
+ 'HTC One E9 dual sim' => [ 'HTC', 'One (E9)' ],
5112
+ 'HTC 0PL31' => [ 'HTC', 'One (E9)' ],
5113
+ 'HTC One E9PLUS dual sim' => [ 'HTC', 'One (E9 Plus)' ],
5114
+ 'HTC One E9s dual sim' => [ 'HTC', 'One (E9s)' ],
5115
+ 'HTC D826sw' => [ 'HTC', 'One (E9s)' ],
5116
+ 'HTC E9sx' => [ 'HTC', 'One (E9s)' ],
5117
+ 'HTC One M9' => [ 'HTC', 'One (M9)' ],
5118
+ 'HTC One M9s' => [ 'HTC', 'One (M9)' ],
5119
+ 'HTC 0PJA1!' => [ 'HTC', 'One (M9)' ],
5120
+ 'HTC 0PJA2!' => [ 'HTC', 'One (M9)' ],
5121
+ 'HTC6535LRA' => [ 'HTC', 'One (M9)' ],
5122
+ 'HTC6535LVW' => [ 'HTC', 'One (M9)' ],
5123
+ 'HTC M9(e|pt|px|u|w)!' => [ 'HTC', 'One (M9)' ],
5124
+ 'HTC One M9PLUS' => [ 'HTC', 'One (M9 Plus)' ],
5125
+ 'HTC One M9PLUS Prime Camera Edition' => [ 'HTC', 'One (M9 Plus)' ],
5126
+ 'HTC M9pw' => [ 'HTC', 'One (M9 Plus)' ],
5127
+ 'HTC 0PK71' => [ 'HTC', 'One (M9 Plus)' ],
5128
+ 'HTC 0PK72' => [ 'HTC', 'One (M9 Plus)' ],
5129
+ 'HTC X9u' => [ 'HTC', 'One (X9)' ],
5130
+ 'HTC M9et' => [ 'HTC', 'One ME' ],
5131
+ 'HTC M9ew' => [ 'HTC', 'One ME' ],
5132
+ 'htc hima ace ml dtul' => [ 'HTC', 'One ME' ],
5133
+ 'HTC One ME dual sim' => [ 'HTC', 'One ME' ],
5134
+ 'HTC 0PLA1' => [ 'HTC', 'One ME' ],
5135
+ 'HTC One M8' => [ 'HTC', 'One (M8)' ],
5136
+ 'HTC One M8 dual sim' => [ 'HTC', 'One (M8)' ],
5137
+ 'HTC One(M8)' => [ 'HTC', 'One (M8)' ],
5138
+ 'htc m8' => [ 'HTC', 'One (M8)' ],
5139
+ 'HTC M8(d|dug|e|si|t|w|x)!' => [ 'HTC', 'One (M8)' ],
5140
+ 'HTC6525LVW' => [ 'HTC', 'One (M8)' ],
5141
+ 'HTC One M8 Eye' => [ 'HTC', 'One (M8 Eye)' ],
5142
+ 'HTC M8(et|Et|Ew)!' => [ 'HTC', 'One (M8 Eye)' ],
5143
+ 'HTC 0P6B!' => [ 'HTC', 'One (M8 Eye)' ],
5144
+ 'HTC One M8s' => [ 'HTC', 'One (M8s)' ],
5145
+ 'HTC 0PKV1' => [ 'HTC', 'One (M8s)' ],
5146
+ 'HTC One E8' => [ 'HTC', 'One (E8)' ],
5147
+ 'HTC One E8 dual sim' => [ 'HTC', 'One (E8)' ],
5148
+ 'HTC M8S(d|s|t|w|x|y)!' => [ 'HTC', 'One (E8)' ],
5149
+ 'htc mecwhl' => [ 'HTC', 'One (E8)' ],
5150
+ 'HTC 0PAJ4' => [ 'HTC', 'One (E8)' ],
5151
+ 'HTC E9(pw|pt|t|w|x)!' => [ 'HTC', 'One (E9)' ],
5152
+ 'HTC One E9s dual sim' => [ 'HTC', 'One (E9)' ],
5153
+ 'HTC 0P8B2!' => [ 'HTC', 'One Mini 2' ],
5154
+ 'HTC M8MINx' => [ 'HTC', 'One Mini 2' ],
5155
+ 'HTC One mini 2' => [ 'HTC', 'One Mini 2' ],
5156
+ 'htc memul' => [ 'HTC', 'One Mini 2' ],
5157
+ 'HTC M10u' => [ 'HTC', '10' ], // a.k.a. HTC One (M10)
5158
+ 'HTC Raider!' => [ 'HTC', 'Raider 4G' ],
5159
+ 'HTC Holiday' => [ 'HTC', 'Raider 4G' ],
5160
+ 'HTC X710(a|e|s)!' => [ 'HTC', 'Raider 4G' ],
5161
+ 'HTC PH39100!' => [ 'HTC', 'Raider 4G' ],
5162
+ 'HTCRaider' => [ 'HTC', 'Raider 4G' ],
5163
+ 'HTC Rezound' => [ 'HTC', 'Rezound' ],
5164
+ 'HTC Rhyme!' => [ 'HTC', 'Rhyme' ],
5165
+ 'HTC Bliss!' => [ 'HTC', 'Rhyme' ],
5166
+ 'HTC S510b' => [ 'HTC', 'Rhyme' ],
5167
+ 'HTC Salsa!' => [ 'HTC', 'Salsa' ],
5168
+ 'HTC C510e' => [ 'HTC', 'Salsa' ],
5169
+ 'HTC Sensation.*XE!' => [ 'HTC', 'Sensation XE' ],
5170
+ 'HTC .*Z715(a|e)!' => [ 'HTC', 'Sensation XE' ],
5171
+ 'HTC Sensation.*XL!' => [ 'HTC', 'Sensation XL' ],
5172
+ 'HTC Runnymede' => [ 'HTC', 'Sensation XL' ],
5173
+ 'HTC .*X315(b|e)!' => [ 'HTC', 'Sensation XL' ],
5174
+ 'HTC G21!' => [ 'HTC', 'Sensation XL' ],
5175
+ 'HTC ?Sensation!' => [ 'HTC', 'Sensation' ],
5176
+ 'HTC Pyramid!' => [ 'HTC', 'Sensation' ],
5177
+ 'HTC .*Z710(a|e|t)?!' => [ 'HTC', 'Sensation' ],
5178
+ 'HTC G14!' => [ 'HTC', 'Sensation' ],
5179
+ 'HTC Tattoo!' => [ 'HTC', 'Tattoo' ],
5180
+ 'HTC Click' => [ 'HTC', 'Tattoo' ],
5181
+ 'HTC A3288' => [ 'HTC', 'Tattoo' ],
5182
+ 'HTC A9188' => [ 'HTC', 'Tianxi' ],
5183
+ 'HTC X310e' => [ 'HTC', 'Titan' ],
5184
+ 'HTC ETERNITY' => [ 'HTC', 'Titan' ],
5185
+ 'HTC Polaris' => [ 'HTC', 'Touch Cruise' ],
5186
+ 'HTC TOUCH DUAL' => [ 'HTC', 'Touch Dual' ],
5187
+ 'HTC DiamondII EX' => [ 'HTC', 'Touch Diamond II' ],
5188
+ 'HTC T7373' => [ 'HTC', 'Touch Pro II' ],
5189
+ 'HTC Touch Pro' => [ 'HTC', 'Touch Pro' ],
5190
+ 'HTC ThunderBolt( 4G)?!' => [ 'HTC', 'ThunderBolt'],
5191
+ 'HTC Mecha' => [ 'HTC', 'ThunderBolt'],
5192
+ 'HTC Kaiser' => [ 'HTC', 'TyTN II'],
5193
+ 'HTC Velocity!' => [ 'HTC', 'Velocity 4G'],
5194
+ 'HTCVelocity 4G' => [ 'HTC', 'Velocity 4G'],
5195
+ 'HTC Vivid' => [ 'HTC', 'Vivid'],
5196
+ 'HTC ?Wildfire ?S!' => [ 'HTC', 'Wildfire S' ],
5197
+ 'HTC .*A510(a|b|c|e)!' => [ 'HTC', 'Wildfire S' ],
5198
+ 'HTC ?PG762!' => [ 'HTC', 'Wildfire S' ],
5199
+ 'HTC Wildfire!' => [ 'HTC', 'Wildfire' ],
5200
+ 'HTC Buzz!' => [ 'HTC', 'Wildfire' ],
5201
+ 'HTC .*A33(33|35|66|80)!' => [ 'HTC', 'Wildfire' ],
5202
+ 'HTC A3360' => [ 'HTC', 'Wildfire' ],
5203
+ 'HTC A6390' => [ 'HTC', 'A6390' ],
5204
+ 'HTC A8180' => [ 'HTC', 'A8180' ],
5205
+ 'HTC S610d' => [ 'HTC', 'S610d' ],
5206
+ 'HTC S715e' => [ 'HTC', 'S715e' ],
5207
+ 'HTC T327d' => [ 'HTC', 'T327d' ],
5208
+ 'HTC T327t' => [ 'HTC', 'T327t' ],
5209
+ 'HTC T329t' => [ 'HTC', 'T329t' ],
5210
+ 'HTC Z510d' => [ 'HTC', 'Z510d' ],
5211
+ 'HTC PO681' => [ 'HTC', 'Droid DNA 2' ],
5212
+ 'HTC PO682' => [ 'HTC', 'Butterfly S' ],
5213
+ 'HTC GOF U' => [ 'HTC', 'Desire C' ],
5214
+ 'HTC VLE U' => [ 'HTC', 'One S' ],
5215
+ 'HTC VLE#U' => [ 'HTC', 'One S' ],
5216
+ 'HTC VIE U' => [ 'HTC', 'One S' ],
5217
+ 'HTC K2 UL' => [ 'HTC', 'One SV' ],
5218
+ 'HTC Droid DNA' => [ 'HTC', 'Droid DNA' ],
5219
+ 'HTC6435LRA' => [ 'HTC', 'Droid DNA' ],
5220
+ 'HTC6435LVW!' => [ 'HTC', 'Droid DNA' ],
5221
+ 'HTC Droid Incredible' => [ 'HTC', 'Droid Incredible' ],
5222
+ 'HTC IncredibleC' => [ 'HTC', 'Droid Incredible' ],
5223
+ 'HTC Droid Incredible 2' => [ 'HTC', 'Droid Incredible 2' ],
5224
+ 'HTC EVA UTL' => [ 'HTC', 'One X' ],
5225
+ 'HTC EVA UL' => [ 'HTC', 'One X' ],
5226
+ 'HTC ENR U' => [ 'HTC', 'One X' ],
5227
+ 'HTC EVARE UL' => [ 'HTC', 'One X+' ],
5228
+ 'HTC ENRC2B' => [ 'HTC', 'One X+' ],
5229
+ 'HTC 9089' => [ 'HTC', '9089' ], // COS
5230
+ 'HTC ?909d!' => [ 'HTC', '909d' ], // COS
5231
+ ],
5232
+
5233
+ 'DLX' => [ 'HTC', 'Droid DNA' ],
5234
+ 'DLXU' => [ 'HTC', 'Butterfly' ],
5235
+ 'ENR U' => [ 'HTC', 'One X' ],
5236
+
5237
+ 'Amaze 4G' => [ 'HTC', 'Amaze 4G' ],
5238
+ 'Liberty' => [ 'HTC', 'Aria' ],
5239
+ 'Butterfly S' => [ 'HTC', 'Butterfly S' ],
5240
+ 'Desire 816' => [ 'HTC', 'Desire 816' ],
5241
+ 'Desire ?HD!' => [ 'HTC', 'Desire HD' ],
5242
+ 'Inspire HD' => [ 'HTC', 'Desire HD' ],
5243
+ 'Desire L by HTC' => [ 'HTC', 'Desire L' ],
5244
+ 'Desire ?S!' => [ 'HTC', 'Desire S' ],
5245
+ 'Desire X' => [ 'HTC', 'Desire X' ],
5246
+ 'Desire Z' => [ 'HTC', 'Desire Z' ],
5247
+ 'Desire!' => [ 'HTC', 'Desire' ],
5248
+ 'Dream' => [ 'HTC', 'Dream' ],
5249
+ 'GinDream/GinMagic' => [ 'HTC', 'Dream' ],
5250
+ 'SiRF Dream' => [ 'HTC', 'Dream' ],
5251
+ 'Eris' => [ 'HTC', 'Droid Eris' ],
5252
+ 'Droid Incredible' => [ 'HTC', 'Droid Incredible' ],
5253
+ 'Incredible' => [ 'HTC', 'Droid Incredible' ], /* Verizon */
5254
+ 'Incredible 2' => [ 'HTC', 'Droid Incredible 2' ], /* Verizon */
5255
+ 'EVO' => [ 'HTC', 'EVO' ],
5256
+ 'Evo HD2' => [ 'HTC', 'EVO HD' ],
5257
+ 'EVO ?3D!' => [ 'HTC', 'EVO 3D' ],
5258
+ 'EVO 4G' => [ 'HTC', 'EVO 4G' ],
5259
+ 'Evo V 4G' => [ 'HTC', 'EVO V 4G' ],
5260
+ 'Explorer A310e' => [ 'HTC', 'Explorer' ],
5261
+ 'Flyer' => [ 'HTC', 'Flyer', DeviceType::TABLET ],
5262
+ 'photon' => [ 'HTC', 'HD mini' ],
5263
+ 'HD2' => [ 'HTC', 'HD2' ],
5264
+ 'NexusHD2' => [ 'HTC', 'HD2' ],
5265
+ 'Nexus HD2' => [ 'HTC', 'HD2' ],
5266
+ 'HD2 LEO' => [ 'HTC', 'HD2' ],
5267
+ 'HD7 Pro' => [ 'HTC', 'HD7 Pro' ],
5268
+ 'Hero' => [ 'HTC', 'Hero' ],
5269
+ 'HERO CDMA' => [ 'HTC', 'Hero' ],
5270
+ 'HERO200' => [ 'HTC', 'Hero 200' ],
5271
+ 'Incredible ?S!' => [ 'HTC', 'Incredible S' ],
5272
+ 'Incredible ?2!' => [ 'HTC', 'Incredible 2' ],
5273
+ 'Incredible 4G LTE' => [ 'HTC', 'Incredible' ],
5274
+ 'Inspire 4G' => [ 'HTC', 'Inspire 4G' ],
5275
+ 'Legend' => [ 'HTC', 'Legend' ],
5276
+ 'Docomo HT-03A' => [ 'HTC', 'Magic HT-03A', 'carrier' => 'DoCoMo' ],
5277
+ 'One S' => [ 'HTC', 'One S' ],
5278
+ 'One X' => [ 'HTC', 'One X' ],
5279
+ 'One X+' => [ 'HTC', 'One X+' ],
5280
+ 'One XL' => [ 'HTC', 'One XL' ],
5281
+ 'One V' => [ 'HTC', 'One V' ],
5282
+ 'One' => [ 'HTC', 'One' ],
5283
+ 'One M7' => [ 'HTC', 'One' ],
5284
+ 'EndeavorU' => [ 'HTC', 'One X' ],
5285
+ '2PQ93' => [ 'HTC', 'One (A9)' ],
5286
+ 'one m8' => [ 'HTC', 'One (M8)' ],
5287
+ 'Rezound' => [ 'HTC', 'Rezound' ],
5288
+ 'MIUI.us Sensation 4G' => [ 'HTC', 'Sensation 4G' ],
5289
+ 'SensationXE!' => [ 'HTC', 'Sensation XE' ],
5290
+ 'SensationXL!' => [ 'HTC', 'Sensation XL' ],
5291
+ 'Sensation XL with Beats Audio' => [ 'HTC', 'Sensation XL' ],
5292
+ 'Sensation!' => [ 'HTC', 'Sensation' ],
5293
+ 'Pyramid' => [ 'HTC', 'Sensation' ],
5294
+ 'Touch Pro 2' => [ 'HTC', 'Touch Pro II' ],
5295
+ 'TripNiCE Pyramid' => [ 'HTC', 'Sensation' ],
5296
+ 'VitMod ExtraLite 1.6.5.fullodex for HTC HD7 Pro' => [ 'HTC', 'HD7 Pro' ],
5297
+ 'Vivid 4G' => [ 'HTC', 'Vivid 4G' ],
5298
+ 'Wildfire S!' => [ 'HTC', 'Wildfire S' ],
5299
+ 'Wildfire!' => [ 'HTC', 'Wildfire' ],
5300
+ 'Click' => [ 'HTC', 'Tattoo' ],
5301
+
5302
+ 'Sprint!!' => [
5303
+ 'Sprint APX515CKT' => [ 'HTC', 'EVO 3D' ],
5304
+ 'Sprint APA9292KT' => [ 'HTC', 'EVO 4G' ],
5305
+ 'Sprint APA7373KT' => [ 'HTC', 'EVO Shift 4G' ],
5306
+ 'Sprint APC715CKT' => [ 'HTC', 'EVO Design 4G' ],
5307
+ 'Sprint ATP515CKIT' => [ 'HTC', 'EVO View 4G', DeviceType::TABLET ],
5308
+ ],
5309
+
5310
+ '710C' => [ 'HTC', 'Desire 816' ],
5311
+ '801a' => [ 'HTC', 'One' ],
5312
+ '801s' => [ 'HTC', 'One' ],
5313
+ '802w' => [ 'HTC', 'One' ],
5314
+ '831C' => [ 'HTC', 'One (M8)' ],
5315
+ '909d' => [ 'HTC', '909d' ], // COS
5316
+ '9088' => [ 'HTC', '9088' ], // COS
5317
+
5318
+ 'A320a' => [ 'HTC', 'Desire C' ],
5319
+ 'A3380' => [ 'HTC', 'Wildfire' ],
5320
+ 'A6277' => [ 'HTC', 'Hero' ],
5321
+ 'a7272' => [ 'HTC', 'Desire Z' ],
5322
+ 'A7272+(HTC DesireZ)' => [ 'HTC', 'Desire Z' ],
5323
+ 'C525c' => [ 'HTC', 'One SV' ],
5324
+ 'D816(d|t|v|w|x)!' => [ 'HTC', 'Desire 816' ],
5325
+ 'D820mt' => [ 'HTC', 'Desire 820 Mini' ],
5326
+ 'S710d' => [ 'HTC', 'Droid Incredible 2' ],
5327
+ 'S710D' => [ 'HTC', 'Droid Incredible 2' ],
5328
+ 'T320a' => [ 'HTC', 'One V' ],
5329
+ 'X325a' => [ 'HTC', 'One X' ],
5330
+ 'X515d' => [ 'HTC', 'EVO 3D' ],
5331
+ 'X515e' => [ 'HTC', 'EVO 4G+' ],
5332
+ 'X525a' => [ 'HTC', 'One X+' ],
5333
+ 'X710E' => [ 'HTC', 'Raider 4G' ],
5334
+ 'X920e' => [ 'HTC', 'J Butterfly' ],
5335
+ 'Z520m' => [ 'HTC', 'One S' ],
5336
+ 'Z710' => [ 'HTC', 'Sensation' ],
5337
+ 'Z710e' => [ 'HTC', 'Sensation' ],
5338
+ 'Z715e' => [ 'HTC', 'Sensation XE' ],
5339
+ 'T9199h' => [ 'HTC', 'T9199h' ],
5340
+
5341
+ '(HTC|PCD|USCC)?ADR[0-9]{4,4}!!' => [
5342
+ 'ADR6200' => [ 'HTC', 'Droid Eris' ],
5343
+ 'ADR6225' => [ 'HTC', 'Wildfire 6225' ],
5344
+ 'HTCADR6290US' => [ 'HTC', 'One V' ],
5345
+ 'ADR6300' => [ 'HTC', 'Droid Incredible' ],
5346
+ 'ADR6325!' => [ 'HTC', 'Merge' ],
5347
+ 'ADR6330VW' => [ 'HTC', 'Rhyme' ],
5348
+ 'ADR6350' => [ 'HTC', 'Droid Incredible 2' ],
5349
+ 'ADR6400L!' => [ 'HTC', 'Thunderbolt 4G' ],
5350
+ 'ADR6410LRA!' => [ 'HTC', 'Droid Incredible 4G' ],
5351
+ 'ADR6410LVW!' => [ 'HTC', 'Droid Incredible 4G' ],
5352
+ 'ADR6410OM' => [ 'HTC', 'Droid Incredible 4G' ],
5353
+ 'ADR6425LVW!' => [ 'HTC', 'Rezound' ],
5354
+ 'pcdadr6350' => [ 'HTC', 'Droid Incredible 2' ],
5355
+ 'USCCADR6275US!' => [ 'HTC', 'Desire' ],
5356
+ 'USCCADR6285US!' => [ 'HTC', 'Hero S' ],
5357
+ 'USCCADR6325US!' => [ 'HTC', 'Merge' ],
5358
+ 'USCCADR6230US!' => [ 'HTC', 'Wildfire S' ],
5359
+ ],
5360
+
5361
+ 'ERIS ADR6200' => [ 'HTC', 'Droid Eris' ],
5362
+ 'ATP515CKIT' => [ 'HTC', 'EVO View 4G' ],
5363
+ 'Coquettish Red' => [ 'HTC', 'Rezound' ],
5364
+ 'PB99400' => [ 'HTC', 'Desire' ],
5365
+ 'PC36100!' => [ 'HTC', 'EVO 4G' ],
5366
+ 'PG06100' => [ 'HTC', 'EVO Shift 4G' ],
5367
+ 'PG41200' => [ 'HTC', 'EVO View 4G', DeviceType::TABLET ],
5368
+ 'PG86100!' => [ 'HTC', 'EVO 3D' ],
5369
+ 'PH44100' => [ 'HTC', 'EVO Design 4G' ],
5370
+ 'PJ83100' => [ 'HTC', 'One X' ],
5371
+ 'PJ35100' => [ 'HTC', 'One VX' ],
5372
+ 'PM36100' => [ 'HTC', 'One VX' ],
5373
+ 'PM63100' => [ 'HTC', 'One X+' ],
5374
+ '0PCV1' => [ 'HTC', 'Desire 510' ],
5375
+ '0PM92' => [ 'HTC', 'Desire 626s' ],
5376
+ '0PJA1!' => [ 'HTC', 'One (M9)' ],
5377
+ '0PJA2!' => [ 'HTC', 'One (M9)' ],
5378
+ '0PKV1' => [ 'HTC', 'One (M8s)' ],
5379
+ '0PAJ5' => [ 'HTC', 'One (E8)' ],
5380
+ 'M7CDTU' => [ 'HTC', 'One' ],
5381
+
5382
+ '[SX0][0-9]{2,2}HT!!' => [
5383
+ 'S31HT' => [ 'HTC', 'Aria S31HT', 'carrier' => 'EMOBILE' ],
5384
+ 'X06HT' => [ 'HTC', 'Desire X06HT', 'carrier' => 'Softbank' ],
5385
+ '001HT' => [ 'HTC', 'Desire HD 001HT', 'carrier' => 'Softbank' ],
5386
+ ],
5387
+
5388
+ 'ISW[0-9]{2,2}HT!!' => [
5389
+ 'ISW11HT!' => [ 'HTC', 'EVO WiMAX ISW11HT', 'carrier' => 'au' ],
5390
+ 'ISW12HT!' => [ 'HTC', 'EVO 3D ISW12HT', 'carrier' => 'au' ],
5391
+ 'ISW13HT!' => [ 'HTC', 'J ISW13HT', 'carrier' => 'au' ],
5392
+ ],
5393
+
5394
+ '(HTC )?HT[LV][0-9]{2,2}!!' => [
5395
+ 'HTL21!' => [ 'HTC', 'J Butterfly HTL21', 'carrier' => 'au' ],
5396
+ 'HTL22' => [ 'HTC', 'J One HTL22', 'carrier' => 'au' ],
5397
+ 'HTC HTL22' => [ 'HTC', 'J One HTL22', 'carrier' => 'au' ],
5398
+ 'HTL23!' => [ 'HTC', 'J Butterfly HTL23', 'carrier' => 'au' ],
5399
+ 'HTV31!' => [ 'HTC', 'J Butterfly HTV31', 'carrier' => 'au' ],
5400
+ 'HTV32!' => [ 'HTC', '10 HTV32', 'carrier' => 'au' ],
5401
+ ],
5402
+
5403
+ 'GT-T9500' => [ 'HTM', 'GT-T9500' ],
5404
+ 'SM-H900A' => [ 'HTM', 'SM-H900A' ],
5405
+
5406
+ 'Huawei MediaPad' => [ 'Huawei', 'MediaPad', DeviceType::TABLET ],
5407
+ 'Huawei OsiMood MediaPad' => [ 'Huawei', 'MediaPad', DeviceType::TABLET ],
5408
+ 'HUAWEI MediaPad M1 8.0' => [ 'Huawei', 'MediaPad M1', DeviceType::TABLET ],
5409
+ 'Huawei MediaPad T1 7.0 3G' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5410
+ 'Huawei MediaPad T1 8.0 4G' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5411
+ 'Huawei MediaPad T1 10 4G' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5412
+
5413
+ 'MediaPad!!' => [
5414
+ 'MediaPad' => [ 'Huawei', 'MediaPad', DeviceType::TABLET ],
5415
+ 'MediaPad 7 FHD' => [ 'Huawei', 'MediaPad 7', DeviceType::TABLET ],
5416
+ 'MediaPad 7 Classic' => [ 'Huawei', 'MediaPad 7 Classic', DeviceType::TABLET ],
5417
+ 'MediaPad 7 Lite' => [ 'Huawei', 'MediaPad 7 Lite', DeviceType::TABLET ],
5418
+ 'MediaPad 7 Lite+' => [ 'Huawei', 'MediaPad 7 Lite+', DeviceType::TABLET ],
5419
+ 'MediaPad 7 Lite II' => [ 'Huawei', 'MediaPad 7 Lite II', DeviceType::TABLET ],
5420
+ 'MediaPad 7 Vivid' => [ 'Huawei', 'MediaPad 7 Vivid', DeviceType::TABLET ],
5421
+ 'MediaPad 7 Vogue' => [ 'Huawei', 'MediaPad 7 Vogue', DeviceType::TABLET ],
5422
+ 'MediaPad 7 Voguevivi' => [ 'Huawei', 'MediaPad 7 Vogue', DeviceType::TABLET ],
5423
+ 'MediaPad 7 Youth' => [ 'Huawei', 'MediaPad 7 Youth', DeviceType::TABLET ],
5424
+ 'MediaPad 7 Youth2' => [ 'Huawei', 'MediaPad 7 Youth 2', DeviceType::TABLET ],
5425
+ 'MediaPad 7 Youth 2' => [ 'Huawei', 'MediaPad 7 Youth 2', DeviceType::TABLET ],
5426
+ 'MediaPad 8 Vogue' => [ 'Huawei', 'MediaPad 8 Vogue', DeviceType::TABLET ],
5427
+ 'MediaPad 10 FHD' => [ 'Huawei', 'MediaPad 10', DeviceType::TABLET ],
5428
+ 'MediaPad 10 LINK' => [ 'Huawei', 'MediaPad 10 Link', DeviceType::TABLET ],
5429
+ 'MediaPad 10 Link+' => [ 'Huawei', 'MediaPad 10 Link', DeviceType::TABLET ],
5430
+ 'MediaPad M1 8.0' => [ 'Huawei', 'MediaPad M1', DeviceType::TABLET ],
5431
+ 'MediaPad M1 8.0 (LTE)' => [ 'Huawei', 'MediaPad M1', DeviceType::TABLET ],
5432
+ 'MediaPad M1 8.0 (WIFI)' => [ 'Huawei', 'MediaPad M1', DeviceType::TABLET ],
5433
+ 'MediaPad T1 8.0' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5434
+ 'MediaPad T1 8.0 LTE' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5435
+ 'MediaPad T1 8.0 Pro' => [ 'Huawei', 'MediaPad T1 Pro', DeviceType::TABLET ],
5436
+ 'MediaPad X1 7.0' => [ 'Huawei', 'MediaPad X1', DeviceType::TABLET ],
5437
+ 'MediaPad X1' => [ 'Huawei', 'MediaPad X1', DeviceType::TABLET ],
5438
+ 'MediaPad 7D' => [ 'Huawei', 'MediaPad X1', DeviceType::TABLET ],
5439
+ 'MediaPad X1 S 7.0' => [ 'Huawei', 'MediaPad X1 S', DeviceType::TABLET ],
5440
+ ],
5441
+
5442
+ '(Huawei )?[MSTX](1|2|7|8|10)\-[A-Z0-9][0-9]{2,2}!!' => [
5443
+ 'Huawei S7-312u' => [ 'Huawei', 'MediaPad', DeviceType::TABLET ],
5444
+ 'S7-721u' => [ 'Huawei', 'MediaPad 7 Youth 2', DeviceType::TABLET ],
5445
+ 'S10-232L' => [ 'Huawei', 'MediaPad 10 Link', DeviceType::TABLET ],
5446
+ 'S8-303L' => [ 'Huawei', 'MediaPad M1', DeviceType::TABLET ],
5447
+ 'S8-303LT' => [ 'Huawei', 'MediaPad M1', DeviceType::TABLET ],
5448
+ 'S8-306L' => [ 'Huawei', 'MediaPad M1', DeviceType::TABLET ],
5449
+ 'HUAWEI M2-A01L' => [ 'Huawei', 'MediaPad M2', DeviceType::TABLET ],
5450
+ 'HUAWEI M2-A01W' => [ 'Huawei', 'MediaPad M2', DeviceType::TABLET ],
5451
+ 'HUAWEI M2-801L' => [ 'Huawei', 'MediaPad M2', DeviceType::TABLET ],
5452
+ 'HUAWEI M2-801W' => [ 'Huawei', 'MediaPad M2', DeviceType::TABLET ],
5453
+ 'Huawei M2-802L' => [ 'Huawei', 'MediaPad M2', DeviceType::TABLET ],
5454
+ 'HUAWEI M2-803L' => [ 'Huawei', 'MediaPad M2', DeviceType::TABLET ],
5455
+ 'S8-701u' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5456
+ 'T1-A21L' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5457
+ 'T1-A21w' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5458
+ 'T1-A22L' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5459
+ 'T1-A23L' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5460
+ 'T1-701u' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5461
+ 'T1-701ua' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5462
+ 'T1-701w' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5463
+ 'T1-821w' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5464
+ 'T1-821L' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5465
+ 'T1-823L' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5466
+ 'S8-701w' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5467
+ 'S8-821w' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5468
+ ],
5469
+
5470
+ 'T1 7.0' => [ 'Huawei', 'MediaPad T1', DeviceType::TABLET ],
5471
+ 'X1 7.0' => [ 'Huawei', 'MediaPad X1', DeviceType::TABLET ],
5472
+ '7D-501u' => [ 'Huawei', 'MediaPad X1', DeviceType::TABLET ],
5473
+
5474
+ '(HUAWEI )?(CRR|MATE|MT1|MT2|MT7|M200|NXT|Z100)!!' => [
5475
+ '(HW-|HUAWEI )?MT1-(T00|U06)!' => [ 'Huawei', 'Ascend Mate' ],
5476
+ '(HW-|HUAWEI )?MATE-U06' => [ 'Huawei', 'Ascend Mate' ],
5477
+ '(HW-|HUAWEI )?MT2-?(C00|L01|L02|L03|L05)!' => [ 'Huawei', 'Ascend Mate 2' ],
5478
+ '(HW-|HUAWEI )?MT7-(L09|J1|CL00|TL00|TL10|UL00)!' => [ 'Huawei', 'Ascend Mate 7' ],
5479
+ '(HW-|HUAWEI )?Z100-(L09|TL00)!' => [ 'Huawei', 'Ascend Mate 7' ],
5480
+ '(HW-|HUAWEI )?NXT-(AL10|CL00|DL00|L09|L29|TL00|UL00|UL10)!' => [ 'Huawei', 'Mate 8' ],
5481
+ '(HW-|HUAWEI )?M200-(UL00)!' => [ 'Huawei', 'Mate 8' ],
5482
+ '(HW-|HUAWEI )?CRR-(L09|CL00|CL20|TL00|UL00|UL20)!' => [ 'Huawei', 'Mate S' ],
5483
+ ],
5484
+
5485
+ '(HW-|HUAWEI )?(TIT|TAG)!!' => [
5486
+ '(HW-|HUAWEI )?TIT-(AL00|CL00|CL10|L01|TL00|U02)!' => [ 'Huawei', 'Enjoy 5' ],
5487
+ '(HW-|HUAWEI )?TAG-(AL00|CL00|TL00)!' => [ 'Huawei', 'Enjoy 5S' ],
5488
+ ],
5489
+
5490
+ '(HW-|HUAWEI |HONOR )?(ATH|CHE|CHM|HN3|H30|H60|HOL|KIW|NEM|NMO|PE|PLK|SCL|KNT|CAM)!!' => [
5491
+ 'H30 U10' => [ 'Huawei', 'Honor 3C' ],
5492
+ '(HW-|HUAWEI )?HN3-(U00|U01)!' => [ 'Huawei', 'Honor 3' ],
5493
+ '(HW-|HUAWEI |HONOR )?H30[- ](C00|L01|L02|T00|T10|U10)!' => [ 'Huawei', 'Honor 3C' ],
5494
+ '(HW-|HUAWEI )?HOL-(T00|U10|U19)!' => [ 'Huawei', 'Honor 3C' ],
5495
+ '(HW-|HUAWEI )?CHM-(CL00|TL00H|TL00|U01|UL00)!' => [ 'Huawei', 'Honor Play 4C' ],
5496
+ '(HW-|HUAWEI )?SCL-(L01|L02|L03|L04|L21|L32|L001|L004|AL00|CL00|TL00|TL00H|U31)!' => [ 'Huawei', 'Honor 4A' ],
5497
+ '(HW-|HUAWEI )?CHE-(TL00|TL00H)!' => [ 'Huawei', 'Honor 4X' ],
5498
+ '(HW-|HUAWEI )?Che1-(L04|CL10|CL20)!' => [ 'Huawei', 'Honor 4X' ],
5499
+ '(HW-|HUAWEI )?Che2-(L11|L12|L23|TL00|UL00)!' => [ 'Huawei', 'Honor 4X' ],
5500
+ '(HW-|HUAWEI )?NEM-(L22|TL00H)!' => [ 'Huawei', 'Honor 5C' ],
5501
+ '(HW-|HUAWEI )?NMO-(L23)!' => [ 'Huawei', 'Honor 5C' ],
5502
+ '(HW-|HUAWEI )?KIW-(AL10|CL00|L21|L22|L24|UL00|TL00|TL00H)!' => [ 'Huawei', 'Honor 5X' ],
5503
+ '(HW-|HUAWEI )?H60-(J1|L01|L02|L03|L04|L11|L12|L21)!' => [ 'Huawei', 'Honor 6' ],
5504
+ '(HW-|HUAWEI )?PE-(CL00|TL00|TL10|TL20|UL00)!' => [ 'Huawei', 'Honor 6 Plus' ],
5505
+ '(HW-|HUAWEI )?PLK-(L01|AL10|CL00|UL00|TL00|TL01H)!' => [ 'Huawei', 'Honor 7' ],
5506
+ '(HW-|HUAWEI )?ATH-(AL00|CL00|TL00|TL00H|UL00)!' => [ 'Huawei', 'Honor 7i' ],
5507
+ '(HW-|HUAWEI )?ATH-(UL01|UL06)!' => [ 'Huawei', 'Honor ShotX' ],
5508
+ '(HW-|HUAWEI )?KNT-(AL10)!' => [ 'Huawei', 'Honor V8' ],
5509
+ // '(HW-|HUAWEI )?CAM-(L03|AL00|CL00|TL00)!' => [ 'Huawei', 'Honor' ],
5510
+ ],
5511
+
5512
+ '(HW-|HUAWEI )?(CHC|KII)!!' => [
5513
+ '(HW-|HUAWEI )?CHC-(U01|U03|U23)!' => [ 'Huawei', 'G Play Mini' ],
5514
+ '(HW-|HUAWEI )?KII-(L03|L05|L21|L22|L23)!' => [ 'Huawei', 'GR5' ],
5515
+ ],
5516
+
5517
+ '(HW-|HUAWEI )?(ALE|D2|EVA|G6|G7|GRA|M100|P2|P6|P7|RIO|SC|Sophia|VIE|VNS)!!' => [
5518
+ 'HUAWEI D2' => [ 'Huawei', 'Ascend D2' ],
5519
+ '(HW-|HUAWEI )?D2-(0082|2010|5000|6070|6114)!' => [ 'Huawei', 'Ascend D2' ],
5520
+ '(HW-|HUAWEI )?G6-(C00|L11|L22|L33|T00|U00|U10|U34|U251)!' => [ 'Huawei', 'Ascend G6' ],
5521
+ '(HW-|HUAWEI )?G7-(L01|L02|L03|L11|TL00|UL20)!' => [ 'Huawei', 'Ascend G7' ],
5522
+ 'HUAWEI G7' => [ 'Huawei', 'Ascend G7' ],
5523
+ '(HW-|HUAWEI )?RIO-(L01|L02|L03|AL00|UL00|CL00|TL00)!' => [ 'Huawei', 'Ascend G8' ],
5524
+ '(HW-|HUAWEI )?SC-(CL00|UL10)!' => [ 'Huawei', 'Ascend GX1' ],
5525
+ '(HW-|HUAWEI )?P2-(0000|6011|6070)!' => [ 'Huawei', 'Ascend P2' ],
5526
+ '(HW-|HUAWEI )?P6-(C00|U00|U06|T00|T00V|VIP)!' => [ 'Huawei', 'Ascend P6' ],
5527
+ '(HW-|HUAWEI )?P6 ?S-U06!' => [ 'Huawei', 'Ascend P6' ],
5528
+ '(HW-|HUAWEI )?Sophia-(L07|L10)!' => [ 'Huawei', 'Ascend P7' ],
5529
+ '(HW-|HUAWEI )?P7-(L00|L05|L07|L09|L10|L11|L12)!' => [ 'Huawei', 'Ascend P7' ],
5530
+ '(HW-|HUAWEI )?M100-(CL00|L09|TL00|UL00)!' => [ 'Huawei', 'P8' ],
5531
+ '(HW-|HUAWEI )?GRA-(CL00|CL10|L09|TL00|UL00|UL10)!' => [ 'Huawei', 'P8' ],
5532
+ '(HW-|HUAWEI )?ALE-?(L02|L04|L21|L23|CL00|TL00|UL00)!' => [ 'Huawei', 'P8 Lite' ],
5533
+ '(HW-|HUAWEI )?EVA-?(AL00|AL10|DL00)!' => [ 'Huawei', 'P9' ],
5534
+ '(HW-|HUAWEI )?VNS-?(L21|L53)!' => [ 'Huawei', 'P9 Lite' ],
5535
+ '(HW-|HUAWEI )?VIE-?(AL00|L29)!' => [ 'Huawei', 'P9 Plus' ],
5536
+ ],
5537
+
5538
+ 'Huawei P7 mini' => [ 'Huawei', 'Ascend P7 mini' ],
5539
+ 'Huawei P8max' => [ 'Huawei', 'P8 max' ],
5540
+
5541
+ 'G[0-9]{3,3}!!' => [
5542
+ 'G350-U151' => [ 'Huawei', 'Ascend G350' ],
5543
+ 'G521-(L076|L176)!' => [ 'Huawei', 'Ascend G521' ],
5544
+ 'G526-(L11|L22|L33)!' => [ 'Huawei', 'Ascend G526' ],
5545
+ 'G527-(U081)!' => [ 'Huawei', 'Ascend G527' ],
5546
+ 'G535-(L11)!' => [ 'Huawei', 'Ascend G535' ],
5547
+ 'G610[ -](T00|T11|U00)!' => [ 'Huawei', 'Ascend G610' ],
5548
+ 'G615-U10' => [ 'Huawei', 'Ascend G615' ],
5549
+ 'G616-T00' => [ 'Huawei', 'Ascend G616' ],
5550
+ 'G618' => [ 'Huawei', 'Ascend G618' ],
5551
+ 'G620-L75' => [ 'Huawei', 'Ascend G620' ],
5552
+ 'G620S-(L01|L02|L03|UL00)!' => [ 'Huawei', 'Ascend G620S' ],
5553
+ 'G621-(TL00|TL00M)!' => [ 'Huawei', 'Ascend G621' ],
5554
+ 'G629-(UL00)!' => [ 'Huawei', 'Ascend G629' ],
5555
+ 'G630-(U00|U10|U20|U251)!' => [ 'Huawei', 'Ascend G630' ],
5556
+ 'G735-(L03|L12|L23)!' => [ 'Huawei', 'Ascend G735' ],
5557
+ 'G740-L00' => [ 'Huawei', 'Ascend G740' ],
5558
+ 'G750-(T00|T01)!' => [ 'Huawei', 'Ascend G750' ],
5559
+ 'G760-(L01|TL00)!' => [ 'Huawei', 'Ascend G760' ],
5560
+ ],
5561
+
5562
+ 'Y[0-9]{3,3}!!' => [
5563
+ 'Y220-(U00|U05|U10|U17)!' => [ 'Huawei', 'Ascend Y220' ],
5564
+ 'Y220T' => [ 'Huawei', 'Ascend Y220' ],
5565
+ 'Y320-(U01|U10)!' => [ 'Huawei', 'Ascend Y320' ],
5566
+ 'Y325-T00' => [ 'Huawei', 'Ascend Y325' ],
5567
+ 'Y330-U11' => [ 'Huawei', 'Ascend Y330' ],
5568
+ 'Y340-U081' => [ 'Huawei', 'Ascend Y340' ],
5569
+ 'Y511' => [ 'Huawei', 'Ascend Y511' ],
5570
+ 'Y511-(T00|U00)!' => [ 'Huawei', 'Ascend Y511' ],
5571
+ 'Y536A1' => [ 'Huawei', 'Ascend Y536' ],
5572
+ 'Y540-U01' => [ 'Huawei', 'Ascend Y540' ],
5573
+ 'Y541-U02' => [ 'Huawei', 'Ascend Y541' ],
5574
+ 'Y550-(L02|L03)!' => [ 'Huawei', 'Ascend Y550' ],
5575
+ 'Y560-L01' => [ 'Huawei', 'Ascend Y560' ],
5576
+ 'Y600-U00' => [ 'Huawei', 'Ascend Y600' ],
5577
+ 'Y618-T00' => [ 'Huawei', 'Ascend Y618' ],
5578
+ 'Y635-(L01|L02|L03|L21|L22)!' => [ 'Huawei', 'Ascend Y635' ],
5579
+ ],
5580
+
5581
+ 'HUAWEI LUA-(L03|U23)!' => [ 'Huawei', 'Y3 II' ],
5582
+ 'HUAWEI CUN-(L03|U29)!' => [ 'Huawei', 'Y5 II' ],
5583
+ 'HUAWEI SCC-U21' => [ 'Huawei', 'Y6' ],
5584
+
5585
+ '(Huawei|Ascend|HW-)!!' => [
5586
+ 'Huawei A199' => [ 'Huawei', 'A199' ],
5587
+ 'Huawei B199' => [ 'Huawei', 'B199' ],
5588
+ 'Huawei C199' => [ 'Huawei', 'C199' ],
5589
+ 'HUAWEI C199s' => [ 'Huawei', 'C199s' ],
5590
+ 'Huawei C8500!' => [ 'Huawei', 'C8500' ],
5591
+ 'HUAWEI C8550!' => [ 'Huawei', 'C8550' ],
5592
+ 'Huawei C8600' => [ 'Huawei', 'C8600' ],
5593
+ 'HW-C8600!' => [ 'Huawei', 'C8600' ],
5594
+ 'Huawei C8650!' => [ 'Huawei', 'C8650' ],
5595
+ 'Huawei C8655' => [ 'Huawei', 'Ascend Y201C' ],
5596
+ 'Huawei C8800' => [ 'Huawei', 'IDEOS X5' ],
5597
+ 'Huawei C8810!' => [ 'Huawei', 'Ascend G300' ],
5598
+ 'Huawei C8812!' => [ 'Huawei', 'Ascend C8812' ],
5599
+ 'Ascend C8812' => [ 'Huawei', 'Ascend C8812' ],
5600
+ 'Huawei C8813!' => [ 'Huawei', 'Ascend C8813' ],
5601
+ 'Ascend c8813' => [ 'Huawei', 'Ascend C8813' ],
5602
+ 'Ascend C8813Q' => [ 'Huawei', 'Ascend C8813' ],
5603
+ 'Huawei C8815!' => [ 'Huawei', 'Ascend C8815' ],
5604
+ 'Huawei C8816!' => [ 'Huawei', 'Ascend C8816' ],
5605
+ 'Huawei C8817!' => [ 'Huawei', 'C8817' ],
5606
+ 'HW-C8817D!' => [ 'Huawei', 'C8817' ],
5607
+ 'HUAWEI C8818!' => [ 'Huawei', 'C8818' ],
5608
+ 'Huawei C8825D' => [ 'Huawei', 'Ascend G330C' ],
5609
+ 'Huawei C8826D' => [ 'Huawei', 'Ascend G500C' ],
5610
+ 'Huawei C8850' => [ 'Huawei', 'C8850' ],
5611
+ 'Huawei C8860E' => [ 'Huawei', 'Honor' ],
5612
+ 'Huawei C8950D' => [ 'Huawei', 'Honor+' ],
5613
+ 'Huawei G7500' => [ 'Huawei', 'G7500' ],
5614
+ 'Huawei CM990' => [ 'Huawei', 'Evolución 3' ],
5615
+ 'Huawei Evolucion 3' => [ 'Huawei', 'Evolución 3' ],
5616
+ 'Huawei H866C' => [ 'Huawei', 'H866C' ],
5617
+ 'Huawei H867G' => [ 'Huawei', 'H867G' ],
5618
+ 'Huawei H868C' => [ 'Huawei', 'Glory' ],
5619
+ 'Huawei H870C' => [ 'Huawei', 'H870C' ],
5620
+ 'Huawei H871G' => [ 'Huawei', 'Magna' ],
5621
+ 'Huawei H881C' => [ 'Huawei', 'Ascend Plus' ],
5622
+ 'HUAWEI H891L' => [ 'Huawei', 'Pronto' ],
5623
+ 'HUAWEI H892L' => [ 'Huawei', 'Honor 4X' ],
5624
+ 'Huawei M835' => [ 'Huawei', 'M835' ],
5625
+ 'Huawei M860' => [ 'Huawei', 'Ascend' ],
5626
+ 'Huawei M866' => [ 'Huawei', 'Ascend Y' ],
5627
+ 'Huawei M868' => [ 'Huawei', 'M868' ],
5628
+ 'HUAWEI M881' => [ 'Huawei', 'Asura' ],
5629
+ 'Huawei M920' => [ 'Huawei', 'M920' ],
5630
+ 'Huawei M921' => [ 'Huawei', 'M921' ],
5631
+ 'Huawei M931' => [ 'Huawei', 'M931' ],
5632
+ 'Ascend Mate 2' => [ 'Huawei', 'Ascend Mate 2' ],
5633
+ 'Huawei S8520' => [ 'Huawei', 'S8520' ],
5634
+ 'Huawei S8600' => [ 'Huawei', 'S8600' ],
5635
+ 'Huawei T8100' => [ 'Huawei', 'T8100' ],
5636
+ 'Huawei T8300' => [ 'Huawei', 'T8300' ],
5637
+ 'Huawei ?T8500!' => [ 'Huawei', 'T8500' ],
5638
+ 'Huawei T8600' => [ 'Huawei', 'T8600' ],
5639
+ 'Huawei T8620' => [ 'Huawei', 'Ascend Y200T' ],
5640
+ 'Huawei T8808D' => [ 'Huawei', 'Ascend G306T' ],
5641
+ 'Huawei T8828' => [ 'Huawei', 'Ascend G305T' ],
5642
+ 'Huawei T8830' => [ 'Huawei', 'Ascend G309T' ],
5643
+ 'Huawei T8830 ?Pro!' => [ 'Huawei', 'Ascend G309T Pro' ],
5644
+ 'Huawei T8833' => [ 'Huawei', 'Ascend Y300' ],
5645
+ 'Huawei T8950!' => [ 'Huawei', 'Honor+' ],
5646
+ 'Huawei T8951!' => [ 'Huawei', 'Ascend G510' ],
5647
+ 'Huawei T9200' => [ 'Huawei', 'Ascend P1' ],
5648
+ 'Huawei U8110' => [ 'Huawei', 'U8110' ],
5649
+ 'Huawei U8160' => [ 'Huawei', 'U8160' ],
5650
+ 'Huawei U8220' => [ 'Huawei', 'U8220' ],
5651
+ 'Huawei ?U8300!' => [ 'Huawei', 'U8300' ],
5652
+ 'Huawei ?U8500!' => [ 'Huawei', 'IDEOS X2' ],
5653
+ 'Huawei ?U8520!' => [ 'Huawei', 'U8520 Duplex' ],
5654
+ 'Huawei U8600' => [ 'Huawei', 'U8600' ],
5655
+ 'Huawei ?U8650!' => [ 'Huawei', 'Sonic' ],
5656
+ 'Huawei U8651' => [ 'Huawei', 'Prism' ],
5657
+ 'Huawei U8652' => [ 'Huawei', 'Sonic' ],
5658
+ 'Huawei U8661' => [ 'Huawei', 'Sonic+' ],
5659
+ 'Huawei U8665' => [ 'Huawei', 'Fusion 2' ],
5660
+ 'Huawei U8666!' => [ 'Huawei', 'Ascend Y201' ],
5661
+ 'Huawei U8681' => [ 'Huawei', 'Ascend G312' ],
5662
+ 'Huawei U8687' => [ 'Huawei', 'Chronos' ],
5663
+ 'Huawei U8800!' => [ 'Huawei', 'IDEOS X5' ],
5664
+ 'Huawei U8815!' => [ 'Huawei', 'Ascend G300' ],
5665
+ 'Huawei U8818' => [ 'Huawei', 'Ascend G300' ],
5666
+ 'Huawei U8825D' => [ 'Huawei', 'Ascend G330D' ],
5667
+ 'Huawei U8825-1' => [ 'Huawei', 'Ascend G330' ],
5668
+ 'HUAWEI G330-0100' => [ 'Huawei', 'Ascend G330' ],
5669
+ 'Huawei u8833' => [ 'Huawei', 'Ascend Y300' ],
5670
+ 'Huawei u8836d' => [ 'Huawei', 'Ascend G500' ],
5671
+ 'Huawei U8850' => [ 'Huawei', 'Vision' ],
5672
+ 'Huawei U8860' => [ 'Huawei', 'Honor' ],
5673
+ 'Huawei Honor' => [ 'Huawei', 'Honor' ],
5674
+ 'Huawei U8950!' => [ 'Huawei', 'Ascend G600' ],
5675
+ 'HUAWEI U8951!' => [ 'Huawei', 'Ascend G510' ],
5676
+ 'Huawei ?U9000!' => [ 'Huawei', 'Ascend X' ],
5677
+ 'HUAWEI HONOR 2' => [ 'Huawei', 'Honor 2' ],
5678
+ 'Huawei U9508' => [ 'Huawei', 'Honor 2' ],
5679
+ 'Huawei ?U9508!' => [ 'Huawei', 'Honor 2 Quad-core' ],
5680
+ 'Ascend D1' => [ 'Huawei', 'Ascend D1' ],
5681
+ 'Huawei U9510!' => [ 'Huawei', 'Ascend D quad' ],
5682
+ 'Huawei EDGE' => [ 'Huawei', 'Ascend P6' ],
5683
+ 'Huawei Ascend P6' => [ 'Huawei', 'Ascend P6' ],
5684
+ 'Ascend P7' => [ 'Huawei', 'Ascend P7' ],
5685
+ 'Huawei Ideos X1' => [ 'Huawei', 'IDEOS X1' ],
5686
+ 'Huawei IDEOS U8500' => [ 'Huawei', 'IDEOS X2' ],
5687
+ 'Huawei IDEOS U8650' => [ 'Huawei', 'Sonic' ],
5688
+ 'Huawei IDEOS X3' => [ 'Huawei', 'IDEOS X3' ],
5689
+ 'Huawei Ideos X5!' => [ 'Huawei', 'IDEOS X5' ],
5690
+ 'Huawei X6' => [ 'Huawei', 'IDEOS X6' ],
5691
+ 'Huawei IDEOS Y 200' => [ 'Huawei', 'IDEOS Y200' ],
5692
+ 'Huawei SONIC' => [ 'Huawei', 'Sonic' ],
5693
+ 'Huawei 8100-9' => [ 'Huawei', 'U8100' ],
5694
+ 'Huawei UM840' => [ 'Huawei', 'UM840' ],
5695
+ 'Huawei Ascend G 300' => [ 'Huawei', 'Ascend G300' ],
5696
+ 'Huawei G300' => [ 'Huawei', 'Ascend G300' ],
5697
+ 'Ascend G300' => [ 'Huawei', 'Ascend G300' ],
5698
+ 'Ascend G301' => [ 'Huawei', 'Ascend G301' ],
5699
+ 'Ascend G330' => [ 'Huawei', 'Ascend G330' ],
5700
+ 'Huawei Ascend G 330' => [ 'Huawei', 'Ascend G330' ],
5701
+ 'Huawei G350!' => [ 'Huawei', 'Ascend G350' ],
5702
+ 'Huawei G506!' => [ 'Huawei', 'Ascend G506' ],
5703
+ 'Huawei ?G510!' => [ 'Huawei', 'Ascend G510' ],
5704
+ 'Ascend G510c' => [ 'Huawei', 'Ascend G510c' ],
5705
+ 'Huawei Ascend G510' => [ 'Huawei', 'Ascend G510' ],
5706
+ 'Ascend G510' => [ 'Huawei', 'Ascend G510' ],
5707
+ 'Huawei G520!' => [ 'Huawei', 'Ascend G520' ],
5708
+ 'HUAWEI G521!' => [ 'Huawei', 'Ascend G521' ],
5709
+ 'Huawei G525!' => [ 'Huawei', 'Ascend G525' ],
5710
+ 'HUAWEI Ascend G525' => [ 'Huawei', 'Ascend G525' ],
5711
+ 'Huawei G535!' => [ 'Huawei', 'Ascend G535' ],
5712
+ 'Ascend G600' => [ 'Huawei', 'Ascend G600' ],
5713
+ 'Huawei G606!' => [ 'Huawei', 'Ascend G606' ],
5714
+ 'Huawei G610!' => [ 'Huawei', 'Ascend G610' ],
5715
+ 'Huawei G615!' => [ 'Huawei', 'Ascend G615' ],
5716
+ 'HUAWEI G616!' => [ 'Huawei', 'Ascend G616' ],
5717
+ 'Huawei G620!' => [ 'Huawei', 'Ascend G620' ],
5718
+ 'Huawei G621!' => [ 'Huawei', 'Ascend G621' ],
5719
+ 'Huawei G628!' => [ 'Huawei', 'Ascend G628' ],
5720
+ 'Huawei G629!' => [ 'Huawei', 'Ascend G629' ],
5721
+ 'Huawei G630!' => [ 'Huawei', 'Ascend G630' ],
5722
+ 'HUAWEI G660!' => [ 'Huawei', 'Ascend G660' ],
5723
+ 'Huawei G700!' => [ 'Huawei', 'Ascend G700' ],
5724
+ 'Huawei G701!' => [ 'Huawei', 'Ascend G701' ],
5725
+ 'Huawei ?G716!' => [ 'Huawei', 'Ascend G716' ],
5726
+ 'Huawei G718!' => [ 'Huawei', 'Ascend G718' ],
5727
+ 'Huawei G730!' => [ 'Huawei', 'Ascend G730' ],
5728
+ 'Huawei G750!' => [ 'Huawei', 'Ascend G750' ],
5729
+ 'Huawei G760-(L01|L071)!' => [ 'Huawei', 'Ascend G760' ],
5730
+ 'Huawei G760S-(UL00)!' => [ 'Huawei', 'Ascend G760' ],
5731
+ 'Huawei Ascend Y 210' => [ 'Huawei', 'Ascend Y210' ],
5732
+ 'Huawei Ascend Y 210D' => [ 'Huawei', 'Ascend Y210' ],
5733
+ 'Huawei Asend Y 210D' => [ 'Huawei', 'Ascend Y210' ],
5734
+ 'Huawei Y210!' => [ 'Huawei', 'Ascend Y210' ],
5735
+ 'Ascend Y201PRO' => [ 'Huawei', 'Ascend Y210 Pro' ],
5736
+ 'Huawei Y ?220T!' => [ 'Huawei', 'Ascend Y220' ],
5737
+ 'Huawei Y-220T' => [ 'Huawei', 'Ascend Y220' ],
5738
+ 'Huawei Y220-(T10)!' => [ 'Huawei', 'Ascend Y220' ],
5739
+ 'HUAWEI Y221-(U03|U12|U22|U33|U43|U53)!' => [ 'Huawei', 'Ascend Y221' ],
5740
+ 'Huawei ?Y300!' => [ 'Huawei', 'Ascend Y300' ],
5741
+ 'Ascend Y300' => [ 'Huawei', 'Ascend Y300' ],
5742
+ 'Huawei Ascend Y300' => [ 'Huawei', 'Ascend Y300' ],
5743
+ 'Huawei Y301!' => [ 'Huawei', 'Ascend Y301' ],
5744
+ 'Huawei Y310!' => [ 'Huawei', 'Ascend Y310' ],
5745
+ 'Huawei Y320!' => [ 'Huawei', 'Ascend Y320' ],
5746
+ 'Huawei Y321!' => [ 'Huawei', 'Ascend Y321' ],
5747
+ 'Huawei Y325!' => [ 'Huawei', 'Ascend Y325' ],
5748
+ 'Huawei Y330!' => [ 'Huawei', 'Ascend Y330' ],
5749
+ 'HUAWEI Y336!' => [ 'Huawei', 'Ascend Y336' ],
5750
+ 'HUAWEI Y360!' => [ 'Huawei', 'Ascend Y360' ],
5751
+ 'Huawei Y500!' => [ 'Huawei', 'Ascend Y500' ],
5752
+ 'Huawei Y511!' => [ 'Huawei', 'Ascend Y511' ],
5753
+ 'Huawei Y516!' => [ 'Huawei', 'Ascend Y516' ],
5754
+ 'Huawei Y518!' => [ 'Huawei', 'Ascend Y518' ],
5755
+ 'HUAWEI Y520!' => [ 'Huawei', 'Ascend Y520' ],
5756
+ 'Huawei Y523!' => [ 'Huawei', 'Ascend Y523' ],
5757
+ 'Huawei Y530!' => [ 'Huawei', 'Ascend Y530' ],
5758
+ 'HUAWEI Y535!' => [ 'Huawei', 'Ascend Y535' ],
5759
+ 'HUAWEI Y536A1' => [ 'AT&T', 'Tribute' ],
5760
+ 'HUAWEI Y536!' => [ 'Huawei', 'Ascend Y536' ],
5761
+ 'HUAWEI Y540-(U01)!' => [ 'Huawei', 'Ascend Y540' ],
5762
+ 'HUAWEI Y541!' => [ 'Huawei', 'Ascend Y541' ],
5763
+ 'HUAWEI Y550' => [ 'Huawei', 'Ascend Y550' ],
5764
+ 'HUAWEI Y550-(L01|L02|L03)!' => [ 'Huawei', 'Ascend Y550' ],
5765
+ 'HUAWEI Y560-(CL00|L01|L02|L03|L23|U02|U03|U12|U23)!' => [ 'Huawei', 'Ascend Y560' ],
5766
+ 'Huawei Y600-(U00|U20|U40|U151|U351)!' => [ 'Huawei', 'Ascend Y600' ],
5767
+ 'HUAWEI Y600D-C00' => [ 'Huawei', 'Ascend Y600D' ],
5768
+ 'HUAWEI Y610-U00' => [ 'Huawei', 'Ascend Y610' ],
5769
+ 'HUAWEI Y618-T00' => [ 'Huawei', 'Ascend Y618' ],
5770
+ 'HUAWEI Y625-(U13|U21|U32|U43|U51)!' => [ 'Huawei', 'Ascend Y625' ],
5771
+ 'HUAWEI Y635!' => [ 'Huawei', 'Ascend Y635' ],
5772
+ 'Huawei Ascend' => [ 'Huawei', 'Ascend' ],
5773
+ 'Huawei Ascend X' => [ 'Huawei', 'Ascend X' ],
5774
+ ],
5775
+
5776
+ 'M650' => [ 'Huawei', 'Express' ],
5777
+ 'M660' => [ 'Huawei', 'Ascend Q' ],
5778
+ 'unknown M200-L09' => [ 'Huawei', 'Mate 8' ],
5779
+ 'Honor3c2G-T' => [ 'Huawei', 'Honor 3C' ],
5780
+ 'HUAWEI Honor 3c w' => [ 'Huawei', 'Honor 3C' ],
5781
+ 'Orange HUAWEI GRA-L09' => [ 'Huawei', 'Ascend P8' ],
5782
+ 'FUSIONideos' => [ 'Huawei', 'IDEOS' ],
5783
+ 'Gnappo Ideos' => [ 'Huawei', 'IDEOS' ],
5784
+ 'hwu8812D' => [ 'Huawei', 'Ascend G302D' ],
5785
+
5786
+ 'IDEOS!!' => [
5787
+ 'Ideos' => [ 'Huawei', 'IDEOS' ],
5788
+ 'IDEOS X1' => [ 'Huawei', 'IDEOS X1' ],
5789
+ 'IDEOS X5' => [ 'Huawei', 'IDEOS X5' ],
5790
+ 'IDEOS X5 PRO' => [ 'Huawei', 'IDEOS X5 Pro' ],
5791
+ 'IDEOS S7!' => [ 'Huawei', 'IDEOS S7', DeviceType::TABLET ],
5792
+ ],
5793
+
5794
+ 'Huawei S7' => [ 'Huawei', 'IDEOS S7', DeviceType::TABLET ],
5795
+ 'SONIC' => [ 'Huawei', 'Sonic' ],
5796
+ 'Lucky Ultra Sonic U8650' => [ 'Huawei', 'Sonic' ],
5797
+ 'MTC Android' => [ 'Huawei', 'U8110' ],
5798
+
5799
+ '[0-9AS][0-9]{2,2}HW!!' => [
5800
+ 'A01HW' => [ 'Huawei', 'A01HW', DeviceType::TABLET, 'carrier' => 'EMOBILE' ],
5801
+ 'S31HW' => [ 'Huawei', 'Pocket WiFi S S31HW', 'carrier' => 'EMOBILE' ],
5802
+ 'S41HW' => [ 'Huawei', 'Pocket WiFi S II S41HW', 'carrier' => 'EMOBILE' ],
5803
+ 'S42HW' => [ 'Huawei', 'smart bar S42HW', 'carrier' => 'EMOBILE' ],
5804
+ '007HW' => [ 'Huawei', 'Vision 007HW', 'carrier' => 'Softbank' ],
5805
+ '201HW' => [ 'Huawei', 'STREAM 201HW', 'carrier' => 'Softbank' ],
5806
+ '204HW' => [ 'Huawei', '204HW', 'carrier' => 'Softbank' ],
5807
+ '301HW' => [ 'Huawei', 'Pocket WiFi 301HW', 'carrier' => 'Softbank' ],
5808
+ '302HW' => [ 'Huawei', 'STREAM S 302HW', 'carrier' => 'Y! Mobile' ],
5809
+ '402HW' => [ 'Huawei', 'MediaPad 10 Link+ 402HW', DeviceType::TABLET, 'carrier' => 'Softbank' ],
5810
+ '403HW' => [ 'Huawei', 'MediaPad M1 8.0 403HW', DeviceType::TABLET, 'carrier' => 'Y! Mobile' ],
5811
+ '503HW' => [ 'Huawei', 'LUMIERE 503HW', 'carrier' => 'Y! Mobile' ],
5812
+ ],
5813
+
5814
+ 'CM980' => [ 'Huawei', 'Evolution II' ],
5815
+ 'CM990' => [ 'Huawei', 'Evolución 3' ],
5816
+ 'UM840' => [ 'Huawei', 'Evolution' ],
5817
+ 'M310' => [ 'Huawei', 'MediaQ M310', DeviceType::TELEVISION ],
5818
+ 'M860' => [ 'Huawei', 'Ascend' ],
5819
+ 'M865' => [ 'Huawei', 'Ascend II' ],
5820
+ 'M886' => [ 'Huawei', 'Glory' ],
5821
+ 'S8600' => [ 'Huawei', 'S8600' ],
5822
+
5823
+ 'C8[0-9]{3,3}!!' => [
5824
+ 'C8150' => [ 'Huawei', 'IDEOS' ],
5825
+ 'C8500!' => [ 'Huawei', 'C8500' ],
5826
+ 'C8600' => [ 'Huawei', 'C8600' ],
5827
+ 'C8650!' => [ 'Huawei', 'C8650' ],
5828
+ 'C8800' => [ 'Huawei', 'C8800' ],
5829
+ 'C8810' => [ 'Huawei', 'Ascend G300C' ],
5830
+ 'C8812!' => [ 'Huawei', 'Ascend C8812' ],
5831
+ 'C8815!' => [ 'Huawei', 'Ascend C8815' ],
5832
+ 'C8860!' => [ 'Huawei', 'Honor' ],
5833
+ ],
5834
+
5835
+ 'T8[0-9]{3,3}!!' => [
5836
+ 'T8620' => [ 'Huawei', 'Ascend Y200T' ],
5837
+ 'T8808!' => [ 'Huawei', 'Ascend G306T' ],
5838
+ 'T8830!' => [ 'Huawei', 'Ascend G309T' ],
5839
+ ],
5840
+
5841
+ 'T9[0-9]{3,3}!!' => [
5842
+ 'T9200' => [ 'Huawei', 'Ascend P1' ],
5843
+ 'T9510E' => [ 'Huawei', 'Ascend D1 Quad XL' ],
5844
+ ],
5845
+
5846
+ 'U8[0-9]{3,3}!!' => [
5847
+ 'U8100' => [ 'Huawei', 'U8100' ],
5848
+ 'U8110' => [ 'Huawei', 'U8110' ],
5849
+ 'U8120' => [ 'Huawei', 'U8120' ],
5850
+ 'U8180' => [ 'Huawei', 'IDEOS X1' ],
5851
+ 'U8300' => [ 'Huawei', 'U8300' ],
5852
+ 'U8350' => [ 'Huawei', 'Boulder' ],
5853
+ 'U8150' => [ 'Huawei', 'IDEOS' ],
5854
+ 'U8160' => [ 'Huawei', 'U8160' ],
5855
+ 'U8180' => [ 'Huawei', 'IDEOS X1' ],
5856
+ 'U8185' => [ 'Huawei', 'Ascend Y100' ],
5857
+ 'U8186' => [ 'Huawei', 'Ascend Y101' ],
5858
+ 'U8230' => [ 'Huawei', 'U8230' ],
5859
+ 'U8500' => [ 'Huawei', 'IDEOS X2' ],
5860
+ 'U8500 HiQQ' => [ 'Huawei', 'U8500 HiQQ Edition' ],
5861
+ 'U8510!' => [ 'Huawei', 'IDEOS X3' ],
5862
+ 'U8520' => [ 'Huawei', 'U8520 Duplex' ],
5863
+ 'U8600' => [ 'Huawei', 'U8600' ],
5864
+ 'U8650!' => [ 'Huawei', 'Sonic' ],
5865
+ 'U8651!' => [ 'Huawei', 'Talon U8651' ],
5866
+ 'U8652!' => [ 'Huawei', 'Fusion U8652' ],
5867
+ 'U8655!' => [ 'Huawei', 'Ascend Y200' ],
5868
+ 'U8660' => [ 'Huawei', 'Sonic' ],
5869
+ 'U8665' => [ 'Huawei', 'Fusion 2' ],
5870
+ 'U8666!' => [ 'Huawei', 'Ascend Y201' ],
5871
+ 'U8667' => [ 'Huawei', 'U8667' ],
5872
+ 'U8800 ?Pro!' => [ 'Huawei', 'IDEOS X5 Pro' ],
5873
+ 'U8800!' => [ 'Huawei', 'IDEOS X5' ],
5874
+ 'U8812' => [ 'Huawei', 'Ascend G302D' ],
5875
+ 'U8812D' => [ 'Huawei', 'Ascend G302D' ],
5876
+ 'U8815N' => [ 'Huawei', 'Ascend G300' ],
5877
+ 'U8815-51' => [ 'Huawei', 'Ascend G300' ],
5878
+ 'U8815' => [ 'Huawei', 'Ascend G300' ],
5879
+ 'U8816' => [ 'Huawei', 'Ascend G301' ],
5880
+ 'U8818' => [ 'Huawei', 'Ascend G300' ],
5881
+ 'U8820' => [ 'Huawei', 'Titan' ],
5882
+ 'U8832D' => [ 'Huawei', 'Ascend G500' ],
5883
+ 'U8836D' => [ 'Huawei', 'Ascend G500' ],
5884
+ 'U8850' => [ 'Huawei', 'Vision' ],
5885
+ 'U8860!' => [ 'Huawei', 'Honor' ],
5886
+ ],
5887
+
5888
+ 'U9[0-9]{3,3}!!' => [
5889
+ 'U9000' => [ 'Huawei', 'Ascend X' ],
5890
+ 'U9200!' => [ 'Huawei', 'Ascend P1' ],
5891
+ 'U9202!' => [ 'Huawei', 'Ascend P1' ],
5892
+ 'U9500' => [ 'Huawei', 'Ascend D1' ],
5893
+ 'U9500E' => [ 'Huawei', 'Ascend D1 XL' ],
5894
+ 'U9501L' => [ 'Huawei', 'Ascend D LTE' ],
5895
+ 'U9508' => [ 'Huawei', 'Honor 2' ],
5896
+ 'U9510!' => [ 'Huawei', 'Ascend D quad' ],
5897
+ ],
5898
+
5899
+ 'Comet' => [ 'Huawei', 'Comet' ],
5900
+ 'Joy' => [ 'Huawei', 'Joy' ],
5901
+ 'DroniX-0.5' => [ 'Huawei', 'U8180' ],
5902
+ 'TSP21' => [ 'Huawei', 'U8110' ],
5903
+
5904
+ 'GS02' => [ 'Huawei', 'GS02', 'carrier' => 'EMOBILE' ],
5905
+ 'GS03' => [ 'Huawei', 'GS03', 'carrier' => 'EMOBILE' ],
5906
+ 'GL07S' => [ 'Huawei', 'STREAM X GL07S', 'carrier' => 'EMOBILE' ],
5907
+ 'HW-01E' => [ 'Huawei', 'Ascend HW-01E', 'carrier' => 'DoCoMo' ],
5908
+ 'HW-03E' => [ 'Huawei', 'Ascend D2 HW-03E', 'carrier' => 'DoCoMo' ],
5909
+ 'H866C' => [ 'Huawei', 'Ascend Y H866C' ],
5910
+ 'H882L' => [ 'Huawei', 'Ascend Y301-A' ],
5911
+
5912
+ 'USCCADR[0-9]{4,4}!!' => [
5913
+ 'USCCADR3305' => [ 'Huawei', 'Ascend II' ],
5914
+ 'USCCADR3310' => [ 'Huawei', 'Ascend II' ],
5915
+ ],
5916
+
5917
+ 'HYUNDAI!!' => [
5918
+ 'HYUNDAI H6' => [ 'Hyundai', 'Storm H6' ],
5919
+ 'HYUNDAI H6 B' => [ 'Hyundai', 'Storm H6' ],
5920
+ 'HYUNDAI H8' => [ 'Hyundai', 'H8' ],
5921
+ 'HYUNDAI H8Q' => [ 'Hyundai', 'H8Q' ],
5922
+ 'HYUNDAI H9' => [ 'Hyundai', 'H9' ],
5923
+ 'HYUNDAI H10' => [ 'Hyundai', 'H10' ],
5924
+ 'HYUNDAI H11' => [ 'Hyundai', 'H11' ],
5925
+ 'Hyundai HT-10G' => [ 'Hyundai', 'HT-10G', DeviceType::TABLET ],
5926
+ 'HYUNDAI Q5' => [ 'Hyundai', 'Q5' ],
5927
+ 'HYUNDAI Q5X' => [ 'Hyundai', 'Q5X' ],
5928
+ 'HYUNDAI T7' => [ 'Hyundai', 'T7', DeviceType::TABLET ],
5929
+ 'HYUNDAI T7S' => [ 'Hyundai', 'T7s', DeviceType::TABLET ],
5930
+ 'HYUNDAI T10' => [ 'Hyundai', 'T10', DeviceType::TABLET ],
5931
+ 'HYUNDAI T31' => [ 'Hyundai', 'T31', DeviceType::TABLET ],
5932
+ 'HYUNDAI X7' => [ 'Hyundai', 'X7' ],
5933
+ 'HYUNDAI X900' => [ 'Hyundai', 'X900', DeviceType::TABLET ],
5934
+ ],
5935
+
5936
+ 'Ultra Charm' => [ 'Hyundai', 'Ultra Charm' ],
5937
+ 'Ultra Energy Lite' => [ 'Hyundai', 'Ultra Energy Lite' ],
5938
+ 'Ultra Energy Plus' => [ 'Hyundai', 'Ultra Energy Plus' ],
5939
+ 'Ultra Latitude' => [ 'Hyundai', 'Ultra Latitude' ],
5940
+ 'Ultra Style' => [ 'Hyundai', 'Ultra Style' ],
5941
+ 'A7 HD' => [ 'Hyundai', 'A7 HD', DeviceType::TABLET ],
5942
+ 'MW1031' => [ 'Hyundai', 'MW1031', DeviceType::TABLET ],
5943
+ 'Elektra L' => [ 'i-Joy', 'Elektra L' ],
5944
+ 'Elektra XL' => [ 'i-Joy', 'Elektra XL' ],
5945
+ 'i-Joy i-Call' => [ 'i-Joy', 'i-Call' ],
5946
+ 'i-Call 300' => [ 'i-Joy', 'i-Call 300' ],
5947
+ 'i-Call 300v2' => [ 'i-Joy', 'i-Call 300' ],
5948
+ 'i-Call 504' => [ 'i-Joy', 'i-Call 504' ],
5949
+ 'DEOX' => [ 'i-Joy', 'Deox', DeviceType::TABLET ],
5950
+ 'Neon7' => [ 'i-Joy', 'Neon7', DeviceType::TABLET ],
5951
+ 'Neon9' => [ 'i-Joy', 'Neon9', DeviceType::TABLET ],
5952
+ 'Planet II v2' => [ 'i-Joy', 'Planet II', DeviceType::TABLET ],
5953
+ 'Sygnus' => [ 'i-Joy', 'Sygnus', DeviceType::TABLET ],
5954
+
5955
+ '(NMP|MBR|XDK|XDS|XMP)\-!!' => [
5956
+ 'NMP-302w' => [ 'IAdea', 'MBR-1100', DeviceType::SIGNAGE ],
5957
+ 'MBR-1100' => [ 'IAdea', 'MBR-1100', DeviceType::SIGNAGE ],
5958
+ 'XDK-1160' => [ 'IAdea', 'XDK-1160', DeviceType::SIGNAGE ],
5959
+ 'XDK-1560' => [ 'IAdea', 'XDK-1560', DeviceType::SIGNAGE ],
5960
+ 'XDS-0548' => [ 'IAdea', 'XDS-0548', DeviceType::SIGNAGE ],
5961
+ 'XDS-1078' => [ 'IAdea', 'XDS-1078', DeviceType::SIGNAGE ],
5962
+ 'XDS-2370' => [ 'IAdea', 'XDS-2370', DeviceType::SIGNAGE ],
5963
+ 'XMP-6200' => [ 'IAdea', 'XMP-6200', DeviceType::SIGNAGE ],
5964
+ 'XMP-6400' => [ 'IAdea', 'XMP-6400', DeviceType::SIGNAGE ],
5965
+ 'XMP-7300' => [ 'IAdea', 'XMP-7300', DeviceType::SIGNAGE ],
5966
+ ],
5967
+
5968
+ '(iBall )?Andi!!' => [
5969
+ 'Andi3n' => [ 'iBall', 'Andi 3n' ],
5970
+ 'iBall Andi3e' => [ 'iBall', 'Andi 3e' ],
5971
+ 'iBall Andi3.5' => [ 'iBall', 'Andi 3.5' ],
5972
+ 'Andi 3.5i' => [ 'iBall', 'Andi 3.5i' ],
5973
+ 'Andi3.5r' => [ 'iBall', 'Andi 3.5r' ],
5974
+ 'iBall Andi3.5 Classique' => [ 'iBall', 'Andi 3.5 Classique' ],
5975
+ 'Andi3.5KKe' => [ 'iBall', 'Andi 3.5KKe' ],
5976
+ 'Andi 3.5KKe+' => [ 'iBall', 'Andi 3.5KKe+' ],
5977
+ 'iBall Andi 3.5KKe Genius' => [ 'iBall', 'Andi 3.5KKe Genius' ],
5978
+ 'Andi3.5KKe Glory' => [ 'iBall', 'Andi 3.5KKe Glory' ],
5979
+ 'Andi3.5KKe Super' => [ 'iBall', 'Andi 3.5KKe Super' ],
5980
+ 'iBall Andi 3.5KKe Winner' => [ 'iBall', 'Andi 3.5KKe Winner' ],
5981
+ 'iBall Andi 4 IPS TIGER 1GB' => [ 'iBall', 'Andi 4 IPS Tiger' ],
5982
+ 'Andi 4 IPS Tiger' => [ 'iBall', 'Andi 4 IPS Tiger' ],
5983
+ 'iBall Andi4-B2' => [ 'iBall', 'Andi 4B2' ],
5984
+ 'iball Andi4di' => [ 'iBall', 'Andi 4Di' ],
5985
+ 'iBall Andi 4di+' => [ 'iBall', 'Andi 4Di' ],
5986
+ 'Andi4F Waves' => [ 'iBall', 'Andi 4F Waves' ],
5987
+ 'iBall Andi4P IPS GEM' => [ 'iBall', 'Andi 4P Gem' ],
5988
+ 'iBall Andi4P IPS Velvet' => [ 'iBall', 'Andi 4P Velvet' ],
5989
+ 'Andi4U Frisbee' => [ 'iBall', 'Andi 4U Frisbee' ],
5990
+ 'iBall Andi4.3J' => [ 'iBall', 'Andi 4.3J' ],
5991
+ 'iBall Andi4.3J+' => [ 'iBall', 'Andi 4.3J' ],
5992
+ 'iBall Andi4.5d quadro' => [ 'iBall', 'Andi 4.5d Quadro' ],
5993
+ 'iBALL Andi4.5h' => [ 'iBall', 'Andi 4.5h' ],
5994
+ 'Andi4.5h' => [ 'iBall', 'Andi 4.5h' ],
5995
+ 'Andi4.5M Enigma' => [ 'iBall', 'Andi 4.5m Enigma' ],
5996
+ 'Andi 4.5P Glitter' => [ 'iBall', 'Andi 4.5p Glitter' ],
5997
+ 'iBall Andi4.5q' => [ 'iBall', 'Andi 4.5q' ],
5998
+ 'Andi 4.5z' => [ 'iBall', 'Andi 4.5z' ],
5999
+ 'iBall Andi4.5 Ripple 3G' => [ 'iBall', 'Andi 4.5 Ripple' ],
6000
+ 'iBall Andi4.5 Ripple' => [ 'iBall', 'Andi 4.5 Ripple' ],
6001
+ 'Andi5 Stallion' => [ 'iBall', 'Andi 5 Stallion' ],
6002
+ 'Andi5h quadro' => [ 'iBall', 'Andi 5h Quadro' ],
6003
+ 'Andi5K Panther' => [ 'iBall', 'Andi 5K Panther' ],
6004
+ 'Andi5K Sparkle' => [ 'iBall', 'Andi 5K Sparkle' ],
6005
+ 'iBall Andi5L' => [ 'iBall', 'Andi 5L' ],
6006
+ 'Andi5Li' => [ 'iBall', 'Andi 5Li' ],
6007
+ 'iBall Andi5T Cobalt2' => [ 'iBall', 'Andi 5T Cobalt 2' ],
6008
+ 'iBall Andi 5T Cobalt2' => [ 'iBall', 'Andi 5T Cobalt 2' ],
6009
+ 'iBall Andi5-E7' => [ 'iBall', 'Andi 5-E7' ],
6010
+ 'iBall Andi5-M8' => [ 'iBall', 'Andi 5-M8' ],
6011
+ 'Andi5.5 N2' => [ 'iBall', 'Andi 5.5 N2' ],
6012
+ 'Andi107' => [ 'iBall', 'Andi 107' ],
6013
+ 'Andi Avonte5' => [ 'iBall', 'Andi Avonte 5' ],
6014
+ ],
6015
+
6016
+ 'iBall!!' => [
6017
+ 'iBall Slide i5715' => [ 'iBall', 'Slide i5715', DeviceType::TABLET ],
6018
+ 'iBall i6012' => [ 'iBall', 'Slide i6012', DeviceType::TABLET ],
6019
+ 'iBall Slide i6030' => [ 'iBall', 'Slide i6030', DeviceType::TABLET ],
6020
+ 'iBall Slide 6309i' => [ 'iBall', 'Slide i6309', DeviceType::TABLET ],
6021
+ 'iBall Slide 6318i' => [ 'iBall', 'Slide i6318', DeviceType::TABLET ],
6022
+ 'iBall Slide i6516' => [ 'iBall', 'Slide i6516', DeviceType::TABLET ],
6023
+ 'iBall Slide i7011' => [ 'iBall', 'Slide i7011', DeviceType::TABLET ],
6024
+ 'iBall Slide i7119' => [ 'iBall', 'Slide i7119', DeviceType::TABLET ],
6025
+ 'iBall Slide i9702' => [ 'iBall', 'Slide i9702', DeviceType::TABLET ],
6026
+ 'iBall Slide 3G7271' => [ 'iBall', 'Slide 3G 7271', DeviceType::TABLET ],
6027
+ 'iBall Slide 3G 7307' => [ 'iBall', 'Slide 3G 7307', DeviceType::TABLET ],
6028
+ 'IBall 3G 7316' => [ 'iBall', 'Slide 3G 7316', DeviceType::TABLET ],
6029
+ 'iBall Slide 3G 7316' => [ 'iBall', 'Slide 3G 7316', DeviceType::TABLET ],
6030
+ 'iBall Slide 3G 7334' => [ 'iBall', 'Slide 3G 7334', DeviceType::TABLET ],
6031
+ 'iBall Slide 3G Q1035' => [ 'iBall', 'Slide 3G Q1035', DeviceType::TABLET ],
6032
+ ],
6033
+
6034
+ '3G7334i' => [ 'iBall', 'Slide 3G 7334', DeviceType::TABLET ],
6035
+
6036
+ '(Aura|iberry|AUXUS)!!' => [
6037
+ 'Aura A1' => [ 'iBerry', 'Auxus Aura A1', DeviceType::TABLET ],
6038
+ 'AUXUS AX01' => [ 'iBerry', 'Auxus AX01', DeviceType::TABLET ],
6039
+ 'iberry AUXUS AX02' => [ 'iBerry', 'Auxus AX02', DeviceType::TABLET ],
6040
+ 'AUXUS CoreX2 3G' => [ 'iBerry', 'Auxus CoreX2', DeviceType::TABLET ],
6041
+ 'AUXUS CoreX4 3G' => [ 'iBerry', 'Auxus CoreX4', DeviceType::TABLET ],
6042
+ 'AUXUS Nuclea N1' => [ 'iBerry', 'Auxus Nuclea N1' ],
6043
+ 'AUXUS Nuclea N2' => [ 'iBerry', 'Auxus Nuclea N2' ],
6044
+ ],
6045
+
6046
+ '(NetTab|NT-)!!' => [
6047
+ 'NetTab iconBIT' => [ 'IconBit', 'NetTab', DeviceType::TABLET ],
6048
+ 'NetTAB Matrix' => [ 'IconBit', 'NetTab Matrix', DeviceType::TABLET ],
6049
+ 'NT-0704M' => [ 'IconBit', 'NetTab Matrix Ultra', DeviceType::TABLET ],
6050
+ 'NT-0705M' => [ 'IconBit', 'NetTab Matrix Quad', DeviceType::TABLET ],
6051
+ 'NetTAB MATRIX HD' => [ 'IconBit', 'NetTab Matrix HD', DeviceType::TABLET ],
6052
+ 'NT-0708M' => [ 'IconBit', 'NetTab Matrix HD', DeviceType::TABLET ],
6053
+ 'NT-0709M' => [ 'IconBit', 'NetTab Matrix DX', DeviceType::TABLET ],
6054
+ 'NT-0711M' => [ 'IconBit', 'NetTab Matrix DX', DeviceType::TABLET ],
6055
+ 'NetTAB Pocket' => [ 'IconBit', 'NetTab Pocket', DeviceType::TABLET ],
6056
+ 'NetTAB PRIDE' => [ 'IconBit', 'NetTab Pride', DeviceType::TABLET ],
6057
+ 'NetTAB RUNE' => [ 'IconBit', 'NetTab Rune', DeviceType::TABLET ],
6058
+ 'NT-0801C' => [ 'IconBit', 'NetTab Skat RX', DeviceType::TABLET ],
6059
+ 'NT-0806C' => [ 'IconBit', 'NetTab Skat LE', DeviceType::TABLET ],
6060
+ 'NetTAB SKY' => [ 'IconBit', 'NetTab Sky', DeviceType::TABLET ],
6061
+ 'NT-0701S' => [ 'IconBit', 'NetTab Sky Net', DeviceType::TABLET ],
6062
+ 'NetTAB SKY II' => [ 'IconBit', 'NetTab Sky II', DeviceType::TABLET ],
6063
+ 'NetTAB Space 3G' => [ 'IconBit', 'NetTab Space', DeviceType::TABLET ],
6064
+ 'NetTAB SPACE II' => [ 'IconBit', 'NetTab Space II', DeviceType::TABLET ],
6065
+ 'NetTAB SPACE II Plus' => [ 'IconBit', 'NetTab Space II Plus', DeviceType::TABLET ],
6066
+ 'NetTAB SPACE III' => [ 'IconBit', 'NetTab Space III', DeviceType::TABLET ],
6067
+ 'NT-0901S' => [ 'IconBit', 'NetTab Space Quad HD', DeviceType::TABLET ],
6068
+ 'NT-0902S' => [ 'IconBit', 'NetTab Space Quad RX', DeviceType::TABLET ],
6069
+ 'NetTAB THOR' => [ 'IconBit', 'NetTab Thor', DeviceType::TABLET ],
6070
+ 'NetTAB THOR V4.10' => [ 'IconBit', 'NetTab Thor', DeviceType::TABLET ],
6071
+ 'NT-0907T' => [ 'IconBit', 'NetTab Thor ZX', DeviceType::TABLET ],
6072
+ 'NT-0909T' => [ 'IconBit', 'NetTab Thor IZ', DeviceType::TABLET ],
6073
+ 'NetTAB THOR mini' => [ 'IconBit', 'NetTab Thor Mini', DeviceType::TABLET ],
6074
+ 'NetTAB THOR-LE' => [ 'IconBit', 'NetTab Thor LE', DeviceType::TABLET ],
6075
+ 'NT-1001T' => [ 'IconBit', 'NetTab Thor LE', DeviceType::TABLET ],
6076
+ 'NT-1002T' => [ 'IconBit', 'NetTab Thor LE', DeviceType::TABLET ],
6077
+ 'NT-1004T' => [ 'IconBit', 'NetTab Thor Quad FHD', DeviceType::TABLET ],
6078
+ 'NT-1005T' => [ 'IconBit', 'NetTab Thor Quad', DeviceType::TABLET ],
6079
+ 'NT-1006T' => [ 'IconBit', 'NetTab Thor Quad MX', DeviceType::TABLET ],
6080
+ 'NT-1008T' => [ 'IconBit', 'NetTab Thor 3GTS', DeviceType::TABLET ],
6081
+ 'NT-1009T' => [ 'IconBit', 'NetTab Thor Quad II', DeviceType::TABLET ],
6082
+ 'NT-1010T' => [ 'IconBit', 'NetTab Thor LE', DeviceType::TABLET ],
6083
+ 'NT-1011T' => [ 'IconBit', 'NetTab Thor LE', DeviceType::TABLET ],
6084
+ 'NT-1020T' => [ 'IconBit', 'NetTab Thor LX', DeviceType::TABLET ],
6085
+ 'NT-1021T' => [ 'IconBit', 'NetTab Thor LX', DeviceType::TABLET ],
6086
+ 'NT-1501C' => [ 'IconBit', 'NetTab Callisto 100', DeviceType::WATCH ],
6087
+ 'NT-3506M' => [ 'IconBit', 'NetTab Mercury Quad FHD' ],
6088
+ 'NT-3507M' => [ 'IconBit', 'NetTab Mercury Quad' ],
6089
+ 'NT-3509M' => [ 'IconBit', 'NetTab Mercury Q4' ],
6090
+ 'NT-3510M' => [ 'IconBit', 'NetTab Mercury Q5' ],
6091
+ 'NT-3513M!' => [ 'IconBit', 'NetTab Mercury LX' ],
6092
+ 'NT-3601P!' => [ 'IconBit', 'NetTab Pocket' ],
6093
+ 'NT-3602M' => [ 'IconBit', 'NetTab Mercury Q7' ],
6094
+ 'NT-3701S' => [ 'IconBit', 'NetTab Sky 3G Duo', DeviceType::TABLET ],
6095
+ 'NT-3702M' => [ 'IconBit', 'NetTab Matrix 3G Duo', DeviceType::TABLET ],
6096
+ 'NT-3702S' => [ 'IconBit', 'NetTab Sky HD 3G', DeviceType::TABLET ],
6097
+ 'NT-3710S' => [ 'IconBit', 'NetTab Sky 3G Plus', DeviceType::TABLET ],
6098
+ 'NT-3801P' => [ 'IconBit', 'NetTab Parus 3G Duo', DeviceType::TABLET ],
6099
+ 'NT-3803C' => [ 'IconBit', 'NetTab Skat 3G', DeviceType::TABLET ],
6100
+ 'NT-3805C' => [ 'IconBit', 'NetTab Skat 3G Quad', DeviceType::TABLET ],
6101
+ 'NT-3902S' => [ 'IconBit', 'NetTab Space 3G Duo', DeviceType::TABLET ],
6102
+ ],
6103
+
6104
+ 'IconBit NetTab Thor Mini' => [ 'IconBit', 'NetTab Thor Mini', DeviceType::TABLET ],
6105
+ 'D70W' => [ 'Icoo', 'D70W', DeviceType::TABLET ],
6106
+ 'D80' => [ 'Icoo', 'D80', DeviceType::TABLET ],
6107
+ 'AURUS III' => [ 'Idea', 'Aurus III' ],
6108
+
6109
+ 'CT720G' => [ 'IdeaUSA', 'CT720G', DeviceType::TABLET ],
6110
+ 'CT720HD' => [ 'IdeaUSA', 'CT720HD', DeviceType::TABLET ],
6111
+ 'CT920' => [ 'IdeaUSA', 'CT920', DeviceType::TABLET ],
6112
+ 'CT1006' => [ 'IdeaUSA', 'CT1006', DeviceType::TABLET ],
6113
+
6114
+ 'INFOBAR!!' => [
6115
+ 'INFOBAR A01' => [ 'iida', 'INFOBAR A01', 'carrier' => 'au' ], // by Sharp
6116
+ 'INFOBAR A01-2' => [ 'iida', 'INFOBAR A01', 'carrier' => 'au' ], // by Sharp
6117
+ 'INFOBAR C01' => [ 'iida', 'INFOBAR C01', 'carrier' => 'au' ], // by Sharp
6118
+ ],
6119
+
6120
+ 'HTX21' => [ 'iida', 'INFOBAR A02', 'carrier' => 'au' ], // by HTC
6121
+ 'KYV33' => [ 'iida', 'INFOBAR A03', 'carrier' => 'au' ], // by Kyocera
6122
+
6123
+
6124
+ 'IMO!!' => [
6125
+ 'IMO Discovery II' => [ 'IMO', 'Discovery II' ],
6126
+ 'IMO Discovery 2' => [ 'IMO', 'Discovery II' ],
6127
+ 'IMO Q8' => [ 'IMO', 'Q8 Clarity' ],
6128
+ 'IMO S67' => [ 'IMO', 'Blast S67' ],
6129
+ 'IMO S68' => [ 'IMO', 'Snow S68' ],
6130
+ 'IMO S70' => [ 'IMO', 'Miracle 2 S70' ],
6131
+ 'IMO S78' => [ 'IMO', 'Glory S78' ],
6132
+ 'IMO S78 NEW STYLE' => [ 'IMO', 'Glory S78' ],
6133
+ 'IMO S79' => [ 'IMO', 'Explorer S79' ],
6134
+ 'IMO S79 EXPLORER' => [ 'IMO', 'Explorer S79' ],
6135
+ 'IMO S79 MIUI' => [ 'IMO', 'Explorer S79' ],
6136
+ 'IMO S87' => [ 'IMO', 'Raptor S87' ],
6137
+ 'Imo Raptor S87' => [ 'IMO', 'Raptor S87' ],
6138
+ 'IMO S88' => [ 'IMO', 'Discovery S88' ],
6139
+ 'IMO S89' => [ 'IMO', 'Miracle S89' ],
6140
+ 'IMO S90' => [ 'IMO', 'Buzz S90' ],
6141
+ 'IMO S98' => [ 'IMO', 'Champion S98' ],
6142
+ 'IMO S99' => [ 'IMO', 'Ocean S99' ],
6143
+ 'IMO S900' => [ 'IMO', 'Groovy S900' ],
6144
+ 'IMO X2' => [ 'IMO', 'Normandy X2' ],
6145
+ 'IMO X2 NORMANDY' => [ 'IMO', 'Normandy X2' ],
6146
+ 'IMO TAB' => [ 'IMO', 'Tab', DeviceType::TABLET ],
6147
+ 'IMO X5' => [ 'IMO', 'Tab X5 Mars', DeviceType::TABLET ],
6148
+ 'IMO TAB X9' => [ 'IMO', 'Tab X9 Claire', DeviceType::TABLET ],
6149
+ 'IMO Y-ONE' => [ 'IMO', 'Tab Y-One', DeviceType::TABLET ],
6150
+ 'IMO Y5' => [ 'IMO', 'Tab Y3', DeviceType::TABLET ],
6151
+ 'IMO Y5' => [ 'IMO', 'Tab Y5 i-Play', DeviceType::TABLET ],
6152
+ 'IMO Z-ONE' => [ 'IMO', 'Tab Z-One', DeviceType::TABLET ],
6153
+ 'IMO Z6' => [ 'IMO', 'Tab Z6 Avengers', DeviceType::TABLET ],
6154
+ 'IMO Z7' => [ 'IMO', 'Tab Z7 Orion', DeviceType::TABLET ],
6155
+ 'IMO Z8' => [ 'IMO', 'Tab Z8 Spin', DeviceType::TABLET ],
6156
+ 'IMO Z9' => [ 'IMO', 'Tab Z9 Ice', DeviceType::TABLET ],
6157
+ 'IMO Z10' => [ 'IMO', 'Tab Z10 Fortune', DeviceType::TABLET ],
6158
+ ],
6159
+
6160
+ 'S88 DISCOVERY' => [ 'IMO', 'Discovery S88' ],
6161
+
6162
+ 'Im(Smart|PAD)!!' => [
6163
+ 'ImSmart 1.40' => [ 'Impression', 'ImSMART 1.40' ],
6164
+ 'ImPAD 0114' => [ 'Impression', 'ImPAD 0114', DeviceType::TABLET ],
6165
+ 'ImPAD 0413' => [ 'Impression', 'ImPAD 0413', DeviceType::TABLET ],
6166
+ 'ImPAD1001' => [ 'Impression', 'ImPAD 1001', DeviceType::TABLET ],
6167
+ 'ImPAD1311' => [ 'Impression', 'ImPAD 1311', DeviceType::TABLET ],
6168
+ 'ImPAD 1412' => [ 'Impression', 'ImPAD 1412', DeviceType::TABLET ],
6169
+ 'ImPAD 1412 rev2' => [ 'Impression', 'ImPAD 1412', DeviceType::TABLET ],
6170
+ 'ImPAD 2113' => [ 'Impression', 'ImPAD 2113', DeviceType::TABLET ],
6171
+ 'ImPAD 2413' => [ 'Impression', 'ImPAD 2413', DeviceType::TABLET ],
6172
+ 'ImPAD 3113' => [ 'Impression', 'ImPAD 3113', DeviceType::TABLET ],
6173
+ 'ImPAD 3412' => [ 'Impression', 'ImPAD 3412', DeviceType::TABLET ],
6174
+ 'ImPAD 4213' => [ 'Impression', 'ImPAD 4213', DeviceType::TABLET ],
6175
+ 'ImPAD 4313' => [ 'Impression', 'ImPAD 4313', DeviceType::TABLET ],
6176
+ 'ImPAD 6213M' => [ 'Impression', 'ImPAD 6213M', DeviceType::TABLET ],
6177
+ 'ImPAD6213M v2' => [ 'Impression', 'ImPAD 6213M', DeviceType::TABLET ],
6178
+ 'ImPAD 6413' => [ 'Impression', 'ImPAD 6413', DeviceType::TABLET ],
6179
+ 'ImPAD 8213' => [ 'Impression', 'ImPAD 8213', DeviceType::TABLET ],
6180
+ 'ImPAD 8901' => [ 'Impression', 'ImPAD 8901', DeviceType::TABLET ],
6181
+ 'ImPAD 9702' => [ 'Impression', 'ImPAD 9702', DeviceType::TABLET ],
6182
+ 'ImPAD9704' => [ 'Impression', 'ImPAD 9704', DeviceType::TABLET ],
6183
+ 'ImPAD 9707' => [ 'Impression', 'ImPAD 9707', DeviceType::TABLET ],
6184
+ ],
6185
+
6186
+ 'TX85' => [ 'iMuz', 'TX85', DeviceType::TABLET ],
6187
+ 'i3000' => [ 'iNew', 'i3000' ],
6188
+ 'i6000' => [ 'iNew', 'i6000' ],
6189
+
6190
+ 'Infinix!!' => [
6191
+ 'Infinix BUZZ' => [ 'Infinix', 'Buzz X260' ],
6192
+ 'Infinix X351' => [ 'Infinix', 'Surf Smart X351' ],
6193
+ 'Infinix X352' => [ 'Infinix', 'Surf Smart 2 X352' ],
6194
+ 'Infinix X400' => [ 'Infinix', 'Race X400' ],
6195
+ 'Infinix X401' => [ 'Infinix', 'Race Lite X401' ],
6196
+ 'Infinix X402' => [ 'Infinix', 'Diamond X402' ],
6197
+ 'Infinix X405' => [ 'Infinix', 'Surf Viva X405' ],
6198
+ 'Infinix X450' => [ 'Infinix', 'Race Bolt X450' ],
6199
+ 'Infinix X451' => [ 'Infinix', 'Race Bolt Q X451' ],
6200
+ 'Infinix X452' => [ 'Infinix', 'Surf Goal X452' ],
6201
+ 'Infinix X454' => [ 'Infinix', 'Race Bolt 2 X454' ],
6202
+ 'Infinix X455' => [ 'Infinix', 'Race Bolt 3 X455' ],
6203
+ 'Infinix X500' => [ 'Infinix', 'Race Eagle X500' ],
6204
+ 'Infinix X501' => [ 'Infinix', 'Race Jet X501' ],
6205
+ 'Infinix X502' => [ 'Infinix', 'Alpha Marvel X502' ],
6206
+ 'Infinix X503' => [ 'Infinix', 'Surf Bravo X503' ],
6207
+ 'Infinix X505' => [ 'Infinix', 'Race Jet X505' ],
6208
+ 'Infinix X506' => [ 'Infinix', 'Zero X506' ],
6209
+ 'Infinix X507' => [ 'Infinix', 'Hot X507' ],
6210
+ 'Infinix X509' => [ 'Infinix', 'Zero 2 X509' ],
6211
+ 'Infinix X510' => [ 'Infinix', 'Hot 2 X510' ],
6212
+ 'Infinix X530' => [ 'Infinix', 'Race Max Q X530' ],
6213
+ 'Infinix-X551' => [ 'Infinix', 'Hot Note X551' ],
6214
+ 'Infinix-X552' => [ 'Infinix', 'Zero 3 X552' ],
6215
+ 'Infinix X570' => [ 'Infinix', 'Alpha X570' ],
6216
+ 'INFINIX-X600' => [ 'Infinix', 'Note 2 X600' ],
6217
+ 'Infinix X800' => [ 'Infinix', 'Joypad 8 X800', DeviceType::TABLET ],
6218
+ 'Infinix X801' => [ 'Infinix', 'Joypad 8S X801', DeviceType::TABLET ],
6219
+ 'Infinix X1000' => [ 'Infinix', 'Joypad 10 X1000', DeviceType::TABLET ],
6220
+ ],
6221
+
6222
+ 'IN[0-9]{3,3}!!' => [
6223
+ 'IN260' => [ 'InFocus', 'IN260' ],
6224
+ 'IN330' => [ 'InFocus', 'IN330' ],
6225
+ 'IN335' => [ 'InFocus', 'IN335' ],
6226
+ 'IN610' => [ 'InFocus', 'IN610' ],
6227
+ 'IN810' => [ 'InFocus', 'IN810' ],
6228
+ 'IN815' => [ 'InFocus', 'IN815' ],
6229
+ ],
6230
+
6231
+ 'M210' => [ 'InFocus', 'M210' ],
6232
+ 'M370i' => [ 'InFocus', 'M370' ],
6233
+
6234
+ 'Infocus!!' => [
6235
+ 'InFocus M2' => [ 'InFocus', 'M2' ],
6236
+ 'InFocus M2 3G' => [ 'InFocus', 'M2' ],
6237
+ 'InFocus M2PLUS' => [ 'InFocus', 'M2 Plus' ],
6238
+ 'InFocus M260' => [ 'InFocus', 'M260' ],
6239
+ 'InFocus M310' => [ 'InFocus', 'M310' ],
6240
+ 'InFocus M320!' => [ 'InFocus', 'M320' ],
6241
+ 'InFocus M330!' => [ 'InFocus', 'M330' ],
6242
+ 'InFocus M350!' => [ 'InFocus', 'M350' ],
6243
+ 'InFocus M415' => [ 'InFocus', 'M415' ],
6244
+ 'InFocus M425' => [ 'InFocus', 'M425' ],
6245
+ 'InFocus M430' => [ 'InFocus', 'M430' ],
6246
+ 'InFocus M510!' => [ 'InFocus', 'M510' ],
6247
+ 'InFocus M511!' => [ 'InFocus', 'M511' ],
6248
+ 'InFocus M512!' => [ 'InFocus', 'M512' ],
6249
+ 'InFocus M530' => [ 'InFocus', 'M530' ],
6250
+ 'InFocus M535' => [ 'InFocus', 'M535' ],
6251
+ 'InFocus M550!' => [ 'InFocus', 'M550' ],
6252
+ 'InFocus M560' => [ 'InFocus', 'M560' ],
6253
+ 'InFocus M680' => [ 'InFocus', 'M680' ],
6254
+ 'InFocus M808!' => [ 'InFocus', 'M808' ],
6255
+ 'InFocus M810!' => [ 'InFocus', 'M810' ],
6256
+ 'InFocus M812!' => [ 'InFocus', 'M812' ],
6257
+ ],
6258
+
6259
+ 'M009F' => [ 'Infotmic', 'M009F' ],
6260
+ 'Dk1031' => [ 'Infotmic', 'Flytouch 3', DeviceType::TABLET ],
6261
+ 'INHON PAPILIO G1' => [ 'Inhon', 'Papilio G1' ],
6262
+ 'intki E86' => [ 'intki', 'E86' ],
6263
+
6264
+ 'Innos!!' => [
6265
+ 'Innos D5C' => [ 'Innos', 'D5C' ],
6266
+ 'innos D9' => [ 'Innos', 'D9' ],
6267
+ 'innos D9C' => [ 'Innos', 'D9C' ],
6268
+ 'innos i5' => [ 'Innos', 'i5' ],
6269
+ 'innos i6' => [ 'Innos', 'i6' ],
6270
+ 'INNOS I6 (DNS S4503)' => [ 'Innos', 'i6' ],
6271
+ 'innos i6C' => [ 'Innos', 'i6C' ],
6272
+ 'Innos i6cp' => [ 'Innos', 'i6CP' ],
6273
+ ],
6274
+
6275
+ 'NS-14T002' => [ 'Insignia', 'Flex 8', DeviceType::TABLET ],
6276
+
6277
+ '(AZ|BT)[0-9]{3,3}!!' => [
6278
+ 'AZ210A' => [ 'Intel', 'AZ210A' ],
6279
+ 'AZ210B' => [ 'Intel', 'AZ210B' ],
6280
+ 'AZ510' => [ 'Intel', 'AZ510' ],
6281
+ 'BT210' => [ 'Intel', 'BT210' ],
6282
+ 'BT230' => [ 'Intel', 'BT230' ],
6283
+ 'BT510' => [ 'Intel', 'BT510' ],
6284
+ ],
6285
+
6286
+ 'greenridge' => [ 'Intel', 'Green Ridge', DeviceType::TABLET ],
6287
+
6288
+ '(Intex )?Aqua!!' => [
6289
+ 'Aqua 3G' => [ 'Intex', 'Aqua 3G' ],
6290
+ 'Aqua 3G+' => [ 'Intex', 'Aqua 3G+' ],
6291
+ 'Aqua 3G mini' => [ 'Intex', 'Aqua 3G mini' ],
6292
+ 'Aqua 3G Pro' => [ 'Intex', 'Aqua 3G Pro' ],
6293
+ 'Aqua 3G Strong' => [ 'Intex', 'Aqua 3G Strong' ],
6294
+ 'Aqua 4G+' => [ 'Intex', 'Aqua 4G+' ],
6295
+ 'Intex Aqua 3X' => [ 'Intex', 'Aqua 3X' ],
6296
+ 'AQUA 4X' => [ 'Intex', 'Aqua 4X' ],
6297
+ 'Intex Aqua 3.2' => [ 'Intex', 'Aqua 3.2' ],
6298
+ 'AQUA 4.0' => [ 'Intex', 'Aqua 4.0' ],
6299
+ 'Intex Aqua 4.5E' => [ 'Intex', 'Aqua 4.5E' ],
6300
+ 'AQUA 5.0' => [ 'Intex', 'Aqua 5.0' ],
6301
+ 'Aqua.Active' => [ 'Intex', 'Aqua Active' ],
6302
+ 'Aqua Curve' => [ 'Intex', 'Aqua Curve' ],
6303
+ 'Aqua Curve mini' => [ 'Intex', 'Aqua Curve Mini' ],
6304
+ 'Intex Aqua Desire HD' => [ 'Intex', 'Aqua Desire HD' ],
6305
+ 'Aqua flash' => [ 'Intex', 'Aqua Flash' ],
6306
+ 'Aqua Glory' => [ 'Intex', 'Aqua Glory' ],
6307
+ 'Aqua Glow' => [ 'Intex', 'Aqua Glow' ],
6308
+ 'Aqua HD' => [ 'Intex', 'Aqua HD' ],
6309
+ 'Intex Aqua Marvel' => [ 'Intex', 'Aqua Marvel' ],
6310
+ 'Aqua LifeIII' => [ 'Intex', 'Aqua Life III' ],
6311
+ 'AQUA OCTA' => [ 'Intex', 'Aqua Octa' ],
6312
+ 'Aqua Power' => [ 'Intex', 'Aqua Power' ],
6313
+ 'Aqua Power+' => [ 'Intex', 'Aqua Power+' ],
6314
+ 'Aqua Power HD' => [ 'Intex', 'Aqua Power HD' ],
6315
+ 'Aqua Power II' => [ 'Intex', 'Aqua Power II' ],
6316
+ 'Aqua QWERTY' => [ 'Intex', 'Aqua Qwerty' ],
6317
+ 'Aqua S' => [ 'Intex', 'Aqua S' ],
6318
+ 'Aqua Sx' => [ 'Intex', 'Aqua Sx' ],
6319
+ 'Aqua Slice II' => [ 'Intex', 'Aqua Slice II' ],
6320
+ 'Aqua Speed' => [ 'Intex', 'Aqua Speed' ],
6321
+ 'Aqua Speed HD' => [ 'Intex', 'Aqua Speed HD' ],
6322
+ 'Aqua Star' => [ 'Intex', 'Aqua Star' ],
6323
+ 'Aqua Star L' => [ 'Intex', 'Aqua Star L' ],
6324
+ 'Aqua Star II' => [ 'Intex', 'Aqua Star II' ],
6325
+ 'Aqua Star II 16GB' => [ 'Intex', 'Aqua Star II' ],
6326
+ 'Aqua Star II HD' => [ 'Intex', 'Aqua Star II HD' ],
6327
+ 'Aqua Star 5.0' => [ 'Intex', 'Aqua Star 5.0' ],
6328
+ 'Aqua Star HD' => [ 'Intex', 'Aqua Star HD' ],
6329
+ 'Aqua Star Power' => [ 'Intex', 'Aqua Star Power' ],
6330
+ 'Aqua Style' => [ 'Intex', 'Aqua Style' ],
6331
+ 'Aqua Style 4.0' => [ 'Intex', 'Aqua Style 4.0' ],
6332
+ 'Aqua Style Mini' => [ 'Intex', 'Aqua Style Mini' ],
6333
+ 'Aqua Style Pro' => [ 'Intex', 'Aqua Style Pro' ],
6334
+ 'Intex Aqua Superb' => [ 'Intex', 'Aqua Superb' ],
6335
+ 'Intex Aqua Swadesh' => [ 'Intex', 'Aqua Swadesh' ],
6336
+ 'Aqua Trend' => [ 'Intex', 'Aqua Trend' ],
6337
+ 'Aqua Trendy' => [ 'Intex', 'Aqua Trendy' ],
6338
+ 'Aqua Wonder' => [ 'Intex', 'Aqua Wonder' ],
6339
+ 'Aqua Wonder Quad Core' => [ 'Intex', 'Aqua Wonder' ],
6340
+ 'Aqua Xtreme' => [ 'Intex', 'Aqua Xtreme' ],
6341
+ 'Aqua Young' => [ 'Intex', 'Aqua Young' ],
6342
+ 'Aqua i2' => [ 'Intex', 'Aqua i2' ],
6343
+ 'Intex Aqua I3' => [ 'Intex', 'Aqua i3' ],
6344
+ 'Aqua i-4+' => [ 'Intex', 'Aqua i4' ],
6345
+ 'Aqua I-5' => [ 'Intex', 'Aqua i5' ],
6346
+ 'Aqua I5' => [ 'Intex', 'Aqua i5' ],
6347
+ 'Aqua i5 HD' => [ 'Intex', 'Aqua i5 HD' ],
6348
+ 'Aqua i5 mini' => [ 'Intex', 'Aqua i5 mini' ],
6349
+ 'Aqua I5 Octa' => [ 'Intex', 'Aqua i5 Octa' ],
6350
+ 'Aqua i6' => [ 'Intex', 'Aqua i6' ],
6351
+ 'Aqua i7' => [ 'Intex', 'Aqua i7' ],
6352
+ 'Aqua I14' => [ 'Intex', 'Aqua i14' ],
6353
+ 'Aqua i15' => [ 'Intex', 'Aqua i15' ],
6354
+ 'Aqua N2' => [ 'Intex', 'Aqua N2' ],
6355
+ 'Aqua N7' => [ 'Intex', 'Aqua N7' ],
6356
+ 'Aqua N8' => [ 'Intex', 'Aqua N8' ],
6357
+ 'Aqua N15' => [ 'Intex', 'Aqua N15' ],
6358
+ 'Aqua Q1+' => [ 'Intex', 'Aqua Q1' ],
6359
+ 'Aqua Q3' => [ 'Intex', 'Aqua Q3' ],
6360
+ 'Aqua Q5' => [ 'Intex', 'Aqua Q5' ],
6361
+ 'Aqua Q7' => [ 'Intex', 'Aqua Q7' ],
6362
+ 'Aqua Q7 Pro' => [ 'Intex', 'Aqua Q7 Pro' ],
6363
+ 'Aqua R3' => [ 'Intex', 'Aqua R3' ],
6364
+ 'Aqua R3+' => [ 'Intex', 'Aqua R3' ],
6365
+ 'Aqua T2' => [ 'Intex', 'Aqua T2' ],
6366
+ 'Aqua T3' => [ 'Intex', 'Aqua T3' ],
6367
+ 'Aqua T4' => [ 'Intex', 'Aqua T4' ],
6368
+ 'Aqua V+' => [ 'Intex', 'Aqua V+' ],
6369
+ 'Aqua V3G' => [ 'Intex', 'Aqua V3G' ],
6370
+ 'Aqua V5' => [ 'Intex', 'Aqua V5' ],
6371
+ 'Aqua Y2' => [ 'Intex', 'Aqua Y2' ],
6372
+ 'Aqua Y2 1GB' => [ 'Intex', 'Aqua Y2' ],
6373
+ 'Aqua Y2+' => [ 'Intex', 'Aqua Y2+' ],
6374
+ 'Aqua Y2 Pro' => [ 'Intex', 'Aqua Y2 Pro' ],
6375
+ 'Aqua Y2 Power' => [ 'Intex', 'Aqua Y2 Power' ],
6376
+ 'Aqua Y3' => [ 'Intex', 'Aqua Y3' ],
6377
+ 'Aqua Y4' => [ 'Intex', 'Aqua Y3' ],
6378
+ ],
6379
+
6380
+ '(Intex )?Cloud!!' => [
6381
+ 'Intex Cloud X+' => [ 'Intex', 'Cloud X' ],
6382
+ 'INTEX CLOUD X1' => [ 'Intex', 'Cloud X1' ],
6383
+ 'Cloud X2' => [ 'Intex', 'Cloud X2' ],
6384
+ 'Cloud X3' => [ 'Intex', 'Cloud X3' ],
6385
+ 'Intex Cloud X4' => [ 'Intex', 'Cloud X4' ],
6386
+ 'Cloud X5' => [ 'Intex', 'Cloud X5' ],
6387
+ 'INTEX Cloud X11' => [ 'Intex', 'Cloud X11' ],
6388
+ 'Cloud X12' => [ 'Intex', 'Cloud X12' ],
6389
+ 'Intex Cloud Y1' => [ 'Intex', 'Cloud Y1' ],
6390
+ 'Cloud Y2' => [ 'Intex', 'Cloud Y2' ],
6391
+ 'Cloud Y3' => [ 'Intex', 'Cloud Y3' ],
6392
+ 'INTEX Cloud Y4' => [ 'Intex', 'Cloud Y4' ],
6393
+ 'INTEX Cloud Y4+' => [ 'Intex', 'Cloud Y4+' ],
6394
+ 'Cloud Y5' => [ 'Intex', 'Cloud Y5' ],
6395
+ 'Intex Cloud Y7' => [ 'Intex', 'Cloud Y7' ],
6396
+ 'Intex Cloud Y11' => [ 'Intex', 'Cloud Y11' ],
6397
+ 'Intex Cloud y12' => [ 'Intex', 'Cloud Y12' ],
6398
+ 'Cloud Y13 Plus' => [ 'Intex', 'Cloud Y13 Plus' ],
6399
+ 'Cloud Y17+' => [ 'Intex', 'Cloud Y17 Plus' ],
6400
+ 'Cloud Z5' => [ 'Intex', 'Cloud Z5' ],
6401
+ ],
6402
+
6403
+ 'INTEX IRIS-II' => [ 'Intex', 'Iris 2', DeviceType::TABLET ],
6404
+ 'INQ Cloud Touch' => [ 'INQ', 'Cloud Touch' ],
6405
+ 'INQ Mayfair (EU)' => [ 'INQ', 'Mayfair' ],
6406
+ 'A19S' => [ 'ISA', 'A19S' ],
6407
+ 'NS-13T001' => [ 'Insignia', 'Flex Tablet', DeviceType::TABLET ],
6408
+ 'IPRO i5S' => [ 'IPRO', 'i5S' ],
6409
+ 'TX18' => [ 'Irbis', 'TX18', DeviceType::TABLET ],
6410
+ 'ILT-MX100' => [ 'iRiver', 'Tab', DeviceType::TABLET ],
6411
+
6412
+ '(iNote|itel)!!' => [
6413
+ 'iNote beyond' => [ 'iTel', 'iNote beyond' ],
6414
+ 'iNote mini' => [ 'iTel', 'iNote mini' ],
6415
+ 'itel IT1351' => [ 'iTel', 'IT1351' ],
6416
+ 'itel IT1351E' => [ 'iTel', 'IT1351E' ],
6417
+ 'itel it1400' => [ 'iTel', 'IT1400' ],
6418
+ 'itel it1500' => [ 'iTel', 'IT1500' ],
6419
+ ],
6420
+
6421
+ 'IVIO!!' => [
6422
+ 'IVIO-DG20' => [ 'Ivio', 'DG20' ],
6423
+ 'IVIO DE38' => [ 'Ivio', 'DE38' ],
6424
+ ],
6425
+
6426
+ 'iwoo i900' => [ 'iwoo', 'i900' ],
6427
+
6428
+ '(JIAYU|JY-)!!' => [
6429
+ 'JIAYU F1' => [ 'Jiayu', 'F1' ],
6430
+ 'JY-F1' => [ 'Jiayu', 'F1' ],
6431
+ 'JY-F2' => [ 'Jiayu', 'F2' ],
6432
+ 'JY-G1' => [ 'Jiayu', 'G1' ],
6433
+ 'JY-G2' => [ 'Jiayu', 'G2' ],
6434
+ 'JY-G2 DualCore(Standard)' => [ 'Jiayu', 'G2' ],
6435
+ 'JY-G2 Plus' => [ 'Jiayu', 'G2 Plus' ],
6436
+ 'JY-G2 64' => [ 'Jiayu', 'G2' ],
6437
+ 'JY G2F' => [ 'Jiayu', 'G2F' ],
6438
+ 'JY-G2F' => [ 'Jiayu', 'G2F' ],
6439
+ 'JY-G2H' => [ 'Jiayu', 'G2H' ],
6440
+ 'JY-G2L' => [ 'Jiayu', 'G2L' ],
6441
+ 'JY-G2LS' => [ 'Jiayu', 'G2LS' ],
6442
+ 'Jiayu G2' => [ 'Jiayu', 'G2' ],
6443
+ 'Jiayu G2H' => [ 'Jiayu', 'G2H' ],
6444
+ 'Jiayu G2L' => [ 'Jiayu', 'G2L' ],
6445
+ 'Jiayu G2s' => [ 'Jiayu', 'G2 Plus' ],
6446
+ 'JY-G3' => [ 'Jiayu', 'G3' ],
6447
+ 'Jiayu G3' => [ 'Jiayu', 'G3' ],
6448
+ 'JIAYU-G3' => [ 'Jiayu', 'G3' ],
6449
+ 'JY-G3C' => [ 'Jiayu', 'G3C' ],
6450
+ 'JY-G3N!' => [ 'Jiayu', 'G3N' ],
6451
+ 'JYG3N' => [ 'Jiayu', 'G3N' ],
6452
+ 'JY-G3S' => [ 'Jiayu', 'G3S' ],
6453
+ 'JIAYU G3S' => [ 'Jiayu', 'G3S' ],
6454
+ 'JIAYU.G3S' => [ 'Jiayu', 'G3S' ],
6455
+ 'JY-G4' => [ 'Jiayu', 'G4' ],
6456
+ 'JY-G4\G5' => [ 'Jiayu', 'G4' ],
6457
+ 'JY-G4 G5' => [ 'Jiayu', 'G4' ],
6458
+ 'JY-G4C' => [ 'Jiayu', 'G4C' ],
6459
+ 'JY G4C' => [ 'Jiayu', 'G4C' ],
6460
+ 'Jiayu G4S' => [ 'Jiayu', 'G4S' ],
6461
+ 'JY-G4S' => [ 'Jiayu', 'G4S' ],
6462
+ 'JIAYU-G4S' => [ 'Jiayu', 'G4S' ],
6463
+ 'JY-G4T' => [ 'Jiayu', 'G4T' ],
6464
+ 'JY-G5' => [ 'Jiayu', 'G5' ],
6465
+ 'Jiayu G5S' => [ 'Jiayu', 'G5S' ],
6466
+ 'JY-G5S' => [ 'Jiayu', 'G5S' ],
6467
+ 'JY-G5S+' => [ 'Jiayu', 'G5S+' ],
6468
+ 'JY-G6' => [ 'Jiayu', 'G6' ],
6469
+ 'JY-S1' => [ 'Jiayu', 'S1' ],
6470
+ 'JY-S2' => [ 'Jiayu', 'S2' ],
6471
+ 'JY-S3' => [ 'Jiayu', 'S3' ],
6472
+ 'JY-S3S' => [ 'Jiayu', 'S3S' ],
6473
+ ],
6474
+
6475
+ 'G2S' => [ 'Jiayu', 'G2 Plus' ],
6476
+ 'JT-Smart PC01' => [ 'Joy-IT', 'JT-Smart PC-01' ],
6477
+ 'JJ5S+' => [ 'Jugate', 'JJ5S+' ],
6478
+
6479
+ 'JC-A[0-9]{3,3}!!' => [
6480
+ 'JC-A107' => [ 'JuiCell', 'JC-A107' ],
6481
+ 'JC-A109' => [ 'JuiCell', 'JC-A109' ],
6482
+ ],
6483
+
6484
+ 'JXD!!' => [
6485
+ 'JXD S601WIFI' => [ 'JXD', 'S601 WIFI', 'media' ],
6486
+ 'JXD V5200' => [ 'JXD', 'V5200', 'media' ],
6487
+ 'JXD P200' => [ 'JXD', 'P200', DeviceType::TABLET ],
6488
+ 'JXD P300' => [ 'JXD', 'P300', DeviceType::TABLET ],
6489
+ 'JXD-P1000!' => [ 'JXD', 'P1000', DeviceType::TABLET ],
6490
+ 'JXD-S80' => [ 'JXD', 'S80', DeviceType::TABLET ],
6491
+ 'JXD-S6600!' => [ 'JXD', 'S6600', DeviceType::TABLET ],
6492
+ 'JXD S7600' => [ 'JXD', 'S7600', DeviceType::TABLET ],
6493
+ 'JXD-S8000' => [ 'JXD', 'S8000', DeviceType::TABLET ],
6494
+ 'JXD-S9000' => [ 'JXD', 'S9000', DeviceType::TABLET ],
6495
+ 'JXD-S9100' => [ 'JXD', 'S9100', DeviceType::TABLET ],
6496
+ ],
6497
+
6498
+ 'A2' => [ 'KakaTech', 'A2' ],
6499
+
6500
+ 'Karbonn!!' => [
6501
+ 'Karbonn A1' => [ 'Karbonn', 'A1' ],
6502
+ 'Karbonn A1 Plus Champ' => [ 'Karbonn', 'A1' ],
6503
+ 'Karbonn A1 1 Plus Champ' => [ 'Karbonn', 'A1' ],
6504
+ 'Karbonn A1*' => [ 'Karbonn', 'A1' ],
6505
+ 'Karbonn A1+ Duple' => [ 'Karbonn', 'A1+' ],
6506
+ 'Karbonn A1+ Super' => [ 'Karbonn', 'A1+' ],
6507
+ 'Karbonn A2' => [ 'Karbonn', 'A2' ],
6508
+ 'Karbonn A2+' => [ 'Karbonn', 'A2+' ],
6509
+ 'Karbonn A4' => [ 'Karbonn', 'A4' ],
6510
+ 'Karbonn A5' => [ 'Karbonn', 'A5' ],
6511
+ 'Karbonn A5i' => [ 'Karbonn', 'A5i' ],
6512
+ 'Karbonn A5s' => [ 'Karbonn', 'A5s' ],
6513
+ 'Karbonn A6' => [ 'Karbonn', 'A6' ],
6514
+ 'Karbonn A6+' => [ 'Karbonn', 'A6+' ],
6515
+ 'Karbonn A7*' => [ 'Karbonn', 'A7' ],
6516
+ 'Karbonn A8' => [ 'Karbonn', 'A8' ],
6517
+ 'Karbonn A9' => [ 'Karbonn', 'A9' ],
6518
+ 'Karbonn A9*' => [ 'Karbonn', 'A9' ],
6519
+ 'Karbonn A9s' => [ 'Karbonn', 'A9s' ],
6520
+ 'Karbonn A9+' => [ 'Karbonn', 'A9+' ],
6521
+ 'Karbonn A10' => [ 'Karbonn', 'A10' ],
6522
+ 'Karbonn A11*' => [ 'Karbonn', 'A11' ],
6523
+ 'Karbonn A12' => [ 'Karbonn', 'A12' ],
6524
+ 'Karbonn A12*' => [ 'Karbonn', 'A12' ],
6525
+ 'Karbonn A12+' => [ 'Karbonn', 'A12+' ],
6526
+ 'Karbonn A14' => [ 'Karbonn', 'A14' ],
6527
+ 'Karbonn A18' => [ 'Karbonn', 'A18' ],
6528
+ 'Karbonn A18+' => [ 'Karbonn', 'A18+' ],
6529
+ 'Karbonn A19' => [ 'Karbonn', 'A19' ],
6530
+ 'Karbonn A20' => [ 'Karbonn', 'A20' ],
6531
+ 'Karbonn A21!' => [ 'Karbonn', 'A21' ],
6532
+ 'Karbonn A25' => [ 'Karbonn', 'A25' ],
6533
+ 'Karbonn A25+' => [ 'Karbonn', 'A25+' ],
6534
+ 'Karbonn A26' => [ 'Karbonn', 'A26' ],
6535
+ 'KarbonnA26' => [ 'Karbonn', 'A26' ],
6536
+ 'Karbonn A27+' => [ 'Karbonn', 'A27' ],
6537
+ 'Karbonn A30' => [ 'Karbonn', 'A30' ],
6538
+ 'Karbonn A35' => [ 'Karbonn', 'A35' ],
6539
+ 'Karbonn A40' => [ 'Karbonn', 'A40' ],
6540
+ 'Karbonn A50' => [ 'Karbonn', 'A50' ],
6541
+ 'Karbonn A51 Lite' => [ 'Karbonn', 'A51 Lite' ],
6542
+ 'Karbonn A52+' => [ 'Karbonn', 'A52+' ],
6543
+ 'Karbonn A66' => [ 'Karbonn', 'A66' ],
6544
+ 'Karbonn A91' => [ 'Karbonn', 'A91' ],
6545
+ 'Karbonn A92Plus' => [ 'Karbonn', 'A92 Plus' ],
6546
+ 'Karbonn A93' => [ 'Karbonn', 'A93' ],
6547
+ 'Karbonn A108' => [ 'Karbonn', 'A108' ],
6548
+ 'Karbonn A119' => [ 'Karbonn', 'A119' ],
6549
+ 'Karbonn A240' => [ 'Karbonn', 'A240' ],
6550
+ 'Karbonn E8222' => [ 'Karbonn', 'E8222' ],
6551
+ 'Karbonn ST52' => [ 'Karbonn', 'ST52', DeviceType::TABLET ],
6552
+ 'Karbonn ST72' => [ 'Karbonn', 'ST72', DeviceType::TABLET ],
6553
+ ],
6554
+
6555
+ 'TA-FONE!!' => [
6556
+ 'TA-FONE A34' => [ 'Karbonn', 'Ta-Fone A34' ],
6557
+ 'TA-FONE A34 HD' => [ 'Karbonn', 'Ta-Fone A34 HD' ],
6558
+ 'TA-FONE A37' => [ 'Karbonn', 'Ta-Fone A37' ],
6559
+ 'TA-FONE A37 HD' => [ 'Karbonn', 'Ta-Fone A37 HD' ],
6560
+ 'TA-FONE A39 HD' => [ 'Karbonn', 'Ta-Fone A39 HD' ],
6561
+ ],
6562
+
6563
+ '(Karbonn|Titanium)!!' => [
6564
+ 'Karbonn Titanium Hexa' => [ 'Karbonn', 'Titanium Hexa' ],
6565
+ 'Titanium Octane' => [ 'Karbonn', 'Titanium Octane' ],
6566
+ 'Titanium Octane Plus' => [ 'Karbonn', 'Titanium Octane Plus' ],
6567
+ 'Titanium S1' => [ 'Karbonn', 'Titanium S1' ],
6568
+ 'Titanium S1 Plus' => [ 'Karbonn', 'Titanium S1 Plus' ],
6569
+ 'Karbonn Titanium S1 Plus' => [ 'Karbonn', 'Titanium S1 Plus' ],
6570
+ 'Karbonn S2' => [ 'Karbonn', 'Titanium S2' ],
6571
+ 'Karbonn Titanium S3' => [ 'Karbonn', 'Titanium S3' ],
6572
+ 'Titanium S2 Plus' => [ 'Karbonn', 'Titanium S2 Plus' ],
6573
+ 'Karbonn Titanium S4' => [ 'Karbonn', 'Titanium S4' ],
6574
+ 'Karbonn Titanium S4 Plus' => [ 'Karbonn', 'Titanium S4 Plus' ],
6575
+ 'Titanium S5' => [ 'Karbonn', 'Titanium S5' ],
6576
+ 'karbonn Titanium S5' => [ 'Karbonn', 'Titanium S5' ],
6577
+ 'Karbonn S5i' => [ 'Karbonn', 'Titanium S5i' ],
6578
+ 'Karbonn Titanium S5 Plus' => [ 'Karbonn', 'Titanium S5 Plus' ],
6579
+ 'Karbonn Titanium S5+' => [ 'Karbonn', 'Titanium S5 Plus' ],
6580
+ 'Titanium S5+!' => [ 'Karbonn', 'Titanium S5 Plus' ],
6581
+ 'Titanium S5 Ultra' => [ 'Karbonn', 'Titanium S5 Ultra' ],
6582
+ 'Karbonn Titanium S6' => [ 'Karbonn', 'Titanium S6' ],
6583
+ 'Karbonn Titanium S9' => [ 'Karbonn', 'Titanium S9' ],
6584
+ 'Titanium S10' => [ 'Karbonn', 'Titanium S10' ],
6585
+ 'Titanium S15' => [ 'Karbonn', 'Titanium S15' ],
6586
+ 'Titanium S19' => [ 'Karbonn', 'Titanium S19' ],
6587
+ 'Karbonn TITANIUM S20' => [ 'Karbonn', 'Titanium S20' ],
6588
+ 'Titanium S22' => [ 'Karbonn', 'Titanium S22' ],
6589
+ 'Karbonn Titanium S25' => [ 'Karbonn', 'Titanium S25' ],
6590
+ 'Titanium S35' => [ 'Karbonn', 'Titanium S35' ],
6591
+ 'Titanium S99' => [ 'Karbonn', 'Titanium S99' ],
6592
+ 'Karbonn Titanium S99' => [ 'Karbonn', 'Titanium S99' ],
6593
+ 'Titanium S200 HD' => [ 'Karbonn', 'Titanium S200 HD' ],
6594
+ 'Titanium S201' => [ 'Karbonn', 'Titanium Dazzle S201' ],
6595
+ 'Titanium S202' => [ 'Karbonn', 'Titanium Dazzle2 S202' ],
6596
+ 'Titanium S203' => [ 'Karbonn', 'Titanium High 2 S203' ],
6597
+ 'Titanium S204' => [ 'Karbonn', 'Titanium Dazzle3 S204' ],
6598
+ 'TITANIUM S205 2GB' => [ 'Karbonn', 'Titanium S205' ],
6599
+ 'Karbonn Titanium X' => [ 'Karbonn', 'Titanium X' ],
6600
+ ],
6601
+
6602
+ 'A7*' => [ 'Karbonn', 'A7' ],
6603
+ 'A7+' => [ 'Karbonn', 'A7+' ],
6604
+ 'A11' => [ 'Karbonn', 'A11' ],
6605
+ 'A21' => [ 'Karbonn', 'A21' ],
6606
+ 'A55i' => [ 'Karbonn', 'Smart A55i' ],
6607
+ 'A111' => [ 'Karbonn', 'A111' ],
6608
+ 'Sparkle V' => [ 'Karbonn', 'Sparkle V' ],
6609
+ 'ST10' => [ 'Karbonn', 'Smart Tab 10 Cosmic', DeviceType::TABLET ],
6610
+ 'SmartTab1' => [ 'Karbonn', 'Smart Tab 1', DeviceType::TABLET ],
6611
+ 'KB901' => [ 'Kaser', 'KB901', DeviceType::TABLET ],
6612
+
6613
+ '(KAZAM|Thunder|Tornado|Trooper)!!' => [
6614
+ 'KAZAM TV 45' => [ 'KAZAM', 'TV 45' ],
6615
+ 'KAZAM Thunder 345' => [ 'KAZAM', 'Thunder 345' ],
6616
+ 'KAZAM Thunder 345 LTE' => [ 'KAZAM', 'Thunder 345' ],
6617
+ 'KAZAM Thunder 345L' => [ 'KAZAM', 'Thunder 345L' ],
6618
+ 'Thunder 347' => [ 'KAZAM', 'Thunder 347' ],
6619
+ 'KAZAM Thunder 350L' => [ 'KAZAM', 'Thunder 350L' ],
6620
+ 'KAZAM Thunder 550' => [ 'KAZAM', 'Thunder 550' ],
6621
+ 'KAZAM Thunder 550L' => [ 'KAZAM', 'Thunder 550L' ],
6622
+ 'KAZAM Thunder Q45' => [ 'KAZAM', 'Thunder Q4.5' ],
6623
+ 'KAZAM THUNDER2 45L' => [ 'KAZAM', 'Thunder 2 4.5L' ],
6624
+ 'KAZAM Thunder2 50' => [ 'KAZAM', 'Thunder 2 5.0' ],
6625
+ 'Thunder3 45 LTE' => [ 'KAZAM', 'Thunder 3 4.5' ],
6626
+ 'Tornado 348' => [ 'KAZAM', 'Tornado 348' ],
6627
+ 'KAZAM Tornado 350' => [ 'KAZAM', 'Tornado 350' ],
6628
+ 'KAZAM Tornado 455L' => [ 'KAZAM', 'Tornado 455L' ],
6629
+ 'KAZAM Tornado2 50' => [ 'KAZAM', 'Tornado 2 5.0' ],
6630
+ 'KAZAM Trooper 440L' => [ 'KAZAM', 'Trooper 440L' ],
6631
+ 'KAZAM Trooper 445L' => [ 'KAZAM', 'Trooper 445L' ],
6632
+ 'KAZAM Trooper 450' => [ 'KAZAM', 'Trooper 450' ],
6633
+ 'KAZAM Trooper 450L' => [ 'KAZAM', 'Trooper 450L' ],
6634
+ 'KAZAM Trooper 451' => [ 'KAZAM', 'Trooper 451' ],
6635
+ 'KAZAM Trooper 455' => [ 'KAZAM', 'Trooper 455' ],
6636
+ 'KAZAM Trooper 540' => [ 'KAZAM', 'Trooper 540' ],
6637
+ 'KAZAM Trooper 550' => [ 'KAZAM', 'Trooper 550' ],
6638
+ 'KAZAM Trooper 550L' => [ 'KAZAM', 'Trooper 550L' ],
6639
+ 'KAZAM Trooper 551' => [ 'KAZAM', 'Trooper 551' ],
6640
+ 'KAZAM Trooper 555' => [ 'KAZAM', 'Trooper 555' ],
6641
+ 'Trooper X35' => [ 'KAZAM', 'Trooper X3.5' ],
6642
+ 'Trooper X40' => [ 'KAZAM', 'Trooper X4.0' ],
6643
+ 'KAZAM Trooper X45' => [ 'KAZAM', 'Trooper X4.5' ],
6644
+ 'KAZAM Trooper X50' => [ 'KAZAM', 'Trooper X5.0' ],
6645
+ 'Trooper X55' => [ 'KAZAM', 'Trooper X5.5' ],
6646
+ 'KAZAM Trooper2 40' => [ 'KAZAM', 'Trooper 2 4.0' ],
6647
+ 'Trooper2 45' => [ 'KAZAM', 'Trooper 2 4.5' ],
6648
+ 'KAZAM Trooper2 50' => [ 'KAZAM', 'Trooper 2 5.0' ],
6649
+ 'Kazam Trooper2 60' => [ 'KAZAM', 'Trooper 2 6.0' ],
6650
+ ],
6651
+
6652
+ 'MT791' => [ 'Keen High', 'MT791' ],
6653
+
6654
+ 'KENEKSI' => [
6655
+ 'KENEKSI FIRE' => [ 'KENEKSI', 'Fire' ],
6656
+ 'KENEKSI-Fire' => [ 'KENEKSI', 'Fire' ],
6657
+ 'KENEKSI-Norma' => [ 'KENEKSI', 'Norma' ],
6658
+ 'KENEKSI-SIGMA' => [ 'KENEKSI', 'Sigma' ],
6659
+ 'KENEKSI-ZETA' => [ 'KENEKSI', 'Zeta' ],
6660
+ ],
6661
+
6662
+ 'Pro 10 dual core' => [ 'Kiano', 'Pro 10 Dual', DeviceType::TABLET ],
6663
+ 'KIOTO 793' => [ 'KIOTO', '793' ],
6664
+ 'D91' => [ 'KK', 'D91', DeviceType::TABLET ],
6665
+ 'K080' => [ 'Kobo', 'K080', DeviceType::EREADER ],
6666
+ 'Vox' => [ 'Kobo', 'Vox', DeviceType::EREADER ],
6667
+ 'M1050S' => [ 'KOCASO', 'M1050S', DeviceType::TABLET ],
6668
+ 'SX9701W' => [ 'KOCASO', 'SX9701W', DeviceType::TABLET ],
6669
+
6670
+ '(KATBL|Agora)!!' => [
6671
+ 'KATBL07AND' => [ 'Kogan', 'Agora' ],
6672
+ 'KATBL10A16DA' => [ 'Kogan', 'Agora' ],
6673
+ 'KATBL10A16E' => [ 'Kogan', 'Agora' ],
6674
+ 'KATBL10AND' => [ 'Kogan', 'Agora' ],
6675
+ 'Agora 4G' => [ 'Kogan', 'Agora 4G' ],
6676
+ 'Agora HD+' => [ 'Kogan', 'Agora HD+' ],
6677
+ 'Agora Quad Core' => [ 'Kogan', 'Agora Quad Core' ],
6678
+ ],
6679
+
6680
+ 'KOMU!!' => [
6681
+ 'Komu Color' => [ 'Komu', 'Color' ],
6682
+ 'KOMU ENERGY' => [ 'Komu', 'Energy' ],
6683
+ 'KOMU-MINI' => [ 'Komu', 'Mini' ],
6684
+ ],
6685
+
6686
+ 'V1' => [ 'Konka', 'KOMI V1' ],
6687
+
6688
+ 'KONKA!!' => [
6689
+ 'KONKA V615' => [ 'Konka', 'V615' ],
6690
+ 'KONKA-V915' => [ 'Konka', 'V915' ],
6691
+ 'KONKA V923' => [ 'Konka', 'V923' ],
6692
+ 'KONKA V926' => [ 'Konka', 'V926' ],
6693
+ 'KONKA V927' => [ 'Konka', 'V927' ],
6694
+ 'KONKA V931' => [ 'Konka', 'V931' ],
6695
+ 'KONKA V980' => [ 'Konka', 'V980' ],
6696
+ 'KONKA V983' => [ 'Konka', 'V983' ],
6697
+ 'konka W970' => [ 'Konka', 'W970' ],
6698
+ 'konka W976' => [ 'Konka', 'W976' ],
6699
+ ],
6700
+
6701
+ 'K3' => [ 'Konka', 'K3' ],
6702
+ 'W990' => [ 'Konka', 'W990' ],
6703
+ 'A106' => [ 'koobee', 'A160' ],
6704
+ 'koobee-T550' => [ 'koobee', 'T550' ],
6705
+
6706
+ 'Koobe!!' => [
6707
+ 'Koobe S7 Easy tablet' => [ 'Koobe', 'S7 Easy tablet', DeviceType::TABLET ],
6708
+ 'Koobe X8 Slim Quadrum tablet' => [ 'Koobe', 'X8 Slim Quadrum tablet', DeviceType::TABLET ],
6709
+ ],
6710
+
6711
+ 'KORIDY H15' => [ 'Koridy', 'H15' ],
6712
+ 'KORIDY H16' => [ 'Koridy', 'H16' ],
6713
+
6714
+ 'KPT!!' => [
6715
+ 'KPT A5' => [ 'KPT', 'A5' ],
6716
+ 'KPT A6' => [ 'KPT', 'A6' ],
6717
+ 'KPT A9' => [ 'KPT', 'A9' ],
6718
+ 'KPT A9PLUS' => [ 'KPT', 'A9+' ],
6719
+ 'KPT A11PLUS' => [ 'KPT', 'A11+' ],
6720
+ 'KPT A58T' => [ 'KPT', 'A58T' ],
6721
+ 'KPT A81PLUS' => [ 'KPT', 'A81+' ],
6722
+ 'KPT A88' => [ 'KPT', 'A88' ],
6723
+ ],
6724
+
6725
+ '(EV|KM)-[ES][0-9]{3,3}!!' => [
6726
+ 'EV-S100' => [ 'Kttech', 'Take EV-S100' ],
6727
+ 'KM-E100' => [ 'Kttech', 'Take LTE KM-E100' ],
6728
+ 'KM-S120' => [ 'Kttech', 'Take 2 KM-S120' ],
6729
+ 'KM-S200' => [ 'Kttech', 'Take Janus KM-S200' ],
6730
+ 'KM-S220' => [ 'Kttech', 'Take Tachy KM-S220' ],
6731
+ 'KM-S220H' => [ 'Kttech', 'Take Tachy KM-S220' ],
6732
+ 'KM-S300' => [ 'Kttech', 'Take HD KM-S300' ],
6733
+ 'KM-S330' => [ 'Kttech', 'Take Fit KM-S330' ],
6734
+ ],
6735
+
6736
+ 'Kurio!!' => [
6737
+ 'KurioPhone' => [ 'Kurio', 'Phone' ],
6738
+ 'Kurio4S' => [ 'Kurio', '4S' ],
6739
+ 'Kurio7' => [ 'Kurio', '7', DeviceType::TABLET ],
6740
+ 'Kurio7S' => [ 'Kurio', '7S', DeviceType::TABLET ],
6741
+ 'Kurio-LTE' => [ 'Kurio', '7X', DeviceType::TABLET ],
6742
+ 'Kurio10S' => [ 'Kurio', '10S', DeviceType::TABLET ],
6743
+ 'Kurio-Lite' => [ 'Kurio', 'Lite', DeviceType::TABLET ],
6744
+ ],
6745
+
6746
+ 'Kyobo mirasol eReader' => [ 'Kyobo', 'eReader', DeviceType::EREADER ],
6747
+ 'ISW11K' => [ 'Kyocera', 'DIGNO ISW11K', 'carrier' => 'au' ],
6748
+
6749
+ 'KYL[0-9]{2,2}!!' => [
6750
+ 'KYL21' => [ 'Kyocera', 'DIGNO S KYL21', 'carrier' => 'au' ],
6751
+ 'KYL22' => [ 'Kyocera', 'DIGNO M KYL22', 'carrier' => 'au' ],
6752
+ ],
6753
+
6754
+ 'KC-01' => [ 'Kyocera', 'KC-01' ],
6755
+ 'KC-S301AE' => [ 'Kyocera', 'S301' ],
6756
+ 'KC-S701' => [ 'Kyocera', 'TORQUE' ],
6757
+ 'KCP01K' => [ 'Kyocera', 'LUCE' ],
6758
+ 'SKT01' => [ 'Kyocera', 'TORQUE SKT01' ],
6759
+
6760
+ 'WX04K' => [ 'Kyocera', 'DIGNO Dual WX04K', 'carrier' => 'Willcom' ],
6761
+ 'WX06K' => [ 'Kyocera', 'HONEY BEE WX06K', 'carrier' => 'Willcom' ],
6762
+ 'WX10K' => [ 'Kyocera', 'DIGNO Dual 2 WX10K', 'carrier' => 'Willcom' ],
6763
+ 'JC-KSP8000' => [ 'Kyocera', 'Echo' ],
6764
+ 'KSP8000' => [ 'Kyocera', 'Echo' ],
6765
+ 'Event' => [ 'Kyocera', 'Event' ],
6766
+ 'Rise' => [ 'Kyocera', 'Rise' ],
6767
+ 'Torque' => [ 'Kyocera', 'Torque' ],
6768
+ 'Zio' => [ 'Kyocera', 'Zio' ],
6769
+ 'E6782' => [ 'Kyocera', 'Brigadier' ],
6770
+ 'Hydro' => [ 'Kyocera', 'Hydro' ],
6771
+ 'Hydro PLUS' => [ 'Kyocera', 'Hydro PLUS' ],
6772
+
6773
+ '(USCC-|KYOCERA-)?E[0-9]{4,4}!!' => [
6774
+ 'KYOCERA-E6560' => [ 'Kyocera', 'DuraForce' ],
6775
+ 'E6560C' => [ 'Kyocera', 'DuraForce' ],
6776
+ 'E6560L' => [ 'Kyocera', 'DuraForce' ],
6777
+ 'E6560T' => [ 'Kyocera', 'DuraForce' ],
6778
+ 'E6715' => [ 'Kyocera', 'Torque XT' ],
6779
+ 'KYOCERA-E6715' => [ 'Kyocera', 'Torque XT' ],
6780
+ 'USCC-E6762' => [ 'Kyocera', 'DuraForce' ],
6781
+ 'KYOCERA-E6762' => [ 'Kyocera', 'DuraForce' ],
6782
+ 'E6782L' => [ 'Kyocera', 'DuraScout' ],
6783
+ 'KYOCERA-E6790' => [ 'Kyocera', 'DuraForce XD' ],
6784
+ ],
6785
+
6786
+ '(USCC-|KYOCERA-)?C[0-9]{4,4}!!' => [
6787
+ 'C51(20|21)!' => [ 'Kyocera', 'Milano' ],
6788
+ 'C5155' => [ 'Kyocera', 'Rise' ],
6789
+ 'C5170' => [ 'Kyocera', 'Hydro' ],
6790
+ 'C5215' => [ 'Kyocera', 'Hydro EDGE' ],
6791
+ 'C5216' => [ 'Kyocera', 'Hydro EDGE' ],
6792
+ 'C6522' => [ 'Kyocera', 'Hydro XTRM' ],
6793
+ 'C6522N' => [ 'Kyocera', 'Hydro XTRM' ],
6794
+ 'USCC-C6721' => [ 'Kyocera', 'Hydro XTRM' ],
6795
+ 'C6530' => [ 'Kyocera', 'Hydro LIFE' ],
6796
+ 'C6530N' => [ 'Kyocera', 'Hydro LIFE' ],
6797
+ 'C6725' => [ 'Kyocera', 'Hydro VIBE' ],
6798
+ 'C6730' => [ 'Kyocera', 'Hydro ICON' ],
6799
+ 'C6740' => [ 'Kyocera', 'Hydro WAVE' ],
6800
+ 'C6740N' => [ 'Kyocera', 'Hydro WAVE' ],
6801
+ 'C6742' => [ 'Kyocera', 'Hydro VIEW' ],
6802
+ 'KYOCERA-C6742' => [ 'Kyocera', 'Hydro VIEW' ],
6803
+ 'KYOCERA-C6745' => [ 'Kyocera', 'Hydro AIR' ],
6804
+ 'C6750' => [ 'Kyocera', 'Hydro Elite' ],
6805
+ ],
6806
+
6807
+ 'M9300' => [ 'Kyocera', 'Echo' ],
6808
+
6809
+ 'KY[FLTYV][0-9]{2,2}!!' => [
6810
+ 'KYF31' => [ 'Kyocera', 'GRATINA KYF31', 'carrier' => 'au' ],
6811
+ 'KYL23' => [ 'Kyocera', 'miraie KYL23', 'carrier' => 'au' ],
6812
+ 'KYY21' => [ 'Kyocera', 'URBANO L01', 'carrier' => 'au' ],
6813
+ 'KYY22' => [ 'Kyocera', 'URBANO L02', 'carrier' => 'au' ],
6814
+ 'KYY23' => [ 'Kyocera', 'URBANO L03', 'carrier' => 'au' ],
6815
+ 'KYY24' => [ 'Kyocera', 'TORQUE G01', 'carrier' => 'au' ],
6816
+ 'KYV31' => [ 'Kyocera', 'URBANO V01', 'carrier' => 'au' ],
6817
+ 'KYV32' => [ 'Kyocera', 'BASIO KYV32', 'carrier' => 'au' ],
6818
+ 'KYV34' => [ 'Kyocera', 'URBANO V02', 'carrier' => 'au' ],
6819
+ 'KYV35' => [ 'Kyocera', 'TORQUE G02', 'carrier' => 'au' ],
6820
+ 'KYV36' => [ 'Kyocera', 'DIGNO rafre', 'carrier' => 'au' ],
6821
+ 'KYV37' => [ 'Kyocera', 'Qua phone', 'carrier' => 'au' ],
6822
+ 'KYT31' => [ 'Kyocera', 'Qua tab', DeviceType::TABLET, 'carrier' => 'au' ],
6823
+ ],
6824
+
6825
+ 'URBANO PROGRESSO' => [ 'Kyocera', 'URBANO PROGRESSO', 'carrier' => 'au' ],
6826
+
6827
+ '[0-9]0[0-9]KC?!!' => [
6828
+ '101K' => [ 'Kyocera', 'HONEY BEE 101K', 'carrier' => 'Softbank' ],
6829
+ '201K' => [ 'Kyocera', 'HONEY BEE 201K', 'carrier' => 'Softbank' ],
6830
+ '202K' => [ 'Kyocera', 'DIGNO R 202K', 'carrier' => 'Softbank' ],
6831
+ '302KC' => [ 'Kyocera', 'DIGNO T 302KC', 'carrier' => 'EMOBILE' ],
6832
+ '404KC' => [ 'Kyocera', 'DIGNO C 404KC', 'carrier' => 'Y! Mobile' ],
6833
+ '503KC' => [ 'Kyocera', 'DIGNO E 503KC', 'carrier' => 'Y! Mobile' ],
6834
+ ],
6835
+
6836
+ 'K-?Touch!!' => [
6837
+ 'K-touch A9' => [ 'K-Touch', 'A9' ],
6838
+ 'K-touch A10 Pro' => [ 'K-Touch', 'A10 Pro' ],
6839
+ 'Ktouch A11' => [ 'K-Touch', 'A11' ],
6840
+ 'K-touch A11plus' => [ 'K-Touch', 'A11+' ],
6841
+ 'Ktouch A15' => [ 'K-Touch', 'A15' ],
6842
+ 'K-Touch C666t' => [ 'K-Touch', 'C666' ],
6843
+ 'K-Touch C960t' => [ 'K-Touch', 'C960' ],
6844
+ 'K-Touch C966e' => [ 'K-Touch', 'C966' ],
6845
+ 'K-Touch C980t' => [ 'K-Touch', 'C980' ],
6846
+ 'K-Touch C986t' => [ 'K-Touch', 'C986' ],
6847
+ 'K-Touch C986t+' => [ 'K-Touch', 'C986' ],
6848
+ 'K-Touch C988t' => [ 'K-Touch', 'C988' ],
6849
+ 'K-Touch C990' => [ 'K-Touch', 'C990' ],
6850
+ 'K-Touch E7' => [ 'K-Touch', 'E7' ],
6851
+ 'K-Touch E79' => [ 'K-Touch', 'E79' ],
6852
+ 'K-Touch E70' => [ 'K-Touch', 'E70' ],
6853
+ 'K-Touch E80' => [ 'K-Touch', 'E80' ],
6854
+ 'K-Touch E88' => [ 'K-Touch', 'E88' ],
6855
+ 'K-Touch E616' => [ 'K-Touch', 'E616' ],
6856
+ 'K Touch E616' => [ 'K-Touch', 'E616' ],
6857
+ 'K-Touch E619' => [ 'K-Touch', 'E619' ],
6858
+ 'K-Touch E619+' => [ 'K-Touch', 'E619+' ],
6859
+ 'K-Touch E621' => [ 'K-Touch', 'E621' ],
6860
+ 'K-Touch E656' => [ 'K-Touch', 'E656' ],
6861
+ 'K-Touch E688' => [ 'K-Touch', 'E688' ],
6862
+ 'K-Touch E780' => [ 'K-Touch', 'E780' ],
6863
+ 'K-Touch E800' => [ 'K-Touch', 'E800' ],
6864
+ 'K-Touch E806' => [ 'K-Touch', 'E806' ],
6865
+ 'K-Touch L820' => [ 'K-Touch', 'L820' ],
6866
+ 'K-Touch Q4' => [ 'K-Touch', 'Q4' ],
6867
+ 'K-Touch S2' => [ 'K-Touch', 'S2' ],
6868
+ 'K-Touch S5' => [ 'K-Touch', 'S5' ],
6869
+ 'K-Touch S5 Beiaigeqian' => [ 'K-Touch', 'S5' ],
6870
+ 'K-Touch S5t' => [ 'K-Touch', 'S5t' ],
6871
+ 'K-Touch Titan S100' => [ 'K-Touch', 'Titan S100' ],
6872
+ 'K-Touch S757!' => [ 'K-Touch', 'S757' ],
6873
+ 'K-Touch S787' => [ 'K-Touch', 'S787' ],
6874
+ 'K-Touch T6' => [ 'K-Touch', 'T6' ],
6875
+ 'K-Touch T60' => [ 'K-Touch', 'T60' ],
6876
+ 'K-Touch T85+' => [ 'K-Touch', 'T85' ],
6877
+ 'K-Touch T90' => [ 'K-Touch', 'T90' ],
6878
+ 'K-Touch T91' => [ 'K-Touch', 'T91' ],
6879
+ 'K-Touch T93' => [ 'K-Touch', 'T93' ],
6880
+ 'K-Touch T96' => [ 'K-Touch', 'T96' ],
6881
+ 'K-TouchT580' => [ 'K-Touch', 'T580' ],
6882
+ 'K-Touch T619' => [ 'K-Touch', 'T619' ],
6883
+ 'K-Touch T-619' => [ 'K-Touch', 'T619' ],
6884
+ 'K-Touch T619+' => [ 'K-Touch', 'T619+' ],
6885
+ 'K-Touch T621' => [ 'K-Touch', 'T621' ],
6886
+ 'K-Touch T660' => [ 'K-Touch', 'T660' ],
6887
+ 'K-Touch T760' => [ 'K-Touch', 'T760' ],
6888
+ 'K-Touch T780' => [ 'K-Touch', 'T780' ],
6889
+ 'K-Touch T780+' => [ 'K-Touch', 'T780+' ],
6890
+ 'K-Touch T789' => [ 'K-Touch', 'T789' ],
6891
+ 'K-Touch T800' => [ 'K-Touch', 'T800' ],
6892
+ 'K-touch U2' => [ 'K-Touch', 'U2' ],
6893
+ 'K-Touch U6' => [ 'K-Touch', 'U6' ],
6894
+ 'K-Touch U7' => [ 'K-Touch', 'U7' ],
6895
+ 'K-Touch U8' => [ 'K-Touch', 'U8' ],
6896
+ 'K-Touch U9' => [ 'K-Touch', 'U9' ],
6897
+ 'K-Touch U10' => [ 'K-Touch', 'U10' ],
6898
+ 'K-Touch U81t' => [ 'K-Touch', 'U81t' ],
6899
+ 'K-Touch U83t' => [ 'K-Touch', 'U83t' ],
6900
+ 'K-Touch U86' => [ 'K-Touch', 'U86 Kiss' ],
6901
+ 'K-Touch Kiss' => [ 'K-Touch', 'U86 Kiss' ],
6902
+ 'K-Touch U90' => [ 'K-Touch', 'U90' ],
6903
+ 'K-Touch V5' => [ 'K-Touch', 'V5' ],
6904
+ 'KTouch v8' => [ 'K-Touch', 'V8' ],
6905
+ 'K-Touch V8' => [ 'K-Touch', 'V8' ],
6906
+ 'KTouch v9' => [ 'K-Touch', 'V9' ],
6907
+ 'K-Touch V9' => [ 'K-Touch', 'V9' ],
6908
+ 'K-Touch W68' => [ 'K-Touch', 'W68' ],
6909
+ 'K-Touch W70' => [ 'K-Touch', 'W70' ],
6910
+ 'K-Touch W88' => [ 'K-Touch', 'W88' ],
6911
+ 'K-Touch W610' => [ 'K-Touch', 'W610' ],
6912
+ 'K-TOUCH W610D' => [ 'K-Touch', 'W610D' ],
6913
+ 'K-Touch W619!' => [ 'K-Touch', 'W619' ],
6914
+ 'K-Touch W621' => [ 'K-Touch', 'W621' ],
6915
+ 'K-Touch W650!' => [ 'K-Touch', 'W650' ],
6916
+ 'K-Touch W655' => [ 'K-Touch', 'W655' ],
6917
+ 'K-Touch W656' => [ 'K-Touch', 'W656' ],
6918
+ 'K-Touch W658' => [ 'K-Touch', 'W658' ],
6919
+ 'K-Touch W688' => [ 'K-Touch', 'W688' ],
6920
+ 'K-Touch W700' => [ 'K-Touch', 'W700' ],
6921
+ 'Ktouch w700' => [ 'K-Touch', 'W700' ],
6922
+ 'K-Touch W700+' => [ 'K-Touch', 'W700+' ],
6923
+ 'K-Touch W710' => [ 'K-Touch', 'W710' ],
6924
+ 'K-Touch W719' => [ 'K-Touch', 'W719' ],
6925
+ 'K-Touch W760' => [ 'K-Touch', 'W760' ],
6926
+ 'K-Touch W780' => [ 'K-Touch', 'W780' ],
6927
+ 'K-Touch W806!' => [ 'K-Touch', 'W806' ],
6928
+ 'K-Touch W808' => [ 'K-Touch', 'W808' ],
6929
+ 'K-Touch Kis 1' => [ 'K-Touch', 'Kis 1' ],
6930
+ 'K-Touch Kis 2' => [ 'K-Touch', 'Kis 2' ],
6931
+ 'K-Touch Tou ch 1' => [ 'K-Touch', 'Tou ch 1' ],
6932
+ 'K-Touch Tou ch 2' => [ 'K-Touch', 'Tou ch 2' ],
6933
+ 'K-Touch Tou ch2' => [ 'K-Touch', 'Tou ch 2' ],
6934
+ 'K-Touch Tou ch 2c' => [ 'K-Touch', 'Tou ch 2 c' ],
6935
+ 'K-Touch Tou ch 3' => [ 'K-Touch', 'Tou ch 3' ],
6936
+ 'K-Touch Tou ch3' => [ 'K-Touch', 'Tou ch 3' ],
6937
+ 'K-Touch Tou ch3c' => [ 'K-Touch', 'Tou ch 3 c' ],
6938
+ 'K-Touch Tou ch3es' => [ 'K-Touch', 'Tou ch 3 es' ],
6939
+ 'K-Touch Tou ch 5' => [ 'K-Touch', 'Tou ch 5' ],
6940
+ ],
6941
+
6942
+ 'Nibiru H1' => [ 'K-Touch', 'Niburu Mars One H1' ],
6943
+ 'E650' => [ 'K-Touch', 'E650' ],
6944
+ 'E780' => [ 'K-Touch', 'E780' ],
6945
+ 'E800' => [ 'K-Touch', 'E800' ],
6946
+ 'E815' => [ 'K-Touch', 'E815' ],
6947
+ 'W606' => [ 'K-Touch', 'W606' ],
6948
+ 'W619' => [ 'K-Touch', 'W619' ],
6949
+ 'W686' => [ 'K-Touch', 'W686' ],
6950
+ 'W700' => [ 'K-Touch', 'W700' ],
6951
+ 'W732' => [ 'K-Touch', 'W732' ],
6952
+ 'W800' => [ 'K-Touch', 'W800' ],
6953
+ 'W806' => [ 'K-Touch', 'W806' ],
6954
+ 'W808' => [ 'K-Touch', 'W808' ],
6955
+ 'W810' => [ 'K-Touch', 'W810' ],
6956
+ 'W880' => [ 'K-Touch', 'W880' ],
6957
+
6958
+ '(Lanix )?(Ilium|llium)!!' => [
6959
+ 'ILIUM L400' => [ 'Lanix', 'Ilium L400' ],
6960
+ 'Ilium L820' => [ 'Lanix', 'Ilium L820' ],
6961
+ 'ILIUM L900' => [ 'Lanix', 'Ilium L900' ],
6962
+ 'ILIUM L950' => [ 'Lanix', 'Ilium L950' ],
6963
+ 'ILIUM L1000' => [ 'Lanix', 'Ilium L1000' ],
6964
+ 'ILIUM L1100' => [ 'Lanix', 'Ilium L1100' ],
6965
+ 'Ilium L1200' => [ 'Lanix', 'Ilium L1200' ],
6966
+ 'Ilium LT500' => [ 'Lanix', 'Ilium LT500' ],
6967
+ 'Ilium S100' => [ 'Lanix', 'Ilium S100' ],
6968
+ 'Ilium S105' => [ 'Lanix', 'Ilium S105' ],
6969
+ 'ILIUM S106' => [ 'Lanix', 'Ilium S106' ],
6970
+ 'Lanix Ilium S115' => [ 'Lanix', 'Ilium S115' ],
6971
+ 'Ilium S115' => [ 'Lanix', 'Ilium S115' ],
6972
+ 'LANIX ILIUM S120' => [ 'Lanix', 'Ilium S120' ],
6973
+ 'ILIUM S120' => [ 'Lanix', 'Ilium S120' ],
6974
+ 'LANIX S120-U151' => [ 'Lanix', 'Ilium S120' ],
6975
+ 'ILIUM S130' => [ 'Lanix', 'Ilium S130' ],
6976
+ 'Ilium S200' => [ 'Lanix', 'Ilium S200' ],
6977
+ 'Lanix Ilium S210' => [ 'Lanix', 'Ilium S210' ],
6978
+ 'ILIUM S215' => [ 'Lanix', 'Ilium S215' ],
6979
+ 'LANIX ILIUM S220' => [ 'Lanix', 'Ilium S220' ],
6980
+ 'Lanix Ilium S400' => [ 'Lanix', 'Ilium S400' ],
6981
+ 'Ilium S400' => [ 'Lanix', 'Ilium S400' ],
6982
+ 'Lanix ILIUM S410' => [ 'Lanix', 'Ilium S410' ],
6983
+ 'Lanix Ilium S500' => [ 'Lanix', 'Ilium S500' ],
6984
+ 'ILIUM S520' => [ 'Lanix', 'Ilium S520' ],
6985
+ 'ILIUM S600' => [ 'Lanix', 'Ilium S600' ],
6986
+ 'ILIUM S670' => [ 'Lanix', 'Ilium S670' ],
6987
+ 'LANIX ILIUM S700' => [ 'Lanix', 'Ilium S700' ],
6988
+ 'ILIUM S700' => [ 'Lanix', 'Ilium S700' ],
6989
+ 'ILIUM X100' => [ 'Lanix', 'Ilium X100' ],
6990
+ 'ILIUM X110' => [ 'Lanix', 'Ilium X110' ],
6991
+ 'Ilium X200' => [ 'Lanix', 'Ilium X200' ],
6992
+ 'ILIUM X400' => [ 'Lanix', 'Ilium X400' ],
6993
+ 'Ilium X500B' => [ 'Lanix', 'Ilium X500B' ],
6994
+ 'iliumPAD' => [ 'Lanix', 'Ilium Pad', DeviceType::TABLET ],
6995
+ 'ilium Pad E8' => [ 'Lanix', 'Ilium Pad E8', DeviceType::TABLET ],
6996
+ 'ilium Pad E10' => [ 'Lanix', 'Ilium Pad E10', DeviceType::TABLET ],
6997
+ 'ILIUM PAD E10Si' => [ 'Lanix', 'Ilium Pad E10 Si', DeviceType::TABLET ],
6998
+ 'llium Pad L8' => [ 'Lanix', 'Ilium Pad L8', DeviceType::TABLET ],
6999
+ ],
7000
+
7001
+ 'Lark!!' => [
7002
+ 'Lark Evolution X2 7' => [ 'Lark', 'Evolution X2 7', DeviceType::TABLET ],
7003
+ 'Lark Evolution X2 7 3G-GPS' => [ 'Lark', 'Evolution X2 7', DeviceType::TABLET ],
7004
+ 'Lark FreeMe X2 7' => [ 'Lark', 'FreeMe X2 7', DeviceType::TABLET ],
7005
+ 'Lark FreeMe X2 7 ver.2' => [ 'Lark', 'FreeMe X2 7', DeviceType::TABLET ],
7006
+ ],
7007
+
7008
+ 'Flair P8' => [ 'Lava', 'Flair P8' ],
7009
+
7010
+ 'Iris!!' => [
7011
+ 'Iris78W' => [ 'Lava', 'Iris 78w' ],
7012
+ 'iris 250' => [ 'Lava', 'Iris 250' ],
7013
+ 'iris310s' => [ 'Lava', 'Iris 310s' ],
7014
+ 'Iris 349' => [ 'Lava', 'Iris 349' ],
7015
+ 'Iris 349+' => [ 'Lava', 'Iris 349+' ],
7016
+ 'Iris349i' => [ 'Lava', 'Iris 349i' ],
7017
+ 'Iris349s' => [ 'Lava', 'Iris 349s' ],
7018
+ 'Iris 350' => [ 'Lava', 'Iris 350' ],
7019
+ 'iris 350m' => [ 'Lava', 'Iris 350M' ],
7020
+ 'iris 352Flair' => [ 'Lava', 'Iris 352 Flair' ],
7021
+ 'iris 352E' => [ 'Lava', 'Iris 352e' ],
7022
+ 'iris353' => [ 'Lava', 'Iris 353' ],
7023
+ 'iris354' => [ 'Lava', 'Iris 354' ],
7024
+ 'iris 354' => [ 'Lava', 'Iris 354' ],
7025
+ 'iris354e' => [ 'Lava', 'Iris 354e' ],
7026
+ 'IRIS355' => [ 'Lava', 'Iris 355' ],
7027
+ 'iris356' => [ 'Lava', 'Iris 356' ],
7028
+ 'Iris 300' => [ 'Lava', 'Iris 300' ],
7029
+ 'iris 360m' => [ 'Lava', 'Iris 360M' ],
7030
+ 'iris400c' => [ 'Lava', 'Iris 400 Colour' ],
7031
+ 'iris 400s' => [ 'Lava', 'Iris 400s' ],
7032
+ 'iris 401e' => [ 'Lava', 'Iris 401e' ],
7033
+ 'IRIS402' => [ 'Lava', 'Iris 402' ],
7034
+ 'iris402+' => [ 'Lava', 'Iris 402' ],
7035
+ 'iris 402e' => [ 'Lava', 'Iris 402e' ],
7036
+ 'iris402e' => [ 'Lava', 'Iris 402e' ],
7037
+ 'iris402P' => [ 'Lava', 'Iris 402P' ],
7038
+ 'iris 404Flair' => [ 'Lava', 'Iris 404 Flair' ],
7039
+ 'iris404e' => [ 'Lava', 'Iris 404e' ],
7040
+ 'iris405' => [ 'Lava', 'Iris 405' ],
7041
+ 'iris405+' => [ 'Lava', 'Iris 405+' ],
7042
+ 'iris 406Q' => [ 'Lava', 'Iris 406Q' ],
7043
+ 'iris 408e' => [ 'Lava', 'Iris 408e' ],
7044
+ 'iris 412' => [ 'Lava', '3G 412' ],
7045
+ 'Iris 415' => [ 'Lava', '3G 415' ],
7046
+ 'iris450' => [ 'Lava', 'Iris 450' ],
7047
+ 'iris 450P' => [ 'Lava', 'Iris 450P' ],
7048
+ 'iris454' => [ 'Lava', '3G 454' ],
7049
+ 'IRIS 455' => [ 'Lava', 'Iris 455' ],
7050
+ 'iris456' => [ 'Lava', 'Iris 456' ],
7051
+ 'iris458Q' => [ 'Lava', 'Iris 458Q' ],
7052
+ 'iris500' => [ 'Lava', 'Iris 500' ],
7053
+ 'iris 500' => [ 'Lava', 'Iris 500' ],
7054
+ 'IRIS 501' => [ 'Lava', 'Iris 501' ],
7055
+ 'iris502' => [ 'Lava', 'Iris 502' ],
7056
+ 'iris503' => [ 'Lava', 'Iris 503' ],
7057
+ 'iris503e' => [ 'Lava', 'Iris 503e' ],
7058
+ 'iris504Q' => [ 'Lava', 'Iris 504Q' ],
7059
+ 'iris505' => [ 'Lava', 'Iris 505' ],
7060
+ 'iris506Q' => [ 'Lava', 'Iris 506Q' ],
7061
+ 'iris700' => [ 'Lava', 'Iris 700' ],
7062
+ 'iris708' => [ 'Lava', 'Iris 708' ],
7063
+ 'iris fuel10' => [ 'Lava', 'Iris fuel10' ],
7064
+ 'iris Fuel50' => [ 'Lava', 'Iris fuel50' ],
7065
+ 'iris Fuel60' => [ 'Lava', 'Iris fuel60' ],
7066
+ 'Iris Fuel F1' => [ 'Lava', 'Iris Fuel F1' ],
7067
+ 'iris pro 20' => [ 'Lava', 'Iris Pro 20' ],
7068
+ 'iris pro 30' => [ 'Lava', 'Iris Pro 30' ],
7069
+ 'iris SELFIE50' => [ 'Lava', 'Iris selfie 50' ],
7070
+ 'iris X1' => [ 'Lava', 'Iris X1' ],
7071
+ 'iris X5' => [ 'Lava', 'Iris X5' ],
7072
+ 'irisX8' => [ 'Lava', 'Iris X8' ],
7073
+ ],
7074
+
7075
+ '504Q' => [ 'Lava', 'Iris 504Q' ],
7076
+ '504Q+' => [ 'Lava', 'Iris 504Q+' ],
7077
+ '504QP' => [ 'Lava', 'Iris 504QP' ],
7078
+ 'Alfa L' => [ 'Lava', 'Iris Alfa L' ],
7079
+ 'N320' => [ 'Lava', 'Iris N320' ],
7080
+ 'X1 Grand' => [ 'Lava', 'Iris X1 Grand' ],
7081
+ 'X9' => [ 'Lava', 'Iris X9' ],
7082
+ 'LAVA iris 351' => [ 'Lava', 'Iris 351' ],
7083
+ 'LAVA iRIS 504q' => [ 'Lava', 'Iris 504Q' ],
7084
+ 'LAVA S12' => [ 'Lava', 'S12' ],
7085
+
7086
+ '(XOLO )?[ABQX][0-9]{3,4}!!' => [
7087
+ 'A500L' => [ 'Lava', 'XOLO A500L' ],
7088
+ 'A500s' => [ 'Lava', 'XOLO A500s' ],
7089
+ 'A500S IPS' => [ 'Lava', 'XOLO A500s' ],
7090
+ 'A500s Lite' => [ 'Lava', 'XOLO A500s Lite' ],
7091
+ 'XOLO A700' => [ 'Lava', 'XOLO A700' ],
7092
+ 'XOLO A800' => [ 'Lava', 'XOLO A800' ],
7093
+ 'XOLO A1000' => [ 'Lava', 'XOLO A1000' ],
7094
+ 'XOLO B700' => [ 'Lava', 'XOLO B700' ],
7095
+ 'Q500' => [ 'Lava', 'XOLO Q500' ],
7096
+ 'Q500s IPS' => [ 'Lava', 'XOLO Q500s IPS' ],
7097
+ 'Q510s' => [ 'Lava', 'XOLO Q510s' ],
7098
+ 'Q600' => [ 'Lava', 'XOLO Q600' ],
7099
+ 'Q600s' => [ 'Lava', 'XOLO Q600s' ],
7100
+ 'Q610s' => [ 'Lava', 'XOLO Q610s' ],
7101
+ 'Q700' => [ 'Lava', 'XOLO Q700' ],
7102
+ 'XOLO Q700' => [ 'Lava', 'XOLO Q700' ],
7103
+ 'XOLO Q700i' => [ 'Lava', 'XOLO Q700i' ],
7104
+ 'Q700i' => [ 'Lava', 'XOLO Q700i' ],
7105
+ 'Q700S' => [ 'Lava', 'XOLO Q700s' ],
7106
+ 'Q700S Plus' => [ 'Lava', 'XOLO Q700s Plus' ],
7107
+ 'Q710' => [ 'Lava', 'XOLO Q710' ],
7108
+ 'Q800' => [ 'Lava', 'XOLO Q800' ],
7109
+ 'XOLO Q800' => [ 'Lava', 'XOLO Q800' ],
7110
+ 'Q800X' => [ 'Lava', 'XOLO Q800 X-Edition' ],
7111
+ 'Q900' => [ 'Lava', 'XOLO Q900' ],
7112
+ 'Q900S' => [ 'Lava', 'XOLO Q900s' ],
7113
+ 'Q900T' => [ 'Lava', 'XOLO Q900T' ],
7114
+ 'Q1000' => [ 'Lava', 'XOLO Q1000' ],
7115
+ 'Xolo Q1000' => [ 'Lava', 'XOLO Q1000' ],
7116
+ 'Q1000 Opus' => [ 'Lava', 'XOLO Q1000 Opus' ],
7117
+ 'XOLO Q1000 Opus2!' => [ 'Lava', 'XOLO Q1000 Opus 2' ],
7118
+ 'Q1000S' => [ 'Lava', 'XOLO Q1000s' ],
7119
+ 'Q1000s Plus' => [ 'Lava', 'XOLO Q1000s Plus' ],
7120
+ 'Q1010' => [ 'Lava', 'XOLO Q1010' ],
7121
+ 'Q1010i' => [ 'Lava', 'XOLO Q1010i' ],
7122
+ 'Q1011' => [ 'Lava', 'XOLO Q1011' ],
7123
+ 'Q1100' => [ 'Lava', 'XOLO Q1100' ],
7124
+ 'Q1200' => [ 'Lava', 'XOLO Q1200' ],
7125
+ 'Q2000' => [ 'Lava', 'XOLO Q2000' ],
7126
+ 'Q2000L' => [ 'Lava', 'XOLO Q2000L' ],
7127
+ 'Q2100' => [ 'Lava', 'XOLO Q2100' ],
7128
+ 'Q2500' => [ 'Lava', 'XOLO Q2500' ],
7129
+ 'Q3000' => [ 'Lava', 'XOLO Q3000' ],
7130
+ 'Xolo X500' => [ 'Lava', 'XOLO X500' ],
7131
+ 'X900' => [ 'Lava', 'XOLO X900' ],
7132
+ 'Xolo X900' => [ 'Lava', 'XOLO X900' ],
7133
+ 'XOLO X910' => [ 'Lava', 'XOLO X910' ],
7134
+ 'XOLO X1000' => [ 'Lava', 'XOLO X1000' ],
7135
+ ],
7136
+
7137
+ 'BLACK' => [ 'Lava', 'XOLO Black' ],
7138
+ '8x-1000' => [ 'Lava', 'XOLO Hive 8x-1000' ],
7139
+ 'Omega 5.0' => [ 'Lava', 'XOLO Omega 5.0' ],
7140
+ 'Omega 5.5' => [ 'Lava', 'XOLO Omega 5.5' ],
7141
+ 'XOLO One' => [ 'Lava', 'XOLO One' ],
7142
+ 'XOLO Play' => [ 'Lava', 'XOLO Play' ],
7143
+ 'XOLO T1000' => [ 'Lava', 'XOLO Play' ],
7144
+ 'Play 6X-1000' => [ 'Lava', 'XOLO Play 6X 1000' ],
7145
+ 'Play8X-1100' => [ 'Lava', 'XOLO Play 8X 1100' ],
7146
+ 'Xolo QC800' => [ 'Lava', 'XOLO Tab', DeviceType::TABLET ],
7147
+ 'R30GT' => [ 'Lavios', 'Revo R30GT', DeviceType::TABLET ],
7148
+
7149
+ 'leepoo!!' => [
7150
+ 'leepoo i500' => [ 'Leepoo', 'i500' ],
7151
+ 'leepoo i580' => [ 'Leepoo', 'i580' ],
7152
+ 'leepoo i600' => [ 'Leepoo', 'i600' ],
7153
+ 'leepoo i800' => [ 'Leepoo', 'i800' ],
7154
+ ],
7155
+
7156
+ 'P5' => [ 'Lemon', 'P5' ],
7157
+ 'LEMON P7' => [ 'Lemon', 'P7' ],
7158
+ 'P105' => [ 'Lemon', 'P105' ],
7159
+
7160
+ 'Lenco!!' => [
7161
+ 'Lenco CARTAB-920' => [ 'Lenco', 'CarTab 920', DeviceType::TABLET ],
7162
+ 'Lenco CARTAB-925' => [ 'Lenco', 'CarTab 925', DeviceType::TABLET ],
7163
+ 'Lenco CoolTab-70' => [ 'Lenco', 'CoolTab 70', DeviceType::TABLET ],
7164
+ 'Lenco CoolTAB-72' => [ 'Lenco', 'CoolTab 72', DeviceType::TABLET ],
7165
+ 'Lenco CoolTab-80' => [ 'Lenco', 'CoolTab 80', DeviceType::TABLET ],
7166
+ 'Lenco KidzTab-70' => [ 'Lenco', 'KidzTab 70', DeviceType::TABLET ],
7167
+ 'Lenco KidzTab-520' => [ 'Lenco', 'KidzTab 520', DeviceType::TABLET ],
7168
+ 'Lenco TAB-704' => [ 'Lenco', 'TAB 704', DeviceType::TABLET ],
7169
+ 'Lenco TAB-712' => [ 'Lenco', 'TAB 712', DeviceType::TABLET ],
7170
+ 'Lenco TAB-813' => [ 'Lenco', 'TAB 813', DeviceType::TABLET ],
7171
+ 'Lenco TAB-832' => [ 'Lenco', 'TAB 832', DeviceType::TABLET ],
7172
+ 'Lenco TAB-900' => [ 'Lenco', 'TAB 900', DeviceType::TABLET ],
7173
+ 'Lenco TAB-925' => [ 'Lenco', 'TAB 925', DeviceType::TABLET ],
7174
+ 'Lenco TAB-1014' => [ 'Lenco', 'TAB 1014', DeviceType::TABLET ],
7175
+ 'Lenco TAB-1020' => [ 'Lenco', 'TAB 1020', DeviceType::TABLET ],
7176
+ 'Lenco TAB-1022' => [ 'Lenco', 'TAB 1022', DeviceType::TABLET ],
7177
+ 'Lenco TAB-1030' => [ 'Lenco', 'TAB 1030', DeviceType::TABLET ],
7178
+ 'Lenco TAB-9720' => [ 'Lenco', 'TAB 9720', DeviceType::TABLET ],
7179
+ ],
7180
+
7181
+ 'LENCM900HZ' => [ 'Lenco', 'TAB 811', DeviceType::TABLET ],
7182
+ 'TAB1011' => [ 'Lenco', 'TAB 1011', DeviceType::TABLET ],
7183
+ 'TAB-1030' => [ 'Lenco', 'TAB 1030', DeviceType::TABLET ],
7184
+ 'ThinkPad( Tablet)?!' => [ 'Lenovo', 'ThinkPad Tablet', DeviceType::TABLET ],
7185
+ 'IdeaPad A1' => [ 'Lenovo', 'IdeaPad A1', DeviceType::TABLET ],
7186
+ 'Lenovo A1-32AB0' => [ 'Lenovo', 'IdeaPad A1', DeviceType::TABLET ],
7187
+ 'Lenovo A1-32AJ0' => [ 'Lenovo', 'IdeaPad A1', DeviceType::TABLET ],
7188
+ 'IdeaPadA10' => [ 'Lenovo', 'IdeaPad A10', DeviceType::TABLET ],
7189
+ 'K1' => [ 'Lenovo', 'IdeaPad K1', DeviceType::TABLET ],
7190
+ 'Ideapad K1!' => [ 'Lenovo', 'IdeaPad K1', DeviceType::TABLET ],
7191
+ 'Ideapad S10-3T' => [ 'Lenovo', 'IdeaPad S10-3T', DeviceType::TABLET ],
7192
+ 'Lenovo IdeaPad Yoga 11S' => [ 'Lenovo', 'IdeaPad Yoga 11S', DeviceType::TABLET ],
7193
+ 'Lenovo IdeaPad Yoga 13' => [ 'Lenovo', 'IdeaPad Yoga 13', DeviceType::TABLET ],
7194
+
7195
+ '(Lenovo ?)?(IdeaTab ?)?[AB][0-9]{4,4}!!' => [
7196
+ 'Lenovo A1000L-F' => [ 'Lenovo', 'IdeaTab A1000', DeviceType::TABLET ],
7197
+ 'IdeaTab ?A1000(-F|-G|-T)!' => [ 'Lenovo', 'IdeaTab A1000', DeviceType::TABLET ],
7198
+ 'IdeaTab ?A1000(L-F)!' => [ 'Lenovo', 'IdeaTab A1000', DeviceType::TABLET ],
7199
+ 'IdeaTab ?A1010(-T)!' => [ 'Lenovo', 'IdeaTab A1010', DeviceType::TABLET ],
7200
+ 'IdeaTab ?A1020(-T)!' => [ 'Lenovo', 'IdeaTab A1020', DeviceType::TABLET ],
7201
+ 'IdeaTab ?A1107!' => [ 'Lenovo', 'IdeaTab A1107', DeviceType::TABLET ],
7202
+ 'Lenovo A2010-a' => [ 'Lenovo', 'IdeaTab A2010', DeviceType::TABLET ],
7203
+ 'Lenovo A2010l36' => [ 'Lenovo', 'IdeaTab A2010', DeviceType::TABLET ],
7204
+ 'Lenovo A2105' => [ 'Lenovo', 'IdeaTab A2105', DeviceType::TABLET ],
7205
+ 'Lenovo A2107' => [ 'Lenovo', 'IdeaTab A2107', DeviceType::TABLET ],
7206
+ 'IdeaTab ?A2107(A-F|A-H)!' => [ 'Lenovo', 'IdeaTab A2107', DeviceType::TABLET ],
7207
+ 'A2107A-H' => [ 'Lenovo', 'IdeaTab A2107', DeviceType::TABLET ],
7208
+ 'IdeaTab ?A2109(A)!' => [ 'Lenovo', 'IdeaTab A2109', DeviceType::TABLET ],
7209
+ 'A2109A' => [ 'Lenovo', 'IdeaTab A2109', DeviceType::TABLET ],
7210
+ 'IdeaTab ?A2207(A-H)!' => [ 'Lenovo', 'IdeaTab A2207', DeviceType::TABLET ],
7211
+ 'IdeaTab ?A3000-(F|H)!' => [ 'Lenovo', 'IdeaTab A3000', DeviceType::TABLET ],
7212
+ 'Lenovo A3000-H!' => [ 'Lenovo', 'IdeaTab A3000', DeviceType::TABLET ],
7213
+ 'LENOVO IdeaTab A3000-H' => [ 'Lenovo', 'IdeaTab A3000', DeviceType::TABLET ],
7214
+ 'Lenovo ?A3300(-H|-HV|-GV|-T)!' => [ 'Lenovo', 'IdeaTab A3300', DeviceType::TABLET ],
7215
+ 'Lenovo A3500(-F|-FL|-H|-HV)!' => [ 'Lenovo', 'IdeaTab A3500', DeviceType::TABLET ],
7216
+ 'IdeaTab ?A5000-E!' => [ 'Lenovo', 'IdeaTab A5000', DeviceType::TABLET ],
7217
+ 'Lenovo A5500(-F|-HV|-H|HV)?!' => [ 'Lenovo', 'IdeaTab A5500', DeviceType::TABLET ],
7218
+ 'Lenovo A7600(-F|-HV|-H|H)!' => [ 'Lenovo', 'IdeaTab A7600', DeviceType::TABLET ],
7219
+ 'Lenovo B6000(-F|-H)!' => [ 'Lenovo', 'B6000 Yoga Tablet 8', DeviceType::TABLET ],
7220
+ 'Lenovo B8000(-F|-H)!' => [ 'Lenovo', 'B8000 Yoga Tablet 10', DeviceType::TABLET ],
7221
+ 'Lenovo B8080(-F|-H|-HV)!' => [ 'Lenovo', 'B8080 Yoga Tablet 10', DeviceType::TABLET ],
7222
+ ],
7223
+
7224
+ 'YOGA Tablet!!' => [
7225
+ 'YOGA Tablet 2-830F' => [ 'Lenovo', 'Yoga Tablet 2 830F', DeviceType::TABLET ],
7226
+ 'YOGA Tablet 2-830L' => [ 'Lenovo', 'Yoga Tablet 2 830L', DeviceType::TABLET ],
7227
+ 'YOGA Tablet 2-830LC' => [ 'Lenovo', 'Yoga Tablet 2 830LC', DeviceType::TABLET ],
7228
+ 'YOGA Tablet 2-1050F' => [ 'Lenovo', 'Yoga Tablet 2 1050F', DeviceType::TABLET ],
7229
+ 'YOGA Tablet 2-1050L' => [ 'Lenovo', 'Yoga Tablet 2 1050L', DeviceType::TABLET ],
7230
+ 'YOGA Tablet 2-1050LC' => [ 'Lenovo', 'Yoga Tablet 2 1050LC', DeviceType::TABLET ],
7231
+ 'YOGA Tablet 2 Pro-1380F' => [ 'Lenovo', 'Yoga Tablet 2 Pro 1380F', DeviceType::TABLET ],
7232
+ 'YOGA Tablet 2 Pro-1380L' => [ 'Lenovo', 'Yoga Tablet 2 Pro 1380L', DeviceType::TABLET ],
7233
+ ],
7234
+
7235
+ 'Lenovo YT3-X90L' => [ 'Lenovo', 'Yoga Tablet 3 Pro', DeviceType::TABLET ],
7236
+
7237
+ '(Lenovo )?(Tab ?)?(2 ?)?[AS](7|8|10)!!' => [
7238
+ 'Lenovo A7' => [ 'Lenovo', 'Tab A7', DeviceType::TABLET ],
7239
+ 'Lenovo A7-60HC' => [ 'Lenovo', 'Tab A7', DeviceType::TABLET ],
7240
+ 'Lenovo A10-70LC' => [ 'Lenovo', 'Tab A10', DeviceType::TABLET ],
7241
+ 'Lenovo 2 A7-30(F|HC|TC)!' => [ 'Lenovo', 'Tab 2 A7', DeviceType::TABLET ],
7242
+ 'Tab2A7-(10|20)!' => [ 'Lenovo', 'Tab 2 A7', DeviceType::TABLET ],
7243
+ 'Lenovo TAB 2 A7-30(D|F|H|DC|GC|HC)!' => [ 'Lenovo', 'Tab 2 A7', DeviceType::TABLET ],
7244
+ 'Lenovo 2 A8-50(F|L|LC)!' => [ 'Lenovo', 'Tab 2 A8', DeviceType::TABLET ],
7245
+ 'Lenovo TAB 2 A8-50(F|L|LC)!' => [ 'Lenovo', 'Tab 2 A8', DeviceType::TABLET ],
7246
+ 'Lenovo TAB 2 A10-70(F|L)!' => [ 'Lenovo', 'Tab 2 A10', DeviceType::TABLET ],
7247
+ 'Lenovo TAB S8-50(F|L|LC)!' => [ 'Lenovo', 'Tab S8', DeviceType::TABLET ],
7248
+ 'Lenovo S8-50LC' => [ 'Lenovo', 'Tab S8', DeviceType::TABLET ],
7249
+ ],
7250
+
7251
+ '(Lenovo ?)?(IdeaTab ?)?[KSV][0-9]{4,4}!!' => [
7252
+ 'IdeaTab ?K2110A-(F)!' => [ 'Lenovo', 'IdeaTab K2110', DeviceType::TABLET ],
7253
+ 'S2005A-H' => [ 'Lenovo', 'IdeaTab S2005', DeviceType::TABLET ],
7254
+ 'lenovo S2005' => [ 'Lenovo', 'IdeaTab S2005', DeviceType::TABLET ],
7255
+ 'IdeaTab ?S2007A-(D|F|H)!' => [ 'Lenovo', 'IdeaTab S2007', DeviceType::TABLET ],
7256
+ 'IdeaTab ?S2010A-(D|F|H)!' => [ 'Lenovo', 'IdeaTab S2010', DeviceType::TABLET ],
7257
+ 'IdeaTab ?S2109A-(F)!' => [ 'Lenovo', 'IdeaTab S2109', DeviceType::TABLET ],
7258
+ 'IdeaTab ?S2110(AF|AH)!' => [ 'Lenovo', 'IdeaTab S2110', DeviceType::TABLET ],
7259
+ 'IdeaTab ?A2207A-(F)!' => [ 'Lenovo', 'IdeaTab S2207', DeviceType::TABLET ],
7260
+ 'Lenovo S5000' => [ 'Lenovo', 'IdeaTab S5000', DeviceType::TABLET ],
7261
+ 'Lenovo S5000-(F|H)!' => [ 'Lenovo', 'IdeaTab S5000', DeviceType::TABLET ],
7262
+ 'IdeaTab ?S6000L?-(F|H)!' => [ 'Lenovo', 'IdeaTab S6000', DeviceType::TABLET ],
7263
+ 'Lenovo S6000-H' => [ 'Lenovo', 'IdeaTab S6000', DeviceType::TABLET ],
7264
+ 'Lenovo S6000L-(F|H)!' => [ 'Lenovo', 'IdeaTab S6000', DeviceType::TABLET ],
7265
+ 'LENOVO IdeaTab S6000-H' => [ 'Lenovo', 'IdeaTab S6000', DeviceType::TABLET ],
7266
+ 'IdeaTab ?V2007(A|A-D-I)!' => [ 'Lenovo', 'IdeaTab V2007', DeviceType::TABLET ],
7267
+ 'IdeaTab ?V2010(A)!' => [ 'Lenovo', 'IdeaTab V2010', DeviceType::TABLET ],
7268
+ ],
7269
+
7270
+ 'Lenovo Pad A4' => [ 'Lenovo', 'Pad A4', DeviceType::TABLET ],
7271
+
7272
+ 'Lenovo' => [ 'Lenovo', 'LePad', DeviceType::TABLET ],
7273
+ 'A1 07' => [ 'Lenovo', 'LePad', DeviceType::TABLET ],
7274
+ 'lepad 001b' => [ 'Lenovo', 'LePad', DeviceType::TABLET ],
7275
+ 'lepad 001n' => [ 'Lenovo', 'LePad', DeviceType::TABLET ],
7276
+
7277
+ '(Lenovo |Lephone )?3GC101!' => [ 'Lenovo', 'LePhone 3GC101' ],
7278
+ '(Lenovo |Lephone )?3GW100!' => [ 'Lenovo', 'LePhone 3GW100' ],
7279
+ '(Lenovo |Lephone )?3GW101!' => [ 'Lenovo', 'LePhone 3GW101' ],
7280
+ '(Lenovo )?S1[- ]37AH0!' => [ 'Lenovo', 'LePhone S1' ],
7281
+ '(Lenovo )?S2[- ]38A(H0|T0)!' => [ 'Lenovo', 'LePhone S2' ],
7282
+
7283
+ 'Lenovo!!' => [
7284
+ 'Lenovo A1000' => [ 'Lenovo', 'A1000' ],
7285
+ 'Lenovo A1600-d' => [ 'Lenovo', 'A1600' ],
7286
+ 'Lenovo A1900' => [ 'Lenovo', 'A1900' ],
7287
+ 'Lenovo A2580' => [ 'Lenovo', 'A2580' ],
7288
+ 'Lenovo A2800-d' => [ 'Lenovo', 'A2800' ],
7289
+ 'Lenovo A2860!' => [ 'Lenovo', 'A2860' ],
7290
+ 'Lenovo A3500' => [ 'Lenovo', 'A3500' ],
7291
+ 'Lenovo A5000!' => [ 'Lenovo', 'A5000' ],
7292
+ 'Lenovo A6000!' => [ 'Lenovo', 'A6000' ],
7293
+ 'Lenovo A7000!' => [ 'Lenovo', 'A7000' ],
7294
+ 'Lenovo A116!' => [ 'Lenovo', 'A116' ],
7295
+ 'Lenovo A208!' => [ 'Lenovo', 'A208' ],
7296
+ 'Lenovo A218!' => [ 'Lenovo', 'A218' ],
7297
+ 'Lenovo A228t' => [ 'Lenovo', 'A228t' ],
7298
+ 'Lenovo A238!' => [ 'Lenovo', 'A238' ],
7299
+ 'Lenovo A269!' => [ 'Lenovo', 'A269' ],
7300
+ 'Lenovo A278!' => [ 'Lenovo', 'A278' ],
7301
+ 'Lenovo ?A288!' => [ 'Lenovo', 'A288' ],
7302
+ 'Lenovo ?A298!' => [ 'Lenovo', 'A298' ],
7303
+ 'Lenovo A300!' => [ 'Lenovo', 'A300' ],
7304
+ 'Lenovo A305!' => [ 'Lenovo', 'A305' ],
7305
+ 'Lenovo A308!' => [ 'Lenovo', 'A308' ],
7306
+ 'Lenovo A316!' => [ 'Lenovo', 'A316' ],
7307
+ 'Lenovo A318!' => [ 'Lenovo', 'A318' ],
7308
+ 'Lenovo A319!' => [ 'Lenovo', 'A319' ],
7309
+ 'Lenovo A320!' => [ 'Lenovo', 'A320' ],
7310
+ 'Lenovo A326!' => [ 'Lenovo', 'A326' ],
7311
+ 'Lenovo A328!' => [ 'Lenovo', 'A328' ],
7312
+ 'Lenovo A330!' => [ 'Lenovo', 'A330' ],
7313
+ 'Lenovo A338!' => [ 'Lenovo', 'A338' ],
7314
+ 'Lenovo A355!' => [ 'Lenovo', 'A355' ],
7315
+ 'Lenovo A356!' => [ 'Lenovo', 'A356' ],
7316
+ 'Lenovo A358!' => [ 'Lenovo', 'A358' ],
7317
+ 'Lenovo A360!' => [ 'Lenovo', 'A360' ],
7318
+ 'Lenovo A365!' => [ 'Lenovo', 'A365' ],
7319
+ 'Lenovo A366!' => [ 'Lenovo', 'A366' ],
7320
+ 'Lenovo A368!' => [ 'Lenovo', 'A368' ],
7321
+ 'Lenovo A369!' => [ 'Lenovo', 'A369' ],
7322
+ 'Lenovo A370!' => [ 'Lenovo', 'A370' ],
7323
+ 'Lenovo A370!' => [ 'Lenovo', 'A370' ],
7324
+ 'Lenovo A375!' => [ 'Lenovo', 'A375' ],
7325
+ 'Lenovo A376!' => [ 'Lenovo', 'A376' ],
7326
+ 'Lenovo A378!' => [ 'Lenovo', 'A378' ],
7327
+ 'Lenovo A380!' => [ 'Lenovo', 'A380' ],
7328
+ 'Lenovo A385!' => [ 'Lenovo', 'A385' ],
7329
+ 'Lenovo A388!' => [ 'Lenovo', 'A388' ],
7330
+ 'Lenovo A390!' => [ 'Lenovo', 'A390' ],
7331
+ 'Lenovo A395!' => [ 'Lenovo', 'A395' ],
7332
+ 'Lenovo A396!' => [ 'Lenovo', 'A396' ],
7333
+ 'Lenovo A398!' => [ 'Lenovo', 'A398' ],
7334
+ 'Lenovo A399' => [ 'Lenovo', 'A399' ],
7335
+ 'Lenovo A500!' => [ 'Lenovo', 'A505' ],
7336
+ 'Lenovo A505!' => [ 'Lenovo', 'A500' ],
7337
+ 'Lenovo A516!' => [ 'Lenovo', 'A516' ],
7338
+ 'Lenovo A520!' => [ 'Lenovo', 'A520' ],
7339
+ 'Lenovo A526!' => [ 'Lenovo', 'A526' ],
7340
+ 'Lenovo A529!' => [ 'Lenovo', 'A529' ],
7341
+ 'Lenovo A530!' => [ 'Lenovo', 'A530' ],
7342
+ 'Lenovo A536!' => [ 'Lenovo', 'A536' ],
7343
+ 'Lenovo A560!' => [ 'Lenovo', 'A560' ],
7344
+ 'Lenovo A580!' => [ 'Lenovo', 'A580' ],
7345
+ 'Lenovo A586!' => [ 'Lenovo', 'A586' ],
7346
+ 'Lenovo ?A588!' => [ 'Lenovo', 'A588' ],
7347
+ 'Lenovo A590!' => [ 'Lenovo', 'A590' ],
7348
+ 'Lenovo A600!' => [ 'Lenovo', 'A600' ],
7349
+ 'Lenovo A606!' => [ 'Lenovo', 'A606' ],
7350
+ 'Lenovo A616!' => [ 'Lenovo', 'A616' ],
7351
+ 'Lenovo A628!' => [ 'Lenovo', 'A628' ],
7352
+ 'Lenovo A630!' => [ 'Lenovo', 'A630' ],
7353
+ 'Lenovo A656!' => [ 'Lenovo', 'A656' ],
7354
+ 'Lenovo A658!' => [ 'Lenovo', 'A658' ],
7355
+ 'Lenovo A660!' => [ 'Lenovo', 'A660' ],
7356
+ 'Lenovo A668!' => [ 'Lenovo', 'A668' ],
7357
+ 'Lenovo A670!' => [ 'Lenovo', 'A670' ],
7358
+ 'Lenovo A678!' => [ 'Lenovo', 'A678' ],
7359
+ 'Lenovo A680!' => [ 'Lenovo', 'A680' ],
7360
+ 'Lenovo A690!' => [ 'Lenovo', 'A690' ],
7361
+ 'Lenovo A698!' => [ 'Lenovo', 'A698' ],
7362
+ 'Lenovo A700!' => [ 'Lenovo', 'A700' ],
7363
+ 'Lenovo A706!' => [ 'Lenovo', 'A706' ],
7364
+ 'Lenovo A708!' => [ 'Lenovo', 'A708' ],
7365
+ 'Lenovo A710!' => [ 'Lenovo', 'A710' ],
7366
+ 'Lenovo A718!' => [ 'Lenovo', 'A718' ],
7367
+ 'Lenovo A720!' => [ 'Lenovo', 'A720' ],
7368
+ 'Lenovo A750!' => [ 'Lenovo', 'A750' ],
7369
+ 'Lenovo A760!' => [ 'Lenovo', 'A760' ],
7370
+ 'Lenovo A765!' => [ 'Lenovo', 'A765' ],
7371
+ 'Lenovo A766!' => [ 'Lenovo', 'A766' ],
7372
+ 'Lenovo A768t' => [ 'Lenovo', 'A768t' ],
7373
+ 'Lenovo A770!' => [ 'Lenovo', 'A770' ],
7374
+ 'Lenovo A780!' => [ 'Lenovo', 'A780' ],
7375
+ 'Lenovo A785!' => [ 'Lenovo', 'A785' ],
7376
+ 'Lenovo A788!' => [ 'Lenovo', 'A788' ],
7377
+ 'Lenovo A789!' => [ 'Lenovo', 'A789' ],
7378
+ 'Lenovo A790!' => [ 'Lenovo', 'A790' ],
7379
+ 'Lenovo A798!' => [ 'Lenovo', 'A798' ],
7380
+ 'Lenovo A800!' => [ 'Lenovo', 'A800' ],
7381
+ 'Lenovo A805!' => [ 'Lenovo', 'A805' ],
7382
+ 'Lenovo A806!' => [ 'Lenovo', 'A806' ],
7383
+ 'Lenovo A808!' => [ 'Lenovo', 'A808' ],
7384
+ 'Lenovo A816!' => [ 'Lenovo', 'A816' ],
7385
+ 'Lenovo ?A820!' => [ 'Lenovo', 'A820' ],
7386
+ 'lenovo-A820t' => [ 'Lenovo', 'A820' ],
7387
+ 'Lenovo A828!' => [ 'Lenovo', 'A828' ],
7388
+ 'Lenovo A830!' => [ 'Lenovo', 'A830' ],
7389
+ 'Lenovo A850!' => [ 'Lenovo', 'A850' ],
7390
+ 'Lenovo A858!' => [ 'Lenovo', 'A858' ],
7391
+ 'Lenovo A859!' => [ 'Lenovo', 'A859' ],
7392
+ 'Lenovo A860!' => [ 'Lenovo', 'A860' ],
7393
+ 'Lenovo A880!' => [ 'Lenovo', 'A880' ],
7394
+ 'Lenovo A889!' => [ 'Lenovo', 'A889' ],
7395
+ 'Lenovo A890!' => [ 'Lenovo', 'A890' ],
7396
+ 'Lenovo A916!' => [ 'Lenovo', 'A916' ],
7397
+ 'Lenovo A936!' => [ 'Lenovo', 'A936' ],
7398
+ 'Lenovo A938!' => [ 'Lenovo', 'A938' ],
7399
+ 'Lenovo A998!' => [ 'Lenovo', 'A998' ],
7400
+ 'Lenovo A60+?!' => [ 'Lenovo', 'A60' ],
7401
+ 'Lenovo A65!' => [ 'Lenovo', 'A65' ],
7402
+ 'Lenovo A66!' => [ 'Lenovo', 'A66' ],
7403
+ 'Lenovo A68!' => [ 'Lenovo', 'A68' ],
7404
+ 'Lenovo K800' => [ 'Lenovo', 'K800' ],
7405
+ 'Lenovo K860!' => [ 'Lenovo', 'K860' ],
7406
+ 'Lenovo K900!' => [ 'Lenovo', 'K900' ],
7407
+ 'Lenovo K910!' => [ 'Lenovo', 'K910' ],
7408
+ 'Lenovo K920!' => [ 'Lenovo', 'K920' ],
7409
+ 'Lenovo K80M' => [ 'Lenovo', 'K80' ],
7410
+ 'Lenovo K2' => [ 'Lenovo', 'K2' ],
7411
+ 'Lenovo k30' => [ 'Lenovo', 'K3' ],
7412
+ 'Lenovo K30-T' => [ 'Lenovo', 'K3' ],
7413
+ 'Lenovo K30-TM' => [ 'Lenovo', 'K3' ],
7414
+ 'Lenovo K30-W' => [ 'Lenovo', 'K3' ],
7415
+ 'Lenovo K31-t3' => [ 'Lenovo', 'K3' ],
7416
+ 'Lenovo K3' => [ 'Lenovo', 'K3' ],
7417
+ 'Lenovo K50a40' => [ 'Lenovo', 'K3 Note' ],
7418
+ 'Lenovo K50-t3s' => [ 'Lenovo', 'K3 Note' ],
7419
+ 'Lenovo K50-T5' => [ 'Lenovo', 'K3 Note' ],
7420
+ 'Lenovo K6' => [ 'Lenovo', 'K6' ],
7421
+ 'Lenovo N300' => [ 'Lenovo', 'N300', DeviceType::DESKTOP ],
7422
+ 'Lenovo N308' => [ 'Lenovo', 'N308', DeviceType::DESKTOP ],
7423
+ 'Lenovo N908' => [ 'Lenovo', 'N908' ],
7424
+ 'Lenovo O3' => [ 'Lenovo', 'O3' ],
7425
+ 'Lenovo P70' => [ 'Lenovo', 'P70' ],
7426
+ 'Lenovo P70-A' => [ 'Lenovo', 'P70' ],
7427
+ 'Lenovo P70-t' => [ 'Lenovo', 'P70' ],
7428
+ 'Lenovo P90' => [ 'Lenovo', 'P90' ],
7429
+ 'Lenovo P700!' => [ 'Lenovo', 'P700' ],
7430
+ 'Lenovo P770!' => [ 'Lenovo', 'P770' ],
7431
+ 'Lenovo-P770' => [ 'Lenovo', 'P770' ],
7432
+ 'Lenovo P780!' => [ 'Lenovo', 'P780' ],
7433
+ 'Lenovo P786!' => [ 'Lenovo', 'P786' ],
7434
+ 'Lenovo S60-a' => [ 'Lenovo', 'S60' ],
7435
+ 'Lenovo S60-t' => [ 'Lenovo', 'S60' ],
7436
+ 'Lenovo S60-w' => [ 'Lenovo', 'S60' ],
7437
+ 'Lenovo S90-A' => [ 'Lenovo', 'S90' ],
7438
+ 'Lenovo S90-e' => [ 'Lenovo', 'S90' ],
7439
+ 'Lenovo S90-L' => [ 'Lenovo', 'S90' ],
7440
+ 'Lenovo S90-t' => [ 'Lenovo', 'S90' ],
7441
+ 'Lenovo S90-u' => [ 'Lenovo', 'S90' ],
7442
+ 'Lenovo S560' => [ 'Lenovo', 'S560' ],
7443
+ 'Lenovo S580' => [ 'Lenovo', 'S580' ],
7444
+ 'Lenovo S650' => [ 'Lenovo', 'S650' ],
7445
+ 'Lenovo S658t' => [ 'Lenovo', 'S658' ],
7446
+ 'Lenovo S660' => [ 'Lenovo', 'S660' ],
7447
+ 'Lenovo S668t' => [ 'Lenovo', 'S668' ],
7448
+ 'Lenovo S680' => [ 'Lenovo', 'S680' ],
7449
+ 'Lenovo S686' => [ 'Lenovo', 'S686' ],
7450
+ 'Lenovo S696' => [ 'Lenovo', 'S696' ],
7451
+ 'Lenovo S720!' => [ 'Lenovo', 'S720' ],
7452
+ 'Lenovo S750' => [ 'Lenovo', 'S750' ],
7453
+ 'Lenovo S760' => [ 'Lenovo', 'S760' ],
7454
+ 'Lenovo S790' => [ 'Lenovo', 'S790' ],
7455
+ 'Lenovo S810!' => [ 'Lenovo', 'S810' ],
7456
+ 'Lenovo S820!' => [ 'Lenovo', 'S820' ],
7457
+ 'Lenovo S850!' => [ 'Lenovo', 'S850' ],
7458
+ 'Lenovo S856!' => [ 'Lenovo', 'S856' ],
7459
+ 'Lenovo S858!' => [ 'Lenovo', 'S858' ],
7460
+ 'Lenovo S860!' => [ 'Lenovo', 'S860' ],
7461
+ 'Lenovo S868t' => [ 'Lenovo', 'S868' ],
7462
+ 'Lenovo S870e' => [ 'Lenovo', 'S870' ],
7463
+ 'Lenovo S880!' => [ 'Lenovo', 'S880' ],
7464
+ 'Lenovo S890' => [ 'Lenovo', 'S890' ],
7465
+ 'Lenovo S898!' => [ 'Lenovo', 'S898' ],
7466
+ 'Lenovo ?S899!' => [ 'Lenovo', 'S899' ],
7467
+ 'lenovo S900i' => [ 'Lenovo', 'S900' ],
7468
+ 'Lenovo ?S920!' => [ 'Lenovo', 'S920' ],
7469
+ 'Lenovo S930' => [ 'Lenovo', 'S930' ],
7470
+ 'Lenovo S938!' => [ 'Lenovo', 'S938' ],
7471
+ 'Lenovo S939' => [ 'Lenovo', 'S939' ],
7472
+ 'Lenovo S950' => [ 'Lenovo', 'S950' ],
7473
+ 'Lenovo S960' => [ 'Lenovo', 'S960' ],
7474
+ 'Lenovo S968!' => [ 'Lenovo', 'S968' ],
7475
+ 'Lenovo W100' => [ 'Lenovo', 'W100' ],
7476
+ 'Lenovo X2-(AP|CU|EU|TO|TR)!' => [ 'Lenovo', 'Vibe X2' ],
7477
+ 'Lenovo Z90!' => [ 'Lenovo', 'Vibe Shot' ],
7478
+ 'Lenovo PB1-750M' => [ 'Lenovo', 'Phab' ],
7479
+ 'Lenovo PB1-770(M|N|P)!' => [ 'Lenovo', 'Phab Plus' ],
7480
+ 'Lenovo X910' => [ 'Lenovo', 'X910' ],
7481
+ ],
7482
+
7483
+ 'A750' => [ 'Lenovo', 'A750' ],
7484
+ 'A30t' => [ 'Lenovo', 'A30' ],
7485
+ 'OPPOLenovo A60' => [ 'Lenovo', 'A60' ],
7486
+ 'P700i' => [ 'Lenovo', 'P700i' ],
7487
+ 'S658t' => [ 'Lenovo', 'S658' ],
7488
+ 'S720i' => [ 'Lenovo', 'S720' ],
7489
+ 'S880' => [ 'Lenovo', 'S880' ],
7490
+
7491
+ 'idea ?tv!!' => [
7492
+ 'ideatv A21' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ],
7493
+ 'ideatv K72' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ],
7494
+ 'ideatv K82' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ],
7495
+ 'ideatv K91' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ],
7496
+ 'IDEA TV T100' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ],
7497
+ 'IDEA TV K91' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ],
7498
+ 'ideatv S9' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ],
7499
+ 'ideatv S31' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ],
7500
+ 'ideatv S51' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ],
7501
+ 'ideatv S52' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ],
7502
+ 'ideatv S61' => [ 'Lenovo', 'IDEA TV', DeviceType::TELEVISION ],
7503
+ ],
7504
+
7505
+ 'LenovoTV 40S9' => [ 'Lenovo', 'TV 40S9', DeviceType::TELEVISION ],
7506
+ 'LenovoTV 50S52' => [ 'Lenovo', 'TV 50S52', DeviceType::TELEVISION ],
7507
+ '501LV' => [ 'Lenovo', 'Tab2 501LV', 'carrier' => 'Softbank' ],
7508
+
7509
+ 'ZUK Z1' => [ 'Lenovo', 'ZUK Z1' ],
7510
+ 'ZUK Z2' => [ 'Lenovo', 'ZUK Z2' ],
7511
+
7512
+ '(BLF-)?lephone!!' => [
7513
+ 'lephone 1800' => [ 'Lephone', '1800' ],
7514
+ 'BLF-lephone 1900' => [ 'Lephone', '1900' ],
7515
+ 'lephone 2800' => [ 'Lephone', '2800' ],
7516
+ 'lephone 2900' => [ 'Lephone', '2900' ],
7517
+ 'lephone T708' => [ 'Lephone', 'T708' ],
7518
+ 'Lephone TD506' => [ 'Lephone', 'TD506' ],
7519
+ 'Lephone TD8208' => [ 'Lephone', 'TD8208' ],
7520
+ ],
7521
+
7522
+ 'TD506' => [ 'Lephone', 'TD506' ],
7523
+
7524
+ 'MFC[0-9]!!' => [
7525
+ 'MFC190BBFR' => [ 'Lexibook', 'Barbie Tablet', DeviceType::TABLET ],
7526
+ 'MFC150DEX' => [ 'Lexibook', 'First Tablet', DeviceType::TABLET ],
7527
+ 'MFC195FUDE' => [ 'Lexibook', 'Furby Tablet', DeviceType::TABLET ],
7528
+ 'MFC195FUFR' => [ 'Lexibook', 'Furby Tablet', DeviceType::TABLET ],
7529
+ 'MFC140FR1' => [ 'Lexibook', 'LapTab', DeviceType::TABLET ],
7530
+ 'MFC141FR' => [ 'Lexibook', 'LapTab 2', DeviceType::TABLET ],
7531
+ 'MFC162DE' => [ 'Lexibook', 'Power Tablet', DeviceType::TABLET ],
7532
+ 'MFC162FR' => [ 'Lexibook', 'Power Tablet', DeviceType::TABLET ],
7533
+ 'MFC180FR' => [ 'Lexibook', 'Tablet Advanced', DeviceType::TABLET ],
7534
+ 'MFC181FR' => [ 'Lexibook', 'Tablet Advanced 2', DeviceType::TABLET ],
7535
+ 'MFC195DCFR' => [ 'Lexibook', 'Tablet Disney Cars HD', DeviceType::TABLET ],
7536
+ 'MFC195DPFR' => [ 'Lexibook', 'Tablet Disney Princesse HD', DeviceType::TABLET ],
7537
+ 'MFC250FR' => [ 'Lexibook', 'Tablet Junior', DeviceType::TABLET ],
7538
+ 'MFC280FR' => [ 'Lexibook', 'Tablet Junior 2', DeviceType::TABLET ],
7539
+ 'MFC280DE' => [ 'Lexibook', 'Tablet Junior 2', DeviceType::TABLET ],
7540
+ 'MFC270DE' => [ 'Lexibook', 'Tablet Junior Power Touch', DeviceType::TABLET ],
7541
+ 'MFC270EN 09' => [ 'Lexibook', 'Tablet Junior Power Touch', DeviceType::TABLET ],
7542
+ 'MFC270FR' => [ 'Lexibook', 'Tablet Junior Power Touch', DeviceType::TABLET ],
7543
+ 'mfc142fr' => [ 'Lexibook', 'Tablet Kids', DeviceType::TABLET ],
7544
+ 'MFC155EN 09' => [ 'Lexibook', 'Tablet Master', DeviceType::TABLET ],
7545
+ 'MFC155ES' => [ 'Lexibook', 'Tablet Master', DeviceType::TABLET ],
7546
+ 'MFC155FR' => [ 'Lexibook', 'Tablet Master', DeviceType::TABLET ],
7547
+ 'MFC157FR' => [ 'Lexibook', 'Tablet Master 2', DeviceType::TABLET ],
7548
+ 'MFC157CZ' => [ 'Lexibook', 'Tablet Master 2', DeviceType::TABLET ],
7549
+ 'MFC163FR' => [ 'Lexibook', 'Tablet Master 3', DeviceType::TABLET ],
7550
+ 'MFC156FR' => [ 'Lexibook', 'Tablet One', DeviceType::TABLET ],
7551
+ 'MFC170FR' => [ 'Lexibook', 'Tablet Ultra', DeviceType::TABLET ],
7552
+ 'MFC175FR' => [ 'Lexibook', 'Tablet Ultra', DeviceType::TABLET ],
7553
+ 'MFC375FR' => [ 'Lexibook', 'Tablet Ultra 2', DeviceType::TABLET ],
7554
+ 'mfc500fr' => [ 'Lexibook', 'Tablet XL', DeviceType::TABLET ],
7555
+ 'MFC045FR' => [ 'Lexibook', 'TabTab', DeviceType::TABLET ],
7556
+ ],
7557
+
7558
+ 'Le Pan TC802A' => [ 'Le Pan', 'Mini', DeviceType::TABLET ],
7559
+ 'TC970' => [ 'Le Pan', 'TC970', DeviceType::TABLET ],
7560
+ 'TC970 (Wi-Fi)' => [ 'Le Pan', 'TC970', DeviceType::TABLET ],
7561
+ 'Le Pan TC1010' => [ 'Le Pan', 'TC1010', DeviceType::TABLET ],
7562
+ 'Le Pan TC1020' => [ 'Le Pan', 'TC1020', DeviceType::TABLET ],
7563
+ 'LePanII' => [ 'Le Pan', 'II', DeviceType::TABLET ],
7564
+ 'TC975' => [ 'Le Pan', 'III', DeviceType::TABLET ],
7565
+ 'Le Pan S' => [ 'Le Pan', 'S', DeviceType::TABLET ],
7566
+ 'LG-AN160' => [ 'LG', 'Fluid' ],
7567
+
7568
+ 'LG-?AS[0-9]{3,3}!!' => [
7569
+ 'LGAS323' => [ 'LG', 'L70' ],
7570
+ 'LG-AS323' => [ 'LG', 'L70' ],
7571
+ 'LG-AS680' => [ 'LG', 'Optimus 2' ],
7572
+ 'LG-AS695' => [ 'LG', 'Optimus Plus' ],
7573
+ 'LG-AS730' => [ 'LG', 'Optimus Select' ],
7574
+ 'LG-AS750' => [ 'LG', 'L70' ],
7575
+ 'LG-AS780' => [ 'LG', 'Optimus F7' ],
7576
+ 'LG-AS811' => [ 'LG', 'G4' ],
7577
+ 'LG-AS840' => [ 'LG', 'Optimus Tag' ],
7578
+ 'LG-AS855' => [ 'LG', 'Ignite' ],
7579
+ 'LG-AS870' => [ 'LG', 'Optimus F5' ],
7580
+ 'LG-AS876' => [ 'LG', 'L70' ],
7581
+ 'LG-AS9(85|90)!' => [ 'LG', 'G3' ],
7582
+ 'LGAS991' => [ 'LG', 'G4' ],
7583
+
7584
+ 'LG-AS9(91)!' => [ 'LG', 'G4' ],
7585
+ 'LGAS995' => [ 'LG', 'G Flex 2' ],
7586
+ ],
7587
+
7588
+ 'LG-?C[0-9]{3,3}!!' => [
7589
+ 'LG-C520' => [ 'LG', 'C520' ],
7590
+ 'LG-C5(50|55)!' => [ 'LG', 'Optimus Chat' ],
7591
+ 'LGC660!' => [ 'LG', 'Optimus Pro' ],
7592
+ 'LG-C660!' => [ 'LG', 'Optimus Pro' ],
7593
+ 'LG-C710!' => [ 'LG', 'Aloha' ],
7594
+ 'LG-C729' => [ 'LG', 'DoublePlay' ],
7595
+ 'LG-C800G' => [ 'LG', 'Eclypse' ],
7596
+ ],
7597
+
7598
+ 'LG-CX670' => [ 'LG', 'Optimus One' ],
7599
+
7600
+ 'LG-?D[0-9]{3,3}!!' => [
7601
+ 'LG-D1(00|05|07)!' => [ 'LG', 'L20' ],
7602
+ 'LG-D1(20|23|25|27)!' => [ 'LG', 'L30 Sporty' ],
7603
+ 'LG-D1(50|57)!' => [ 'LG', 'L35' ],
7604
+ 'LG-D1(60|65|70|75|80)!' => [ 'LG', 'L40' ],
7605
+ 'LG-D2(13|21|27)!' => [ 'LG', 'L50 Sporty' ],
7606
+ 'LG-D2(80|85)!' => [ 'LG', 'L65' ],
7607
+ 'LG-D2(90|95)!' => [ 'LG', 'L Fino' ],
7608
+ 'LG-D3(15|17)!' => [ 'LG', 'F70' ],
7609
+ 'LG-D3(20|21|25|29|30)!' => [ 'LG', 'L70' ],
7610
+ 'LGD321' => [ 'LG', 'L70' ],
7611
+ 'LG-D3(30|31|35)!' => [ 'LG', 'L Bello' ],
7612
+ 'LG-D3(32)!' => [ 'LG', 'L80+' ],
7613
+ 'LG-D3(37)!' => [ 'LG', 'L Prime' ],
7614
+ 'LG-D340!' => [ 'LG', 'L70 Tri' ],
7615
+ 'LG-D3(70|73|75|80|85)!' => [ 'LG', 'L80' ],
7616
+ 'LG-D3(90|92|93)!' => [ 'LG', 'F60' ],
7617
+ 'LG-D4(00|05|10|15)!' => [ 'LG', 'L90' ],
7618
+ 'LG-D486!' => [ 'LG', 'Wine Smart' ],
7619
+ 'LGD500' => [ 'LG', 'Optimus F6' ],
7620
+ 'LG-D5(00|05)!' => [ 'LG', 'Optimus F6' ],
7621
+ 'LG-D520!' => [ 'LG', 'Optimus F3Q' ],
7622
+ 'LG-D605!' => [ 'LG', 'Optimus L9 II' ],
7623
+ 'LG-D6(10|18|20|25)!' => [ 'LG', 'G2 mini' ],
7624
+ 'LGD618' => [ 'LG', 'G2 mini' ],
7625
+ 'LG-D6(31)!' => [ 'LG', 'G3 Vista' ],
7626
+ 'LG-D6(80|81|82|83|84)!' => [ 'LG', 'G Pro Lite' ],
7627
+ 'LG-D6(85|86)!' => [ 'LG', 'G Pro Lite Dual' ],
7628
+ 'LG-D6(90|93)!' => [ 'LG', 'G3 Stylus' ],
7629
+ 'LG-D700!' => [ 'LG', 'Optimus L9' ],
7630
+ 'LG-D722J!' => [ 'LG', 'G3 Beat' ],
7631
+ 'LG-D7(22|24)!' => [ 'LG', 'G3 S' ],
7632
+ 'LG-D7(23)!' => [ 'LG', 'G3 mini' ],
7633
+ 'LG-D7(25|26|27)!' => [ 'LG', 'G3 Vigor' ],
7634
+ 'LG-D7(28|29)!' => [ 'LG', 'G3 Beat' ],
7635
+ 'LG-D8(00|01|02|03|05|06)!' => [ 'LG', 'G2' ],
7636
+ 'LG-D8(20|21)!' => [ 'LG', 'Nexus 5' ],
7637
+ 'LG-D8(30|37|38)!' => [ 'LG', 'G Pro 2' ],
7638
+ 'LG-D8(50|51|52|55|56|58|59)!' => [ 'LG', 'G3' ],
7639
+ 'LG-D8(57)!' => [ 'LG', 'Titan' ],
7640
+ 'LG-D9(50|51|55|56|58|59)!' => [ 'LG', 'G Flex' ],
7641
+ ],
7642
+
7643
+ 'LG-DS1203' => [ 'LG', 'G2' ],
7644
+
7645
+ 'LG-?E[0-9]{3,3}!!' => [
7646
+ 'LG-E400!' => [ 'LG', 'Optimus L3' ],
7647
+ 'LG-E405!' => [ 'LG', 'Optimus L3 Dual' ],
7648
+ 'LG-E4(10|11)!' => [ 'LG', 'Optimus L1 II' ],
7649
+ 'LG-E4(15|20)!' => [ 'LG', 'Optimus L1 II Dual' ],
7650
+ 'LG-E4(25|30|31)!' => [ 'LG', 'Optimus L3 II' ],
7651
+ 'LG-E435!' => [ 'LG', 'Optimus L3 II Dual' ],
7652
+ 'LG-E440!' => [ 'LG', 'Optimus L4 II' ],
7653
+ 'LG-E445!' => [ 'LG', 'Optimus L4 II Dual' ],
7654
+ 'LG-E4(50|51|60)!' => [ 'LG', 'Optimus L5 II' ],
7655
+ 'LG-E455!' => [ 'LG', 'Optimus L5 II Dual' ],
7656
+ 'LG-E465!' => [ 'LG', 'Optimus L4 II' ],
7657
+ 'LG-E467!' => [ 'LG', 'Optimus L4 II Dual' ],
7658
+ 'LG-E470!' => [ 'LG', 'Optimus L4 II Triple' ],
7659
+ 'LG-E475!' => [ 'LG', 'Optimus L1 II Tri' ],
7660
+ 'LG-E510!' => [ 'LG', 'Optimus Hub' ],
7661
+ 'LG-E6(10|12|17)!' => [ 'LG', 'Optimus L5' ],
7662
+ 'LGE610' => [ 'LG', 'Optimus L5' ],
7663
+ 'LG-E6(14|15)!' => [ 'LG', 'Optimus L5 Dual' ],
7664
+ 'LGE615F' => [ 'LG', 'Optimus L5 Dual' ],
7665
+ 'LG-E720!' => [ 'LG', 'Optimus Chic' ],
7666
+ 'LG-E730!' => [ 'LG', 'Optimus Sol' ],
7667
+ 'LG-E805!' => [ 'LG', 'Optimus G2' ],
7668
+ 'LG-E940!' => [ 'LG', 'Optimus G Pro' ],
7669
+ 'LG-E960!' => [ 'LG', 'Nexus 4' ],
7670
+ 'LG-E9(70|71|73|75|76|77|78|87)!' => [ 'LG', 'Optimus G' ],
7671
+ 'LG-E9(80|81|85|86|88|89)!' => [ 'LG', 'Optimus G Pro' ],
7672
+ ],
7673
+
7674
+ 'LG-F[0-9]{3,3}!!' => [
7675
+ 'LG-F100!' => [ 'LG', 'Optimus Vu' ],
7676
+ 'LG-F120!' => [ 'LG', 'Optimus LTE Tag' ],
7677
+ 'LG-F160!' => [ 'LG', 'Optimus LTE II' ],
7678
+ 'LG-F180!' => [ 'LG', 'Optimus G' ],
7679
+ 'LG-F200!' => [ 'LG', 'Optimus Vu II' ],
7680
+ 'LG-F220!' => [ 'LG', 'Optimus GK' ],
7681
+ 'LG-F240!' => [ 'LG', 'Optimus G Pro' ],
7682
+ 'LG-F260!' => [ 'LG', 'Optimus LTE III' ],
7683
+ 'LG-F300!' => [ 'LG', 'Vu 3' ],
7684
+ 'LG-F310!' => [ 'LG', 'GX' ],
7685
+ 'LG-F320!' => [ 'LG', 'G2' ],
7686
+ 'LG-F340!' => [ 'LG', 'G Flex' ],
7687
+ 'LG-F350!' => [ 'LG', 'G Pro 2' ],
7688
+ 'LG-F370!' => [ 'LG', 'F70' ],
7689
+ 'LG-F390!' => [ 'LG', 'G2 mini' ],
7690
+ 'LG-F400!' => [ 'LG', 'G3' ],
7691
+ 'LG-F410!' => [ 'LG', 'G3 A' ],
7692
+ 'LG-F430!' => [ 'LG', 'Gx2' ],
7693
+ 'LG-F440!' => [ 'LG', 'ice cream smart' ],
7694
+ 'LG-F460!' => [ 'LG', 'G3 Cat.6' ],
7695
+ 'LG-F470!' => [ 'LG', 'G3 Beat' ],
7696
+ 'LG-F480!' => [ 'LG', 'Wine Smart' ],
7697
+ 'LG-F490!' => [ 'LG', 'G3 Screen' ],
7698
+ 'LG-F500!' => [ 'LG', 'G4' ],
7699
+ 'LG-F510!' => [ 'LG', 'G Flex 2' ],
7700
+ 'LG-F520!' => [ 'LG', 'AKA' ],
7701
+ 'LG-F540!' => [ 'LG', 'Volt' ],
7702
+ 'LG-F560!' => [ 'LG', 'G Stylo' ],
7703
+ 'LG-F570!' => [ 'LG', 'band Play' ],
7704
+ 'LG-F580!' => [ 'LG', 'Gentle' ],
7705
+ 'LG-F600!' => [ 'LG', 'V10' ],
7706
+ 'LG-F610!' => [ 'LG', 'Wine Smart Jazz' ],
7707
+ 'LG-F620!' => [ 'LG', 'Class' ],
7708
+ 'LG-F640!' => [ 'LG', 'Volt S' ],
7709
+ 'LG-F670!' => [ 'LG', 'K10' ],
7710
+ 'LG-F700!' => [ 'LG', 'G5' ],
7711
+ ],
7712
+
7713
+ 'LG-GT540!' => [ 'LG', 'Optimus' ],
7714
+ 'LG-GW620!' => [ 'LG', 'GW620 Eve' ],
7715
+
7716
+ 'LG-H[0-9]{3,3}!!' => [
7717
+ 'LG-H2(20|21|22)!' => [ 'LG', 'Joy' ],
7718
+ 'LG-H3(20|24|26)!' => [ 'LG', 'Leon' ],
7719
+ 'LG-H3(40|42|45)!' => [ 'LG', 'Leon' ],
7720
+ 'LG-H3(43)!' => [ 'LG', 'Risio' ],
7721
+ 'LG-H410!' => [ 'LG', 'Wine Smart' ],
7722
+ 'LG-H4(20|40|41)!' => [ 'LG', 'Spirit' ],
7723
+ 'LG-H4(22|42)!' => [ 'LG', 'Volt' ],
7724
+ 'LG-H4(43|45)!' => [ 'LG', 'Escape2' ],
7725
+ 'LG-H5(00|02|20)!' => [ 'LG', 'Magna' ],
7726
+ 'LG-H5(22)!' => [ 'LG', 'Prime Plus' ],
7727
+ 'LG-H5(25)!' => [ 'LG', 'G4c' ],
7728
+ 'LG-H5(40|42)!' => [ 'LG', 'G4 Stylus' ],
7729
+ 'LG-H6(30|31|34|35|36)!' => [ 'LG', 'G Stylo' ],
7730
+ 'LG-H650!' => [ 'LG', 'Zero' ],
7731
+ 'LG-H7(31)!' => [ 'LG', 'G4 Vigor' ],
7732
+ 'LG-H7(34|35|36)!' => [ 'LG', 'G4s' ],
7733
+ 'LG-H7(40)!' => [ 'LG', 'G Vista 2' ],
7734
+ 'LG-H7(78|79|88)!' => [ 'LG', 'AKA' ],
7735
+ 'LG-H8(10|11|12|15|18|19)!' => [ 'LG', 'G4' ],
7736
+ 'LG-H8(20|30|31|50|60)!' => [ 'LG', 'G5' ],
7737
+ 'LG-H8(40|48)!' => [ 'LG', 'G5 SE' ],
7738
+ 'LG-H9(50|55|59)!' => [ 'LG', 'G Flex 2' ],
7739
+ 'LG-H9(00|01|60|61|62|68)!' => [ 'LG', 'V10' ],
7740
+ ],
7741
+
7742
+ 'LG-K[0-9]{3,3}!!' => [
7743
+ 'LG-K1(20|21|30)!' => [ 'LG', 'K4' ],
7744
+ 'LG-K3(30|32|)!' => [ 'LG', 'K7' ],
7745
+ 'LG-K4(10|20|30)!' => [ 'LG', 'K10' ],
7746
+ 'LG-K5(00)!' => [ 'LG', 'X Screen' ],
7747
+ 'LG-K5(20)!' => [ 'LG', 'Stylus 2' ],
7748
+ 'LG-K5(35)!' => [ 'LG', 'Stylus 2 Plus' ],
7749
+ ],
7750
+
7751
+ 'LG-KH5200' => [ 'LG', 'Andro-1' ],
7752
+ 'LG-KS1024' => [ 'LG', 'KS1024' ],
7753
+
7754
+ 'LG-KU[0-9]{4,4}!!' => [
7755
+ 'LG-KU3700' => [ 'LG', 'Optimus One' ],
7756
+ 'LG-KU5400!' => [ 'LG', 'PRADA 3.0' ],
7757
+ 'LG-KU5900' => [ 'LG', 'Optimus Black' ],
7758
+ 'LG-KU6900' => [ 'LG', 'Optimus Pad', DeviceType::TABLET ],
7759
+ 'LG-KU8800' => [ 'LG', 'Optimus EX' ],
7760
+ ],
7761
+
7762
+ 'LG-?L[0-9]{2,3}[A-Z]!!' => [
7763
+ 'LG-L01F' => [ 'LG', 'G2' ],
7764
+ 'LGL15G!' => [ 'LG', 'Sunrise' ],
7765
+ 'LG-L15G' => [ 'LG', 'Sunrise' ],
7766
+ 'LGL16C!' => [ 'LG', 'Lucky' ],
7767
+ 'LGL17AG' => [ 'LG', 'Classic' ],
7768
+ 'LGL21G!' => [ 'LG', 'Destiny' ],
7769
+ 'LGL22C!' => [ 'LG', 'Power' ],
7770
+ 'LGL25L' => [ 'LG', 'Optimus Quest' ],
7771
+ 'LG-L25L' => [ 'LG', 'Optimus Quest' ],
7772
+ 'LG-L30L' => [ 'LG', 'F70' ],
7773
+ 'LGL31L!' => [ 'LG', 'Access' ],
7774
+ 'LG-L31L' => [ 'LG', 'Access' ],
7775
+ 'LGL33L!' => [ 'LG', 'Sunset' ],
7776
+ 'LGL34C!' => [ 'LG', 'Optimus Fuel' ],
7777
+ 'LG-L34C' => [ 'LG', 'Optimus Fuel' ],
7778
+ 'LGL35G!' => [ 'LG', 'Optimus Logic' ],
7779
+ 'LG-L38C!' => [ 'LG', 'Optimus Dynamic' ],
7780
+ 'LGL38C!' => [ 'LG', 'Optimus Dynamic' ],
7781
+ 'LGL39C!' => [ 'LG', 'Optimus Dynamic II' ],
7782
+ 'LG-L40G' => [ 'LG', 'Optimus Extreme' ],
7783
+ 'LGL41C!' => [ 'LG', 'Ultimate 2' ],
7784
+ 'LG-L41C' => [ 'LG', 'Ultimate 2' ],
7785
+ 'LG-L42G' => [ 'LG', 'L70' ],
7786
+ 'LGL43AL!' => [ 'LG', 'K4' ],
7787
+ 'LGL45C!' => [ 'LG', 'Optimus Net' ],
7788
+ 'LGL55C!' => [ 'LG', 'Optimus Q' ],
7789
+ 'LGL61AL!' => [ 'LG', 'K10' ],
7790
+ 'LGL75C!' => [ 'LG', 'Optimus Zip' ],
7791
+ 'LGL85C!' => [ 'LG', 'Optimus Black' ],
7792
+ 'LGL86C!' => [ 'LG', 'Optimus Showtime' ],
7793
+ 'LG-L95G!' => [ 'LG', 'L95G' ],
7794
+ 'LGL96G' => [ 'LG', 'Ultimate' ],
7795
+ 'LG-L160L' => [ 'LG', 'L160L' ], // Unknown
7796
+ 'LGL996L!' => [ 'LG', 'G2' ],
7797
+ ],
7798
+
7799
+ 'LG-LG[0-9]{3,3}!!' => [
7800
+ 'LG-LG730' => [ 'LG', 'Venice' ],
7801
+ 'LG-LG855' => [ 'LG', 'Marquee' ],
7802
+ 'LG-LG870' => [ 'LG', 'Optimus F7' ],
7803
+ ],
7804
+
7805
+ 'LGLK430' => [ 'LG', 'G Pad F 7.0', DeviceType::TABLET ],
7806
+
7807
+ 'LG-?LS[0-9]{3,3}!!' => [
7808
+ 'LG-LS620' => [ 'LG', 'Realm' ],
7809
+ 'LGLS620' => [ 'LG', 'Realm' ],
7810
+ 'LG-LS660' => [ 'LG', 'Tribute' ],
7811
+ 'LGLS660' => [ 'LG', 'Tribute' ],
7812
+ 'LGLS665' => [ 'LG', 'Tribute 2' ],
7813
+ 'LG-LS670' => [ 'LG', 'Optimus S' ],
7814
+ 'LGLS675' => [ 'LG', 'M1' ],
7815
+ 'LG-LS685' => [ 'LG', 'Optimus Net' ],
7816
+ 'LG-LS696' => [ 'LG', 'Elite' ],
7817
+ 'LG-LS700' => [ 'LG', 'Optimus Slider' ],
7818
+ 'LG-LS720' => [ 'LG', 'Optimus F3' ],
7819
+ 'LGLS740' => [ 'LG', 'Volt' ],
7820
+ 'LG-LS740' => [ 'LG', 'Volt' ],
7821
+ 'LGLS751' => [ 'LG', 'Volt 2' ],
7822
+ 'LGLS770' => [ 'LG', 'G Stylo' ],
7823
+ 'LG-LS840' => [ 'LG', 'Viper' ],
7824
+ 'LG-LS855' => [ 'LG', 'Marquee' ],
7825
+ 'LG-LS860' => [ 'LG', 'Mach' ],
7826
+ 'LGLS885' => [ 'LG', 'G3 Vigor' ],
7827
+ 'LG-LS885' => [ 'LG', 'G3 Vigor' ],
7828
+ 'LG-LS970' => [ 'LG', 'Optimus G' ],
7829
+ 'LG-LS980' => [ 'LG', 'G2' ],
7830
+ 'LGLS990' => [ 'LG', 'G3' ],
7831
+ 'LG-LS990' => [ 'LG', 'G3' ],
7832
+ 'LGLS991' => [ 'LG', 'G4' ],
7833
+ 'LG-LS991' => [ 'LG', 'G4' ],
7834
+ 'LGLS992' => [ 'LG', 'G5' ],
7835
+ 'LG-LS995' => [ 'LG', 'G Flex' ],
7836
+ 'LGLS996' => [ 'LG', 'G Flex 2' ],
7837
+ 'LG-LS996' => [ 'LG', 'G Flex 2' ],
7838
+ ],
7839
+
7840
+ 'LG-LU[0-9]{4,4}!!' => [
7841
+ 'LG-LU3000' => [ 'LG', 'Optimus Mach' ],
7842
+ 'LG-LU3100' => [ 'LG', 'Optimus Chic' ],
7843
+ 'LG-LU3700' => [ 'LG', 'Optimus One' ],
7844
+ 'LG-LU5400' => [ 'LG', 'PRADA 3.0' ],
7845
+ 'LG-LU6200' => [ 'LG', 'Optimus LTE' ],
7846
+ 'LG-LU6500' => [ 'LG', 'Optimus Q2' ],
7847
+ 'LG-LU6800' => [ 'LG', 'Optimus Big' ],
7848
+ 'LG-LU6900' => [ 'LG', 'Optimus Pad', DeviceType::TABLET ],
7849
+ 'LG-LU8300' => [ 'LG', 'Optimus Pad LTE', DeviceType::TABLET ],
7850
+ ],
7851
+
7852
+ 'LG-LW690' => [ 'LG', 'Optimus C' ],
7853
+ 'LG-LW770' => [ 'LG', 'Regard' ],
7854
+
7855
+ 'LG-?MS[0-9]{3,3}!!' => [
7856
+ 'LGMS323' => [ 'LG', 'L70' ],
7857
+ 'LG-MS323' => [ 'LG', 'L70' ],
7858
+ 'LGMS330' => [ 'LG', 'M1' ],
7859
+ 'LGMS345' => [ 'LG', 'Leon' ],
7860
+ 'LGMS395' => [ 'LG', 'F60' ],
7861
+ 'LG-MS415' => [ 'LG', 'L90' ],
7862
+ 'LGMS500' => [ 'LG', 'Optimus F6' ],
7863
+ 'LG-MS500' => [ 'LG', 'Optimus F6' ],
7864
+ 'LGMS631' => [ 'LG', 'G Stylo' ],
7865
+ 'LG-MS659' => [ 'LG', 'Optimus F3' ],
7866
+ 'LGMS659' => [ 'LG', 'Optimus F3' ],
7867
+ 'LG-MS690' => [ 'LG', 'Optimus M' ],
7868
+ 'LGMS769' => [ 'LG', 'Optimus L9' ],
7869
+ 'LG-MS770' => [ 'LG', 'Motion 4G' ],
7870
+ 'LGMS770' => [ 'LG', 'Motion 4G' ],
7871
+ 'LG-MS790' => [ 'LG', 'Optimus F3' ],
7872
+ 'LG-MS840' => [ 'LG', 'Connect 4G' ],
7873
+ 'LG-MS870' => [ 'LG', 'Spirit 4G' ],
7874
+ 'LG-MS910' => [ 'LG', 'Esteem' ],
7875
+ 'LG-MS695' => [ 'LG', 'Optimus M+' ],
7876
+ ],
7877
+
7878
+ 'LG-P[0-9]{3,3}!!' => [
7879
+ 'LG-P350!' => [ 'LG', 'Optimus Me' ],
7880
+ 'LG-P355' => [ 'LG', 'P355' ],
7881
+ 'LG-P490!' => [ 'LG', 'P490' ], // Unknown
7882
+ 'LG-P5(00|03|04)!' => [ 'LG', 'Optimus One' ],
7883
+ 'LG-P505!' => [ 'LG', 'Phoenix' ],
7884
+ 'LG-P506' => [ 'LG', 'Thrive' ],
7885
+ 'LG-P509' => [ 'LG', 'Optimus T' ],
7886
+ 'LG-P6(55|59)!' => [ 'LG', 'Optimus F3' ],
7887
+ 'LG-P6(90|92|99)!' => [ 'LG', 'Optimus Net' ],
7888
+ 'LG-P693!' => [ 'LG', 'P693' ],
7889
+ 'LG-P698!' => [ 'LG', 'Optimus Net Dual' ],
7890
+ 'LG-P7(00|05|08)!' => [ 'LG', 'Optimus L7' ],
7891
+ 'LG-P7(10|12|13|14)!' => [ 'LG', 'Optimus L7 II' ],
7892
+ 'LG-P7(15|16)!' => [ 'LG', 'Optimus L7 II Dual' ],
7893
+ 'LG-P720!' => [ 'LG', 'Optimus Chic' ],
7894
+ 'LG-P725' => [ 'LG', 'Optimus 3D Max' ],
7895
+ 'LG-P7(60|65|68|69|78)!' => [ 'LG', 'Optimus L9' ],
7896
+ 'LG-P860' => [ 'LG', 'P860' ],
7897
+ 'LG-P870!' => [ 'LG', 'Escape' ],
7898
+ 'LG-P875!' => [ 'LG', 'Optimus F5' ],
7899
+ 'LG-P880!' => [ 'LG', 'Optimus 4X HD' ],
7900
+ 'LG-P895!' => [ 'LG', 'Optimus Vu' ],
7901
+ 'LG-P920!' => [ 'LG', 'Optimus 3D' ],
7902
+ 'LG-P9(25|29)!' => [ 'LG', 'Thrill' ],
7903
+ 'LG-P930!' => [ 'LG', 'Nitro HD' ],
7904
+ 'LG-P9(35|36)!' => [ 'LG', 'Optimus LTE' ],
7905
+ 'LG-P940!' => [ 'LG', 'PRADA 3.0' ],
7906
+ 'LG-P970!' => [ 'LG', 'Optimus Black' ],
7907
+ 'LG-P990!' => [ 'LG', 'Optimus 2X Speed' ],
7908
+ 'LG-P993' => [ 'LG', 'Optimus 2X' ],
7909
+ ],
7910
+
7911
+ 'LG-SU[0-9]{3,3}!!' => [
7912
+ 'LG-SU370' => [ 'LG', 'Optimus One' ],
7913
+ 'LG-SU540' => [ 'LG', 'PRADA 3.0' ],
7914
+ 'LG-SU640' => [ 'LG', 'Optimus LTE' ],
7915
+ 'LG-SU660' => [ 'LG', 'Optimus 2X' ],
7916
+ 'LG-SU760' => [ 'LG', 'Optimus 3D' ],
7917
+ 'LG-SU870' => [ 'LG', 'Optimus 3D Cube' ],
7918
+ 'LG-SU880' => [ 'LG', 'Optimus EX' ],
7919
+ ],
7920
+
7921
+ 'LG-SU-760' => [ 'LG', 'Optimus 3D' ],
7922
+ 'LGUK410' => [ 'LG', 'G Pad 7.0', DeviceType::TABLET ],
7923
+ 'LGUK932' => [ 'LG', 'G Pad II 10.1', DeviceType::TABLET ],
7924
+ 'LG-UN350' => [ 'LG', 'UN350' ],
7925
+
7926
+ 'LG-?US[0-9]{3,3}!!' => [
7927
+ 'LGUS550' => [ 'LG', 'Logos' ],
7928
+ 'LG-US670' => [ 'LG', 'Optimus U' ],
7929
+ 'LG-US730' => [ 'LG', 'Splendor' ],
7930
+ 'LG-US780' => [ 'LG', 'Optimus F7' ],
7931
+ 'LGUS990!' => [ 'LG', 'G3' ],
7932
+ 'LG-US990' => [ 'LG', 'G3' ],
7933
+ 'LGUS991!' => [ 'LG', 'G4' ],
7934
+ 'LGUS995!' => [ 'LG', 'G Flex 2' ],
7935
+ ],
7936
+
7937
+ 'LG-V[0-9]{3,3}!!' => [
7938
+ 'LG-V4(00|10|11)!' => [ 'LG', 'G Pad 7.0', DeviceType::TABLET ],
7939
+ 'LG-V4(80|90)!' => [ 'LG', 'G Pad 8.0', DeviceType::TABLET ],
7940
+ 'LG-V4(95|96|97|99)!' => [ 'LG', 'G Pad F 8.0', DeviceType::TABLET ],
7941
+ 'LG-V498!' => [ 'LG', 'G Pad II 8.0', DeviceType::TABLET ],
7942
+ 'LG-V5(00|07)!' => [ 'LG', 'G Pad 8.3', DeviceType::TABLET ],
7943
+ 'LG-V510!' => [ 'LG', 'G Pad 8.3 (Google Edition)', DeviceType::TABLET ],
7944
+ 'LG-V525!' => [ 'LG', 'G Pad III 8.0', DeviceType::TABLET ],
7945
+ 'LG-V607L' => [ 'LG', 'G Pad II 8.0', DeviceType::TABLET ],
7946
+ 'LG-V700!' => [ 'LG', 'G Pad 10.1', DeviceType::TABLET ],
7947
+ 'LG-V9(00|01)!' => [ 'LG', 'Optimus Pad', DeviceType::TABLET ],
7948
+ 'LG-V9(05|09)!' => [ 'LG', 'Optimus G-Slate', DeviceType::TABLET ],
7949
+ 'LG-V930' => [ 'LG', 'G Pad X 10.1', DeviceType::TABLET ],
7950
+ 'LG-V9(35|40)!' => [ 'LG', 'G Pad II 10.1', DeviceType::TABLET ],
7951
+ ],
7952
+
7953
+ 'LG-VK[0-9]{3,3}!!' => [
7954
+ 'LG-VK410' => [ 'LG', 'G Pad 7.0', DeviceType::TABLET ],
7955
+ 'LG-VK700' => [ 'LG', 'G Pad 10.1', DeviceType::TABLET ],
7956
+ 'LG-VK810' => [ 'LG', 'G Pad 8.3', DeviceType::TABLET ],
7957
+ 'LG-VK815' => [ 'LG', 'G Pad X 8.3', DeviceType::TABLET ],
7958
+ ],
7959
+
7960
+ 'LG-VN[0-9]{3,3}!!' => [
7961
+ 'LG-VN170' => [ 'LG', 'VN-170' ], // Unknown
7962
+ 'LG-VN280' => [ 'LG', 'Extravert 2' ],
7963
+ 'LG-VN360' => [ 'LG', 'Exalt' ],
7964
+ ],
7965
+
7966
+ 'LG-VM[0-9]{3,3}!!' => [
7967
+ 'LG-VM670' => [ 'LG', 'Optimus V' ],
7968
+ 'LG-VM696' => [ 'LG', 'Optimus Elite' ],
7969
+ 'LG-VM701' => [ 'LG', 'Optimus Slider' ],
7970
+ 'LG-VM720' => [ 'LG', 'Optimus F5' ],
7971
+ ],
7972
+
7973
+ 'LG-VS[0-9]{3,3}!!' => [
7974
+ 'LG-VS410!' => [ 'LG', 'Optimus Zone' ],
7975
+ 'LG-VS415!' => [ 'LG', 'Optimus Zone 2' ], // aka L40
7976
+ 'LG-VS450!' => [ 'LG', 'Optimus Exceed 2' ], // aka L70
7977
+ 'LG-VS660' => [ 'LG', 'Vortex' ],
7978
+ 'LG-VS700!' => [ 'LG', 'Enlighten' ],
7979
+ 'LG-VS740' => [ 'LG', 'Ally' ],
7980
+ 'LG-VS810' => [ 'LG', 'Transpyre' ],
7981
+ 'LG-VS840' => [ 'LG', 'Lucid' ],
7982
+ 'LG-VS870' => [ 'LG', 'Lucid 2' ],
7983
+ 'LG-VS876' => [ 'LG', 'Lucid 3' ], // aka F90
7984
+ 'LG-VS880' => [ 'LG', 'G3 Vista' ],
7985
+ 'LG-VS890' => [ 'LG', 'Enact' ],
7986
+ 'LG-VS910' => [ 'LG', 'Revolution' ],
7987
+ 'LG-VS930' => [ 'LG', 'Spectrum II' ],
7988
+ 'LG-VS950' => [ 'LG', 'Intuition' ],
7989
+ 'LG-VS980!' => [ 'LG', 'G2' ],
7990
+ 'LG-VS985' => [ 'LG', 'G3' ],
7991
+ 'LG-VS999' => [ 'LG', 'G4' ],
7992
+ ],
7993
+
7994
+ 'LG-X[0-9]{3,3}!!' => [
7995
+ 'LG-X130!' => [ 'LG', 'L40' ],
7996
+ 'LG-X132' => [ 'LG', 'L45' ],
7997
+ 'LG-X1(35|40|45|47)!' => [ 'LG', 'L60' ],
7998
+ 'LG-X137' => [ 'LG', 'L60i' ],
7999
+ 'LG-X150' => [ 'LG', 'Bello 2' ],
8000
+ 'LG-X1(55|60|65)!' => [ 'LG', 'Max' ],
8001
+ 'LG-X1(70)!' => [ 'LG', 'Prime 2' ],
8002
+ 'LG-X180!' => [ 'LG', 'Zone' ],
8003
+ 'LG-X190' => [ 'LG', 'Ray' ],
8004
+ 'LG-X210' => [ 'LG', 'K7' ],
8005
+ 'LG-X220' => [ 'LG', 'K5' ],
8006
+ ],
8007
+
8008
+ 'lge-F160!' => [ 'LG', 'Optimus LTE II' ],
8009
+ 'LGE-E988!' => [ 'LG', 'Optimus G Pro' ],
8010
+ 'lgp-970' => [ 'LG', 'Optimus Black' ],
8011
+ 'AS740' => [ 'LG', 'Axis' ],
8012
+ 'AS870 4G' => [ 'LG', 'Optimus F5' ],
8013
+ 'AS985' => [ 'LG', 'G3' ],
8014
+ 'E900' => [ 'LG', 'Optimus 7' ],
8015
+ 'GT540' => [ 'LG', 'Optimus' ],
8016
+ 'GT540f' => [ 'LG', 'Optimus' ],
8017
+ 'GW620' => [ 'LG', 'Eve' ],
8018
+ 'KU9500' => [ 'LG', 'Optimus Z' ],
8019
+
8020
+ 'LG[LSTV][0-9]{2,2}!!' => [
8021
+ 'LGL21' => [ 'LG', 'Optimus G LGL21', 'carrier' => 'au' ],
8022
+ 'LGL22' => [ 'LG', 'isai LGL22', 'carrier' => 'au' ],
8023
+ 'LGL23' => [ 'LG', 'G Flex LGL23', 'carrier' => 'au' ],
8024
+ 'LGL24' => [ 'LG', 'isai FL LGL24', 'carrier' => 'au' ],
8025
+ 'LGS01' => [ 'LG', 'Wine Smart LGS01', 'carrier' => 'J:COM' ],
8026
+ 'LGV31' => [ 'LG', 'isai VL LGV31', 'carrier' => 'au' ],
8027
+ 'LGV32' => [ 'LG', 'isai vivid LGV32', 'carrier' => 'au' ],
8028
+ 'LGV33' => [ 'LG', 'Qua phone PX LGV33', 'carrier' => 'au' ],
8029
+ 'LGT31' => [ 'LG', 'Qua tab PX LGT31', 'carrier' => 'au' ],
8030
+ ],
8031
+
8032
+ 'LU2300' => [ 'LG', 'Optimus Q' ],
8033
+ 'LS670' => [ 'LG', 'Optimus S' ],
8034
+ 'LS740' => [ 'LG', 'F90' ], // aka Volt
8035
+ 'MS840 4G' => [ 'LG', 'Connect 4G' ],
8036
+ 'P940' => [ 'LG', 'PRADA 3.0' ],
8037
+ 'P990' => [ 'LG', 'Optimus 2X Speed' ],
8038
+
8039
+ 'USCC-(LG)?US!!' => [
8040
+ 'USCC-US730' => [ 'LG', 'Splendor' ],
8041
+ 'USCC-US760' => [ 'LG', 'Genesis' ],
8042
+ 'USCC-US780' => [ 'LG', 'Optimus F7' ],
8043
+ 'USCC-US855' => [ 'LG', 'Optimus Black' ],
8044
+ 'USCC-LGUS990' => [ 'LG', 'G3' ],
8045
+ ],
8046
+
8047
+ 'VK410' => [ 'LG', 'G Pad 7.0', DeviceType::TABLET ],
8048
+ 'VK700' => [ 'LG', 'G Pad 10.1', DeviceType::TABLET ],
8049
+ 'VK810 4G' => [ 'LG', 'G Pad 8.3', DeviceType::TABLET ],
8050
+ 'VK815' => [ 'LG', 'G Pad X 8.3', DeviceType::TABLET ],
8051
+ 'VM670' => [ 'LG', 'Optimus V' ],
8052
+
8053
+ 'VS[0-9]{3,3}!!' => [
8054
+ 'VS415PP' => [ 'LG', 'Optimus Zone 2' ],
8055
+ 'VS425PP' => [ 'LG', 'Optimus Zone 3' ],
8056
+ 'VS810PP' => [ 'LG', 'Transpyre' ],
8057
+ 'VS820' => [ 'LG', 'Lancet' ],
8058
+ 'VS840PP' => [ 'LG', 'Optimus Exceed' ],
8059
+ 'VS840 4G' => [ 'LG', 'Lucid' ],
8060
+ 'VS870 4G' => [ 'LG', 'Escape' ],
8061
+ 'VS876' => [ 'LG', 'Lucid 3' ], // aka F90
8062
+ 'VS880' => [ 'LG', 'G3 Vista' ],
8063
+ 'VS880PP' => [ 'LG', 'G3 Vista' ],
8064
+ 'VS890 4G' => [ 'LG', 'Enact' ],
8065
+ 'VS900-4G' => [ 'LG', 'Enlighten' ],
8066
+ 'VS910 4G' => [ 'LG', 'Revolution 4G' ],
8067
+ 'VS920 4G' => [ 'LG', 'Spectrum' ],
8068
+ 'VS930 4G' => [ 'LG', 'Spectrum 2' ],
8069
+ 'VS950 4G' => [ 'LG', 'Intuition' ],
8070
+ 'VS980 4G' => [ 'LG', 'G2' ],
8071
+ 'VS985 4G' => [ 'LG', 'G3' ],
8072
+ 'VS986' => [ 'LG', 'G4' ],
8073
+ 'VS990' => [ 'LG', 'V10' ],
8074
+ ],
8075
+
8076
+ 'L-0[0-9][A-Z]!!' => [
8077
+ 'L-01D' => [ 'LG', 'Optimus LTE L-01D', 'carrier' => 'DoCoMo' ],
8078
+ 'L-01E' => [ 'LG', 'Optimus G L-01E', 'carrier' => 'DoCoMo' ],
8079
+ 'L-01F' => [ 'LG', 'G2 L-01F', 'carrier' => 'DoCoMo' ],
8080
+ 'L-02D' => [ 'LG', 'PRADA phone L-02D', 'carrier' => 'DoCoMo' ],
8081
+ 'L-02E' => [ 'LG', 'Optimus LIFE L-02E', 'carrier' => 'DoCoMo' ],
8082
+ 'L-02F' => [ 'LG', 'WiFi STATION L-02F', 'carrier' => 'DoCoMo' ],
8083
+ 'L-04C' => [ 'LG', 'Optimus chat L-04C', 'carrier' => 'DoCoMo' ],
8084
+ 'L-04E' => [ 'LG', 'Optimus G Pro L-04E', 'carrier' => 'DoCoMo' ],
8085
+ 'L-05D' => [ 'LG', 'Optimus it L-05D', 'carrier' => 'DoCoMo' ],
8086
+ 'L-05E' => [ 'LG', 'Optimus it L-05E', 'carrier' => 'DoCoMo' ],
8087
+ 'L-06C' => [ 'LG', 'Optimus Pad L-06C', DeviceType::TABLET, 'carrier' => 'DoCoMo' ],
8088
+ 'L-06D' => [ 'LG', 'Optimus Vu L-06D', 'carrier' => 'DoCoMo' ],
8089
+ 'L-06DJOJO' => [ 'LG', 'JOJO L-06D', 'carrier' => 'DoCoMo' ],
8090
+ 'L-07C' => [ 'LG', 'Optimus bright L-07C', 'carrier' => 'DoCoMo' ],
8091
+ ],
8092
+
8093
+ '[0-9]0[0-9]LG!!' => [
8094
+ '401LG' => [ 'LG', '401LG', 'carrier' => 'Softbank' ], // Unknown
8095
+ '402LG' => [ 'LG', 'Spray 402LG', 'carrier' => 'Y! Mobile' ],
8096
+ ],
8097
+
8098
+ 'LG!!' => [
8099
+ 'LG-Eve' => [ 'LG', 'Eve' ],
8100
+ 'LG-G2' => [ 'LG', 'G2' ],
8101
+ 'LG-G3' => [ 'LG', 'G3' ],
8102
+ 'LG-G3 D855' => [ 'LG', 'G3' ],
8103
+ 'LG-Optimus One P500' => [ 'LG', 'Optimus One' ],
8104
+ 'LG-Optimus 2X' => [ 'LG', 'Optimus 2X' ],
8105
+ 'LG-GT540 Optimus' => [ 'LG', 'Optimus' ],
8106
+ 'LG-Optimus' => [ 'LG', 'Optimus' ],
8107
+ 'LG-Optimus Black' => [ 'LG', 'Optimus Black' ],
8108
+ 'LG-OptimusG' => [ 'LG', 'Optimus G' ],
8109
+ 'LG-Optimus G' => [ 'LG', 'Optimus G' ],
8110
+ 'LG-gee' => [ 'LG', 'Optimus G' ],
8111
+ 'LG-Optimus G Pro' => [ 'LG', 'Optimus G Pro' ],
8112
+ 'LG-G PRO' => [ 'LG', 'Optimus G Pro' ],
8113
+ 'LG-Optimus GK' => [ 'LG', 'Optimus GK' ],
8114
+ 'LG-Optimus L3!' => [ 'LG', 'Optimus L3' ],
8115
+ 'LG-Optimus LTE2' => [ 'LG', 'Optimus LTE2' ],
8116
+ 'LG-Optimus Net' => [ 'LG', 'Optimus Net' ],
8117
+ 'LG-Optimus One' => [ 'LG', 'Optimus One' ],
8118
+ 'LG-Optimus V' => [ 'LG', 'Optimus V' ],
8119
+ 'LG-OPTIMUS-L5!' => [ 'LG', 'Optimus L7' ],
8120
+ 'LG-optimus L7' => [ 'LG', 'Optimus L7' ],
8121
+ 'LG-Swift L9' => [ 'LG', 'Optimus L9' ],
8122
+ 'LG-OPTIMUS HD LTE' => [ 'LG', 'Optimus HD' ],
8123
+ 'LG-OPTIMUS LTE HD' => [ 'LG', 'Optimus HD' ],
8124
+ 'LG-Optimus Pad L-06C' => [ 'LG', 'Optimus Pad', DeviceType::TABLET ],
8125
+ 'LG-vortex' => [ 'LG', 'Vortex' ],
8126
+ ],
8127
+
8128
+ 'Ally' => [ 'LG', 'Ally' ],
8129
+
8130
+ 'Optimus!!' => [
8131
+ 'Optimus' => [ 'LG', 'Optimus' ],
8132
+ 'OptimusBlack' => [ 'LG', 'Optimus Black' ],
8133
+ 'Optimus G' => [ 'LG', 'Optimus G' ],
8134
+ 'Optimus G Pro' => [ 'LG', 'Optimus G Pro' ],
8135
+ 'Optimus Me' => [ 'LG', 'Optimus Me' ],
8136
+ 'optimus me p350' => [ 'LG', 'Optimus Me' ],
8137
+ 'Optimus Net' => [ 'LG', 'Optimus Net' ],
8138
+ 'Optimus One' => [ 'LG', 'Optimus One' ],
8139
+ 'Optimus Pro' => [ 'LG', 'Optimus Pro' ],
8140
+ 'Optimus 2X' => [ 'LG', 'Optimus 2X' ],
8141
+ 'Optimus 2x' => [ 'LG', 'Optimus 2X' ],
8142
+ 'Optimus 4X HD' => [ 'LG', 'Optimus 4X HD' ],
8143
+ 'OptimusX4HD' => [ 'LG', 'Optimus 4X HD' ],
8144
+ 'Optimus4XHD' => [ 'LG', 'Optimus 4X HD' ],
8145
+ 'Optimusx4' => [ 'LG', 'Optimus X4' ],
8146
+ ],
8147
+
8148
+ 'IS11LG' => [ 'LG', 'Optimus X IS11LG', 'carrier' => 'au' ],
8149
+ 'Vortex' => [ 'LG', 'Vortex' ],
8150
+ 'LDK-ICK v1.4' => [ 'LG', 'Esteem' ],
8151
+ 'Prada 3.0' => [ 'LG', 'PRADA 3.0' ],
8152
+
8153
+ 'LG-Google TV!!' => [
8154
+ 'LG-Google TV' => [ 'LG', 'Android TV', DeviceType::TELEVISION, Flag::GOOGLETV ],
8155
+ 'LG-Google TV TV' => [ 'LG', 'Android TV', DeviceType::TELEVISION, Flag::GOOGLETV ],
8156
+ 'LG-Google TV G3' => [ 'LG', 'Android TV', DeviceType::TELEVISION, Flag::GOOGLETV ],
8157
+ 'LG-Google TV G3 KR' => [ 'LG', 'Android TV', DeviceType::TELEVISION, Flag::GOOGLETV ],
8158
+ 'LG-Google TV G3 TV' => [ 'LG', 'Android TV', DeviceType::TELEVISION, Flag::GOOGLETV ],
8159
+ 'LG-Google TV G3 KR TV' => [ 'LG', 'Android TV', DeviceType::TELEVISION, Flag::GOOGLETV ],
8160
+ ],
8161
+
8162
+ 'LG-ANDROID MINI BOX' => [ 'LG', 'Android Mini-Box', DeviceType::TELEVISION ],
8163
+ 'SH940C-LN' => [ 'LG', 'Smartbox HD', DeviceType::TELEVISION ],
8164
+ 'SH940C-LN TV' => [ 'LG', 'Smartbox HD', DeviceType::TELEVISION ],
8165
+ 'LAP250U' => [ 'LG', 'U+ tv G', DeviceType::TELEVISION, Flag::GOOGLETV ],
8166
+ 'LAP255U' => [ 'LG', 'U+ tv G', DeviceType::TELEVISION, Flag::GOOGLETV ],
8167
+ 'TI320-DU' => [ 'LG', 'U+ tv G', DeviceType::TELEVISION, Flag::GOOGLETV ],
8168
+ 'TI320-DU TV' => [ 'LG', 'U+ tv G', DeviceType::TELEVISION, Flag::GOOGLETV ],
8169
+ 'ST940I-UP' => [ 'LG', 'U+ tv G 4K', DeviceType::TELEVISION, Flag::GOOGLETV ],
8170
+ 'WA-U420D' => [ 'LG', 'U+ tvLINK', DeviceType::TELEVISION, Flag::GOOGLETV ],
8171
+ 'SFR-G8800' => [ 'LG', 'SFR-G8800', DeviceType::TELEVISION, Flag::GOOGLETV ],
8172
+ 'SFR-G8800 TV' => [ 'LG', 'SFR-G8800', DeviceType::TELEVISION, Flag::GOOGLETV ],
8173
+ 'E731' => [ 'Logicom', 'E731', DeviceType::TABLET ],
8174
+ 'E812' => [ 'Logicom', 'E812', DeviceType::TABLET ],
8175
+ 'E912' => [ 'Logicom', 'E912', DeviceType::TABLET ],
8176
+ 'E1031' => [ 'Logicom', 'E1031', DeviceType::TABLET ],
8177
+ 'TAB950' => [ 'Logicom', 'TAB950', DeviceType::TABLET ],
8178
+ 'TAB1062' => [ 'Logicom', 'TAB1062', DeviceType::TABLET ],
8179
+ 'aTab9.7 IPS' => [ 'M-Tech', 'aTab 9.7', DeviceType::TABLET ],
8180
+ 'CRONO 22' => [ 'Majestic', 'Chrono 22' ],
8181
+ 'TAB192' => [ 'Majestic', 'TAB-192', DeviceType::TABLET ],
8182
+
8183
+ 'Malata!!' => [
8184
+ 'MALATA I5' => [ 'Malata', 'I5' ],
8185
+ 'MALATA I8' => [ 'Malata', 'I8' ],
8186
+ 'MALATA I10' => [ 'Malata', 'I10' ],
8187
+ 'MALATA I50' => [ 'Malata', 'I50' ],
8188
+ 'MALATA I60' => [ 'Malata', 'I60' ],
8189
+ 'MALATA TD60' => [ 'Malata', 'TD60' ],
8190
+ 'MALATA TD95' => [ 'Malata', 'TD95' ],
8191
+ 'MALATA S501' => [ 'Malata', 'S501' ],
8192
+ 'Malata SMBA1002' => [ 'Malata', 'Tablet SMB-A1002', DeviceType::TABLET ],
8193
+ 'Malata SMBA9701' => [ 'Malata', 'Tablet SMB-A9701', DeviceType::TABLET ],
8194
+ ],
8195
+
8196
+ 'T6' => [ 'Malata', 'Zpad T6', DeviceType::TABLET ],
8197
+
8198
+ 'MID[0-9]!!' => [
8199
+ 'MID05V2' => [ 'Manta', 'Power Tab', DeviceType::TABLET ],
8200
+ 'MID06N' => [ 'Manta', 'Power Tab X', DeviceType::TABLET ],
8201
+ 'MID701' => [ 'Manta', 'Power Tab Basic', DeviceType::TABLET ],
8202
+ 'MID704' => [ 'Manta', 'Power Tab 7', DeviceType::TABLET ],
8203
+ 'MID705' => [ 'Manta', 'Power Tab', DeviceType::TABLET ],
8204
+ 'MID706A' => [ 'Manta', 'Duo Power 7', DeviceType::TABLET ],
8205
+ 'MID801' => [ 'Manta', 'Duo Power 8 HD', DeviceType::TABLET ],
8206
+ 'MID802' => [ 'Manta', 'Duo Power 8 HD', DeviceType::TABLET ],
8207
+ 'MID9701' => [ 'Manta', 'Duo Power 9.7', DeviceType::TABLET ],
8208
+ 'MID9702' => [ 'Manta', 'Duo Power 9.7 HD', DeviceType::TABLET ],
8209
+ 'MID1001' => [ 'Manta', 'Power Tab 10.1 HD', DeviceType::TABLET ],
8210
+ ],
8211
+
8212
+ 'Masstel!!' => [
8213
+ 'Masstel M11' => [ 'Masstel', 'M11' ],
8214
+ 'Masstel-M11' => [ 'Masstel', 'M11' ],
8215
+ 'Masstel M15' => [ 'Masstel', 'M15' ],
8216
+ 'Masstel M25' => [ 'Masstel', 'M25' ],
8217
+ 'Masstel M120' => [ 'Masstel', 'M120' ],
8218
+ 'Masstel M250' => [ 'Masstel', 'M250' ],
8219
+ 'Masstel M320' => [ 'Masstel', 'M320' ],
8220
+ 'Masstel Tab 700' => [ 'Masstel', 'Tab 700', DeviceType::TABLET ],
8221
+ 'Masstel Tab 720' => [ 'Masstel', 'Tab 720', DeviceType::TABLET ],
8222
+ 'Masstel Tab 720i' => [ 'Masstel', 'Tab 720i', DeviceType::TABLET ],
8223
+ 'Masstel Tab 740' => [ 'Masstel', 'Tab 740', DeviceType::TABLET ],
8224
+ 'Masstel Tab 750' => [ 'Masstel', 'Tab 750', DeviceType::TABLET ],
8225
+ 'Masstel Tab 840' => [ 'Masstel', 'Tab 840', DeviceType::TABLET ],
8226
+ 'Masstel Tab 850' => [ 'Masstel', 'Tab 850', DeviceType::TABLET ],
8227
+ ],
8228
+
8229
+ 'MASTONE!!' => [
8230
+ 'MASTONE G3' => [ 'Mastone', 'G3' ],
8231
+ 'MASTONE G4' => [ 'Mastone', 'G4' ],
8232
+ 'MASTONE G9' => [ 'Mastone', 'G9' ],
8233
+ 'MASTONE G13' => [ 'Mastone', 'G13' ],
8234
+ 'MASTONE G15' => [ 'Mastone', 'G15' ],
8235
+ 'MASTONE W16' => [ 'Mastone', 'W16' ],
8236
+ ],
8237
+
8238
+ 'M-270' => [ 'Maylong', 'M-270', DeviceType::TABLET ],
8239
+ 'T-200' => [ 'Maylong', 'T-200', DeviceType::TABLET ],
8240
+ 'M70' => [ 'Maxsun', 'M70', DeviceType::TABLET ],
8241
+
8242
+ 'Maxtron!!' => [
8243
+ 'Maxtron AMOR Ⅱ' => [ 'Maxtron', 'Amor 2' ],
8244
+ 'Maxtron Diamond' => [ 'Maxtron', 'Diamond' ],
8245
+ 'Maxtron Venus' => [ 'Maxtron', 'Venus' ],
8246
+ 'Maxtron T1' => [ 'Maxtron', 'T1', DeviceType::TABLET ],
8247
+ ],
8248
+
8249
+ 'M785' => [ 'Mecer', 'Xpress Smartlife M785', DeviceType::TABLET ],
8250
+ '800P31C' => [ 'Mecer', 'Xpress Smartlife 800P31C', DeviceType::TABLET ],
8251
+ 'X1010' => [ 'Mecer', 'X1010', DeviceType::TABLET ],
8252
+
8253
+ 'M\-PP!!' => [
8254
+ 'M-PPxG400' => [ 'Mediacom', 'PhonePad Duo G400' ],
8255
+ 'M-PPAG500' => [ 'Mediacom', 'PhonePad Duo G500' ],
8256
+ 'M-PPBG500' => [ 'Mediacom', 'PhonePad Duo G500' ],
8257
+ 'M-PPCG500' => [ 'Mediacom', 'PhonePad Duo G500' ],
8258
+ 'M-PPxG501' => [ 'Mediacom', 'PhonePad Duo G501' ],
8259
+ 'M-PP2G530' => [ 'Mediacom', 'PhonePad Duo G530' ],
8260
+ 'M-PPAG550' => [ 'Mediacom', 'PhonePad Duo G550' ],
8261
+ 'M-PPG700' => [ 'Mediacom', 'PhonePad Duo G700' ],
8262
+ 'M-PPG702' => [ 'Mediacom', 'PhonePad Duo G702' ],
8263
+ 'M-PPxS470' => [ 'Mediacom', 'PhonePad Duo S470' ],
8264
+ 'M-PP2S500' => [ 'Mediacom', 'PhonePad Duo S500' ],
8265
+ 'M-PP2S500B' => [ 'Mediacom', 'PhonePad Duo S500' ],
8266
+ 'M-PP2S500C' => [ 'Mediacom', 'PhonePad Duo S500' ],
8267
+ 'M-PPxS501' => [ 'Mediacom', 'PhonePad Duo S501' ],
8268
+ 'M-PPxS531' => [ 'Mediacom', 'PhonePad Duo S531' ],
8269
+ 'M-PP2S550' => [ 'Mediacom', 'PhonePad Duo S550' ],
8270
+ 'M-PPxS551U' => [ 'Mediacom', 'PhonePad Duo S551' ],
8271
+ 'M-PP2S650' => [ 'Mediacom', 'PhonePad Duo S650' ],
8272
+ 'M-PP2S650C' => [ 'Mediacom', 'PhonePad Duo S650' ],
8273
+ 'M-PPAX470U' => [ 'Mediacom', 'PhonePad Duo X470' ],
8274
+ 'M PPAX510U' => [ 'Mediacom', 'PhonePad Duo X510' ],
8275
+ 'M-PPxX520U' => [ 'Mediacom', 'PhonePad Duo X520' ],
8276
+ ],
8277
+
8278
+ 'M\-MP!!' => [
8279
+ 'M-MP5303G' => [ 'Mediacom', 'SmartPad Mini Mobile', DeviceType::TABLET ],
8280
+ 'M-MP705I' => [ 'Mediacom', 'SmartPad 705i', DeviceType::TABLET ],
8281
+ 'M-MP706I' => [ 'Mediacom', 'SmartPad 706i', DeviceType::TABLET ],
8282
+ 'M-MP707i' => [ 'Mediacom', 'SmartPad 707i', DeviceType::TABLET ],
8283
+ 'M-MP711i' => [ 'Mediacom', 'SmartPad 711i', DeviceType::TABLET ],
8284
+ 'M-MP715I' => [ 'Mediacom', 'SmartPad 715i', DeviceType::TABLET ],
8285
+ 'M-MP720I' => [ 'Mediacom', 'SmartPad 720i', DeviceType::TABLET ],
8286
+ 'M-MP722I' => [ 'Mediacom', 'SmartPad 722i', DeviceType::TABLET ],
8287
+ 'M-MP815I' => [ 'Mediacom', 'SmartPad 815i', DeviceType::TABLET ],
8288
+ 'M-MP855i' => [ 'Mediacom', 'SmartPad 855i', DeviceType::TABLET ],
8289
+ 'M-MP860S2' => [ 'Mediacom', 'SmartPad 860 S2', DeviceType::TABLET ],
8290
+ 'M-MP85S23G' => [ 'Mediacom', 'SmartPad 875 S2', DeviceType::TABLET ],
8291
+ 'M-MP875S2' => [ 'Mediacom', 'SmartPad 875 S2', DeviceType::TABLET ],
8292
+ 'M-MP917I' => [ 'Mediacom', 'SmartPad 917i', DeviceType::TABLET ],
8293
+ 'M-MP927I' => [ 'Mediacom', 'SmartPad 927i', DeviceType::TABLET ],
8294
+ 'M-MP940M' => [ 'Mediacom', 'SmartPad 940', DeviceType::TABLET ],
8295
+ 'M-MP1010i' => [ 'Mediacom', 'SmartPad 1010i', DeviceType::TABLET ],
8296
+ 'M-MP102S2B' => [ 'Mediacom', 'SmartPad 102 S2', DeviceType::TABLET ],
8297
+ 'M-MP102S2W' => [ 'Mediacom', 'SmartPad 102 S2', DeviceType::TABLET ],
8298
+ 'M-MP1040S2' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ],
8299
+ 'M-MP10S4' => [ 'Mediacom', 'SmartPad 10.1 S4', DeviceType::TABLET ],
8300
+ 'M-MP12S4' => [ 'Mediacom', 'SmartPad 10.1 S4', DeviceType::TABLET ],
8301
+ 'M-MP1040M' => [ 'Mediacom', 'SmartPad 10.1 HD S4', DeviceType::TABLET ],
8302
+ 'M-MP1040MC' => [ 'Mediacom', 'SmartPad 10.1 HD S4', DeviceType::TABLET ],
8303
+ 'M-MP710GO' => [ 'Mediacom', 'SmartPad 7.0 Go', DeviceType::TABLET ],
8304
+ 'M-MP720GO' => [ 'Mediacom', 'SmartPad 7.0 Go', DeviceType::TABLET ],
8305
+ 'M-MP726GOx' => [ 'Mediacom', 'SmartPad 7.0 Go', DeviceType::TABLET ],
8306
+ 'M-MP740GOx' => [ 'Mediacom', 'SmartPad 7.0 Go', DeviceType::TABLET ],
8307
+ 'M-MP720M' => [ 'Mediacom', 'SmartPad 7.0 Mobile', DeviceType::TABLET ],
8308
+ 'M-MP721M' => [ 'Mediacom', 'SmartPad 7.0 Mobile', DeviceType::TABLET ],
8309
+ 'M-MP722M' => [ 'Mediacom', 'SmartPad 7.0 Mobile', DeviceType::TABLET ],
8310
+ 'M-MP75S23G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ],
8311
+ 'M-MP7S2A3G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ],
8312
+ 'M-MP7S2B3G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ],
8313
+ 'M-MP7S2D3G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ],
8314
+ 'M-MP7S2K3G' => [ 'Mediacom', 'SmartPad 7.0 S2', DeviceType::TABLET ],
8315
+ 'M-MP7S4A3G' => [ 'Mediacom', 'SmartPad 7.0 S4', DeviceType::TABLET ],
8316
+ 'M-MP840M' => [ 'Mediacom', 'SmartPad 8.0 Mobile', DeviceType::TABLET ],
8317
+ 'M-MP842M' => [ 'Mediacom', 'SmartPad 8.0 Mobile', DeviceType::TABLET ],
8318
+ 'M-MP876S2' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ],
8319
+ 'M-MP8S23G' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ],
8320
+ 'M-MP8S2A3G' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ],
8321
+ 'M-MP8S2B3G' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ],
8322
+ 'M-MP82S4' => [ 'Mediacom', 'SmartPad 8.0 S4', DeviceType::TABLET ],
8323
+ 'M-MP84S4' => [ 'Mediacom', 'SmartPad 8.0 S4', DeviceType::TABLET ],
8324
+ 'M-MP8S4A3G' => [ 'Mediacom', 'SmartPad 8.0 S4', DeviceType::TABLET ],
8325
+ 'M-MP8S4B3G' => [ 'Mediacom', 'SmartPad 8.0 S4', DeviceType::TABLET ],
8326
+ 'M-MP8PA3G' => [ 'Mediacom', 'SmartPad 8.0 HD Pro', DeviceType::TABLET ],
8327
+ 'M-MP9S4A3G' => [ 'Mediacom', 'SmartPad 9.7 S4', DeviceType::TABLET ],
8328
+ 'M-MP980S4' => [ 'Mediacom', 'SmartPad 9.7 HD S4', DeviceType::TABLET ],
8329
+ 'M-MP99S4' => [ 'Mediacom', 'SmartPad 9.7 HD S4', DeviceType::TABLET ],
8330
+ 'M-MP101S2' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ],
8331
+ 'M-MP1041S2' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ],
8332
+ 'M-MP1051S2' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ],
8333
+ 'M-MP1S2A3G' => [ 'Mediacom', 'SmartPad 10.1 S2', DeviceType::TABLET ],
8334
+ 'M-MP1S4A3G' => [ 'Mediacom', 'SmartPad 10.1 S4', DeviceType::TABLET ],
8335
+ 'M-MP1S4B3G' => [ 'Mediacom', 'SmartPad 10.1 S4', DeviceType::TABLET ],
8336
+ 'M-MP10PA' => [ 'Mediacom', 'SmartPad 10.1 HD Pro', DeviceType::TABLET ],
8337
+ 'M-MP10PA3G' => [ 'Mediacom', 'SmartPad 10.1 HD Pro', DeviceType::TABLET ],
8338
+ 'M-MPI7A3G' => [ 'Mediacom', 'SmartPad i7', DeviceType::TABLET ],
8339
+ ],
8340
+
8341
+ 'M\-IPRO!!' => [
8342
+ 'M-IPRO110B' => [ 'Mediacom', 'SmartPad 8.0 HD iPro110', DeviceType::TABLET ],
8343
+ 'M-IPRO800B' => [ 'Mediacom', 'SmartPad 8.0 HD iPro800', DeviceType::TABLET ],
8344
+ 'M-IPRO810B' => [ 'Mediacom', 'SmartPad 8.0 HD iPro810', DeviceType::TABLET ],
8345
+ 'M-IPRO810W' => [ 'Mediacom', 'SmartPad 8.0 HD iPro810', DeviceType::TABLET ],
8346
+ ],
8347
+
8348
+ 'MP[0-9]{3,3}C!!' => [
8349
+ 'MP705C' => [ 'Mediacom', 'SmartPad 705c', DeviceType::TABLET ],
8350
+ 'MP810C' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ],
8351
+ 'MP907C' => [ 'Mediacom', 'SmartPad 907c', DeviceType::TABLET ],
8352
+ ],
8353
+
8354
+ 'STM[0-9]{3,3}H!!' => [
8355
+ 'STM712HCZ' => [ 'Mediacom', 'SmartPad 712c', DeviceType::TABLET ],
8356
+ 'STM722HC' => [ 'Mediacom', 'SmartPad 722c', DeviceType::TABLET ],
8357
+ 'STM722HCZ' => [ 'Mediacom', 'SmartPad 722c', DeviceType::TABLET ],
8358
+ 'STM803HC' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ],
8359
+ ],
8360
+
8361
+ 'SmartPad!!' => [
8362
+ 'SmartPad7503G' => [ 'Mediacom', 'SmartPad 750', DeviceType::TABLET ],
8363
+ 'SmartPad810c' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ],
8364
+ 'SmartPad 852i' => [ 'Mediacom', 'SmartPad 825i', DeviceType::TABLET ],
8365
+ 'SmartPad870' => [ 'Mediacom', 'SmartPad 870 S2', DeviceType::TABLET ],
8366
+ 'Smartpad 910i aka Teclast A10T' => [ 'Mediacom', 'SmartPad 910i', DeviceType::TABLET ],
8367
+ 'SmartPad 95s23G' => [ 'Mediacom', 'SmartPad 950 S2', DeviceType::TABLET ],
8368
+ 'SmartPad970s2' => [ 'Mediacom', 'SmartPad 970 S2', DeviceType::TABLET ],
8369
+ 'SmartPad970s23G' => [ 'Mediacom', 'SmartPad 970 S2', DeviceType::TABLET ],
8370
+ 'SmartPad1010i' => [ 'Mediacom', 'SmartPad 1010i', DeviceType::TABLET ],
8371
+ 'SmartPad 85S23G' => [ 'Mediacom', 'SmartPad 8.0 S2', DeviceType::TABLET ],
8372
+ ],
8373
+
8374
+ 'Mediacom 810C' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ],
8375
+ 'Xteam Smartpad 810c' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ],
8376
+ 'Xteam 4.8 Smartpad 810c' => [ 'Mediacom', 'SmartPad 810c', DeviceType::TABLET ],
8377
+ '932i' => [ 'Mediacom', 'SmartPad 932i', DeviceType::TABLET ],
8378
+
8379
+ 'MT70[0-9]{2,2}!!' => [
8380
+ 'MT7000' => [ 'Mediadroid', 'MASTER-MID GPS', DeviceType::TABLET ],
8381
+ 'MT7001' => [ 'Mediadroid', 'ENGAGE HQ PRO', DeviceType::TELEVISION ],
8382
+ 'MT7002' => [ 'Mediadroid', 'ENGAGE HQ', DeviceType::TELEVISION ],
8383
+ 'MT7003' => [ 'Mediadroid', 'IMPERIUS' ],
8384
+ 'MT7004' => [ 'Mediadroid', 'CASSIUS', DeviceType::TABLET ],
8385
+ 'MT7005' => [ 'Mediadroid', 'IMPERIUS AERO' ],
8386
+ 'MT7005' => [ 'Mediadroid', 'IMPERIUS 4.3 HQ' ],
8387
+ 'MT7007' => [ 'Mediadroid', 'IMPERIUS II' ],
8388
+ 'MT7008' => [ 'Mediadroid', 'IMPERIUS N3XT' ],
8389
+ 'MT7009' => [ 'Mediadroid', 'IMPERIUS SEVEN 3G', DeviceType::TABLET ],
8390
+ 'MT7010' => [ 'Mediadroid', 'IMPERIUS TAB 10 LT', DeviceType::TABLET ],
8391
+ 'MT7011' => [ 'Mediadroid', 'IMPERIUS TAB 10', DeviceType::TABLET ],
8392
+ 'MT7012' => [ 'Mediadroid', 'IMPERIUS TAB 10 3G', DeviceType::TABLET ],
8393
+ 'MT7013' => [ 'Mediadroid', 'IMPERIUS EN3RGY' ],
8394
+ 'MT7014' => [ 'Mediadroid', 'IMPERIUS AERO SLIM' ],
8395
+ 'MT7015' => [ 'Mediadroid', 'IMPERIUS MINI' ],
8396
+ 'MT7017' => [ 'Mediadroid', 'IMPERIUS ALPHA' ],
8397
+ ],
8398
+
8399
+ 'MTK6516' => [ 'Mediatek', 'MTK6516' ],
8400
+
8401
+ '(MEDION|(MD )?LIFETAB)!!' => [
8402
+ 'MEDION Smartphone LIFE E3501' => [ 'Medion', 'Life E3501' ],
8403
+ 'MEDION E4001' => [ 'Medion', 'E4001' ],
8404
+ 'MEDION E4002' => [ 'Medion', 'E4002' ],
8405
+ 'MEDION E4005' => [ 'Medion', 'E4005' ],
8406
+ 'MEDION E4502' => [ 'Medion', 'E4502' ],
8407
+ 'MEDION E4503' => [ 'Medion', 'E4503' ],
8408
+ 'MEDION E4506' => [ 'Medion', 'E4506' ],
8409
+ 'LIFETAB E7310' => [ 'Medion', 'Lifetab E7310', DeviceType::TABLET ],
8410
+ 'LIFETAB E7312' => [ 'Medion', 'Lifetab E7312', DeviceType::TABLET ],
8411
+ 'LIFETAB E7313' => [ 'Medion', 'Lifetab E7313', DeviceType::TABLET ],
8412
+ 'LIFETAB E7316' => [ 'Medion', 'Lifetab E7316', DeviceType::TABLET ],
8413
+ 'LIFETAB E723X' => [ 'Medion', 'Lifetab E723X', DeviceType::TABLET ],
8414
+ 'LIFETAB E732X' => [ 'Medion', 'Lifetab E732X', DeviceType::TABLET ],
8415
+ 'LIFETAB E733X' => [ 'Medion', 'Lifetab E733X', DeviceType::TABLET ],
8416
+ 'LIFETAB E10310' => [ 'Medion', 'Lifetab E10310', DeviceType::TABLET ],
8417
+ 'LIFETAB E10312' => [ 'Medion', 'Lifetab E10312', DeviceType::TABLET ],
8418
+ 'LIFETAB E10316' => [ 'Medion', 'Lifetab E10316', DeviceType::TABLET ],
8419
+ 'LIFETAB E10320' => [ 'Medion', 'Lifetab E10320', DeviceType::TABLET ],
8420
+ 'LIFETAB P733X' => [ 'Medion', 'Lifetab P733X', DeviceType::TABLET ],
8421
+ 'LIFETAB P831X' => [ 'Medion', 'Lifetab P831X', DeviceType::TABLET ],
8422
+ 'LIFETAB P831X.2' => [ 'Medion', 'Lifetab P831X', DeviceType::TABLET ],
8423
+ 'LIFETAB P891X' => [ 'Medion', 'Lifetab P891X', DeviceType::TABLET ],
8424
+ 'LIFETAB P1034X' => [ 'Medion', 'Lifetab P1034X', DeviceType::TABLET ],
8425
+ 'LIFETAB S7316' => [ 'Medion', 'Lifetab S7316', DeviceType::TABLET ],
8426
+ 'LIFETAB S732X' => [ 'Medion', 'Lifetab S732X', DeviceType::TABLET ],
8427
+ 'LIFETAB S785X' => [ 'Medion', 'Lifetab S785X', DeviceType::TABLET ],
8428
+ 'LIFETAB S786X' => [ 'Medion', 'Lifetab S786X', DeviceType::TABLET ],
8429
+ 'LIFETAB S831X' => [ 'Medion', 'Lifetab S831X', DeviceType::TABLET ],
8430
+ 'LIFETAB S9512' => [ 'Medion', 'Lifetab S9512', DeviceType::TABLET ],
8431
+ 'LIFETAB S9714' => [ 'Medion', 'Lifetab S9714', DeviceType::TABLET ],
8432
+ 'LIFETAB S1033X' => [ 'Medion', 'Lifetab S1033X', DeviceType::TABLET ],
8433
+ 'LIFETAB S1034X' => [ 'Medion', 'Lifetab S1034X', DeviceType::TABLET ],
8434
+ 'LIFETAB S1036X' => [ 'Medion', 'Lifetab S1036X', DeviceType::TABLET ],
8435
+ 'MEDION LIFE P4012' => [ 'Medion', 'Life P4012' ],
8436
+ 'MEDION P4013' => [ 'Medion', 'Life P4013' ],
8437
+ 'MEDION-P4013' => [ 'Medion', 'Life P4013' ],
8438
+ 'MEDION LIFE P4310' => [ 'Medion', 'Life P4310' ],
8439
+ 'MEDION P5001' => [ 'Medion', 'Life P5001' ],
8440
+ 'MEDION X4701' => [ 'Medion', 'X4701' ],
8441
+ 'MEDION X5004' => [ 'Medion', 'X5004' ],
8442
+ 'MEDION X5020' => [ 'Medion', 'X5020' ],
8443
+ 'LIFETAB P9514' => [ 'Medion', 'Lifetab P9514', DeviceType::TABLET ],
8444
+ 'MD LIFETAB P9516' => [ 'Medion', 'Lifetab P9516', DeviceType::TABLET ],
8445
+ ],
8446
+
8447
+ 'MEEG!!' => [
8448
+ 'MEEG 101' => [ 'MEEG', '101' ],
8449
+ 'MEEG 101M' => [ 'MEEG', '101M' ],
8450
+ 'MEEG 105' => [ 'MEEG', '105' ],
8451
+ 'MEEG 105S' => [ 'MEEG', '105S' ],
8452
+ 'MEEG 106' => [ 'MEEG', '106' ],
8453
+ 'MEEG 201' => [ 'MEEG', '201' ],
8454
+ 'MEEG 210R' => [ 'MEEG', '210R' ],
8455
+ ],
8456
+
8457
+ 'meizu m1note' => [ 'Meizu', 'M1 Note' ],
8458
+ 'm1 note' => [ 'Meizu', 'M1 Note' ],
8459
+ 'm2 note' => [ 'Meizu', 'M2 Note' ],
8460
+ 'MZ-m2 note' => [ 'Meizu', 'M2 Note' ],
8461
+ 'M571C' => [ 'Meizu', 'M2 Note' ],
8462
+ 'MZ-M571C' => [ 'Meizu', 'M2 Note' ],
8463
+ 'M578C' => [ 'Meizu', 'M2' ],
8464
+ 'M8' => [ 'Meizu', 'M8' ],
8465
+ 'M9' => [ 'Meizu', 'M9' ],
8466
+ 'M9-unlocked' => [ 'Meizu', 'M9' ],
8467
+ 'MEIZU M9' => [ 'Meizu', 'M9' ],
8468
+ 'MEIZU MX' => [ 'Meizu', 'MX' ],
8469
+ 'M030' => [ 'Meizu', 'MX M030' ],
8470
+ 'M031' => [ 'Meizu', 'MX M031' ],
8471
+ 'M032' => [ 'Meizu', 'MX M032' ],
8472
+ 'MX2' => [ 'Meizu', 'MX2' ],
8473
+ 'M040' => [ 'Meizu', 'MX2 M040' ],
8474
+ 'M045' => [ 'Meizu', 'MX2 M045' ],
8475
+ 'M351' => [ 'Meizu', 'MX3 M351' ],
8476
+ 'M353' => [ 'Meizu', 'MX3 M353' ],
8477
+ 'M355' => [ 'Meizu', 'MX3 M355' ],
8478
+ 'M356' => [ 'Meizu', 'MX3 M356' ],
8479
+ 'MX4' => [ 'Meizu', 'MX4' ],
8480
+ 'MZ-MX4' => [ 'Meizu', 'MX4' ],
8481
+ 'MX4 Pro' => [ 'Meizu', 'MX4 Pro' ],
8482
+
8483
+ '(MEO )?Smart A!!' => [
8484
+ 'meo smart a12' => [ 'MEO', 'Smart A12' ],
8485
+ 'MEO SMART A16' => [ 'MEO', 'Smart A16' ],
8486
+ 'MEO Smart A40' => [ 'MEO', 'Smart A40' ],
8487
+ 'Smart A65' => [ 'MEO', 'Smart A65' ],
8488
+ 'Smart A66' => [ 'MEO', 'Smart A66' ],
8489
+ 'MEO Smart A68' => [ 'MEO', 'Smart A68' ],
8490
+ 'meo smart a70' => [ 'MEO', 'Smart A70' ],
8491
+ 'MEO Smart A75' => [ 'MEO', 'Smart A75' ],
8492
+ 'MEO A75' => [ 'MEO', 'Smart A75' ],
8493
+ 'MEO Smart A80' => [ 'MEO', 'Smart A80' ],
8494
+ ],
8495
+
8496
+ 'MEU AN!!' => [
8497
+ 'MEU AN400' => [ 'MEU', 'AN400' ],
8498
+ 'MEU AN500' => [ 'MEU', 'AN500' ],
8499
+ ],
8500
+
8501
+ 'Slidepad!!' => [
8502
+ 'Slidepad' => [ 'Memup', 'Slidepad', DeviceType::TABLET ],
8503
+ 'SlidePad 104' => [ 'Memup', 'Slidepad 104', DeviceType::TABLET ],
8504
+ 'SlidePad 108' => [ 'Memup', 'Slidepad 108', DeviceType::TABLET ],
8505
+ 'SlidePad704CE' => [ 'Memup', 'Slidepad 704CE', DeviceType::TABLET ],
8506
+ '704DC' => [ 'Memup', 'Slidepad 704DC', DeviceType::TABLET ],
8507
+ 'SlidePad 816P' => [ 'Memup', 'Slidepad 816P', DeviceType::TABLET ],
8508
+ 'SlidePad Elite 9708' => [ 'Memup', 'Slidepad Elite 9708', DeviceType::TABLET ],
8509
+ 'SlidePad Kids' => [ 'Memup', 'Slidepad Kids', DeviceType::TABLET ],
8510
+ 'SlidePad NG 116DC' => [ 'Memup', 'Slidepad NG 116DC', DeviceType::TABLET ],
8511
+ 'SlidePad NG 704DC' => [ 'Memup', 'Slidepad NG 704DC', DeviceType::TABLET ],
8512
+ ],
8513
+
8514
+ 'SPNG9716DC' => [ 'Memup', 'Slidepad NG 9716DC', DeviceType::TABLET ],
8515
+ 'Mi-A402' => [ 'Mi-fone', 'FAB 4.0' ],
8516
+
8517
+ 'Micromax!!' => [
8518
+ 'Micromax A24' => [ 'Micromax', 'A24 Bolt' ],
8519
+ 'Micromax A25' => [ 'Micromax', 'A25 Smarty' ],
8520
+ 'Micromax A26' => [ 'Micromax', 'A26 Bolt' ],
8521
+ 'Micromax A27' => [ 'Micromax', 'A27 Bolt' ],
8522
+ 'Micromax A28' => [ 'Micromax', 'A28 Bolt' ],
8523
+ 'Micromax A30' => [ 'Micromax', 'A30 Smarty' ],
8524
+ 'Micromax A34' => [ 'Micromax', 'A34' ],
8525
+ 'Micromax A35' => [ 'Micromax', 'A35 Bolt' ],
8526
+ 'Micromax A36' => [ 'Micromax', 'A36 Bolt' ],
8527
+ 'Micromax A37' => [ 'Micromax', 'A37 Bolt' ],
8528
+ 'Micromax A37B' => [ 'Micromax', 'A37B Bolt' ],
8529
+ 'Micromax A40' => [ 'Micromax', 'A40 Bolt' ],
8530
+ 'Micromax A44' => [ 'Micromax', 'A44 Punk' ],
8531
+ 'Micromax A46' => [ 'Micromax', 'A46 Bolt' ],
8532
+ 'Micromax A47' => [ 'Micromax', 'A47 Bolt' ],
8533
+ 'Micromax A50' => [ 'Micromax', 'A50 Ninja' ],
8534
+ 'Micromax A51' => [ 'Micromax', 'A51 Bolt' ],
8535
+ 'Micromax A52' => [ 'Micromax', 'A52 Aisha' ],
8536
+ 'Micromax-Xzoom A52' => [ 'Micromax', 'A52 Aisha' ],
8537
+ 'Micromax A54' => [ 'Micromax', 'A54 Ninja' ],
8538
+ 'Micromax A56' => [ 'Micromax', 'A56 Ninja 2' ],
8539
+ 'Micromax A57' => [ 'Micromax', 'A57 Ninja 3' ],
8540
+ 'Micromax A58' => [ 'Micromax', 'A58 Bolt' ],
8541
+ 'Micromax A59' => [ 'Micromax', 'A59 Bolt' ],
8542
+ 'Micromax A60' => [ 'Micromax', 'A60 Andro' ],
8543
+ 'Micromax A61' => [ 'Micromax', 'A61 Bolt' ],
8544
+ 'Micromax A62' => [ 'Micromax', 'A62 Bolt' ],
8545
+ 'Micromax A63' => [ 'Micromax', 'A63 Canvas Fun' ],
8546
+ 'Micromax A65' => [ 'Micromax', 'A65 Smarty' ],
8547
+ 'Micromax A66' => [ 'Micromax', 'A66 Bolt' ],
8548
+ 'Micromax A67' => [ 'Micromax', 'A67 Bolt' ],
8549
+ 'Micromax A68' => [ 'Micromax', 'A68 Smarty' ],
8550
+ 'Micromax A69' => [ 'Micromax', 'A69 Bolt' ],
8551
+ 'Micromax A70' => [ 'Micromax', 'A70 Andro' ],
8552
+ 'Micromax A71' => [ 'Micromax', 'A71 Bolt' ],
8553
+ 'Micromax A72' => [ 'Micromax', 'A72 Canvas Viva' ],
8554
+ 'Micromax A73' => [ 'Micromax', 'A73 Buzz' ],
8555
+ 'Micromax A74' => [ 'Micromax', 'A74 Canvas Fun' ],
8556
+ 'Micromax A75' => [ 'Micromax', 'A75 Lite' ],
8557
+ 'Micromax A76' => [ 'Micromax', 'A76 Canvas Fun' ],
8558
+ 'Micromax A77' => [ 'Micromax', 'A77 Canvas Juice' ],
8559
+ 'Micromax A78' => [ 'Micromax', 'A78 Gossip' ],
8560
+ 'Micromax A79' => [ 'Micromax', 'A79 Bolt' ],
8561
+ 'Micromax A80' => [ 'Micromax', 'A80 Infinity' ],
8562
+ 'Micromax A82' => [ 'Micromax', 'A82 Bolt' ],
8563
+ 'Micromax A84' => [ 'Micromax', 'A84' ],
8564
+ 'Micromax A85' => [ 'Micromax', 'A85' ],
8565
+ 'Micromax A86' => [ 'Micromax', 'A86 Bling 3' ],
8566
+ 'Micromax A87!' => [ 'Micromax', 'A87 Ninja 4' ],
8567
+ 'Micromax A88' => [ 'Micromax', 'A88 Canvas Music' ],
8568
+ 'Micromax A89' => [ 'Micromax', 'A89 Ninja' ],
8569
+ 'Micromax A90!' => [ 'Micromax', 'A90 Pixel' ],
8570
+ 'Micromax A91' => [ 'Micromax', 'A91 Ninja' ],
8571
+ 'Micromax A92' => [ 'Micromax', 'A92 Canvas Lite' ],
8572
+ 'Micromax A93' => [ 'Micromax', 'A93 Canvas Elanza' ],
8573
+ 'Micromax A94' => [ 'Micromax', 'A94 Canvas Mad' ],
8574
+ 'Micromax A96' => [ 'Micromax', 'A96 Canvas Power' ],
8575
+ 'Micromax A99' => [ 'Micromax', 'A99 Canvas Xpress' ],
8576
+ 'Micromax A064' => [ 'Micromax', 'A064 Bolt' ],
8577
+ 'Micromax A065' => [ 'Micromax', 'A065 Bolt' ],
8578
+ 'Micromax A066' => [ 'Micromax', 'A066 Bolt' ],
8579
+ 'Micromax A067' => [ 'Micromax', 'A067 Bolt' ],
8580
+ 'Micromax A068' => [ 'Micromax', 'A068 Bolt' ],
8581
+ 'Micromax A069' => [ 'Micromax', 'A069 Bolt' ],
8582
+ 'Micromax A075' => [ 'Micromax', 'A075 Bolt' ],
8583
+ 'Micromax A082' => [ 'Micromax', 'A082 Bolt' ],
8584
+ 'Micromax A089' => [ 'Micromax', 'A089 Bolt' ],
8585
+ 'Micromax A091' => [ 'Micromax', 'A091 Canvas Engage' ],
8586
+ 'Micromax A092' => [ 'Micromax', 'A092 Canvas Unite' ],
8587
+ 'Micromax A093' => [ 'Micromax', 'A093 Canvas Fire' ],
8588
+ 'Micromax A096' => [ 'Micromax', 'A096 Canvas Fire 3' ],
8589
+ 'Micromax A100' => [ 'Micromax', 'A100 Canvas' ],
8590
+ 'Micromax A101' => [ 'Micromax', 'A101' ],
8591
+ 'Micromax A102' => [ 'Micromax', 'A102 Canvas Doodle 3' ],
8592
+ 'Micromax A104' => [ 'Micromax', 'A104 Canvas Fire' ],
8593
+ 'Micromax A105' => [ 'Micromax', 'A105 Canvas Entice' ],
8594
+ 'Micromax A106' => [ 'Micromax', 'A106 Unite 2' ],
8595
+ 'Micromax A107' => [ 'Micromax', 'A107 Canvas Fire 4' ],
8596
+ 'Micromax A108' => [ 'Micromax', 'A108 Canvas L' ],
8597
+ 'Micromax A109' => [ 'Micromax', 'A109 Canvas XL2' ],
8598
+ 'Micromax A110' => [ 'Micromax', 'A110 Canvas 2' ],
8599
+ 'Micromax Canvas 2' => [ 'Micromax', 'A110 Canvas 2' ],
8600
+ 'Micromax A110 (Canvas 2)' => [ 'Micromax', 'A110 Canvas 2' ],
8601
+ 'Micromax A110Q' => [ 'Micromax', 'A110Q Canvas 2 Plus' ],
8602
+ 'Micromax A111!' => [ 'Micromax', 'A111 Canvas Doodle' ],
8603
+ 'Micromax A114' => [ 'Micromax', 'A114 Canvas 2.2' ],
8604
+ 'Micromax A114R' => [ 'Micromax', 'A114R Canvas Beat' ],
8605
+ 'Micromax A115' => [ 'Micromax', 'A115 Canvas 3D' ],
8606
+ 'Micromax A116' => [ 'Micromax', 'A116 Canvas HD' ],
8607
+ 'Micromax A116i' => [ 'Micromax', 'A116i Canvas HD' ],
8608
+ 'Micromax A117' => [ 'Micromax', 'A117 Canvas Magnus' ],
8609
+ 'Micromax A118R' => [ 'Micromax', 'A118 Canvas Tube' ],
8610
+ 'Micromax A119' => [ 'Micromax', 'A119 Canvas XL' ],
8611
+ 'Micromax A120' => [ 'Micromax', 'A120 Canvas 2 Colors' ],
8612
+ 'Micromax A121' => [ 'Micromax', 'A120 Canvas Elanza 2' ],
8613
+ 'Micromax A177' => [ 'Micromax', 'A177 Canvas Juice' ],
8614
+ 'Micromax A190' => [ 'Micromax', 'A190 Canvas HD Plus' ],
8615
+ 'Micromax A200' => [ 'Micromax', 'A200 Canvas Turbo Mini' ],
8616
+ 'Micromax A210' => [ 'Micromax', 'A210 Canvas 4' ],
8617
+ 'Micromax A240' => [ 'Micromax', 'A240 Canvas Doodle 2' ],
8618
+ 'Micromax A250' => [ 'Micromax', 'A250 Canvas Turbo' ],
8619
+ 'Micromax A255' => [ 'Micromax', 'A255 Canvas Selfie' ],
8620
+ 'Micromax A290' => [ 'Micromax', 'A290 Canvas Knight Cameo' ],
8621
+ 'Micromax A300' => [ 'Micromax', 'A300 Canvas Gold' ],
8622
+ 'Micromax A310' => [ 'Micromax', 'A310 Canvas Nitro' ],
8623
+ 'Micromax A311' => [ 'Micromax', 'A311 Canvas Nitro' ],
8624
+ 'Micromax A315' => [ 'Micromax', 'A315 Canvas 4 Plus' ],
8625
+ 'Micromax A316' => [ 'Micromax', 'A316 Canvas Hue 2' ],
8626
+ 'Micromax A350' => [ 'Micromax', 'A350 Canvas Knight' ],
8627
+ 'Micromax AD3520' => [ 'Micromax', 'AD3520 Bolt' ],
8628
+ 'Micromax AE90' => [ 'Micromax', 'AE90 Canvas Duet' ],
8629
+ 'Micromax AD4500' => [ 'Micromax', 'AQ4500 Bolt' ],
8630
+ 'Micromax AQ4501' => [ 'Micromax', 'AQ4501 Canvas A1' ],
8631
+ 'Micromax AQ4502' => [ 'Micromax', 'AQ4502 Canvas A1' ],
8632
+ 'Micromax AQ5000' => [ 'Micromax', 'AQ5000 Canvas Hue' ],
8633
+ 'Micromax AQ5001' => [ 'Micromax', 'AQ5001 Canvas Juice 2' ],
8634
+ 'Micromax D200' => [ 'Micromax', 'D200 Bolt' ],
8635
+ 'Micromax D303' => [ 'Micromax', 'D303 Bolt' ],
8636
+ 'Micromax D321' => [ 'Micromax', 'D321 Bolt' ],
8637
+ 'Micromax E311' => [ 'Micromax', 'E311 Canvas Nitro 2' ],
8638
+ 'Micromax E313' => [ 'Micromax', 'E313 Canvas Express 2' ],
8639
+ 'Micromax E352' => [ 'Micromax', 'E352 Canvas Nitro 3' ],
8640
+ 'Micromax E353' => [ 'Micromax', 'E353 Canvas Mega' ],
8641
+ 'Micromax E455' => [ 'Micromax', 'E355 Canvas Nitro 4G' ],
8642
+ 'Micromax E471' => [ 'Micromax', 'E471 Canvas Knight 2' ],
8643
+ 'Micromax E481' => [ 'Micromax', 'E481 Canvas 5' ],
8644
+ 'Micromax EG111' => [ 'Micromax', 'EG111 Canvas Duet 2' ],
8645
+ 'Micromax F666' => [ 'Micromax', 'F666' ],
8646
+ 'Micromax P250(Funbook)' => [ 'Micromax', 'Funbook Alpha P250', DeviceType::TABLET ],
8647
+ 'Micromax P255' => [ 'Micromax', 'Funbook P255', DeviceType::TABLET ],
8648
+ 'Micromax P275' => [ 'Micromax', 'Funbook Infinity P275', DeviceType::TABLET ],
8649
+ 'Micromax P280' => [ 'Micromax', 'Funbook P280', DeviceType::TABLET ],
8650
+ 'Micromax P290' => [ 'Micromax', 'Canvas Tab P290', DeviceType::TABLET ],
8651
+ 'Micromax P350' => [ 'Micromax', 'Funbook P350', DeviceType::TABLET ],
8652
+ 'Micromax P360' => [ 'Micromax', 'Funbook Talk P360', DeviceType::TABLET ],
8653
+ 'Micromax P362' => [ 'Micromax', 'Funbook Talk P362', DeviceType::TABLET ],
8654
+ 'Micromax P365' => [ 'Micromax', 'Funbook P365', DeviceType::TABLET ],
8655
+ 'Micromax P410' => [ 'Micromax', 'Funbook Mini P410', DeviceType::TABLET ],
8656
+ 'Micromax P410i' => [ 'Micromax', 'Funbook Mini P410i', DeviceType::TABLET ],
8657
+ 'Micromax P470' => [ 'Micromax', 'Canvas Tab P470', DeviceType::TABLET ],
8658
+ 'MicromaxP480' => [ 'Micromax', 'Canvas Tab P480', DeviceType::TABLET ],
8659
+ 'Micromax P500(Funbook)' => [ 'Micromax', 'Funbook Pro P500', DeviceType::TABLET ],
8660
+ 'Micromax P560' => [ 'Micromax', 'Funbook 3G P560', DeviceType::TABLET ],
8661
+ 'Micromax P580' => [ 'Micromax', 'Funbook Ultra HD P580', DeviceType::TABLET ],
8662
+ 'Micromax P600' => [ 'Micromax', 'Funbook 3G P600', DeviceType::TABLET ],
8663
+ 'Micromax P650' => [ 'Micromax', 'Canvas Tab P650', DeviceType::TABLET ],
8664
+ 'Micromax P666' => [ 'Micromax', 'Canvas Tab P666', DeviceType::TABLET ],
8665
+ 'MicromaxP680' => [ 'Micromax', 'Canvas Tab P680', DeviceType::TABLET ],
8666
+ 'Micromax P690' => [ 'Micromax', 'Canvas Tab P690', DeviceType::TABLET ],
8667
+ 'Micromax Q324' => [ 'Micromax', 'Q324 Bolt' ],
8668
+ 'Micromax Q325' => [ 'Micromax', 'Q325 Bolt' ],
8669
+ 'Micromax Q331' => [ 'Micromax', 'Q331 Bolt' ],
8670
+ 'Micromax Q333' => [ 'Micromax', 'Q333 Bolt' ],
8671
+ 'Micromax Q334' => [ 'Micromax', 'Q334 Canvas Spark 2' ],
8672
+ 'Micromax Q335' => [ 'Micromax', 'Q335 Bolt' ],
8673
+ 'Micromax Q336' => [ 'Micromax', 'Q336 Bolt' ],
8674
+ 'Micromax Q338' => [ 'Micromax', 'Q338 Bolt' ],
8675
+ 'Micromax Q340' => [ 'Micromax', 'Q340 Canvas Selfie 2' ],
8676
+ 'Micromax Q345' => [ 'Micromax', 'Q345 Canvas Selfie Lens' ],
8677
+ 'Micromax Q348' => [ 'Micromax', 'Q340 Canvas Selfie 3' ],
8678
+ 'Micromax Q355' => [ 'Micromax', 'Q355 Canvas Play' ],
8679
+ 'Micromax Q370' => [ 'Micromax', 'Q370 Canvas Pep' ],
8680
+ 'Micromax Q371' => [ 'Micromax', 'Q371 Canvas Pep' ],
8681
+ 'Micromax Q372' => [ 'Micromax', 'Q372 Unite 3' ],
8682
+ 'Micromax Q375' => [ 'Micromax', 'Q375 Canvas Pep' ],
8683
+ 'Micromax Q379' => [ 'Micromax', 'Q379 Unite 3' ],
8684
+ 'Micromax Q380' => [ 'Micromax', 'Q380 Canvas Spark' ],
8685
+ 'Micromax Q391' => [ 'Micromax', 'Q391 Canvas Doodle 4' ],
8686
+ 'Micromax Q392' => [ 'Micromax', 'Q392 Canvas Juice 3' ],
8687
+ 'Micromax Q394' => [ 'Micromax', 'Q394 Canvas Juice 3+' ],
8688
+ 'Micromax Q395' => [ 'Micromax', 'Q395 Canvas Amaze' ],
8689
+ 'Micromax Q400' => [ 'Micromax', 'Q400 Canvas Blaze' ],
8690
+ 'Micromax Q411' => [ 'Micromax', 'Q411 Canvas Fire' ],
8691
+ 'Micromax Q412' => [ 'Micromax', 'Q412 Canvas Play' ],
8692
+ 'Micromax Q416' => [ 'Micromax', 'Q416 Canvas Pace' ],
8693
+ 'Micromax Q417' => [ 'Micromax', 'Q417 Canvas Mega' ],
8694
+ 'Micromax Q450' => [ 'Micromax', 'Q450 Sliver 5' ],
8695
+ 'Micromax Q469' => [ 'Micromax', 'Q469 Canvas Play' ],
8696
+ 'Micromax Q491' => [ 'Micromax', 'Q491 Canvas Doodle 4' ],
8697
+ 'Micromax S300' => [ 'Micromax', 'S300 Bolt' ],
8698
+ 'Micromax S301' => [ 'Micromax', 'S301 Bolt' ],
8699
+ 'Micromax S302' => [ 'Micromax', 'S302 Bolt' ],
8700
+ ],
8701
+
8702
+ 'A13' => [ 'Micromax', 'A13' ],
8703
+ 'A45' => [ 'Micromax', 'A45 Punk' ],
8704
+ 'A47' => [ 'Micromax', 'A47 Bolt' ],
8705
+ 'A52' => [ 'Micromax', 'A52 Aisha' ],
8706
+ 'A87' => [ 'Micromax', 'A87 Ninja 4' ],
8707
+ 'A90S' => [ 'Micromax', 'A90S Pixel' ],
8708
+ 'A110Q' => [ 'Micromax', 'A110Q Canvas 2 Plus' ],
8709
+ 'A110Q Canvas 2 Plus' => [ 'Micromax', 'A110Q Canvas 2 Plus' ],
8710
+ 'A110Q Canvas 2+' => [ 'Micromax', 'A110Q Canvas 2 Plus' ],
8711
+ 'YU5050' => [ 'Micromax', 'Yutopia' ],
8712
+ 'P300(Funbook)' => [ 'Micromax', 'Funbook P300', DeviceType::TABLET ],
8713
+ 'P701' => [ 'Micromax', 'Canvas Tab P701', DeviceType::TABLET ],
8714
+
8715
+ 'MLLED!!' => [
8716
+ 'MLLED M1B' => [ 'MLLED', 'M1B' ],
8717
+ 'MLLED M2+' => [ 'MLLED', 'M2+' ],
8718
+ 'MLLED M3 MINI' => [ 'MLLED', 'M3 MINI' ],
8719
+ 'MLLED M7S' => [ 'MLLED', 'M7S' ],
8720
+ 'MLLED M8' => [ 'MLLED', 'M8' ],
8721
+ 'MLLED M8S' => [ 'MLLED', 'M8S' ],
8722
+ 'MLLED X3S' => [ 'MLLED', 'X3S' ],
8723
+ ],
8724
+
8725
+ 'Mio!!' => [
8726
+ 'MioCARE A105' => [ 'Mitac', 'MioCARE A105' ],
8727
+ 'MioCare 6119' => [ 'Mitac', 'MioCARE 6119' ],
8728
+ 'MioPad 6' => [ 'Mitac', 'MioPad 6', DeviceType::TABLET ],
8729
+ ],
8730
+
8731
+ 'MIZ Z2' => [ 'Miz', 'Z2' ],
8732
+
8733
+ 'iQ(Talk|Tab)!!' => [
8734
+ 'iQTalk Crystal' => [ 'MLS', 'iQTalk Crystal' ],
8735
+ 'iQTalk Crystal Max' => [ 'MLS', 'iQTalk Crystal Max' ],
8736
+ 'iQTalk King' => [ 'MLS', 'iQTalk King' ],
8737
+ 'iQTab' => [ 'MLS', 'iQTab', DeviceType::TABLET ],
8738
+ 'iQTab 3G' => [ 'MLS', 'iQTab 3G', DeviceType::TABLET ],
8739
+ 'iQTab Astro 3G' => [ 'MLS', 'iQTab Astro 3G', DeviceType::TABLET ],
8740
+ ],
8741
+
8742
+ 'Nova!!' => [
8743
+ 'Nova A' => [ 'Mobell', 'Nova A' ],
8744
+ 'Nova E' => [ 'Mobell', 'Nova E' ],
8745
+ 'Nova F' => [ 'Mobell', 'Nova F' ],
8746
+ ],
8747
+
8748
+ 'Mobiistar!!' => [
8749
+ 'mobiistar PRIME 558' => [ 'Mobiistar', 'Prime 558' ],
8750
+ 'Mobiistar S01' => [ 'Mobiistar', 'Touch S01' ],
8751
+ 'Mobiistar Touch S01' => [ 'Mobiistar', 'Touch S01' ],
8752
+ 'Mobiistar Touch S02i' => [ 'Mobiistar', 'Touch S02i' ],
8753
+ 'Mobiistar Touch S03' => [ 'Mobiistar', 'Touch S03' ],
8754
+ 'Mobiistar Touch S05' => [ 'Mobiistar', 'Touch S05' ],
8755
+ 'Mobiistar Touch S06' => [ 'Mobiistar', 'Touch S06' ],
8756
+ 'Mobiistar Touch S07' => [ 'Mobiistar', 'Touch S07' ],
8757
+ 'Mobiistar Touch S08' => [ 'Mobiistar', 'Touch S08' ],
8758
+ 'Mobiistar Touch S30' => [ 'Mobiistar', 'Touch S30' ],
8759
+ 'mobiistar touch S31' => [ 'Mobiistar', 'Touch S31' ],
8760
+ 'mobiistar touch BEAN 402' => [ 'Mobiistar', 'Touch Bean 402' ],
8761
+ 'mobiistar touch BEAN 402c' => [ 'Mobiistar', 'Touch Bean 402C' ],
8762
+ 'mobiistar touch Bean 402s' => [ 'Mobiistar', 'Touch Bean 402S' ],
8763
+ 'mobiistar touch BEAN 402m' => [ 'Mobiistar', 'Touch Bean 402M' ],
8764
+ 'Mobiistar Touch Bean 452' => [ 'Mobiistar', 'Touch Bean 452' ],
8765
+ 'Mobiistar Touch JellyBean 452' => [ 'Mobiistar', 'Touch Bean 452' ],
8766
+ 'Mobiistar Touch Jelly Bean 452' => [ 'Mobiistar', 'Touch Bean 452' ],
8767
+ 'mobiistar touch BEAN 452T' => [ 'Mobiistar', 'Touch Bean 452T' ],
8768
+ 'Mobiistar Bean 452T' => [ 'Mobiistar', 'Touch Bean 452T' ],
8769
+ 'mobiistar touch BEAN 454' => [ 'Mobiistar', 'Touch Bean 454' ],
8770
+ 'Mobiistar Touch Kem 350' => [ 'Mobiistar', 'Touch Kem 350' ],
8771
+ 'Mobiistar Touch Kem 351' => [ 'Mobiistar', 'Touch Kem 351' ],
8772
+ 'Mobiistar Touch Kem 402' => [ 'Mobiistar', 'Touch Kem 402' ],
8773
+ 'Mobiistar Touch Kem 432' => [ 'Mobiistar', 'Touch Kem 432' ],
8774
+ 'Mobiistar Touch Kem 452' => [ 'Mobiistar', 'Touch Kem 452' ],
8775
+ 'Mobiistar Touch KEM 452 HDMI' => [ 'Mobiistar', 'Touch Kem 452' ],
8776
+ 'Mobiistar touch KEM 462' => [ 'Mobiistar', 'Touch Kem 462' ],
8777
+ 'Mobiistar Touch Lai 502' => [ 'Mobiistar', 'Touch Lai 502' ],
8778
+ 'mobiistar touch LAI 504' => [ 'Mobiistar', 'Touch Lai 504' ],
8779
+ 'mobiistar LAI 504m' => [ 'Mobiistar', 'Touch Lai 504M' ],
8780
+ 'mobiistar touch LAI 504Q' => [ 'Mobiistar', 'Touch Lai 504Q' ],
8781
+ 'mobiistar touch LAI 512' => [ 'Mobiistar', 'Touch Lai 512' ],
8782
+ ],
8783
+
8784
+ 'BEAN 454' => [ 'Mobiistar', 'Touch Bean 454' ],
8785
+ 'MBS BEAN 454' => [ 'Mobiistar', 'Touch Bean 454' ],
8786
+ 'edenTAB ET-701' => [ 'Mobile In Style', 'Eden TAB ET-701', DeviceType::TABLET ],
8787
+
8788
+ 'Cynus!!' => [
8789
+ 'Cynus E1' => [ 'Mobistel', 'Cynus E1' ],
8790
+ 'Cynus F3' => [ 'Mobistel', 'Cynus F3' ],
8791
+ 'Cynus F4' => [ 'Mobistel', 'Cynus F4' ],
8792
+ 'Cynus F5' => [ 'Mobistel', 'Cynus F5' ],
8793
+ 'Cynus F6' => [ 'Mobistel', 'Cynus F6' ],
8794
+ 'Cynus F8' => [ 'Mobistel', 'Cynus F8' ],
8795
+ 'Cynus T1' => [ 'Mobistel', 'Cynus T1' ],
8796
+ 'Cynus T2' => [ 'Mobistel', 'Cynus T2' ],
8797
+ 'Cynus T5' => [ 'Mobistel', 'Cynus T5' ],
8798
+ 'Cynus T6' => [ 'Mobistel', 'Cynus T6' ],
8799
+ 'Cynus T7' => [ 'Mobistel', 'Cynus T7' ],
8800
+ 'Cynus T8' => [ 'Mobistel', 'Cynus T8' ],
8801
+ ],
8802
+
8803
+ 'MOCHE SMART A16' => [ 'Moche', 'Smart A16' ],
8804
+
8805
+ '(MODECOM )?FreeTAB!!' => [
8806
+ 'FreeTAB 7.5 IPS X4 3G+' => [ 'Modecom', 'FreeTAB 7.5 IPS X4', DeviceType::TABLET ],
8807
+ 'FreeTAB 10.1 Silver' => [ 'Modecom', 'FreeTAB 10.1 Silver', DeviceType::TABLET ],
8808
+ 'FreeTAB 1001' => [ 'Modecom', 'FreeTAB 1001', DeviceType::TABLET ],
8809
+ 'MODECOM FreeTab 1002 IPS X2' => [ 'Modecom', 'FreeTAB 1002 IPS X2', DeviceType::TABLET ],
8810
+ 'FreeTAB 1003' => [ 'Modecom', 'FreeTAB 1003', DeviceType::TABLET ],
8811
+ 'FreeTAB1003' => [ 'Modecom', 'FreeTAB 1003', DeviceType::TABLET ],
8812
+ 'FreeTAB 1014 IPS X4+' => [ 'Modecom', 'FreeTAB 1014 IPS X4', DeviceType::TABLET ],
8813
+ 'FreeTAB 1014 IPS X4 3G+' => [ 'Modecom', 'FreeTAB 1014 IPS X4', DeviceType::TABLET ],
8814
+ 'MODECOM FreeTAB 2096+ X2 4GB' => [ 'Modecom', 'FreeTAB 2096 X2', DeviceType::TABLET ],
8815
+ 'FreeTAB 7001 HD IC' => [ 'Modecom', 'FreeTAB 7001 HD IC', DeviceType::TABLET ],
8816
+ 'FreeTAB 7003 HD+ X2 3G+' => [ 'Modecom', 'FreeTAB 7003 HD+ X2', DeviceType::TABLET ],
8817
+ 'FreeTAB 7800 IPS IC' => [ 'Modecom', 'FreeTAB 7800 IPS IC', DeviceType::TABLET ],
8818
+ 'FreeTAB 8001 IPS X2 3G+' => [ 'Modecom', 'FreeTAB 8001 IPS X2', DeviceType::TABLET ],
8819
+ 'MODECOM FreeTAB 8001 IPS X23G' => [ 'Modecom', 'FreeTAB 8001 IPS X2', DeviceType::TABLET ],
8820
+ 'FreeTAB 8014 IPS X4' => [ 'Modecom', 'FreeTAB 8014 IPS X4', DeviceType::TABLET ],
8821
+ 'FreeTAB 9000 IPS IC' => [ 'Modecom', 'FreeTAB 9000 IPS IC', DeviceType::TABLET ],
8822
+ 'FreeTAB 9000 IPS ICG' => [ 'Modecom', 'FreeTAB 9000 IPS ICG', DeviceType::TABLET ],
8823
+ 'FreeTAB 9000 IPS ICG 3G' => [ 'Modecom', 'FreeTAB 9000