diff --git a/LICENSE b/LICENSE new file mode 100755 index 0000000..d54b5c6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2008 Massachusetts Institute of Technology + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/README b/README old mode 100644 new mode 100755 index e69de29..1f97f04 --- a/README +++ b/README @@ -0,0 +1,7 @@ +The MIT Mobile Web is a modular framework for creating and hosting web services optimized for mobile devices. + +It includes specialized modules for searching and browsing LDAP and ArchGIS, as well as more MIT specific services like Stellar and the Events Calendar. It also includes generic modules like 3Down and Emergency Info, which could be modified to present any RSS feed in a mobile-friendly manner. + +MIT Mobile Web is written with PHP, Python, Javascript, HTML, and CSS. It uses Python with the open source Wireless Universal Resource File (WURFL) to categorize devices, allowing for an experience tailored to each device's capabilities. It uses PHP to dynamically generate pages and also handles the parsing and quering of external services, such as LDAP and ArchGIS. Javascript is used for more modern devices to provide a more dynamic experience, such as the special behavior of the Shuttle Schedule when an iPhone's orientation changes. + +There is currently a lot of duplicated effort among schools looking to implement their own mobile web, and most schools don't even have the resources to start from scratch. Many educational institutions have similar infrastructure to MIT, so adapting the MIT Mobile Web to work with their services would be relatively simple. Opening up the source to the MIT Mobile Web will garner goodwill and prestige among educational institutions. diff --git a/db/development.copy.sqlite3 b/db/development.copy.sqlite3 new file mode 100644 index 0000000..6739918 Binary files /dev/null and b/db/development.copy.sqlite3 differ diff --git a/extra/mobile_vhost.conf b/extra/mobile_vhost.conf new file mode 100644 index 0000000..82a958d --- /dev/null +++ b/extra/mobile_vhost.conf @@ -0,0 +1,19 @@ + + ServerName m.yourhostname.edu + DocumentRoot /path/to/MIT-Mobile-Web/web + Alias /wurfl/api /path/to/MIT-Mobile-Web/wurfl/mobile_detect.py + + + Options Indexes FollowSymLinks MultiViews + AllowOverride None + Order allow,deny + Allow from all + + + + AddHandler python-program .py + PythonHandler mobile_detect + PythonDebug On + + + diff --git a/extra/pdo_drivers.php b/extra/pdo_drivers.php new file mode 100644 index 0000000..1b41a68 --- /dev/null +++ b/extra/pdo_drivers.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/lib/ShuttleSchedule.SQL b/lib/ShuttleSchedule.SQL new file mode 100755 index 0000000..d7d4d6f --- /dev/null +++ b/lib/ShuttleSchedule.SQL @@ -0,0 +1,11 @@ +CREATE TABLE Schedule +( + day_scheduled CHAR(3), + day_real CHAR(3), + route VARCHAR(50), + place VARCHAR(50), + hour INTEGER, + minute INTEGER +) +; + diff --git a/lib/ShuttleSchedule.php b/lib/ShuttleSchedule.php new file mode 100755 index 0000000..eaf9240 --- /dev/null +++ b/lib/ShuttleSchedule.php @@ -0,0 +1,969 @@ +routes[] = $route; + return $route; + } + + public function getRoutes() { + return $this->routes; + } + + public function getRoute($name) { + $encodedName = Route::encode($name); + foreach($this->routes as $route) { + if($route->encodeName() == $encodedName) { + return $route; + } + } + } + + public function initRoutesCache() { + $last_stop_tags = array(); + foreach($this->routes as $route) { + $last_stop_tags[$route->encodeName()] = $route->lastStopTags(); + } + $next_bus_data = Route::queryNextBus($last_stop_tags); + + foreach($this->routes as $route) { + $key = $route->encodeName(); + $route->setCache(array($key => $next_bus_data[$key])); + } + } +} + +class Route implements Iterator{ + + // name of shuttle + private $name; + + // shortname of shuttle used for nextBus + private $shortName; + + // if this is a saferide route + private $is_safe_ride; + + // number of round trips per hour + private $perHour; + + // this hash stores the name of all the stops + // and the time it reaches the stop relative to the route + private $stops; + + // this hash store all the required next bus tags + private $next_bus_tags; + + private $key; + + // a brief string describing when the route is active + private $summary; + + // does this shuttle run even on holidays + private $holidays=True; + + /***************************************************** + * a hash mapping days of the week to the routes schedule + * for that day + * the route schedule contains such information as + * this list of hours for each bus + * that operates on this route + * how many times it operates that hour + * and a number a minute delay relative to the + * standard route times + *****************************************************/ + private $days; + + // XML NextBus Data Cache + private $cached = False; + private $next_bus_cache; + + public function __construct($name, $shortName, $isSafeRide=False) { + $this->name = $name; + $this->shortName = $shortName; + $this->is_safe_ride = (bool) $isSafeRide; + } + + public function except_holidays() { + $this->holidays = False; + return $this; + } + + public function getHolidays() { + return $this->holidays; + } + + public function summary($summary) { + $this->summary = $summary; + return $this; + } + + public function getSummary() { + return $this->summary; + } + + public function isSafeRide() { + return $this->is_safe_ride; + } + + public static function encode($name) { + $noSpaces = str_replace(' ', '_', $name); + return strtolower($noSpaces); + } + + public function encodeName() { + return self::encode($this->name); + } + + public function getStopIndex($name) { + return array_search($name, array_keys($this->stops));; + } + + public function isDayEmpty(day $day) { + return !array_key_exists($day->abbrev(), $this->days); + } + + public function firstStop(day $day) { + if($this->isDayEmpty($day)) { + return NULL; + } + + return $this->getByKey($this->first_key($day)); + } + + public function perHour($perHour) { + $this->perHour = $perHour; + return $this; + } + + public function getPerHour() { + return $this->perHour; + } + + public function stops() { + $stops_data = func_get_args(); + $this->stops = array(); + $this->next_bus_tags = array(); + foreach($stops_data as $stop) { + $this->stops[ $stop['name'] ] = $stop['time']; + if($stop['shortName']) { + $this->next_bus_tags[ $stop['name'] ] = array( + 'shortName' => $stop['shortName'], + 'direction' => $stop['direction'] + ); + } + } + return $this; + } + + public function addHours() { + $tmp = func_get_args(); + $days_str = array_shift($tmp); + $days = day::factory($days_str); + foreach($days as $day) { + $this->days[$day->abbrev()] = $tmp; + } + return $this; + } + + public function getName() { + return $this->name; + } + + public function populate_db() { + $db = db::$connection; + $stmt = $db->prepare( + "INSERT INTO Schedule (day_scheduled, day_real, route, place, hour, minute) values (?, ?, ?, ?, ?, ?)" + ); + + foreach(day::$days as $day) { + $this->day = new day($day); + foreach($this as $stop) { + $stmt->bind_param('ssssii', $day, $stop->getDay(), $this->encodeName(), $stop->getName(), $stop->getHour(), $stop->getMinute()); + $stmt->execute(); + } + } + } + + public function getNextStop($day, $hour, $minute) { + /********************************************** + * Warning this code assumes that only daytime shuttles + * do not run on holidays + **********************************************/ + + $day = new day($day); + $db = db::$connection; + + // find the first stop after the given time + $stmt_1 = $db->prepare( + "SELECT day_scheduled, place, hour, minute FROM Schedule WHERE day_real = ? AND route = ? AND (60 * hour + minute) >= ? ORDER BY (60 * hour + minute) LIMIT 1" ); + + $day_offset = 0; + $day_scheduled = NULL; + $first_stop = NULL; + $total_minutes = 60 * $hour + $minute; + + // loop through successive days until we find the first stop + while(!$first_stop){ + if($this->holidays || !Holidays::is_holiday($day_offset)) { + $stmt_1->bind_param('ssi', $day->abbrev(), $this->encodeName(), $total_minutes); + $stmt_1->bind_result($day_scheduled, $first_stop, $hour, $minute); + $stmt_1->execute(); + } + + if(!$stmt_1->fetch()) { + $day_offset++; + $day = $day->next(); + $total_minutes = 0; + } + } + $stmt_1->free_result(); + $stmt_1->close(); + + return array( + "real_day" => $day, + "scheduled_day" => $day_scheduled, + "next_stop" => $first_stop, + "hour" => $hour, + "minute" => $minute, + "total_minutes" => $total_minutes + ); + } + + public function isRunning($day, $hour, $minute) { + if($this->GPSisActive()) { + return True; + } else { + return $this->isRunningFromDB($day, $hour, $minute); + } + } + + public function isRunningFromDB($day, $hour, $minute) { + if(!$this->holidays && Holidays::is_holiday()) { + // this shuttle does not run on holidays + // and today is a holiday + return False; + } + + $next_stop = $this->getNextStop($day, $hour, $minute); + $day = new day($day); + + // Calculate a time offset if the next stop is tommorow + if($day == $next_stop["real_day"]) { + $offset = 0; + } elseif($day->next() == $next_stop["real_day"]) { + $offset = 24 * 60; + } else { + // the next stop is not anytime soon, more than a day into + // future + return False; + } + + $next_stop_time = $offset + $next_stop["hour"] * 60 + $next_stop["minute"]; + $this_time = $hour * 60 + $minute; + + if($next_stop_time - $this_time > 25) { + // next stop more than 25 minutes into the future + return False; + } else { + return True; + } + } + + public function getCurrentStops($day, $hour, $minute) { + + if($this->isRunning($day, $hour, $minute) && $this->GPSisActive()) { + // query next bus to get the upcoming times + $times = $this->getNextBusTimes(); + $places = array_keys($times); + + foreach($this->stops as $place => $dummy) { + if(array_key_exists($place, $this->next_bus_tags)) { + + // adds an extra second for safe measure + $seconds = $times[$place] + 1; + $index = array_search($place, $places); + $previous = !$index ? count($times)-1 : $index-1; + + $total = (60 * $hour + $minute) * 60 + $seconds; + $hours = (int)($total / 60 / 60) % 24; + $minutes = (int)($total / 60) % 60; + $previous_time = $times[$places[$previous]]; + $never = ($times[$place] === NULL); + $next = (($times[$place] < $previous_time) || ($previous_time === NULL)) && !$never; + + $stops[] = array( + "next" => $next, + "place" => $place, + "hour" => $never ? NULL : Stop::makeDD($hours), + "minute" => $never ? NULL : Stop::makeDD($minutes), + "never" => $never + ); + } else { + // this stopped is not tracked by Next Bus + $stops[] = array("next"=>False, "place"=>$place, "hour"=>NULL, "minute"=>NULL, "never"=>False, "unknown"=>True); + } + } + return $stops; + } else { + // fall back to schedule stored in the database + return $this->getCurrentStopsFromDB($day, $hour, $minute); + } + } + + public function GPSisActive() { + $times = $this->getNextBusTimes(); + $keys = array_keys($times); + $last = $keys[count($times)-1]; + return ($times[$last] !== NULL); + } + + private function getNextBusTimes() { + if($this->cached) { + return $this->next_bus_cache; + } else { + $this->next_bus_cache = self::queryNextBus($this->next_bus_tags, $this->shortName); + $this->cached = True; + return $this->next_bus_cache; + } + } + + public function lastStopTags() { + $keys = array_keys($this->next_bus_tags); + $key = $keys[count($this->next_bus_tags) - 1]; + $tags = $this->next_bus_tags[$key]; + $tags['routeName'] = $this->shortName; + return $tags; + } + + public function setCache($data) { + $this->cached = True; + $this->next_bus_cache = $data; + } + + public static function queryNextBus($stop_tags, $routeName=NULL) { + $agency = "mit"; + $query = "command=predictionsForMultiStops&a=$agency"; + + foreach($stop_tags as $tags) { + $routeShortName = $routeName ? $routeName : $tags['routeName']; + + $query .= "&stops=$routeShortName|{$tags['direction']}|{$tags['shortName']}"; + } + + $xml = file_get_contents("http://www.nextbus.com/s/xmlFeed?$query"); + + if($xml) { + $xml_obj = new DOMDocument(); + $xml_obj->loadXML($xml); + + $errors = $xml_obj->getElementsByTagName('Error'); + foreach($errors as $error) { + throw new Exception("Next Bus Server Error: $error->nodeValue"); + } + + $predictions = $xml_obj->getElementsByTagName('predictions'); + reset($stop_tags); + $times = array(); + foreach($predictions as $stop) { + $children = getChildrenByTagName($stop, 'direction'); + $name = key($stop_tags); + if(count($children) == 1) { + $nodes = getChildrenByTagName($children[0], 'prediction'); + $times[$name] = $nodes[0]->getAttribute('seconds'); + } else { + $times[$name] = NULL; + } + next($stop_tags); + } + return $times; + } + } + + public function getCurrentStopsFromDB($day, $hour, $minute) { + $db = db::$connection; + + $next_stop = $this->getNextStop($day, $hour, $minute); + + $first_stop = $this->isRunning($day, $hour, $minute) ? $next_stop["next_stop"] : -1; + + + $day_scheduled = $next_stop["scheduled_day"]; + $day = $next_stop["real_day"]; + $total_minutes = $next_stop["total_minutes"]; + + $stmt_2 = $db->prepare( + "SELECT day_real, hour, minute FROM Schedule WHERE day_scheduled = ? AND day_real = ? AND place = ? AND route = ? AND (60 * hour + minute) >= ? ORDER BY (60 * hour + minute) LIMIT 1" ); + + $stops = array(); + $zero = 0; + $stmt_2->bind_result($day_real, $hour_res, $minute_res); + + // find the next time for each stop of the route + foreach(array_keys($this->stops) as $place) { + $stmt_2->bind_param('ssssi', + $day_scheduled, + $day->abbrev(), + $place, + $this->encodeName(), + $total_minutes + ); + $stmt_2->execute(); + + if(!$stmt_2->fetch()) { + // no remaining times were found today + // so check if the stop has a time after midnight + // on the next day + + $stmt_2->bind_param('ssssi', + $day_scheduled, + $day->next()->abbrev(), + $place, + $this->encodeName(), + $zero + ); + + $stmt_2->execute(); + $stmt_2->fetch(); + } + + $stmt_2->free_result(); + + $never = !(bool) $day_real; + + //store the result + $stops[] = array( + "next" => ($place == $first_stop), + "place" => $place, + "day" => $never ? NULL : $day_real, + "hour" => $never ? NULL : Stop::makeDD($hour_res), + "minute" => $never ? NULL : Stop::makeDD($minute_res), + "never" => $never + ); + + } + $stmt_2->close(); + + return $stops; + } + + + /****************************************************************** + * + * These methods implement the Iterator pattern + * + *****************************************************************/ + public function rewind() { + $this->key = $this->first_key($this->day); + } + + public function first_key(day $day) { + $buses = array(); + if(!$this->isDayEmpty($day)) { + foreach($this->days[$day->abbrev()] as $bus) { + $buses[] = array("hour" => 0, "trip" => 0, "stop" => 0); + } + } + return array("day" => $day, "buses" => $buses); + } + + public function getByKey(array $key) { + if($this->isDayEmpty($key["day"])) { + return NULL; + } + + $bus = $this->earliest($key["day"], $key["buses"]); + $tmp = $key["buses"][$bus]; + return $this->make_stop($key["day"], $tmp["hour"], $tmp["trip"], $tmp["stop"], $bus); + } + + private function make_stop(day $day, $hour, $trip, $stop, $bus) { + $hour = $this->getHour($bus, $hour, $day); + if(!$hour) { + return NULL; + } + $places = array_keys($this->stops); + $place = $places[$stop]; + $minute = $this->stops[$place] + $trip * (60 / $this->perHour) + $hour->getDelay(); + + return new Stop($place, $hour, $minute, $this->getStopIndex($place), $day); + } + + public function current() { + return $this->getByKey($this->key); + } + + public function key() { + return $this->key; + } + + private function earliest(day $day, $buses, $skip = 0) { + return $this->earliest_or_latest($day, $buses, True, $skip); + } + + private function latest(day $day, $buses, $skip = 0) { + return $this->earliest_or_latest($day, $buses, False, $skip); + } + + private function earliest_or_latest(day $day, $buses, $earliest, $skip) { + $stop_bus_pairs = array(); + foreach($buses as $index => $bus) { + $stop_bus_pairs[] = array( + $this->make_stop($day, $bus["hour"], $bus["trip"], $bus["stop"], $index), + "bus" => $index + ); + } + + $which_key = $earliest ? $skip : count($buses) - 1 - $skip; + + //sort the stops by time + usort($stop_bus_pairs, array("Stop", "compare")); + return $stop_bus_pairs[$which_key]["bus"]; + } + + private function getHour($bus, $hour_index, day $day) { + $hours = $this->days[$day->abbrev()][$bus]->getHours(); + return $hours[$hour_index]; + } + + + public function next_day_key($key) { + return $this->first_key($key["day"]->next()); + } + + public function next_key(array $key) { + // this function works by incrementing the earliest + // bus. + + $buses = $key["buses"]; + $bus = $this->earliest($key["day"], $buses); + $aBus = $buses[$bus]; + + if($this->isDayEmpty($key["day"]) + || !($hour = $this->getHour($bus, $aBus["hour"], $key["day"])) ) { + return $this->first_key($key["day"]->next()); + } + + $aBus["stop"] += 1; + if($aBus["stop"] == count($this->stops)) { + $aBus["stop"] = 0; + $aBus["trip"] += 1; + if($aBus["trip"] == $hour->getTrips($this->perHour)) { + $aBus["trip"] = 0; + $aBus["hour"] += 1; + } + } + + $key["buses"][$bus] = $aBus; + return $key; + } + + public function next() { + $this->key = $this->next_key($this->key); + + if($this->current()) { + return $this->current(); + } else { + return False; + } + } + + public function valid() { + if($this->isDayEmpty($this->key["day"])) { + return False; + } + return ($this->current() !== NULL); + } +} + +class Stop { + private $hour; + private $minute; + private $name; + private $past_midnight; + private $day; + private $stop_index; + + public function __construct($name, Hour $hour, $minute, $stop, day $day) { + $minute = (int) $minute; + $this->hour = (int) $hour->getHour(); + $this->minute = $minute % 60; + + // if more than 60 minutes will need to increment the hour + $this->hour = $this->hour + (int) ($minute / 60); + $this->past_midnight = $hour->isPastMidnight(); + if($this->hour >= 24) { + $this->hour -= 24; + $this->past_midnight = True; + } + $this->stop_index = $stop; + $this->name = $name; + $this->day = $this->past_midnight ? $day->next() : $day; + } + + public function getName() { + return $this->name; + } + + public function getIndex() { + return $this->stop_index; + } + + public function getAMPM() { + return ($this->hour < 12) ? 'A' : 'P'; + } + + public function getStandardHour() { + $tmp = $this->hour % 12; + return ($tmp !== 0) ? $tmp : 12; + } + + public function getHour($standard_form=True) { + $wholeday = (!$standard_form && $this->past_midnight) ? 24 : 0; + + return $this->hour + $wholeday; + } + + public function getTime() { + return $this->getStandardHour() . ':' . $this->getMinute() . $this->getAMPM() . 'M'; + } + + + public static function makeMilitaryTime($hour, $minute) { + $hour = self::makeDD($hour); + return $hour . ':' . self::makeDD($minute); + } + + public function getMilitaryTime() { + return self::makeMilitaryTime($this->hour, $this->minute); + } + + public function getMinute() { + return self::makeDD($this->minute); + } + + public function makeDD($num) { + return ($num < 10) ? ('0' . $num) : $num; + } + + public function getDay() { + return $this->day->abbrev(); + } + + public function isBefore($day, $hour, $minute=0) { + + switch (day::compare($this->day, $day)) { + case 0: + if($hour == $this->hour) { + return ($this->minute < $minute); + } else { + return ($this->hour < $hour); + } + case -1: + return True; + case +1: + return False; + } + } + + public static function compare($stop1, $stop2) { + //first array element is the stop + //the "bus" element is the bus number + $stop1 = $stop1[0]; + $stop2 = $stop2[0]; + + //NULL stop are at the end of time. + if(!$stop1) { + return 1; + } + + if(!$stop2) { + return -1; + } + + if($stop1->day != $stop2->day) { + return day::compare($stop1->day, $stop2->day); + } + + if($stop1->hour != $stop2->hour) { + return $stop1->hour > $stop2->hour ? +1 : -1; + } + + if($stop1->minute != $stop2->minute) { + return $stop1->minute > $stop2->minute ? +1 : -1; + } + + return 0; + } +} + +class Hour { + private $default_trip_number = True; + private $trip_number; + private $hour; + private $delay=0; + private $past_midnight = False; + + public function pastMidnight() { + $this->past_midnight = True; + } + + public function isPastMidnight() { + return $this->past_midnight; + } + + public function getHour() { + return $this->hour; + } + + public function getDelay() { + return $this->delay; + } + + public function setDelay($delay) { + return $this->delay = $delay; + } + + public function getTrips($perHour) { + if($this->default_trip_number) { + return $perHour; + } else { + return $this->trip_number; + } + } + + public function __construct($hour, $trip_number = NULL) { + $this->hour = $hour; + if($trip_number !== NULL) { + $this->trip_number = $trip_number; + $this->default_trip_number = False; + } + } +} + +class HourList { + + private $past_midnight = False; + private $hours = array(); + + public function append(HourList $new_hours) { + foreach($new_hours->hours as $hour) { + $this->add_single($hour); + } + return $this; + } + + public function add_single(Hour $hour) { + $hours = count($this->hours); + if($hours && $hour->getHour() < $this->hours[$hours-1]->getHour()) { + $this->past_midnight = True; + } + + if($this->past_midnight) { + $hour->pastMidnight(); + } + + $this->hours[] = $hour; + } + + public function delay($delay) { + foreach($this->hours as $hour) { + $hour->setDelay($delay); + } + return $this; + } + + public function getHours() { + return $this->hours; + } + + public static function factory($hours_string) { + $tmp = new self(); + $hour_pieces = explode(' ', $hours_string); + foreach($hour_pieces as $piece) { + $tmp->append(self::hours_helper($piece)); + } + return $tmp; + } + + private static function hours_helper($piece) { + $out = new self(); + if(strpos($piece, '-') !== False) { + $limits = explode('-', $piece); + $lower = $limits[0]; + $upper = $limits[1]; + foreach(range($lower, $upper) as $hour) { + $out->add_single(new Hour($hour)); + } + } elseif(strpos($piece, ':') !== False) { + $nums = explode(':', $piece); + $out->add_single(new Hour($nums[0], $nums[1])); + } else { + $out->add_single(new Hour($piece)); + } + return $out; + } +} + +class day { + public static $days = array( + 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' + ); + + private static $today; + private $day_str; + private $day_num; + + public function setToday($day_str) { + self::$today = new self($day_str); + } + + public function today() { + return self::$today; + } + + public function plus($offset) { + $day_num = ($this->day_num + $offset) % 7; + return new self(self::$days[$day_num]); + } + + public static function index($day_str) { + return array_search($day_str, self::$days); + } + + public function __construct($daystr) { + $this->day_num = array_search($daystr, self::$days); + if($this->day_num === False) { + throw new Exception("'$daystr' is not valid day abbreviation"); + } + $this->day_str = $daystr; + } + + public function abbrev() { + return $this->day_str; + } + + public function next() { + $day_str = self::$days[ ($this->day_num+1) % 7 ]; + return new day($day_str); + } + + public function prev() { + $day_str = self::$days[ ($this->day_num+7-1) % 7 ]; + return new day($day_str); + } + + public static function factory($days_str) { + $limits = explode('-', $days_str); + $days = array(); + $init = $limits[0]; + $final = $limits[1]; + $current = new day($init); + + $days[] = $current; + + while($current->abbrev() != $final) { + $current = $current->next(); + $days[] = $current; + } + return $days; + } + + public static function compare($day1, $day2) { + if($day1 == $day2) { + return 0; + } + + $diff = ($day2->day_num - $day1->day_num + 7) % 7; + if($diff < 4) { + //day 2 is after day 1 + return -1; + } else { + //day 2 is before day 1 + return 1; + } + } +} + +function hours($str) { + return HourList::factory($str); +} + +function delay($delay, $str) { + return HourList::factory($str)->delay($delay); +} + +function st($name, $shortName, $direction, $time) { + return array( + 'name' => $name, + 'shortName' => $shortName, + 'direction' => $direction, + 'time' => $time + ); +} + + +class Holidays { + private static $holidays; + private static $time; + + public function init() { + require "holiday_data.php"; + self::$holidays = array(); + foreach($holiday_data as $year => $holidays) { + $year_array = array(); + for($cnt = 0; $cnt < count($holidays); $cnt += 2) { + $year_array[ $holidays[$cnt] ] = $holidays[$cnt+1]; + } + self::$holidays[$year] = $year_array; + } + self::$time = time(); + } + + public function is_holiday($offset=0) { + $time = self::$time + $offset * 24 * 60 * 60; + + $year = date('Y', $time); + $month = date('M', $time); + $day = date('d', $time); + foreach(self::$holidays[$year] as $date => $name) { + $time = strtotime($date); + if($month == date('M', $time) && $day == date('d', $time)) { + return True; + } + } + return False; + } + +} +Holidays::init(); + +function getChildrenByTagName($dom, $name) { + $nodes = array(); + foreach($dom->childNodes as $aNode) { + if($aNode->nodeName == $name) { + $nodes[] = $aNode; + } + } + return $nodes; +} + + +?> \ No newline at end of file diff --git a/lib/academic.php b/lib/academic.php new file mode 100755 index 0000000..6e0b576 --- /dev/null +++ b/lib/academic.php @@ -0,0 +1,153 @@ +current_year = $year; + $this->years[$year] = array(); + return $this; + } + + public function month($month) { + $this->current_month = $month; + $this->years[$this->current_year][$month] = array(); + return $this; + } + + public function day($first, $second=NULL) { + $this->current_day = new DayList($first, $second); + $this->years[$this->current_year][$this->current_month][] = $this->current_day; + return $this; + } + + function item($str) { + $this->current_day->add_item($str); + return $this; + } + + function hilite_item($str1, $str2="") { + $this->current_day->add_hilite_item($str1, $str2); + return $this; + } + + function title_item($str1, $str2) { + $this->current_day->add_title_item($str1, $str2); + return $this; + } +} + +class DayList { + private $first; + private $second; + public $items = array(); + + public function __construct($first, $second) { + $this->first = $first; + $this->second = $second; + } + + public function add_item($str) { + $this->items[] = new PlainItem($str); + } + + public function add_title_item($str1, $str2) { + $this->items[] = new TitleItem($str1, $str2); + } + + public function add_hilite_item($str1, $str2) { + $this->items[] = new HiliteItem($str1, $str2); + } + + public function day_text($year, $month) { + $month = Month($month); + $time1 = strtotime("$month {$this->first}, $year"); + if($this->second) { + $time2 = strtotime("$month {$this->second}, $year"); + } + + $day1 = date('l', $time1); + if($time2) { + $day2 = date('l', $time2); + if($this->second-$this->first == 1) { + return "$day1,$day2 $month {$this->first},{$this->second}"; + } else { + return "$day1-$day2 $month {$this->first}-{$this->second}"; + } + } else { + return "$day1 $month {$this->first}"; + } + } +} + +abstract class Item { + abstract public function html(); +} + +class PlainItem extends Item { + + private $item; + + public function __construct($item) { + $this->item = $item; + } + + public function html() { + return htmlentities($this->item); + } + +} + +class HiliteItem extends Item { + + private $hilite; + private $plain; + + public function __construct($hilite, $plain) { + $this->hilite = $hilite; + $this->plain = $plain; + } + + public function html() { + return '' . htmlentities($this->hilite) . ' ' . htmlentities($this->plain); + } + +} + +class TitleItem extends Item { + + private $title; + private $body; + + public function __construct($title, $body) { + $this->title = $title; + $this->body = $body; + } + + public function html() { + return '' . htmlentities($this->title) . ': ' . htmlentities($this->body); + } + + +} + +function Month($month) { + return ucwords(strtolower($month)); +} + +$academic = new AcademicCalendar(); +require "academic_data.php"; + +?> \ No newline at end of file diff --git a/lib/academic_data.php b/lib/academic_data.php new file mode 100755 index 0000000..87a8e80 --- /dev/null +++ b/lib/academic_data.php @@ -0,0 +1,510 @@ +year(2007) + ->month('JUNE') + ->day(11) + ->item('Classes of Regular Summer Session begin') + ->day(15) + ->hilite_item('DEGREE APPLICATION DEADLINE', 'for September SB and Advanced Degrees. $40 Late Fee ($75 after July 13)') + ->month('JULY') + ->day(4) + ->item('Independence Day--Holiday') + ->day(13) + ->item('Last day to submit or change Adv. Degree Thesis Title. $75 Late Fee') + ->month('AUGUST') + ->day(10) + ->hilite_item('DEADLINE FOR DOCTORAL STUDENTS', 'to submit application, signed by department, to Graduate Students Office, 3-138, for Fall Term Non-Resident status ($100 Late Fee)') + ->hilite_item('THESIS DUE', 'for ALL September degree candidates') + ->item('Last day to petition for September Advanced Standing Exam') + ->day(16) + ->hilite_item('5:00 P.M. CONTINUING STUDENT FINAL DEADLINE TO PRE-REG ON-LINE', '($75 Late Fee)') + ->day(17) + ->hilite_item('Last day to go off the September Degree List') + ->item('Last day of classes for Regular Summer Session') + ->day(20, 21) + ->item('Summer Session Final Exam Period') + ->day(26) + ->item('Freshman Orientation begins') + ->day(27) + ->hilite_item('GRADES DUE', 'in Registrar\'s Office, 5-119, for Summer Session (12 noon)') + ->item('Graduate Student Orientation activities begin') + ->day(28) + ->item('English Evaluation Test for International students, 9 a.m.-12 noon') + ->day(31) + ->item('Term Summaries of Summer Session Grades delivered to Departments') + ->item('Some Postponed Finals and Advanced Standing Exams (other than freshmen)') + ->month('SEPTEMBER') + ->day(3) + ->item('Labor Day--Holiday') + ->day(4) + ->title_item('REGISTRATION DAY', 'Fall Term') + ->item('DEADLINE', 'to change a Spring Term Exploratory subject to listener status') + ->day(5) + ->hilite_item('FIRST DAY OF CLASSES') ->day(7) + ->hilite_item('DEGREE APPLICATION DEADLINE', 'for February SB and Advanced Degrees') + ->item('$40 Late Fee ($75 after December 14)') + ->hilite_item('REGISTRATION DEADLINE.', 'Signed Registration forms for all students DUE in Student Services Center. $40 Late Fee') + ->hilite_item('DEADLINE FOR FINAL-TERM SENIORS', 'to submit the HASS Concentration Completion Form ($40 Late Fee)') + ->day(10) + ->item('First quarter Physical Education classes begin') + ->day(11) + ->item('2:00 p.m. Graduate Academic Performance Meeting') + ->day(14) + ->item('1:00 p.m. C.A.P. September Degree Candidates Meeting') + ->day(17, 21) + ->item('Career Week') + ->day(19) + ->item('Faculty Officers recommend degrees to Corporation') + ->day(20) + ->item('11:00 a.m. - 6:00 p.m. Fall Career Fair') + ->day(21) + ->hilite_item('MINOR COMPLETION DATE.', 'Deadline for submission of Minor Completion form for final-term seniors. $40 Late Fee') + ->day(24) + ->item('Student Holiday -- no classes') + ->day(26, 30) + ->item('Physical Education Petition Revision Extension Period. Final-term seniors who will not complete the PE requirement bythe end of quarter one must update petition during this time ($40 Petition Processing Fee for updated petitions filed after this period)') + ->day(28) + ->item('Last day to sign up for family health insurance or waive individual coverage, E23-308') + ->month('OCTOBER') + ->day(1, 3) + ->item('Physical Education Petition Revision Extension Period. Final-term seniors who will not complete the PE requirement bythe end of quarter one must update petition during this time ($40 Petition Processing Fee for updated petitions filed after this period)') + ->day(5) + ->hilite_item('ADD DATE.', 'Last day to add subjects to Registration') + ->item('Last day for Jrs/Srs to change an Elective to or from P/D/F Grading') + ->item('Last day to change a subject from Listener to Credit') + ->item('Last day for Sophomores to change a subject to or from Exploratory') + ->item('Late fee ($100) and petition required for students completing registration after this date') + ->item('Last day to petition for second S.B for June and next September degree candidates') + ->item('Last day to drop half-term subjects offered in first half of term') + ->item('Deadline for completing cross-registration. $40 Late Fee for any petitions approved after this date') + ->day(8, 9) + ->item('Columbus Day--Vacation') + ->day(12, 14) + ->item('Family Weekend') + ->day(29) + ->item('Second quarter Physical Education classes begin') + ->month('NOVEMBER') + ->day(12) + ->item('Veteran\'s Day--Holiday') + ->day(21) + ->hilite_item('DROP DATE.', 'Last day to cancel subjects from Registration') + ->item('Last day to change a subject from Credit to Listener') + ->item('Last day to add a time-arranged subject that started after beginning of the term') + ->item('Last day to Petition for Dec. Adv. Standing Exam (given during Final Exam Period)') + ->item('Last day to add half-term subjects offered in second half of term') + ->day(22, 23) + ->item('Thanksgiving Vacation') + ->month('DECEMBER') + ->day(3) + ->hilite_item('ON-LINE PRE-REGISTRATION', 'for Spring Term and IAP begins') + ->day(7) + ->title_item('SUBJECTS WITH FINAL EXAM', 'no test may be given and no assignment, term paper or oral presentation shall fall due after this date') + ->title_item('SUBJECTS WITH NO FINAL EXAM -- Undergraduate Subjects', 'no test may be given and at most one assignment may fall due between this date and the end of the +last scheduled class period in the subject') + ->title_item('SUBJECTS WITH NO FINAL EXAM -- Graduate Subjects', 'either one in-class test may be given or one assignment may fall due between this date and the end of the last regularly scheduled class in the subject') + ->day(12) + ->hilite_item('LAST DAY OF CLASSES.') + ->item('Last day to drop half-term subjects offered in the second half of term') + ->day(14) + ->item('Last day to submit or change Adv. Degree Thesis Title. $75 Late Fee') + ->day(17, 21) + ->hilite_item('FINAL EXAM PERIOD') + ->day(18, 31) + ->hilite_item('GRADE DEADLINE.', 'GRADES DUE in Registrar\'s Office, 5-119, according to DUE DATE indicated on the Grade Sheet. Grade Sheets MUST BE SIGNED, ENCLOSED IN ENVELOPES, SEALED, AND DELIVERED to Registrar\'s Office on or before due date') + ->day(27) + ->hilite_item('SPRING PRE-REGISTRATION DEADLINE.', 'CONTINUING students must INITIATE on-line pre-registration by 5:00 p.m. on this date. $40 Late Fee ($75 after January 17)') + ->year(2008) + ->month('JANUARY') + ->day(1, 2) + ->hilite_item('GRADE DEADLINE.', 'GRADES DUE in Registrar\'s Office, 5-119, according to DUE DATE indicated on the Grade Sheet. Grade Sheets MUST BE SIGNED, ENCLOSED IN ENVELOPES, SEALED, AND DELIVERED to Registrar\'s Office on or before due date') + ->day(7) + ->item('First Day of January Independent Activities Period') + ->hilite_item('DEADLINE FOR DOCTORAL STUDENTS', 'to submit application, signed by department, to Graduate Students Office, 3-138, for Spring Term Non-Resident status. ($100 Late Fee). Not needed if Spring Term approved with Fall Term application') + ->day(8) + ->item('Term Summaries of Fall Term Grades delivered to Departments') + ->day(9) + ->item('1:00 p.m. First-Year Grades Meeting') + ->day(10) + ->item('9:00 a.m. Second-Year and Third-Year Grades Meeting') + ->day(11) + ->hilite_item('THESIS DUE', 'for doctoral degrees') + ->item('Last day to Petition for January Advanced Standing Exam') + ->item('9:00 a.m. Fourth-Year Grades Meeting') + ->day(17) + ->hilite_item('5:00 P.M. FINAL DEADLINE FOR CONTINUING STUDENTS TO PRE-REG ON-LINE', '($75 Late Fee)') + ->day(18) + ->hilite_item('THESIS DUE', 'for degrees other than doctoral') + ->item('Last day to go off the February Degree List') + ->day(21) + ->item('Martin Luther King, Jr. Day--Holiday') + ->day(22) + ->item('2:00 p.m. Graduate Academic Performance Meeting') + ->day(23) + ->item('9:00 a.m. C.A.P. deferred action meeting') + ->day(24) + ->item('9:00 a.m. C.A.P. deferred action meeting') + ->day(30) + ->item('English Evaluation Test for International students, 9 a.m. - 12 noon') + ->day(30, 31) + ->item('Some Advanced Standing Exams and Postponed Finals') + ->month('FEBRUARY') + ->day(1) + ->item('Some Advanced Standing Exams and Postponed Finals') + ->item('Last day of January Independent Activities Period') + ->day(4) + ->title_item('REGISTRATION DAY', 'Spring Term') + ->hilite_item('DEADLINE', 'to change a Fall Term Exploratory subject to listener status') + ->day(5) + ->hilite_item('FIRST DAY OF CLASSES') + ->day(6) + ->hilite_item('GRADES DUE', 'in Registrar\'s Office, 5-119, for work completed in IAP') + ->day(8) + ->hilite_item('REGISTRATION DEADLINE.', 'Signed Registration forms for all students DUE in Student Services Center. $40 Late Fee') + ->hilite_item('DEGREE APPLICATION DEADLINE', 'for June SB and Advanced Degrees. $40 Late Fee ($75 Late Fee after April 4)') + ->hilite_item('DEADLINE FOR FINAL-TERM SENIORS', 'to: submit the HASS Concentration Completion Form ($40 Late Fee)') + ->item('Final Deadline for all Juniors to submit HASS Concentration Proposal Form') + ->day(11) + ->item('Term Summaries of Grades for IAP delivered to Departments') + ->item('Third quarter Physical Education classes begin') + ->day(12) + ->item('2:00 p.m. Graduate Academic Performance Meeting') + ->day(15) + ->item('1:00 p.m. C.A.P. February Degree Candidates Meeting') + ->day(18) + ->item('Presidents Day--Holiday') + ->day(19) + ->hilite_item('MONDAY SCHEDULE OF CLASSES TO BE HELD') + ->day(20) + ->item('Faculty Officers recommend degrees to Corporation') + ->day(20, 27) + ->item('Physical Education Petition Revision Extension Period. Final-term seniors who will not complete the PE requirement by the end of quarter three must update petition during this time ($40 Petition Processing Fee for updated petitions filed after this period)') + ->day(22) + ->hilite_item('MINOR COMPLETION DATE.', 'Deadline for submission of Minor Completion form for final-term seniors. $40 Late Fee') + ->day(29) + ->item('Last day to sign up for family health insurance or waive individual coverage, E23-308') + ->month('MARCH') + ->day(7) + ->hilite_item('ADD DATE.', 'Last day to add subjects to Registration') + ->item('Last day for Jrs/Srs to change an Elective to or from P/D/F Grading') + ->item('Last day to change a subject from Listener to Credit') + ->item('Last day for Sophomores to change a subject to or from Exploratory') + ->item('Late fee ($100) and petition required for students completing registration after this date') + ->item('Last day to petition for second S.B for next February degree candidates') + ->item('Last day to drop half-term subjects offered in first half of term') + ->item('Deadline for completing cross-registration. $40 Late Fee for petitions approved after this date') + ->day(24, 28) + ->item('Spring Vacation') + ->month('APRIL') + ->day(2) + ->item('Fourth quarter Physical Education classes begin') + ->day(4) + ->item('Last day to submit or change Adv. Degree Thesis Title ($75 Late Fee)') + ->day(10, 13) + ->item('Campus Preview Weekend') + ->day(21, 22) + ->item('Patriots Day--Vacation') + ->day(24) + ->hilite_item('DROP DATE.', 'Last day to cancel subjects from Registration') + ->item('Last day to change a subject from Credit to Listener') + ->item('Last day to add time-arranged subject that started after beginning of the term') + ->item('Last day to Petition for May Adv. Standing Exam (given during Final Exam Period)') + ->item('Last day to add half-term subjects offered in second half of term') + ->month('MAY') + ->day(1) + ->hilite_item('ON-LINE PRE-REGISTRATION', 'for Fall Term and Summer Session begins') + ->day(2) + ->hilite_item('THESIS DUE', 'for doctoral degrees') + ->day(9) + ->title_item('SUBJECTS WITH FINAL EXAM', 'no test may be given and no assignment, term paper or oral presentation shall fall due after this date') + ->title_item('SUBJECTS WITH NO FINAL EXAM -- Undergraduate Subjects', 'no test may be given and at most one assignment may fall due between this date and the end of the last scheduled class period in the subject') + ->title_item('SUBJECTS WITH NO FINAL EXAM -- Graduate Subjects', 'either one in-class test may be given or one assignment may fall due between this date and the end of the last regularly scheduled class in the subject') + ->hilite_item('THESIS DUE', 'for degrees other than doctoral') + ->day(15) + ->hilite_item('LAST DAY OF CLASSES') + ->item('Last day to drop half-term subjects offered in the second half of term') + ->day(19, 23) + ->hilite_item('FINAL EXAM WEEK') + ->day(20, 28) + ->hilite_item('GRADE DEADLINE.', 'GRADES DUE in Registrar\'s Office, 5-119, according to DUE DATE indicated on the Grade Sheet. Grade Sheets MUST BE SIGNED, ENCLOSED IN ENVELOPES, SEALED, AND DELIVERED to Registrar\'s Office on or before due date') + ->day(23) + ->item('LAST DAY TO GO OFF THE JUNE DEGREE LIST') + ->day(26) + ->item('Memorial Day--Holiday') + ->day(29) + ->hilite_item('FALL PRE-REGISTRATION DEADLINE.', 'CONTINUING students must initiate on-line pre-registration by this date. $40 Late Fee. ($75 after August 14)') + ->hilite_item('SUMMER SESSION PRE-REGISTRATION DEADLINE', 'Deadline for all students to pre-register on-line for Summer Session. $40 Late Fee') + ->day(30) + ->item('8:00 a.m. Term Summaries of Spring Term Grades delivered to Departments') + ->hilite_item('DEPARTMENT GRADES MEETINGS') + ->month('JUNE') + ->day(2) + ->item('10:00 a.m. Fourth-Year Grades Meeting') + ->item('1:00 p.m. Graduate Academic Performance Meeting') + ->item('Faculty Officers recommend degrees to Corporation') + ->day(3) + ->item('9:00 a.m. Second-Year and Third-Year Grades Meeting') + ->day(4) + ->item('Wednesday 1:00 p.m. First-Year Grades Meeting') + ->day(5) + ->item('Doctoral Hooding Ceremony') + ->day(6) + ->hilite_item('COMMENCEMENT') + ->day(9) + ->item('Classes of Regular Summer Session begin') + ->day(13) + ->hilite_item('DEGREE APPLICATION', 'DEADLINE for September SB and Advanced Degrees Fee ($75 after July 11)') + ->day(17) + ->item('9:00 a.m. C.A.P. deferred action meeting') + ->day(18) + ->item('9:00 a.m. C.A.P. deferred action meeting') + ->month('JULY') + ->day(4) + ->item('Independence Day--Holiday') + ->day(11) + ->item('Last day to submit Adv. Degree Thesis Title. $75 Late Fee') + ->month('AUGUST') + ->day(8) + ->hilite_item('DEADLINE FOR DOCTORAL STUDENTS', 'to submit application, signed by department, to Graduate Students Office, 3-138, for Fall Term Non-Resident status ($100 Late Fee)') + ->hilite_item('THESIS DUE', 'for ALL September degree candidates. Last day to petition for September Advanced Standing Exam') + ->day(14) + ->hilite_item('5:00 P.M. CONTINUING STUDENT FINAL DEADLINE TO PRE-REG ON-LINE', '($75 Late Fee)') + ->day(15) + ->hilite_item('LAST DAY TO GO OFF THE SEPTEMBER DEGREE LIST') + ->item('Last day of classes for Regular Summer Session') + ->day(18, 19) + ->item('Summer Session Final Exam Period') + ->day(24) + ->item('Freshman Orientation begins') + ->day(25) + ->hilite_item('GRADES DUE', 'in Registrar\'s Office, 5-119, for Summer Session (12 noon)') + ->item('Graduate Student Orientation activities begin') + ->day(26) + ->item('English Evaluation Test for International students, 9 a.m.-12 noon') + ->day(29) + ->item('Term Summaries of Summer Session Grades delivered to Departments') + ->item('Some Postponed Finals and Advanced Standing Exams (other than freshmen)') + ->month('SEPTEMBER') + ->day(1) + ->item('Labor Day--Holiday') + ->day(2) + ->title_item('REGISTRATION DAY', 'Fall Term') + ->hilite_item('DEADLINE', 'to change a Spring Term Exploratory subject to listener status') + ->day(3) + ->hilite_item('FIRST DAY OF CLASSES') + ->day(5) + ->hilite_item('DEGREE APPLICATION DEADLINE', 'for February SB and Advanced Degrees. $40 Late Fee ($75 after December 12)') + ->hilite_item('REGISTRATION DEADLINE.', 'Signed Registration forms for all students DUE in Student Services Center. $40 Late Fee') + ->hilite_item('DEADLINE FOR FINAL-TERM SENIORS', 'to submit the HASS Concentration Completion Form ($40 Late Fee)') + ->day(8) + ->item('First quarter Physical Education classes begin') + ->day(9) + ->item('2:00 p.m. Graduate Academic Performance Meeting') + ->day(12) + ->item('1:00 p.m. C.A.P. September Degree Candidates Meeting') + ->day(15, 19) + ->item('Career Week') + ->day(17) + ->item('Faculty Officers recommend degrees to Corporation') + ->day(18) + ->item('11:00 a.m. - 6:00 p.m. Fall Career Fair') + ->day(19) + ->item('MINOR COMPLETION DATE.', 'Deadline for submission of Minor Completion form for final-term seniors. $40 Late Fee') + ->day(22) + ->item('Student Holiday -- no classes') + ->day(24, 30) + ->item('Physical Education Petition Revision Extension Period. Final-term seniors who will not complete the PE requirement by the end of quarter one must update petition during this time') + ->day(30) + ->item('Last day to sign up for family health insurance or waive individual coverage, E23-308') + ->month('OCTOBER') + ->day(1) + ->item('Physical Education Petition Revision Extension Period. Final-term seniors who will not complete the PE requirement by the end of quarter one must update petition during this time') + ->day(3) + ->hilite_item('ADD DATE.', 'Last day to add subjects to Registration') + ->item('Last day for Jrs/Srs to change an Elective to or from P/D/F Grading') + ->item('Last day to change a subject from Listener to Credit') + ->item('Last day for Sophomores to change a subject to or from Exploratory') + ->item('Late fee ($100) and petition required for students completing registration after this date') + ->item('Last day to petition for second S.B for June and next September degree candidates') + ->item('Last day to drop half-term subjects offered in first half of term') + ->item('Deadline for completing cross-registration. $40 Late Fee for petitions approved after this date') + ->day(13) + ->item('Columbus Day--Holiday') + ->day(17, 19) + ->item('Family Weekend') + ->day(27) + ->item('Second quarter Physical Education classes begin') + ->month('NOVEMBER') + ->day(10, 11) + ->item('Veteran\'s Day--Vacation') + ->day(19) + ->hilite_item('DROP DATE.', 'Last day to cancel subjects from Registration') + ->item('Last day to change a subject from Credit to Listener') + ->item('Last day to add a time-arranged subject that started after beginning of the term') + ->item('Last day to Petition for Dec. Adv. Standing Exam (given during Final Exam Period)') + ->item('Last day to add half-term subjects offered in second half of term') + ->day(27, 28) + ->item('Thanksgiving Vacation') + ->month('DECEMBER') + ->day(1) + ->hilite_item('ON-LINE PRE-REGISTRATION', 'for Spring Term and IAP begins') + ->day(5) + ->title_item('SUBJECTS WITH FINAL EXAM', 'no test may be given and no assignment, term paper or oral presentation shall fall due after this date') + ->title_item('SUBJECTS WITH NO FINAL EXAM -- Undergraduate Subjects', 'no test may be given and at most one assignment may fall due between this date and the end of the last scheduled class period in the subject') + ->title_item('SUBJECTS WITH NO FINAL EXAM -- Graduate Subjects', 'either one in-class test may be given or one assignment may fall due between this date and the end of the last regularly scheduled class in the subject') + ->day(10) + ->hilite_item('LAST DAY OF CLASSES') + ->item('Last day to drop half-term subjects offered in the second half of term') + ->day(12) + ->item('Last day to submit Adv. Degree Thesis Title. $75 Late Fee') + ->day(15, 19) + ->hilite_item('FINAL EXAM PERIOD') + ->day(16, 31) + ->hilite_item('GRADE DEADLINE.', 'GRADES DUE in Registrar\'s Office, 5-119, according to DUE DATE indicated on the Grade Sheet. Grade Sheets MUST BE SIGNED, ENCLOSED IN ENVELOPES, SEALED, AND DELIVERED to Registrar\'s Office on or before due date') + ->day(30) + ->hilite_item('SPRING PRE-REGISTRATION DEADLINE.', 'CONTINUING students must INITIATE on-line pre-registration by 5:00 p.m. on this date. $40 Late Fee ($75 after January 15)') + ->year(2009) + ->month('JANUARY') + ->day(5) + ->item('First Day of January Independent Activities Period') + ->item('DEADLINE FOR DOCTORAL STUDENTS', 'to submit application, signed by department, to Graduate Students Office, 3-138, for Spring Term Non-Resident status. ($100 Late Fee). Not needed if Spring Term approved with Fall Term application') + ->day(6) + ->item('Term Summaries of Fall Term Grades delivered to Departments') + ->day(7) + ->item('1:00 p.m. First-Year Grades Meeting') + ->day(8) + ->item('9:00 a.m. Second-Year and Third-Year Grades Meeting') + ->day(9) + ->hilite_item('THESIS DUE', 'for doctoral degrees') + ->item('Last day to Petition for January Advanced Standing Exam') ->item('9:00 a.m. Fourth-Year Grades Meeting') + ->day(13) + ->item('2:00 p.m. Graduate Academic Performance Meeting') + ->day(15) + ->item('5:00 P.M. FINAL DEADLINE FOR CONTINUING STUDENTS TO PRE-REG ON-LINE', '($75 Late Fee)') + ->day(16) + ->item('THESIS DUE', 'for degrees other than doctoral') + ->hilite_item('LAST DAY TO GO OFF THE FEBRUARY DEGREE LIST') + ->day(19) + ->item('Martin Luther King, Jr. Day--Holiday') + ->day(21) + ->item('9:00 a.m. C.A.P. Deferred Action meeting') + ->day(22) + ->item('9:00 a.m. C.A.P. Deferred Action meeting') + ->day(28) + ->item('English Evaluation Test for International students, 9 a.m. - 12 noon') + ->day(28, 30) + ->item('Some Advanced Standing Exams and Postponed Finals') + ->day(30) + ->item('Last day of January Independent Activities Period') + ->month('FEBRUARY') + ->day(2) + ->title_item('REGISTRATION DAY', 'Spring Term') + ->hilite_item('DEADLINE', 'to change a Fall Term Exploratory subject to listener status') + ->day(3) + ->hilite_item('FIRST DAY OF CLASSES') + ->day(4) + ->hilite_item('GRADES DUE', 'in Registrar\'s Office, 5-119, for work completed in IAP') + ->day(6) + ->hilite_item('REGISTRATION DEADLINE.', 'Signed Registration forms for all students DUE in Student Services Center. $40 Late Fee') + ->hilite_item('DEGREE APPLICATION DEADLINE', 'for June SB and Advanced Degrees. $40 Late Fee ($75 Late Fee after April 3)') + ->hilite_item('DEADLINE FOR FINAL-TERM SENIORS', 'to: submit the HASS Concentration Completion Form ($40 Late Fee)') + ->item('Final Deadline for all Juniors to submit HASS Concentration Proposal Form') + ->day(9) + ->item('Term Summaries of Grades for IAP delivered to Departments') + ->item('Third quarter Physical Education classes begin') + ->day(10) + ->item('2:00 p.m. Graduate Academic Performance Meeting') + ->day(13) + ->item('1:00 p.m. C.A.P. February Degree Candidates Meeting') + ->day(16) + ->item('Presidents Day--Holiday') + ->day(17) + ->hilite_item('MONDAY SCHEDULE OF CLASSES TO BE HELD') + ->day(18) + ->item('Faculty Officers recommend degrees to Corporation') + ->day(18, 25) + ->item('Physical Education Petition Revision Extension Period. Final-term seniors who will not complete the PE requirement by the end of quarter three must update petition during this time') + ->day(20) + ->hilite_item('MINOR COMPLETION DATE.', 'Deadline for submission of Minor Completion form for final-term seniors. $40 Late Fee') + ->day(27) + ->item('Last day to sign up for family health insurance or waive individual coverage, E23-308') + ->month('MARCH') + ->day(6) + ->hilite_item('ADD DATE.', 'Last day to add subjects to Registration') + ->item('Last day for Jrs/Srs to change an Elective to or from P/D/F Grading') + ->item('Last day for Graduate students to change a subject to or from P/D/F Grading') + ->item('Last day to change a subject from Listener to Credit') + ->item('Last day for Sophomores to change a subject to or from Exploratory') + ->item('Late fee ($100) and petition required for students completing registration after this date') + ->item('Last day to petition for second S.B for next February degree candidates') + ->item('Last day to drop half-term subjects offered in first half of term') + ->item('Deadline for completing cross-registration. $40 Late Fee for petitions approved after this date') + ->day(23, 27) + ->item('Spring Vacation') + ->month('APRIL') + ->day(1) + ->item('Fourth quarter Physical Education classes begin') + ->day(3) + ->item('Last day to submit Adv. Degree Thesis Title ($75 Late Fee)') + ->day(16, 19) + ->item('Campus Preview Weekend') + ->day(20, 21) + ->item('Patriots Day--Vacation') + ->day(23) + ->hilite_item('DROP DATE', 'Last day to cancel subjects from Registration') + ->item('Last day to change a subject from Credit to Listener') + ->item('Last day to add time-arranged subject that started after beginning of the term') + ->item('Last day to Petition for May Adv. Standing Exam (given during Final Exam Period)') + ->item('Last day to add half-term subjects offered in second half of term') + ->month('MAY') + ->day(1) + ->hilite_item('THESIS DUE', 'for doctoral degrees') + ->hilite_item('PRE-REGISTRATION', 'for Fall Term and Summer Session begins') + ->day(8) + ->title_item('SUBJECTS WITH FINAL EXAM', 'no test may be given and no assignment, term paper or oral presentation shall fall due after this date') + ->title_item('SUBJECTS WITH NO FINAL EXAM -- Undergraduate Subjects', 'no test may be given and at most one assignment may fall due between this date and the end of the last scheduled class period in the subject') + ->title_item('SUBJECTS WITH NO FINAL EXAM -- Graduate Subjects', 'either one in-class test may be given or one assignment may fall due between this date and the end of the last regularly scheduled class in the subject') + ->hilite_item('THESIS DUE', 'for degrees other than doctoral') + ->day(14) + ->hilite_item('LAST DAY OF CLASSES') + ->item('Last day to drop half-term subjects offered in the second half of term') + ->day(18, 22) + ->hilite_item('FINAL EXAM WEEK') + ->day(19, 27) + ->hilite_item('GRADE DEADLINE.', 'GRADES DUE in Registrar\'s Office, 5-119, according to DUE DATE indicated on the Grade Sheet. Grade Sheets MUST BE SIGNED, ENCLOSED IN ENVELOPES, SEALED, AND DELIVERED to Registrar\'s Office on or before due date') + ->day(22) + ->item('LAST DAY TO GO OFF THE JUNE DEGREE LIST') + ->day(25) + ->item('Memorial Day--Holiday') + ->day(28) + ->hilite_item('FALL PRE-REGISTRATION DEADLINE.', 'CONTINUING students must initiate on-line pre-registration by this date. $40 Late Fee. ($75 after August 20)') + ->hilite_item('SUMMER SESSION PRE-REGISTRATION DEADLINE.', 'Deadline for all students to pre-register on-line for Summer Session. $40 Late Fee') + ->day(29) + ->item('8:00 a.m. Term Summaries of Spring Term Grades delivered to Departments') + ->hilite_item('DEPARTMENT GRADES MEETINGS') + ->month('JUNE') + ->day(1) + ->item('10:00 a.m. Fourth-Year Grades Meeting') + ->item('1:00 p.m. Graduate Academic Performance Meeting') + ->item('Faculty Officers recommend degrees to Corporation') + ->day(2) + ->item('9:00 a.m. Second-Year and Third-Year Grades Meeting') + ->day(3) + ->item('1:00 p.m. First-Year Grades Meeting') + ->day(4) + ->item('Doctoral Hooding Ceremony') + ->day(5) + ->hilite_item('COMMENCEMENT') + ->day(16) + ->item('9:00 a.m. C.A.P. Deferred Action meeting') + ->day(17) + ->item('9:00 a.m. C.A.P. Deferred Action meeting') +?> \ No newline at end of file diff --git a/lib/db.php b/lib/db.php new file mode 100755 index 0000000..950c482 --- /dev/null +++ b/lib/db.php @@ -0,0 +1,28 @@ + diff --git a/lib/holiday_data.php b/lib/holiday_data.php new file mode 100755 index 0000000..c220399 --- /dev/null +++ b/lib/holiday_data.php @@ -0,0 +1,76 @@ + array( + "Jan 1", "New Year's Day", + "Jan 15", "MLK, Jr. Day", + "Feb 19", "Presidents' Day", + "Apr 16", "Patriots' Day", + "May 28", "Memorial Day", + "July 4", "Independence Day", + "Sep 3", "Labor Day", + "Oct 8", "Columbus Day", + "Nov 12", "Veteran's Day (Observed)", + "Nov 22", "Thanksgiving Day", + "Nov 23", "Day after Thanksgiving", + "Dec 25", "Christmas Day", + ), + + 2008 => array( + "Jan 1", "New Year's Day", + "Jan 21", "MLK, Jr. Day", + "Feb 18", "Presidents' Day", + "Apr 21", "Patriots' Day", + "May 26", "Memorial Day", + "July 4", "Independence Day", + "Sep 1", "Labor Day", + "Oct 13", "Columbus Day", + "Nov 11", "Veteran's Day", + "Nov 27", "Thanksgiving", + "Nov 28", "Day after Thanksgiving", + "Dec 25", "Christmas", + ), + + 2009 => array( + "May 25", "Memorial Day", + "Sep 7", "Labor Day", + ), +); + +$religious_days = array( + 2007 => array( + "Sep 12-14, Wed(sundown)-Fri" => "Rosh Hashanah", + "Sep 13, Thursday" => "Ramadan begins (approximate)", + "Sep 21-22, Fri(sundown)-Sat" => "Yom Kippur", + "Sep 26-28, Wed(sundown)-Fri" => "Sukkot", + "Oct 3-5, Wed(sundown)-Fri" => "Shemini Atzeret/Simchat Torah", + "Oct 13, Saturday" => "Eidul-Fitr (Ramadan ends, approximate)", + "Nov 1, Thursday" => "All Saints", + "Dec 8, Saturday" => "Immaculate Conception", + "Dec 20, Thursday" => "Eidul-Adha (approximate)", + "Dec 25, Tuesday" => "Christmas", + ), + 2008 => array( + "Jan 6, Sun" => "Epiphany", + "Feb 6, Wed" => "Ash Wednesday", + "Mar 16, Sun" => "Palm Sunday (Western)", + "Mar 20, Thu" => "Maundy Thursday (Western)", + "Mar 21/23, Fri/Sun" => "Good Friday/Easter (Western)", + "Apr 19-21, Sat(sundown)-Mon" => "Pesach (Passover) begins", + "Apr 20, Sun" => "Palm Sunday (Orthodox)", + "Apr 25-27, Fri(sundown)-Sun" => "Pesach (Passover) ends", + "Apr 25/27, Fri/Sun" => "Holy Friday/Easter (Orthodox)", + "May 1, Thu" => "Ascension", + "Jun 8-10, Sun(sundown)-Tue" => "Shavuot", + ), +); + +?> \ No newline at end of file diff --git a/lib/mit_calendar.php b/lib/mit_calendar.php new file mode 100755 index 0000000..ab252e4 --- /dev/null +++ b/lib/mit_calendar.php @@ -0,0 +1,224 @@ +php_client = new SoapClient($url); + } + + public function __call($method, $args) { + try { + return call_user_func_array(array($this->php_client, $method), $args); + } catch(SoapFault $error) { + throw new DataServerException("MIT Calendar SOAP server problem"); + } + } + +} + +class MIT_Calendar { + private static $url; + private static $php_client; + + public static function init($url) { + if(self::$url) { + throw new Exception("MIT_Calendar already initialized"); + } else { + self::$url = $url; + self::$php_client = new SoapClientWrapper($url); + } + } + + public static function Categorys() { + return self::$php_client->getCategoryList(); + } + + public static function Category($id) { + return self::$php_client->getCategory($id); + } + + public static function subCategorys($category) { + return self::$php_client->getCategoryList($category->catid); + } + + public static function TodaysExhibitsHeaders($date) { + return self::HeadersByCatID(5, $date, $date); + } + + public static function CategoryEventsHeaders($category, $start, $end=NULL) { + if(!$end) { + $end = $start; + } + return self::HeadersByCatID($category->catid, $start, $end); + } + + public static function HeadersByCatID($catID, $start, $end) { + $criteria = array( + new SearchCriterion('start', $start), + new SearchCriterion('end', $end), + new SearchCriterion('catid', $catID) + ); + return self::$php_client->findEventsHeaders(SearchCriterion::forSOAP($criteria)); + } + + public static function hourSearch($date, $hour) { + $time1 = strtotime("$date $hour:00:00"); + $time2 = $time1 + 60 * 60 - 1; + $start = date('Y/m/d H:00:00', $time1); + $end = date('Y/m/d H:00:00', $time2); + + $criteria = array( + new SearchCriterion('start', $start), + new SearchCriterion('end', $end), + ); + return self::$php_client->findEventsHeaders(SearchCriterion::forSOAP($criteria)); + } + + public static function fullTextSearch($text, $start, $end, $category=NULL) { + $criteria = array( + new SearchCriterion('start', $start), + new SearchCriterion('end', $end), + new SearchCriterion('fulltext') + ); + + foreach(explode(' ', $text) as $word) { + if($word) { + $criteria[2]->addValue($word); + } + } + + if($category) { + $criteria[] = new SearchCriterion('catid', $category->catid); + } + return self::$php_client->findEventsHeaders(SearchCriterion::forSOAP($criteria)); + } + + public static function TodaysEventsHeaders($date) { + $all_events = self::$php_client->getDayEventsHeaders($date); + $exhibitions = self::TodaysExhibitsHeaders($date); + $without_exhibitions = array(); + + //remove the exhibitions + foreach($all_events as $event) { + + $found = false; + $id = $event->id; + foreach($exhibitions as $exhibition) { + if($exhibition->id == $id) { + $found = true; + } + } + + if(!$found) { + //not an exhibition so add it to the list + $without_exhibitions[] = $event; + } + } + return $without_exhibitions; + } + + public static function getEvent($id) { + return self::$php_client->getEvent($id); + } + + public static function standard_time($hour, $minute) { + $end = ($hour < 12) ? 'am' : 'pm'; + $hour = $hour % 12; + if($hour == 0) { + $hour = 12; + } + if($minute < 10) { + $minute = '0' . (int) $minute; + } + return "$hour:$minute$end"; + } + + public static function timeText($event) { + if(self::compare($event->start, $event->end) == 1) { + //the end can not be before the begginning + $event['end'] = NULL; + } + + if($event->start->hour === '00' && + $event->start->minute === '00' && ( + ($event->end->hour === '00' && $event->end->minute === '00') || + ($event->end->hour === '23' && $event->end->minute === '59')) ) { + $out .= 'All day'; + } else { + if($event->start) { + $out .= self::standard_time($event->start->hour, $event->start->minute); + } + if($event->end) { + $out .= '-'; + $out .= self::standard_time($event->end->hour, $event->end->minute); + } + } + return $out; + } + + public static function compare($day1, $day2) { + //compare the two different times + foreach(array("year", "month", "day", "hour", "minute") as $key) { + if($day->$key > $day2->$key) { + return 1; + } + + if($day2->$key > $day1->$key) { + return -1; + } + } + return 0; + } + +} + +class SearchCriterion { + + private $field; + private $value; + + public function __construct($field) { + $this->field = $field; + $args = func_get_args(); + $this->value = array_slice($args, 1); + } + + public function addValue($value) { + $this->value[] = $value; + } + + public static function forSOAP(array $criteria) { + $soap_array = array(); + foreach($criteria as $criterian) { + $soap_array[] = array( + "field" => $criterian->field, + "value" => $criterian->value, + ); + } + return $soap_array; + } + + public static function fromArray($field, $values) { + $new_obj = new self($field); + $new_obj->value = $values; + return $new_obj; + } +} + +MIT_Calendar::init("http://events.mit.edu/MITEventsFull.wsdl"); + +?> diff --git a/lib/mit_ldap.php b/lib/mit_ldap.php new file mode 100755 index 0000000..f8ae2f5 --- /dev/null +++ b/lib/mit_ldap.php @@ -0,0 +1,345 @@ +_OR("cn", "$word*"); + + /***************************************************** + * an ugly hack which forces ldap not to ignore spaces + *****************************************************/ + for($cnt = 0; $cnt < 26; $cnt++) { + $chr = chr(ord('a') + $cnt); + $token_query->_OR("cn", "*$chr $word*"); + } + $token_query->_OR("cn", "*-$word*"); + + } else { + $query_word = "*$word*"; + } + $token_query + ->_OR('cn', $query_word) + ->_OR('mail', $query_word); + + //remove all non-digits from phone number before + //attempting phone number searches + $phone_word = '*' . preg_replace('/\D/', '', $word) . '*'; + if(strlen($phone_word) >= 5) { + $token_query + ->_OR('homephone', $phone_word) + ->_OR('telephonenumber', $phone_word) + ->_OR('facsimiletelephonenumber', $phone_word); + } + $query->_AND($token_query); + } + } + return $query; +} + +function do_query($query, $search_results=array()) { + $ds = ldap_connect(SERVER) or ldap_die("cannot connect"); + + //turn off php Warnings, during ldap search + //since it complains about search that go over the limit of 100 + $error_reporting = ini_get('error_reporting'); + error_reporting($error_reporting & ~E_WARNING); + $sr = ldap_search($ds, "ou=people,dc=wvu,dc=edu", $query->out()) + or ldap_die("could not search"); + error_reporting($error_reporting); + + $entries = ldap_get_entries($ds, $sr) + or ldap_die("could not get entries"); + + for ($i = 0; $i < $entries["count"]; $i++) { + $entry = $entries[$i]; + + //some ldap entries have no usefull information + //we dont want to return those + if(lkey($entry, "sn", True)) { + //if one person has multiple ldap records + //this code attempts to combine the data in the records + if($old = $search_results[id_key($entry)]) { + } else { + $old = array(); + } + $search_results[id_key($entry)] = array_merge($old, $entry); + } + } + + return $search_results; +} + + +/********************************************* + * + * this function compares people by firstname then lastname + * + *********************************************/ +function compare_people($person1, $person2) { + if($person1['surname'] != $person2['surname']) { + return ($person1['surname'] < $person2['surname']) ? -1 : 1; + } elseif($person1['givenname'] == $person2['givenname']) { + return 0; + } else { + return ($person1['givenname'] < $person2['givenname']) ? -1 : 1; + } +} + + +function lookup_username($id) { + if(strstr($id, '=')) { + + //look up person by "dn" (distinct ldap name) + $ds = ldap_connect(SERVER); + $sr = ldap_read($ds, $id, "(objectclass=*)"); + $entries = ldap_get_entries($ds, $sr); + return make_person($entries[0]); + } else { + $tmp = do_query(new QueryElement("uid", $id)); + foreach($tmp as $key => $first) { + return make_person($first); + } + } +} + +function lkey($array, $key, $single=False) { + if($single) { + return $array[$key][0]; + } else { + $result = $array[$key]; + if($result === NULL) { + return array(); + } + unset($result["count"]); + return $result; + } +} + +function id_key($info) { + if($username = lkey($info, "uid", True)) { + return $username; + } else { + return $info["dn"]; + } +} + +function make_person($info) { + $person = array( + "surname" => lkey($info, "sn"), + "givenname" => lkey($info, "givenname"), + "fullname" => lkey($info, "cn"), + "title" => lkey($info, "title"), + "dept" => lkey($info, "ou"), + "affiliation" => lkey($info, "edupersonaffiliation"), + "address" => lkey($info, "street"), + "homephone" => lkey($info, "homephone"), + "email" => lkey($info, "mail"), + "room" => lkey($info, "roomnumber"), + "id" => id_key($info), + "telephone" => lkey($info, "telephonenumber"), + "fax" => lkey($info, "facsimiletelephonenumber"), + "office" => lkey($info, "physicaldeliveryofficename") + ); + + foreach($person["office"] as $office) { + if(!in_array($office, $person["room"])) { + $person["room"][] = $office; + } + } + + return $person; +} + + +/** * + * a series of classes alowing for the construction * + * of ldap queries * + * */ +abstract class LdapQuery { + abstract public function out(); + + public static function escape($str) { + $specials = array("*", "+", "=" , ","); + foreach($specials as $special) { + $str = str_replace($special, "\\" . $special, $str); + } + return $str; + } +} + +class LdapQueryList extends LdapQuery { + + protected $symbol; + protected $queries=array(); + + public function out() { + $out = '(' . $this->symbol; + foreach($this->queries as $query) { + $out .= $query->out(); + } + $out .= ')'; + return $out; + } +} + +class QueryElementList extends LdapQueryList { + public function __construct($cond_arr=array()) { + foreach($cond_arr as $field => $value) { + $this->add($field, $value); + } + } + + public function add($field, $value) { + $this->queries[] = new QueryElement($field, $value); + return $this; + } +} + +class LdapAndFilter extends QueryElementList { + protected $symbol = '&'; + + public function _AND($field, $value) { + return $this->add($field, $value); + } +} + +class LdapOrFilter extends QueryElementList { + protected $symbol = '|'; + + public function _OR($field, $value) { + return $this->add($field, $value); + } +} + +class JoinQuery extends LdapQueryList { + + public function __construct() { + $this->queries = func_get_args(); + } +} + +class JoinAndQuery extends JoinQuery { + protected $symbol = '&'; + + public function _AND(LdapQuery $query) { + $this->queries[] = $query; + return $this; + } +} + +class JoinOrQuery extends JoinQuery { + protected $symbol = '|'; + + public function _OR(LdapQuery $query) { + $this->queries[] = $query; + return $this; + } +} + + +class QueryElement extends LdapQuery { + protected $field; + protected $value; + + public function __construct($field, $value) { + $this->field = $field; + + //convert all multiple wildcards to a single wildcard + $this->value = preg_replace('/\*+/', '*', $value); + } + + public function out() { + return '(' . $this->field . '=' . $this->value . ')'; + } +} + +class RawQuery extends LdapQuery { + protected $raw_query; + + public function __construct($raw_query) { + $this->raw_query = $raw_query; + } + + public function out() { + return $this->raw_query; + } +} + +function ldap_die($message) { + throw new DataServerException($message); +} + +?> diff --git a/lib/rss_services.php b/lib/rss_services.php new file mode 100755 index 0000000..39ced3f --- /dev/null +++ b/lib/rss_services.php @@ -0,0 +1,79 @@ +rss_url); + error_reporting($error_reporting); + + //if the rss feed fails to open return false + if($rss === FALSE) { + return FALSE; + } + + $rss_obj->loadXML($rss); + $rss_root = $rss_obj->documentElement; + $items = array(); + + foreach($rss_root->getElementsByTagName('item') as $item) { + $title = trim(self::getTag($item, 'title')->nodeValue); + $items[$title] = array( + "date" => date_parse(self::getTag($item, 'pubDate')->nodeValue), + "unixtime" => strtotime(self::getTag($item, 'pubDate')->nodeValue), + "text" => self::cleanText(self::getTag($item, 'description')->nodeValue) + ); + } + + return $items; + } + + private static function getTag($xml_obj, $tag) { + $list = $xml_obj->getElementsByTagName($tag); + if($list->length == 0) { + throw new Exception("no elements of type $tag found"); + } + if($list->length > 1) { + throw new Exception("elements of type $tag not unique {$list->length} found"); + } + return $list->item(0); + } + + private static function cleanText($html) { + //replace
's with line breaks + $html = preg_replace('//', "\n", $html); + + //replace

's with line breaks + $html = preg_replace('/<\/?p>/', "\n", $html); + $html = preg_replace('//', "\n", $html); + + //remove all other mark-ups + $html = preg_replace('/<.+?>/', '', $html); + + //replace all the non-breaking spaces + $html = str_replace(" ", " ", $html); + + return trim(htmlspecialchars_decode($html, ENT_QUOTES)); + } +} + +?> \ No newline at end of file diff --git a/lib/save_schedule.php b/lib/save_schedule.php new file mode 100755 index 0000000..0f0ff10 --- /dev/null +++ b/lib/save_schedule.php @@ -0,0 +1,18 @@ +getRoutes() as $route) { + $route->populate_db(); +} + +?> diff --git a/lib/save_stellar.php b/lib/save_stellar.php new file mode 100755 index 0000000..2a4f226 --- /dev/null +++ b/lib/save_stellar.php @@ -0,0 +1,14 @@ + diff --git a/lib/shuttle_schedule.php b/lib/shuttle_schedule.php new file mode 100755 index 0000000..6872e01 --- /dev/null +++ b/lib/shuttle_schedule.php @@ -0,0 +1,174 @@ +route("Cambridge East", "saferidecambeast", "SafeRide") + ->summary("Runs every evening, all year round") + ->perHour(2) + ->stops( + st("84 Mass. Ave" ,"mass84_d" , "frcamp", '00'), + st("NW10 / Edgerton" ,"nw10" , "frcamp", '03'), + st("NW30 / Warehouse" ,"nw30" , "frcamp", '04'), + st("NW86 / 70 Pacific" ,"nw86" , "frcamp", '05'), + st("NW61 / Random Hall" ,"nw61" , "frcamp", '06'), + st("Main St @ Windsor St" ,"mainwinds", "frcamp", '09'), + st("Portland St @ Hampshire St" ,"porthamp" , "frcamp", '10'), + st("638 Cambridge St" ,"camb638" , "frcamp", '13'), + st("Cambridge St @ Fifth St" ,"camb5th" , "frcamp", '14'), + st("Sixth @ Charles St" ,"6thcharl" , "tocamp", '15'), + st("East Lot on Main St" ,"elotmain" , "tocamp", '17'), + st("Bld 66 (Ames St)" ,"amesbld66", "tocamp", '18'), + st("MIT Medical / 34 Carleton" ,"mitmed" , "tocamp", '20'), + st("Kendall T" ,"kendsq" , "tocamp", '22'), + st("E40 / Wadsworth" ,"wadse40" , "tocamp", '23'), + st("77 Mass. Ave" ,"mass77" , "tocamp", '26')) + ->addHours("Thu-Sat", + hours("18-22")->append(delay(5, "23 0 1 2 3:1")) + ) + ->addHours("Sun-Wed", + hours("18-21")->append(delay(5, "22 23 0 1 2:1")) + ); + + +$schedule + ->route("Cambridge West", "saferidecambwest", "SafeRide") + ->summary("Runs every evening, all year round") + ->perHour(2) + ->stops( + st("84 Mass. Ave" ,"mass84_d" , "frcamp", '00'), + st("W4 / McCormick" ,"mccrmk" , "frcamp", '01'), + st("W51 / Burton" ,"burtho" , "frcamp", '02'), + st("W70 / New House" ,"newho" , "frcamp", '03'), + st("W85 / Tang / Westgate" ,"tangwest" , "frcamp", '04'), + st("W79 / Simmons" ,"simmhl" , "frcamp", '06'), + st("WW15 (Request)" ,"ww15" , "frcamp", '07'), + st("Brookline St @ Chestnut St" ,"brookchest", "frcamp", '09'), + st("Putnum Ave @ Magazine St" ,"putmag" , "frcamp", '10'), + st("River St @ Fairmont St" ,"rivfair" , "frcamp", '12'), + st("River St @ Upton St" ,"rivpleas" , "frcamp", '13'), + st("River St @ Franklin St" ,"rivfrank" , "tocamp", '14'), + st("Sydney @ Green St" ,"sydgreen" , "tocamp", '16'), + st("NW86 / 70 Pacific St" ,"paci70" , "tocamp", '18'), + st("NW30 / Warehouse" ,"whou" , "tocamp", '19'), + st("NW10 / Edgerton" ,"edge" , "tocamp", '20')) + ->addHours("Thu-Sat", + hours("18-22")->append(delay(5, "23 0 1 2 3:1")) + ) + ->addHours("Sun-Wed", + hours("18-21")->append(delay(5, "22 23 0 1 2:1")) + ); + +$schedule + ->route("Boston West", "saferidebostonw", "SafeRide") + ->summary("Runs every evening, all year round") + ->perHour(2) + ->stops( + st("84 Mass Ave" ,"mass84_d" , "boston", '15'), + st("Mass Ave @ Beacon St" ,"massbeac" , "boston", '18'), + st("528 Beacon St" ,"beac528" , "boston", '19'), + st("487 Comm Ave" ,"comm487" , "boston", '21'), + st("64 Baystate" ,"bays64" , "boston", '23'), + st("111 Baystate" ,"bays111" , "boston", '24'), + st("155 Baystate" ,"bays155" , "boston", '25'), + st("259 St Paul St (ET)" ,"stpaul259", "boston", '32'), + st("58 Manchester (ZBT)" ,"manc58" , "mass84", '34'), + st("550 Memorial Drive" ,"memo550" , "mass84", '40'), + st("Simmons Hall" ,"simmhl" , "mass84", '41')) + ->addHours("Thu-Sat", + hours("18-22")->append(delay(5, "23 0 1 2 3:1")) + ) + ->addHours("Sun-Wed", + hours("18-21")->append(delay(5, "22 23 0 1 2:1")) + ); + + +$schedule + ->route("Boston East", "saferidebostone", "SafeRide") + ->summary("Runs every evening, all year round") + ->perHour(2) + ->stops( + st("84 Mass. Ave" ,"mass84_d" ,"boston", '00'), + st("Mass. Ave / Beacon St" ,"massbeac" ,"boston", '02'), + st("478 Comm. Ave" ,"comm478" ,"boston", '04'), + st("Vanderbilt (Request)" , NULL , NULL , '06'), + st("28 Fenway" ,"fenw28" ,"boston", '10'), + st("Prudential Center" ,"prud" ,"boston", '12'), + st("229 Comm Ave" ,"comm229" ,"boston", '15'), + st("253 Comm Ave" ,"comm253" ,"mass84", '16'), + st("32 Hereford St" ,"here32" ,"mass84", '17'), + st("450 Beacon St" ,"beac450" ,"mass84", '18'), + st("Beacon St @ Mass. Ave" ,"beacmass" ,"mass84", '19')) + ->addHours("Thu-Sat", + hours("18-22")->append(delay(5, "23 0 1 2 3:1")) + ) + ->addHours("Sun-Wed", + hours("18-21")->append(delay(5, "22 23 0 1 2:1")) + ); + +$schedule + ->route("Tech Shuttle", "tech") + ->summary("Runs weekdays 7AM-6PM, all year round") + ->except_holidays() + ->perHour(3) + ->stops( + st("Kendall Square T" ,"kendsq_d", "wcamp" , '15'), + st("Amherst/Wadsworth" ,"amhewads", "wcamp" , '17'), + st("Media Lab" ,"medilb" , "wcamp" , '18'), + st("Building 39" ,"build39" , "wcamp" , '20'), + st("84 Mass Avenue" ,"mass84" , "wcamp" , '22'), + st("Burton House" ,"burtho" , "wcamp" , '24'), + st("Audrey Street" ,"tangwest", "wcamp" , '26'), + st("Simmons Hall" ,"simmhl" , "kendsq", '27'), + st("Vassar/Mass Ave" ,"vassmass", "kendsq", '29'), + st("Stata" ,"statct" , "kendsq", '30')) + ->addHours("Mon-Fri", + hours("7-18"), + delay(30, "7-9"), + delay(-10, "16-17") + ); + +$schedule + ->route("Northwest Shuttle", "northwest") + ->summary("Runs weekdays 7AM-6PM, all year round") + ->except_holidays() + ->perHour(3) + ->stops( + st("Kendall Square T" ,"kendsq_d" , "nwcamp", '25'), + st("Amherst/Wadsworth" ,"amhewads", "nwcamp", '27'), + st("77 Mass Avenue" ,"mass77" , "nwcamp", '30'), + st("MIT Museum (N52)" ,"mitmus" , "nwcamp", '32'), + st("70 Pacific Street (NW86)" ,"paci70" , "kendsq", '34'), + st("The Warehouse (NW30)" ,"whou" , "kendsq", '35'), + st("Edgarton (NW10)" ,"edge" , "kendsq", '36'), + st("Vassar/Mass Ave" ,"vassmass", "kendsq", '39'), + st("Stata" ,"statct" , "kendsq", '41')) + ->addHours("Mon-Fri", + hours("7-17 18:1"), + delay(10, "7-9") + ); + +$schedule + ->route("Boston Daytime", "boston") + ->summary("Runs weekdays 8AM-6PM, Sep-May") + ->except_holidays() + ->perHour(3) + ->stops( + st("84 Mass. Ave." ,"mass84_d", "boston" , '07'), + st("Mass. Ave. / Beacon" ,"massbeac", "cambridge", '09'), + st("487 Comm. Ave. (PSK)" ,"comm487" , "cambridge", '10'), + st("64 Bay State (TXI)" ,"bays64" , "cambridge", '11'), + st("478 Comm. Ave." ,"comm478" , "cambridge", '14'), + st("450 Beacon St." ,"beac450" , "cambridge", '19'), + st("77 Mass. Ave." ,"mass77" , "cambridge", '23')) + ->addHours("Mon-Fri", hours("8-17")); +?> diff --git a/lib/stellar.SQL b/lib/stellar.SQL new file mode 100755 index 0000000..1a14fe7 --- /dev/null +++ b/lib/stellar.SQL @@ -0,0 +1,17 @@ +CREATE TABLE Class +( + course_id CHAR(3), + class_id CHAR(5), + title VARCHAR(500), + name VARCHAR(500) +) +; + +CREATE TABLE ClassID +( + main_course_id CHAR(3), + main_class_id CHAR(5), + this_course_id CHAR(3), + this_class_id CHAR(5) +) +; diff --git a/lib/stellar.php b/lib/stellar.php new file mode 100755 index 0000000..29b90d1 --- /dev/null +++ b/lib/stellar.php @@ -0,0 +1,382 @@ + 'Civil and Environmental Engineering', + '2' => 'Mechanical Engineering', + '3' => 'Materials Science and Engineering', + '4' => 'Architecture', + '5' => 'Chemistry', + '6' => 'Electrical Engineering and Computer Science', + '7' => 'Biology', + '8' => 'Physics', + '9' => 'Brain and Cognitive Sciences', + '10' => 'Chemical Engineering', + '11' => 'Urban Studies and Planning', + '12' => 'Earth, Atmospheric, and Planetary Sciences', + '13' => 'Ocean Engineering', + '14' => 'Economics', + '15' => 'Management', + '16' => 'Aeronautics and Astronautics', + '17' => 'Political Science', + '18' => 'Mathematics', + '20' => 'Biological Engineering', + '21' => 'Humanities', + '21A' => 'Anthropology', + '21F' => 'Foreign Languages and Literatures', + '21H' => 'History', + '21L' => 'Literature', + '21M' => 'Music and Theater Arts', + '21W' => 'Writing and Humanistic Studies', + '22' => 'Nuclear Science and Engineering', + '24' => 'Linguistics and Philosophy', + 'CMS' => 'Comparative Media Studies', + 'CSB' => 'Computational and Systems Biology', + 'ESD' => 'Engineering Systems Division', + 'HST' => 'Health Sciences and Technology', + 'MAS' => 'Media Arts and Sciences', + 'SP' => 'Special Programs', + 'STS' => 'Science, Technology, and Society', + ); + + private static $not_courses = array("SP"); + + private static $base_url = "http://stellar.mit.edu/courseguide/course/"; + + private static $rss_url = "http://stellar.mit.edu/SRSS/rss/course/"; + + public static function get_courses() { + $out = array(); + foreach(self::$courses as $id => $name) { + $out[$id] = array( + "name" => $name, + "is_course" => !in_array($id, self::$not_courses) + ); + } + return $out; + } + + public static function get_course($id) { + return array( + "name" => self::$courses[$id], + "is_course" => !in_array($id, self::$not_courses) + ); + } + + public static function get_others() { + $all_courses = self::get_courses(); + $out = array(); + foreach($all_courses as $id => $course) { + if(!preg_match("/^\d/", $id)) { + $out[$id] = $course; + } + } + return $out; + } + + private static function getTag($xml_obj, $tag) { + $list = $xml_obj->getElementsByTagName($tag); + if($list->length == 0) { + throw new Exception("no elements of type $tag found"); + } + if($list->length > 1) { + throw new Exception("elements of type $tag not unique, {$list->length} found"); + } + return $list->item(0); + } + + private static function getTagVal($xml_obj, $tag) { + return self::getTag($xml_obj, $tag)->nodeValue; + } + + private static function getTagVals($xml_obj, $tag) { + $nodes = $xml_obj->getElementsByTagName($tag); + $vals = array(); + foreach($nodes as $node) { + $vals[] = $node->nodeValue; + } + return $vals; + } + + public static function get_term_data() { + $month = (int) date('m'); + return array( + "year" => date('y'), + "season" => ($month <= 7) ? 'sp' : 'fa' + ); + } + + public static function get_term() { + $data = self::get_term_data(); + return $data["season"] . $data["year"]; + } + + public static function get_term_text() { + $data = self::get_term_data(); + $seasons = array("sp" => "Spring", "fa" => "Fall"); + return $seasons[ $data["season"] ] . " 20" . $data["year"]; + } + + public static function get_classes($course) { + if(!in_array($course, array_keys(self::$courses))) { + throw new Exception("$course not a valid course ID-number"); + } + + $term = self::get_term(); + $xml_obj = new DOMDocument(); + + error_reporting($error_reporting & ~E_WARNING); + $xml = file_get_contents(self::$base_url . "$course/$term/index.xml"); + error_reporting($error_reporting); + + if($xml == "") { + // if failed to grab xml feed, then run the generic error handler + throw new DataServerException(self::$base_url . "$course/$term/index.xml is experiencing problems"); + } + + $xml_obj->loadXML($xml); + + $root = $xml_obj->documentElement; + $body = self::getTag($xml_obj, 'courseTerm'); + $list = $body->getElementsByTagName('term'); + $subjects = $list->item(0); + $classes_xml = self::getTag($body, 'subjects'); + $classes = $classes_xml->getElementsByTagName('subject'); + + $stellar_classes = array(); + + foreach($classes as $class_xml) { + // the code currently assumes a class has one stellarSite + // not sure how to handle the more general case + $stellarSites = $class_xml->getElementsByTagName('stellarSites'); + if($stellarSites->length == 0) { + // no stellar site for class so just continue onto the next class + continue; + } + + $stellarSite = $stellarSites->item(0)->getElementsByTagName('stellarSite')->item(0); + $stellarURL = self::getTag($stellarSite, 'stellarUrl')->nodeValue; + preg_match('/\/(\w*\.\w*)$/', $stellarURL, $match); + + + // extract times and locations + $times_xml = self::getTag($stellarSite, 'times'); + $items = $times_xml->getElementsByTagName('item'); + $times = array(); + foreach($items as $item) { + $times[] = array( + "title" => self::getTagVal($item, 'title'), + "time" => self::getTagVal($item, 'time'), + "location" => self::getTagVal($item, 'location'), + ); + } + + // extract the class staff + $staff_xml = self::getTag($stellarSite, 'staff'); + $staff = array( + 'instructors' => self::getStaff($staff_xml, 'instructors'), + 'tas' => self::getStaff($staff_xml, 'tas'), + ); + + $stellar_classes[] = array( + "masterId" => self::getTagVal($class_xml, 'masterSubjectId'), + "rssId" => $match[0], + "id" => self::getTagVal($class_xml, 'subjectId'), + "name" => self::getTagVal($class_xml, 'name'), + "title" => $class_xml->getElementsByTagName('title')->item(0)->nodeValue, + "description" => self::getTagVal($class_xml, 'description'), + "times" => $times, + "staff" => $staff, + ); + } + return $stellar_classes; + } + + private static function getStaff($staff_xml, $type) { + $child = $staff_xml->getElementsByTagName($type); + if($child->length == 1) { + return self::getTagVals($child->item(0), 'fullName'); + } else { + return array(); + } + } + + public static function get_class_id($id) { + $db = db::$connection; + + $parts = explode('.', trim($id)); + $course_id = $parts[0]; + $class_id = $parts[1]; + + $sql = "SELECT main_course_id, main_class_id FROM ClassID WHERE (this_course_id=? AND this_class_id=?)"; + + $stmt = $db->prepare($sql); + $stmt->bind_param('ss', $course_id, $class_id); + $stmt->bind_result($result_course_id, $result_class_id); + $stmt->execute(); + if($stmt->fetch()) { + $result = "{$result_course_id}.{$result_class_id}"; + } + $stmt->free_result(); + if(!$result) { + $result = $id; + } + return $result; + } + + public static function get_class_info($id) { + $parts = explode('.', $id); + $course_id = $parts[0]; + + $classes = self::get_classes($course_id); + + foreach($classes as $aClass) { + if($aClass['masterId'] == $id) { + $class = $aClass; + break; + } + } + + //get the annoucements + $rss_id = $class['rssId']; + $rss_obj = new DOMDocument(); + $term = self::get_term(); + $rss = file_get_contents(self::$rss_url . "$course_id/$term/$rss_id/"); + $rss_obj->loadXML($rss); + $rss_root = $rss_obj->documentElement; + + $class["announcements"] = array(); + foreach($rss_root->getElementsByTagName('item') as $item) { + $title = self::getTag($item, 'title')->nodeValue; + $colon_pos = strpos($title, ":"); + $class["announcements"][] = array( + "date" => date_parse(self::getTag($item, 'pubDate')->nodeValue), + "unixtime" => strtotime(self::getTag($item, 'pubDate')->nodeValue), + "title" => substr($title, $colon_pos + 1), + "text" => self::getTag($item, 'description')->nodeValue + ); + } + return $class; + } + + public static function search_classes($terms) { + $db = db::$connection; + + //since courses numbers are uppercase + //convert to uppercase + $terms = strtoupper($terms); + + $words = split(' ', $terms); + $ids = array(); + $new_words = array(); + + foreach($words as $word) { + preg_match('/^(\w*)(.*)/', $word, $match); + if(in_array($match[1], array_keys(self::$courses))) { + if(preg_match('/^\..*/', $match[2])) { + $ids[] = array($match[1], substr($match[2], 1)); + } else { + $ids[] = array($match[0]); + } + } elseif($word) { + $new_words[] = $word; + } + } + $new_words = implode(' ', $new_words); + + $sql = "SELECT DISTINCT Class.* FROM Class, ClassID WHERE (ClassID.main_course_id=Class.course_id AND ClassID.main_class_id=Class.class_id)"; + + // do an OR search with ClassID's + $or_sqls = array(); + foreach($ids as $id) { + if(count($id) == 1) { + $or_sqls[] = "(ClassID.this_course_id = '{$id[0]}' OR Class.name like '% {$id[0]}.%' OR Class.name like '{$id[0]}.%')"; + } else { + $or_sqls[] = "((ClassID.this_course_id = '{$id[0]}' AND ClassID.this_class_id like '{$id[1]}%') OR Class.name like '% {$id[0]}.{$id[1]} %' OR Class.name like '{$id[0]}.{$id[1]}%')"; + } + } + + if(count($or_sqls) > 0) { + $sql .= "AND (" . implode(" OR ", $or_sqls) . ")"; + } + + if($new_words) { + $sql .= "AND (Class.title like '%" . $db->escape_string($new_words) . "%')"; + } + + $stmt1 = $db->prepare($sql); + $stmt1->bind_result($course_id, $class_id, $title, $name); + $stmt1->execute(); + $classes = array(); + while($stmt1->fetch()) { + $classes[] = array( + "masterId" => $course_id . "." . $class_id, + "title" => $title, + "name" => $name, + ); + } + $stmt1->free_result(); + + $stmt2 = $db->prepare( + "SELECT this_course_id, this_class_id FROM ClassID WHERE main_course_id=? AND main_class_id=?" + ); + + foreach($classes as $index => $class) { + //find all the alternate IDs for $class + $stmt2->bind_param('ss', $class['ids'][0], $class['ids'][1]); + $stmt2->bind_result($course_id, $class_id); + $stmt2->execute(); + + //store the alternate ids + $classes[$index]['ids'] = array(); + while($stmt2->fetch()) { + //add each alternate id + $classes[$index]['ids'][] = $course_id . "." . $class_id; + } + $stmt2->free_result(); + } + return $classes; + } + + + public static function populate_db() { + $db = db::$connection; + $stmt1 = $db->prepare( "INSERT INTO Class (course_id, class_id, title, name) values (?, ?, ?, ?)" ); + + $stmt2 = $db->prepare( "SELECT COUNT(*) FROM Class WHERE course_id=? AND class_id=?" ); + + $stmt3 = $db->prepare( "INSERT INTO ClassID (main_course_id, main_class_id, this_course_id, this_class_id) values (?, ?, ?, ?)" ); + + foreach(self::$courses as $course_id => $course_title) { + foreach(self::get_classes($course_id) as $class) { + $id_parts = explode('.', $class['masterId']); + + $stmt2->bind_param('ss', $id_parts[0], $id_parts[1]); + $stmt2->bind_result($count); + $stmt2->execute(); + $stmt2->fetch(); + $stmt2->free_result(); + + // only add the the table if no pre-existing entry exists + if($count == 0) { + $stmt1->bind_param('ssss', $id_parts[0], $id_parts[1], $class['title'], $class['name']); + $stmt1->execute(); + } + + $this_id_parts = explode('.', $class['id']); + $stmt3->bind_param('ssss', $id_parts[0], $id_parts[1], $this_id_parts[0], $this_id_parts[1]); + $stmt3->execute(); + } + } + } +} +?> diff --git a/mockup/3down/fp/detail.html b/mockup/3down/fp/detail.html new file mode 100755 index 0000000..82ed4de --- /dev/null +++ b/mockup/3down/fp/detail.html @@ -0,0 +1,44 @@ + + + + + + MIT 3DOWN: Detail + + + + + +

+ +
+ +
+ +

General Services: OK

+ +

The IS&T Help Desk phones are back in full operation. We apologize to anyone who tried to reach us between 11:12 AM and 2:39 PM today. The cause of the outage was reportedly one of those mythical backhoes taking out a T1 line. Personally, I'm thinking blind mole rats.

+

Tuesday, February 14, 2008 13:42:12

+ +
+ +

+ 3DOWN Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: 3DOWN Home
+

+ +
+ + + + + diff --git a/mockup/3down/fp/help.html b/mockup/3down/fp/help.html new file mode 100755 index 0000000..d803304 --- /dev/null +++ b/mockup/3down/fp/help.html @@ -0,0 +1,44 @@ + + + + + + MIT 3DOWN: Help + + + + + + + +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: 3DOWN Home
+

+ +
+ + + + + diff --git a/mockup/3down/fp/index.html b/mockup/3down/fp/index.html new file mode 100755 index 0000000..ce1bc22 --- /dev/null +++ b/mockup/3down/fp/index.html @@ -0,0 +1,73 @@ + + + + + + MIT 3DOWN + + + + + + + +
+ +

This page shows the status of services available to the MIT community.

+ +

+ OKGeneral services: OK
+ The IS&T Help Desk phones are back in full operation. We apologize to anyone... more... (2/14 13:42:12) +

+ +

+ OKNetwork: OK
+ The network is operating normally. (1/30 18:56:14) +

+ +

+ WarningE-mail: Warning
+ ***IMPORTANT*** Do *NOT* Reply to a message telling you that you need to... more... (2/14 07:19:34) +

+ +

+ OKTelephone service: OK
+ The network is operating normally. (1/30 18:56:14) +

+ +

+ AlertAcademic services: Alert
+ The AFS fileserver aegisthus crashed and automatically restarted at 3:42am... more... (2/15 07:33:57) +

+ +

+ OKLibrary services: OK
+ The network is operating normally. (1/8 11:58:59) +

+ +

+ CriticalAdministrative services: Critical
+ All Admissions applications (admissions.mit.edu and startgate.mit.edu)... more... (2/15 11:17:21) +

+ +

+ Report phone/cable outage
(617-253-4357)
+ Report other problems
(617-253-1101)
+ Campus emergency information
+ 3DOWN Help +

+ +

+ 0: MIT Mobile Web Home
+

+ +
+ + + + + diff --git a/mockup/3down/ip/detail.html b/mockup/3down/ip/detail.html new file mode 100755 index 0000000..4c566f7 --- /dev/null +++ b/mockup/3down/ip/detail.html @@ -0,0 +1,40 @@ + + + + + + + MIT 3DOWN: Help + + + + + + + + +
+ +
+ +

General Services

+

The IS&T Help Desk phones are back in full operation. We apologize to anyone who tried to reach us between 11:12 AM and 2:39 PM today. The cause of the outage was reportedly one of those mythical backhoes taking out a T1 line. Personally, I'm thinking blind mole rats.

+

Tuesday, February 14, 2008 13:42:12

+ +
+ +
+ + + + + diff --git a/mockup/3down/ip/help.html b/mockup/3down/ip/help.html new file mode 100755 index 0000000..375ba51 --- /dev/null +++ b/mockup/3down/ip/help.html @@ -0,0 +1,47 @@ + + + + + + + MIT 3DOWN: Help + + + + + + + + +
+ +
+ +

3DOWN provides timely status information, including scheduled and unscheduled outages, about major communications and computing services available to the MIT community.

+

The phone service is a brief voice mail message at 3-DOWN (x3-3696) about the status of core services. More detailed information is available on the Web at 3DOWN Services Status Page.

+

The 3DOWN Web page is designed to be the primary way to inform community members of upcoming planned outages, such as preventative maintenance service to the SAP R/3 production environment, telephone upgrades, and e-mail post office box adjustments.

+

3DOWN is also the place to look for details about unplanned outages. To learn whether your problem is local or general, check 3DOWN Services Status Page before you call for help. Server problems are announced here, as well as, network problems, such as outages that affect entire MIT buildings and critical links.

+

Each 3DOWN section is maintained by the primary service providers. To view "who" may update the various sections, you may display the appropriate list at Athena List Management.

+

General Services: 3down-acl-general
+ Network: 3down-acl-network
+ E-mail: 3down-acl-email
+ Telephone Services: 3down-acl-telephone
+ Academic Services: 3down-acl-academic
+ Library Services: 3down-acl-library
+ Administrative Services: 3down-acl-adminservers

+

To requests updates to any of the above lists, please send e-mail to: 3down-admin@mit.edu.

+

3DOWN is an evolving service. We anticipate that this service will continue to grow over time and we invite your feedback and suggestions. Send e-mail to: 3down-admin@mit.edu.

+
+ +
+ + + + + diff --git a/mockup/3down/ip/index.html b/mockup/3down/ip/index.html new file mode 100755 index 0000000..aa46f64 --- /dev/null +++ b/mockup/3down/ip/index.html @@ -0,0 +1,68 @@ + + + + + + + MIT 3DOWN + + + + + + + + +
+ +
+ 3DOWN shows the status of services available to the MIT community. +
+ + + + + +
+ + + + + diff --git a/mockup/3down/sp/detail.html b/mockup/3down/sp/detail.html new file mode 100755 index 0000000..8c2df9a --- /dev/null +++ b/mockup/3down/sp/detail.html @@ -0,0 +1,43 @@ + + + + + + MIT 3DOWN: Detail + + + + + + + +
+ +
+ +

General Services: OK

+ +

The IS&T Help Desk phones are back in full operation. We apologize to anyone who tried to reach us between 11:12 AM and 2:39 PM today. The cause of the outage was reportedly one of those mythical backhoes taking out a T1 line. Personally, I'm thinking blind mole rats.

+

Tuesday, February 14, 2008 13:42:12

+ +
+ +

+ 3DOWN Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: 3DOWN Home
+

+ +
+ + + + + diff --git a/mockup/3down/sp/help.html b/mockup/3down/sp/help.html new file mode 100755 index 0000000..39b0986 --- /dev/null +++ b/mockup/3down/sp/help.html @@ -0,0 +1,45 @@ + + + + + + MIT 3DOWN: Help + + + + + + + +

+ +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: 3DOWN Home
+

+ +
+ + + + + diff --git a/mockup/3down/sp/index.html b/mockup/3down/sp/index.html new file mode 100755 index 0000000..8cf06e6 --- /dev/null +++ b/mockup/3down/sp/index.html @@ -0,0 +1,74 @@ + + + + + + MIT 3DOWN + + + + + + + +
+ +

This page shows the status of services available to the MIT community.

+ +

+ OKGeneral services: OK
+ The IS&T Help Desk phones are back in full operation. We apologize to anyone... more... (2/14 13:42:12) +

+ +

+ OKNetwork: OK
+ The network is operating normally. (1/30 18:56:14) +

+ +

+ WarningE-mail: Warning
+ ***IMPORTANT*** Do *NOT* Reply to a message telling you that you need to... more... (2/14 07:19:34) +

+ +

+ OKTelephone service: OK
+ The network is operating normally. (1/30 18:56:14) +

+ +

+ AlertAcademic services: Alert
+ The AFS fileserver aegisthus crashed and automatically restarted at 3:42am... more... (2/15 07:33:57) +

+ +

+ OKLibrary services: OK
+ The network is operating normally. (1/8 11:58:59) +

+ +

+ CriticalAdministrative services: Critical
+ All Admissions applications (admissions.mit.edu and startgate.mit.edu)... more... (2/15 11:17:21) +

+ +

+ Report phone/cable outage (617-253-4357)
+ Report other problems (617-253-1101)
+ Campus emergency information
+ 3DOWN Help +

+ + +

+ 0: MIT Mobile Web Home
+

+ +
+ + + + + diff --git a/mockup/calendar/fp/academic.html b/mockup/calendar/fp/academic.html new file mode 100755 index 0000000..d2082b2 --- /dev/null +++ b/mockup/calendar/fp/academic.html @@ -0,0 +1,48 @@ + + + + + + MIT Calendar: Academic Calendar + + + + + + + +
+ +

Academic Calendar 2007-2008

+ +

< 2006-2007 | 2008-2009 >

+ +
+ +

Text goes here.

+

 

+

 

+

 

+ +
+ +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/fp/browse.html b/mockup/calendar/fp/browse.html new file mode 100755 index 0000000..360d545 --- /dev/null +++ b/mockup/calendar/fp/browse.html @@ -0,0 +1,48 @@ + + + + + + MIT Calendar: Browse by Category + + + + + + + +
+ +

Browse by Category

+ + + +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/fp/detail-search.html b/mockup/calendar/fp/detail-search.html new file mode 100755 index 0000000..88792d8 --- /dev/null +++ b/mockup/calendar/fp/detail-search.html @@ -0,0 +1,60 @@ + + + + + + MIT Calendar: Event Details + + + + + + + +
+ +
+

Advanced Music Performance Student Recital: Joyce Kwan '10, violin

+

+ Friday, February 15, 2008
+ 5:00pm-6:00pm +

+

+ Location: 14W-11, Killian Hall +

+

+ MIT Advanced Music Performance students appear in recital as part of their course requirements. Students enrolled in this subject receive full funding from Emerson Music Fellowships for private study on their instrument. +

+

+ For info call: 617-555-1234 +

+

+ Website: http://artscal.mit.edu +

+

Categorized as: music, theater

+
+ +

+ < Back to search results +

+ +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/fp/detail.html b/mockup/calendar/fp/detail.html new file mode 100755 index 0000000..5fc0bbc --- /dev/null +++ b/mockup/calendar/fp/detail.html @@ -0,0 +1,60 @@ + + + + + + MIT Calendar: Event Details + + + + + + + +
+ +
+

Advanced Music Performance Student Recital: Joyce Kwan '10, violin

+

+ Friday, February 15, 2008
+ 5:00pm-6:00pm +

+

+ Location: 14W-11, Killian Hall +

+

+ MIT Advanced Music Performance students appear in recital as part of their course requirements. Students enrolled in this subject receive full funding from Emerson Music Fellowships for private study on their instrument. +

+

+ For info call: 617-555-1234 +

+

+ Website: http://artscal.mit.edu +

+

Categorized as: music, theater

+
+ +

+ < Back +

+ +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/fp/events.html b/mockup/calendar/fp/events.html new file mode 100755 index 0000000..071a140 --- /dev/null +++ b/mockup/calendar/fp/events.html @@ -0,0 +1,77 @@ + + + + + + MIT Calendar: Events for Today + + + + + + + +
+ +

Events for Fri Feb 15

+ + + +
+

New England & New York Chi Alpha Retreat
Fri Feb 15 All day | UMASS Amherst

+

Humanities Library Bookmobile
Fri Feb 15 11:00a-2:00pm | 10

+

Campus Tour (PLEASE NOTE: NEW 11:00 AM TOUR START TIME)
Fri Feb 15 11:00am | Lobby 7 (Main Entrance)

+

ACDL Seminar
Fri Feb 15 12:00pm-1:00pm | 33-206

+

Special Energy Seminar: Global Energy Challenges of the 21st Century, and World and Regional Nuclear Power
Fri Feb 15 2:00pm-3:00pm | E15-atrium

+

International Ladies Chat
Fri Feb 15 2:00pm-4:00pm | W11

+

Physicochemical phenomena in micro- and nanofluidic systems and their applications
Fri Feb 15 2:15pm-3:15pm | 3-370

+

Taste of Shabbat
Fri Feb 15 3:00pm-4:30pm | W10

+

"African American Vaudeville and Race Politics in the Swing Era."
Fri Feb 15 3:00pm-5:00pm | 32-155

+

Campus Tour (PLEASE NOTE: NEW 3:00 PM TOUR START TIME)
Fri Feb 15 3:00pm | Lobby 7 (Main Entrance)

+

ANS Seminar
Fri Feb 15 3:30pm-5:00pm | 24-115

+

BCS Colloquium
Fri Feb 15 4:00pm-5:30pm | 46-3002

+

Juggle for a Cookie
Fri Feb 15 4:00pm-6:00pm | Lobby 10

+

Combinatorics Seminar
Fri Feb 15 4:15pm-5:15pm | 2-105

+

Design considerations of heaving axissimetric wave energy converters
Fri Feb 15 4:30pm-5:30pm | 1-390

+

Advanced Music Performance Student Recital: Joyce Kwan '10, violin
Fri Feb 15 5:00pm-6:00pm | 14W-111

+

English-Only Science in a Multilingual World? Costs, Benefits, and Options.
Fri Feb 15 5:00pm-6:30pm | 4-231

+

MIT/WHOI Joint Program Retreat
Fri Feb 15 5:00pm-11:00pm | Tamworth, New Hampsh...

+

Friday Fiesta @ Thirsty Ear Pub
Fri Feb 15 5:00pm | Thirsty Ear Pub

+

Across the Universe
Fri Feb 15 7:00pm | 26-100

+

Grad Student Bible Study
Fri Feb 15 7:00pm-9:00pm | for details, see our...

+

ABSK Friday Night Bible Study
Fri Feb 15 7:00pm-9:00pm | W20-PDR 1&2

+

Loungin'
Fri Feb 15 7:00pm-9:00pm | 50-105

+

Human Rights and Civil War In Somalia: Stories from A Forgotten Country (Food Provided)
Fri Feb 15 7:00pm-9:00pm | 4-237

+

Anime Showing
Fri Feb 15 7:00pm-11:55pm | 6-120

+

Build Party!
Fri Feb 15 7:00pm | N52-115

+

Suburbia
Fri Feb 15 8:00pm-10:00pm | W16

+

The Vagina Monologues
Fri Feb 15 8:00pm-10:00pm | 32-123

+

Across the Universe
Fri Feb 15 10:00pm | 26-100

+
+ +

+ < Thu 2/14 | Sat 2/16 > +

+ +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/fp/help.html b/mockup/calendar/fp/help.html new file mode 100755 index 0000000..7e5dd61 --- /dev/null +++ b/mockup/calendar/fp/help.html @@ -0,0 +1,44 @@ + + + + + + MIT Calendar: Help + + + + + + + +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/fp/holidays.html b/mockup/calendar/fp/holidays.html new file mode 100755 index 0000000..b3fdac7 --- /dev/null +++ b/mockup/calendar/fp/holidays.html @@ -0,0 +1,56 @@ + + + + + + MIT Calendar: Holidays + + + + + + + +
+ +

Holidays 2008

+ +

< 2007 | 2009 >

+ +

+ Feb 18: Presidents' Day
+ Apr 21: Patriots' Day
+ May 26: Memorial Day
+ July 4: Independence Day
+ Sep 1: Labor Day
+ Oct 13: Columbus Day
+ Nov 11: Veteran's Day
+ Nov 27: Thanksgiving
+ Nov 28: Day after Thanksgiving
+ Dec 25: Christmas +

+ +
+

For information regarding religious holidays, see the Registrar's Religious Observances page.

+
+ +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/fp/index.html b/mockup/calendar/fp/index.html new file mode 100755 index 0000000..01d43cf --- /dev/null +++ b/mockup/calendar/fp/index.html @@ -0,0 +1,64 @@ + + + + + + MIT Calendar + + + + + + + +
+
+ +

Friday, Feb 15, 2008

+ + + +

+ Search for events:
+ + + +
+ +

+ +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+

+ +
+ +
+ + + + + diff --git a/mockup/calendar/fp/listing.html b/mockup/calendar/fp/listing.html new file mode 100755 index 0000000..1130cca --- /dev/null +++ b/mockup/calendar/fp/listing.html @@ -0,0 +1,80 @@ + + + + + + MIT Calendar: Search Results + + + + + + + +
+
+ +

+ + + +
+ +

+ +

2 matching events found.

+ +
+

Israeli Dancing
Fri Feb 15 8:00pm-11:00pm | Student Center 4th Floor (room 407 or 491)

+

Sabrosura Annual Gala
Fri Feb 15 7:00am-11:00am | W-20

+
+ +
+ +

+ + + +
+ +

+ + +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ +
+ + + + + diff --git a/mockup/calendar/fp/results.html b/mockup/calendar/fp/results.html new file mode 100755 index 0000000..4889296 --- /dev/null +++ b/mockup/calendar/fp/results.html @@ -0,0 +1,90 @@ + + + + + + MIT Calendar: Search Results + + + + + + + +
+
+ +

+ + + +
+ +

+ +

12 matching events found.

+ +
+

Advanced Music Performance Student Recital: Joyce Kwan '10, violin
Fri, Feb 15 5:00pm-6:00pm | 14W-111

+

Suburbia
Fri, Feb 15 9:00pm-10:100pm | W16

+

The Vagina Monologues
Fri, Feb 15 8:00pm-10:00pm | 32-123

+

Re:Design - Theater Production
Sat, Feb 16 2:00pm-5:00pm | N52

+

Suburbia
Sat, Feb 16 9:00pm-10:100pm | W16

+

The Vagina Monologues
Sat, Feb 16 8:00pm-10:00pm | 32-123

+

Auditions: In the Heart of America
Tue, Feb 19 6:30pm-9:00pm | W16

+

Auditions: In the Heart of America
Wed, Feb 20 6:30pm-9:00pm | W16

+

MIT Chapel Concert: La Donna Musicale
Thu, Feb 21 12:05pm-1:00pm | W15

+

LVAC Film Night
Fri, Feb 22 7:30pm-9:30pm | E15

+

Pro Arts Piano Trio (Taiwan)
Fri, Feb 22 8:00pm-10:00pm | 14W-111

+

Off-Campus: Ruehr Quartet Concert
Fri, Feb 22, 2008 8:00pm-10:00pm | Harvard's Paine Hall

+
+ +
+ +

+ + + +
+ +

+ + +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ +
+ + + + + diff --git a/mockup/calendar/fp/subcategory.html b/mockup/calendar/fp/subcategory.html new file mode 100755 index 0000000..887010e --- /dev/null +++ b/mockup/calendar/fp/subcategory.html @@ -0,0 +1,53 @@ + + + + + + MIT Calendar: Browse by Category + + + + + + + +
+ +

Arts/Music/Film

+ + + +

+ < Back +

+ +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/ip/academic.html b/mockup/calendar/ip/academic.html new file mode 100755 index 0000000..ac942a7 --- /dev/null +++ b/mockup/calendar/ip/academic.html @@ -0,0 +1,46 @@ + + + + + + + MIT Calendar: Academic Calendar + + + + + + + + +
+ +
+

Academic Calendar 2007-2008

+

< 2006-2007 | 2008-2009 >

+
+ +
+ +

Text goes here.

+

 

+

 

+

 

+ +
+ +
+ + + + + diff --git a/mockup/calendar/ip/browse.html b/mockup/calendar/ip/browse.html new file mode 100755 index 0000000..f57c3a0 --- /dev/null +++ b/mockup/calendar/ip/browse.html @@ -0,0 +1,43 @@ + + + + + + + MIT Calendar: Browse by Category + + + + + + + + +
+ + + +
+ + + + + diff --git a/mockup/calendar/ip/detail-browse.html b/mockup/calendar/ip/detail-browse.html new file mode 100755 index 0000000..b3f5e51 --- /dev/null +++ b/mockup/calendar/ip/detail-browse.html @@ -0,0 +1,47 @@ + + + + + + + MIT Calendar: Event Details + + + + + + + + +
+ +
+

Advanced Music Performance Student Recital: Joyce Kwan '10, violin

+ + + +

Categorized as: music, theater

+
+ + +
+ + + + + diff --git a/mockup/calendar/ip/detail-search.html b/mockup/calendar/ip/detail-search.html new file mode 100755 index 0000000..a956e38 --- /dev/null +++ b/mockup/calendar/ip/detail-search.html @@ -0,0 +1,47 @@ + + + + + + + MIT Calendar: Event Details + + + + + + + + +
+ +
+

Advanced Music Performance Student Recital: Joyce Kwan '10, violin

+ + + +

Categorized as: music, theater

+
+ + +
+ + + + + diff --git a/mockup/calendar/ip/detail.html b/mockup/calendar/ip/detail.html new file mode 100755 index 0000000..36326c0 --- /dev/null +++ b/mockup/calendar/ip/detail.html @@ -0,0 +1,47 @@ + + + + + + + MIT Calendar: Event Details + + + + + + + + +
+ +
+

Advanced Music Performance Student Recital: Joyce Kwan '10, violin

+ + + +

Categorized as: music, theater

+
+ + +
+ + + + + diff --git a/mockup/calendar/ip/events.html b/mockup/calendar/ip/events.html new file mode 100755 index 0000000..bedbf92 --- /dev/null +++ b/mockup/calendar/ip/events.html @@ -0,0 +1,73 @@ + + + + + + + MIT Calendar: Events for Today + + + + + + + + +
+ +
+

Events for Fri Feb 15, 2008

+

< Thu Feb 14 | Sat Feb 16 >

+
+ + + + + +
+ + + + + diff --git a/mockup/calendar/ip/help.html b/mockup/calendar/ip/help.html new file mode 100755 index 0000000..75e8e7f --- /dev/null +++ b/mockup/calendar/ip/help.html @@ -0,0 +1,36 @@ + + + + + + + MIT Calendar + + + + + + + + +
+ +
+

Help text goes here.

+

 

+

 

+

 

+
+ +
+ + + + + diff --git a/mockup/calendar/ip/holidays.html b/mockup/calendar/ip/holidays.html new file mode 100755 index 0000000..0dd7c6c --- /dev/null +++ b/mockup/calendar/ip/holidays.html @@ -0,0 +1,77 @@ + + + + + + + MIT Calendar: MIT Holidays + + + + + + + + +
+ +
+

MIT Holidays 2008

+

< 2007 | 2009 >

+
+ +
+ +
+
Feb 18
+
Presidents' Day
+ +
Apr 21
+
Patriots' Day
+ +
May 26
+
Memorial Day
+ +
July 4
+
Independence Day
+ +
Sep 1
+
Labor Day
+ +
Oct 13
+
Columbus Day
+ +
Nov 11
+
Veteran's Day
+ +
Nov 27
+
Thanksgiving
+ +
Nov 28
+
Day after Thanksgiving
+ +
Dec 25
+
Christmas
+
+ +
+ +
+

For information regarding religious holidays, see the Registrar's Religious Observances page.

+
+ +
+ + + + + diff --git a/mockup/calendar/ip/index.html b/mockup/calendar/ip/index.html new file mode 100755 index 0000000..c3ef8f4 --- /dev/null +++ b/mockup/calendar/ip/index.html @@ -0,0 +1,66 @@ + + + + + + + MIT Calendar + + + + + + + + +
+ +
+

Friday, February 15, 2008

+
+ + + +
+
+
+ + +
+
+ +
+
+
+ +
+ + + + + + + diff --git a/mockup/calendar/ip/listing.html b/mockup/calendar/ip/listing.html new file mode 100755 index 0000000..7717773 --- /dev/null +++ b/mockup/calendar/ip/listing.html @@ -0,0 +1,58 @@ + + + + + + + MIT Calendar: Dance Events for Today + + + + + + + + +
+ +
+
+
+ + +
+
+ +
+

2 matching events found.

+
+
+ + + +
+ + + + + diff --git a/mockup/calendar/ip/results.html b/mockup/calendar/ip/results.html new file mode 100755 index 0000000..1fc9dc5 --- /dev/null +++ b/mockup/calendar/ip/results.html @@ -0,0 +1,68 @@ + + + + + + + MIT Calendar: Search Results + + + + + + + + +
+ +
+
+
+ + +
+
+ +
+

12 matching events found.

+
+
+ + + +
+ + + + + diff --git a/mockup/calendar/ip/subcategory.html b/mockup/calendar/ip/subcategory.html new file mode 100755 index 0000000..6747653 --- /dev/null +++ b/mockup/calendar/ip/subcategory.html @@ -0,0 +1,46 @@ + + + + + + + MIT Calendar: Browse by Category + + + + + + + + +
+ +

Arts/Music/Film

+ + + +
+ + + + + diff --git a/mockup/calendar/sp/academic.html b/mockup/calendar/sp/academic.html new file mode 100755 index 0000000..35d6ef7 --- /dev/null +++ b/mockup/calendar/sp/academic.html @@ -0,0 +1,49 @@ + + + + + + MIT Calendar: Academic Calendar + + + + + + + +

+ +
+ +

Academic Calendar 2007-2008

+ +

< 2006-2007 | 2008-2009 >

+ +
+ +

Text goes here.

+

 

+

 

+

 

+ +
+ +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/sp/browse.html b/mockup/calendar/sp/browse.html new file mode 100755 index 0000000..1cc7f29 --- /dev/null +++ b/mockup/calendar/sp/browse.html @@ -0,0 +1,49 @@ + + + + + + MIT Calendar: Browse by Category + + + + + + + +

+ +
+ +

Browse by Category

+ + + +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/sp/detail-search.html b/mockup/calendar/sp/detail-search.html new file mode 100755 index 0000000..05ca37e --- /dev/null +++ b/mockup/calendar/sp/detail-search.html @@ -0,0 +1,61 @@ + + + + + + MIT Calendar: Event Details + + + + + + + +

+ +
+ +
+

Advanced Music Performance Student Recital: Joyce Kwan '10, violin

+

+ Friday, February 15, 2008
+ 5:00pm-6:00pm +

+

+ Location: 14W-11, Killian Hall +

+

+ MIT Advanced Music Performance students appear in recital as part of their course requirements. Students enrolled in this subject receive full funding from Emerson Music Fellowships for private study on their instrument. +

+

+ For info call: 617-555-1234 +

+

+ Website: http://artscal.mit.edu +

+

Categorized as: music, theater

+
+ +

+ < Back to search results +

+ +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/sp/detail.html b/mockup/calendar/sp/detail.html new file mode 100755 index 0000000..f31c0c1 --- /dev/null +++ b/mockup/calendar/sp/detail.html @@ -0,0 +1,61 @@ + + + + + + MIT Calendar: Event Details + + + + + + + +

+ +
+ +
+

Advanced Music Performance Student Recital: Joyce Kwan '10, violin

+

+ Friday, February 15, 2008
+ 5:00pm-6:00pm +

+

+ Location: 14W-11, Killian Hall +

+

+ MIT Advanced Music Performance students appear in recital as part of their course requirements. Students enrolled in this subject receive full funding from Emerson Music Fellowships for private study on their instrument. +

+

+ For info call: 617-555-1234 +

+

+ Website: http://artscal.mit.edu +

+

Categorized as: music, theater

+
+ +

+ < Back +

+ +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/sp/events.html b/mockup/calendar/sp/events.html new file mode 100755 index 0000000..09dab81 --- /dev/null +++ b/mockup/calendar/sp/events.html @@ -0,0 +1,78 @@ + + + + + + MIT Calendar: Events for Today + + + + + + + +

+ +
+ +

Events for Fri Feb 15, 2008

+ + + +
+

New England & New York Chi Alpha Retreat
Fri Feb 15 All day | UMASS Amherst

+

Humanities Library Bookmobile
Fri Feb 15 11:00a-2:00pm | 10

+

Campus Tour (PLEASE NOTE: NEW 11:00 AM TOUR START TIME)
Fri Feb 15 11:00am | Lobby 7 (Main Entrance)

+

ACDL Seminar
Fri Feb 15 12:00pm-1:00pm | 33-206

+

Special Energy Seminar: Global Energy Challenges of the 21st Century, and World and Regional Nuclear Power
Fri Feb 15 2:00pm-3:00pm | E15-atrium

+

International Ladies Chat
Fri Feb 15 2:00pm-4:00pm | W11

+

Physicochemical phenomena in micro- and nanofluidic systems and their applications
Fri Feb 15 2:15pm-3:15pm | 3-370

+

Taste of Shabbat
Fri Feb 15 3:00pm-4:30pm | W10

+

"African American Vaudeville and Race Politics in the Swing Era."
Fri Feb 15 3:00pm-5:00pm | 32-155

+

Campus Tour (PLEASE NOTE: NEW 3:00 PM TOUR START TIME)
Fri Feb 15 3:00pm | Lobby 7 (Main Entrance)

+

ANS Seminar
Fri Feb 15 3:30pm-5:00pm | 24-115

+

BCS Colloquium
Fri Feb 15 4:00pm-5:30pm | 46-3002

+

Juggle for a Cookie
Fri Feb 15 4:00pm-6:00pm | Lobby 10

+

Combinatorics Seminar
Fri Feb 15 4:15pm-5:15pm | 2-105

+

Design considerations of heaving axissimetric wave energy converters
Fri Feb 15 4:30pm-5:30pm | 1-390

+

Advanced Music Performance Student Recital: Joyce Kwan '10, violin
Fri Feb 15 5:00pm-6:00pm | 14W-111

+

English-Only Science in a Multilingual World? Costs, Benefits, and Options.
Fri Feb 15 5:00pm-6:30pm | 4-231

+

MIT/WHOI Joint Program Retreat
Fri Feb 15 5:00pm-11:00pm | Tamworth, New Hampsh...

+

Friday Fiesta @ Thirsty Ear Pub
Fri Feb 15 5:00pm | Thirsty Ear Pub

+

Across the Universe
Fri Feb 15 7:00pm | 26-100

+

Grad Student Bible Study
Fri Feb 15 7:00pm-9:00pm | for details, see our...

+

ABSK Friday Night Bible Study
Fri Feb 15 7:00pm-9:00pm | W20-PDR 1&2

+

Loungin'
Fri Feb 15 7:00pm-9:00pm | 50-105

+

Human Rights and Civil War In Somalia: Stories from A Forgotten Country (Food Provided)
Fri Feb 15 7:00pm-9:00pm | 4-237

+

Anime Showing
Fri Feb 15 7:00pm-11:55pm | 6-120

+

Build Party!
Fri Feb 15 7:00pm | N52-115

+

Suburbia
Fri Feb 15 8:00pm-10:00pm | W16

+

The Vagina Monologues
Fri Feb 15 8:00pm-10:00pm | 32-123

+

Across the Universe
Fri Feb 15 10:00pm | 26-100

+
+ +

+ < Thu Feb 14 | Sat Feb 16 > +

+ +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/sp/help.html b/mockup/calendar/sp/help.html new file mode 100755 index 0000000..5745292 --- /dev/null +++ b/mockup/calendar/sp/help.html @@ -0,0 +1,45 @@ + + + + + + MIT Calendar: Help + + + + + + + +

+ +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/sp/holidays.html b/mockup/calendar/sp/holidays.html new file mode 100755 index 0000000..d5340ec --- /dev/null +++ b/mockup/calendar/sp/holidays.html @@ -0,0 +1,57 @@ + + + + + + MIT Calendar: Holidays + + + + + + + +

+ +
+ +

Holidays 2008

+ +

< 2007 | 2009 >

+ +

+ Feb 18: Presidents' Day
+ Apr 21: Patriots' Day
+ May 26: Memorial Day
+ July 4: Independence Day
+ Sep 1: Labor Day
+ Oct 13: Columbus Day
+ Nov 11: Veteran's Day
+ Nov 27: Thanksgiving
+ Nov 28: Day after Thanksgiving
+ Dec 25: Christmas +

+ +
+

For information regarding religious holidays, see the Registrar's Religious Observances page.

+
+ +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/calendar/sp/index.html b/mockup/calendar/sp/index.html new file mode 100755 index 0000000..c1dc0a7 --- /dev/null +++ b/mockup/calendar/sp/index.html @@ -0,0 +1,67 @@ + + + + + + MIT Calendar + + + + + + + +

+ +
+
+ +

Friday, Feb 15, 2008

+ + + + +

+ Search for events:
+ + + + + +

+ +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+

+ +
+ +
+ + + + + diff --git a/mockup/calendar/sp/listing.html b/mockup/calendar/sp/listing.html new file mode 100755 index 0000000..5e1b17b --- /dev/null +++ b/mockup/calendar/sp/listing.html @@ -0,0 +1,81 @@ + + + + + + MIT Calendar: Search Results + + + + + + + +

+ +
+
+ +

+ + + +
+ +

+ +

2 matching events found.

+ +
+

Israeli Dancing
Fri Feb 15 8:00pm-11:00pm | Student Center 4th Floor (room 407 or 491)

+

Sabrosura Annual Gala
Fri Feb 15 7:00am-11:00am | W-20

+
+ +
+ +

+ + + +
+ +

+ + +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ +
+ + + + + diff --git a/mockup/calendar/sp/results.html b/mockup/calendar/sp/results.html new file mode 100755 index 0000000..64b0df0 --- /dev/null +++ b/mockup/calendar/sp/results.html @@ -0,0 +1,91 @@ + + + + + + MIT Calendar: Search Results + + + + + + + +

+ +
+
+ +

+ + + +
+ +

+ +

12 matching events found.

+ +
+

Advanced Music Performance Student Recital: Joyce Kwan '10, violin
Fri, Feb 15 5:00pm-6:00pm | 14W-111

+

Suburbia
Fri, Feb 15 9:00pm-10:100pm | W16

+

The Vagina Monologues
Fri, Feb 15 8:00pm-10:00pm | 32-123

+

Re:Design - Theater Production
Sat, Feb 16 2:00pm-5:00pm | N52

+

Suburbia
Sat, Feb 16 9:00pm-10:100pm | W16

+

The Vagina Monologues
Sat, Feb 16 8:00pm-10:00pm | 32-123

+

Auditions: In the Heart of America
Tue, Feb 19 6:30pm-9:00pm | W16

+

Auditions: In the Heart of America
Wed, Feb 20 6:30pm-9:00pm | W16

+

MIT Chapel Concert: La Donna Musicale
Thu, Feb 21 12:05pm-1:00pm | W15

+

LVAC Film Night
Fri, Feb 22 7:30pm-9:30pm | E15

+

Pro Arts Piano Trio (Taiwan)
Fri, Feb 22 8:00pm-10:00pm | 14W-111

+

Off-Campus: Ruehr Quartet Concert
Fri, Feb 22, 2008 8:00pm-10:00pm | Harvard's Paine Hall

+
+ +
+ +

+ + + +
+ +

+ +

+ MIT Calendar Help +

+ + +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ +
+ + + + + diff --git a/mockup/calendar/sp/subcategory.html b/mockup/calendar/sp/subcategory.html new file mode 100755 index 0000000..ea4af90 --- /dev/null +++ b/mockup/calendar/sp/subcategory.html @@ -0,0 +1,54 @@ + + + + + + MIT Calendar: Browse by Category + + + + + + + +

+ +
+ +

Arts/Music/Film

+ + + +

+ < Back +

+ +

+ MIT Calendar Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: MIT Calendar Home
+

+ +
+ + + + + diff --git a/mockup/careers/fp/help.html b/mockup/careers/fp/help.html new file mode 100755 index 0000000..679aab5 --- /dev/null +++ b/mockup/careers/fp/help.html @@ -0,0 +1,43 @@ + + + + + + MIT Career Services: Help + + + + + + + +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: Career Services Home +

+ +
+ + + + + diff --git a/mockup/careers/fp/index.html b/mockup/careers/fp/index.html new file mode 100755 index 0000000..64fbbd4 --- /dev/null +++ b/mockup/careers/fp/index.html @@ -0,0 +1,43 @@ + + + + + + MIT Career Services + + + + + + + +
+ + + +

+ The MIT Careers Office provides a broad range opportunities for experiential learning, self-assessment and career research. To learn more, please visit us at web.mit.edu/career or at our offices at 12-170. +

+ +

+ Career Services Help +

+ +

+ 0: MIT Mobile Web Home +

+ +
+ + + + + diff --git a/mockup/careers/fp/presentations.html b/mockup/careers/fp/presentations.html new file mode 100755 index 0000000..e1621da --- /dev/null +++ b/mockup/careers/fp/presentations.html @@ -0,0 +1,70 @@ + + + + + + MIT Career Services: Company Presentations + + + + + + + +
+ +

Company Presentations

+ +

The companies listed below plan to host presentations which allow you to learn more about the companies and to informally discuss job possibilities.

+ +

These presentations are not hosted by MIT or the Careers Office. Please confirm time and location before attending.

+ +
+ +

+ Heerim Architects and Planners
+ Wed, Mar 5, 2008 5:00-8:00pm | 3-133 +

+

+ MIT Lincoln Laboratory
+ Wed, Mar 5, 2008 6:00-8:00pm | 4-153 +

+

+ KD Secure
+ Thu, Mar 6, 2008 6:00-7:30pm | 1-190 +

+

+ Lockheed Martin
+ Mon, Mar 10, 2008 6:00-7:30pm | 56-114 +

+

+ KLA-Tencor
+ Tue, Mar 11, 2008 7:00-8:30pm | 34-101A +

+

+ Analogic
+ Wed, Mar 12, 2008 7:00-8:30pm | 34-101A +

+ +
+ + +

+ Career Services Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Career Services Home +

+ +
+ + + + + diff --git a/mockup/careers/fp/workshop-detail.html b/mockup/careers/fp/workshop-detail.html new file mode 100755 index 0000000..0614eae --- /dev/null +++ b/mockup/careers/fp/workshop-detail.html @@ -0,0 +1,52 @@ + + + + + + MIT Career Services: Workshop Details + + + + + + + +
+ +
+

Résumé Workshop for Graduate Students

+ +

Wed Mar 12, 2008
1:00pm-2:30pm

+ +

Location: 4-149

+ +

Resumes, CVs, and Cover Letters...what are the most effective ways to use these tools to get noticed by the most selective employers in today's industry? What is involved in writing a cover letter that stands out? Please bring two copies of your resume/CV and cover letter as well as a job description. Be prepared to participate and practice!

+ +

Status: Space Available

+ +

Registration for this workshop requires an MIT account. Please visit the the MIT Careers Office Workshops page (web.mit.edu/career/www/events/ workshops.html) from a desktop or laptop computer to register.

+
+ +

+ < Back to Workshops +

+ +

+ Career Services Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Career Services Home
+

+ +
+ + + + + diff --git a/mockup/careers/fp/workshops.html b/mockup/careers/fp/workshops.html new file mode 100755 index 0000000..52dc196 --- /dev/null +++ b/mockup/careers/fp/workshops.html @@ -0,0 +1,87 @@ + + + + + + MIT Career Services: Workshops + + + + + + + +
+ +

Workshops

+ +

These workshops, hosted by the MIT Careers Office, offer guidance in career development and job searches.

+ +
+ +

+ Résumé Workshop for Graduate Students
+ Wed, Mar 12, 2008 1:00-2:30pm | 4-149 +

+

+ Essay Workshop for Medical & Health Profession Schools (FULL)
+ Wed, Mar 12, 2008 7:00-8:00pm | 4-149 +

+

+ Interviewing from the Hiring Manager's Perspective
+ Thu, Mar 13, 2008 12:00-1:30pm | 35-225 +

+

+ For Graduate Students: Self Assessment
+ Fri, Mar 14, 2008 10:00-11:30am | 32-155 +

+

+ Evaluating Job Offers
+ Tue, Mar 18, 2008 4:00-5:30pm | 4-149 +

+

+ Job Search for Seniors
+ Thu, Mar 20, 2008 6:00-7:30pm | 4-153 +

+

+ Choice of Major
+ Thu, Apr 3, 2008 6:30-8:00pm | 4-145 +

+

+ Law Student Panel
+ Thu, Apr 10, 2008 6:00pm-7:30 pm | 2-136 +

+

+ Health Professions Student Panel
+ Tue, Apr 15, 2008 7:00pm-8:30pm | 4-231 +

+

+ AMCAS Q & A Session
+ Tue, May 6, 2008 7:00pm-9:00pm | 4-149 +

+

+ AMCAS Q & A Session
+ Wed, May 14, 2008 7:00pm-9:00pm | 4-149 +

+
+ +

+ Career Services Help +

+ + +

+ 0: MIT Mobile Web Home
+ 1: Career Services Home +

+ +
+ + + + + diff --git a/mockup/careers/ip/help.html b/mockup/careers/ip/help.html new file mode 100755 index 0000000..1dfc571 --- /dev/null +++ b/mockup/careers/ip/help.html @@ -0,0 +1,36 @@ + + + + + + + MIT Student Career Services: Help + + + + + + + + +
+ +
+

Help text goes here.

+

 

+

 

+

 

+
+ +
+ + + + + diff --git a/mockup/careers/ip/index.html b/mockup/careers/ip/index.html new file mode 100755 index 0000000..f81320e --- /dev/null +++ b/mockup/careers/ip/index.html @@ -0,0 +1,41 @@ + + + + + + + MIT Student Career Services + + + + + + + + +
+ + + +

+ The MIT Careers Office provides a broad range opportunities for experiential learning, self-assessment and career research. To learn more, please visit us at web.mit.edu/career or at our offices at 12-170. +

+ +
+ + + + + diff --git a/mockup/careers/ip/presentations.html b/mockup/careers/ip/presentations.html new file mode 100755 index 0000000..a50d07b --- /dev/null +++ b/mockup/careers/ip/presentations.html @@ -0,0 +1,58 @@ + + + + + + + MIT Student Career Services: Company Presentations + + + + + + + + +
+ +

The companies listed below plan to host presentations which allow you to learn more about the companies and to informally discuss job possibilities.

+ +

These presentations are not hosted by MIT or the Careers Office. Please confirm time and location before attending.

+ + + + +
+ + + + + diff --git a/mockup/careers/ip/workshop-detail.html b/mockup/careers/ip/workshop-detail.html new file mode 100755 index 0000000..08bf896 --- /dev/null +++ b/mockup/careers/ip/workshop-detail.html @@ -0,0 +1,46 @@ + + + + + + + MIT Student Career Services: Workshop Details + + + + + + + + +
+ +
+

Résumé Workshop for Graduate Students

+ + + +

Registration for this workshop requires an MIT account. Please visit the the MIT Careers Office Workshops page (web.mit.edu/career/www/events/ workshops.html) from a desktop or laptop computer to register.

+
+ + +
+ + + + + diff --git a/mockup/careers/ip/workshops.html b/mockup/careers/ip/workshops.html new file mode 100755 index 0000000..71bfcce --- /dev/null +++ b/mockup/careers/ip/workshops.html @@ -0,0 +1,71 @@ + + + + + + + MIT Student Career Services: Workshops + + + + + + + + +
+ +

These workshops, hosted by the MIT Careers Office, offer guidance in career development and job searches.

+ + + + +
+ + + + + diff --git a/mockup/careers/sp/help.html b/mockup/careers/sp/help.html new file mode 100755 index 0000000..4a88107 --- /dev/null +++ b/mockup/careers/sp/help.html @@ -0,0 +1,45 @@ + + + + + + MIT Career Services: Help + + + + + + + +

+ +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: Career Services Home
+

+ +
+ + + + + diff --git a/mockup/careers/sp/index.html b/mockup/careers/sp/index.html new file mode 100755 index 0000000..6ba8296 --- /dev/null +++ b/mockup/careers/sp/index.html @@ -0,0 +1,45 @@ + + + + + + MIT Career Services + + + + + + + +

+ +
+ + + +

+ The MIT Careers Office provides a broad range opportunities for experiential learning, self-assessment and career research. To learn more, please visit us at web.mit.edu/career or at our offices at 12-170. +

+ +

+ Career Services Help +

+ +

+ 0: MIT Mobile Web Home +

+ +
+ + + + + diff --git a/mockup/careers/sp/presentations.html b/mockup/careers/sp/presentations.html new file mode 100755 index 0000000..ba0fef3 --- /dev/null +++ b/mockup/careers/sp/presentations.html @@ -0,0 +1,71 @@ + + + + + + MIT Career Services: Company Presentations + + + + + + + +

+ +
+ +

Company Presentations

+ +

The companies listed below plan to host presentations which allow you to learn more about the companies and to informally discuss job possibilities.

+ +

These presentations are not hosted by MIT or the Careers Office. Please confirm time and location before attending.

+ +
+ +

+ Heerim Architects and Planners
+ Wed, Mar 5, 2008 5:00-8:00pm | 3-133 +

+

+ MIT Lincoln Laboratory
+ Wed, Mar 5, 2008 6:00-8:00pm | 4-153 +

+

+ KD Secure
+ Thu, Mar 6, 2008 6:00-7:30pm | 1-190 +

+

+ Lockheed Martin
+ Mon, Mar 10, 2008 6:00-7:30pm | 56-114 +

+

+ KLA-Tencor
+ Tue, Mar 11, 2008 7:00-8:30pm | 34-101A +

+

+ Analogic
+ Wed, Mar 12, 2008 7:00-8:30pm | 34-101A +

+ +
+ +

+ Career Services Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Career Services Home
+

+ +
+ + + + + diff --git a/mockup/careers/sp/workshop-detail.html b/mockup/careers/sp/workshop-detail.html new file mode 100755 index 0000000..e71bf77 --- /dev/null +++ b/mockup/careers/sp/workshop-detail.html @@ -0,0 +1,54 @@ + + + + + + MIT Career Services: Workshop Details + + + + + + + +

+ +
+ +
+

Résumé Workshop for Graduate Students

+ +

Wednesday, March 12, 2008
1:00pm-2:30pm

+ +

Location: 4-149

+ +

Resumes, CVs, and Cover Letters...what are the most effective ways to use these tools to get noticed by the most selective employers in today's industry? What is involved in writing a cover letter that stands out? Please bring two copies of your resume/CV and cover letter as well as a job description. Be prepared to participate and practice!

+ +

Status: Space Available

+ +

Registration for this workshop requires an MIT account. Please visit the the MIT Careers Office Workshops page (web.mit.edu/career/www/events/ workshops.html) from a desktop or laptop computer to register.

+
+ +

+ < Back to Workshops +

+ +

+ Career Services Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Career Services Home
+

+ +
+ + + + + diff --git a/mockup/careers/sp/workshops.html b/mockup/careers/sp/workshops.html new file mode 100755 index 0000000..2d3c16e --- /dev/null +++ b/mockup/careers/sp/workshops.html @@ -0,0 +1,88 @@ + + + + + + MIT Career Services: Workshops + + + + + + + +

+ +
+ +

Workshops

+ +

These workshops, hosted by the MIT Careers Office, offer guidance in career development and job searches.

+ +
+ +

+ Résumé Workshop for Graduate Students
+ Wed, Mar 12, 2008 1:00-2:30pm | 4-149 +

+

+ Essay Workshop for Medical & Health Profession Schools (FULL)
+ Wed, Mar 12, 2008 7:00-8:00pm | 4-149 +

+

+ Interviewing from the Hiring Manager's Perspective
+ Thu, Mar 13, 2008 12:00-1:30pm | 35-225 +

+

+ For Graduate Students: Self Assessment
+ Fri, Mar 14, 2008 10:00-11:30am | 32-155 +

+

+ Evaluating Job Offers
+ Tue, Mar 18, 2008 4:00-5:30pm | 4-149 +

+

+ Job Search for Seniors
+ Thu, Mar 20, 2008 6:00-7:30pm | 4-153 +

+

+ Choice of Major
+ Thu, Apr 3, 2008 6:30-8:00pm | 4-145 +

+

+ Law Student Panel
+ Thu, Apr 10, 2008 6:00pm-7:30 pm | 2-136 +

+

+ Health Professions Student Panel
+ Tue, Apr 15, 2008 7:00pm-8:30pm | 4-231 +

+

+ AMCAS Q & A Session
+ Tue, May 6, 2008 7:00pm-9:00pm | 4-149 +

+

+ AMCAS Q & A Session
+ Wed, May 14, 2008 7:00pm-9:00pm | 4-149 +

+
+ +

+ Career Services Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Career Services Home
+

+ +
+ + + + + diff --git a/mockup/emergency/fp/contacts.html b/mockup/emergency/fp/contacts.html new file mode 100755 index 0000000..942a290 --- /dev/null +++ b/mockup/emergency/fp/contacts.html @@ -0,0 +1,81 @@ + + + + + + MIT Emergency News: Help + + + + + + + +
+ +

Emergency Contacts

+ +
+ +

MIT Campus Emergencies (24-hour police, ambulance, fire, first aid, dean on call: 617.253.1212)

+ +

MIT Medical (24-hour urgent care: 617.253.1311)

+ +

Emergency Closings (recorded updates: 617.253.SNOW)

+ +

Facilities (24-hour emergency repairs: 617.253.4948)

+ +

Environment, Health & Safety (617.452.3477)

+ +

Lincoln Laboratory Emergencies (security desk: 781.981.3333)

+ +

Bates Linear Accelerator Center (617.253.9200)

+ +

Haystack Observatory (781.981.5555)

+ +

Campus Information Center (617.253.4795)

+ +

Message Center Fax Service (617.253.8000)

+ +

Message Center Emergency Number (617.253.3692)

+ +

MIT Police (617.253.1212)

+ +

MIT Police - Guest Parking (617.253.7276)

+ +

MIT Police - Lost and Found (617.253.9753)

+ +

MIT News Office (617.253.2700)

+ +

Nightline (MIT student hotline 7pm-7am: 617.253.8800)

+ +

Safe Ride (campus transportation 6pm-3am: 617.253.2997)

+ +

Telephone Service - Directory Assistance (617.253.1000)

+ +

Telephone Service - Service Problems (617.253.4357)

+ +

Reported Outages (3DOWN: 617.253.3696)

+ +

Travel directions to MIT (617.253.6311)

+
+ +

+ Emergency News Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Emergency News Home +

+ +
+ + + + + diff --git a/mockup/emergency/fp/help.html b/mockup/emergency/fp/help.html new file mode 100755 index 0000000..cd358be --- /dev/null +++ b/mockup/emergency/fp/help.html @@ -0,0 +1,43 @@ + + + + + + MIT Emergency News: Help + + + + + + + +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: Emergency News Home +

+ +
+ + + + + diff --git a/mockup/emergency/fp/index.html b/mockup/emergency/fp/index.html new file mode 100755 index 0000000..dc88384 --- /dev/null +++ b/mockup/emergency/fp/index.html @@ -0,0 +1,44 @@ + + + + + + MIT Emergency News + + + + + + + +
+ +

+ There is currently no emergency on campus. All services are operating normally. +

+ +

+ Campus Police (617.253.1212)
+ MIT Medical (617.253.1311)
+ Emergency Status (617.253.1300)
+ More Emergency Contacts
+

+ +

+ Emergency News Help +

+ +

+ 0: MIT Mobile Web Home +

+ +
+ + + + + diff --git a/mockup/emergency/ip/contacts.html b/mockup/emergency/ip/contacts.html new file mode 100755 index 0000000..04a550e --- /dev/null +++ b/mockup/emergency/ip/contacts.html @@ -0,0 +1,76 @@ + + + + + + + MIT Emergency Info: Emergency Contacts + + + + + + + + +
+ + + +
+ + + + + diff --git a/mockup/emergency/ip/help.html b/mockup/emergency/ip/help.html new file mode 100755 index 0000000..93c734d --- /dev/null +++ b/mockup/emergency/ip/help.html @@ -0,0 +1,36 @@ + + + + + + + MIT Emergency Info: Help + + + + + + + + +
+ +
+

Help text goes here.

+

 

+

 

+

 

+
+ +
+ + + + + diff --git a/mockup/emergency/ip/index.html b/mockup/emergency/ip/index.html new file mode 100755 index 0000000..9dcb19b --- /dev/null +++ b/mockup/emergency/ip/index.html @@ -0,0 +1,51 @@ + + + + + + + MIT Emergency Info + + + + + + + + +
+ +
+ There is currently no emergency on campus. All services are operating normally. +
+ + + +
+ + + + + diff --git a/mockup/emergency/sp/contacts.html b/mockup/emergency/sp/contacts.html new file mode 100755 index 0000000..91fa619 --- /dev/null +++ b/mockup/emergency/sp/contacts.html @@ -0,0 +1,83 @@ + + + + + + MIT Emergency News: Emergency Contacts + + + + + + + +

+ +
+ +

Emergency Contacts

+ +
+ +

MIT Campus Emergencies (24-hour police, ambulance, fire, first aid, dean on call: 617.253.1212)

+ +

MIT Medical (24-hour urgent care: 617.253.1311)

+ +

Emergency Closings (recorded updates: 617.253.SNOW)

+ +

Facilities (24-hour emergency repairs: 617.253.4948)

+ +

Environment, Health & Safety (617.452.3477)

+ +

Lincoln Laboratory Emergencies (security desk: 781.981.3333)

+ +

Bates Linear Accelerator Center (617.253.9200)

+ +

Haystack Observatory (781.981.5555)

+ +

Campus Information Center (617.253.4795)

+ +

Message Center Fax Service (617.253.8000)

+ +

Message Center Emergency Number (617.253.3692)

+ +

MIT Police (617.253.1212)

+ +

MIT Police - Guest Parking (617.253.7276)

+ +

MIT Police - Lost and Found (617.253.9753)

+ +

MIT News Office (617.253.2700)

+ +

Nightline (MIT student hotline 7pm-7am: 617.253.8800)

+ +

Safe Ride (campus transportation 6pm-3am: 617.253.2997)

+ +

Telephone Service - Directory Assistance (617.253.1000)

+ +

Telephone Service - Service Problems (617.253.4357)

+ +

Reported Outages (3DOWN: 617.253.3696)

+ +

Travel directions to MIT (617.253.6311)

+
+ +

+ Emergency News Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Emergency News Home
+

+ +
+ + + + + diff --git a/mockup/emergency/sp/help.html b/mockup/emergency/sp/help.html new file mode 100755 index 0000000..d32fdc3 --- /dev/null +++ b/mockup/emergency/sp/help.html @@ -0,0 +1,45 @@ + + + + + + MIT Emergency News: Help + + + + + + + +

+ +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: Emergency News Home
+

+ +
+ + + + + diff --git a/mockup/emergency/sp/index.html b/mockup/emergency/sp/index.html new file mode 100755 index 0000000..2994065 --- /dev/null +++ b/mockup/emergency/sp/index.html @@ -0,0 +1,46 @@ + + + + + + MIT Emergency News + + + + + + + +

+ +
+ +

+ There is currently no emergency on campus. All services are operating normally. +

+ +

+ Campus Police (617.253.1212)
+ MIT Medical (617.253.1311)
+ Emergency Status (617.253.1300)
+ More Emergency Contacts
+

+ +

+ Emergency News Help +

+ +

+ 0: MIT Mobile Web Home +

+ +
+ + + + + diff --git a/mockup/home/fp/help.html b/mockup/home/fp/help.html new file mode 100755 index 0000000..519f869 --- /dev/null +++ b/mockup/home/fp/help.html @@ -0,0 +1,40 @@ + + + + + + About the MIT Mobile Web + + + + + + + +

+ +
+
+

About the MIT Mobile Web

+

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. +

+

+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+
+ +

+ 0: MIT Mobile Web Home +

+ +
+ + + + + diff --git a/mockup/home/fp/index.html b/mockup/home/fp/index.html new file mode 100755 index 0000000..cef0934 --- /dev/null +++ b/mockup/home/fp/index.html @@ -0,0 +1,39 @@ + + + + + + MIT Mobile Web + + + + + + + +

For demo purposes only: This is a static, non-functioning mockup. Not all links work, and not all features are mocked up. Authorized internal MIT use only.

+ + + +

+ About MIT Mobile Web +

+ + + + + + diff --git a/mockup/home/ip/help.html b/mockup/home/ip/help.html new file mode 100755 index 0000000..baa3dc2 --- /dev/null +++ b/mockup/home/ip/help.html @@ -0,0 +1,36 @@ + + + + + + + MIT Campus Map: Help + + + + + + + + +
+ +
+

Help text goes here. Help me pleeeease!

+

 

+

 

+

 

+
+ +
+ + + + + diff --git a/mockup/home/ip/images/3down.png b/mockup/home/ip/images/3down.png new file mode 100755 index 0000000..dae6eab Binary files /dev/null and b/mockup/home/ip/images/3down.png differ diff --git a/mockup/home/ip/images/cae.png b/mockup/home/ip/images/cae.png new file mode 100755 index 0000000..71822c0 Binary files /dev/null and b/mockup/home/ip/images/cae.png differ diff --git a/mockup/home/ip/images/calendar.png b/mockup/home/ip/images/calendar.png new file mode 100755 index 0000000..04fce2e Binary files /dev/null and b/mockup/home/ip/images/calendar.png differ diff --git a/mockup/home/ip/images/careers-old.png b/mockup/home/ip/images/careers-old.png new file mode 100755 index 0000000..5eabbd0 Binary files /dev/null and b/mockup/home/ip/images/careers-old.png differ diff --git a/mockup/home/ip/images/careers.png b/mockup/home/ip/images/careers.png new file mode 100755 index 0000000..d619aae Binary files /dev/null and b/mockup/home/ip/images/careers.png differ diff --git a/mockup/home/ip/images/emergency.png b/mockup/home/ip/images/emergency.png new file mode 100755 index 0000000..d0e322f Binary files /dev/null and b/mockup/home/ip/images/emergency.png differ diff --git a/mockup/home/ip/images/map.png b/mockup/home/ip/images/map.png new file mode 100755 index 0000000..c113029 Binary files /dev/null and b/mockup/home/ip/images/map.png differ diff --git a/mockup/home/ip/images/mit-logo-home-copy.gif b/mockup/home/ip/images/mit-logo-home-copy.gif new file mode 100755 index 0000000..24426a2 Binary files /dev/null and b/mockup/home/ip/images/mit-logo-home-copy.gif differ diff --git a/mockup/home/ip/images/mit-logo-home.gif b/mockup/home/ip/images/mit-logo-home.gif new file mode 100755 index 0000000..08a5ac9 Binary files /dev/null and b/mockup/home/ip/images/mit-logo-home.gif differ diff --git a/mockup/home/ip/images/people.png b/mockup/home/ip/images/people.png new file mode 100755 index 0000000..50f3a2a Binary files /dev/null and b/mockup/home/ip/images/people.png differ diff --git a/mockup/home/ip/images/shuttletrack.png b/mockup/home/ip/images/shuttletrack.png new file mode 100755 index 0000000..654eb13 Binary files /dev/null and b/mockup/home/ip/images/shuttletrack.png differ diff --git a/mockup/home/ip/images/stellar.png b/mockup/home/ip/images/stellar.png new file mode 100755 index 0000000..1728454 Binary files /dev/null and b/mockup/home/ip/images/stellar.png differ diff --git a/mockup/home/ip/index.html b/mockup/home/ip/index.html new file mode 100755 index 0000000..f70cc06 --- /dev/null +++ b/mockup/home/ip/index.html @@ -0,0 +1,93 @@ + + + + + + + MIT Mobile Web + + + + + + + +

Mobile Web

+ +

For demo purposes only: This is a hard-wired, non-functioning mockup. Not all links work, and not all features are mocked up. Authorized internal MIT use only.

+ +
+ + + + + + + + + + + + + + + + + +
People Directory
People Directory
Map
Campus Map
Shuttle Schedule
Shuttle Schedule
MIT Calendar
MIT Calendar
Stellar
Stellar
class info
Career Services
Career Services
Emergency Info
Emergency Info
3DOWN
3DOWN
service status
+ +
+ + + + diff --git a/mockup/home/sp/help.html b/mockup/home/sp/help.html new file mode 100755 index 0000000..83280b8 --- /dev/null +++ b/mockup/home/sp/help.html @@ -0,0 +1,40 @@ + + + + + + About the MIT Mobile Web + + + + + + + +

+ +
+
+

About the MIT Mobile Web

+

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. +

+

+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+
+ +

+ 0: MIT Mobile Web Home +

+ +
+ + + + + diff --git a/mockup/home/sp/index.html b/mockup/home/sp/index.html new file mode 100755 index 0000000..e18ac3d --- /dev/null +++ b/mockup/home/sp/index.html @@ -0,0 +1,40 @@ + + + + + + MIT Mobile Web + + + + + + + +

+ +

For demo purposes only: This is a static, non-functioning mockup. Not all links work, and not all features are mocked up. Authorized internal MIT use only.

+ + + + + + + + + diff --git a/mockup/images/fp/alert.gif b/mockup/images/fp/alert.gif new file mode 100755 index 0000000..6f6d7d8 Binary files /dev/null and b/mockup/images/fp/alert.gif differ diff --git a/mockup/images/fp/bus.gif b/mockup/images/fp/bus.gif new file mode 100755 index 0000000..2769de7 Binary files /dev/null and b/mockup/images/fp/bus.gif differ diff --git a/mockup/images/fp/button-search.gif b/mockup/images/fp/button-search.gif new file mode 100755 index 0000000..787d6c3 Binary files /dev/null and b/mockup/images/fp/button-search.gif differ diff --git a/mockup/images/fp/critical.gif b/mockup/images/fp/critical.gif new file mode 100755 index 0000000..f46ad52 Binary files /dev/null and b/mockup/images/fp/critical.gif differ diff --git a/mockup/images/fp/gps.gif b/mockup/images/fp/gps.gif new file mode 100755 index 0000000..0e9db9a Binary files /dev/null and b/mockup/images/fp/gps.gif differ diff --git a/mockup/images/fp/ist-logo.gif b/mockup/images/fp/ist-logo.gif new file mode 100755 index 0000000..9bf2a52 Binary files /dev/null and b/mockup/images/fp/ist-logo.gif differ diff --git a/mockup/images/fp/mit-logo copy.gif b/mockup/images/fp/mit-logo copy.gif new file mode 100755 index 0000000..40e8867 Binary files /dev/null and b/mockup/images/fp/mit-logo copy.gif differ diff --git a/mockup/images/fp/mit-logo.gif b/mockup/images/fp/mit-logo.gif new file mode 100755 index 0000000..0bd261c Binary files /dev/null and b/mockup/images/fp/mit-logo.gif differ diff --git a/mockup/images/fp/ok.gif b/mockup/images/fp/ok.gif new file mode 100755 index 0000000..3dd111d Binary files /dev/null and b/mockup/images/fp/ok.gif differ diff --git a/mockup/images/fp/schedule.gif b/mockup/images/fp/schedule.gif new file mode 100755 index 0000000..54b84b4 Binary files /dev/null and b/mockup/images/fp/schedule.gif differ diff --git a/mockup/images/fp/warning.gif b/mockup/images/fp/warning.gif new file mode 100755 index 0000000..739f87e Binary files /dev/null and b/mockup/images/fp/warning.gif differ diff --git a/mockup/images/ip/action-arrow.png b/mockup/images/ip/action-arrow.png new file mode 100755 index 0000000..11c9135 Binary files /dev/null and b/mockup/images/ip/action-arrow.png differ diff --git a/mockup/images/ip/action-email.png b/mockup/images/ip/action-email.png new file mode 100755 index 0000000..ea21281 Binary files /dev/null and b/mockup/images/ip/action-email.png differ diff --git a/mockup/images/ip/action-external.png b/mockup/images/ip/action-external.png new file mode 100755 index 0000000..da98587 Binary files /dev/null and b/mockup/images/ip/action-external.png differ diff --git a/mockup/images/ip/action-map.png b/mockup/images/ip/action-map.png new file mode 100755 index 0000000..4c54faf Binary files /dev/null and b/mockup/images/ip/action-map.png differ diff --git a/mockup/images/ip/action-pdf.png b/mockup/images/ip/action-pdf.png new file mode 100755 index 0000000..830855e Binary files /dev/null and b/mockup/images/ip/action-pdf.png differ diff --git a/mockup/images/ip/action-people.png b/mockup/images/ip/action-people.png new file mode 100755 index 0000000..c12977a Binary files /dev/null and b/mockup/images/ip/action-people.png differ diff --git a/mockup/images/ip/action-phone.png b/mockup/images/ip/action-phone.png new file mode 100755 index 0000000..2b5cb0d Binary files /dev/null and b/mockup/images/ip/action-phone.png differ diff --git a/mockup/images/ip/action-search.png b/mockup/images/ip/action-search.png new file mode 100755 index 0000000..f2ae9fa Binary files /dev/null and b/mockup/images/ip/action-search.png differ diff --git a/mockup/images/ip/alert.png b/mockup/images/ip/alert.png new file mode 100755 index 0000000..a6f1185 Binary files /dev/null and b/mockup/images/ip/alert.png differ diff --git a/mockup/images/ip/available.png b/mockup/images/ip/available.png new file mode 100755 index 0000000..21209c9 Binary files /dev/null and b/mockup/images/ip/available.png differ diff --git a/mockup/images/ip/blank.png b/mockup/images/ip/blank.png new file mode 100755 index 0000000..728fff9 Binary files /dev/null and b/mockup/images/ip/blank.png differ diff --git a/mockup/images/ip/breadcrumb-people.png b/mockup/images/ip/breadcrumb-people.png new file mode 100755 index 0000000..cc28188 Binary files /dev/null and b/mockup/images/ip/breadcrumb-people.png differ diff --git a/mockup/images/ip/bus.gif b/mockup/images/ip/bus.gif new file mode 100755 index 0000000..2769de7 Binary files /dev/null and b/mockup/images/ip/bus.gif differ diff --git a/mockup/images/ip/button-back.png b/mockup/images/ip/button-back.png new file mode 100755 index 0000000..699d33b Binary files /dev/null and b/mockup/images/ip/button-back.png differ diff --git a/mockup/images/ip/critical.png b/mockup/images/ip/critical.png new file mode 100755 index 0000000..9b79300 Binary files /dev/null and b/mockup/images/ip/critical.png differ diff --git a/mockup/images/ip/donotenter.png b/mockup/images/ip/donotenter.png new file mode 100755 index 0000000..c262225 Binary files /dev/null and b/mockup/images/ip/donotenter.png differ diff --git a/mockup/images/ip/drillup-l.png b/mockup/images/ip/drillup-l.png new file mode 100755 index 0000000..84e29ff Binary files /dev/null and b/mockup/images/ip/drillup-l.png differ diff --git a/mockup/images/ip/drillup-r.png b/mockup/images/ip/drillup-r.png new file mode 100755 index 0000000..fe46d24 Binary files /dev/null and b/mockup/images/ip/drillup-r.png differ diff --git a/mockup/images/ip/gps.png b/mockup/images/ip/gps.png new file mode 100755 index 0000000..43ff37f Binary files /dev/null and b/mockup/images/ip/gps.png differ diff --git a/mockup/images/ip/help.png b/mockup/images/ip/help.png new file mode 100755 index 0000000..b0c7ca3 Binary files /dev/null and b/mockup/images/ip/help.png differ diff --git a/mockup/images/ip/homelink.png b/mockup/images/ip/homelink.png new file mode 100755 index 0000000..ba34d6b Binary files /dev/null and b/mockup/images/ip/homelink.png differ diff --git a/mockup/images/ip/icon.png b/mockup/images/ip/icon.png new file mode 100755 index 0000000..ee4ac39 Binary files /dev/null and b/mockup/images/ip/icon.png differ diff --git a/mockup/images/ip/ist-logo.png b/mockup/images/ip/ist-logo.png new file mode 100755 index 0000000..b25b388 Binary files /dev/null and b/mockup/images/ip/ist-logo.png differ diff --git a/mockup/images/ip/loading.gif b/mockup/images/ip/loading.gif new file mode 100755 index 0000000..8095230 Binary files /dev/null and b/mockup/images/ip/loading.gif differ diff --git a/mockup/images/ip/loading2.gif b/mockup/images/ip/loading2.gif new file mode 100755 index 0000000..74cfb03 Binary files /dev/null and b/mockup/images/ip/loading2.gif differ diff --git a/mockup/images/ip/loading3.gif b/mockup/images/ip/loading3.gif new file mode 100755 index 0000000..b1b23cd Binary files /dev/null and b/mockup/images/ip/loading3.gif differ diff --git a/mockup/images/ip/navback.png b/mockup/images/ip/navback.png new file mode 100755 index 0000000..d24dba1 Binary files /dev/null and b/mockup/images/ip/navback.png differ diff --git a/mockup/images/ip/ok.png b/mockup/images/ip/ok.png new file mode 100755 index 0000000..c18a9b1 Binary files /dev/null and b/mockup/images/ip/ok.png differ diff --git a/mockup/images/ip/refresh.png b/mockup/images/ip/refresh.png new file mode 100755 index 0000000..c6cba7b Binary files /dev/null and b/mockup/images/ip/refresh.png differ diff --git a/mockup/images/ip/schedule.png b/mockup/images/ip/schedule.png new file mode 100755 index 0000000..164f774 Binary files /dev/null and b/mockup/images/ip/schedule.png differ diff --git a/mockup/images/ip/search-button-2.png b/mockup/images/ip/search-button-2.png new file mode 100755 index 0000000..b535ac0 Binary files /dev/null and b/mockup/images/ip/search-button-2.png differ diff --git a/mockup/images/ip/search-button.png b/mockup/images/ip/search-button.png new file mode 100755 index 0000000..2a399db Binary files /dev/null and b/mockup/images/ip/search-button.png differ diff --git a/mockup/images/ip/search.png b/mockup/images/ip/search.png new file mode 100755 index 0000000..037a3a0 Binary files /dev/null and b/mockup/images/ip/search.png differ diff --git a/mockup/images/ip/title-3down.png b/mockup/images/ip/title-3down.png new file mode 100755 index 0000000..af6bcc5 Binary files /dev/null and b/mockup/images/ip/title-3down.png differ diff --git a/mockup/images/ip/title-calendar.png b/mockup/images/ip/title-calendar.png new file mode 100755 index 0000000..a8116fd Binary files /dev/null and b/mockup/images/ip/title-calendar.png differ diff --git a/mockup/images/ip/title-careers.png b/mockup/images/ip/title-careers.png new file mode 100755 index 0000000..47cd5fb Binary files /dev/null and b/mockup/images/ip/title-careers.png differ diff --git a/mockup/images/ip/title-careers2.png b/mockup/images/ip/title-careers2.png new file mode 100755 index 0000000..3113eab Binary files /dev/null and b/mockup/images/ip/title-careers2.png differ diff --git a/mockup/images/ip/title-emergency.png b/mockup/images/ip/title-emergency.png new file mode 100755 index 0000000..770c477 Binary files /dev/null and b/mockup/images/ip/title-emergency.png differ diff --git a/mockup/images/ip/title-map.png b/mockup/images/ip/title-map.png new file mode 100755 index 0000000..2878798 Binary files /dev/null and b/mockup/images/ip/title-map.png differ diff --git a/mockup/images/ip/title-people.png b/mockup/images/ip/title-people.png new file mode 100755 index 0000000..be3074c Binary files /dev/null and b/mockup/images/ip/title-people.png differ diff --git a/mockup/images/ip/title-shuttletrack.png b/mockup/images/ip/title-shuttletrack.png new file mode 100755 index 0000000..a038576 Binary files /dev/null and b/mockup/images/ip/title-shuttletrack.png differ diff --git a/mockup/images/ip/title-stellar.png b/mockup/images/ip/title-stellar.png new file mode 100755 index 0000000..550be40 Binary files /dev/null and b/mockup/images/ip/title-stellar.png differ diff --git a/mockup/images/ip/update.png b/mockup/images/ip/update.png new file mode 100755 index 0000000..32e7f8f Binary files /dev/null and b/mockup/images/ip/update.png differ diff --git a/mockup/images/ip/warning.png b/mockup/images/ip/warning.png new file mode 100755 index 0000000..a0d978c Binary files /dev/null and b/mockup/images/ip/warning.png differ diff --git a/mockup/images/sp/alert.gif b/mockup/images/sp/alert.gif new file mode 100755 index 0000000..917c37f Binary files /dev/null and b/mockup/images/sp/alert.gif differ diff --git a/mockup/images/sp/bus.gif b/mockup/images/sp/bus.gif new file mode 100755 index 0000000..6c96d8c Binary files /dev/null and b/mockup/images/sp/bus.gif differ diff --git a/mockup/images/sp/critical.gif b/mockup/images/sp/critical.gif new file mode 100755 index 0000000..7d0d377 Binary files /dev/null and b/mockup/images/sp/critical.gif differ diff --git a/mockup/images/sp/gps.gif b/mockup/images/sp/gps.gif new file mode 100755 index 0000000..3a7e843 Binary files /dev/null and b/mockup/images/sp/gps.gif differ diff --git a/mockup/images/sp/ist-logo.gif b/mockup/images/sp/ist-logo.gif new file mode 100755 index 0000000..9bf2a52 Binary files /dev/null and b/mockup/images/sp/ist-logo.gif differ diff --git a/mockup/images/sp/mit-logo copy.gif b/mockup/images/sp/mit-logo copy.gif new file mode 100755 index 0000000..9cc9cfd Binary files /dev/null and b/mockup/images/sp/mit-logo copy.gif differ diff --git a/mockup/images/sp/mit-logo.gif b/mockup/images/sp/mit-logo.gif new file mode 100755 index 0000000..2dabb96 Binary files /dev/null and b/mockup/images/sp/mit-logo.gif differ diff --git a/mockup/images/sp/ok.gif b/mockup/images/sp/ok.gif new file mode 100755 index 0000000..a8fd727 Binary files /dev/null and b/mockup/images/sp/ok.gif differ diff --git a/mockup/images/sp/schedule.gif b/mockup/images/sp/schedule.gif new file mode 100755 index 0000000..872475d Binary files /dev/null and b/mockup/images/sp/schedule.gif differ diff --git a/mockup/images/sp/warning.gif b/mockup/images/sp/warning.gif new file mode 100755 index 0000000..7e53037 Binary files /dev/null and b/mockup/images/sp/warning.gif differ diff --git a/mockup/index.html b/mockup/index.html new file mode 100755 index 0000000..c3ee0b2 --- /dev/null +++ b/mockup/index.html @@ -0,0 +1,41 @@ + + + + + + + MIT Mobile Web UI Mockups + + + +

MIT Mobile Web

+

UI Mockups

+

+ 1: Feature Phone
+ 2: Smartphone
+ 3: iPhone/iPod Touch
+

+

For demo purposes only: This is a static, non-functioning mockup. Not all links work, and not all features are mocked up. Authorized internal MIT use only.

+

WURFL test

+ + diff --git a/mockup/javascripts/ip/uiscripts-ip.js b/mockup/javascripts/ip/uiscripts-ip.js new file mode 100755 index 0000000..3c5f26f --- /dev/null +++ b/mockup/javascripts/ip/uiscripts-ip.js @@ -0,0 +1,85 @@ +var currentTab; + +function showTab(strID, objTrigger) { +// Displays the tab with ID strID + var objTab = document.getElementById(strID); + if(objTab) { + show(strID); + if(currentTab && (currentTab != objTab)) { + hide(currentTab.id); + currentTab.style.display = "none"; + } + } + currentTab = objTab; // Remember which is the currently displayed tab + + // Set the clicked tab to look current + var objTabs = document.getElementById("tabs"); + var arrTabs = objTabs.getElementsByTagName("li"); + if(objTrigger) { + for(var i=0; i\"\"Loading data..."; + } +} + +function hide(strID) { +// Hides the object with ID strID + var objToHide = document.getElementById(strID); + if(objToHide) { + objToHide.style.display = "none"; + } +} + +function show(strID) { +// Displays the object with ID strID + var objToHide = document.getElementById(strID); + if(objToHide) { + objToHide.style.display = "block"; + } +} + +function showHideFull(objContainer) { + var strClass = objContainer.className; + if(strClass.indexOf("collapsed") > -1) { + strClass = strClass.replace("collapsed","expanded"); + } else { + strClass = strClass.replace("expanded","collapsed"); + } + objContainer.className = strClass; +} \ No newline at end of file diff --git a/mockup/map/fp copy/building-name-drilldown.html b/mockup/map/fp copy/building-name-drilldown.html new file mode 100755 index 0000000..ce2ead9 --- /dev/null +++ b/mockup/map/fp copy/building-name-drilldown.html @@ -0,0 +1,60 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp copy/building-name.html b/mockup/map/fp copy/building-name.html new file mode 100755 index 0000000..d3d879c --- /dev/null +++ b/mockup/map/fp copy/building-name.html @@ -0,0 +1,57 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ +
+ +

Browse Buildings by Name

+ + + +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp copy/building-number-drilldown-1.html b/mockup/map/fp copy/building-number-drilldown-1.html new file mode 100755 index 0000000..07d76b2 --- /dev/null +++ b/mockup/map/fp copy/building-number-drilldown-1.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Browse Buildings by Number: 1-10

+ + + +

+ < Back +

+ +

+ 0: MIT Mobile Web Home + 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp copy/building-number.html b/mockup/map/fp copy/building-number.html new file mode 100755 index 0000000..66920ca --- /dev/null +++ b/mockup/map/fp copy/building-number.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Browse Buildings by Number

+ + + +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp copy/courts.html b/mockup/map/fp copy/courts.html new file mode 100755 index 0000000..caca7db --- /dev/null +++ b/mockup/map/fp copy/courts.html @@ -0,0 +1,58 @@ + + + + + + MIT Map: Browse Courts and Greenspace + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp copy/detail-here.html b/mockup/map/fp copy/detail-here.html new file mode 100755 index 0000000..75f01ec --- /dev/null +++ b/mockup/map/fp copy/detail-here.html @@ -0,0 +1,54 @@ + + + + + + MIT Campus Map: Details + + + + + + + +

+ +
+ +
+

Building N42 (Information Services & Technology)

+

+ Map | Photo | What's Here +

+

+ Athena User Accounts
+ Computer Help
+ Computer Security
+ Computer Training
+ Departmental Consulting and Application Development (DCAD)
+ Educational Technology Consultants
+ Information Services & Technology (IS&T)
+ Network Security
+ Usability Lab
+

+
+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp copy/detail-photo.html b/mockup/map/fp copy/detail-photo.html new file mode 100755 index 0000000..17731bc --- /dev/null +++ b/mockup/map/fp copy/detail-photo.html @@ -0,0 +1,46 @@ + + + + + + MIT Campus Map: Details + + + + + + + +

+ +
+ +
+

Building N42 (Information Services & Technology)

+

+ Map | Photo | What's Here +

+ +

Photo

+

View from north
Architect: E.H. McClarr

+
+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp copy/detail.html b/mockup/map/fp copy/detail.html new file mode 100755 index 0000000..83580b0 --- /dev/null +++ b/mockup/map/fp copy/detail.html @@ -0,0 +1,58 @@ + + + + + + MIT Campus Map: Details + + + + + + + +

+ +
+ +
+

Building N42 (Information Services & Technology)

+ +

+ 211 Massachusetts Avenue +

+ +

+ Map | Photo | What's Here +

+ +

+ + Map +

+

+ + Scroll: N | S | E | W
+ Zoom: In | Out +

+
+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp copy/directions-car.html b/mockup/map/fp copy/directions-car.html new file mode 100755 index 0000000..9a6daf6 --- /dev/null +++ b/mockup/map/fp copy/directions-car.html @@ -0,0 +1,49 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

By Car

+

From the North (I-95 or I-93): If you are heading south on I-93, follow I-93 into Boston then follow the I-93 instructions below. If you are heading south on I-95, take the I-93 South exit (exit 37) then follow the instructions from I-93. Alternatively, take the I-90 East exit (Massachusetts Turnpike) from I-95 then follow the instructions from the West via I-90.

+

From the South (I-95 or I-93): If you are heading north on I-93, follow I-93 into Boston then follow the I-93 instructions below. If you are heading north on I-95, take the I-93 North exit then follow the instructions from I-93. Alternatively, take the I-90 East exit from I-95 then follow the instructions from I-90.

+

From the West (I-90) (Mass Turnpike): Follow I-90 east to the Cambridge/Brighton exit (exit 18). Following the signs to Cambridge, cross the River Street Bridge, and continue straight about 1 mile to Central Square. Turn right onto Massachusetts Avenue and follow Massachusetts Avenue for about a half mile. The main entrance to MIT will be on your left. If you cross the river again, you have gone too far.

+

From Route I-93: From I-93, take exit 26, and follow the signs to Back Bay along Storrow Drive West, approximately 1.5 miles, to the exit for Route 2A. The exit will be on the left, just before the Harvard Bridge (more appropriately called the Massachusetts Avenue Bridge). The Charles River will be on your right. As you cross the bridge, you will be looking at MIT - the Great Dome and academic facilities are on the right, the dormitories and athletic facilities are on the left.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp copy/directions-google.html b/mockup/map/fp copy/directions-google.html new file mode 100755 index 0000000..43daa08 --- /dev/null +++ b/mockup/map/fp copy/directions-google.html @@ -0,0 +1,46 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

Finding MIT using Google Maps

+

To find MIT using Google Maps, use the address "77 Massachusetts Avenue, Cambridge MA 02139" as your reference point for general directions to MIT. This is the famous domed building at the center of campus.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp copy/directions-hood.html b/mockup/map/fp copy/directions-hood.html new file mode 100755 index 0000000..86231c8 --- /dev/null +++ b/mockup/map/fp copy/directions-hood.html @@ -0,0 +1,46 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

By Hood Blimp

+

Take the blimp to the tall building with all the glass windows (that would be the Hancock tower). Head north over the Charles River and have them put you down on top of the large, convex, concrete structure on the north shore of the river (that would be the Great Dome of MIT). Watch out for police cars on the roof.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp copy/directions-location.html b/mockup/map/fp copy/directions-location.html new file mode 100755 index 0000000..cb968ab --- /dev/null +++ b/mockup/map/fp copy/directions-location.html @@ -0,0 +1,47 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

Where is MIT?

+

Map

+

MIT is located on the north shore of the Charles River Basin in Cambridge, Massachusetts, USA. The campus is within 3 miles of two major interstate highways, less than 6 miles from a major international airport, and is accessible via public transportation. MIT is a 15-30 minute walk from downtown Boston (depending on the weather). MIT is a 30-40 minute walk from Harvard University (located just up the river from the MIT campus).

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp copy/directions-logan.html b/mockup/map/fp copy/directions-logan.html new file mode 100755 index 0000000..04b0d2c --- /dev/null +++ b/mockup/map/fp copy/directions-logan.html @@ -0,0 +1,48 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

From Logan Airport

+

By taxi: Taxi fare from the airport is about $20-$25. During non-rush hour, the taxi ride will take about 15 minutes. During rush hour, the ride could take 30 minutes or more.

+

By subway: From any terminal at Logan Airport, take the Silver Line bus to South Station. At South Station, change to the Red Line subway to Kendall/MIT (inbound toward Alewife). Under normal conditions the ride will take about one-half hour and the fare is $1.70 (Charlie Card) or $2.00 (cash).

+

By car: Leaving the airport, follow the signs to the Sumner Tunnel. Enter the tunnel and stay in the right lane.
At the end of the tunnel, continue to stay in the right lane, start down an incline and bear to the right immediately at the sign for Storrow Drive.
Take Exit 26 for Cambridge/ Somerville. Follow the signs for Back Bay/Cambridge (do not take the exit for Cambridge/ Somerville).
Stay in the right lane and follow the signs for Storrow Drive Westbound.
After you pass under the pedestrian walkbridges, change to the left lane and take the exit on your left for 2A North.
Turn right onto the Harvard Bridge (Massachusetts Avenue).
MIT's main entrance is 77 Massachusetts Avenue, and it will be on the right at the second set of traffic lights.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp copy/directions-parking.html b/mockup/map/fp copy/directions-parking.html new file mode 100755 index 0000000..e47ac8c --- /dev/null +++ b/mockup/map/fp copy/directions-parking.html @@ -0,0 +1,48 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

Parking Suggestions

+

Parking in Cambridge and Boston is generally not an enjoyable experience. Whenever possible, park your car at the hotel at which you are staying, and use public transportation to get to the MIT campus. If you must drive to the campus, there is both on- and off-street parking available, but most public parking is not very close to the center of the MIT campus (unless you arrive early in the morning or late in the evening).

+

There is metered parking on Massachusetts Avenue for short stays and evenings/weekends, as well as a number of lots at which you may park for a fee. These include Vassar St. Public Parking at the corner of Massachusetts Avenue and Vassar Street, University Park / Star Market Public Parking, and the Marriott Parking Garage on Ames St. and Broadway.

+

If you were invited to campus and a visitor parking hang tag was given to you, you may park in the lots specified on the hang tag. Please check the parking lot listing and plan your trip accordingly.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp copy/directions-t.html b/mockup/map/fp copy/directions-t.html new file mode 100755 index 0000000..1a2167a --- /dev/null +++ b/mockup/map/fp copy/directions-t.html @@ -0,0 +1,47 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

By Public Transportation - MBTA ("The T")

+

Subway: Take the Red Line subway to the Kendall/MIT Station or to the Central Square Station, both of which are a short walk from campus. The walk from Central Square takes about 10 minutes and takes you right down Massachusetts Avenue. The Kendall/MIT Station is on the eastern side of campus, and as soon as you enter an MIT building you can get to the other buildings without going outside.

+

Bus: The #1 or Dudley/Harvard Station bus stops at MIT on Massachusetts Avenue and provides transportation to Central Square and Harvard Square (Northbound), and Boston (Southbound). The MIT stop is at a large crosswalk with a stoplight. On one side of the street are steps leading up to large Ionic columns and the small dome of MIT; on the other side of the street is the Stratton Student Center and Kresge Oval (an open, grass-covered area). Additionally, the CT1 (Crosstown bus) stops at the MIT stop on Massachusetts Avenue and the CT2 bus stops on the corner of Massachusetts Avenue and Vassar St. as well as Kendall Square T Station.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp copy/directions.html b/mockup/map/fp copy/directions.html new file mode 100755 index 0000000..38ec478 --- /dev/null +++ b/mockup/map/fp copy/directions.html @@ -0,0 +1,49 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp copy/food.html b/mockup/map/fp copy/food.html new file mode 100755 index 0000000..0893caf --- /dev/null +++ b/mockup/map/fp copy/food.html @@ -0,0 +1,77 @@ + + + + + + MIT Map: Browse Food Services + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp copy/help.html b/mockup/map/fp copy/help.html new file mode 100755 index 0000000..e0d6b90 --- /dev/null +++ b/mockup/map/fp copy/help.html @@ -0,0 +1,45 @@ + + + + + + MIT Campus Map: Help + + + + + + + +

+ +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp copy/images/location.gif b/mockup/map/fp copy/images/location.gif new file mode 100755 index 0000000..5f81d52 Binary files /dev/null and b/mockup/map/fp copy/images/location.gif differ diff --git a/mockup/map/fp copy/index.html b/mockup/map/fp copy/index.html new file mode 100755 index 0000000..96da46d --- /dev/null +++ b/mockup/map/fp copy/index.html @@ -0,0 +1,66 @@ + + + + + + MIT Campus Map + + + + + + + +

+ +
+ +
+ +

+ Search campus map:
+ + + + +

+ +

+ Tip: Search by any 'Browse by' category shown below +

+ + + +

+ Directions to MIT +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home +

+ +
+
+ + + + + diff --git a/mockup/map/fp copy/parking.html b/mockup/map/fp copy/parking.html new file mode 100755 index 0000000..019de91 --- /dev/null +++ b/mockup/map/fp copy/parking.html @@ -0,0 +1,77 @@ + + + + + + MIT Map: Browse Parking + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp copy/photos/n42.jpg b/mockup/map/fp copy/photos/n42.jpg new file mode 100755 index 0000000..249cdde Binary files /dev/null and b/mockup/map/fp copy/photos/n42.jpg differ diff --git a/mockup/map/fp copy/residences.html b/mockup/map/fp copy/residences.html new file mode 100755 index 0000000..944bd97 --- /dev/null +++ b/mockup/map/fp copy/residences.html @@ -0,0 +1,125 @@ + + + + + + MIT Map: Browse Residences + + + + + + + + +

+ +
+ +

Browse Residences

+ + + +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp copy/rooms.html b/mockup/map/fp copy/rooms.html new file mode 100755 index 0000000..e295364 --- /dev/null +++ b/mockup/map/fp copy/rooms.html @@ -0,0 +1,64 @@ + + + + + + MIT Map: Browse Selected Rooms + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp copy/streets.html b/mockup/map/fp copy/streets.html new file mode 100755 index 0000000..d8fefaa --- /dev/null +++ b/mockup/map/fp copy/streets.html @@ -0,0 +1,55 @@ + + + + + + MIT Map: Browse Streets & Landmarks + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-1.html b/mockup/map/fp/building-name-drilldown-1.html new file mode 100755 index 0000000..40dd44a --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-1.html @@ -0,0 +1,54 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-a.html b/mockup/map/fp/building-name-drilldown-a.html new file mode 100755 index 0000000..c17fb6a --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-a.html @@ -0,0 +1,60 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-b.html b/mockup/map/fp/building-name-drilldown-b.html new file mode 100755 index 0000000..e3fedfb --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-b.html @@ -0,0 +1,59 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-c.html b/mockup/map/fp/building-name-drilldown-c.html new file mode 100755 index 0000000..bda453e --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-c.html @@ -0,0 +1,56 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-d.html b/mockup/map/fp/building-name-drilldown-d.html new file mode 100755 index 0000000..bdd3fa3 --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-d.html @@ -0,0 +1,58 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-e.html b/mockup/map/fp/building-name-drilldown-e.html new file mode 100755 index 0000000..cd0bb73 --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-e.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-f.html b/mockup/map/fp/building-name-drilldown-f.html new file mode 100755 index 0000000..6e0f2b1 --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-f.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-g.html b/mockup/map/fp/building-name-drilldown-g.html new file mode 100755 index 0000000..63ba72b --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-g.html @@ -0,0 +1,52 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-h.html b/mockup/map/fp/building-name-drilldown-h.html new file mode 100755 index 0000000..b18a2b5 --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-h.html @@ -0,0 +1,56 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-i.html b/mockup/map/fp/building-name-drilldown-i.html new file mode 100755 index 0000000..40fc159 --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-i.html @@ -0,0 +1,56 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-l.html b/mockup/map/fp/building-name-drilldown-l.html new file mode 100755 index 0000000..53ae078 --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-l.html @@ -0,0 +1,54 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-m.html b/mockup/map/fp/building-name-drilldown-m.html new file mode 100755 index 0000000..66f839c --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-m.html @@ -0,0 +1,63 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-n.html b/mockup/map/fp/building-name-drilldown-n.html new file mode 100755 index 0000000..762f44f --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-n.html @@ -0,0 +1,69 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-r.html b/mockup/map/fp/building-name-drilldown-r.html new file mode 100755 index 0000000..ec5da99 --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-r.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-s.html b/mockup/map/fp/building-name-drilldown-s.html new file mode 100755 index 0000000..190fa98 --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-s.html @@ -0,0 +1,67 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-t.html b/mockup/map/fp/building-name-drilldown-t.html new file mode 100755 index 0000000..d005ff3 --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-t.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name-drilldown-w.html b/mockup/map/fp/building-name-drilldown-w.html new file mode 100755 index 0000000..02f6077 --- /dev/null +++ b/mockup/map/fp/building-name-drilldown-w.html @@ -0,0 +1,69 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/building-name.html b/mockup/map/fp/building-name.html new file mode 100755 index 0000000..54251b8 --- /dev/null +++ b/mockup/map/fp/building-name.html @@ -0,0 +1,59 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ +
+ +

Browse Buildings by Name

+ + + +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp/building-number-drilldown-1.html b/mockup/map/fp/building-number-drilldown-1.html new file mode 100755 index 0000000..1b4563a --- /dev/null +++ b/mockup/map/fp/building-number-drilldown-1.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Main Campus`: 1-10

+ +

+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 6B
+ 6C
+ 7
+ 7A
+ 8
+ 9
+ 10
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp/building-number-drilldown-11.html b/mockup/map/fp/building-number-drilldown-11.html new file mode 100755 index 0000000..363e890 --- /dev/null +++ b/mockup/map/fp/building-number-drilldown-11.html @@ -0,0 +1,52 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Main Campus: 11-26

+ +

+ 11
+ 12
+ 12A
+ 13
+ 14
+ 16
+ 17
+ 18
+ 24
+ 26
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp/building-number-drilldown-31.html b/mockup/map/fp/building-number-drilldown-31.html new file mode 100755 index 0000000..d63308a --- /dev/null +++ b/mockup/map/fp/building-number-drilldown-31.html @@ -0,0 +1,57 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Main Campus: 31-48

+ +

+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 41
+ 42
+ 43
+ 44
+ 46
+ 48
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp/building-number-drilldown-50.html b/mockup/map/fp/building-number-drilldown-50.html new file mode 100755 index 0000000..6adeb57 --- /dev/null +++ b/mockup/map/fp/building-number-drilldown-50.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Main Campus: 50-68

+ +

+ 50
+ 51
+ 54
+ 56
+ 57
+ 62
+ 64
+ 66
+ 68
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp/building-number-drilldown-east-1.html b/mockup/map/fp/building-number-drilldown-east-1.html new file mode 100755 index 0000000..efdc595 --- /dev/null +++ b/mockup/map/fp/building-number-drilldown-east-1.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

East Campus: E1-E28

+ +

+ E1
+ E2
+ E15
+ E17
+ E18
+ E19
+ E23
+ E25
+ E28
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp/building-number-drilldown-east-33.html b/mockup/map/fp/building-number-drilldown-east-33.html new file mode 100755 index 0000000..894e3a6 --- /dev/null +++ b/mockup/map/fp/building-number-drilldown-east-33.html @@ -0,0 +1,53 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

West Campus: W1-W20

+ +

+ W1
+ W2
+ W4
+ W5
+ W7
+ W8
+ W11
+ W13
+ W15
+ W16
+ W20
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp/building-number-drilldown-north.html b/mockup/map/fp/building-number-drilldown-north.html new file mode 100755 index 0000000..acedd8e --- /dev/null +++ b/mockup/map/fp/building-number-drilldown-north.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

North Campus: N4-N57

+ +

+ N4
+ N9
+ N10
+ N16
+ N16A
+ N42
+ N51
+ N52
+ N57
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp/building-number-drilldown-northeast.html b/mockup/map/fp/building-number-drilldown-northeast.html new file mode 100755 index 0000000..701174d --- /dev/null +++ b/mockup/map/fp/building-number-drilldown-northeast.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Northeast Campus: NE18-NE125

+ +

+ NE18
+ NE20
+ NE25
+ NE30
+ NE47
+ NE48
+ NE49
+ NE80
+ NE125
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp/building-number-drilldown-northwest-10.html b/mockup/map/fp/building-number-drilldown-northwest-10.html new file mode 100755 index 0000000..10de504 --- /dev/null +++ b/mockup/map/fp/building-number-drilldown-northwest-10.html @@ -0,0 +1,49 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Northwest Campus: NW10-NW17

+ +

+ NW10
+ NW12
+ NW13
+ NW14
+ NW15
+ NW16
+ NW17
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp/building-number-drilldown-northwest-20.html b/mockup/map/fp/building-number-drilldown-northwest-20.html new file mode 100755 index 0000000..18182a6 --- /dev/null +++ b/mockup/map/fp/building-number-drilldown-northwest-20.html @@ -0,0 +1,50 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Northwest Campus: NW20-NW95

+ +

+ NW20
+ NW21
+ NW22
+ NW30
+ NW61
+ NW62
+ NW86
+ NW95
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp/building-number-drilldown-west-1.html b/mockup/map/fp/building-number-drilldown-west-1.html new file mode 100755 index 0000000..ff499fa --- /dev/null +++ b/mockup/map/fp/building-number-drilldown-west-1.html @@ -0,0 +1,52 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

West Campus: W1-W16

+ +

+ W1
+ W2
+ W4
+ W5
+ W7
+ W8
+ W11
+ W13
+ W15
+ W16
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp/building-number-drilldown-west-20.html b/mockup/map/fp/building-number-drilldown-west-20.html new file mode 100755 index 0000000..6861cd5 --- /dev/null +++ b/mockup/map/fp/building-number-drilldown-west-20.html @@ -0,0 +1,54 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

West Campus: W20-W61

+ +

+ W20
+ W31
+ W32
+ W33
+ W34
+ W35
+ W45
+ W51
+ W53
+ W53A
+ W59
+ W61
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp/building-number-drilldown-west-70.html b/mockup/map/fp/building-number-drilldown-west-70.html new file mode 100755 index 0000000..d52ca27 --- /dev/null +++ b/mockup/map/fp/building-number-drilldown-west-70.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

West Campus: W70-WW15

+ +

+ W70
+ W71
+ W79
+ W84
+ W85
+ W85ABC
+ W85DE
+ W85FG
+ W85HJK
+ W89
+ W91
+ W92
+ WW15
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/fp/building-number.html b/mockup/map/fp/building-number.html new file mode 100755 index 0000000..e69a7b0 --- /dev/null +++ b/mockup/map/fp/building-number.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/courts.html b/mockup/map/fp/courts.html new file mode 100755 index 0000000..a6c191f --- /dev/null +++ b/mockup/map/fp/courts.html @@ -0,0 +1,58 @@ + + + + + + MIT Map: Browse Courts and Greenspace + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/detail-here.html b/mockup/map/fp/detail-here.html new file mode 100755 index 0000000..75f01ec --- /dev/null +++ b/mockup/map/fp/detail-here.html @@ -0,0 +1,54 @@ + + + + + + MIT Campus Map: Details + + + + + + + +

+ +
+ +
+

Building N42 (Information Services & Technology)

+

+ Map | Photo | What's Here +

+

+ Athena User Accounts
+ Computer Help
+ Computer Security
+ Computer Training
+ Departmental Consulting and Application Development (DCAD)
+ Educational Technology Consultants
+ Information Services & Technology (IS&T)
+ Network Security
+ Usability Lab
+

+
+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp/detail-photo.html b/mockup/map/fp/detail-photo.html new file mode 100755 index 0000000..17731bc --- /dev/null +++ b/mockup/map/fp/detail-photo.html @@ -0,0 +1,46 @@ + + + + + + MIT Campus Map: Details + + + + + + + +

+ +
+ +
+

Building N42 (Information Services & Technology)

+

+ Map | Photo | What's Here +

+ +

Photo

+

View from north
Architect: E.H. McClarr

+
+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp/detail.html b/mockup/map/fp/detail.html new file mode 100755 index 0000000..83580b0 --- /dev/null +++ b/mockup/map/fp/detail.html @@ -0,0 +1,58 @@ + + + + + + MIT Campus Map: Details + + + + + + + +

+ +
+ +
+

Building N42 (Information Services & Technology)

+ +

+ 211 Massachusetts Avenue +

+ +

+ Map | Photo | What's Here +

+ +

+ + Map +

+

+ + Scroll: N | S | E | W
+ Zoom: In | Out +

+
+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp/directions-car.html b/mockup/map/fp/directions-car.html new file mode 100755 index 0000000..9a6daf6 --- /dev/null +++ b/mockup/map/fp/directions-car.html @@ -0,0 +1,49 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

By Car

+

From the North (I-95 or I-93): If you are heading south on I-93, follow I-93 into Boston then follow the I-93 instructions below. If you are heading south on I-95, take the I-93 South exit (exit 37) then follow the instructions from I-93. Alternatively, take the I-90 East exit (Massachusetts Turnpike) from I-95 then follow the instructions from the West via I-90.

+

From the South (I-95 or I-93): If you are heading north on I-93, follow I-93 into Boston then follow the I-93 instructions below. If you are heading north on I-95, take the I-93 North exit then follow the instructions from I-93. Alternatively, take the I-90 East exit from I-95 then follow the instructions from I-90.

+

From the West (I-90) (Mass Turnpike): Follow I-90 east to the Cambridge/Brighton exit (exit 18). Following the signs to Cambridge, cross the River Street Bridge, and continue straight about 1 mile to Central Square. Turn right onto Massachusetts Avenue and follow Massachusetts Avenue for about a half mile. The main entrance to MIT will be on your left. If you cross the river again, you have gone too far.

+

From Route I-93: From I-93, take exit 26, and follow the signs to Back Bay along Storrow Drive West, approximately 1.5 miles, to the exit for Route 2A. The exit will be on the left, just before the Harvard Bridge (more appropriately called the Massachusetts Avenue Bridge). The Charles River will be on your right. As you cross the bridge, you will be looking at MIT - the Great Dome and academic facilities are on the right, the dormitories and athletic facilities are on the left.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp/directions-google.html b/mockup/map/fp/directions-google.html new file mode 100755 index 0000000..43daa08 --- /dev/null +++ b/mockup/map/fp/directions-google.html @@ -0,0 +1,46 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

Finding MIT using Google Maps

+

To find MIT using Google Maps, use the address "77 Massachusetts Avenue, Cambridge MA 02139" as your reference point for general directions to MIT. This is the famous domed building at the center of campus.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp/directions-hood.html b/mockup/map/fp/directions-hood.html new file mode 100755 index 0000000..86231c8 --- /dev/null +++ b/mockup/map/fp/directions-hood.html @@ -0,0 +1,46 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

By Hood Blimp

+

Take the blimp to the tall building with all the glass windows (that would be the Hancock tower). Head north over the Charles River and have them put you down on top of the large, convex, concrete structure on the north shore of the river (that would be the Great Dome of MIT). Watch out for police cars on the roof.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp/directions-location.html b/mockup/map/fp/directions-location.html new file mode 100755 index 0000000..cb968ab --- /dev/null +++ b/mockup/map/fp/directions-location.html @@ -0,0 +1,47 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

Where is MIT?

+

Map

+

MIT is located on the north shore of the Charles River Basin in Cambridge, Massachusetts, USA. The campus is within 3 miles of two major interstate highways, less than 6 miles from a major international airport, and is accessible via public transportation. MIT is a 15-30 minute walk from downtown Boston (depending on the weather). MIT is a 30-40 minute walk from Harvard University (located just up the river from the MIT campus).

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp/directions-logan.html b/mockup/map/fp/directions-logan.html new file mode 100755 index 0000000..04b0d2c --- /dev/null +++ b/mockup/map/fp/directions-logan.html @@ -0,0 +1,48 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

From Logan Airport

+

By taxi: Taxi fare from the airport is about $20-$25. During non-rush hour, the taxi ride will take about 15 minutes. During rush hour, the ride could take 30 minutes or more.

+

By subway: From any terminal at Logan Airport, take the Silver Line bus to South Station. At South Station, change to the Red Line subway to Kendall/MIT (inbound toward Alewife). Under normal conditions the ride will take about one-half hour and the fare is $1.70 (Charlie Card) or $2.00 (cash).

+

By car: Leaving the airport, follow the signs to the Sumner Tunnel. Enter the tunnel and stay in the right lane.
At the end of the tunnel, continue to stay in the right lane, start down an incline and bear to the right immediately at the sign for Storrow Drive.
Take Exit 26 for Cambridge/ Somerville. Follow the signs for Back Bay/Cambridge (do not take the exit for Cambridge/ Somerville).
Stay in the right lane and follow the signs for Storrow Drive Westbound.
After you pass under the pedestrian walkbridges, change to the left lane and take the exit on your left for 2A North.
Turn right onto the Harvard Bridge (Massachusetts Avenue).
MIT's main entrance is 77 Massachusetts Avenue, and it will be on the right at the second set of traffic lights.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp/directions-parking.html b/mockup/map/fp/directions-parking.html new file mode 100755 index 0000000..e47ac8c --- /dev/null +++ b/mockup/map/fp/directions-parking.html @@ -0,0 +1,48 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

Parking Suggestions

+

Parking in Cambridge and Boston is generally not an enjoyable experience. Whenever possible, park your car at the hotel at which you are staying, and use public transportation to get to the MIT campus. If you must drive to the campus, there is both on- and off-street parking available, but most public parking is not very close to the center of the MIT campus (unless you arrive early in the morning or late in the evening).

+

There is metered parking on Massachusetts Avenue for short stays and evenings/weekends, as well as a number of lots at which you may park for a fee. These include Vassar St. Public Parking at the corner of Massachusetts Avenue and Vassar Street, University Park / Star Market Public Parking, and the Marriott Parking Garage on Ames St. and Broadway.

+

If you were invited to campus and a visitor parking hang tag was given to you, you may park in the lots specified on the hang tag. Please check the parking lot listing and plan your trip accordingly.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp/directions-t.html b/mockup/map/fp/directions-t.html new file mode 100755 index 0000000..1a2167a --- /dev/null +++ b/mockup/map/fp/directions-t.html @@ -0,0 +1,47 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

By Public Transportation - MBTA ("The T")

+

Subway: Take the Red Line subway to the Kendall/MIT Station or to the Central Square Station, both of which are a short walk from campus. The walk from Central Square takes about 10 minutes and takes you right down Massachusetts Avenue. The Kendall/MIT Station is on the eastern side of campus, and as soon as you enter an MIT building you can get to the other buildings without going outside.

+

Bus: The #1 or Dudley/Harvard Station bus stops at MIT on Massachusetts Avenue and provides transportation to Central Square and Harvard Square (Northbound), and Boston (Southbound). The MIT stop is at a large crosswalk with a stoplight. On one side of the street are steps leading up to large Ionic columns and the small dome of MIT; on the other side of the street is the Stratton Student Center and Kresge Oval (an open, grass-covered area). Additionally, the CT1 (Crosstown bus) stops at the MIT stop on Massachusetts Avenue and the CT2 bus stops on the corner of Massachusetts Avenue and Vassar St. as well as Kendall Square T Station.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp/directions.html b/mockup/map/fp/directions.html new file mode 100755 index 0000000..38ec478 --- /dev/null +++ b/mockup/map/fp/directions.html @@ -0,0 +1,49 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/food-drilldown-a.html b/mockup/map/fp/food-drilldown-a.html new file mode 100755 index 0000000..fff25d4 --- /dev/null +++ b/mockup/map/fp/food-drilldown-a.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse Food Services + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/food-drilldown-e.html b/mockup/map/fp/food-drilldown-e.html new file mode 100755 index 0000000..0862bfe --- /dev/null +++ b/mockup/map/fp/food-drilldown-e.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse Food Services + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/food-drilldown-m.html b/mockup/map/fp/food-drilldown-m.html new file mode 100755 index 0000000..9949a40 --- /dev/null +++ b/mockup/map/fp/food-drilldown-m.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse Food Services + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/food-drilldown-s.html b/mockup/map/fp/food-drilldown-s.html new file mode 100755 index 0000000..f8b866f --- /dev/null +++ b/mockup/map/fp/food-drilldown-s.html @@ -0,0 +1,50 @@ + + + + + + MIT Campus Map: Browse Food Services + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/food.html b/mockup/map/fp/food.html new file mode 100755 index 0000000..74a3097 --- /dev/null +++ b/mockup/map/fp/food.html @@ -0,0 +1,46 @@ + + + + + + MIT Map: Browse Food Services + + + + + + + + +

+ +
+ +

Browse Food Services

+ + + +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp/help.html b/mockup/map/fp/help.html new file mode 100755 index 0000000..e0d6b90 --- /dev/null +++ b/mockup/map/fp/help.html @@ -0,0 +1,45 @@ + + + + + + MIT Campus Map: Help + + + + + + + +

+ +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp/images/location.gif b/mockup/map/fp/images/location.gif new file mode 100755 index 0000000..5f81d52 Binary files /dev/null and b/mockup/map/fp/images/location.gif differ diff --git a/mockup/map/fp/index.html b/mockup/map/fp/index.html new file mode 100755 index 0000000..96da46d --- /dev/null +++ b/mockup/map/fp/index.html @@ -0,0 +1,66 @@ + + + + + + MIT Campus Map + + + + + + + +

+ +
+ +
+ +

+ Search campus map:
+ + + + +

+ +

+ Tip: Search by any 'Browse by' category shown below +

+ + + +

+ Directions to MIT +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home +

+ +
+
+ + + + + diff --git a/mockup/map/fp/parking.html b/mockup/map/fp/parking.html new file mode 100755 index 0000000..3d949d4 --- /dev/null +++ b/mockup/map/fp/parking.html @@ -0,0 +1,76 @@ + + + + + + MIT Map: Browse Parking + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/photos/n42.jpg b/mockup/map/fp/photos/n42.jpg new file mode 100755 index 0000000..249cdde Binary files /dev/null and b/mockup/map/fp/photos/n42.jpg differ diff --git a/mockup/map/fp/residences-drilldown-1.html b/mockup/map/fp/residences-drilldown-1.html new file mode 100755 index 0000000..5c3d372 --- /dev/null +++ b/mockup/map/fp/residences-drilldown-1.html @@ -0,0 +1,57 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/residences-drilldown-b.html b/mockup/map/fp/residences-drilldown-b.html new file mode 100755 index 0000000..026077d --- /dev/null +++ b/mockup/map/fp/residences-drilldown-b.html @@ -0,0 +1,60 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/residences-drilldown-d.html b/mockup/map/fp/residences-drilldown-d.html new file mode 100755 index 0000000..7ed27c8 --- /dev/null +++ b/mockup/map/fp/residences-drilldown-d.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/residences-drilldown-e.html b/mockup/map/fp/residences-drilldown-e.html new file mode 100755 index 0000000..9f1f8a4 --- /dev/null +++ b/mockup/map/fp/residences-drilldown-e.html @@ -0,0 +1,57 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/residences-drilldown-f.html b/mockup/map/fp/residences-drilldown-f.html new file mode 100755 index 0000000..7aafd98 --- /dev/null +++ b/mockup/map/fp/residences-drilldown-f.html @@ -0,0 +1,60 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/residences-drilldown-n.html b/mockup/map/fp/residences-drilldown-n.html new file mode 100755 index 0000000..fc4cb94 --- /dev/null +++ b/mockup/map/fp/residences-drilldown-n.html @@ -0,0 +1,57 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/residences-drilldown-r.html b/mockup/map/fp/residences-drilldown-r.html new file mode 100755 index 0000000..4c79d94 --- /dev/null +++ b/mockup/map/fp/residences-drilldown-r.html @@ -0,0 +1,57 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/residences-drilldown-t.html b/mockup/map/fp/residences-drilldown-t.html new file mode 100755 index 0000000..69d3a43 --- /dev/null +++ b/mockup/map/fp/residences-drilldown-t.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/residences-drilldown-w.html b/mockup/map/fp/residences-drilldown-w.html new file mode 100755 index 0000000..f112937 --- /dev/null +++ b/mockup/map/fp/residences-drilldown-w.html @@ -0,0 +1,59 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/residences.html b/mockup/map/fp/residences.html new file mode 100755 index 0000000..827e536 --- /dev/null +++ b/mockup/map/fp/residences.html @@ -0,0 +1,50 @@ + + + + + + MIT Map: Browse Residences + + + + + + + + +

+ +
+ +

Browse Residences

+ + + +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/fp/rooms.html b/mockup/map/fp/rooms.html new file mode 100755 index 0000000..553658f --- /dev/null +++ b/mockup/map/fp/rooms.html @@ -0,0 +1,64 @@ + + + + + + MIT Map: Browse Selected Rooms + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/fp/streets.html b/mockup/map/fp/streets.html new file mode 100755 index 0000000..c42adc8 --- /dev/null +++ b/mockup/map/fp/streets.html @@ -0,0 +1,55 @@ + + + + + + MIT Map: Browse Streets & Landmarks + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/ip/building-name-drilldown-1.html b/mockup/map/ip/building-name-drilldown-1.html new file mode 100755 index 0000000..5d551ff --- /dev/null +++ b/mockup/map/ip/building-name-drilldown-1.html @@ -0,0 +1,63 @@ + + + + + + + MIT Map: Browse by Building Name + + + + + + + + +
+ +
+

Browse Buildings: 1-999

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/building-name-drilldown-a.html b/mockup/map/ip/building-name-drilldown-a.html new file mode 100755 index 0000000..533f1d9 --- /dev/null +++ b/mockup/map/ip/building-name-drilldown-a.html @@ -0,0 +1,91 @@ + + + + + + + MIT Map: Browse by Building Name + + + + + + + + + + + + + + diff --git a/mockup/map/ip/building-name-drilldown-d.html b/mockup/map/ip/building-name-drilldown-d.html new file mode 100755 index 0000000..d280b8e --- /dev/null +++ b/mockup/map/ip/building-name-drilldown-d.html @@ -0,0 +1,91 @@ + + + + + + + MIT Map: Browse by Building Name + + + + + + + + + + + + + + diff --git a/mockup/map/ip/building-name-drilldown-g.html b/mockup/map/ip/building-name-drilldown-g.html new file mode 100755 index 0000000..56b67e4 --- /dev/null +++ b/mockup/map/ip/building-name-drilldown-g.html @@ -0,0 +1,87 @@ + + + + + + + MIT Map: Browse by Building Name + + + + + + + + + + + + + + diff --git a/mockup/map/ip/building-name-drilldown-m.html b/mockup/map/ip/building-name-drilldown-m.html new file mode 100755 index 0000000..049f4bd --- /dev/null +++ b/mockup/map/ip/building-name-drilldown-m.html @@ -0,0 +1,94 @@ + + + + + + + MIT Map: Browse by Building Name + + + + + + + + + + + + + + diff --git a/mockup/map/ip/building-name-drilldown-r.html b/mockup/map/ip/building-name-drilldown-r.html new file mode 100755 index 0000000..4f27445 --- /dev/null +++ b/mockup/map/ip/building-name-drilldown-r.html @@ -0,0 +1,93 @@ + + + + + + + MIT Map: Browse by Building Name + + + + + + + + + + + + + + diff --git a/mockup/map/ip/building-name-drilldown-v.html b/mockup/map/ip/building-name-drilldown-v.html new file mode 100755 index 0000000..6753971 --- /dev/null +++ b/mockup/map/ip/building-name-drilldown-v.html @@ -0,0 +1,76 @@ + + + + + + + MIT Map: Browse by Building Name + + + + + + + + +
+ +
+

Browse Buildings: V-Z

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/building-name.html b/mockup/map/ip/building-name.html new file mode 100755 index 0000000..17adde2 --- /dev/null +++ b/mockup/map/ip/building-name.html @@ -0,0 +1,63 @@ + + + + + + + MIT Map: Browse by Building Name + + + + + + + + +
+ +
+

Browse Buildings by Name

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/building-number-drilldown-east.html b/mockup/map/ip/building-number-drilldown-east.html new file mode 100755 index 0000000..5e345d7 --- /dev/null +++ b/mockup/map/ip/building-number-drilldown-east.html @@ -0,0 +1,77 @@ + + + + + + + MIT Map: Browse Browse by Building Number + + + + + + + + + +
+ +
+

Browse Buildings: East Campus (E1-E70)

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/building-number-drilldown-main.html b/mockup/map/ip/building-number-drilldown-main.html new file mode 100755 index 0000000..6562be5 --- /dev/null +++ b/mockup/map/ip/building-number-drilldown-main.html @@ -0,0 +1,103 @@ + + + + + + + MIT Map: Browse Browse by Building Number + + + + + + + + + +
+ +
+

Browse Buildings: Main Campus (1-68)

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/building-number-drilldown-north.html b/mockup/map/ip/building-number-drilldown-north.html new file mode 100755 index 0000000..504a465 --- /dev/null +++ b/mockup/map/ip/building-number-drilldown-north.html @@ -0,0 +1,65 @@ + + + + + + + MIT Map: Browse Browse by Building Number + + + + + + + + + +
+ +
+

Browse Buildings: North Campus (N4-N57)

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/building-number-drilldown-northeast.html b/mockup/map/ip/building-number-drilldown-northeast.html new file mode 100755 index 0000000..cf8fea1 --- /dev/null +++ b/mockup/map/ip/building-number-drilldown-northeast.html @@ -0,0 +1,65 @@ + + + + + + + MIT Map: Browse Browse by Building Number + + + + + + + + + +
+ +
+

Browse Buildings: Northeast Campus (NE18-NE125)

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/building-number-drilldown-northwest.html b/mockup/map/ip/building-number-drilldown-northwest.html new file mode 100755 index 0000000..c1795a1 --- /dev/null +++ b/mockup/map/ip/building-number-drilldown-northwest.html @@ -0,0 +1,71 @@ + + + + + + + MIT Map: Browse Browse by Building Number + + + + + + + + + +
+ +
+

Browse Buildings: Northwest Campus (NW10-NW95)

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/building-number-drilldown-west copy.html b/mockup/map/ip/building-number-drilldown-west copy.html new file mode 100755 index 0000000..1a53347 --- /dev/null +++ b/mockup/map/ip/building-number-drilldown-west copy.html @@ -0,0 +1,91 @@ + + + + + + + MIT Map: Browse Browse by Building Number + + + + + + + + + +
+ +
+

Browse Buildings: West Campus (W1-WW15)

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/building-number.html b/mockup/map/ip/building-number.html new file mode 100755 index 0000000..772a094 --- /dev/null +++ b/mockup/map/ip/building-number.html @@ -0,0 +1,62 @@ + + + + + + + MIT Map: Browse Browse by Building Number + + + + + + + + + +
+ +
+

Browse Buildings by Number

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/courts.html b/mockup/map/ip/courts.html new file mode 100755 index 0000000..a5abc99 --- /dev/null +++ b/mockup/map/ip/courts.html @@ -0,0 +1,72 @@ + + + + + + + MIT Map: Browse Courts and Greenspace + + + + + + + + + +
+ +
+

Browse Courts and Greenspace

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/detail-26.html b/mockup/map/ip/detail-26.html new file mode 100755 index 0000000..7bc5b97 --- /dev/null +++ b/mockup/map/ip/detail-26.html @@ -0,0 +1,116 @@ + + + + + + + MIT Campus Map: Details + + + + + + + + + + + + + + + + +
+ +
+

Building 26 (Compton Laboratories)

+

Access Via 60 Vassar Street

+ + +
+
+
+
NW
+
N
+
NE
+
E
+
SE
+
S
+
SW
+
W
+ Loading +
+ +
+ Zoom In + Zoom Out + Recenter + Full Screen +
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + diff --git a/mockup/map/ip/detail-fullscreen.html b/mockup/map/ip/detail-fullscreen.html new file mode 100755 index 0000000..e74b74f --- /dev/null +++ b/mockup/map/ip/detail-fullscreen.html @@ -0,0 +1,67 @@ + + + + + + + MIT Campus Map: Full-Screen Map + + + + + + + + + + + + +
+
+ Zoom In + Zoom Out + Recenter + Options + Return to Detail +
+
+
NW
+
N
+
NE
+
E
+
SE
+
S
+
SW
+
W
+ Loading +
+
+ +
+
+
 
+
+

Labels for Fullscreen Map

+

+

+

+

+

+
+ + +
+
+
+
+ + + diff --git a/mockup/map/ip/detail.html b/mockup/map/ip/detail.html new file mode 100755 index 0000000..592a086 --- /dev/null +++ b/mockup/map/ip/detail.html @@ -0,0 +1,120 @@ + + + + + + + MIT Campus Map: Details + + + + + + + + + + + + + + + + +
+ +
+

Building N42 (Information Services & Technology)

+

211 Massachusetts Avenue

+ + +
+
+
+
NW
+
N
+
NE
+
E
+
SE
+
S
+
SW
+
W
+ Loading +
+ +
+ Zoom In + Zoom Out + Recenter + Full Screen +
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + diff --git a/mockup/map/ip/directions-car.html b/mockup/map/ip/directions-car.html new file mode 100755 index 0000000..b97d6a4 --- /dev/null +++ b/mockup/map/ip/directions-car.html @@ -0,0 +1,41 @@ + + + + + + + MIT Map: Directions to MIT + + + + + + + + + +
+ +
+

By Car

+

From the North (I-95 or I-93): If you are heading south on I-93, follow I-93 into Boston then follow the I-93 instructions below. If you are heading south on I-95, take the I-93 South exit (exit 37) then follow the instructions from I-93. Alternatively, take the I-90 East exit (Massachusetts Turnpike) from I-95 then follow the instructions from the West via I-90.

+

From the South (I-95 or I-93): If you are heading north on I-93, follow I-93 into Boston then follow the I-93 instructions below. If you are heading north on I-95, take the I-93 North exit then follow the instructions from I-93. Alternatively, take the I-90 East exit from I-95 then follow the instructions from I-90.

+

From the West (I-90) (Mass Turnpike): Follow I-90 east to the Cambridge/Brighton exit (exit 18). Following the signs to Cambridge, cross the River Street Bridge, and continue straight about 1 mile to Central Square. Turn right onto Massachusetts Avenue and follow Massachusetts Avenue for about a half mile. The main entrance to MIT will be on your left. If you cross the river again, you have gone too far.

+

From Route I-93: From I-93, take exit 26, and follow the signs to Back Bay along Storrow Drive West, approximately 1.5 miles, to the exit for Route 2A. The exit will be on the left, just before the Harvard Bridge (more appropriately called the Massachusetts Avenue Bridge). The Charles River will be on your right. As you cross the bridge, you will be looking at MIT - the Great Dome and academic facilities are on the right, the dormitories and athletic facilities are on the left.

+
+ +
+ + + + + diff --git a/mockup/map/ip/directions-google.html b/mockup/map/ip/directions-google.html new file mode 100755 index 0000000..e2e31d5 --- /dev/null +++ b/mockup/map/ip/directions-google.html @@ -0,0 +1,42 @@ + + + + + + + MIT Map: Directions to MIT + + + + + + + + + +
+ +
+

Finding MIT using Google Maps

+

To find MIT using Google Maps, use the address "77 Massachusetts Avenue, Cambridge MA 02139" as your reference point for general directions to MIT. This is the famous domed building at the center of campus.

+
+ + + +
+ + + + + diff --git a/mockup/map/ip/directions-hood.html b/mockup/map/ip/directions-hood.html new file mode 100755 index 0000000..8a71b90 --- /dev/null +++ b/mockup/map/ip/directions-hood.html @@ -0,0 +1,38 @@ + + + + + + + MIT Map: Directions to MIT + + + + + + + + + +
+ +
+

By Hood Blimp

+

Take the blimp to the tall building with all the glass windows (that would be the Hancock tower). Head north over the Charles River and have them put you down on top of the large, convex, concrete structure on the north shore of the river (that would be the Great Dome of MIT). Watch out for police cars on the roof.

+
+ +
+ + + + + diff --git a/mockup/map/ip/directions-location.html b/mockup/map/ip/directions-location.html new file mode 100755 index 0000000..1b60a8b --- /dev/null +++ b/mockup/map/ip/directions-location.html @@ -0,0 +1,39 @@ + + + + + + + MIT Map: Directions to MIT + + + + + + + + + +
+ +
+

Where is MIT?

+

Map

+

MIT is located on the north shore of the Charles River Basin in Cambridge, Massachusetts, USA. The campus is within 3 miles of two major interstate highways, less than 6 miles from a major international airport, and is accessible via public transportation. MIT is a 15-30 minute walk from downtown Boston (depending on the weather). MIT is a 30-40 minute walk from Harvard University (located just up the river from the MIT campus).

+
+ +
+ + + + + diff --git a/mockup/map/ip/directions-logan.html b/mockup/map/ip/directions-logan.html new file mode 100755 index 0000000..610fb84 --- /dev/null +++ b/mockup/map/ip/directions-logan.html @@ -0,0 +1,44 @@ + + + + + + + MIT Map: Directions to MIT + + + + + + + + + +
+ +
+

From Logan Airport

+

By taxi: Taxi fare from the airport is about $20-$25. During non-rush hour, the taxi ride will take about 15 minutes. During rush hour, the ride could take 30 minutes or more.

+

By subway: From any terminal at Logan Airport, take the Silver Line bus to South Station. At South Station, change to the Red Line subway to Kendall/MIT (inbound toward Alewife). Under normal conditions the ride will take about one-half hour and the fare is $1.70 (Charlie Card) or $2.00 (cash).

+

By car: Leaving the airport, follow the signs to the Sumner Tunnel. Enter the tunnel and stay in the right lane.
At the end of the tunnel, continue to stay in the right lane, start down an incline and bear to the right immediately at the sign for Storrow Drive.
Take Exit 26 for Cambridge/ Somerville. Follow the signs for Back Bay/Cambridge (do not take the exit for Cambridge/ Somerville).
Stay in the right lane and follow the signs for Storrow Drive Westbound.
After you pass under the pedestrian walkbridges, change to the left lane and take the exit on your left for 2A North.
Turn right onto the Harvard Bridge (Massachusetts Avenue).
MIT's main entrance is 77 Massachusetts Avenue, and it will be on the right at the second set of traffic lights.

+
+ + + +
+ + + + + diff --git a/mockup/map/ip/directions-parking.html b/mockup/map/ip/directions-parking.html new file mode 100755 index 0000000..e516948 --- /dev/null +++ b/mockup/map/ip/directions-parking.html @@ -0,0 +1,40 @@ + + + + + + + MIT Map: Directions to MIT + + + + + + + + + +
+ +
+

Parking Suggestions

+

Parking in Cambridge and Boston is generally not an enjoyable experience. Whenever possible, park your car at the hotel at which you are staying, and use public transportation to get to the MIT campus. If you must drive to the campus, there is both on- and off-street parking available, but most public parking is not very close to the center of the MIT campus (unless you arrive early in the morning or late in the evening).

+

There is metered parking on Massachusetts Avenue for short stays and evenings/weekends, as well as a number of lots at which you may park for a fee. These include Vassar St. Public Parking at the corner of Massachusetts Avenue and Vassar Street, University Park / Star Market Public Parking, and the Marriott Parking Garage on Ames St. and Broadway.

+

If you were invited to campus and a visitor parking hang tag was given to you, you may park in the lots specified on the hang tag. Please check the parking lot listing and plan your trip accordingly.

+
+ +
+ + + + + diff --git a/mockup/map/ip/directions-t.html b/mockup/map/ip/directions-t.html new file mode 100755 index 0000000..52bd6b0 --- /dev/null +++ b/mockup/map/ip/directions-t.html @@ -0,0 +1,39 @@ + + + + + + + MIT Map: Directions to MIT + + + + + + + + + +
+ +
+

By Public Transportation - MBTA ("The T")

+

Subway: Take the Red Line subway to the Kendall/MIT Station or to the Central Square Station, both of which are a short walk from campus. The walk from Central Square takes about 10 minutes and takes you right down Massachusetts Avenue. The Kendall/MIT Station is on the eastern side of campus, and as soon as you enter an MIT building you can get to the other buildings without going outside.

+

Bus: The #1 or Dudley/Harvard Station bus stops at MIT on Massachusetts Avenue and provides transportation to Central Square and Harvard Square (Northbound), and Boston (Southbound). The MIT stop is at a large crosswalk with a stoplight. On one side of the street are steps leading up to large Ionic columns and the small dome of MIT; on the other side of the street is the Stratton Student Center and Kresge Oval (an open, grass-covered area). Additionally, the CT1 (Crosstown bus) stops at the MIT stop on Massachusetts Avenue and the CT2 bus stops on the corner of Massachusetts Avenue and Vassar St. as well as Kendall Square T Station.

+
+ +
+ + + + + diff --git a/mockup/map/ip/directions.html b/mockup/map/ip/directions.html new file mode 100755 index 0000000..a1edc8d --- /dev/null +++ b/mockup/map/ip/directions.html @@ -0,0 +1,43 @@ + + + + + + + MIT Map: Directions to MIT + + + + + + + + + + + + + + + diff --git a/mockup/map/ip/food.html b/mockup/map/ip/food.html new file mode 100755 index 0000000..4e38c79 --- /dev/null +++ b/mockup/map/ip/food.html @@ -0,0 +1,91 @@ + + + + + + + MIT Map: Browse Food Services + + + + + + + + + + + + + + + diff --git a/mockup/map/ip/help.html b/mockup/map/ip/help.html new file mode 100755 index 0000000..9a8d4be --- /dev/null +++ b/mockup/map/ip/help.html @@ -0,0 +1,62 @@ + + + + + + + MIT Campus Map: Help + + + + + + + + +
+ +
+

The online campus map provides the MIT community and visitors with an easy-to-use way to locate an MIT building, room, or location; to find a department or office; to create a custom map for use on their own web site; and to print a map for reference.

+ +

+ The new online campus map serves images in real time from the official MIT maps maintained by the Department of Facilities.

+ +
    +
  • Source: The mapping system draws from the official MIT maps from the Department of Facilities, including MIT buildings, parking lots, green areas, and named features such as “Killian Court.”
  • +
  • Zoom: Use the zoom bars to zoom in or out.
  • +
  • Locate: To find a specific feature on the map, search or browse from the map homepage. Your query + will generate a map that includes the requested features highlighted.
  • +
  • Information: When you select a building, the default building information display includes the street address, mailing address, + the architect’s name, and a photograph of the building when available.
  • +
+ +

Credits

+

The new online campus map was developed by the Department of Facilities and Information Services & Technology (IS&T). Design was provided by Pentagram. The campus map was made possible by the joint effort of the following people:

+
    +
  • Gordon Clark, Information Services & Technology
  • +
  • David Conlon, Information Services & Technology
  • +
  • Greg Knight, Department of Facilities
  • +
  • Suzana Lisanti, Information Services & Technology
  • +
  • Mike Parkin, Department of Facilities
  • +
  • Hubert Pham, MIT Student Consultant
  • +
  • Tuan Phan, MIT alumnus
  • +
  • Daniel Sheehan, Information Services & Technology
  • +
  • Alex Vandiver, MIT Student Consultant
  • +
  • Margaret Wong, Information Services & Technology
  • +
+ +

The latest development update was made on 05/22/2006, which included updated information from the MIT Department of Facilities, City of Boston, City of Cambridge, the Town of Brookline, and updated Ortho Imagery from MassGIS.

+
+ +
+ + + + + diff --git a/mockup/map/ip/images/blank.gif b/mockup/map/ip/images/blank.gif new file mode 100755 index 0000000..6305291 Binary files /dev/null and b/mockup/map/ip/images/blank.gif differ diff --git a/mockup/map/ip/images/buttons-reverse.png b/mockup/map/ip/images/buttons-reverse.png new file mode 100755 index 0000000..6339abe Binary files /dev/null and b/mockup/map/ip/images/buttons-reverse.png differ diff --git a/mockup/map/ip/images/buttons.png b/mockup/map/ip/images/buttons.png new file mode 100755 index 0000000..fba89f1 Binary files /dev/null and b/mockup/map/ip/images/buttons.png differ diff --git a/mockup/map/ip/images/scrollers.png b/mockup/map/ip/images/scrollers.png new file mode 100755 index 0000000..cb12305 Binary files /dev/null and b/mockup/map/ip/images/scrollers.png differ diff --git a/mockup/map/ip/index.html b/mockup/map/ip/index.html new file mode 100755 index 0000000..d21c39a --- /dev/null +++ b/mockup/map/ip/index.html @@ -0,0 +1,77 @@ + + + + + + + MIT Campus Map + + + + + + + + +
+ +
+
+
+ + +
+
+

Search tip: You can search by any category shown in the 'Browse by' list below.

+
+ +
+

Browse map by:

+
+ + + + + +
+ + + + + diff --git a/mockup/map/ip/javascripts/map-ip copy.js b/mockup/map/ip/javascripts/map-ip copy.js new file mode 100755 index 0000000..47e5fc6 --- /dev/null +++ b/mockup/map/ip/javascripts/map-ip copy.js @@ -0,0 +1,309 @@ +// Set initial values for drawing the map image +var mapW, mapH; // integers: width and height of map image +var zoom = 0; // integer: zoom level -- should always default to 0 +var mapBoxW = initMapBoxW; // integer: western bound of map image (per IMS map API) +var mapBoxN = initMapBoxN; // integer: northern bound of map image (per IMS map API) +var mapBoxS = initMapBoxS; // integer: southern bound of map image (per IMS map API) +var mapBoxE = initMapBoxE; // integer: eastern bound of map image (per IMS map API) +var hasMoved = false; // boolean: has the map been scrolled or zoomed? +var maxZoom = 2; // integer: max zoom-in level +var minZoom = -8; // integer: max zoom-out level +var mapBaseURL = "http://ims.mit.edu/WMS_MS/WMS.asp?request=getmap&version=1.1.1"; // base URL for an image served by the mapping engine +var detailBaseURL = "detail.html?"; // base URL for the normal map detail screen +var fullscreenBaseURL = "detail-fullscreen.html?"; // base URL for the fullscreen map detail screen +var mapLayers = "Towns,Hydro,Greenspace,Sport,Courtyards,Roads,Rail,Landmarks,Parking,Other+Buildings,Buildings,bldg-iden-14,road-iden-14,greens-iden-12,landmarks-iden-12"; +var mapOptions = "&selectfield=facility&selectlayer=Buildings"; + + +function jumpbrowse(objSelect) { +// Use the value of the 'browse by' select control to jump to a different browse page + if(objSelect) { + switch(objSelect.value) { + case "number": + document.location.href="building-number.html"; + break; + case "name": + document.location.href="building-name.html"; + break; + case "residences": + document.location.href="residences.html"; + break; + case "rooms": + document.location.href="rooms.html"; + break; + case "streets": + document.location.href="streets.html"; + break; + case "courts": + document.location.href="courts.html"; + break; + case "food": + document.location.href="food.html"; + break; + case "parking": + document.location.href="parking.html"; + break; + } + } +} + + +function loadImage(imageURL,imageID) { +// Loads an image from the given URL into the image with the specified ID + var objMap = document.getElementById(imageID); + show("loadingimage"); + if(objMap) { + if(imageURL!="") { + objMap.src = imageURL; + } else { + objMap.src = "../../images/ip/blank.png"; + } + } + // Since we're loading a new map image, update the link(s) to switch between fullscreen and smallscreen modes + var objFullscreen = document.getElementById("fullscreen"); + if(objFullscreen) { + objFullscreen.href = getMapURL(fullscreenBaseURL); + } + var objSmallscreen = document.getElementById("smallscreen"); + if(objSmallscreen) { + objSmallscreen.href = getMapURL(detailBaseURL); + } +} + + +function getMapURL(strBaseURL) { + // Returns a full URL for a map page or map image, using strBaseURL as the base + var newURL = strBaseURL + "&width=" + mapW + "&height=" + mapH + "&selectvalues=" + mapSelect + "&bbox=" + mapBoxW + "," + mapBoxS + "," + mapBoxE + "," + mapBoxN + "&layers=" + mapLayers + mapOptions; + return(newURL); +} + + +function scroll(dir) { +// Scrolls the map image in the cardinal direction given by dir; amount of scrolling is scaled to zoom level and the pixel dimensions of the map image + var objMap = document.getElementById("mapimage"); + if(objMap) { + var mapDX, mapDY; + if(zoom minZoom) { + mapBoxN = mapBoxN + (mapH/2); + mapBoxS = mapBoxS - (mapH/2); + mapBoxE = mapBoxE + (mapW/2); + mapBoxW = mapBoxW - (mapW/2); + loadImage(getMapURL(mapBaseURL),'mapimage'); + zoom--; + } + if(zoom <= minZoom) { // If we've reached the min zoom level + disable('zoomout'); + } + checkIfMoved(); +} + + +function zoomin() { +// Zoom the map in by an amount scaled to the pixel dimensions of the map image + enable('zoomout'); + if(zoom < maxZoom) { + mapBoxN = mapBoxN - (mapH/2); + mapBoxS = mapBoxS + (mapH/2); + mapBoxE = mapBoxE - (mapW/2); + mapBoxW = mapBoxW + (mapW/2); + loadImage(getMapURL(mapBaseURL),'mapimage'); + zoom++; + } + if(zoom >= maxZoom) { // If we've reached the max zoom level + disable('zoomin'); + } + checkIfMoved(); +} + + +function rotateMap() { +// Load a rotated map image + var objMap = document.getElementById("mapimage"); + + // insert some code here to calculate the full URL w/ arguments for the map graphic in both tall (tallMapURL) and wide (wideMapURL) versions + + if(objMap) { + show("loadingimage"); + switch(window.orientation) + { + case 0: + case 180: + mapW = 320; + mapH = 416; + break; + + case -90: + case 90: + mapW = 480; + mapH = 268; + break; + + } + loadImage(getMapURL(mapBaseURL),'mapimage'); + } +} + + + +function rotateMapAlternate() { +// Load a rotated map image - needs work to get innerWidth and innerHeight working correctly -- will be required once firmware 2.0 is released enabling full-screen chromeless browsing + var objMap = document.getElementById("mapimage"); + if(objMap) { + show("loadingimage"); + mapW = window.innerWidth; + mapH = window.innerHeight; + loadImage(getMapURL(mapBaseURL),'mapimage'); + alert(mapW + " x " + mapH); + } +} + + + +function checkIfMoved() { +// Check to see if the map has been moved (zoomed or scrolled) away from its initial position, and disable/enable the 'recenter' button accordingly + hasMoved = !((mapBoxW == initMapBoxW) && (mapBoxN == initMapBoxN) && (mapBoxS == initMapBoxS) && (mapBoxE == initMapBoxE)); + if(hasMoved) { + enable('recenter'); + } else { + disable('recenter'); + } + +} + + +function disable(strID) { +// Visually dims and disables the anchor whose id is strID + var objA = document.getElementById(strID); + if(objA) { + if(objA.className.indexOf("disabled") == -1) { // only disable if it's not already disabled! + objA.className = objA.className + " disabled"; + } + } +} + + +function enable(strID) { +// Visually undims and re-enables the anchor whose id is strID + var objA = document.getElementById(strID); + if(objA) { + objA.className = objA.className.replace("disabled",""); + } +} + + +function saveOptions(strFormID) { +// Applies full-screen map-option changes and hides the form + var newLayers = "Towns,Hydro"; + + // Code to manipulate the string newLayers should go here, based on what the user toggled in the form + + if(document.mapform.chkCourts.checked) { newLayers = newLayers + "," + document.mapform.chkCourts.value; } + if(document.mapform.chkRoads.checked) { newLayers = newLayers + "," + document.mapform.chkRoads.value; } + if(document.mapform.chkRail.checked) { newLayers = newLayers + "," + document.mapform.chkRail.value; } + if(document.mapform.chkLandmarks.checked) { newLayers = newLayers + "," + document.mapform.chkLandmarks.value; } + if(document.mapform.chkParking.checked) { newLayers = newLayers + "," + document.mapform.chkParking.value; } + if(document.mapform.chkBuildings.checked) { newLayers = newLayers + "," + document.mapform.chkBuildings.value; } + if(document.mapform.chkLabelBuildings.checked) { newLayers = newLayers + "," + document.mapform.chkLabelBuildings.value; } + if(document.mapform.chkLabelRoads.checked) { newLayers = newLayers + "," + document.mapform.chkLabelRoads.value; } + if(document.mapform.chkLabelCourts.checked) { newLayers = newLayers + "," + document.mapform.chkLabelCourts.value; } + if(document.mapform.chkLabelLandmarks.checked) { newLayers = newLayers + "," + document.mapform.chkLabelLandmarks.value; } + + if(newLayers!=mapLayers) { // Only load a new map image if the user actually changed some options + mapLayers = newLayers; + loadImage(getMapURL(mapBaseURL),'mapimage'); + } + + hide("options"); +} + + +function cancelOptions(strFormID) { +// Should cancel map-option changes and hide the form; this is just a stub for future real function + var objForm = document.getElementById(strFormID); + if(objForm) { objForm.reset() } + hide("options"); +} + + diff --git a/mockup/map/ip/javascripts/map-ip.js b/mockup/map/ip/javascripts/map-ip.js new file mode 100755 index 0000000..a9af6ec --- /dev/null +++ b/mockup/map/ip/javascripts/map-ip.js @@ -0,0 +1,304 @@ +// Set initial values for drawing the map image +var mapW, mapH; // integers: width and height of map image +var zoom = 0; // integer: zoom level -- should always default to 0 +var mapBoxW = initMapBoxW; // integer: western bound of map image (per IMS map API) +var mapBoxN = initMapBoxN; // integer: northern bound of map image (per IMS map API) +var mapBoxS = initMapBoxS; // integer: southern bound of map image (per IMS map API) +var mapBoxE = initMapBoxE; // integer: eastern bound of map image (per IMS map API) +var hasMoved = false; // boolean: has the map been scrolled or zoomed? +var maxZoom = 2; // integer: max zoom-in level +var minZoom = -8; // integer: max zoom-out level +var mapBaseURL = "http://ims.mit.edu/WMS_MS/WMS.asp?request=getmap&version=1.1.1"; // base URL for an image served by the mapping engine +var detailBaseURL = "detail.html?"; // base URL for the normal map detail screen +var fullscreenBaseURL = "detail-fullscreen.html?"; // base URL for the fullscreen map detail screen +var mapLayers = "Towns,Hydro,Greenspace,Sport,Courtyards,Roads,Rail,Landmarks,Parking,Other+Buildings,Buildings,bldg-iden-14,road-iden-14,greens-iden-12,landmarks-iden-12"; +var mapOptions = "&selectfield=facility&selectlayer=Buildings"; + + +function jumpbrowse(objSelect) { +// Use the value of the 'browse by' select control to jump to a different browse page + if(objSelect) { + switch(objSelect.value) { + case "number": + document.location.href="building-number.html"; + break; + case "name": + document.location.href="building-name.html"; + break; + case "residences": + document.location.href="residences.html"; + break; + case "rooms": + document.location.href="rooms.html"; + break; + case "streets": + document.location.href="streets.html"; + break; + case "courts": + document.location.href="courts.html"; + break; + case "food": + document.location.href="food.html"; + break; + case "parking": + document.location.href="parking.html"; + break; + } + } +} + + +function loadImage(imageURL,imageID) { +// Loads an image from the given URL into the image with the specified ID + var objMap = document.getElementById(imageID); + show("loadingimage"); + if(objMap) { + if(imageURL!="") { + objMap.src = imageURL; + } else { + objMap.src = "../../images/ip/blank.png"; + } + } + // Since we're loading a new map image, update the link(s) to switch between fullscreen and smallscreen modes + var objFullscreen = document.getElementById("fullscreen"); + if(objFullscreen) { + objFullscreen.href = getMapURL(fullscreenBaseURL); + } + var objSmallscreen = document.getElementById("smallscreen"); + if(objSmallscreen) { + objSmallscreen.href = getMapURL(detailBaseURL); + } +} + + +function getMapURL(strBaseURL) { + // Returns a full URL for a map page or map image, using strBaseURL as the base + var newURL = strBaseURL + "&width=" + mapW + "&height=" + mapH + "&selectvalues=" + mapSelect + "&bbox=" + mapBoxW + "," + mapBoxS + "," + mapBoxE + "," + mapBoxN + "&layers=" + mapLayers + mapOptions; + return(newURL); +} + + +function scroll(dir) { +// Scrolls the map image in the cardinal direction given by dir; amount of scrolling is scaled to zoom level and the pixel dimensions of the map image + var objMap = document.getElementById("mapimage"); + if(objMap) { + var mapDX, mapDY; + if(zoom minZoom) { + mapBoxN = mapBoxN + (mapH/2); + mapBoxS = mapBoxS - (mapH/2); + mapBoxE = mapBoxE + (mapW/2); + mapBoxW = mapBoxW - (mapW/2); + loadImage(getMapURL(mapBaseURL),'mapimage'); + zoom--; + } + if(zoom <= minZoom) { // If we've reached the min zoom level + disable('zoomout'); + } + checkIfMoved(); +} + + +function zoomin() { +// Zoom the map in by an amount scaled to the pixel dimensions of the map image + enable('zoomout'); + if(zoom < maxZoom) { + mapBoxN = mapBoxN - (mapH/2); + mapBoxS = mapBoxS + (mapH/2); + mapBoxE = mapBoxE - (mapW/2); + mapBoxW = mapBoxW + (mapW/2); + loadImage(getMapURL(mapBaseURL),'mapimage'); + zoom++; + } + if(zoom >= maxZoom) { // If we've reached the max zoom level + disable('zoomin'); + } + checkIfMoved(); +} + + +function rotateMap() { +// Load a rotated map image + var objMap = document.getElementById("mapimage"); + + // insert some code here to calculate the full URL w/ arguments for the map graphic in both tall (tallMapURL) and wide (wideMapURL) versions + + if(objMap) { + show("loadingimage"); + switch(window.orientation) + { + case 0: + case 180: + mapW = 320; + mapH = 416; + break; + + case -90: + case 90: + mapW = 480; + mapH = 268; + break; + + } + loadImage(getMapURL(mapBaseURL),'mapimage'); + } +} + + + +function rotateMapAlternate() { +// Load a rotated map image - needs work to get innerWidth and innerHeight working correctly -- will be required once firmware 2.0 is released enabling full-screen chromeless browsing + var objMap = document.getElementById("mapimage"); + if(objMap) { + show("loadingimage"); + mapW = window.innerWidth; + mapH = window.innerHeight; + loadImage(getMapURL(mapBaseURL),'mapimage'); + alert(mapW + " x " + mapH); + } +} + + + +function checkIfMoved() { +// Check to see if the map has been moved (zoomed or scrolled) away from its initial position, and disable/enable the 'recenter' button accordingly + hasMoved = !((mapBoxW == initMapBoxW) && (mapBoxN == initMapBoxN) && (mapBoxS == initMapBoxS) && (mapBoxE == initMapBoxE)); + if(hasMoved) { + enable('recenter'); + } else { + disable('recenter'); + } + +} + + +function disable(strID) { +// Visually dims and disables the anchor whose id is strID + var objA = document.getElementById(strID); + if(objA) { + if(objA.className.indexOf("disabled") == -1) { // only disable if it's not already disabled! + objA.className = objA.className + " disabled"; + } + } +} + + +function enable(strID) { +// Visually undims and re-enables the anchor whose id is strID + var objA = document.getElementById(strID); + if(objA) { + objA.className = objA.className.replace("disabled",""); + } +} + + +function saveOptions(strFormID) { +// Applies full-screen map-option changes and hides the form + var newLayers = "Towns,Hydro,Greenspace,Sport,Courtyards,Roads,Rail,Landmarks,Parking,Other+Buildings,Buildings,"; + + // Code to manipulate the string newLayers should go here, based on what the user toggled in the form + + if(document.mapform.chkLabelBuildings.checked) { newLayers = newLayers + "," + document.mapform.chkLabelBuildings.value; } + if(document.mapform.chkLabelRoads.checked) { newLayers = newLayers + "," + document.mapform.chkLabelRoads.value; } + if(document.mapform.chkLabelCourts.checked) { newLayers = newLayers + "," + document.mapform.chkLabelCourts.value; } + if(document.mapform.chkLabelLandmarks.checked) { newLayers = newLayers + "," + document.mapform.chkLabelLandmarks.value; } + if(document.mapform.chkLabelParking.checked) { newLayers = newLayers + "," + document.mapform.chkLabelParking.value; } + + if(newLayers!=mapLayers) { // Only load a new map image if the user actually changed some options + mapLayers = newLayers; + loadImage(getMapURL(mapBaseURL),'mapimage'); + } + + hide("options"); +} + + +function cancelOptions(strFormID) { +// Should cancel map-option changes and hide the form; this is just a stub for future real function + var objForm = document.getElementById(strFormID); + if(objForm) { objForm.reset() } + hide("options"); +} + + diff --git a/mockup/map/ip/parking.html b/mockup/map/ip/parking.html new file mode 100755 index 0000000..bd7a284 --- /dev/null +++ b/mockup/map/ip/parking.html @@ -0,0 +1,91 @@ + + + + + + + MIT Map: Browse Parking Lots + + + + + + + + + + + + + + + diff --git a/mockup/map/ip/residences-drilldown-1.html b/mockup/map/ip/residences-drilldown-1.html new file mode 100755 index 0000000..9aea549 --- /dev/null +++ b/mockup/map/ip/residences-drilldown-1.html @@ -0,0 +1,74 @@ + + + + + + + MIT Map: Browse Browse by Building Number + + + + + + + + + +
+ +
+

Browse Residences: 1-B

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/residences-drilldown-c.html b/mockup/map/ip/residences-drilldown-c.html new file mode 100755 index 0000000..9f0a64e --- /dev/null +++ b/mockup/map/ip/residences-drilldown-c.html @@ -0,0 +1,74 @@ + + + + + + + MIT Map: Browse Browse by Building Number + + + + + + + + + +
+ +
+

Browse Residences: C-E

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/residences-drilldown-f.html b/mockup/map/ip/residences-drilldown-f.html new file mode 100755 index 0000000..c975804 --- /dev/null +++ b/mockup/map/ip/residences-drilldown-f.html @@ -0,0 +1,73 @@ + + + + + + + MIT Map: Browse Browse by Building Number + + + + + + + + + +
+ +
+

Browse Residences: F-O

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/residences-drilldown-p.html b/mockup/map/ip/residences-drilldown-p.html new file mode 100755 index 0000000..9c4594e --- /dev/null +++ b/mockup/map/ip/residences-drilldown-p.html @@ -0,0 +1,75 @@ + + + + + + + MIT Map: Browse Browse by Building Number + + + + + + + + + +
+ +
+

Browse Residences: P-S

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/residences-drilldown-t.html b/mockup/map/ip/residences-drilldown-t.html new file mode 100755 index 0000000..c8d584d --- /dev/null +++ b/mockup/map/ip/residences-drilldown-t.html @@ -0,0 +1,74 @@ + + + + + + + MIT Map: Browse Browse by Building Number + + + + + + + + + +
+ +
+

Browse Residences: T-Z

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/residences.html b/mockup/map/ip/residences.html new file mode 100755 index 0000000..319b1a6 --- /dev/null +++ b/mockup/map/ip/residences.html @@ -0,0 +1,61 @@ + + + + + + + MIT Map: Browse Residences + + + + + + + + + +
+ +
+

Browse Residences

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/rooms.html b/mockup/map/ip/rooms.html new file mode 100755 index 0000000..5209e92 --- /dev/null +++ b/mockup/map/ip/rooms.html @@ -0,0 +1,78 @@ + + + + + + + MIT Map: Browse Selected Rooms + + + + + + + + + +
+ +
+

Browse Selected Rooms

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/streets.html b/mockup/map/ip/streets.html new file mode 100755 index 0000000..bb6b7c1 --- /dev/null +++ b/mockup/map/ip/streets.html @@ -0,0 +1,69 @@ + + + + + + + MIT Map: Browse Streets & Landmarks + + + + + + + + + +
+ +
+

Browse Streets & Landmarks

+
+ + + +
+
+ +
+
+ +
+ + + + + diff --git a/mockup/map/ip/styles/map-ip.css b/mockup/map/ip/styles/map-ip.css new file mode 100755 index 0000000..221769a --- /dev/null +++ b/mockup/map/ip/styles/map-ip.css @@ -0,0 +1,466 @@ +h2 { + margin-bottom: 0; +} + +#photo { +} + +#phototab { + text-align: center; +} + +#phototab img { + margin-bottom: 8px +} + +#mapimage { + margin: -7px -7px 5px -7px; + border: 1px solid #999; + background-color: #fff; +} + +#mapscrollers { + position: absolute; + z-index: 10; + width: 292px; + height: 192px; + top: -7px; + left: -7px; +} + +#mapscrollers div { + position: absolute; + width: 50px; + height: 50px; + text-align: center; + padding: 0; + z-index: 10; + background-image: url(../images/scrollers.png); + background-repeat: no-repeat; +} + +#nw { + top: 0; + left: 0; + background-position: -350px 0px; +} + +#n { + top: 0; + left: 50%; + margin-left: -25px; + background-position: 0px 0px; +} + +#ne { + top: 0; + right: 0; + background-position: -200px 0px; +} + +#e { + top: 50%; + margin-top: -25px; + right: 0; + background-position: -50px 0px; +} + +#se { + bottom: 0; + right: 0; + background-position: -250px 0px; +} + +#s { + bottom: 0; + left: 50%; + margin-left: -25px; + background-position: -100px 0px; +} + +#sw { + bottom: 0; + left: 0; + background-position: -300px 0px; +} + +#w { + top: 50%; + margin-top: -25px; + left: 0; + background-position: -150px 0px; +} + +#mapzoom { + position: relative; + height: 34px; + margin: -3px; +} + +#mapzoom a { + display: block; + position: absolute; + width: 40px; + height: 34px; + background-image: url(../images/buttons.png); + background-repeat: no-repeat; +} + +#zoomin { + top: 0; + left: 7%; + margin: 0 0 0 -19px; + background-position: 0 0; +} + +#zoomout { + top: 0; + left: 23%; + margin: 0 0 0 -16px; + background-position: -40px 0; +} + +#recenter { + top: 0; + left: 58%; + margin: 0 0 0 -19px; + background-position: -120px 0; +} + +#fullscreen { + top: 0; + bottom: auto; + right: 7%; + margin: 0 -19px 0 0; + background-position: -80px 0; +} + +#viewoptions { + background-position: -160px 0; +} + +#loadingimage { + position: absolute; + z-index: 100; + top: 50%; + left: 50%; + margin-left: -20px; + margin-top: -20px; + opacity: 0.75; +} + +#options { + display: none; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 200; +} + +#scrim { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + background-color: #162d4b; + opacity: 0.5; +} + +#mapform { + position: absolute; + top: 9px; + bottom: 9px; + left: 9px; + right: 9px; + padding: 15px; + margin: 0; + background-color: #162d4b; + color: #fff; + -webkit-border-radius: 12px; + opacity: 0.85 +} + +#options h2 { + color: #fff; + margin-bottom: 12px; +} + +#options h3 { + color: #fff; + margin-bottom: 12px; +} + +#options form p { + margin-bottom: 0.5em; +} + +#options th { + color: #b0b6b9; + padding: 0 7px 6px 0; + text-align: center; + font-size: 16px; + line-height: 1em; +} + +#options th:first-child { + text-align: left; +} + +#options th.lastcol { + padding-right: 0; +} + +#options td { + color: #fff; + padding: 5px 0; + text-align: center; + font-size: 16px; + line-height: 1em; +} + +#options td:first-child { + text-align: left; +} + +#options input, #options button { + font-size: 15px; +} + +#options .check { + width: 23px; + height: 23px; +} + + + +/* Fullscreen in portrait (tall) orientation */ + +body.portrait { + width: 320px!important; + height: 416px!important; + margin: 0; + padding: 0; + overflow: hidden; +} + +body.portrait #container { + position: absolute; + overflow: hidden; + top: 0; + left: 0; + width: 320px!important; + height: 416px!important; + margin: 0; + padding: 0; +} + +body.portrait #mapscrollers { + width: 320px; + height: 374px; + top: 42px; + left: 0; +} + +body.portrait #mapzoom { + position: absolute; + top: 0; + left: 0; + width: 320px; + height: 42px; + padding: 0; + background-color: #69819e; + border-bottom: 1px solid #123; + opacity: 0.85; + margin: 0; +} + +body.portrait #mapzoom a { + background-image: url(../images/buttons-reverse.png); +} + +body.portrait #zoomin { + position: absolute; + top: 5px; + bottom: auto; + right: auto; + left: 10%; + margin-left: -19px; +} + +body.portrait #zoomout { + position: absolute; + top: 5px; + bottom: auto; + right: auto; + left: 30%; + margin-left: -19px; +} + +body.portrait #recenter { + position: absolute; + top: 5px; + bottom: auto; + right: auto; + left: 50%; + margin-left: -19px; +} + +body.portrait #viewoptions { + position: absolute; + top: 5px; + bottom: auto; + right: auto; + left: 70%; + margin-left: -19px; +} + +body.portrait #smallscreen { + position: absolute; + top: 5px; + bottom: auto; + right: 10%; + left: auto; + margin-right: -19px; + background-position: -80px 0; +} + +body.portrait #mapimage { + margin: 0; + width: 320px; + height: 416px; +} + +body.portrait #formbuttons { + position: absolute; + left: 12px; + bottom: 14px; +} + + + + +/* Fullscreen mode in wide (landscape) orientation */ + +body.landscape { + width: 480px!important; + height: 269px!important; + margin: 0; + padding: 0; + overflow: hidden; +} + +body.landscape #container { + position: absolute; + top: 0; + left: 0; + width: 480px!important; + height: 269px!important; + min-height: 0px!important; + margin: 0; + padding: 0; + overflow: hidden; +} + +body.landscape #mapscrollers { + width: 436px; + height: 269px; + top: 0; + left: 0; +} + +body.landscape #mapzoom { + position: absolute; + top: 0; + right: 0; + width: 42px; + height: 269px; + padding: 0; + margin: 0; + background-color: #69819e; + border-bottom: none; + opacity: 0.85; +} + +body.landscape #mapzoom a { + background-image: url(../images/buttons-reverse.png); +} + +body.landscape #zoomin { + top: 10%; + bottom: auto; + right: 1px; + left: auto; + margin: -16px 0 0 0; +} + +body.landscape #zoomout { + top: 30%; + bottom: auto; + right: 1px; + left: auto; + margin: -16px 0 0 0; +} + +body.landscape #recenter { + top: 50%; + bottom: auto; + right: 1px; + left: auto; + margin: -16px 0 0 0; +} + +body.landscape #viewoptions { + top: 70%; + bottom: auto; + right: 1px; + left: auto; + margin: -16px 0 0 0; +} + +body.landscape #smallscreen { + top: auto; + bottom: 10%; + right: 1px; + left: auto; + margin: 0 0 -16px 0; + background-position: -80px 0; +} + +body.landscape #mapimage { + margin: 0; + width: 480px; + height: 268px; +} + +body.landscape #formbuttons { + position: absolute; + top: 12px; + right: 12px; +} + +body.landscape #mapform { + margin: 0; +} + +body.landscape #options { + font-size: 15px; +} + +body.landscape #options th { + font-size: 15px; + padding: 0 7px 4px 0; +} + +body.landscape #options td { + font-size: 15px; + padding: 1px 0 0 0; +} + +body.landscape #options .check { + width: 20px; + height: 20px; +} + diff --git a/mockup/map/sp/building-name-drilldown-1.html b/mockup/map/sp/building-name-drilldown-1.html new file mode 100755 index 0000000..95cce69 --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-1.html @@ -0,0 +1,54 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-a.html b/mockup/map/sp/building-name-drilldown-a.html new file mode 100755 index 0000000..f588ac6 --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-a.html @@ -0,0 +1,60 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-b.html b/mockup/map/sp/building-name-drilldown-b.html new file mode 100755 index 0000000..3748817 --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-b.html @@ -0,0 +1,59 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-c.html b/mockup/map/sp/building-name-drilldown-c.html new file mode 100755 index 0000000..50ef00e --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-c.html @@ -0,0 +1,56 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-d.html b/mockup/map/sp/building-name-drilldown-d.html new file mode 100755 index 0000000..cb9e60f --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-d.html @@ -0,0 +1,58 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-e.html b/mockup/map/sp/building-name-drilldown-e.html new file mode 100755 index 0000000..0c2f142 --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-e.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-f.html b/mockup/map/sp/building-name-drilldown-f.html new file mode 100755 index 0000000..4bed010 --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-f.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-g.html b/mockup/map/sp/building-name-drilldown-g.html new file mode 100755 index 0000000..4bb6baf --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-g.html @@ -0,0 +1,52 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-h.html b/mockup/map/sp/building-name-drilldown-h.html new file mode 100755 index 0000000..6060fd9 --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-h.html @@ -0,0 +1,56 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-i.html b/mockup/map/sp/building-name-drilldown-i.html new file mode 100755 index 0000000..d3e511a --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-i.html @@ -0,0 +1,56 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-l.html b/mockup/map/sp/building-name-drilldown-l.html new file mode 100755 index 0000000..c887ffd --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-l.html @@ -0,0 +1,54 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-m.html b/mockup/map/sp/building-name-drilldown-m.html new file mode 100755 index 0000000..ffa49bf --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-m.html @@ -0,0 +1,63 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-n.html b/mockup/map/sp/building-name-drilldown-n.html new file mode 100755 index 0000000..0c1e162 --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-n.html @@ -0,0 +1,69 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-r.html b/mockup/map/sp/building-name-drilldown-r.html new file mode 100755 index 0000000..eefdcc6 --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-r.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-s.html b/mockup/map/sp/building-name-drilldown-s.html new file mode 100755 index 0000000..21e93c5 --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-s.html @@ -0,0 +1,67 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-t.html b/mockup/map/sp/building-name-drilldown-t.html new file mode 100755 index 0000000..8782602 --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-t.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name-drilldown-w.html b/mockup/map/sp/building-name-drilldown-w.html new file mode 100755 index 0000000..d15e9e4 --- /dev/null +++ b/mockup/map/sp/building-name-drilldown-w.html @@ -0,0 +1,69 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/building-name.html b/mockup/map/sp/building-name.html new file mode 100755 index 0000000..cd41b07 --- /dev/null +++ b/mockup/map/sp/building-name.html @@ -0,0 +1,59 @@ + + + + + + MIT Campus Map: Browse by Building Name + + + + + + + + +

+ +
+ +

Browse Buildings by Name

+ + + +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/sp/building-number-drilldown-1.html b/mockup/map/sp/building-number-drilldown-1.html new file mode 100755 index 0000000..d82e0a2 --- /dev/null +++ b/mockup/map/sp/building-number-drilldown-1.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Main Campus`: 1-10

+ +

+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 6B
+ 6C
+ 7
+ 7A
+ 8
+ 9
+ 10
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/sp/building-number-drilldown-11.html b/mockup/map/sp/building-number-drilldown-11.html new file mode 100755 index 0000000..555ffd5 --- /dev/null +++ b/mockup/map/sp/building-number-drilldown-11.html @@ -0,0 +1,52 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Main Campus: 11-26

+ +

+ 11
+ 12
+ 12A
+ 13
+ 14
+ 16
+ 17
+ 18
+ 24
+ 26
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/sp/building-number-drilldown-31.html b/mockup/map/sp/building-number-drilldown-31.html new file mode 100755 index 0000000..4839287 --- /dev/null +++ b/mockup/map/sp/building-number-drilldown-31.html @@ -0,0 +1,57 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Main Campus: 31-48

+ +

+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 41
+ 42
+ 43
+ 44
+ 46
+ 48
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/sp/building-number-drilldown-50.html b/mockup/map/sp/building-number-drilldown-50.html new file mode 100755 index 0000000..3725e83 --- /dev/null +++ b/mockup/map/sp/building-number-drilldown-50.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Main Campus: 50-68

+ +

+ 50
+ 51
+ 54
+ 56
+ 57
+ 62
+ 64
+ 66
+ 68
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/sp/building-number-drilldown-east-1.html b/mockup/map/sp/building-number-drilldown-east-1.html new file mode 100755 index 0000000..4822203 --- /dev/null +++ b/mockup/map/sp/building-number-drilldown-east-1.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

East Campus: E1-E28

+ +

+ E1
+ E2
+ E15
+ E17
+ E18
+ E19
+ E23
+ E25
+ E28
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/sp/building-number-drilldown-east-33.html b/mockup/map/sp/building-number-drilldown-east-33.html new file mode 100755 index 0000000..d7be738 --- /dev/null +++ b/mockup/map/sp/building-number-drilldown-east-33.html @@ -0,0 +1,53 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

West Campus: W1-W20

+ +

+ W1
+ W2
+ W4
+ W5
+ W7
+ W8
+ W11
+ W13
+ W15
+ W16
+ W20
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/sp/building-number-drilldown-north.html b/mockup/map/sp/building-number-drilldown-north.html new file mode 100755 index 0000000..2da8068 --- /dev/null +++ b/mockup/map/sp/building-number-drilldown-north.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

North Campus: N4-N57

+ +

+ N4
+ N9
+ N10
+ N16
+ N16A
+ N42
+ N51
+ N52
+ N57
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/sp/building-number-drilldown-northeast.html b/mockup/map/sp/building-number-drilldown-northeast.html new file mode 100755 index 0000000..ac8874d --- /dev/null +++ b/mockup/map/sp/building-number-drilldown-northeast.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Northeast Campus: NE18-NE125

+ +

+ NE18
+ NE20
+ NE25
+ NE30
+ NE47
+ NE48
+ NE49
+ NE80
+ NE125
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/sp/building-number-drilldown-northwest-10.html b/mockup/map/sp/building-number-drilldown-northwest-10.html new file mode 100755 index 0000000..943dff5 --- /dev/null +++ b/mockup/map/sp/building-number-drilldown-northwest-10.html @@ -0,0 +1,49 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Northwest Campus: NW10-NW17

+ +

+ NW10
+ NW12
+ NW13
+ NW14
+ NW15
+ NW16
+ NW17
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/sp/building-number-drilldown-northwest-20.html b/mockup/map/sp/building-number-drilldown-northwest-20.html new file mode 100755 index 0000000..10d7478 --- /dev/null +++ b/mockup/map/sp/building-number-drilldown-northwest-20.html @@ -0,0 +1,50 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

Northwest Campus: NW20-NW95

+ +

+ NW20
+ NW21
+ NW22
+ NW30
+ NW61
+ NW62
+ NW86
+ NW95
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/sp/building-number-drilldown-west-1.html b/mockup/map/sp/building-number-drilldown-west-1.html new file mode 100755 index 0000000..f1d541b --- /dev/null +++ b/mockup/map/sp/building-number-drilldown-west-1.html @@ -0,0 +1,52 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

West Campus: W1-W16

+ +

+ W1
+ W2
+ W4
+ W5
+ W7
+ W8
+ W11
+ W13
+ W15
+ W16
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/sp/building-number-drilldown-west-20.html b/mockup/map/sp/building-number-drilldown-west-20.html new file mode 100755 index 0000000..db976f8 --- /dev/null +++ b/mockup/map/sp/building-number-drilldown-west-20.html @@ -0,0 +1,54 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

West Campus: W20-W61

+ +

+ W20
+ W31
+ W32
+ W33
+ W34
+ W35
+ W45
+ W51
+ W53
+ W53A
+ W59
+ W61
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/sp/building-number-drilldown-west-70.html b/mockup/map/sp/building-number-drilldown-west-70.html new file mode 100755 index 0000000..cbbf196 --- /dev/null +++ b/mockup/map/sp/building-number-drilldown-west-70.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ +
+ +

West Campus: W70-WW15

+ +

+ W70
+ W71
+ W79
+ W84
+ W85
+ W85ABC
+ W85DE
+ W85FG
+ W85HJK
+ W89
+ W91
+ W92
+ WW15
+

+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home +

+ +
+ + + + + diff --git a/mockup/map/sp/building-number.html b/mockup/map/sp/building-number.html new file mode 100755 index 0000000..314294f --- /dev/null +++ b/mockup/map/sp/building-number.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse by Building Number + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/courts.html b/mockup/map/sp/courts.html new file mode 100755 index 0000000..dce86db --- /dev/null +++ b/mockup/map/sp/courts.html @@ -0,0 +1,58 @@ + + + + + + MIT Map: Browse Courts and Greenspace + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/detail-here.html b/mockup/map/sp/detail-here.html new file mode 100755 index 0000000..36fba3a --- /dev/null +++ b/mockup/map/sp/detail-here.html @@ -0,0 +1,54 @@ + + + + + + MIT Campus Map: Details + + + + + + + +

+ +
+ +
+

Building N42 (Information Services & Technology)

+

+ Map | Photo | What's Here +

+

+ Athena User Accounts
+ Computer Help
+ Computer Security
+ Computer Training
+ Departmental Consulting and Application Development (DCAD)
+ Educational Technology Consultants
+ Information Services & Technology (IS&T)
+ Network Security
+ Usability Lab
+

+
+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/sp/detail-photo.html b/mockup/map/sp/detail-photo.html new file mode 100755 index 0000000..6af811b --- /dev/null +++ b/mockup/map/sp/detail-photo.html @@ -0,0 +1,46 @@ + + + + + + MIT Campus Map: Details + + + + + + + +

+ +
+ +
+

Building N42 (Information Services & Technology)

+

+ Map | Photo | What's Here +

+ +

Photo

+

View from north
Architect: E.H. McClarr

+
+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/sp/detail.html b/mockup/map/sp/detail.html new file mode 100755 index 0000000..81b65ea --- /dev/null +++ b/mockup/map/sp/detail.html @@ -0,0 +1,58 @@ + + + + + + MIT Campus Map: Details + + + + + + + +

+ +
+ +
+

Building N42 (Information Services & Technology)

+ +

+ 211 Massachusetts Avenue +

+ +

+ Map | Photo | What's Here +

+ +

+ + Map +

+

+ + Scroll: N | S | E | W
+ Zoom: In | Out +

+
+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/sp/directions-car.html b/mockup/map/sp/directions-car.html new file mode 100755 index 0000000..d3b5996 --- /dev/null +++ b/mockup/map/sp/directions-car.html @@ -0,0 +1,49 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

By Car

+

From the North (I-95 or I-93): If you are heading south on I-93, follow I-93 into Boston then follow the I-93 instructions below. If you are heading south on I-95, take the I-93 South exit (exit 37) then follow the instructions from I-93. Alternatively, take the I-90 East exit (Massachusetts Turnpike) from I-95 then follow the instructions from the West via I-90.

+

From the South (I-95 or I-93): If you are heading north on I-93, follow I-93 into Boston then follow the I-93 instructions below. If you are heading north on I-95, take the I-93 North exit then follow the instructions from I-93. Alternatively, take the I-90 East exit from I-95 then follow the instructions from I-90.

+

From the West (I-90) (Mass Turnpike): Follow I-90 east to the Cambridge/Brighton exit (exit 18). Following the signs to Cambridge, cross the River Street Bridge, and continue straight about 1 mile to Central Square. Turn right onto Massachusetts Avenue and follow Massachusetts Avenue for about a half mile. The main entrance to MIT will be on your left. If you cross the river again, you have gone too far.

+

From Route I-93: From I-93, take exit 26, and follow the signs to Back Bay along Storrow Drive West, approximately 1.5 miles, to the exit for Route 2A. The exit will be on the left, just before the Harvard Bridge (more appropriately called the Massachusetts Avenue Bridge). The Charles River will be on your right. As you cross the bridge, you will be looking at MIT - the Great Dome and academic facilities are on the right, the dormitories and athletic facilities are on the left.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/sp/directions-google.html b/mockup/map/sp/directions-google.html new file mode 100755 index 0000000..1c53b2a --- /dev/null +++ b/mockup/map/sp/directions-google.html @@ -0,0 +1,46 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

Finding MIT using Google Maps

+

To find MIT using Google Maps, use the address "77 Massachusetts Avenue, Cambridge MA 02139" as your reference point for general directions to MIT. This is the famous domed building at the center of campus.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/sp/directions-hood.html b/mockup/map/sp/directions-hood.html new file mode 100755 index 0000000..901fe27 --- /dev/null +++ b/mockup/map/sp/directions-hood.html @@ -0,0 +1,46 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

By Hood Blimp

+

Take the blimp to the tall building with all the glass windows (that would be the Hancock tower). Head north over the Charles River and have them put you down on top of the large, convex, concrete structure on the north shore of the river (that would be the Great Dome of MIT). Watch out for police cars on the roof.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/sp/directions-location.html b/mockup/map/sp/directions-location.html new file mode 100755 index 0000000..627a837 --- /dev/null +++ b/mockup/map/sp/directions-location.html @@ -0,0 +1,47 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

Where is MIT?

+

Map

+

MIT is located on the north shore of the Charles River Basin in Cambridge, Massachusetts, USA. The campus is within 3 miles of two major interstate highways, less than 6 miles from a major international airport, and is accessible via public transportation. MIT is a 15-30 minute walk from downtown Boston (depending on the weather). MIT is a 30-40 minute walk from Harvard University (located just up the river from the MIT campus).

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/sp/directions-logan.html b/mockup/map/sp/directions-logan.html new file mode 100755 index 0000000..8063a70 --- /dev/null +++ b/mockup/map/sp/directions-logan.html @@ -0,0 +1,48 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

From Logan Airport

+

By taxi: Taxi fare from the airport is about $20-$25. During non-rush hour, the taxi ride will take about 15 minutes. During rush hour, the ride could take 30 minutes or more.

+

By subway: From any terminal at Logan Airport, take the Silver Line bus to South Station. At South Station, change to the Red Line subway to Kendall/MIT (inbound toward Alewife). Under normal conditions the ride will take about one-half hour and the fare is $1.70 (Charlie Card) or $2.00 (cash).

+

By car: Leaving the airport, follow the signs to the Sumner Tunnel. Enter the tunnel and stay in the right lane.
At the end of the tunnel, continue to stay in the right lane, start down an incline and bear to the right immediately at the sign for Storrow Drive.
Take Exit 26 for Cambridge/ Somerville. Follow the signs for Back Bay/Cambridge (do not take the exit for Cambridge/ Somerville).
Stay in the right lane and follow the signs for Storrow Drive Westbound.
After you pass under the pedestrian walkbridges, change to the left lane and take the exit on your left for 2A North.
Turn right onto the Harvard Bridge (Massachusetts Avenue).
MIT's main entrance is 77 Massachusetts Avenue, and it will be on the right at the second set of traffic lights.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/sp/directions-parking.html b/mockup/map/sp/directions-parking.html new file mode 100755 index 0000000..d925682 --- /dev/null +++ b/mockup/map/sp/directions-parking.html @@ -0,0 +1,48 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

Parking Suggestions

+

Parking in Cambridge and Boston is generally not an enjoyable experience. Whenever possible, park your car at the hotel at which you are staying, and use public transportation to get to the MIT campus. If you must drive to the campus, there is both on- and off-street parking available, but most public parking is not very close to the center of the MIT campus (unless you arrive early in the morning or late in the evening).

+

There is metered parking on Massachusetts Avenue for short stays and evenings/weekends, as well as a number of lots at which you may park for a fee. These include Vassar St. Public Parking at the corner of Massachusetts Avenue and Vassar Street, University Park / Star Market Public Parking, and the Marriott Parking Garage on Ames St. and Broadway.

+

If you were invited to campus and a visitor parking hang tag was given to you, you may park in the lots specified on the hang tag. Please check the parking lot listing and plan your trip accordingly.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/sp/directions-t.html b/mockup/map/sp/directions-t.html new file mode 100755 index 0000000..6bbb083 --- /dev/null +++ b/mockup/map/sp/directions-t.html @@ -0,0 +1,47 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ +
+ +
+

By Public Transportation - MBTA ("The T")

+

Subway: Take the Red Line subway to the Kendall/MIT Station or to the Central Square Station, both of which are a short walk from campus. The walk from Central Square takes about 10 minutes and takes you right down Massachusetts Avenue. The Kendall/MIT Station is on the eastern side of campus, and as soon as you enter an MIT building you can get to the other buildings without going outside.

+

Bus: The #1 or Dudley/Harvard Station bus stops at MIT on Massachusetts Avenue and provides transportation to Central Square and Harvard Square (Northbound), and Boston (Southbound). The MIT stop is at a large crosswalk with a stoplight. On one side of the street are steps leading up to large Ionic columns and the small dome of MIT; on the other side of the street is the Stratton Student Center and Kresge Oval (an open, grass-covered area). Additionally, the CT1 (Crosstown bus) stops at the MIT stop on Massachusetts Avenue and the CT2 bus stops on the corner of Massachusetts Avenue and Vassar St. as well as Kendall Square T Station.

+
+ +

+ < Back to Directions +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/sp/directions.html b/mockup/map/sp/directions.html new file mode 100755 index 0000000..e2babf0 --- /dev/null +++ b/mockup/map/sp/directions.html @@ -0,0 +1,49 @@ + + + + + + MIT Map: Directions to MIT + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/food-drilldown-a.html b/mockup/map/sp/food-drilldown-a.html new file mode 100755 index 0000000..7fcb2f2 --- /dev/null +++ b/mockup/map/sp/food-drilldown-a.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse Food Services + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/food-drilldown-e.html b/mockup/map/sp/food-drilldown-e.html new file mode 100755 index 0000000..2dbad5a --- /dev/null +++ b/mockup/map/sp/food-drilldown-e.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse Food Services + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/food-drilldown-m.html b/mockup/map/sp/food-drilldown-m.html new file mode 100755 index 0000000..587e1e7 --- /dev/null +++ b/mockup/map/sp/food-drilldown-m.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse Food Services + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/food-drilldown-s.html b/mockup/map/sp/food-drilldown-s.html new file mode 100755 index 0000000..116e1b0 --- /dev/null +++ b/mockup/map/sp/food-drilldown-s.html @@ -0,0 +1,50 @@ + + + + + + MIT Campus Map: Browse Food Services + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/food.html b/mockup/map/sp/food.html new file mode 100755 index 0000000..7ea31f7 --- /dev/null +++ b/mockup/map/sp/food.html @@ -0,0 +1,46 @@ + + + + + + MIT Map: Browse Food Services + + + + + + + + +

+ +
+ +

Browse Food Services

+ + + +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/sp/help.html b/mockup/map/sp/help.html new file mode 100755 index 0000000..5b15ed1 --- /dev/null +++ b/mockup/map/sp/help.html @@ -0,0 +1,45 @@ + + + + + + MIT Campus Map: Help + + + + + + + +

+ +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/sp/images/location.gif b/mockup/map/sp/images/location.gif new file mode 100755 index 0000000..0a979ba Binary files /dev/null and b/mockup/map/sp/images/location.gif differ diff --git a/mockup/map/sp/index.html b/mockup/map/sp/index.html new file mode 100755 index 0000000..b1afad8 --- /dev/null +++ b/mockup/map/sp/index.html @@ -0,0 +1,66 @@ + + + + + + MIT Campus Map + + + + + + + +

+ +
+ +
+ +

+ Search campus map:
+ + + + +

+ +

+ Tip: You can search by any 'Browse by' category shown below. +

+ + + +

+ Directions to MIT +

+ +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home +

+ +
+
+ + + + + diff --git a/mockup/map/sp/parking.html b/mockup/map/sp/parking.html new file mode 100755 index 0000000..fa92a8d --- /dev/null +++ b/mockup/map/sp/parking.html @@ -0,0 +1,76 @@ + + + + + + MIT Map: Browse Parking + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/photos/n42.jpg b/mockup/map/sp/photos/n42.jpg new file mode 100755 index 0000000..1509970 Binary files /dev/null and b/mockup/map/sp/photos/n42.jpg differ diff --git a/mockup/map/sp/residences-drilldown-1.html b/mockup/map/sp/residences-drilldown-1.html new file mode 100755 index 0000000..95c3eb8 --- /dev/null +++ b/mockup/map/sp/residences-drilldown-1.html @@ -0,0 +1,57 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/residences-drilldown-b.html b/mockup/map/sp/residences-drilldown-b.html new file mode 100755 index 0000000..ecfb8e0 --- /dev/null +++ b/mockup/map/sp/residences-drilldown-b.html @@ -0,0 +1,60 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/residences-drilldown-d.html b/mockup/map/sp/residences-drilldown-d.html new file mode 100755 index 0000000..0f13478 --- /dev/null +++ b/mockup/map/sp/residences-drilldown-d.html @@ -0,0 +1,55 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/residences-drilldown-e.html b/mockup/map/sp/residences-drilldown-e.html new file mode 100755 index 0000000..5c9b01f --- /dev/null +++ b/mockup/map/sp/residences-drilldown-e.html @@ -0,0 +1,57 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/residences-drilldown-f.html b/mockup/map/sp/residences-drilldown-f.html new file mode 100755 index 0000000..a6626a8 --- /dev/null +++ b/mockup/map/sp/residences-drilldown-f.html @@ -0,0 +1,60 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/residences-drilldown-n.html b/mockup/map/sp/residences-drilldown-n.html new file mode 100755 index 0000000..0f2408c --- /dev/null +++ b/mockup/map/sp/residences-drilldown-n.html @@ -0,0 +1,57 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/residences-drilldown-r.html b/mockup/map/sp/residences-drilldown-r.html new file mode 100755 index 0000000..fd85584 --- /dev/null +++ b/mockup/map/sp/residences-drilldown-r.html @@ -0,0 +1,57 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/residences-drilldown-t.html b/mockup/map/sp/residences-drilldown-t.html new file mode 100755 index 0000000..6c5d36b --- /dev/null +++ b/mockup/map/sp/residences-drilldown-t.html @@ -0,0 +1,51 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/residences-drilldown-w.html b/mockup/map/sp/residences-drilldown-w.html new file mode 100755 index 0000000..d1687c5 --- /dev/null +++ b/mockup/map/sp/residences-drilldown-w.html @@ -0,0 +1,59 @@ + + + + + + MIT Campus Map: Browse Residences + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/residences.html b/mockup/map/sp/residences.html new file mode 100755 index 0000000..2a6c465 --- /dev/null +++ b/mockup/map/sp/residences.html @@ -0,0 +1,50 @@ + + + + + + MIT Map: Browse Residences + + + + + + + + +

+ +
+ +

Browse Residences

+ + + +

+ Campus Map Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Campus Map Home
+

+ +
+ + + + + diff --git a/mockup/map/sp/rooms.html b/mockup/map/sp/rooms.html new file mode 100755 index 0000000..e108715 --- /dev/null +++ b/mockup/map/sp/rooms.html @@ -0,0 +1,64 @@ + + + + + + MIT Map: Browse Selected Rooms + + + + + + + + +

+ + + + + + + diff --git a/mockup/map/sp/streets.html b/mockup/map/sp/streets.html new file mode 100755 index 0000000..7419591 --- /dev/null +++ b/mockup/map/sp/streets.html @@ -0,0 +1,55 @@ + + + + + + MIT Map: Browse Streets & Landmarks + + + + + + + + +

+ + + + + + + diff --git a/mockup/people/fp/detail.html b/mockup/people/fp/detail.html new file mode 100755 index 0000000..55d7409 --- /dev/null +++ b/mockup/people/fp/detail.html @@ -0,0 +1,61 @@ + + + + + + MIT People Directory: Detail + + + + + + + +
+ +

+ + name: + Chris P Lee +
+ + dept: + Materials Science and Engineering +
+ + home: + 617-555-1234 +
+ + email: + +
+ + office: + N42-220 + +

+ +

+ < Back to search results +

+ +

+ People Directory Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: People Directory Home +

+ +
+ + + + + diff --git a/mockup/people/fp/help.html b/mockup/people/fp/help.html new file mode 100755 index 0000000..f2dec8c --- /dev/null +++ b/mockup/people/fp/help.html @@ -0,0 +1,43 @@ + + + + + + MIT People Directory: Help + + + + + + + +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: People Directory Home +

+ +
+ + + + + diff --git a/mockup/people/fp/index.html b/mockup/people/fp/index.html new file mode 100755 index 0000000..212abe7 --- /dev/null +++ b/mockup/people/fp/index.html @@ -0,0 +1,50 @@ + + + + + + MIT People Directory + + + + + + + +
+
+ +

+ Search:
+ + + + + + +

+ +

+ Directory: 617.253.1000
+ Emergency Contacts +

+ +

+ People Directory Help +

+ +

+ 0: MIT Mobile Web Home +

+ +
+
+ + + + + diff --git a/mockup/people/fp/results.html b/mockup/people/fp/results.html new file mode 100755 index 0000000..a5e5d92 --- /dev/null +++ b/mockup/people/fp/results.html @@ -0,0 +1,71 @@ + + + + + + MIT People Directory: Search Results + + + + + + + +
+
+

+ + + + + + +

+

First 10 of 136 matches are shown. Please try refining your search.

+ +

+ Roseann M Aupperlee
+ Kathleen Avison
+ Kathleen M Barrett
+ Timothy J Berners-Lee
+ Kathleen L Bihari
+ Kathleen Boisvert
+ Kathleen F Breland
+ Kathleen Cahill
+ Kathleen A Campbell
+ Kathleen A Caruso +

+ +

+ Next > +

+ +

+ + + + + + +

+ +

+ People Directory Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: People Directory Home +

+ +
+
+ + + + + diff --git a/mockup/people/fp/results2.html b/mockup/people/fp/results2.html new file mode 100755 index 0000000..e37c831 --- /dev/null +++ b/mockup/people/fp/results2.html @@ -0,0 +1,67 @@ + + + + + + MIT People Directory: Search Results + + + + + + + + + + + + + diff --git a/mockup/people/ip/detail-gkocur.html b/mockup/people/ip/detail-gkocur.html new file mode 100755 index 0000000..4231a87 --- /dev/null +++ b/mockup/people/ip/detail-gkocur.html @@ -0,0 +1,70 @@ + + + + + + + MIT People Directory: Details + + + + + + + + +
+ + + + + + + + + +
+ + + + + diff --git a/mockup/people/ip/detail.html b/mockup/people/ip/detail.html new file mode 100755 index 0000000..f0514da --- /dev/null +++ b/mockup/people/ip/detail.html @@ -0,0 +1,65 @@ + + + + + + + MIT People Directory: Details + + + + + + + + +
+ + + + + + + + + +
+ + + + + diff --git a/mockup/people/ip/help.html b/mockup/people/ip/help.html new file mode 100755 index 0000000..4f5fbc7 --- /dev/null +++ b/mockup/people/ip/help.html @@ -0,0 +1,39 @@ + + + + + + + MIT People Directory: Help + + + + + + + + +
+ +
+

Help

+

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. +

+

+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+
+ +
+ + + + + diff --git a/mockup/people/ip/index.html b/mockup/people/ip/index.html new file mode 100755 index 0000000..4a5a2c3 --- /dev/null +++ b/mockup/people/ip/index.html @@ -0,0 +1,72 @@ + + + + + + + MIT People Directory + + + + + + + + +
+ +
+
+
+ + + + +
+
+
+ +
+

Search formats:

+
+
first name last name
+
william barton rogers
+ +
last name
+
rogers
+ +
username
+
wbrogers
+ +
username w/ wildcard
+
wbrog*, wbr?gers
+ +
10-digit phone number
+
617-253-1000
+
+
+ + + +
+ + + + + diff --git a/mockup/people/ip/results.html b/mockup/people/ip/results.html new file mode 100755 index 0000000..0c0eba9 --- /dev/null +++ b/mockup/people/ip/results.html @@ -0,0 +1,258 @@ + + + + + + + MIT People Directory: Search Results + + + + + + + + +
+ +
+
+
+ + + + +
+

First 100 of 136 matches are shown. Please try refining your search.

+
+
+ + + + +
+
+
+ + + + +
+
+
+ +
+ + + + + diff --git a/mockup/people/ip/results2.html b/mockup/people/ip/results2.html new file mode 100755 index 0000000..2592347 --- /dev/null +++ b/mockup/people/ip/results2.html @@ -0,0 +1,66 @@ + + + + + + + MIT People Directory: Search Results + + + + + + + + + + + + + + diff --git a/mockup/people/sp/detail.html b/mockup/people/sp/detail.html new file mode 100755 index 0000000..270921f --- /dev/null +++ b/mockup/people/sp/detail.html @@ -0,0 +1,65 @@ + + + + + + MIT People Directory: Detail + + + + + + + +

+ +
+ + + +

+ < Back to search results +

+ +

+ People Directory Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: People Directory Home
+

+ +
+ + + + + diff --git a/mockup/people/sp/help.html b/mockup/people/sp/help.html new file mode 100755 index 0000000..a4e340f --- /dev/null +++ b/mockup/people/sp/help.html @@ -0,0 +1,45 @@ + + + + + + MIT People Directory: Help + + + + + + + +

+ +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: People Directory Home
+

+ +
+ + + + + diff --git a/mockup/people/sp/index.html b/mockup/people/sp/index.html new file mode 100755 index 0000000..8ed963f --- /dev/null +++ b/mockup/people/sp/index.html @@ -0,0 +1,62 @@ + + + + + + MIT People Directory + + + + + + + +

+ +
+
+ +

+ Search:
+ + + + + + +

+ +

+ Search formats:
+ first name last name: william barton rogers
+ last name: rogers
+ username: wbrogers
+ username w/ wildcard: wbrog*, wbr?gers
+ 10-digit phone number: 6172531000
+

+ +

+ Phone Directory: 617.253.1000
+ Emergency Contacts +

+ +

+ People Directory Help +

+ +

+ 0: MIT Mobile Web Home
+

+ +
+ +
+ + + + + diff --git a/mockup/people/sp/results.html b/mockup/people/sp/results.html new file mode 100755 index 0000000..4b71143 --- /dev/null +++ b/mockup/people/sp/results.html @@ -0,0 +1,83 @@ + + + + + + MIT People Directory: Search Results + + + + + + + +

+ + + + + + + diff --git a/mockup/people/sp/results2.html b/mockup/people/sp/results2.html new file mode 100755 index 0000000..5e66a50 --- /dev/null +++ b/mockup/people/sp/results2.html @@ -0,0 +1,69 @@ + + + + + + MIT People Directory: Search Results + + + + + + + +

+ + + + + + + diff --git a/mockup/shuttletrack-future/fp/boston-daytime.html b/mockup/shuttletrack-future/fp/boston-daytime.html new file mode 100755 index 0000000..6d2f6dd --- /dev/null +++ b/mockup/shuttletrack-future/fp/boston-daytime.html @@ -0,0 +1,85 @@ + + + + + + MIT Shuttle Schedule: Boston Daytime Shuttle + + + + + + + + +
+
+

Boston Daytime

+

Updated 17:02:22 | Update

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Stop (Map)Time*
A. 84 Mass Ave.17:28
B. Mass Ave/Beacon17:31
C. 487 Comm Ave17:33
bus 64 Bay State (TXI)17:12
E. 111 Bay State (SH)17:13
F. 478 Comm Ave17:17
G. 450 Beacon St (PLP)17:21
H. Beacon/Mass Ave17:24
I. 77 Mass Ave17:26
+ +

Map

+

Complete route schedule

+

* All times are estimates. More info

+
+ +

+ Shuttle Schedule Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Shuttle Schedule Home +

+ +
+ + + + + \ No newline at end of file diff --git a/mockup/shuttletrack-future/fp/help.html b/mockup/shuttletrack-future/fp/help.html new file mode 100755 index 0000000..6d85bbf --- /dev/null +++ b/mockup/shuttletrack-future/fp/help.html @@ -0,0 +1,43 @@ + + + + + + MIT Shuttle Schedule: Help + + + + + + + +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: Shuttle Schedule Home +

+ +
+ + + + + diff --git a/mockup/shuttletrack-future/fp/index.html b/mockup/shuttletrack-future/fp/index.html new file mode 100755 index 0000000..41fb25a --- /dev/null +++ b/mockup/shuttletrack-future/fp/index.html @@ -0,0 +1,54 @@ + + + + + + MIT Shuttle Schedule + + + + + + + + + + + + + \ No newline at end of file diff --git a/mockup/shuttletrack-future/fp/northwest.html b/mockup/shuttletrack-future/fp/northwest.html new file mode 100755 index 0000000..e2d2fc0 --- /dev/null +++ b/mockup/shuttletrack-future/fp/northwest.html @@ -0,0 +1,89 @@ + + + + + + MIT Shuttle Schedule: Northwest Shuttle + + + + + + + + +
+
+

Northwest Shuttle

+

Updated 17:02:22 | Update

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Stop (Map)Time*
A. Kendall T (Main St)17:28
B. Amherst St/ Wadsworth St17:31
C. 77 Mass Ave17:33
D. MIT Museum (N52)17:35
* Hotel@MIT (by request only)17:37
bus 70 Pacific St (NW86)17:13
F. The Warehouse (NW30)17:17
G. Edgerton (NW10)17:21
H. Vassar St/ Mass Ave (across f/ATM)17:24
I. Stata Center17:26
+ +

Map

+

Complete route schedule

+

* All times are estimates. More info

+
+ +

+ Shuttle Schedule Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Shuttle Schedule Home +

+ +
+ + + + + \ No newline at end of file diff --git a/mockup/shuttletrack-future/fp/routes/boston-daytime.gif b/mockup/shuttletrack-future/fp/routes/boston-daytime.gif new file mode 100755 index 0000000..daff52a Binary files /dev/null and b/mockup/shuttletrack-future/fp/routes/boston-daytime.gif differ diff --git a/mockup/shuttletrack-future/fp/routes/boston-daytime.jpg b/mockup/shuttletrack-future/fp/routes/boston-daytime.jpg new file mode 100755 index 0000000..70c3128 Binary files /dev/null and b/mockup/shuttletrack-future/fp/routes/boston-daytime.jpg differ diff --git a/mockup/shuttletrack-future/fp/routes/nw.gif b/mockup/shuttletrack-future/fp/routes/nw.gif new file mode 100755 index 0000000..446ad03 Binary files /dev/null and b/mockup/shuttletrack-future/fp/routes/nw.gif differ diff --git a/mockup/shuttletrack-future/fp/routes/tech.gif b/mockup/shuttletrack-future/fp/routes/tech.gif new file mode 100755 index 0000000..a021d7a Binary files /dev/null and b/mockup/shuttletrack-future/fp/routes/tech.gif differ diff --git a/mockup/shuttletrack-future/fp/styles/shuttletrack-fp.css b/mockup/shuttletrack-future/fp/styles/shuttletrack-fp.css new file mode 100755 index 0000000..ee5d517 --- /dev/null +++ b/mockup/shuttletrack-future/fp/styles/shuttletrack-fp.css @@ -0,0 +1,21 @@ +table.schedule { + width: 100%; + margin: 0 0 12px 0; + border-bottom: 1px solid #999; +} +table.schedule th { + padding: 2px 4px 2px 2px; + font-weight: normal; + text-align: left; + color: #666; +} +table.schedule td { + padding: 2px 4px 2px 2px; + border-top: 1px solid #ccc; +} +.current td { + background-color: #933; + color: #fff; + border-color: #933; + padding-bottom: 4px; +} diff --git a/mockup/shuttletrack-future/fp/tech.html b/mockup/shuttletrack-future/fp/tech.html new file mode 100755 index 0000000..e9d6604 --- /dev/null +++ b/mockup/shuttletrack-future/fp/tech.html @@ -0,0 +1,86 @@ + + + + + + MIT Shuttle Schedule: Tech Shuttle + + + + + + + + +
+
+

Tech Shuttle

+

Updated 17:14:31

+

< Prev Loop | Next Loop >

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Stop (Map)Time*
A. Kendall T (Main St)17:28
B. Amherst St/ Wadsworth St17:31
C. MIT Building 3917:33
D. 84 Mass Ave (T bus stop)17:35
E. Burton House17:37
F. Amherst Alley (Tang + Westgate)17:40
G. Simmons Hall (west side turnaround)17:41
H. Vassar St/ Mass Ave (across f/ ATM)17:24
bus Stata Center17:26
+ +

Map

+

Complete route schedule

+

* Scheduled route times More info

+
+ +

+ Shuttle Schedule Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Shuttle Schedule Home +

+ +
+ + + + + \ No newline at end of file diff --git a/mockup/shuttletrack-future/ip/boston-daytime.html b/mockup/shuttletrack-future/ip/boston-daytime.html new file mode 100755 index 0000000..035e1fe --- /dev/null +++ b/mockup/shuttletrack-future/ip/boston-daytime.html @@ -0,0 +1,112 @@ + + + + + + + MIT Shuttle Schedule: Boston Daytime + + + + + + + + + + + +
+ + + +
+ +

Boston Daytime
GPS updated 17:10:53
Update

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StopTime*
A. 84 Mass Ave.17:28
B. Mass Ave/Beacon17:31
C. 487 Comm Ave17:33
D. 64 Bay State (TXI)17:12
E. 111 Bay State (SH)17:13
F. 478 Comm Ave17:17
G. 450 Beacon St (PLP)17:21
H. Beacon/Mass Ave17:24
I. 77 Mass Ave17:26
+

Complete route schedule

+ +
+ + + +
+
+ +
+ +
* All times and positions are estimates only.
Rotate your device to view map & schedule side by side.Rotate your device to view schedule and map separately.
+ +
+ +
+ + + + + + + + diff --git a/mockup/shuttletrack-future/ip/help.html b/mockup/shuttletrack-future/ip/help.html new file mode 100755 index 0000000..9281457 --- /dev/null +++ b/mockup/shuttletrack-future/ip/help.html @@ -0,0 +1,51 @@ + + + + + + + MIT Shuttle Schedule: Help + + + + + + + + +
+ +
+ +

The design of this site is hopefully self-explanatory. If you have questions + or suggestions about this interface, feel free to email shuttletrack@mit.edu. If you have + concerns regarding non-shuttletrack issues, e.g. individual vans not tracking + and anything else unrelated to this interface to the tracking data, email the + parking office at mitparking@mit.edu, or call + them at 617.258.6510.

+ +

If some routes aren't tracking, it may be that the info as to which van was + running which route was never entered — you can look at where each + van is independently if you click on the vans link in the menu.

+ +

If the stop prediction is completely off, you can still see where the van + is. The prediction is far from perfect, and can probably be confused by "weird" + routes. The prediction can be reset by the Parking Office staff by removing the + van from the route and reassigning it.

+ +

You should also keep in mind that times shown on routes tracked by GPS reflect real-time calculations based on actual position, not the official scheduled times. For the official scheduled route times, click the 'Complete Route Schedule' link at the bottom of that route's page.

+
+ +
+ + + + + diff --git a/mockup/shuttletrack-future/ip/index.html b/mockup/shuttletrack-future/ip/index.html new file mode 100755 index 0000000..b5ecb36 --- /dev/null +++ b/mockup/shuttletrack-future/ip/index.html @@ -0,0 +1,88 @@ + + + + + + + MIT Shuttle Schedule + + + + + + + + + +
+ +
+

All MIT shuttles are running.

+

Select a route:

+
+ + + +
+
Live GPS tracking
+
Schedule only
+
+ + + +
+ + + + + diff --git a/mockup/shuttletrack-future/ip/javascripts/shuttletrack-ip.js b/mockup/shuttletrack-future/ip/javascripts/shuttletrack-ip.js new file mode 100755 index 0000000..e542028 --- /dev/null +++ b/mockup/shuttletrack-future/ip/javascripts/shuttletrack-ip.js @@ -0,0 +1,76 @@ +function updateSchedule() { +// Update the schedule's inner HTML + var objSchedule = document.getElementById("schedule"); + if(objSchedule) { + showLoadingMsg("schedule"); + // Stub -- this is a placeholder for future AJAX function + setTimeout("fakeAjaxSchedule()",1000); + // End stub + } + var objTimestamp = document.getElementById("timestamp"); + if(objTimestamp) { + // Stub -- this is a placeholder for future AJAX function + objTimestamp.innerHTML = "GPS updated 17:12:15"; + // End stub + } + var objMap = document.getElementById("map"); + var objMapImage = document.getElementById("mapimage"); + if(objMap && objMapImage) { + showLoadingMsg("map"); + // Stub -- this is a placeholder for future AJAX function + setTimeout("fakeAjaxImage()",1000); + // End stub + } +} + +function fakeAjaxSchedule() { +// Fake. AJAX. Schedule. + var strScheduleHTML = ""; + strScheduleHTML += ""; + strScheduleHTML += " Stop"; + strScheduleHTML += " Time*"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " A. 84 Mass Ave."; + strScheduleHTML += " 17:28"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " B. Mass Ave/Beacon"; + strScheduleHTML += " 17:31"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " C. 487 Comm Ave"; + strScheduleHTML += " 17:33"; + strScheduleHTML += ""; + strScheduleHTML += " "; + strScheduleHTML += " D. 64 Bay State (TXI)"; + strScheduleHTML += " 17:36"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " E. 111 Bay State (SH)"; + strScheduleHTML += " 17:13"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " F. 478 Comm Ave"; + strScheduleHTML += " 17:17"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " G. 450 Beacon St (PLP)"; + strScheduleHTML += " 17:21"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " H. Beacon/Mass Ave"; + strScheduleHTML += " 17:24"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " I. 77 Mass Ave"; + strScheduleHTML += " 17:26"; + strScheduleHTML += ""; + document.getElementById("schedule").innerHTML = strScheduleHTML; +} + +function fakeAjaxImage() { +// Fake. AJAX. Image. + var strImageHTML = "\"Map\""; + document.getElementById("map").innerHTML = strImageHTML; +} \ No newline at end of file diff --git a/mockup/shuttletrack-future/ip/routes/boston-daytime-d.gif b/mockup/shuttletrack-future/ip/routes/boston-daytime-d.gif new file mode 100755 index 0000000..9ed37fb Binary files /dev/null and b/mockup/shuttletrack-future/ip/routes/boston-daytime-d.gif differ diff --git a/mockup/shuttletrack-future/ip/routes/boston-daytime-d.png b/mockup/shuttletrack-future/ip/routes/boston-daytime-d.png new file mode 100755 index 0000000..964823f Binary files /dev/null and b/mockup/shuttletrack-future/ip/routes/boston-daytime-d.png differ diff --git a/mockup/shuttletrack-future/ip/routes/boston-daytime-e.gif b/mockup/shuttletrack-future/ip/routes/boston-daytime-e.gif new file mode 100755 index 0000000..e87edfc Binary files /dev/null and b/mockup/shuttletrack-future/ip/routes/boston-daytime-e.gif differ diff --git a/mockup/shuttletrack-future/ip/routes/boston-daytime-e.png b/mockup/shuttletrack-future/ip/routes/boston-daytime-e.png new file mode 100755 index 0000000..97a487e Binary files /dev/null and b/mockup/shuttletrack-future/ip/routes/boston-daytime-e.png differ diff --git a/mockup/shuttletrack-future/ip/routes/nw.gif b/mockup/shuttletrack-future/ip/routes/nw.gif new file mode 100755 index 0000000..446ad03 Binary files /dev/null and b/mockup/shuttletrack-future/ip/routes/nw.gif differ diff --git a/mockup/shuttletrack-future/ip/routes/tech.gif b/mockup/shuttletrack-future/ip/routes/tech.gif new file mode 100755 index 0000000..a021d7a Binary files /dev/null and b/mockup/shuttletrack-future/ip/routes/tech.gif differ diff --git a/mockup/shuttletrack-future/ip/schedule-drilldown.html b/mockup/shuttletrack-future/ip/schedule-drilldown.html new file mode 100755 index 0000000..79b6f02 --- /dev/null +++ b/mockup/shuttletrack-future/ip/schedule-drilldown.html @@ -0,0 +1,133 @@ + + + + + + + MIT Shuttle Schedule: Boston Daytime + + + + + + + + + + + +
+ + + +
+ +

Boston Daytime: 16:00-18:00

+ +

+ < 14:00-16:00 | 18:00-20:00 > +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StopTime*
A. 84 Mass Ave.17:03
B. Mass Ave/Beacon17:07
C. 487 Comm Ave17:10
D. 64 Bay State (TXI)17:12
E. 111 Bay State (SH)17:13
F. 478 Comm Ave17:17
G. 450 Beacon St (PLP)17:21
H. Beacon/Mass Ave17:24
I. 77 Mass Ave17:26
A. 84 Mass Ave.17:28
B. Mass Ave/Beacon17:31
C. 487 Comm Ave17:33
D. 64 Bay State (TXI)17:38
E. 111 Bay State (SH)17:41
F. 478 Comm Ave17:45
G. 450 Beacon St (PLP)17:48
H. Beacon/Mass Ave17:51
I. 77 Mass Ave17:55
+ +
+ +
* All times and positions are estimates only.
+ +
+ + + + + + + + diff --git a/mockup/shuttletrack-future/ip/schedule.html b/mockup/shuttletrack-future/ip/schedule.html new file mode 100755 index 0000000..91e4d23 --- /dev/null +++ b/mockup/shuttletrack-future/ip/schedule.html @@ -0,0 +1,59 @@ + + + + + + + MIT Shuttle Schedule: Boston Daytime + + + + + + + + + + + +
+ + + +
+ +

Boston Daytime: Full Schedule

+ + + +
+ +
+ + + + + + + + diff --git a/mockup/shuttletrack-future/ip/styles/shuttletrack-ip.css b/mockup/shuttletrack-future/ip/styles/shuttletrack-ip.css new file mode 100755 index 0000000..7b9f279 --- /dev/null +++ b/mockup/shuttletrack-future/ip/styles/shuttletrack-ip.css @@ -0,0 +1,154 @@ +#timestamp { + display: block; + line-height: 1.33em; + margin-top: 8px; +} + +.tabbody { + min-height: 260px; +} + +#schedule { + border-bottom: 1px dotted #ddd; + margin: 0 0 16px 0; +} + +#schedule td { + border-top: 1px dotted #ddd; +} + +.current td { + background-color: #b00; + color: #fff; +} + +.current td:first-child { + padding-left: 24px !important; + background-image: url(../../../images/ip/bus.gif); + background-repeat: no-repeat; + background-position: 5px 7px; +} + +.sid { + color: #999; +} + +.current .sid { + color: #fff; + display: none; +} + +#map, #maptab { + text-align: center; +} + +#refresh { + position: absolute; + top: 8px; + right: 8px; + font-size: 14px; +} + +.timestamp { + position: absolute; + right: 10px; + top: 14px; + float: right; + font-size: 14px; + font-weight: normal; + color: #506d8e; +} + + + + +/* Tall (portrait) orientation */ + +body.portrait { + width: 320px; +} + +body.portrait #timestamp { + display: block; +} + +body.portrait #tabs { + display: block; +} + +body.portrait .tabbody { + font-size: 17px; +} + +body.portrait #scheduletab, #maptab { + width: auto; +} + +body.portrait #mapimage { + width: 270px; + height: 270px; + text-align: center; +} + +body.portrait #rotatemsg1 { + display: inline; +} + +body.portrait #rotatemsg2 { + display: none; +} + + + +/* Wide (landscape) orientation */ + +body.landscape { + width: 480px; +} + +body.landscape #timestamp { + display: inline; +} + +body.landscape #schedule { + border-bottom: 1px solid #f0f0f0; + margin: 0 0 16px 0; +} + +body.landscape #tabs { + display: none; +} + +body.landscape .tabbody { + display: block !important; + float: left; + font-size: 14px; +} + +body.landscape #scheduletab { + width: 205px; +} + +body.landscape #maptab { + width: 225px; +} + +body.landscape #map { + width: 225px; + height: 225px; + text-align: right; +} + +body.landscape #mapimage { + width: 225px; + height: 225px; + margin-left: 10px; +} + +body.landscape #rotatemsg1 { + display: none; +} + +body.landscape #rotatemsg2 { + display: inline; +} \ No newline at end of file diff --git a/mockup/shuttletrack-future/sp/boston-daytime.html b/mockup/shuttletrack-future/sp/boston-daytime.html new file mode 100755 index 0000000..f835dd8 --- /dev/null +++ b/mockup/shuttletrack-future/sp/boston-daytime.html @@ -0,0 +1,86 @@ + + + + + + + MIT Shuttle Schedule: Boston Daytime Shuttle + + + + + + + + +
+
+

Boston Daytime

+

Updated 17:02:22 | Update

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Stop (Map)Time*
A. 84 Mass Ave.17:28
B. Mass Ave/Beacon17:31
C. 487 Comm Ave17:33
bus D. 64 Bay State (TXI)17:12
E. 111 Bay State (SH)17:13
F. 478 Comm Ave17:17
G. 450 Beacon St (PLP)17:21
H. Beacon/Mass Ave17:24
I. 77 Mass Ave17:26
+ +
Map
+

Complete route schedule

+

* All times are estimates. More info

+
+ +

+ Shuttle Schedule Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Shuttle Schedule Home +

+ +
+ + + + + \ No newline at end of file diff --git a/mockup/shuttletrack-future/sp/help.html b/mockup/shuttletrack-future/sp/help.html new file mode 100755 index 0000000..0f3faaa --- /dev/null +++ b/mockup/shuttletrack-future/sp/help.html @@ -0,0 +1,45 @@ + + + + + + MIT Shuttle Schedule: Help + + + + + + + +

+ +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: Shuttle Schedule Home
+

+ +
+ + + + + diff --git a/mockup/shuttletrack-future/sp/index.html b/mockup/shuttletrack-future/sp/index.html new file mode 100755 index 0000000..f90ed1d --- /dev/null +++ b/mockup/shuttletrack-future/sp/index.html @@ -0,0 +1,55 @@ + + + + + + + MIT Shuttle Schedule + + + + + + + + + + + + + \ No newline at end of file diff --git a/mockup/shuttletrack-future/sp/routes/boston-daytime.gif b/mockup/shuttletrack-future/sp/routes/boston-daytime.gif new file mode 100755 index 0000000..df7e0d3 Binary files /dev/null and b/mockup/shuttletrack-future/sp/routes/boston-daytime.gif differ diff --git a/mockup/shuttletrack-future/sp/routes/tech.gif b/mockup/shuttletrack-future/sp/routes/tech.gif new file mode 100755 index 0000000..5349d32 Binary files /dev/null and b/mockup/shuttletrack-future/sp/routes/tech.gif differ diff --git a/mockup/shuttletrack-future/sp/styles/shuttletrack-sp.css b/mockup/shuttletrack-future/sp/styles/shuttletrack-sp.css new file mode 100755 index 0000000..3d2a6cf --- /dev/null +++ b/mockup/shuttletrack-future/sp/styles/shuttletrack-sp.css @@ -0,0 +1,27 @@ +table.schedule { + width: 100%; + margin: 0.75em 0; + position: relative; + border-bottom: 1px solid #999; +} +table.schedule th { + padding: 2px 4px 2px 2px; + font-weight: normal; + line-height: 1em; + text-align: left; + color: #666; +} +table.schedule td { + padding: 2px 4px 2px 2px; + line-height: 1em; + border-top: 1px solid #ccc; +} +.current td { + background-color: #933; + padding-bottom: 4px; + color: #fff; + border-color: #933; +} +.current strong { + font-weight: normal; +} \ No newline at end of file diff --git a/mockup/shuttletrack-future/sp/tech.html b/mockup/shuttletrack-future/sp/tech.html new file mode 100755 index 0000000..e01144b --- /dev/null +++ b/mockup/shuttletrack-future/sp/tech.html @@ -0,0 +1,87 @@ + + + + + + + MIT Shuttle Schedule: Tech Shuttle + + + + + + + + +
+
+

Tech Shuttle

+

Updated 17:14:31

+

< Prev Loop | Next Loop >

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Stop (Map)Time*
A. Kendall T (Main St)17:28
B. Amherst St/ Wadsworth St17:31
C. MIT Building 3917:33
D. 84 Mass Ave (T bus stop)17:35
E. Burton House17:37
F. Amherst Alley (Tang + Westgate)17:40
G. Simmons Hall (west side turnaround)17:41
H. Vassar St/ Mass Ave (across f/ ATM)17:24
bus I. Stata Center17:26
+ +
Map
+

Complete route schedule

+

* Scheduled route times More info

+
+ +

+ Shuttle Schedule Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Shuttle Schedule Home +

+ +
+ + + + + \ No newline at end of file diff --git a/mockup/shuttletrack/fp/boston-daytime.html b/mockup/shuttletrack/fp/boston-daytime.html new file mode 100755 index 0000000..8f9e5fd --- /dev/null +++ b/mockup/shuttletrack/fp/boston-daytime.html @@ -0,0 +1,87 @@ + + + + + + MIT Shuttle Schedule: Boston Daytime Shuttle + + + + + + + + +
+
+

Boston Daytime

+

Runs weekdays 8am-6pm, Sep-May

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Stop (Map)Time
A. 84 Mass Ave.17:28
B. Mass Ave/Beacon17:31
C. 487 Comm Ave17:33
bus 64 Bay State (TXI)17:12
E. 111 Bay State (SH)17:13
F. 478 Comm Ave17:17
G. 450 Beacon St (PLP)17:21
H. Beacon/Mass Ave17:24
I. 77 Mass Ave17:26
+ +

Route loop repeats every 20 minutes.

+ + +

Map

+ +
+ +

+ Shuttle Schedule Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Shuttle Schedule Home +

+ +
+ + + + + \ No newline at end of file diff --git a/mockup/shuttletrack/fp/help.html b/mockup/shuttletrack/fp/help.html new file mode 100755 index 0000000..6d85bbf --- /dev/null +++ b/mockup/shuttletrack/fp/help.html @@ -0,0 +1,43 @@ + + + + + + MIT Shuttle Schedule: Help + + + + + + + +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: Shuttle Schedule Home +

+ +
+ + + + + diff --git a/mockup/shuttletrack/fp/index.html b/mockup/shuttletrack/fp/index.html new file mode 100755 index 0000000..1dbdfa6 --- /dev/null +++ b/mockup/shuttletrack/fp/index.html @@ -0,0 +1,46 @@ + + + + + + MIT Shuttle Schedule + + + + + + + + + + + + + \ No newline at end of file diff --git a/mockup/shuttletrack/fp/northwest.html b/mockup/shuttletrack/fp/northwest.html new file mode 100755 index 0000000..e2d2fc0 --- /dev/null +++ b/mockup/shuttletrack/fp/northwest.html @@ -0,0 +1,89 @@ + + + + + + MIT Shuttle Schedule: Northwest Shuttle + + + + + + + + +
+
+

Northwest Shuttle

+

Updated 17:02:22 | Update

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Stop (Map)Time*
A. Kendall T (Main St)17:28
B. Amherst St/ Wadsworth St17:31
C. 77 Mass Ave17:33
D. MIT Museum (N52)17:35
* Hotel@MIT (by request only)17:37
bus 70 Pacific St (NW86)17:13
F. The Warehouse (NW30)17:17
G. Edgerton (NW10)17:21
H. Vassar St/ Mass Ave (across f/ATM)17:24
I. Stata Center17:26
+ +

Map

+

Complete route schedule

+

* All times are estimates. More info

+
+ +

+ Shuttle Schedule Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Shuttle Schedule Home +

+ +
+ + + + + \ No newline at end of file diff --git a/mockup/shuttletrack/fp/routes/boston-daytime.gif b/mockup/shuttletrack/fp/routes/boston-daytime.gif new file mode 100755 index 0000000..daff52a Binary files /dev/null and b/mockup/shuttletrack/fp/routes/boston-daytime.gif differ diff --git a/mockup/shuttletrack/fp/routes/boston-daytime.jpg b/mockup/shuttletrack/fp/routes/boston-daytime.jpg new file mode 100755 index 0000000..70c3128 Binary files /dev/null and b/mockup/shuttletrack/fp/routes/boston-daytime.jpg differ diff --git a/mockup/shuttletrack/fp/routes/nw.gif b/mockup/shuttletrack/fp/routes/nw.gif new file mode 100755 index 0000000..446ad03 Binary files /dev/null and b/mockup/shuttletrack/fp/routes/nw.gif differ diff --git a/mockup/shuttletrack/fp/routes/tech.gif b/mockup/shuttletrack/fp/routes/tech.gif new file mode 100755 index 0000000..a021d7a Binary files /dev/null and b/mockup/shuttletrack/fp/routes/tech.gif differ diff --git a/mockup/shuttletrack/fp/styles/shuttletrack-fp.css b/mockup/shuttletrack/fp/styles/shuttletrack-fp.css new file mode 100755 index 0000000..ee5d517 --- /dev/null +++ b/mockup/shuttletrack/fp/styles/shuttletrack-fp.css @@ -0,0 +1,21 @@ +table.schedule { + width: 100%; + margin: 0 0 12px 0; + border-bottom: 1px solid #999; +} +table.schedule th { + padding: 2px 4px 2px 2px; + font-weight: normal; + text-align: left; + color: #666; +} +table.schedule td { + padding: 2px 4px 2px 2px; + border-top: 1px solid #ccc; +} +.current td { + background-color: #933; + color: #fff; + border-color: #933; + padding-bottom: 4px; +} diff --git a/mockup/shuttletrack/fp/tech.html b/mockup/shuttletrack/fp/tech.html new file mode 100755 index 0000000..e9d6604 --- /dev/null +++ b/mockup/shuttletrack/fp/tech.html @@ -0,0 +1,86 @@ + + + + + + MIT Shuttle Schedule: Tech Shuttle + + + + + + + + +
+
+

Tech Shuttle

+

Updated 17:14:31

+

< Prev Loop | Next Loop >

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Stop (Map)Time*
A. Kendall T (Main St)17:28
B. Amherst St/ Wadsworth St17:31
C. MIT Building 3917:33
D. 84 Mass Ave (T bus stop)17:35
E. Burton House17:37
F. Amherst Alley (Tang + Westgate)17:40
G. Simmons Hall (west side turnaround)17:41
H. Vassar St/ Mass Ave (across f/ ATM)17:24
bus Stata Center17:26
+ +

Map

+

Complete route schedule

+

* Scheduled route times More info

+
+ +

+ Shuttle Schedule Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Shuttle Schedule Home +

+ +
+ + + + + \ No newline at end of file diff --git a/mockup/shuttletrack/ip/boston-daytime.html b/mockup/shuttletrack/ip/boston-daytime.html new file mode 100755 index 0000000..4dbf31e --- /dev/null +++ b/mockup/shuttletrack/ip/boston-daytime.html @@ -0,0 +1,110 @@ + + + + + + + MIT Shuttle Schedule: Boston Daytime + + + + + + + + + + + +
+ +
+ +

Boston Daytime

+ +

Runs weekdays 8am-6pm, Sep-May

+ + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StopTime
A. 84 Mass Ave.17:27
B. Mass Ave/Beacon17:29
C. 487 Comm Ave17:30
D. 64 Bay State (TXI)17:11
E. 478 Comm Ave17:14
F. 450 Beacon St (PLP)17:19
G. 77 Mass Ave17:23
+ +

Route loop repeats every 20 minutes.

+ +
+ + + +
+
+ +
+ +
Rotate your device to view map & schedule side by side.Rotate your device to view schedule and map separately.
+ +
+ + + +
+ + + + + + + + diff --git a/mockup/shuttletrack/ip/boston-daytime2.html b/mockup/shuttletrack/ip/boston-daytime2.html new file mode 100755 index 0000000..a426904 --- /dev/null +++ b/mockup/shuttletrack/ip/boston-daytime2.html @@ -0,0 +1,110 @@ + + + + + + + MIT Shuttle Schedule: Boston Daytime + + + + + + + + + + + +
+ +
+ +

Boston Daytime

+ +

Runs weekdays 8am-6pm, Sep-May

+ + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StopTime
A. 84 Mass Ave.17:27
B. Mass Ave/Beacon17:29
C. 487 Comm Ave17:30
D. 64 Bay State (TXI)17:11
E. 478 Comm Ave17:14
F. 450 Beacon St (PLP)17:19
G. 77 Mass Ave17:23
+ +

Route loop repeats every 20 minutes.

+ +
+ + + +
+
+ +
+ +
Rotate your device to view map & schedule side by side.Rotate your device to view schedule and map separately.
+ +
+ + + +
+ + + + + + + + diff --git a/mockup/shuttletrack/ip/help.html b/mockup/shuttletrack/ip/help.html new file mode 100755 index 0000000..9281457 --- /dev/null +++ b/mockup/shuttletrack/ip/help.html @@ -0,0 +1,51 @@ + + + + + + + MIT Shuttle Schedule: Help + + + + + + + + +
+ +
+ +

The design of this site is hopefully self-explanatory. If you have questions + or suggestions about this interface, feel free to email shuttletrack@mit.edu. If you have + concerns regarding non-shuttletrack issues, e.g. individual vans not tracking + and anything else unrelated to this interface to the tracking data, email the + parking office at mitparking@mit.edu, or call + them at 617.258.6510.

+ +

If some routes aren't tracking, it may be that the info as to which van was + running which route was never entered — you can look at where each + van is independently if you click on the vans link in the menu.

+ +

If the stop prediction is completely off, you can still see where the van + is. The prediction is far from perfect, and can probably be confused by "weird" + routes. The prediction can be reset by the Parking Office staff by removing the + van from the route and reassigning it.

+ +

You should also keep in mind that times shown on routes tracked by GPS reflect real-time calculations based on actual position, not the official scheduled times. For the official scheduled route times, click the 'Complete Route Schedule' link at the bottom of that route's page.

+
+ +
+ + + + + diff --git a/mockup/shuttletrack/ip/index.html b/mockup/shuttletrack/ip/index.html new file mode 100755 index 0000000..951f96d --- /dev/null +++ b/mockup/shuttletrack/ip/index.html @@ -0,0 +1,74 @@ + + + + + + + MIT Shuttle Schedule + + + + + + + + + + + + + + + diff --git a/mockup/shuttletrack/ip/javascripts/shuttletrack-ip.js b/mockup/shuttletrack/ip/javascripts/shuttletrack-ip.js new file mode 100755 index 0000000..3c28e09 --- /dev/null +++ b/mockup/shuttletrack/ip/javascripts/shuttletrack-ip.js @@ -0,0 +1,85 @@ +function jumpSchedule(objSelect) { +// Use the value of the 'jump to schedule loop' select control to jump to a different loop in the displayed schedule -- this is just a placeholder + if(objSelect) { + alert("The schedule table would now update to show the scheduled route loop beginning at " + objSelect.value); + } + location.href = "#scrolldown"; + objSelect.selectedIndex=0; +} + +function updateSchedule() { +// Update the schedule's inner HTML + var objSchedule = document.getElementById("schedule"); + if(objSchedule) { + showLoadingMsg("schedule"); + // Stub -- this is a placeholder for future AJAX function + setTimeout("fakeAjaxSchedule()",1000); + // End stub + } + var objTimestamp = document.getElementById("timestamp"); + if(objTimestamp) { + // Stub -- this is a placeholder for future AJAX function + objTimestamp.innerHTML = "GPS updated 17:12:15"; + // End stub + } + var objMap = document.getElementById("map"); + var objMapImage = document.getElementById("mapimage"); + if(objMap && objMapImage) { + showLoadingMsg("map"); + // Stub -- this is a placeholder for future AJAX function + setTimeout("fakeAjaxImage()",1000); + // End stub + } +} + +function fakeAjaxSchedule() { +// Fake. AJAX. Schedule. + var strScheduleHTML = ""; + strScheduleHTML += ""; + strScheduleHTML += " Stop"; + strScheduleHTML += " Time*"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " A. 84 Mass Ave."; + strScheduleHTML += " 17:28"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " B. Mass Ave/Beacon"; + strScheduleHTML += " 17:31"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " C. 487 Comm Ave"; + strScheduleHTML += " 17:33"; + strScheduleHTML += ""; + strScheduleHTML += " "; + strScheduleHTML += " D. 64 Bay State (TXI)"; + strScheduleHTML += " 17:36"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " E. 111 Bay State (SH)"; + strScheduleHTML += " 17:13"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " F. 478 Comm Ave"; + strScheduleHTML += " 17:17"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " G. 450 Beacon St (PLP)"; + strScheduleHTML += " 17:21"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " H. Beacon/Mass Ave"; + strScheduleHTML += " 17:24"; + strScheduleHTML += ""; + strScheduleHTML += ""; + strScheduleHTML += " I. 77 Mass Ave"; + strScheduleHTML += " 17:26"; + strScheduleHTML += ""; + document.getElementById("schedule").innerHTML = strScheduleHTML; +} + +function fakeAjaxImage() { +// Fake. AJAX. Image. + var strImageHTML = "\"Map\""; + document.getElementById("map").innerHTML = strImageHTML; +} \ No newline at end of file diff --git a/mockup/shuttletrack/ip/routes/Daytime_Boston.pdf b/mockup/shuttletrack/ip/routes/Daytime_Boston.pdf new file mode 100755 index 0000000..dfdc0cb Binary files /dev/null and b/mockup/shuttletrack/ip/routes/Daytime_Boston.pdf differ diff --git a/mockup/shuttletrack/ip/routes/boston-daytime-d.gif b/mockup/shuttletrack/ip/routes/boston-daytime-d.gif new file mode 100755 index 0000000..068ee35 Binary files /dev/null and b/mockup/shuttletrack/ip/routes/boston-daytime-d.gif differ diff --git a/mockup/shuttletrack/ip/routes/boston-daytime-e.gif b/mockup/shuttletrack/ip/routes/boston-daytime-e.gif new file mode 100755 index 0000000..e87edfc Binary files /dev/null and b/mockup/shuttletrack/ip/routes/boston-daytime-e.gif differ diff --git a/mockup/shuttletrack/ip/routes/nw.gif b/mockup/shuttletrack/ip/routes/nw.gif new file mode 100755 index 0000000..446ad03 Binary files /dev/null and b/mockup/shuttletrack/ip/routes/nw.gif differ diff --git a/mockup/shuttletrack/ip/routes/saferide_8_07.pdf b/mockup/shuttletrack/ip/routes/saferide_8_07.pdf new file mode 100755 index 0000000..d5908a9 Binary files /dev/null and b/mockup/shuttletrack/ip/routes/saferide_8_07.pdf differ diff --git a/mockup/shuttletrack/ip/routes/tech.gif b/mockup/shuttletrack/ip/routes/tech.gif new file mode 100755 index 0000000..a021d7a Binary files /dev/null and b/mockup/shuttletrack/ip/routes/tech.gif differ diff --git a/mockup/shuttletrack/ip/routes/tech_and_northwest_8_07.pdf b/mockup/shuttletrack/ip/routes/tech_and_northwest_8_07.pdf new file mode 100755 index 0000000..63495e8 Binary files /dev/null and b/mockup/shuttletrack/ip/routes/tech_and_northwest_8_07.pdf differ diff --git a/mockup/shuttletrack/ip/styles/shuttletrack-ip.css b/mockup/shuttletrack/ip/styles/shuttletrack-ip.css new file mode 100755 index 0000000..d0231e6 --- /dev/null +++ b/mockup/shuttletrack/ip/styles/shuttletrack-ip.css @@ -0,0 +1,157 @@ +#timestamp { + display: block; + line-height: 1.33em; + margin-top: 8px; +} + +.tabbody { + min-height: 260px; +} + +#schedule { + border-bottom: 1px dotted #ddd; + margin: 0 0 16px 0; +} + +#schedule td { + border-top: 1px dotted #ddd; +} + +.current td { + background-color: #b00; + color: #fff; +} + +.current td:first-child { + padding-left: 24px !important; + background-image: url(../../../images/ip/bus.gif); + background-repeat: no-repeat; + background-position: 5px 7px; +} + +.sid { + display: inline-block; + width: 18px; + text-align: center; + color: #999; +} + +.current .sid { + color: #fff; + display: none; +} + +#map, #maptab { + text-align: center; +} + +#refresh { + position: absolute; + top: 8px; + right: 8px; + font-size: 14px; +} + +.timestamp { + position: absolute; + right: 10px; + top: 14px; + float: right; + font-size: 14px; + font-weight: normal; + color: #506d8e; +} + + + + +/* Tall (portrait) orientation */ + +body.portrait { + width: 320px; +} + +body.portrait #timestamp { + display: block; +} + +body.portrait #tabs { + display: block; +} + +body.portrait .tabbody { + font-size: 17px; +} + +body.portrait #scheduletab, #maptab { + width: auto; +} + +body.portrait #mapimage { + width: 270px; + height: 270px; + text-align: center; +} + +body.portrait #rotatemsg1 { + display: inline; +} + +body.portrait #rotatemsg2 { + display: none; +} + + + +/* Wide (landscape) orientation */ + +body.landscape { + width: 480px; +} + +body.landscape #timestamp { + display: inline; +} + +body.landscape #schedule { + border-bottom: 1px solid #f0f0f0; + margin: 0 0 16px 0; +} + +body.landscape #tabs { + display: none; +} + +body.landscape .tabbody { + display: block !important; + float: left; + font-size: 14px; +} + +body.landscape #scheduletab { + width: 205px; +} + +body.landscape #maptab { + width: 225px; +} + +body.landscape #map { + width: 225px; + height: 225px; + text-align: right; +} + +body.landscape #mapimage { + width: 225px; + height: 225px; + margin-left: 10px; +} + +body.landscape #rotatemsg1 { + display: none; +} + +body.landscape #rotatemsg2 { + display: inline; +} \ No newline at end of file diff --git a/mockup/shuttletrack/sp/boston-daytime.html b/mockup/shuttletrack/sp/boston-daytime.html new file mode 100755 index 0000000..8b31254 --- /dev/null +++ b/mockup/shuttletrack/sp/boston-daytime.html @@ -0,0 +1,88 @@ + + + + + + + MIT Shuttle Schedule: Boston Daytime Shuttle + + + + + + + + +
+
+

Boston Daytime

+

Runs weekdays 8am-6pm, Sep-May

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Stop (Map)Time*
A. 84 Mass Ave.17:28
B. Mass Ave/Beacon17:31
C. 487 Comm Ave17:33
bus D. 64 Bay State (TXI)17:12
E. 111 Bay State (SH)17:13
F. 478 Comm Ave17:17
G. 450 Beacon St (PLP)17:21
H. Beacon/Mass Ave17:24
I. 77 Mass Ave17:26
+ +

Route loop repeats every 20 minutes.

+ + +
Map
+ +
+ +

+ Shuttle Schedule Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Shuttle Schedule Home +

+ +
+ + + + + \ No newline at end of file diff --git a/mockup/shuttletrack/sp/help.html b/mockup/shuttletrack/sp/help.html new file mode 100755 index 0000000..0f3faaa --- /dev/null +++ b/mockup/shuttletrack/sp/help.html @@ -0,0 +1,45 @@ + + + + + + MIT Shuttle Schedule: Help + + + + + + + +

+ +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: Shuttle Schedule Home
+

+ +
+ + + + + diff --git a/mockup/shuttletrack/sp/index.html b/mockup/shuttletrack/sp/index.html new file mode 100755 index 0000000..ec1e4df --- /dev/null +++ b/mockup/shuttletrack/sp/index.html @@ -0,0 +1,46 @@ + + + + + + + MIT Shuttle Schedule + + + + + + + + + + + + + \ No newline at end of file diff --git a/mockup/shuttletrack/sp/routes/boston-daytime.gif b/mockup/shuttletrack/sp/routes/boston-daytime.gif new file mode 100755 index 0000000..df7e0d3 Binary files /dev/null and b/mockup/shuttletrack/sp/routes/boston-daytime.gif differ diff --git a/mockup/shuttletrack/sp/routes/tech.gif b/mockup/shuttletrack/sp/routes/tech.gif new file mode 100755 index 0000000..5349d32 Binary files /dev/null and b/mockup/shuttletrack/sp/routes/tech.gif differ diff --git a/mockup/shuttletrack/sp/styles/shuttletrack-sp.css b/mockup/shuttletrack/sp/styles/shuttletrack-sp.css new file mode 100755 index 0000000..3d2a6cf --- /dev/null +++ b/mockup/shuttletrack/sp/styles/shuttletrack-sp.css @@ -0,0 +1,27 @@ +table.schedule { + width: 100%; + margin: 0.75em 0; + position: relative; + border-bottom: 1px solid #999; +} +table.schedule th { + padding: 2px 4px 2px 2px; + font-weight: normal; + line-height: 1em; + text-align: left; + color: #666; +} +table.schedule td { + padding: 2px 4px 2px 2px; + line-height: 1em; + border-top: 1px solid #ccc; +} +.current td { + background-color: #933; + padding-bottom: 4px; + color: #fff; + border-color: #933; +} +.current strong { + font-weight: normal; +} \ No newline at end of file diff --git a/mockup/shuttletrack/sp/tech.html b/mockup/shuttletrack/sp/tech.html new file mode 100755 index 0000000..9ac7051 --- /dev/null +++ b/mockup/shuttletrack/sp/tech.html @@ -0,0 +1,86 @@ + + + + + + + MIT Shuttle Schedule: Tech Shuttle + + + + + + + + +
+
+

Tech Shuttle

+

Runs weekdays 7:15am-7:15pm, all year

+

< Prev Loop | Next Loop >

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Stop (Map)Time*
A. Kendall T (Main St)17:28
B. Amherst St/ Wadsworth St17:31
C. MIT Building 3917:33
D. 84 Mass Ave (T bus stop)17:35
E. Burton House17:37
F. Amherst Alley (Tang + Westgate)17:40
G. Simmons Hall (west side turnaround)17:41
H. Vassar St/ Mass Ave (across f/ ATM)17:24
bus I. Stata Center17:26
+ +
Map
+

Complete route schedule

+
+ +

+ Shuttle Schedule Help +

+ +

+ 0: MIT Mobile Web Home
+ 1: Shuttle Schedule Home +

+ +
+ + + + + \ No newline at end of file diff --git a/mockup/stellar/fp/course-listing.html b/mockup/stellar/fp/course-listing.html new file mode 100755 index 0000000..55bec9c --- /dev/null +++ b/mockup/stellar/fp/course-listing.html @@ -0,0 +1,83 @@ + + + + + + MIT Stellar: Course 1 + + + + + + + +
+ +

Civil and Environmental Engineering (Course 1)

+ + + +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Stellar Home
+

+ +
+ + + + + diff --git a/mockup/stellar/fp/courses1-10.html b/mockup/stellar/fp/courses1-10.html new file mode 100755 index 0000000..1c622c5 --- /dev/null +++ b/mockup/stellar/fp/courses1-10.html @@ -0,0 +1,45 @@ + + + + + + MIT Stellar: Courses 1-10 + + + + + + + + + + + + + diff --git a/mockup/stellar/fp/detail-info.html b/mockup/stellar/fp/detail-info.html new file mode 100755 index 0000000..67620e1 --- /dev/null +++ b/mockup/stellar/fp/detail-info.html @@ -0,0 +1,63 @@ + + + + + + MIT Stellar: Search Results + + + + + + + +
+ +
+

1.00 / 1.001: Computers & Engineering Problem Solving

+

Spring 2008

+ +

+ News | Info | Staff +

+ +

Lecture:

+

MWF 3-4:30 (26-100)

+ +

Prof's Office Hours:

+

+ Kocur: MW 4:30-5:30 or by appt. (1-253)
+ Harward: MW 4:30-5:30 or by appt. (9-317) +

+ +

TA Office Hours:

+

+ W 5:00-11:00 (3-442)
+ T 5:00-11:00 (5-217) +

+ +

+ +

Fundamental software development and computational methods for engineering, scientific and managerial applications. Emphasis on object-oriented software design and development. Active learning using laptop computers (available on loan). Assignments cover programming concepts, graphical user interfaces, numerical methods, data structures, sorting and searching, computer graphics and selected advanced topics. The Java programming language is used.

+ +
+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Stellar Home
+

+ +
+ + + + + diff --git a/mockup/stellar/fp/detail-staff.html b/mockup/stellar/fp/detail-staff.html new file mode 100755 index 0000000..13c6b98 --- /dev/null +++ b/mockup/stellar/fp/detail-staff.html @@ -0,0 +1,62 @@ + + + + + + MIT Stellar: Search Results + + + + + + + +
+ +
+

1.00 / 1.001: Computers & Engineering Problem Solving

+

Spring 2008

+ +

+ News | Info | Staff +

+ +

Instructors:

+

+ George A Kocur
+ V Judson Harward
+

+ +

TAs:

+

+ Lydia B Chilton
+ Adam R Rogal
+ James Sun
+ David C Wang
+ John T Nham
+ Stephen W Oney
+ Reesa Phillips
+ Charuleka Varadharajan
+

+ +
+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Stellar Home
+

+ +
+ + + + + diff --git a/mockup/stellar/fp/detail.html b/mockup/stellar/fp/detail.html new file mode 100755 index 0000000..1aaa718 --- /dev/null +++ b/mockup/stellar/fp/detail.html @@ -0,0 +1,57 @@ + + + + + + MIT Stellar: Search Results + + + + + + + +
+ +
+

1.00 / 1.001: Computers & Engineering Problem Solving

+

Spring 2008

+ +

+ News | Info | Staff +

+ +

+ Quiz 1 Office Hours: There will be NO office hours this coming Wednesday, March 5th, in honor of Quiz 1... more... (2/29 19:35) +

+

+ Problem Set 4 Correction: A minor correction has been made at the top of page 3 in Problem Set 4: Replace... more... (2/29 19:32) +

+

+ Quiz 1 & Quiz 1 Review: Quiz 1 will be held on Friday, March 7th from 3:05-4:25 in Walker Memorial (50-340). It... more... (2/25 15:30) +

+

+ Older announcements > +

+ +
+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Stellar Home
+

+ +
+ + + + + diff --git a/mockup/stellar/fp/help.html b/mockup/stellar/fp/help.html new file mode 100755 index 0000000..525c60f --- /dev/null +++ b/mockup/stellar/fp/help.html @@ -0,0 +1,43 @@ + + + + + + MIT Stellar: Help + + + + + + + +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: Stellar Home
+

+ +
+ + + + + diff --git a/mockup/stellar/fp/index.html b/mockup/stellar/fp/index.html new file mode 100755 index 0000000..824b256 --- /dev/null +++ b/mockup/stellar/fp/index.html @@ -0,0 +1,58 @@ + + + + + + MIT Stellar + + + + + + + +
+ +
+ +

MIT class info and news.

+ + + + +

+ Search by course/subject #:
+ + + + + + +

+ + +

+ Stellar Help +

+ +

+ 0: MIT Mobile Web Home +

+ +
+
+ + + + + diff --git a/mockup/stellar/fp/results.html b/mockup/stellar/fp/results.html new file mode 100755 index 0000000..4ddb4f9 --- /dev/null +++ b/mockup/stellar/fp/results.html @@ -0,0 +1,64 @@ + + + + + + MIT Stellar: Search Results + + + + + + + + + + + + + diff --git a/mockup/stellar/ip/course-listing.html b/mockup/stellar/ip/course-listing.html new file mode 100755 index 0000000..45251d5 --- /dev/null +++ b/mockup/stellar/ip/course-listing.html @@ -0,0 +1,84 @@ + + + + + + + MIT Stellar</strong>: Course 1 + + + + + + + + +
+ +
+

Civil and Environmental Engineering (Course 1)

+
+ + + + +
+ + + + + diff --git a/mockup/stellar/ip/courses1-10.html b/mockup/stellar/ip/courses1-10.html new file mode 100755 index 0000000..179c4a0 --- /dev/null +++ b/mockup/stellar/ip/courses1-10.html @@ -0,0 +1,45 @@ + + + + + + + MIT Stellar: Courses 1-10 + + + + + + + + + + + + + + diff --git a/mockup/stellar/ip/detail-search.html b/mockup/stellar/ip/detail-search.html new file mode 100755 index 0000000..7414bc3 --- /dev/null +++ b/mockup/stellar/ip/detail-search.html @@ -0,0 +1,87 @@ + + + + + + + MIT Stellar: 1.021 + + + + + + + + + +
+ + + +
+

1.021 / 3.021 / 10.333 / 18.361 / 22.00: Introduction to Modeling and Simulation

+

Spring 2008 | Stellar site

+ + + +
+ + + + + + +
+
+ +
+ +
+ + + + + + + diff --git a/mockup/stellar/ip/detail.html b/mockup/stellar/ip/detail.html new file mode 100755 index 0000000..776680c --- /dev/null +++ b/mockup/stellar/ip/detail.html @@ -0,0 +1,182 @@ + + + + + + + MIT Stellar: 1.00/1.001 + + + + + + + + + +
+ + + +
+

1.00 / 1.001: Computers & Engineering Problem Solving

+

Spring 2008 | Stellar site

+ + + +
+
+ +
+ + + + + +
+
+ +
+ +
+ + + + + + + diff --git a/mockup/stellar/ip/help.html b/mockup/stellar/ip/help.html new file mode 100755 index 0000000..deffca4 --- /dev/null +++ b/mockup/stellar/ip/help.html @@ -0,0 +1,36 @@ + + + + + + + MIT Stellar: Help + + + + + + + + +
+ +
+

Help text goes here.

+

 

+

 

+

 

+
+ +
+ + + + + diff --git a/mockup/stellar/ip/index.html b/mockup/stellar/ip/index.html new file mode 100755 index 0000000..4823581 --- /dev/null +++ b/mockup/stellar/ip/index.html @@ -0,0 +1,54 @@ + + + + + + + MIT Stellar + + + + + + + + +
+ +
+

Descriptions, announcements and other information for MIT classes.

+ +

Browse by course:

+
+ + + +
+
+
+ + +
+
+
+ +
+ + + + + diff --git a/mockup/stellar/ip/results.html b/mockup/stellar/ip/results.html new file mode 100755 index 0000000..7e92049 --- /dev/null +++ b/mockup/stellar/ip/results.html @@ -0,0 +1,90 @@ + + + + + + + MIT Stellar: Search Results + + + + + + + + + + + + + + diff --git a/mockup/stellar/sp/course-listing.html b/mockup/stellar/sp/course-listing.html new file mode 100755 index 0000000..ac35c16 --- /dev/null +++ b/mockup/stellar/sp/course-listing.html @@ -0,0 +1,85 @@ + + + + + + MIT Stellar: Course 1 + + + + + + + +

+ +
+ +

Civil and Environmental Engineering (Course 1)

+ + + +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Stellar Home
+

+ +
+ + + + + diff --git a/mockup/stellar/sp/courses1-10.html b/mockup/stellar/sp/courses1-10.html new file mode 100755 index 0000000..6ebff7d --- /dev/null +++ b/mockup/stellar/sp/courses1-10.html @@ -0,0 +1,47 @@ + + + + + + MIT Stellar: Courses 1-10 + + + + + + + +

+ + + + + + + diff --git a/mockup/stellar/sp/detail-info.html b/mockup/stellar/sp/detail-info.html new file mode 100755 index 0000000..5e2e39f --- /dev/null +++ b/mockup/stellar/sp/detail-info.html @@ -0,0 +1,65 @@ + + + + + + MIT Stellar: Search Results + + + + + + + +

+ +
+ +
+

1.00 / 1.001: Computers & Engineering Problem Solving

+

Spring 2008

+ +

+ News | Info | Staff +

+ +

Lecture:

+

MWF 3-4:30 (26-100)

+ +

Prof's Office Hours:

+

+ Kocur: MW 4:30-5:30 or by appt. (1-253)
+ Harward: MW 4:30-5:30 or by appt. (9-317) +

+ +

TA Office Hours:

+

+ W 5:00-11:00 (3-442)
+ T 5:00-11:00 (5-217) +

+ +

+ +

Fundamental software development and computational methods for engineering, scientific and managerial applications. Emphasis on object-oriented software design and development. Active learning using laptop computers (available on loan). Assignments cover programming concepts, graphical user interfaces, numerical methods, data structures, sorting and searching, computer graphics and selected advanced topics. The Java programming language is used.

+ +
+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Stellar Home
+

+ +
+ + + + + diff --git a/mockup/stellar/sp/detail-staff.html b/mockup/stellar/sp/detail-staff.html new file mode 100755 index 0000000..a39a760 --- /dev/null +++ b/mockup/stellar/sp/detail-staff.html @@ -0,0 +1,64 @@ + + + + + + MIT Stellar: Search Results + + + + + + + +

+ +
+ +
+

1.00 / 1.001: Computers & Engineering Problem Solving

+

Spring 2008

+ +

+ News | Info | Staff +

+ +

Instructors:

+

+ George A Kocur
+ V Judson Harward
+

+ +

TAs:

+

+ Lydia B Chilton
+ Adam R Rogal
+ James Sun
+ David C Wang
+ John T Nham
+ Stephen W Oney
+ Reesa Phillips
+ Charuleka Varadharajan
+

+ +
+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Stellar Home
+

+ +
+ + + + + diff --git a/mockup/stellar/sp/detail.html b/mockup/stellar/sp/detail.html new file mode 100755 index 0000000..7e51d29 --- /dev/null +++ b/mockup/stellar/sp/detail.html @@ -0,0 +1,59 @@ + + + + + + MIT Stellar: Search Results + + + + + + + +

+ +
+ +
+

1.00 / 1.001: Computers & Engineering Problem Solving

+

Spring 2008

+ +

+ News | Info | Staff +

+ +

+ Quiz 1 Office Hours: There will be NO office hours this coming Wednesday, March 5th, in honor of Quiz 1... more... (2/29 19:35) +

+

+ Problem Set 4 Correction: A minor correction has been made at the top of page 3 in Problem Set 4: Replace... more... (2/29 19:32) +

+

+ Quiz 1 & Quiz 1 Review: Quiz 1 will be held on Friday, March 7th from 3:05-4:25 in Walker Memorial (50-340). It... more... (2/25 15:30) +

+

+ Older announcements > +

+ +
+ +

+ < Back +

+ +

+ 0: MIT Mobile Web Home
+ 1: Stellar Home
+

+ +
+ + + + + diff --git a/mockup/stellar/sp/help.html b/mockup/stellar/sp/help.html new file mode 100755 index 0000000..77ccfe6 --- /dev/null +++ b/mockup/stellar/sp/help.html @@ -0,0 +1,45 @@ + + + + + + MIT Stellar: Help + + + + + + + +

+ +
+ +
+ +

Help

+ +

+ Help text goes here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +

+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+
+ +

+ 0: MIT Mobile Web Home
+ 1: Stellar Home
+

+ +
+ + + + + diff --git a/mockup/stellar/sp/index.html b/mockup/stellar/sp/index.html new file mode 100755 index 0000000..ab2ca28 --- /dev/null +++ b/mockup/stellar/sp/index.html @@ -0,0 +1,60 @@ + + + + + + MIT Stellar + + + + + + + +

+ +
+ +
+ +

Descriptions, announcements and other information for MIT classes.

+ + + + +

+ Search by course/subject #:
+ + + + + + +

+ + +

+ Stellar Help +

+ +

+ 0: MIT Mobile Web Home +

+ +
+
+ + + + + diff --git a/mockup/stellar/sp/results.html b/mockup/stellar/sp/results.html new file mode 100755 index 0000000..8ee1128 --- /dev/null +++ b/mockup/stellar/sp/results.html @@ -0,0 +1,66 @@ + + + + + + MIT Stellar: Search Results + + + + + + + +

+ + + + + + + diff --git a/mockup/styles/fp.css b/mockup/styles/fp.css new file mode 100755 index 0000000..daf457b --- /dev/null +++ b/mockup/styles/fp.css @@ -0,0 +1,282 @@ +/* Redefinition of basic elements */ + +html, body { + margin: 0; + padding: 0; + width: 100%; +} + +body { + background-color: #d9e0e8; + font-family: Arial, sans-serif; + font-size: small; + color: #202629; +} + +a { + color: #a33; +} + +a:visited { + color: #a33; +} + +a img { + border: none; +} + +h1 { + font-size: x-large; + font-weight: normal; + margin: 10px 0; + padding: 0; +} + +h2 { + font-size: large; + font-weight: normal; + margin: 0 0 5px 0; + padding: 0; +} + +h3 { + font-size: small; + font-weight: bold; + margin: 0 0 5px 0; + padding: 0; +} + +h4 { + font-size: small; + font-weight: bold; + margin: 0; + padding: 0; +} + +p { + margin: 0 0 8px 0; + padding: 0; +} + +table, th, td { + font-size: small; +} + + +/* Major layout blocks */ + +#container { + padding: 3px; + margin: 6px 0; +} + +#header { + margin: 0; + padding: 4px 4px 4px 4px; + font-size: large; +} + +#header a { + text-decoration: none; + color: #444; +} + +#footer { + margin: 3px 0 3px 0; + padding: 3px; + font-size: xx-small; + color: #666; +} + + +/* Forms */ + +form { + margin: 4px 0 10px 0; + padding: 0; +} + +fieldset { + border: 0; + margin: 0; + padding: 0; +} + +.combobutton { + background-color: #933; + border-color: #933; + color: #fff; +} + +.inputcombo .forminput { + font-size: small; +} + +.inputcombo .combobutton { + font-size: small; +} + + + +/* Navigation and results listings */ +/* Use of "display:block" allows for vertical padding without line-height and elimination of
tags in lists (compared with sp.css) */ + +.nav { + margin: 1em 0; + padding: 3px; + background-color: #fff; + font-size: small; +} + +.secondary { + margin: 1em 0; + padding: 3px; + background-color: #f0f6f9; + font-size: small; +} + +.paging { + margin: 0; + padding: 3px; + font-size: small; +} + +.bottomnav { + margin: 1em 0; + padding: 3px; + background-color: #778593; + color: #fff; + font-size: small; +} + +.bottomnav a { + color: #fff; +} + +.results { + margin: 0.75em 0; + padding: 3px; + background-color: #fff; + font-size: small; +} + + +/* Specific content formatting */ + +.focal { + background-color: #fff; + padding: 3px; +} + +.nonfocal { + padding: 3px; +} + +.paging { + text-align: left; + margin: 0.75em 0; +} + +.legend { + margin: 0.5em 0 0.75em 0; + font-size: x-small; + color: #606669; +} + +.row { + padding: 4px 0; +} + +.smallprint { + font-size: x-small; + font-weight: normal; + color: #555; + text-decoration: none; +} + +.fineprint { + font-size: xx-small; + color: #666; + text-decoration: none; +} + +.clear { + clear: both; +} + +.label { + display: inline; + padding-right: 2px; + font-size: x-small; + color: #888888; +} + +.value { + font-size: small; +} + +hr { + display: none; +} + +.divider { + height: 0; + margin: 0.75em 0; + border: none; + border-top: 1px dotted #999; +} + +.bb { + display: none; +} + +.image { + text-align: center; + padding: 4px 0; +} + +.hidden { + display:none; +} + + + +/* Iconically coded links - e.g., Shuttle Schedule, 3DOWN, etc. */ + +a.icon { + background-repeat: no-repeat; + background-position: 1px 5px; + padding-left: 16px; +} + +span.icon { + display: block; + background-repeat: no-repeat; + background-position: 1px 2px; + padding: 2px 0 2px 16px; +} + +.gps { + background-image: url(../images/fp/gps.gif); +} + +.sch { + background-image: url(../images/fp/schedule.gif); +} + +.ok { + background-image: url(../images/fp/ok.gif); +} + +.alert { + background-image: url(../images/fp/alert.gif); +} + +.warning { + background-image: url(../images/fp/warning.gif); +} + +.critical { + background-image: url(../images/fp/critical.gif); +} + diff --git a/mockup/styles/ip.css b/mockup/styles/ip.css new file mode 100755 index 0000000..b035a11 --- /dev/null +++ b/mockup/styles/ip.css @@ -0,0 +1,736 @@ +/* Redefinition of basic elements */ + +html, body { + margin: 0; + padding: 0; + width: 100%; +} + +body { + background-color: #b9c6d6; + font: 17px/1.33em Helvetica, Arial, sans-serif; + color: #202629; + -webkit-text-size-adjust: none; +} + +h1, h2, h3 { + margin: 0 0 0.5em 0; + line-height: 1.2em; + color: #000; +} + +h1 { + font-size: 29px; + font-weight: normal; + color: #fff; +} + +h2 { + font-size: 21px; + font-weight: normal; +} + +h3 { + font-size: 1em; + font-weight: bold; +} + +a { + color: #933; +} + +a:visited { + color: #933; +} + +a img { + border: none +} + +p { + margin: 0 0 0.75em 0; +} + +table { + width: 100%; + margin: 0.75em 0; +} + +th, td { + padding: 4px 6px 5px 2px; + line-height: 1em; +} + +th { + font-weight: normal; + text-align: left; + color: #666; +} + +ol, ul { + margin: 0 0 0.75em 0; + padding-left: 1.2em; +} + +dl { + width: 100%; + position: relative; + padding: 0; + margin: 0; +} + +dt { + display: block; + height: 28px; + padding: 0; + margin: 0; +} + +dd { + display: block; + min-height: 28px; + padding: 0; + margin: 0; + position: absolute; + margin-top: -28px; + right: 0; + width: 75%; +} + +.legend dt { + height: 19px; +} + +.legend dd { + min-height: 19px; + position: absolute; + margin-top: -19px; + right: 0; + text-align: right; + width: 50%; +} + + + + + +/* Major layout blocks */ + +#container { + min-height: 311px; +} + +#footer { + min-height: 22px; + margin: 20px 12px 14px 12px; + font-size: 12px; + line-height: 14px; + font-weight: normal; + color: #303639; +} + + +/* Forms */ + +form { + margin: 18px 0 12px 0; + padding: 0; + border: none; + position: relative; +} + +fieldset { + margin: 6px 0; + padding: 0; + border: none; + position: relative; +} + +input, select { + color: #223; + font-size: 17px; + line-height: 1em; +} + +select { + width: 100%; + border: 1px solid #6585a9; + -webkit-border-radius: 9px; +} + +.forminput { + border: 1px solid #758ea6; + width: 100%; + height: 30px; + padding: 4px 6px; + -webkit-appearance:textfield; + -webkit-border-radius: 5px; +} + +.inputcombo .forminput { + width: 72%; + height: 22px; + padding: 4px 38px 8px 9px; + line-height: 24px; + border: 1px 0 1px 1px solid #758ea6; + -webkit-border-bottom-left-radius: 11px; + -webkit-border-top-left-radius: 11px; + -webkit-border-bottom-right-radius: 0; + -webkit-border-top-right-radius: 0; +} + +.inputcombo .combobutton { + position: absolute; + z-index: 10; + top: 0; + right: 0; + width: 38px; + height: 36px; +} + +.emphasized { + border: 3px solid #5884b0; + -webkit-border-radius: 13px; + margin: 16px 0; +} + +.emphasized .forminput { + border: none; + padding: 6px 38px 8px 9px; +} + + +/* Top navigation/titlebar */ + +#navbar { + height: 36px; + border-top: 1px solid #3c597f; + border-bottom: 1px solid #a3b2c5; + margin: 0 0 12px 0; + background: #869db3; + background-image: url(../images/ip/navback.png); + background-repeat: repeat-x; + font-size: 16px; + line-height: 16px; + padding-left: 62px; +} + +.breadcrumbs a { + float: left; + margin-left: -18px; + padding: 10px 0px 12px 0; + background-image: url(../images/ip/drillup-r.png); + background-repeat: no-repeat; + background-position: top right; + text-decoration: none; + color: #fff; +} + +.breadcrumbs a:visited { + color: #fff; +} + +.breadcrumbs a span { + background-image: url(../images/ip/drillup-l.png); + background-repeat: no-repeat; + background-position: 4px left; + padding: 13px 17px 10px 23px; +} + +a.homelink { + padding: 0; + margin-left: 0; + position: absolute; + top: 1px; + left: 0; + background-image: none; +} + +a.module { + padding: 4px 0; + margin-left: -19px; +} + +a.module img { + padding: 0 23px 0 25px; +} + +.homepage .moduleicon { + float: left; + padding-right: 6px; + margin-top: -4px; + margin-left: -1px; +} + +.pagetitle { + float: left; + padding: 10px 4px; + color: #fff; + font-weight: bold; +} + +.homepage .pagetitle { + width: 208px; + padding: 8px 7px; + font-size: 18px; +} + +.help { + float: right; + width: 34px; +} + + +/* Navigation and results listings */ + +.nav { + padding: 0; + margin: 10px; + font-weight: normal; + color: #000; + background-color: #fff; + border-bottom: 1px solid #c3cfd9; + -webkit-border-radius: 9px; +} + +.nav li { + list-style-type: none; + border-top: 1px solid #c3cfd9; + padding: 12px; + position: relative; +} + +.nav li:first-child { + border-top:0; +} + +.nav a { + display: block; + padding: 8px 25px 8px 8px; + margin: -8px; + background-image: url(../images/ip/action-arrow.png); + background-repeat: no-repeat; + background-position: right; + line-height: 1.2em; + text-decoration: none; + color: #000; + -webkit-border-radius: 5px; +} + +.nav a:visited { + color: #000; +} + +.nav h2, .nav h3 { + margin-bottom: 0; +} + +.focal .nav { + margin: 10px -11px; + -webkit-border-radius: 0px; +} + +.tabbody .nav { + margin: -4px -10px; + border-bottom: none; +} + +.results { + padding: 0; + margin: 10px 0; + color: #000; + background-color: #fff; +} + +.results li { + list-style-type: none; + border-top: 1px solid #c3cfd9; + padding: 10px; +} + +.results li:first-child { + border-top:0; +} + +.results a { + display: block; + padding: 10px 25px 10px 7px; + margin: -7px; + background-image: url(../images/ip/action-arrow.png); + background-repeat: no-repeat; + background-position: right; + line-height: 1.2em; + text-decoration: none; + color: #000; + -webkit-border-radius: 5px; +} + +.results a:visited { + color: #000; +} + +.secondary { + margin: 10px; + padding: 0; + background-color: #edf1f7; + -webkit-border-radius: 9px; + font-size: 16px; + font-weight: normal; + color: #000; +} + +.secondary li { + list-style-type: none; + border-top: 1px solid #acb8c2; + position: relative; + padding: 9px 10px; +} + +.secondary li:first-child { + border-top: none; +} + +.secondary a { + display: block; + padding: 9px 25px 9px 8px; + margin: -7px; + background-image: url(../images/ip/action-arrow.png); + background-repeat: no-repeat; + background-position: right; + line-height: 1.2em; + text-decoration: none; + color: #101619; + -webkit-border-radius: 5px; +} + +.secondary a:visited { + color: #101619; +} + +.bottomnav { + clear: both; + margin: 32px 10px; + position: relative; +} + + + +/* Specific content formatting */ + +.focal { + position: relative; + padding: 12px; + margin: 10px; + font-weight:normal; + line-height: 1.33em; + color: #333; + background-color: #fff; + -webkit-border-radius: 9px; +} + +.nonfocal { + margin: 12px; +} + +.nonfocal form { + margin-left: -2px; + margin-right: -2px; +} + +.shaded { + background-color: #edf1f7; +} + +.legend { + margin: 7px 0; + font-size: 14px; + line-height: 17px; + color: #404649; +} + +.legend.nonfocal { + margin: 0 0 24px 0; + padding: 0 12px; + color: #303639; +} + +.legend div { + display: inline; + margin-right: 0px; + padding: 1px 0; +} + +.legend .icon { + background-position: 10px 0; + padding-left: 32px; +} + +.legend h2, .legend h3 { + color: #4a4f54; +} + +.smallprint { + font-size: 14px; + line-height: 17px; + font-weight: normal; + color: #404649; +} + +.fineprint { + font-size: 12px; + line-height: 14px; + font-weight: normal; + color: #505659; +} + +.label { + float: left; + height: 21px; + width: 60px; + padding-right: 10px; + font-size: 13px; + line-height: 23px; + font-weight: bold; + text-align: right; + color: #627ba1; +} + +.value { + font-size: 17px; + min-height: 20px; + line-height: 20px; +} + +.more { + color: #933; +} + +.badnews { + color: #a33; + font-weight: bold; +} + +.tight { + padding: 0; + margin: 0; +} + +.clear { + clear: both; +} + +.invisible { + display: none; +} + +.disabled { + opacity: 0.22; +} + +.collapsed .summary { + display: inline; +} + +.collapsed .fulltext { + display: none; +} + +.expanded .summary { + display: none; +} + +.expanded .fulltext { + display: inline; +} + + + +/* Action links (dial phone, launch map, compose email, etc.) */ + +.actionlink { + background-repeat: no-repeat; + background-position: right; + padding-right: 38px; + padding-left: 0; +} + +a.arrow { + background-image: url(../images/ip/action-arrow.png); + padding-right: 25px; +} + +a.phone { + background-image: url(../images/ip/action-phone.png); + padding-right: 36px; +} + +a.email { + background-image: url(../images/ip/action-email.png); + padding-right: 38px; +} + +a.map { + background-image: url(../images/ip/action-map.png); + padding-right: 38px; +} + +a.search { + background-image: url(../images/ip/action-search.png); + padding-right: 36px; +} + +a.people { + background-image: url(../images/ip/action-people.png); + padding-right: 36px; +} + +a.external { + background-image: url(../images/ip/action-external.png); + padding-right: 34px; +} + +a.pdf { + background-image: url(../images/ip/action-pdf.png); + padding-right: 34px; +} + +a.noaction { + background-image: none; + padding-right: 0; +} + + +/* Iconically coded links - e.g., Shuttle Schedule, 3DOWN, etc. */ + +.icon { + background-repeat: no-repeat; + background-position: 11px 14px; +} + +.icon a { + padding-left: 32px; +} + +h2.icon { + background-position: right; + padding-right: 24px; +} + +.inset { + padding-left: 32px; + padding-top: 3px; + margin-left: -7px; +} + +.gps { + background-image: url(../images/ip/gps.png); +} + +.sch { + background-image: url(../images/ip/schedule.png); +} + +.ok { + background-image: url(../images/ip/ok.png); +} + +.alert { + background-image: url(../images/ip/alert.png); +} + +.warning { + background-image: url(../images/ip/warning.png); +} + +.critical { + background-image: url(../images/ip/critical.png); +} + +.available { + background-image: url(../images/ip/available.png); +} + +.full { + background-image: url(../images/ip/donotenter.png); +} + + + +/* Tabs (e.g., Shuttle Schedule route pages) */ + +#tabs { + list-style-type: none; + margin: 0 0; + padding: 0; +} + +#tabs li { + float: left; + margin-bottom: -1px; + margin-right: 5px; + background-color: #cfd7e3; + border-top: 1px solid #cfd7e3; + border-right: 1px solid #cfd7e3; + border-left: 1px solid #cfd7e3; + border-bottom: 1px solid #b9c6d6; + -webkit-border-top-right-radius: 7px; + -webkit-border-top-left-radius: 7px; + text-align: center; +} + +#tabs li.active { + background-color: #fff; + border-top: 1px solid #cfd7e3; + border-right: 1px solid #b9c6d6; + border-left: 1px solid #cfd7e3; + border-bottom: 1px solid #fff; + margin-top: -2px; +} + +#tabs li a { + display: block; + text-decoration: none; + padding: 4px 11px 3px 11px; + min-width: 40px; + color: #334; +} + +#tabs li.active a { + color: #000; + padding-top: 5px; + padding-bottom: 4px; +} + +#tabbodies { + margin: 0 -12px -12px -12px; + padding: 11px; + clear: both; + border-top: 1px solid #cfd7e3; + background-color: #fff; + -webkit-border-bottom-right-radius: 8px; + -webkit-border-bottom-left-radius: 8px; +} + +.tabbody { + position: relative; +} + +.tabbody h3 { + margin-top: 22px; +} + +.tabbody li:first-child h3 { + margin-top: 2px; +} + + +/* "Loading content" (for AJAX data pulls) */ + +.loading { + margin: 16px 0; + font-size: 14px; + line-height: 21px; + font-weight: normal; + color: #768087; + text-align: center; +} diff --git a/mockup/styles/sp.css b/mockup/styles/sp.css new file mode 100755 index 0000000..835526d --- /dev/null +++ b/mockup/styles/sp.css @@ -0,0 +1,327 @@ +/* Redefinition of basic elements */ + +html, body { + margin: 0; + padding: 0; + width: 100%; +} + +body { + background-color: #d9e0e8; + font-family: Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 18px; + color: #202629; +} + +a { + color: #a33; +} + +a:visited { + color: #a33; +} + +a img { + border: none; +} + +h1, h2, h3 { + line-height: 1.2em; + color: #000; +} + +h1 { + font-size: 22px; + font-weight: normal; + margin: 10px 0; + padding: 0; +} + +h2 { + font-size: 20px; + font-weight: normal; + margin: 0 0 6px 0; + padding: 0; +} + +h3 { + font-size: 1em; + font-weight: bold; + margin: 0 0 5px 0; + padding: 0; +} + +h4 { + font-size: 1em; + font-weight: bold; + margin: 0; + padding: 0; +} + +p { + margin: 0 0 10px 0; +} + +th, td, li, option, select, input { + font-family: Helvetica, Arial, sans-serif; + font-size: 14px; +} + + +/* Major layout blocks */ + +#container { + padding: 5px; +} + +#header { + margin: 0; + padding: 8px 8px 0 8px; + font-size: 20px; +} + +#header a { + text-decoration: none; + color: #444; +} + +#footer { + margin: 6px 0 10px 0; + padding: 6px; + font-size: 11px; + line-height: 13px; + color: #666; +} + + + +/* Forms */ + +form { + margin: 0 0 12px 0; + padding: 0; +} + +fieldset { + border: 0; + margin: 0; + padding: 0; +} + +.combobutton { + background-color: #933; + border-color: #933; + color: #fff; +} + +.inputcombo .forminput { + font-size: 13px; + float: left; + width: 60%; + padding: 3px; +} + +.inputcombo .combobutton { + font-size: 13px; + padding: 1px 4px; +} + + + +/* Navigation and results listings */ +/* Many smartphones don't correctly interpret "display:block" for inline elements like */ + +.nav { + margin: 15px 0 15px 0; + padding: 5px; + background-color: #fff; + font-size: 14px; + line-height: 24px; +} + +.secondary { + margin: 15px 0 15px 0; + padding: 5px; + background-color: #edf1f7; + font-size: 13px; + line-height: 21px; +} + +.paging { + margin: 0; + padding: 5px; + font-size: 13px; + line-height: 21px; +} + +.bottomnav { + margin: 20px 0 10px 0; + padding: 5px; + background-color: #909eac; + font-size: 13px; + line-height: 21px; +} + +.bottomnav a { + color: #fff; +} + +.results { + font-size: 14px; + line-height: 24px; + margin-bottom: 1em; +} + + +/* Specific content formatting */ + +.focal { + background-color: #fff; + padding: 5px; +} + +.nonfocal { + padding: 5px; +} + +.paging { + text-align: left; + margin: 1em 0; +} + +.legend { + margin-top: 0.5em; + font-size: 11px; + line-height: 15px; + color: #666; +} + +.smallprint { + font-size: 12px; + font-weight: normal; + line-height: 15px; + color: #666; +} + +.fineprint { + font-size: 10px; + line-height: 12px; + color: #666; +} + +.clear { + clear: both; +} + +.label { + float: left; + width: 50px; + padding: 1px 10px 0 0; + font-size: 12px; + line-height: 19px; + color: #627ba1; +} + +.value { + font-size: 14px; + min-height: 20px; + line-height: 20px; +} + +.divider { + height: 0; + margin: 0.75em 0; + border: none; + border-top: 1px dotted #999; +} + +hr { + display: none; +} + +.bb { + display: none; +} + +.image { + text-align: center; + padding-bottom: 6px; +} + +.hidden { + visibility: hidden; +} + +.maintable { + width: 100%; + background-color: #fff; +} + +.maintable td, .maintable th { + padding: 3px 5px; +} + +.centered { + text-align: center +} + + +/* Iconically coded links - e.g., Shuttle Schedule, 3DOWN, etc. */ + +a.icon { + background-repeat: no-repeat; + background-position: 0px 3px; +} + +span.icon { + background-repeat: no-repeat; + background-position: 0 0; + padding-right: 6px; +} + +.icon span { + padding: 3px 0 3px 17px; + line-height: 16px; +} + +.gps { + background-image: url(../images/sp/gps.gif); +} + +.sch { + background-image: url(../images/sp/schedule.gif); +} + +.ok { + background-image: url(../images/sp/ok.gif); +} + +.alert { + background-image: url(../images/sp/alert.gif); +} + +.warning { + background-image: url(../images/sp/warning.gif); +} + +.critical { + background-image: url(../images/sp/critical.gif); +} + + +/* Tabs */ + +.tabs { + color: #999; +} + +.tabs .active { + font-weight: bold; + color: #000; +} + +.tabs a { + font-weight: normal; +} + diff --git a/web/3down/detail.php b/web/3down/detail.php new file mode 100755 index 0000000..3fea36e --- /dev/null +++ b/web/3down/detail.php @@ -0,0 +1,31 @@ +get_feed(); +$title = $_REQUEST['title']; +$text = explode("\n", $states[$title]['text']); +$paragraphs = array(); +foreach($text as $paragraph) { + if($paragraph) { + $paragraphs[] = htmlentities($paragraph); + } +} + + +$long_date = date("l, F j, Y G:i:s", $states[$title]['unixtime']); + +require "$prefix/detail.html"; +$page->output(); + +?> diff --git a/web/3down/help.php b/web/3down/help.php new file mode 100755 index 0000000..6b16bf6 --- /dev/null +++ b/web/3down/help.php @@ -0,0 +1,20 @@ + diff --git a/web/3down/index.php b/web/3down/index.php new file mode 100755 index 0000000..2fa1616 --- /dev/null +++ b/web/3down/index.php @@ -0,0 +1,37 @@ +get_feed(); + +function detailURL($title) { + return "detail.php?title=$title"; +} + +function is_long_text($item) { + return is_long_string($item['text']); +} + +function summary($item) { + return summary_string($item['text']); +} + +function full($item) { + return $item['text']; +} + +require "$prefix/index.html"; + +$page->output(); + +?> diff --git a/web/3down/ip/detail.html b/web/3down/ip/detail.html new file mode 100755 index 0000000..f6ef5ae --- /dev/null +++ b/web/3down/ip/detail.html @@ -0,0 +1,19 @@ +title('MIT 3DOWN: Detail') + ->navbar_image('title-3down') + ->breadcrumbs('Status Details'); + +$page->content_begin(); +?> + +
+ +

+ +

+ +

+ +
+content_end(); ?> + diff --git a/web/3down/ip/index.html b/web/3down/ip/index.html new file mode 100755 index 0000000..f1878d3 --- /dev/null +++ b/web/3down/ip/index.html @@ -0,0 +1,34 @@ +title('MIT 3DOWN') + ->navbar_image('title-3down') + ->breadcrumbs('3DOWN') + ->breadcrumb_home(); + +$page->content_begin(); +?> + +
+ 3DOWN shows the status of services available to the MIT community. +
+ +
+ + + +content_end(); ?> diff --git a/web/3down/sp/detail.html b/web/3down/sp/detail.html new file mode 100755 index 0000000..981cb15 --- /dev/null +++ b/web/3down/sp/detail.html @@ -0,0 +1,21 @@ +title('MIT 3DOWN: Detail') + ->header('3DOWN'); + +$page->content_begin(); +?> + +
+ +

+ + +

+ +

+ +
+content_end(); +$page->nav_link("./", "3DOWN Home"); +?> diff --git a/web/3down/sp/index.html b/web/3down/sp/index.html new file mode 100755 index 0000000..182c80a --- /dev/null +++ b/web/3down/sp/index.html @@ -0,0 +1,25 @@ +title('MIT 3DOWN') + ->header('3DOWN'); + +$page->content_begin(); +?> + +

This page shows the status of services available to the MIT community.

+ + $state) { ?> +

+
+ + more () + + () + +

+ +content_end(); +$page->help_link("tel:16172534357", "Report phone/cable outage", "phone", "617.253.4357") + ->help_link("tel:16172531101", "Report other problems", "phone", "617.253.1101") + ->help_link("../emergency", "Campus emergency information"); +?> diff --git a/web/about/images/home/back.jpg b/web/about/images/home/back.jpg new file mode 100755 index 0000000..afe27c6 Binary files /dev/null and b/web/about/images/home/back.jpg differ diff --git a/web/about/images/home/cluster.gif b/web/about/images/home/cluster.gif new file mode 100755 index 0000000..34a14c3 Binary files /dev/null and b/web/about/images/home/cluster.gif differ diff --git a/web/about/images/home/icon-devices.gif b/web/about/images/home/icon-devices.gif new file mode 100755 index 0000000..bd86a8b Binary files /dev/null and b/web/about/images/home/icon-devices.gif differ diff --git a/web/about/images/home/icon-feedback.gif b/web/about/images/home/icon-feedback.gif new file mode 100755 index 0000000..2cbafbf Binary files /dev/null and b/web/about/images/home/icon-feedback.gif differ diff --git a/web/about/images/home/icon-preview.gif b/web/about/images/home/icon-preview.gif new file mode 100755 index 0000000..660d2ba Binary files /dev/null and b/web/about/images/home/icon-preview.gif differ diff --git a/web/about/images/home/ist.gif b/web/about/images/home/ist.gif new file mode 100755 index 0000000..888a4c3 Binary files /dev/null and b/web/about/images/home/ist.gif differ diff --git a/web/about/images/home/title-beta.gif b/web/about/images/home/title-beta.gif new file mode 100755 index 0000000..843f086 Binary files /dev/null and b/web/about/images/home/title-beta.gif differ diff --git a/web/about/images/home/title-beta2.gif b/web/about/images/home/title-beta2.gif new file mode 100755 index 0000000..e4ea91b Binary files /dev/null and b/web/about/images/home/title-beta2.gif differ diff --git a/web/about/images/home/title-logo.gif b/web/about/images/home/title-logo.gif new file mode 100755 index 0000000..dd4eb23 Binary files /dev/null and b/web/about/images/home/title-logo.gif differ diff --git a/web/about/images/home/title.gif b/web/about/images/home/title.gif new file mode 100755 index 0000000..460ad2c Binary files /dev/null and b/web/about/images/home/title.gif differ diff --git a/web/about/images/modules/3down-thumb.gif b/web/about/images/modules/3down-thumb.gif new file mode 100755 index 0000000..0a332f8 Binary files /dev/null and b/web/about/images/modules/3down-thumb.gif differ diff --git a/web/about/images/modules/3down.gif b/web/about/images/modules/3down.gif new file mode 100755 index 0000000..f25a919 Binary files /dev/null and b/web/about/images/modules/3down.gif differ diff --git a/web/about/images/modules/emergency-thumb.gif b/web/about/images/modules/emergency-thumb.gif new file mode 100755 index 0000000..34f7d1a Binary files /dev/null and b/web/about/images/modules/emergency-thumb.gif differ diff --git a/web/about/images/modules/emergency.gif b/web/about/images/modules/emergency.gif new file mode 100755 index 0000000..7dbc145 Binary files /dev/null and b/web/about/images/modules/emergency.gif differ diff --git a/web/about/images/modules/events-thumb.gif b/web/about/images/modules/events-thumb.gif new file mode 100755 index 0000000..0564346 Binary files /dev/null and b/web/about/images/modules/events-thumb.gif differ diff --git a/web/about/images/modules/events.gif b/web/about/images/modules/events.gif new file mode 100755 index 0000000..10b6f05 Binary files /dev/null and b/web/about/images/modules/events.gif differ diff --git a/web/about/images/modules/map-thumb.gif b/web/about/images/modules/map-thumb.gif new file mode 100755 index 0000000..46ddcef Binary files /dev/null and b/web/about/images/modules/map-thumb.gif differ diff --git a/web/about/images/modules/map.gif b/web/about/images/modules/map.gif new file mode 100755 index 0000000..8765e2c Binary files /dev/null and b/web/about/images/modules/map.gif differ diff --git a/web/about/images/modules/people-thumb.gif b/web/about/images/modules/people-thumb.gif new file mode 100755 index 0000000..e6e5319 Binary files /dev/null and b/web/about/images/modules/people-thumb.gif differ diff --git a/web/about/images/modules/people.gif b/web/about/images/modules/people.gif new file mode 100755 index 0000000..ed97758 Binary files /dev/null and b/web/about/images/modules/people.gif differ diff --git a/web/about/images/modules/shuttle-thumb.gif b/web/about/images/modules/shuttle-thumb.gif new file mode 100755 index 0000000..fa6ccf3 Binary files /dev/null and b/web/about/images/modules/shuttle-thumb.gif differ diff --git a/web/about/images/modules/shuttle.gif b/web/about/images/modules/shuttle.gif new file mode 100755 index 0000000..3592c0d Binary files /dev/null and b/web/about/images/modules/shuttle.gif differ diff --git a/web/about/images/modules/stellar-thumb.gif b/web/about/images/modules/stellar-thumb.gif new file mode 100755 index 0000000..5441ed6 Binary files /dev/null and b/web/about/images/modules/stellar-thumb.gif differ diff --git a/web/about/images/modules/stellar.gif b/web/about/images/modules/stellar.gif new file mode 100755 index 0000000..fed18e1 Binary files /dev/null and b/web/about/images/modules/stellar.gif differ diff --git a/web/about/images/preview/mit-logo.gif b/web/about/images/preview/mit-logo.gif new file mode 100755 index 0000000..9cc9cfd Binary files /dev/null and b/web/about/images/preview/mit-logo.gif differ diff --git a/web/about/index.html b/web/about/index.html new file mode 100755 index 0000000..1292a41 --- /dev/null +++ b/web/about/index.html @@ -0,0 +1,470 @@ + + + + + MIT Mobile Web + + + + + +
+
+
+
MIT Mobile Web
+ +
+

MITMobile Web

+ +

Get essential MIT information and services anytime, anywhere on your mobile device: m.mit.edu

+

The MIT Mobile Web offers up-to-date information, optimized for different types of mobile devices. Find people, places, events, course news, shuttle schedules, and more. All you need is a mobile device with a web browser and either WiFi or a data plan*

+ + PreviewClick here to preview the site on your desktop or laptop. +
+
+
+
+
+
+

The MIT Mobile Web includes:

+ +
+ People +

People Directory

+

Find students, faculty and staff at MIT by searching part or all of their name, email address, or phone number. Get one-click access to call or email them, or to locate their office (where available).

+
+ +
+ Map +

Campus Map

+

Find buildings, parking, landmarks and more in this interactive live map. Search by building number or name, or browse by different categories. You can also search by keyword – such as ‘media lab’, ‘la verdes’, ‘tennis’, and so on. iPhone tip: Switch to full-screen mode using the last button under the map image. You can also rotate the full-screen map.

+
+ +
+ Shuttle +

Shuttle Schedule

+

Can you catch the bus in time? Find out – wherever you are – with up-to-the-minute schedules and route maps for each of the MIT daytime and nighttime (Saferide) shuttles. iPhone tip: When you're viewing a shuttle route, rotate your iPhone/iPod Touch to the horizontal (landscape) orientation to see the schedule and route map side-by-side.

+
+ +
+ Calendar +

Events Calendar

+

Find out what's going on around campus. Search by keyword and time period, or browse by category. Once you've found your event, get one-click access to the campus map to find out how to get there.

+
+ +
+ Stellar +

Stellar

+

Get the latest news and announcements for any class with a Stellar site. You can also find faculty and staff contact info (and instantly look them up in the people directory).

+
+ + +
+ Emergency Info +

Emergency Information

+

Learn about any emergencies on campus, and get one-click access to campus police, medical services and other emergency phone numbers.

+
+ +
+ 3DOWN +

3DOWN

+

Get the latest status updates on many of MIT's essential tech services, including phone, email, web, network services, and more.

+
+ +
+

And this is just the beginning! More modules are already in the works. Please check back often at m.mit.edu to see what's new and updated.

+
+ + +
+ + + +
+
+
+ + diff --git a/web/about/preview.html b/web/about/preview.html new file mode 100755 index 0000000..ceb1869 --- /dev/null +++ b/web/about/preview.html @@ -0,0 +1,134 @@ + + + + + MIT Mobile Web Preview + + + + + +
+

+ Mobile Web Preview +

+ +

+ You are about to preview the MIT Mobile Web. You will be viewing the version optimized for smartphones (such as BlackBerry, Windows Mobile or Palm devices). +

+ +

+ Note that links that would normally dial a phone number will not work, and that not everything will look exactly as it would on a mobile device. Finally, keep in mind that this is a beta; some content and functionality may change in the final version. +

+ + Preview the MIT Mobile Web + + Close + +
+ + + diff --git a/web/calendar/academic.php b/web/calendar/academic.php new file mode 100755 index 0000000..ff4b55d --- /dev/null +++ b/web/calendar/academic.php @@ -0,0 +1,67 @@ +years[$year][$month]; +$has_prev = isset($academic->years[$prev_yr][ $prev['month'] ]); +$has_next = isset($academic->years[$next_yr][ $next['month'] ]); + +require "$prefix/academic.html"; +$page->output(); + +class month_data { + public static $months = array( + "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", + "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER" + ); +} + +function next_month($month, $year) { + $number = array_search($month, month_data::$months); + $number++; + if($number == 12) { + $year++; + $number = 0; + } + return array("year" => $year, "month" => month_data::$months[$number]); +} + +function prev_month($month, $year) { + $number = array_search($month, month_data::$months); + $number--; + if($number == -1) { + $year--; + $number = 11; + } + return array("year" => $year, "month" => month_data::$months[$number]); +} + +?> \ No newline at end of file diff --git a/web/calendar/calendar_lib.php b/web/calendar/calendar_lib.php new file mode 100755 index 0000000..0f0f10f --- /dev/null +++ b/web/calendar/calendar_lib.php @@ -0,0 +1,169 @@ + date('l', $time), + "month" => date('F', $time), + "month_3Let" => date('M', $time), + "day_num" => date('j', $time), + "year" => date('Y', $time), + "month_num" => date('m', $time), + "day_3Let" => date('D', $time), + "day_num_2dig" => date('d', $time), + "date" => date('Y/m/d', $time), + "time" => strtotime(date("Y-m-d 12:00:00", $time)) + ); +} + +class SearchOptions { + private static $options = array( + array("phrase" => "in the next 7 days", "offset" => 7), + array("phrase" => "in the next 15 days", "offset" => 15), + array("phrase" => "in the next 30 days", "offset" => 30), + array("phrase" => "in the past 15 days", "offset" => -15), + array("phrase" => "in the past 30 days", "offset" => -30), + array("phrase" => "this school term", "offset" => "term"), + array("phrase" => "this school year", "offset" => "year") + ); + + public static function get_options($selected = 0) { + $out_options = self::$options; + $out_options[$selected]['selected'] = true; + return $out_options; + } + + public static function search_dates($option) { + $offset = self::$options[$option]["offset"]; + $time = time(); + $day1 = day_info($time); + + if(is_int($offset)) { + $day2 = day_info($time, $offset); + if($offset > 0) { + return array("start" => $day1['date'], "end" => $day2['date']); + } else { + return array("start" => $day2['date'], "end" => $day1['date']); + } + } else { + switch($offset) { + case "term": + if($day1['month_num'] < 7) { + $end_date = "{$day1['year']}/07/01"; + } else { + $end_date = "{$day1['year']}/12/31"; + } + break; + + case "year": + if($day1['month_num'] < 7) { + $end_date = "{$day1['year']}/07/01"; + } else { + $year = $day1['year'] + 1; + $end_date = "$year/07/01"; + } + break; + } + return array("start" => $day1['date'], "end" => $end_date); + } + } +} + +// URL DEFINITIONS +function dayURL($day, $type) { + return "day.php?time={$day['time']}&type=$type"; +} + +function academicURL($year, $month) { + return "academic.php"; +} + +function holidaysURL($year=NULL) { + if(!$year) { + $year = $_REQUEST['year']; + } + return "holidays.php?year=$year"; +} + +function religiousURL($year=NULL) { + if(!$year) { + $year = $_REQUEST['year']; + } + return "holidays.php?page=religious&year=$year"; +} + +function categorysURL() { + return "categorys.php"; +} + +function categoryURL($category) { + $id = is_array($category) ? $category['catid'] : $category->catid; + return "category.php?id=$id"; +} + +function subCategorysURL($category) { + $id = is_array($category) ? $category['catid'] : $category->catid; + return "sub-categorys.php?id=$id"; +} + +function detailURL($event) { + return "detail.php?id={$event->id}"; +} + +function timeText($event) { + $out = substr($event->start->weekday, 0, 3) . ' '; + $out .= substr($event->start->monthname, 0, 3) . ' '; + $out .= (int)$event->start->day . ' '; + + $out .= MIT_Calendar::timeText($event); + return $out; +} + +function briefLocation($event) { + if($loc = $event->shortloc) { + return $loc; + } else { + return $event->location; + } +} + +function ucname($name) { + $new_words = array(); + foreach(explode(' ', $name) as $word) { + $new_word = array(); + foreach(explode('/', $word) as $sub_word) { + $new_word[] = ucwords($sub_word); + } + $new_word = implode('/', $new_word); + $new_words[] = $new_word; + } + return implode(' ', $new_words); +} + +class CalendarForm extends Form { + + protected $catid; + protected $search_options; + + public function __construct($prefix, $search_options, $catid=NULL) { + $this->prefix = $prefix; + $this->catid = $catid; + $this->search_options = $search_options; + } + + public function out($total=NULL) { + $catid = $this->catid; + $search_options = $this->search_options; + require "{$this->prefix}/form.html"; + } +} + +?> diff --git a/web/calendar/category.php b/web/calendar/category.php new file mode 100755 index 0000000..6a1b488 --- /dev/null +++ b/web/calendar/category.php @@ -0,0 +1,41 @@ + $category->catid, + "timeframe" => $timeframe + ) +); + +$form = new CalendarForm($prefix, SearchOptions::get_options($timeframe), $category->catid); +$content->set_form($form); + +require "$prefix/category.html"; +$page->output(); + +?> diff --git a/web/calendar/categorys.php b/web/calendar/categorys.php new file mode 100755 index 0000000..8798851 --- /dev/null +++ b/web/calendar/categorys.php @@ -0,0 +1,20 @@ +output(); + +?> diff --git a/web/calendar/day.php b/web/calendar/day.php new file mode 100755 index 0000000..5e11f48 --- /dev/null +++ b/web/calendar/day.php @@ -0,0 +1,30 @@ +output(); + +?> diff --git a/web/calendar/detail.php b/web/calendar/detail.php new file mode 100755 index 0000000..186133f --- /dev/null +++ b/web/calendar/detail.php @@ -0,0 +1,79 @@ +start->day; +$date_str = "{$event->start->weekday}, {$event->start->monthname} {$day_num}, {$event->start->year}"; + +$event->urlize = URLize($event->infourl); + +function phoneURL($number) { + if($number) { + + // add the local area code if missing + if(preg_match('/^\d{3}-\d{4}/', $number)) { + $number = '617' . $number; + } + + // check if the number is short number such as x4-2323, 4-2323, 42323 + if(preg_match('/^\d{5}/', $number)) { + $first_digit = substr($number, 0, 1); + } elseif(preg_match('/^x\d/', $number)) { + $number = substr($number, 1); + $first_digit = substr($number, 0, 1); + } elseif(preg_match('/^\d-\d{4}/', $number)) { + $first_digit = substr($number, 0, 1); + } + + // if short number add the appropriate prefix and area code + $prefixes = array('252', '253', '324', '225', '577', '258'); + if($first_digit) { + foreach($prefixes as $prefix) { + if(substr($prefix, -1) == $first_digit) { + $number = "617" . substr($prefix, 0, 2) . $number; + break; + } + } + } + + // remove all non-word characters from the number + $number = preg_replace('/\W/', '', $number); + return "tel:1$number"; + } +} + +function mapURL($event) { + preg_match('/^((|W|N|E|NW|NE)\-?(\d+))/', $event->shortloc, $matches); + if($matches[3]) { + return "../map/detail.php?selectvalues={$matches[2]}{$matches[3]}&snippets={$event->shortloc}"; + } else { + return "../map/search.php?filter=" . urlencode(briefLocation($event)); + } +} + +function URLize($web_address) { + if(preg_match('/^http\:\/\//', $web_address)) { + return $web_address; + } else { + return 'http://' . $web_address; + } +} + +require "$prefix/detail.html"; +$page->output(); + +?> diff --git a/web/calendar/help.php b/web/calendar/help.php new file mode 100755 index 0000000..235d8f7 --- /dev/null +++ b/web/calendar/help.php @@ -0,0 +1,26 @@ +Browse by any category shown on the Events Calendar homepage', + + '2. Search by keyword and timeframe', + + 'Once you've found an event, get one-click access to find its location on the Campus Map. You can also search easily for similar events by clicking on one of the links under ‘Categorized as:’ at the bottom of the event-detail screen.', +); + +require "../page_builder/help.php"; + +?> diff --git a/web/calendar/holidays.php b/web/calendar/holidays.php new file mode 100755 index 0000000..14b48aa --- /dev/null +++ b/web/calendar/holidays.php @@ -0,0 +1,47 @@ +output(); + +function weekday($day, $year) { + return date('D', strtotime("$day, $year")); +} + +?> diff --git a/web/calendar/index.php b/web/calendar/index.php new file mode 100755 index 0000000..cde7b99 --- /dev/null +++ b/web/calendar/index.php @@ -0,0 +1,23 @@ +output(); + +?> diff --git a/web/calendar/ip/academic.html b/web/calendar/ip/academic.html new file mode 100755 index 0000000..0fd12cf --- /dev/null +++ b/web/calendar/ip/academic.html @@ -0,0 +1,36 @@ +title("MIT Events Calendar: Academic Calendar") + ->navbar_image('title-calendar') + ->breadcrumbs('Academic'); + +$page->content_begin(); +?> + +
+

Academic Calendar for

+

+ + < + + | + + > + +

+
+ +
    + +
  • +

    day_text($year, $month)?>

    +
      + items as $item) { ?> +
    • html()?>
    • + +
    +
  • + +
+ +content_end(); ?> + diff --git a/web/calendar/ip/category.html b/web/calendar/ip/category.html new file mode 100755 index 0000000..071d579 --- /dev/null +++ b/web/calendar/ip/category.html @@ -0,0 +1,22 @@ +title("MIT Events Calendar: " . ucname($category->name) . $title_end) + ->navbar_image('title-calendar') + ->breadcrumbs("Browse", "Listing") + ->breadcrumb_links(categorysURL()); + +$page->content_begin(); +?> + +
+

name)?>

+
+ +output($events); + +$page->content_end(); +?> + diff --git a/web/calendar/ip/categorys.html b/web/calendar/ip/categorys.html new file mode 100755 index 0000000..1eb4a1e --- /dev/null +++ b/web/calendar/ip/categorys.html @@ -0,0 +1,14 @@ +title("MIT Events Calendar: Browse by Category") + ->navbar_image('title-calendar') + ->breadcrumbs('Browse By Category'); + +$page->content_begin(); +?> + + +content_end(); ?> diff --git a/web/calendar/ip/day.html b/web/calendar/ip/day.html new file mode 100755 index 0000000..7e173c8 --- /dev/null +++ b/web/calendar/ip/day.html @@ -0,0 +1,23 @@ +title("MIT Events Calendar: $Type for {$current['day_3Let']} {$current['month']} {$current['day_num']}, {$current['year']}") + ->navbar_image('title-calendar') + ->breadcrumbs($Type); + +$page->content_begin(); +?> +
+

for ,

+

< | >

+
+ + + +
+

< | >

+
+ +content_end(); ?> diff --git a/web/calendar/ip/detail.html b/web/calendar/ip/detail.html new file mode 100755 index 0000000..129cf86 --- /dev/null +++ b/web/calendar/ip/detail.html @@ -0,0 +1,37 @@ +title("MIT Events Calendar: Event Details") + ->navbar_image('title-calendar') + ->breadcrumbs("Events", "Details"); + +$page->content_begin(); +?> +
+

title?>

+ + + +

Categorized as: + categories); + foreach($event->categories as $index => $category) { $last = ($size-1 == $index); ?> + name?> + +

+
+ +content_end(); ?> diff --git a/web/calendar/ip/form.html b/web/calendar/ip/form.html new file mode 100755 index 0000000..717a5ca --- /dev/null +++ b/web/calendar/ip/form.html @@ -0,0 +1,18 @@ +
+
+
+ + + +
+
+ +
+

matching events found.

+
+
+ diff --git a/web/calendar/ip/holidays.html b/web/calendar/ip/holidays.html new file mode 100755 index 0000000..e603ca3 --- /dev/null +++ b/web/calendar/ip/holidays.html @@ -0,0 +1,38 @@ +title("MIT Events Calendar: MIT Holidays") + ->navbar_image('title-calendar') + ->breadcrumbs("MIT Holidays"); + +$page->content_begin(); +?> +
+

MIT Holidays

+

+ + < + + + | + + + > + +

+
+ +
+ +
+ +
, ,
+
+ +
+ +
+ + + +content_end(); ?> diff --git a/web/calendar/ip/index.html b/web/calendar/ip/index.html new file mode 100755 index 0000000..60c20b3 --- /dev/null +++ b/web/calendar/ip/index.html @@ -0,0 +1,38 @@ +title('MIT Events Calendar') + ->navbar_image('title-calendar') + ->breadcrumbs('Events Calendar') + ->breadcrumb_home(); + +$page->content_begin(); +?> + +
+

, ,

+
+ + + +
+
+
+ + +
+
+ +
+
+
+content_end(); ?> + diff --git a/web/calendar/ip/items.html b/web/calendar/ip/items.html new file mode 100755 index 0000000..db177b0 --- /dev/null +++ b/web/calendar/ip/items.html @@ -0,0 +1,6 @@ + + diff --git a/web/calendar/ip/religious.html b/web/calendar/ip/religious.html new file mode 100755 index 0000000..7c91a7a --- /dev/null +++ b/web/calendar/ip/religious.html @@ -0,0 +1,24 @@ +title("MIT Events Calendar: MIT Holidays") + ->navbar_image('title-calendar') + ->breadcrumbs("MIT Holidays"); + +$page->content_begin(); +?> +
+

Religious Observances

+

< | >

+
+ +
+ +
+ $name) { ?> +
+
+ +
+ +
+ +content_end(); ?> diff --git a/web/calendar/ip/religious_text.html b/web/calendar/ip/religious_text.html new file mode 100755 index 0000000..a753fa3 --- /dev/null +++ b/web/calendar/ip/religious_text.html @@ -0,0 +1,26 @@ +title("MIT Events Calendar: MIT Holidays") + ->navbar_image('title-calendar') + ->breadcrumbs("Holidays", "Religious"); + +$page->content_begin(); +?> + +
+

Student Observances for Religious Holidays

+
+ +
+

Massachusetts state law regarding student absence due to religious beliefs has been adopted by the Institute as follows:

+

"Any student who is unable to attend classes or participate in any examination, study, or work requirement on a particular day because of his or her religious beliefs is excused from any such activity. The student will be given the opportunity to make up the work that was missed, provided that the makeup work does not create an unreasonable burden upon MIT.

+

The Institute will not level fees or charges of any kind when allowing the student to make up missed work. In addition, no adverse or prejudicial effects will result because students have made use of these provisions."

+ +
+ + + +content_end(); ?> diff --git a/web/calendar/ip/search.html b/web/calendar/ip/search.html new file mode 100755 index 0000000..ae71bfa --- /dev/null +++ b/web/calendar/ip/search.html @@ -0,0 +1,11 @@ +title("MIT Events Calendar: Search Results") + ->navbar_image('title-calendar') + ->breadcrumbs("Search Results"); + +$page->content_begin(); + +$content->output($events); + +$page->content_end() +?> diff --git a/web/calendar/ip/sub-categorys.html b/web/calendar/ip/sub-categorys.html new file mode 100755 index 0000000..aea6953 --- /dev/null +++ b/web/calendar/ip/sub-categorys.html @@ -0,0 +1,20 @@ +title("MIT Events Calendar: Browse By Category") + ->navbar_image('title-calendar') + ->breadcrumbs("Browse", "Category") + ->breadcrumb_links(categorysURL()); + +$page->content_begin(); +?> + +

name)?>

+ + + +content_end(); ?> diff --git a/web/calendar/search.php b/web/calendar/search.php new file mode 100755 index 0000000..bb3671b --- /dev/null +++ b/web/calendar/search.php @@ -0,0 +1,30 @@ + $timeframe)); + +$form = new CalendarForm($prefix, SearchOptions::get_options($timeframe)); +$content->set_form($form); + +require "$prefix/search.html"; +$page->output(); + +?> diff --git a/web/calendar/sp/academic.html b/web/calendar/sp/academic.html new file mode 100755 index 0000000..dfed5c7 --- /dev/null +++ b/web/calendar/sp/academic.html @@ -0,0 +1,30 @@ +title("Events Calendar: Academic Calendar") + ->header('Events Calendar'); + +$page->content_begin(); +?> + +

Academic Calendar

+ +

<  |  >

+ +
+ $day) { ?> +

day_text($year, $month)?>

+
    + items as $item) { ?> +
  • html()?>
  • + +
+ +

 

+ + +
+content_end(); +$page->nav_link("./", "Events Calendar Home"); + +?> diff --git a/web/calendar/sp/category.html b/web/calendar/sp/category.html new file mode 100755 index 0000000..2b0fc71 --- /dev/null +++ b/web/calendar/sp/category.html @@ -0,0 +1,12 @@ +title("Events Calendar: " . ucname($category->name) . " Search Results") + ->header("Events Calendar: " . ucname($category->name) ); + +$page->content_begin(); + +$content->output($events); + +$page->content_end(); +$page->nav_link("./", "Events Calendar Home"); + +?> diff --git a/web/calendar/sp/categorys.html b/web/calendar/sp/categorys.html new file mode 100755 index 0000000..36d59c8 --- /dev/null +++ b/web/calendar/sp/categorys.html @@ -0,0 +1,20 @@ +title("Events Calendar: Browse by Category") + ->header('Events Calendar'); + +$page->content_begin(); +?> + +

Browse by Category

+ + +content_end(); +$page->nav_link("./", "Events Calendar Home"); + +?> diff --git a/web/calendar/sp/day.html b/web/calendar/sp/day.html new file mode 100755 index 0000000..ed298ec --- /dev/null +++ b/web/calendar/sp/day.html @@ -0,0 +1,28 @@ +title("Events Calendar: $Type for {$current['day_3Let']} {$current['month_3Let']} {$current['day_num']}, {$current['year']}") + ->header('Events Calendar'); + +$page->content_begin(); +?> + +

for ,

+ +
+

<  |  >

+
+ +
+ +

title?>
 | 

+ +
+ +

+ <  |  > +

+content_end(); +$page->nav_link("./", "Events Calendar Home"); + +?> diff --git a/web/calendar/sp/detail.html b/web/calendar/sp/detail.html new file mode 100755 index 0000000..a7b4eb5 --- /dev/null +++ b/web/calendar/sp/detail.html @@ -0,0 +1,47 @@ +title("Events Calendar: Event Details") + ->header('Events Calendar'); + +$page->content_begin(); +?> + +
+

title?>

+

+
+ +

+

+ + Location: + +

+

+ description?> +

+ + infophone) { ?> +

+ For info call: infophone?> +

+ + + infourl) { ?> +

+ Website: infourl?> +

+ + +

Categorized as: + categories); + foreach($event->categories as $index => $category) { $last = ($size-1 == $index); ?> + name?> + +

+
+content_end(); +$page->nav_link("./", "Events Calendar Home"); + +?> diff --git a/web/calendar/sp/form.html b/web/calendar/sp/form.html new file mode 100755 index 0000000..31c53bd --- /dev/null +++ b/web/calendar/sp/form.html @@ -0,0 +1,16 @@ +
+

+ + + + + + +
+ +

+
diff --git a/web/calendar/sp/holidays.html b/web/calendar/sp/holidays.html new file mode 100755 index 0000000..6380039 --- /dev/null +++ b/web/calendar/sp/holidays.html @@ -0,0 +1,28 @@ +title("Events Calendar: Holidays") + ->header('Events Calendar'); + +$page->content_begin(); +?> + +

MIT Holidays

+ +

+ <  |  > +

+ +
+ +

+ ,
+ +

+ +
+content_end(); +$page->nav_link("./", "Events Calendar Home"); +$page->extra_link(religiousURL(), "Student Absences for Religious Observances"); + +?> diff --git a/web/calendar/sp/index.html b/web/calendar/sp/index.html new file mode 100755 index 0000000..9ab0155 --- /dev/null +++ b/web/calendar/sp/index.html @@ -0,0 +1,33 @@ +title('Events Calendar') + ->header('Events Calendar'); + +$page->content_begin(); +?> +
+ +

, ,

+ + + + +

+ Search for events:
+ + + + + +

+content_end(); ?> diff --git a/web/calendar/sp/items.html b/web/calendar/sp/items.html new file mode 100755 index 0000000..167bcbb --- /dev/null +++ b/web/calendar/sp/items.html @@ -0,0 +1,6 @@ +
+ +

title?>
 | 

+ +
+ diff --git a/web/calendar/sp/religious.html b/web/calendar/sp/religious.html new file mode 100755 index 0000000..f7ed3e9 --- /dev/null +++ b/web/calendar/sp/religious.html @@ -0,0 +1,22 @@ +title("Events Calendar: Holidays") + ->header('Events Calendar'); + +$page->content_begin(); +?> + +

Religious Observances

+ +

<  |  >

+ +

+ $name) { ?> + :
+ +

+content_end(); +$page->nav_link("./", "Events Calendar Home"); +$page->nav_link(holidaysURL(), "MIT Holidays"); +?> diff --git a/web/calendar/sp/religious_text.html b/web/calendar/sp/religious_text.html new file mode 100755 index 0000000..a8db36b --- /dev/null +++ b/web/calendar/sp/religious_text.html @@ -0,0 +1,26 @@ +title("Events Calendar: Holidays") + ->header('Events Calendar'); + +$page->content_begin(); +?> + +

Student Observances for Religious Holidays

+ +
+

Massachusetts state law regarding student absence due to religious beliefs has been adopted by the Institute as follows:

+

"Any student who is unable to attend classes or participate in any examination, study, or work requirement on a particular day because of his or her religious beliefs is excused from any such activity. The student will be given the opportunity to make up the work that was missed, provided that the makeup work does not create an unreasonable burden upon MIT.

+ +

The Institute will not level fees or charges of any kind when allowing the student to make up missed work. In addition, no adverse or prejudicial effects will result because students have made use of these provisions."

+

For more information, please contact the Registrar's Office.

+
+ +

+ < Back +

+content_end(); +$page->nav_link("./", "Events Calendar Home"); + +?> diff --git a/web/calendar/sp/search.html b/web/calendar/sp/search.html new file mode 100755 index 0000000..7466987 --- /dev/null +++ b/web/calendar/sp/search.html @@ -0,0 +1,12 @@ +title("Events Calendar: Search Results") + ->header('Events Calendar'); + +$page->content_begin(); + +$content->output($events); + +$page->content_end(); +$page->nav_link("./", "Events Calendar Home"); + +?> diff --git a/web/calendar/sp/sub-categorys.html b/web/calendar/sp/sub-categorys.html new file mode 100755 index 0000000..3fc2aa6 --- /dev/null +++ b/web/calendar/sp/sub-categorys.html @@ -0,0 +1,25 @@ +title("Events Calendar: Broswe by Category") + ->header('Events Calendar'); + +$page->content_begin(); +?> + +

name)?>

+ + + +

+ < Back +

+content_end(); +$page->nav_link("./", "Events Calendar Home"); + +?> diff --git a/web/calendar/sub-categorys.php b/web/calendar/sub-categorys.php new file mode 100755 index 0000000..8fb270c --- /dev/null +++ b/web/calendar/sub-categorys.php @@ -0,0 +1,25 @@ +output(); + +?> diff --git a/web/careers/help.php b/web/careers/help.php new file mode 100755 index 0000000..afcbd22 --- /dev/null +++ b/web/careers/help.php @@ -0,0 +1,20 @@ + diff --git a/web/careers/index.php b/web/careers/index.php new file mode 100755 index 0000000..f082b5e --- /dev/null +++ b/web/careers/index.php @@ -0,0 +1,17 @@ +output(); + +?> diff --git a/web/careers/ip/index.html b/web/careers/ip/index.html new file mode 100755 index 0000000..039a59b --- /dev/null +++ b/web/careers/ip/index.html @@ -0,0 +1,20 @@ +title("MIT Student Career Services") + ->navbar_image("title-careers") + ->breadcrumbs("Career Services") + ->breadcrumb_home(); + +$page->content_begin(); +?> + + + +

+ The MIT Careers Office provides a broad range of opportunities for experiential learning, self-assessment, and +career research. To learn more, please visit the Careers Office website at web.mit.edu/career or their +offices in building 12-170. +

+ +content_end(); ?> diff --git a/web/careers/sp/index.html b/web/careers/sp/index.html new file mode 100755 index 0000000..d1003b4 --- /dev/null +++ b/web/careers/sp/index.html @@ -0,0 +1,17 @@ +title("MIT Career Services") + ->header("Career Services"); + +$page->content_begin(); +?> + + + +

+ The MIT Careers Office provides a broad range of opportunities for experiential learning, self-assessment, and +career research. To learn more, please visit the Careers Office website at http://web.mit.edu/career or their +offices in building 12-170. +

+content_end(); ?> diff --git a/web/emergency/help.php b/web/emergency/help.php new file mode 100755 index 0000000..74187d7 --- /dev/null +++ b/web/emergency/help.php @@ -0,0 +1,20 @@ + diff --git a/web/emergency/index.php b/web/emergency/index.php new file mode 100755 index 0000000..f46b33d --- /dev/null +++ b/web/emergency/index.php @@ -0,0 +1,130 @@ +get_feed(); + +if($emergency === False) { + $paragraphs = array('Emergency information is currently not available'); +} else { + $text = explode("\n", $emergency['Emergency Information']['text']); + $paragraphs = array(); + foreach($text as $paragraph) { + if($paragraph) { + $paragraphs[] = htmlentities($paragraph); + } + } +} + +// the logic to implement the page begins here +require "../page_builder/page_header.php"; + + +if(isset($_REQUEST['contacts'])) { + require "$prefix/contacts.html"; +} else { + require "$prefix/index.html"; +} + +$page->output(); + +function contactsURL() { + return "./?contacts=true"; +} + +class EmergencyItem { + private $number; + private $label; + private $message; + + // letters on a phone key-pad + private static $letters = array( + "A-C" => 2, + "D-F" => 3, + "G-I" => 4, + "J-K" => 5, + "M-O" => 6, + "P-S" => 7, + "T-V" => 8, + "W-Z" => 9 + ); + + public function __construct($number, $label, $message) { + $this->number = $number; + $this->label = $label; + $this->message = $message; + } + + public function call_number() { + $init = $this->number; + foreach(self::$letters as $letters => $digit) { + $init = preg_replace("/[$letters]/", $digit, $init); + } + return $init; + } + + public function number_text() { + return substr($this->number, 0, 3) . "." . substr($this->number, 3, 3) . "." . substr($this->number, 6, 4); + } + + public function label() { + return htmlentities($this->label); + } + + public function message_text() { + if($this->message) { + return htmlentities($this->message . ": "); + } else { + return ""; + } + } +} + +function i($number, $label, $message=NULL) { + return new EmergencyItem($number, $label, $message); +} + + + +?> diff --git a/web/emergency/ip/contacts.html b/web/emergency/ip/contacts.html new file mode 100755 index 0000000..70005e5 --- /dev/null +++ b/web/emergency/ip/contacts.html @@ -0,0 +1,14 @@ +title("MIT Emergency Info: Emergency Contacts") + ->navbar_image("title-emergency") + ->breadcrumbs("Contacts"); + +$page->content_begin(); +?> + + +content_end(); ?> diff --git a/web/emergency/ip/index.html b/web/emergency/ip/index.html new file mode 100755 index 0000000..f0ba489 --- /dev/null +++ b/web/emergency/ip/index.html @@ -0,0 +1,27 @@ +title("MIT Emergency Info") + ->navbar_image("title-emergency") + ->breadcrumbs("Emergency Info") + ->breadcrumb_home(); + +$page->content_begin(); +?> +
+
', $paragraphs); + ?> +
+ + + +content_end(); ?> diff --git a/web/emergency/sp/contacts.html b/web/emergency/sp/contacts.html new file mode 100755 index 0000000..4f01589 --- /dev/null +++ b/web/emergency/sp/contacts.html @@ -0,0 +1,17 @@ +title("MIT Campus Emergencies: Emergency Contacts") + ->header("Emergency Info"); + +$page->content_begin(); +?> +

Emergency Contacts

+ +
+ +

label()?> (message_text()?>number_text()?>)

+ +
+content_end(); +$page->nav_link("./", "Emergency Info Home"); +?> diff --git a/web/emergency/sp/index.html b/web/emergency/sp/index.html new file mode 100755 index 0000000..8e5c610 --- /dev/null +++ b/web/emergency/sp/index.html @@ -0,0 +1,21 @@ +title("MIT Emergency Info") + ->header("Emergency Info"); + +$page->content_begin(); +?> + +

+
', $paragraphs); + ?> +

+ +

+ + label()?> (message_text()?>number_text()?>)
+ + More Emergency Contacts
+

+ +content_end() ?> diff --git a/web/error-page/index.php b/web/error-page/index.php new file mode 100755 index 0000000..6fada1b --- /dev/null +++ b/web/error-page/index.php @@ -0,0 +1,33 @@ +help_off(); +$page->output(); + +?> diff --git a/web/error-page/ip/index.html b/web/error-page/ip/index.html new file mode 100755 index 0000000..36c8c0c --- /dev/null +++ b/web/error-page/ip/index.html @@ -0,0 +1,20 @@ +title('MIT Mobile Web Error Page') + ->navbar_image('title-about') + ->breadcrumbs('Error') + ->breadcrumb_home(); + +$page->content_begin(); +?> + +
+

+ + +

+ Click here to retry page +

+ +
+ +content_end(); ?> diff --git a/web/error-page/sp/index.html b/web/error-page/sp/index.html new file mode 100755 index 0000000..e317636 --- /dev/null +++ b/web/error-page/sp/index.html @@ -0,0 +1,20 @@ +title('MIT Mobile Web Error Page') + ->header('Error Page'); + +$page->content_begin(); +?> + +
+

+ + +

+ Click here to retry page +

+ +
+content_end(); +?> diff --git a/web/fp/fp.css b/web/fp/fp.css new file mode 100755 index 0000000..19645c6 --- /dev/null +++ b/web/fp/fp.css @@ -0,0 +1,297 @@ +/* Redefinition of basic elements */ + +html, body { + margin: 0; + padding: 0; + width: 100%; +} + +body { + background-color: #d9e0e8; + font-family: Arial, sans-serif; + font-size: small; + color: #202629; +} + +a { + color: #a33; +} + +a:visited { + color: #a33; +} + +a img { + border: none; +} + +h1 { + font-size: x-large; + font-weight: normal; + margin: 10px 0; + padding: 0; +} + +h2 { + font-size: large; + font-weight: normal; + margin: 0 0 5px 0; + padding: 0; +} + +h3 { + font-size: small; + font-weight: bold; + margin: 0 0 5px 0; + padding: 0; +} + +h4 { + font-size: small; + font-weight: bold; + margin: 0; + padding: 0; +} + +p { + margin: 0 0 8px 0; + padding: 0; +} + +table, th, td { + font-size: small; +} + +ul { + margin: 0 0 1em 0; + padding: 0 0 0 1.2em; +} + +ul li { + padding: 0 0 4px 0; +} + + + + +/* Major layout blocks */ + +#container { + padding: 3px; + margin: 6px 0; +} + +#header { + margin: 0; + padding: 4px 4px 4px 4px; + font-size: large; +} + +#header a { + text-decoration: none; + color: #444; +} + +#footer { + margin: 3px 0 3px 0; + padding: 3px; + font-size: xx-small; + color: #666; +} + + +/* Forms */ + +form { + margin: 4px 0 10px 0; + padding: 0; +} + +fieldset { + border: 0; + margin: 0; + padding: 0; +} + +.combobutton { + background-color: #933; + border-color: #933; + color: #fff; +} + +.inputcombo .forminput { + font-size: small; +} + +.inputcombo .combobutton { + font-size: small; +} + + + +/* Navigation and results listings */ +/* Use of "display:block" allows for vertical padding without line-height and elimination of
tags in lists (compared with sp.css) */ + +.nav { + margin: 1em 0; + padding: 3px; + background-color: #fff; + font-size: small; +} + +.secondary { + margin: 1em 0; + padding: 3px; + background-color: #f0f6f9; + font-size: small; +} + +.paging { + margin: 0; + padding: 3px; + font-size: small; +} + +.bottomnav { + margin: 1em 0; + padding: 3px; + background-color: #778593; + color: #fff; + font-size: small; +} + +.bottomnav a { + color: #fff; +} + +.results { + margin: 0.75em 0; + padding: 3px; + background-color: #fff; + font-size: small; +} + + +/* Specific content formatting */ + +.focal { + background-color: #fff; + padding: 3px; +} + +.nonfocal { + padding: 3px; +} + +.paging { + text-align: left; + margin: 0.75em 0; +} + +.legend { + margin: 0.5em 0 0.75em 0; + font-size: x-small; + color: #606669; +} + +.row { + padding: 4px 0; +} + +.smallprint { + font-size: x-small; + font-weight: normal; + color: #555; + text-decoration: none; +} + +.fineprint { + font-size: xx-small; + color: #666; + text-decoration: none; +} + +.clear { + clear: both; +} + +.label { + display: inline; + padding-right: 2px; + font-size: x-small; + color: #888888; +} + +.value { + font-size: small; +} + +hr { + display: none; +} + +.divider { + height: 0; + margin: 0.75em 0; + border: none; + border-top: 1px dotted #999; +} + +.bb { + display: none; +} + +.image { + text-align: center; + padding: 4px 0; +} + +.hidden { + display:none; +} + + + +/* Iconically coded links - e.g., Shuttle Schedule, 3DOWN, etc. */ + +a.icon { + background-repeat: no-repeat; + background-position: 1px 5px; + padding-left: 16px; +} + +span.icon { + display: block; + background-repeat: no-repeat; + background-position: 1px 2px; + padding: 2px 0 2px 16px; +} + +.gps { + background-image: url(../fp/images/gps.gif); +} + +.sch { + background-image: url(../fp/images/schedule.gif); +} + +.ok { + background-image: url(../fp/images/ok.gif); +} + +.alert { + background-image: url(../fp/images/alert.gif); +} + +.warning { + background-image: url(../fp/images/warning.gif); +} + +.critical { + background-image: url(../fp/images/critical.gif); +} + +.running { + background-image: url(../fp/images/shuttle.gif); +} + diff --git a/web/fp/images/alert.gif b/web/fp/images/alert.gif new file mode 100755 index 0000000..6f6d7d8 Binary files /dev/null and b/web/fp/images/alert.gif differ diff --git a/web/fp/images/bus.gif b/web/fp/images/bus.gif new file mode 100755 index 0000000..2769de7 Binary files /dev/null and b/web/fp/images/bus.gif differ diff --git a/web/fp/images/button-search.gif b/web/fp/images/button-search.gif new file mode 100755 index 0000000..787d6c3 Binary files /dev/null and b/web/fp/images/button-search.gif differ diff --git a/web/fp/images/critical.gif b/web/fp/images/critical.gif new file mode 100755 index 0000000..f46ad52 Binary files /dev/null and b/web/fp/images/critical.gif differ diff --git a/web/fp/images/gps.gif b/web/fp/images/gps.gif new file mode 100755 index 0000000..0e9db9a Binary files /dev/null and b/web/fp/images/gps.gif differ diff --git a/web/fp/images/ist-logo.gif b/web/fp/images/ist-logo.gif new file mode 100755 index 0000000..9bf2a52 Binary files /dev/null and b/web/fp/images/ist-logo.gif differ diff --git a/web/fp/images/mit-logo copy.gif b/web/fp/images/mit-logo copy.gif new file mode 100755 index 0000000..40e8867 Binary files /dev/null and b/web/fp/images/mit-logo copy.gif differ diff --git a/web/fp/images/mit-logo.gif b/web/fp/images/mit-logo.gif new file mode 100755 index 0000000..40e8867 Binary files /dev/null and b/web/fp/images/mit-logo.gif differ diff --git a/web/fp/images/ok.gif b/web/fp/images/ok.gif new file mode 100755 index 0000000..3dd111d Binary files /dev/null and b/web/fp/images/ok.gif differ diff --git a/web/fp/images/schedule.gif b/web/fp/images/schedule.gif new file mode 100755 index 0000000..54b84b4 Binary files /dev/null and b/web/fp/images/schedule.gif differ diff --git a/web/fp/images/shuttle-off.gif b/web/fp/images/shuttle-off.gif new file mode 100755 index 0000000..fd076fd Binary files /dev/null and b/web/fp/images/shuttle-off.gif differ diff --git a/web/fp/images/shuttle.gif b/web/fp/images/shuttle.gif new file mode 100755 index 0000000..f84c82f Binary files /dev/null and b/web/fp/images/shuttle.gif differ diff --git a/web/fp/images/warning.gif b/web/fp/images/warning.gif new file mode 100755 index 0000000..739f87e Binary files /dev/null and b/web/fp/images/warning.gif differ diff --git a/web/home/index.php b/web/home/index.php new file mode 100755 index 0000000..fcaabd6 --- /dev/null +++ b/web/home/index.php @@ -0,0 +1,36 @@ +cache(); + +require "$prefix/index.html"; + +?> diff --git a/web/home/ip/images/3down.png b/web/home/ip/images/3down.png new file mode 100755 index 0000000..dae6eab Binary files /dev/null and b/web/home/ip/images/3down.png differ diff --git a/web/home/ip/images/about.png b/web/home/ip/images/about.png new file mode 100755 index 0000000..10b319a Binary files /dev/null and b/web/home/ip/images/about.png differ diff --git a/web/home/ip/images/beta.png b/web/home/ip/images/beta.png new file mode 100755 index 0000000..47c8b3a Binary files /dev/null and b/web/home/ip/images/beta.png differ diff --git a/web/home/ip/images/calendar.png b/web/home/ip/images/calendar.png new file mode 100755 index 0000000..04fce2e Binary files /dev/null and b/web/home/ip/images/calendar.png differ diff --git a/web/home/ip/images/careers.png b/web/home/ip/images/careers.png new file mode 100755 index 0000000..d619aae Binary files /dev/null and b/web/home/ip/images/careers.png differ diff --git a/web/home/ip/images/certificates.png b/web/home/ip/images/certificates.png new file mode 100755 index 0000000..63acdca Binary files /dev/null and b/web/home/ip/images/certificates.png differ diff --git a/web/home/ip/images/emergency.png b/web/home/ip/images/emergency.png new file mode 100755 index 0000000..d0e322f Binary files /dev/null and b/web/home/ip/images/emergency.png differ diff --git a/web/home/ip/images/links.png b/web/home/ip/images/links.png new file mode 100755 index 0000000..9a932cb Binary files /dev/null and b/web/home/ip/images/links.png differ diff --git a/web/home/ip/images/map.png b/web/home/ip/images/map.png new file mode 100755 index 0000000..c113029 Binary files /dev/null and b/web/home/ip/images/map.png differ diff --git a/web/home/ip/images/mit-logo-home.gif b/web/home/ip/images/mit-logo-home.gif new file mode 100755 index 0000000..24426a2 Binary files /dev/null and b/web/home/ip/images/mit-logo-home.gif differ diff --git a/web/home/ip/images/people.png b/web/home/ip/images/people.png new file mode 100755 index 0000000..50f3a2a Binary files /dev/null and b/web/home/ip/images/people.png differ diff --git a/web/home/ip/images/shuttletrack.png b/web/home/ip/images/shuttletrack.png new file mode 100755 index 0000000..654eb13 Binary files /dev/null and b/web/home/ip/images/shuttletrack.png differ diff --git a/web/home/ip/images/stellar.png b/web/home/ip/images/stellar.png new file mode 100755 index 0000000..1728454 Binary files /dev/null and b/web/home/ip/images/stellar.png differ diff --git a/web/home/ip/images/webmitedu.png b/web/home/ip/images/webmitedu.png new file mode 100755 index 0000000..6581967 Binary files /dev/null and b/web/home/ip/images/webmitedu.png differ diff --git a/web/home/ip/index.html b/web/home/ip/index.html new file mode 100755 index 0000000..9a5fdc7 --- /dev/null +++ b/web/home/ip/index.html @@ -0,0 +1,102 @@ +'?> + + + + + + MIT Mobile Web + + + + + + + +

Mobile Web

+ + + + + + + diff --git a/web/home/sp/index.html b/web/home/sp/index.html new file mode 100755 index 0000000..19d4e5d --- /dev/null +++ b/web/home/sp/index.html @@ -0,0 +1,42 @@ +'?> + + + + + MIT Mobile Web + + + + + + + +

+ + + + + + + + + diff --git a/web/index.php b/web/index.php new file mode 100755 index 0000000..b5cca8e --- /dev/null +++ b/web/index.php @@ -0,0 +1,21 @@ + diff --git a/web/ip/base.html b/web/ip/base.html new file mode 100755 index 0000000..5cc044c --- /dev/null +++ b/web/ip/base.html @@ -0,0 +1,90 @@ +'?> + + + + + + <?=$title?> + + + + + + + + + + + + + + + + onorientationchange="" > + + + + +
+ draw_content(); ?> +
+ + + + + + + + + + + diff --git a/web/ip/form.html b/web/ip/form.html new file mode 100755 index 0000000..2f98bbc --- /dev/null +++ b/web/ip/form.html @@ -0,0 +1,14 @@ +
+ +
+ + +
+

matches found.

+ + =50) { ?> +

Many entries found, please refine your search

+ + + +
diff --git a/web/ip/help.html b/web/ip/help.html new file mode 100755 index 0000000..e693aa3 --- /dev/null +++ b/web/ip/help.html @@ -0,0 +1,22 @@ +title("MIT $header: Help") + ->navbar_image("title-$module") + ->breadcrumbs('Help'); + +$page->content_begin(); +?> +
+

Help

+ +

+ +
+ +content_end(); +$page->help_off(); +?> diff --git a/web/ip/images/action-arrow.png b/web/ip/images/action-arrow.png new file mode 100755 index 0000000..11c9135 Binary files /dev/null and b/web/ip/images/action-arrow.png differ diff --git a/web/ip/images/action-email.png b/web/ip/images/action-email.png new file mode 100755 index 0000000..ea21281 Binary files /dev/null and b/web/ip/images/action-email.png differ diff --git a/web/ip/images/action-external.png b/web/ip/images/action-external.png new file mode 100755 index 0000000..da98587 Binary files /dev/null and b/web/ip/images/action-external.png differ diff --git a/web/ip/images/action-map.png b/web/ip/images/action-map.png new file mode 100755 index 0000000..4c54faf Binary files /dev/null and b/web/ip/images/action-map.png differ diff --git a/web/ip/images/action-pdf.png b/web/ip/images/action-pdf.png new file mode 100755 index 0000000..830855e Binary files /dev/null and b/web/ip/images/action-pdf.png differ diff --git a/web/ip/images/action-people.png b/web/ip/images/action-people.png new file mode 100755 index 0000000..c12977a Binary files /dev/null and b/web/ip/images/action-people.png differ diff --git a/web/ip/images/action-phone.png b/web/ip/images/action-phone.png new file mode 100755 index 0000000..2b5cb0d Binary files /dev/null and b/web/ip/images/action-phone.png differ diff --git a/web/ip/images/action-search.png b/web/ip/images/action-search.png new file mode 100755 index 0000000..f2ae9fa Binary files /dev/null and b/web/ip/images/action-search.png differ diff --git a/web/ip/images/alert.png b/web/ip/images/alert.png new file mode 100755 index 0000000..a6f1185 Binary files /dev/null and b/web/ip/images/alert.png differ diff --git a/web/ip/images/available.png b/web/ip/images/available.png new file mode 100755 index 0000000..21209c9 Binary files /dev/null and b/web/ip/images/available.png differ diff --git a/web/ip/images/blank.png b/web/ip/images/blank.png new file mode 100755 index 0000000..728fff9 Binary files /dev/null and b/web/ip/images/blank.png differ diff --git a/web/ip/images/breadcrumb-people.png b/web/ip/images/breadcrumb-people.png new file mode 100755 index 0000000..cc28188 Binary files /dev/null and b/web/ip/images/breadcrumb-people.png differ diff --git a/web/ip/images/bullet.png b/web/ip/images/bullet.png new file mode 100755 index 0000000..37d4ca7 Binary files /dev/null and b/web/ip/images/bullet.png differ diff --git a/web/ip/images/bus.gif b/web/ip/images/bus.gif new file mode 100755 index 0000000..2769de7 Binary files /dev/null and b/web/ip/images/bus.gif differ diff --git a/web/ip/images/button-back.png b/web/ip/images/button-back.png new file mode 100755 index 0000000..699d33b Binary files /dev/null and b/web/ip/images/button-back.png differ diff --git a/web/ip/images/colbar.png b/web/ip/images/colbar.png new file mode 100755 index 0000000..e26735f Binary files /dev/null and b/web/ip/images/colbar.png differ diff --git a/web/ip/images/critical.png b/web/ip/images/critical.png new file mode 100755 index 0000000..9b79300 Binary files /dev/null and b/web/ip/images/critical.png differ diff --git a/web/ip/images/donotenter.png b/web/ip/images/donotenter.png new file mode 100755 index 0000000..c262225 Binary files /dev/null and b/web/ip/images/donotenter.png differ diff --git a/web/ip/images/drillup-l.png b/web/ip/images/drillup-l.png new file mode 100755 index 0000000..84e29ff Binary files /dev/null and b/web/ip/images/drillup-l.png differ diff --git a/web/ip/images/drillup-r.png b/web/ip/images/drillup-r.png new file mode 100755 index 0000000..fe46d24 Binary files /dev/null and b/web/ip/images/drillup-r.png differ diff --git a/web/ip/images/gps.png b/web/ip/images/gps.png new file mode 100755 index 0000000..43ff37f Binary files /dev/null and b/web/ip/images/gps.png differ diff --git a/web/ip/images/help.png b/web/ip/images/help.png new file mode 100755 index 0000000..b0c7ca3 Binary files /dev/null and b/web/ip/images/help.png differ diff --git a/web/ip/images/homelink.png b/web/ip/images/homelink.png new file mode 100755 index 0000000..ffd4227 Binary files /dev/null and b/web/ip/images/homelink.png differ diff --git a/web/ip/images/icon.png b/web/ip/images/icon.png new file mode 100755 index 0000000..ee4ac39 Binary files /dev/null and b/web/ip/images/icon.png differ diff --git a/web/ip/images/ist-logo.png b/web/ip/images/ist-logo.png new file mode 100755 index 0000000..b25b388 Binary files /dev/null and b/web/ip/images/ist-logo.png differ diff --git a/web/ip/images/loading.gif b/web/ip/images/loading.gif new file mode 100755 index 0000000..8095230 Binary files /dev/null and b/web/ip/images/loading.gif differ diff --git a/web/ip/images/loading2.gif b/web/ip/images/loading2.gif new file mode 100755 index 0000000..74cfb03 Binary files /dev/null and b/web/ip/images/loading2.gif differ diff --git a/web/ip/images/loading3.gif b/web/ip/images/loading3.gif new file mode 100755 index 0000000..b1b23cd Binary files /dev/null and b/web/ip/images/loading3.gif differ diff --git a/web/ip/images/navback.png b/web/ip/images/navback.png new file mode 100755 index 0000000..d24dba1 Binary files /dev/null and b/web/ip/images/navback.png differ diff --git a/web/ip/images/ok.png b/web/ip/images/ok.png new file mode 100755 index 0000000..c18a9b1 Binary files /dev/null and b/web/ip/images/ok.png differ diff --git a/web/ip/images/refresh.png b/web/ip/images/refresh.png new file mode 100755 index 0000000..4136919 Binary files /dev/null and b/web/ip/images/refresh.png differ diff --git a/web/ip/images/rowbar.png b/web/ip/images/rowbar.png new file mode 100755 index 0000000..4b5d83d Binary files /dev/null and b/web/ip/images/rowbar.png differ diff --git a/web/ip/images/schedule.png b/web/ip/images/schedule.png new file mode 100755 index 0000000..164f774 Binary files /dev/null and b/web/ip/images/schedule.png differ diff --git a/web/ip/images/search-button-2.png b/web/ip/images/search-button-2.png new file mode 100755 index 0000000..b535ac0 Binary files /dev/null and b/web/ip/images/search-button-2.png differ diff --git a/web/ip/images/search-button.png b/web/ip/images/search-button.png new file mode 100755 index 0000000..2a399db Binary files /dev/null and b/web/ip/images/search-button.png differ diff --git a/web/ip/images/search.png b/web/ip/images/search.png new file mode 100755 index 0000000..037a3a0 Binary files /dev/null and b/web/ip/images/search.png differ diff --git a/web/ip/images/shuttle-off.png b/web/ip/images/shuttle-off.png new file mode 100755 index 0000000..0ca3401 Binary files /dev/null and b/web/ip/images/shuttle-off.png differ diff --git a/web/ip/images/shuttle.png b/web/ip/images/shuttle.png new file mode 100755 index 0000000..911bc01 Binary files /dev/null and b/web/ip/images/shuttle.png differ diff --git a/web/ip/images/title-3down.png b/web/ip/images/title-3down.png new file mode 100755 index 0000000..af6bcc5 Binary files /dev/null and b/web/ip/images/title-3down.png differ diff --git a/web/ip/images/title-about.png b/web/ip/images/title-about.png new file mode 100755 index 0000000..11cc776 Binary files /dev/null and b/web/ip/images/title-about.png differ diff --git a/web/ip/images/title-calendar.png b/web/ip/images/title-calendar.png new file mode 100755 index 0000000..a8116fd Binary files /dev/null and b/web/ip/images/title-calendar.png differ diff --git a/web/ip/images/title-careers.png b/web/ip/images/title-careers.png new file mode 100755 index 0000000..3113eab Binary files /dev/null and b/web/ip/images/title-careers.png differ diff --git a/web/ip/images/title-careers2.png b/web/ip/images/title-careers2.png new file mode 100755 index 0000000..3113eab Binary files /dev/null and b/web/ip/images/title-careers2.png differ diff --git a/web/ip/images/title-emergency.png b/web/ip/images/title-emergency.png new file mode 100755 index 0000000..770c477 Binary files /dev/null and b/web/ip/images/title-emergency.png differ diff --git a/web/ip/images/title-links.png b/web/ip/images/title-links.png new file mode 100755 index 0000000..ff8dbd9 Binary files /dev/null and b/web/ip/images/title-links.png differ diff --git a/web/ip/images/title-map.png b/web/ip/images/title-map.png new file mode 100755 index 0000000..2878798 Binary files /dev/null and b/web/ip/images/title-map.png differ diff --git a/web/ip/images/title-people.png b/web/ip/images/title-people.png new file mode 100755 index 0000000..be3074c Binary files /dev/null and b/web/ip/images/title-people.png differ diff --git a/web/ip/images/title-shuttleschedule.png b/web/ip/images/title-shuttleschedule.png new file mode 100755 index 0000000..a038576 Binary files /dev/null and b/web/ip/images/title-shuttleschedule.png differ diff --git a/web/ip/images/title-shuttletrack.png b/web/ip/images/title-shuttletrack.png new file mode 100755 index 0000000..a038576 Binary files /dev/null and b/web/ip/images/title-shuttletrack.png differ diff --git a/web/ip/images/title-stellar.png b/web/ip/images/title-stellar.png new file mode 100755 index 0000000..550be40 Binary files /dev/null and b/web/ip/images/title-stellar.png differ diff --git a/web/ip/images/update.png b/web/ip/images/update.png new file mode 100755 index 0000000..32e7f8f Binary files /dev/null and b/web/ip/images/update.png differ diff --git a/web/ip/images/warning.png b/web/ip/images/warning.png new file mode 100755 index 0000000..a0d978c Binary files /dev/null and b/web/ip/images/warning.png differ diff --git a/web/ip/ip.css b/web/ip/ip.css new file mode 100755 index 0000000..6804f97 --- /dev/null +++ b/web/ip/ip.css @@ -0,0 +1,806 @@ +/* Redefinition of basic elements */ + +html, body { + margin: 0; + padding: 0; + width: 100%; +} + +body { + background-color: #b9c6d6; + font: 17px/1.33em Helvetica, Arial, sans-serif; + color: #202629; + -webkit-text-size-adjust: none; +} + +h1, h2, h3 { + margin: 0 0 0.5em 0; + line-height: 1.2em; + color: #000; +} + +h1 { + font-size: 29px; + font-weight: normal; + color: #fff; +} + +h2 { + font-size: 21px; + font-weight: normal; +} + +h3 { + font-size: 1em; + font-weight: bold; +} + +h4 { + font-size: 1em; + font-weight: normal; + margin: 0 0 6px 0; + padding: 0; + color: #627ba1; +} + +a { + color: #933; +} + +a:visited { + color: #933; +} + +a img { + border: none +} + +p { + margin: 0 0 0.75em 0; +} + +table { + width: 100%; + margin: 0 0 0.75em 0; +} + +th, td { + padding: 4px 6px 5px 2px; + line-height: 1em; + vertical-align: top; +} + +th { + font-weight: normal; + text-align: left; + color: #666; +} + +ol, ul { + margin: 0 0 0.75em 0; + padding-left: 1.2em; +} + +dl { + width: 100%; + padding: 0; + margin: 0; +} + +dt { + display: block; + padding: 0; + margin: 0; + color: #627ba1; +} + +dd { + display: block; + padding: 0; + margin: 0 0 1em 0; +} + +div, p, li, a { + word-wrap: break-word; +} + + + + + +/* Major layout blocks */ + +#container { + min-height: 311px; +} + +#footer { + min-height: 22px; + margin: 20px 12px 14px 12px; + font-size: 12px; + line-height: 14px; + font-weight: normal; + color: #303639; +} + + +/* Forms */ + +form { + margin: 18px 0 12px 0; + padding: 0; + border: none; + position: relative; +} + +fieldset { + margin: 6px 0; + padding: 0; + border: none; + position: relative; +} + +input, select { + color: #223; + font-size: 17px; + line-height: 1em; +} + +select { + width: 100%; + border: 1px solid #6585a9; + -webkit-border-radius: 9px; +} + +.forminput { + border: 1px solid #758ea6; + width: 100%; + height: 30px; + padding: 4px 6px; + -webkit-appearance:textfield; + -webkit-border-radius: 5px; +} + +.inputcombo .forminput { + width: 250px; + height: 22px; + padding: 4px 4px 8px 9px; + line-height: 24px; + border: 1px 0 1px 1px solid #758ea6; + -webkit-border-bottom-left-radius: 11px; + -webkit-border-top-left-radius: 11px; + -webkit-border-bottom-right-radius: 0; + -webkit-border-top-right-radius: 0; +} + +.inputcombo .combobutton { + position: absolute; + z-index: 10; + top: 0; + right: 0; + width: 38px; + height: 36px; +} + +.emphasized { + border: 3px solid #5884b0; + -webkit-border-radius: 13px; + margin: 16px 0; +} + +.emphasized .forminput { + border: none; + width: 248px; + padding: 6px 4px 8px 9px; +} + + +/* Top navigation/titlebar */ + +#navbar { + height: 36px; + border-top: 1px solid #3c597f; + border-bottom: 1px solid #a3b2c5; + margin: 0 0 12px 0; + background: #869db3; + background-image: url(../ip/images/navback.png); + background-repeat: repeat-x; + font-size: 16px; + line-height: 16px; + padding-left: 62px; +} + +.breadcrumbs a { + float: left; + margin-left: -18px; + padding: 10px 0px 12px 0; + background-image: url(../ip/images/drillup-r.png); + background-repeat: no-repeat; + background-position: top right; + text-decoration: none; + color: #fff; +} + +.breadcrumbs a:visited { + color: #fff; +} + +.breadcrumbs a span { + background-image: url(../ip/images/drillup-l.png); + background-repeat: no-repeat; + background-position: 4px left; + padding: 13px 17px 10px 23px; +} + +a.homelink { + padding: 0; + margin-left: 0; + position: absolute; + top: 1px; + left: 0; + background-image: none; +} + +a.module { + padding: 4px 0; + margin-left: -19px; +} + +a.module img { + padding: 0 23px 0 25px; +} + +.homepage .moduleicon { + float: left; + padding-right: 6px; + margin-top: -4px; + margin-left: -1px; +} + +.pagetitle { + float: left; + padding: 10px 4px; + color: #fff; + font-weight: bold; +} + +.homepage .pagetitle { + width: 208px; + padding: 8px 7px; + font-size: 18px; +} + +.help { + float: right; + width: 34px; +} + + +/* Navigation and results listings */ + +.nav { + padding: 0; + margin: 10px; + font-weight: normal; + color: #000; + background-color: #fff; + border-bottom: 1px solid #c3cfd9; + -webkit-border-radius: 9px; +} + +.nav li { + list-style-type: none; + border-top: 1px solid #c3cfd9; + padding: 12px; + position: relative; +} + +.nav li:first-child { + border-top:0; +} + +.nav a { + display: block; + padding: 8px 25px 8px 8px; + margin: -8px; + background-image: url(../ip/images/action-arrow.png); + background-repeat: no-repeat; + background-position: right; + line-height: 1.2em; + text-decoration: none; + color: #000; + -webkit-border-radius: 5px; +} + +.nav a:visited { + color: #000; +} + +/* don't put links of calendar descriptions in their own rows, + leave them inline with their plain text siblings */ +.nav li.description a { + display: inline; + padding: 0; + margin: 0; + background-image: none; + text-decoration: none; + color: #9C3231; + -webkit-border-radius: none; +} + +.nav h2, .nav h3 { + margin-bottom: 0; +} + +.focal .nav { + margin: 10px -11px; + -webkit-border-radius: 0px; +} + +.tabbody .nav { + margin: -4px -10px; + border-bottom: none; +} + +.results { + padding: 0; + margin: 10px 0; + color: #000; + background-color: #fff; +} + +.results li { + list-style-type: none; + border-top: 1px solid #c3cfd9; + padding: 10px; +} + +.results li:first-child { + border-top:0; +} + +.results a { + display: block; + padding: 10px 25px 10px 7px; + margin: -7px; + background-image: url(../ip/images/action-arrow.png); + background-repeat: no-repeat; + background-position: right; + line-height: 1.2em; + text-decoration: none; + color: #000; + -webkit-border-radius: 5px; +} + +.results a:visited { + color: #000; +} + +.results li ul { + margin: 0 0 -8px 0; + padding: 0; +} + +.results li ul li { + list-style-type: none; + background-image: url(../ip/images/bullet.png); + background-repeat: no-repeat; + background-position: 0 2px; + padding: 0 0 0 19px; + margin: 0 0 8px -4px; + border: none; +} + +.secondary { + margin: 10px; + padding: 0; + background-color: #edf1f7; + -webkit-border-radius: 9px; + font-size: 16px; + font-weight: normal; + color: #000; +} + +.secondary li { + list-style-type: none; + border-top: 1px solid #acb8c2; + position: relative; + padding: 9px 10px; +} + +.secondary li:first-child { + border-top: none; +} + +.secondary a { + display: block; + padding: 9px 25px 9px 8px; + margin: -7px; + background-image: url(../ip/images/action-arrow.png); + background-repeat: no-repeat; + background-position: right; + line-height: 1.2em; + text-decoration: none; + color: #101619; + -webkit-border-radius: 5px; +} + +.secondary a:visited { + color: #101619; +} + +.bottomnav { + clear: both; + margin: 32px 10px; + position: relative; +} + + + +/* Specific content formatting */ + +.focal { + position: relative; + padding: 12px; + margin: 10px; + font-weight:normal; + line-height: 1.33em; + color: #333; + background-color: #fff; + -webkit-border-radius: 9px; +} + +.nonfocal { + margin: 12px; +} + +.nonfocal form { + margin-left: -2px; + margin-right: -2px; +} + +.shaded { + background-color: #edf1f7; +} + +.legend { + margin: 7px 0; + font-size: 14px; + line-height: 17px; + color: #303639; +} + +.legend.nonfocal { + margin: 0 0 24px 0; + padding: 0 12px; + color: #202629; +} + +.legend div { + display: inline; + margin-right: 0px; + padding: 1px 0; +} + +.legend .icon { + background-position: 10px 0; + padding-left: 31px; +} + +.legend h2, .legend h3 { + color: #4a4f54; +} + +.smallprint { + font-size: 14px; + line-height: 17px; + font-weight: normal; + color: #404649; +} + +.fineprint { + font-size: 12px; + line-height: 14px; + font-weight: normal; + color: #505659; +} + +.label { + height: 21px; + width: 60px; + padding-right: 10px; + font-size: 13px; + line-height: 24px; + font-weight: bold; + text-align: right; + color: #627ba1; +} + +.value { + margin-top: -21px; + margin-left: 70px; + font-size: 17px; + min-height: 20px; + line-height: 20px; + width: 206px; + word-wrap: break-word; + padding-top: 1px; +} + +.value a { + background-position: 8px right; +} + +.more { + color: #933; +} + +.badnews { + color: #a33; + font-weight: bold; +} + +.tight { + padding: 0; + margin: 0; +} + +.clear { + clear: both; +} + +.invisible { + display: none; +} + +.disabled { + opacity: 0.22; +} + +.collapsed .summary { + display: inline; +} + +.collapsed .fulltext { + display: none; +} + +.expanded .summary { + display: none; +} + +.expanded .fulltext { + display: inline; +} + +.foundat { + font-size: 14px; + line-height: 17px; + font-weight: normal; + color: #404649; +} + +p.foundat { + margin: 0 0 4px 0; +} + +.address { + font-size: 14px; + line-height: 17px; + font-weight: normal; + color: #404649; +} + +.nowrap { + white-space: nowrap; +} + + + +/* Action links (dial phone, launch map, compose email, etc.) */ + +.actionlink { + background-repeat: no-repeat; + background-position: right; + padding-right: 38px; + padding-left: 0; +} + +a.arrow { + background-image: url(../ip/images/action-arrow.png); + padding-right: 25px; +} + +a.phone { + background-image: url(../ip/images/action-phone.png); + padding-right: 36px; +} + +a.email { + background-image: url(../ip/images/action-email.png); + padding-right: 38px; +} + +a.map { + background-image: url(../ip/images/action-map.png); + padding-right: 38px; +} + +a.search { + background-image: url(../ip/images/action-search.png); + padding-right: 36px; +} + +a.people { + background-image: url(../ip/images/action-people.png); + padding-right: 36px; +} + +a.external { + background-image: url(../ip/images/action-external.png); + padding-right: 34px; +} + +a.pdf { + background-image: url(../ip/images/action-pdf.png); + padding-right: 34px; +} + +a.noaction { + background-image: none; + padding-right: 7px; +} + + + +/* Iconically coded links - e.g., Shuttle Schedule, 3DOWN, etc. */ + +.icon { + background-repeat: no-repeat; + background-position: 11px 14px; +} + +.icon a { + padding-left: 32px; +} + +h2.icon { + background-position: right; + padding-right: 24px; +} + +.inset { + padding-left: 32px; + padding-top: 3px; + margin-left: -7px; +} + +.gps { + background-image: url(../ip/images/gps.png); +} + +.sch { + background-image: url(../ip/images/schedule.png); +} + +.ok { + background-image: url(../ip/images/ok.png); +} + +.alert { + background-image: url(../ip/images/alert.png); +} + +.warning { + background-image: url(../ip/images/warning.png); +} + +.critical { + background-image: url(../ip/images/critical.png); +} + +.available { + background-image: url(../ip/images/available.png); +} + +.full { + background-image: url(../ip/images/donotenter.png); +} + +.running { + background-image: url(../ip/images/shuttle.png); + background-position: 11px 12px; +} + +.nonrunning { + background-image: url(../ip/images/shuttle-off.png); + background-position: 11px 12px; +} + +.running a { + padding-left: 28px; +} + +.nonrunning a { + padding-left: 28px; +} + + + +/* Tabs (e.g., Shuttle Schedule route pages) */ + +#tabs { + list-style-type: none; + margin: 0 0; + padding: 0; +} + +#tabs li { + float: left; + margin-bottom: -1px; + margin-right: 5px; + background-color: #cfd7e3; + border-top: 1px solid #cfd7e3; + border-right: 1px solid #cfd7e3; + border-left: 1px solid #cfd7e3; + border-bottom: 1px solid #b9c6d6; + -webkit-border-top-right-radius: 7px; + -webkit-border-top-left-radius: 7px; + text-align: center; +} + +#tabs li.active { + background-color: #fff; + border-top: 1px solid #cfd7e3; + border-right: 1px solid #b9c6d6; + border-left: 1px solid #cfd7e3; + border-bottom: 1px solid #fff; + margin-top: -2px; +} + +#tabs li a { + display: block; + text-decoration: none; + padding: 4px 11px 3px 11px; + min-width: 40px; + color: #334; +} + +#tabs li.active a { + color: #000; + padding-top: 5px; + padding-bottom: 4px; +} + +#tabbodies { + margin: 0 -12px -12px -12px; + padding: 11px; + clear: both; + border-top: 1px solid #cfd7e3; + background-color: #fff; + -webkit-border-bottom-right-radius: 8px; + -webkit-border-bottom-left-radius: 8px; +} + +.tabbody { + position: relative; +} + +.tabbody h3 { + margin-top: 22px; +} + +.tabbody li:first-child h3 { + margin-top: 2px; +} + +/* "Loading content" (for AJAX data pulls) */ + +.loading { + margin: 16px 0; + font-size: 14px; + line-height: 21px; + font-weight: normal; + color: #768087; + text-align: center; +} diff --git a/web/ip/search_results.html b/web/ip/search_results.html new file mode 100755 index 0000000..afe77c2 --- /dev/null +++ b/web/ip/search_results.html @@ -0,0 +1,6 @@ +form->out($total); +require "../{$this->module}/ip/{$this->template}.html"; + +?> diff --git a/web/ip/uiscripts-ip.js b/web/ip/uiscripts-ip.js new file mode 100755 index 0000000..3f64204 --- /dev/null +++ b/web/ip/uiscripts-ip.js @@ -0,0 +1,85 @@ +var currentTab; + +function showTab(strID, objTrigger) { +// Displays the tab with ID strID + var objTab = document.getElementById(strID); + if(objTab) { + show(strID); + if(currentTab && (currentTab != objTab)) { + hide(currentTab.id); + currentTab.style.display = "none"; + } + } + currentTab = objTab; // Remember which is the currently displayed tab + + // Set the clicked tab to look current + var objTabs = document.getElementById("tabs"); + var arrTabs = objTabs.getElementsByTagName("li"); + if(objTrigger) { + for(var i=0; i\"\"Loading data..."; + } +} + +function hide(strID) { +// Hides the object with ID strID + var objToHide = document.getElementById(strID); + if(objToHide) { + objToHide.style.display = "none"; + } +} + +function show(strID) { +// Displays the object with ID strID + var objToHide = document.getElementById(strID); + if(objToHide) { + objToHide.style.display = "block"; + } +} + +function showHideFull(objContainer) { + var strClass = objContainer.className; + if(strClass.indexOf("collapsed") > -1) { + strClass = strClass.replace("collapsed","expanded"); + } else { + strClass = strClass.replace("expanded","collapsed"); + } + objContainer.className = strClass; +} \ No newline at end of file diff --git a/web/links/help.php b/web/links/help.php new file mode 100755 index 0000000..28dc679 --- /dev/null +++ b/web/links/help.php @@ -0,0 +1,20 @@ + diff --git a/web/links/index.php b/web/links/index.php new file mode 100755 index 0000000..f4e5fe6 --- /dev/null +++ b/web/links/index.php @@ -0,0 +1,35 @@ + 'www.mbta.com', + 'Zipcar' => 'www.zipcar.com', + 'MIT Technology Review' => 'mobile.technologyreview.com', + 'Fidelity NetBenefits - Staff & Faculty 401(k)' => 'www.fi-w.com/fiw/NBLogin', + ); +} + +$links = array(); +foreach(Links::$links as $name => $link) { + $links[] = array( + "name" => htmlentities($name), + "link" => $link, + ); +} + +require "$prefix/index.html"; + +$page->cache(); +$page->output(); + +?> diff --git a/web/links/ip/index.html b/web/links/ip/index.html new file mode 100755 index 0000000..34280ed --- /dev/null +++ b/web/links/ip/index.html @@ -0,0 +1,18 @@ +title('Useful Links') + ->navbar_image('title-links') + ->breadcrumbs('Useful Links') + ->breadcrumb_home(); + +$page->content_begin(); +?> + +

These links launch third-party websites unaffiliated with the MIT Mobile Web.

+ + + +content_end(); ?> diff --git a/web/links/sp/index.html b/web/links/sp/index.html new file mode 100755 index 0000000..0cc252f --- /dev/null +++ b/web/links/sp/index.html @@ -0,0 +1,15 @@ +title('Useful Links') + ->header('Useful Links'); + +$page->content_begin(); +?> + + + +content_end(); ?> diff --git a/web/map/buildings.php b/web/map/buildings.php new file mode 100755 index 0000000..7133943 --- /dev/null +++ b/web/map/buildings.php @@ -0,0 +1,95 @@ +documentElement; +$building_nodes = $buildings_xml->documentElement->getElementsByTagName('object'); + +//all buildings with MIT building numbers +$buildings = array(); +foreach($building_nodes as $building) { + $number_node = $building->getElementsByTagName('bldgnum'); + if($number_node->length) { + $buildings[] = $number_node->item(0)->nodeValue; + } +} +usort($buildings, 'id_compare'); + +$names = makeArray('xml/campus-map/buildings.xml'); +$landmarks = makeArray('xml/campus-map/landmarks.xml'); +$courts_green = makeArray('xml/campus-map/greens.xml'); +$parking = makeArray('xml/campus-map/parking.xml'); + +//a list of all residences +$residences = array(); +foreach($building_nodes as $building) { + if(is_type($building, 'residence')) { + $residences[ getName($building) ] = getID($building); + foreach($building->getElementsByTagName('altname') as $node) { + $residences[ $node->nodeValue ] = getID($building); + } + } +} +ksort($residences); + +$rooms = find_contents('room', array('buildings')); +$food = find_contents('food', array('buildings', 'parking')); + +$building_data = array(); +foreach(array('buildings', 'greens', 'landmarks', 'parking') as $name) { + $building_data = add_data($name, $building_data); +} + +function add_data($name, $initial_data) { + $xml = loadXML("xml/campus-map/$name.xml"); + $nodes = $xml->documentElement->getElementsByTagName('object'); + foreach($nodes as $building) { + if(!$initial_data[ getID($building) ]) { + $initial_data[ getID($building) ] = array(); + $initial_data[ getID($building) ]['whats_here'] = array(); + } + + foreach(array('name', 'street', 'viewangle', 'architect', 'bldgnum') as $field) { + if(hasField($building, $field)) { + $initial_data[ getID($building) ][$field] = getField($building, $field); + } + } + + + //fill in the city field or set it to default of Cambridge, MA + if(hasField($building, 'city')) { + $initial_data[ getID($building) ]['city'] = getField($building, 'city'); + } else { + $initial_data[ getID($building) ]['city'] = "Cambridge, MA"; + } + + + //fill in the beginning of the what's here entry + foreach($building->getElementsByTagName('contents') as $content) { + $initial_data[ getID($building) ]['whats_here'][ getField($content, 'name') ]= True; + } + } + return $initial_data; +} + + +foreach(array('offices', 'research') as $linkDir) { + $links_xml = loadXML("xml/$linkDir/links.xml"); + $links = $links_xml->documentElement->getElementsByTagName('link'); + foreach($links as $link) { + foreach($link->getElementsByTagName('location') as $location) { + preg_match('/^([A-Z]*\d+[A-Z]*)/', $location->nodeValue, $location_match); + $building_data[ $location_match[0] ] ['whats_here'][ getField($link, 'name') ] = True; + } + } +} + +?> diff --git a/web/map/buildings_lib.php b/web/map/buildings_lib.php new file mode 100755 index 0000000..b220d07 --- /dev/null +++ b/web/map/buildings_lib.php @@ -0,0 +1,108 @@ +load($filename); + return $xml_obj; +} + +function makeArray($filename) { + $xml_obj = loadXML($filename); + $objects = $xml_obj->documentElement->getElementsByTagName('object'); + + //all buildings by names + $names = array(); + foreach($objects as $object) { + $names[ getName($object) ] = getID($object); + } + ksort($names); + return $names; +} + +function getName($object) { + return $object->getElementsByTagName('name')->item(0)->nodeValue; +} + +function getID($object) { + return substr($object->getAttribute('id'), 7); +} + +function id_compare($id1, $id2) { + preg_match('/^([A-Z]*)(\d+)([A-Z]*)/', $id1, $match1); + preg_match('/^([A-Z]*)(\d+)([A-Z]*)/', $id2, $match2); + + if($match1[1] > $match2[1]) { + return 1; + } + + if($match2[1] > $match1[1]) { + return -1; + } + + if((int)$match1[2] > (int)$match2[2]) { + return 1; + } + + if((int)$match1[2] < (int)$match2[2]) { + return -1; + } + + if($match1[3] > $match2[3]) { + return 1; + } + + if($match2[3] > $match1[3]) { + return -1; + } + + return 0; +} + +function is_type($building, $type) { + foreach($building->getElementsByTagName('category') as $node) { + if($node->nodeValue == $type) { + return true; + } + } + return false; +} + +function find_contents($type, $xmlfiles) { + $found = array(); + foreach($xmlfiles as $fileName) { + $buildings_xml = loadXML("xml/campus-map/$fileName.xml"); + $building_nodes = $buildings_xml->documentElement->getElementsByTagName('object'); + + foreach($building_nodes as $building) { + foreach($building->getElementsByTagName('contents') as $content) { + if(is_type($content, $type)) { + $found[ getName($content) ] = getID($building); + foreach($content->getElementsByTagName('altname') as $node) { + $found[ $node->nodeValue ] = getID($building); + } + } + } + } + } + ksort($found); + return $found; +} + +function hasField($node, $field) { + return ($node->getElementsByTagName($field)->length > 0); +} + +function getField($node, $field) { + return $node->getElementsByTagName($field)->item(0)->nodeValue; +} + +?> diff --git a/web/map/detail-fullscreen.php b/web/map/detail-fullscreen.php new file mode 100755 index 0000000..86cfd4c --- /dev/null +++ b/web/map/detail-fullscreen.php @@ -0,0 +1,31 @@ + diff --git a/web/map/detail.php b/web/map/detail.php new file mode 100755 index 0000000..524b017 --- /dev/null +++ b/web/map/detail.php @@ -0,0 +1,383 @@ + "Courtyards", + "P" => "Parking", + "L" => "Landmarks" + ); + + if(preg_match("/^(P|G|L)\d+/", select_value(), $match)) { + return array("type" => $types[ $match[1] ], "field" => "Loc_ID"); + } else { + return array("type" => "Buildings", "field" => "facility"); + } +} + +function layers() { + $layers = array( + 'Towns', 'Hydro', 'Greenspace', 'Sport', 'Roads', + 'Rail', 'Parking' ,'Other Buildings', 'Landmarks', + 'Buildings', 'Courtyards' + ); + + + $type = determine_type(); + $layer = $type['type']; + $layer_index = array_search($layer, $layers); + + $new_layers = array_merge( + array_slice($layers, 0, $layer_index), + array_slice($layers, $layer_index + 1), + array($layer), + array( 'bldg-iden-12', 'road-iden-10', 'landmarks-iden-10') + ); + + return implode(",", $new_layers); +} + +function isID($id) { + preg_match("/^([A-Z]*)/", $id, $match); + return $match[0]; +} + +function pix($label, $phone) { + //set the resolution + $resolution = array( + "sp" => array("220", "160"), + "fp" => array("160", "160") + ); + $labels = array("x" => 0, "y" => 1); + return $resolution[$phone][ $labels[$label] ]; +} + +function mapURL() { + return "http://ims.mit.edu/WMS_MS/WMS.asp"; +} + +function getServerBBox() { + return CacheIMS::$server_BBox; +} + +class CacheIMS { + public static $server_BBox; + + public function init() { + + $type = determine_type(); + + $query1 = array( + "request" => "getselection", + "type" => "query", + "layer" => $type["type"], + "idfield" => $type["field"], + "query" => $type["field"] ." in ('" . select_value() . "')" + ); + + $xml = file_get_contents(mapURL() . '?' . http_build_query($query1)); + + $xml_obj = new DOMDocument(); + $xml_obj->loadXML($xml); + $extent = $xml_obj->firstChild->firstChild; + + if(!$extent) { + //IMS server does not seem to be able to find anything + return; + } + + $bbox = array(); + foreach(array('minx','miny','maxx','maxy') as $key) { + $bbox[$key] = (int) $extent->getAttribute($key); + } + + self::$server_BBox = $bbox; + } +} +CacheIMS::init(); + +function iPhoneBBox() { + if(isset($_REQUEST['bbox'])) { + $values = explode(",", $_REQUEST['bbox']); + return array( + "minx" => $values[0], + "miny" => $values[1], + "maxx" => $values[2], + "maxy" => $values[3] + ); + } else { + return iPhoneSelectBBox(); + } +} + +function iPhoneSelectBBox() { + return zoom_box(getServerBBox(), 2.6); +} + +function zoom_box(array $box, $zoom) { + $width = $zoom * ($box["maxx"] - $box["minx"]); + $height = $zoom * ($box["maxy"] - $box["miny"]); + $x_center = ($box["maxx"] + $box["minx"])/2; + $y_center = ($box["maxy"] + $box["miny"])/2; + return array( + "minx" => (int) ($x_center - $width/2), + "miny" => (int) ($y_center - $height/2), + "maxx" => (int) ($x_center + $width/2), + "maxy" => (int) ($y_center + $height/2) + ); +} + +function photoURL() { + $url = "http://web.mit.edu/campus-map/objimgs/object-" . select_value() . ".jpg"; + + //need to turn off warnings temporialy (want to suppress url not found warning) + $error_reporting = ini_get('error_reporting'); + error_reporting($error_reporting & ~E_WARNING); + $result = file_get_contents($url, FILE_BINARY, NULL, 0, 100); + error_reporting($error_reporting); + + if($result) { + return $url; + } else { + return ""; + } +} + +function bbox($phone) { + $bbox = getServerBBox(); + + //shortcuts + $x_pix = pix("x", $phone); + $y_pix = pix("y", $phone); + + + //calculate center, width and height + $x_center = ($bbox["maxx"]+$bbox["minx"])/2; + $y_center = ($bbox["maxy"]+$bbox["miny"])/2; + $width = ($bbox["maxx"]-$bbox["minx"]); + $height = ($bbox["maxy"]-$bbox["miny"]); + + //need to determine if we need to add + //vertically or horizontally to the bounding box + $image_ratio = $y_pix/$x_pix; + $bbox_ratio = $height/$width; + if($bbox_ratio >= $image_ratio) { + $width = $height/$image_ratio; + } else { + $height = $width*$image_ratio; + } + + //calculate width, height and the bounding box to use + $width = $width * INIT_FACTOR * pow(ZOOM_FACTOR, zoom()); + $height = $height * INIT_FACTOR * pow(ZOOM_FACTOR, zoom()); + + //move center by offsets + $x_center += x_off() * MOVE_FACTOR * $width; + $y_center += y_off() * MOVE_FACTOR * $height; + + return array( + "minx" => (int) ($x_center - $width/2), + "maxx" => (int) ($x_center + $width/2), + "miny" => (int) ($y_center - $height/2), + "maxy" => (int) ($y_center + $height/2) + ); +} + +function imageURL($phone) { + $bbox = bbox($phone); + $type = determine_type(); + + $query2 = array( + "request" => "getmap", + "version" => "1.1.1", + "width" => pix("x", $phone), + "height" => pix("y", $phone), + "selectvalues" => select_value(), + "bbox" => $bbox["minx"].','.$bbox["miny"].','.$bbox["maxx"].','.$bbox["maxy"], + "layers" => layers(), + "selectfield" => $type['field'], + "selectlayer" => $type['type'] + ); + + return mapURL() . '?' . http_build_query($query2); +} + +function zoom() { + return isset($_REQUEST['zoom']) ? $_REQUEST['zoom'] : 0; +} + + +function x_off() { + return isset($_REQUEST['xoff']) ? $_REQUEST['xoff'] : 0; +} + +function y_off() { + return isset($_REQUEST['yoff']) ? $_REQUEST['yoff'] : 0; +} + +function tab() { + return isset($_REQUEST['tab']) ? $_REQUEST['tab'] : "Map"; +} + +function select_value() { + return $_REQUEST['selectvalues']; +} + +function snippets() { + $data = Data::$values; + $snippets = $_REQUEST['snippets']; + + // we do not want to display snippets + // if snippets just repeats the building number + // or building name + if($snippets == $data['bldgnum']) { + return NULL; + } + + if($snippets == $data['name']) { + return NULL; + } + + return $snippets; +} + +function scrollURL($dir) { + $dir_arr = array( + "E" => array(1,0), + "W" => array(-1,0), + "N" => array(0,1), + "S" => array(0,-1) + ); + $dir_vector = $dir_arr[$dir]; + return moveURL(x_off()+$dir_vector[0], y_off()+$dir_vector[1], zoom()); +} + +function zoomInURL() { + return moveURL(x_off()*ZOOM_FACTOR, y_off()*ZOOM_FACTOR, zoom()-1); +} + +function zoomOutURL() { + return moveURL(x_off()/ZOOM_FACTOR, y_off()/ZOOM_FACTOR, zoom()+1); +} + +Data::init(); +$data = Data::$values; +function anything_here() { + $data = Data::$values; + return (count($data['whats_here']) > 0); +} + + +$tabs = new Tabs(selfURL(), "tab", array("Map", "Photo", "What's Here")); + +if(!photoURL()) { + $tabs->hide("Photo"); +} + +if(!anything_here()) { + $tabs->hide("What's Here"); +} + +$tabs_html = $tabs->html(); +$tab = $tabs->active(); + +function selfURL() { + return moveURL(x_off(), y_off(), zoom()); +} + +function moveURL($xoff, $yoff, $zoom) { + $params = array( + "selectvalues" => select_value(), + "zoom" => $zoom, + "xoff" => $xoff, + "yoff" => $yoff, + "snippets" => snippets() + ); + return "detail.php?" . http_build_query($params); +} + +$selectvalue = select_value(); +$photoURL = photoURL(); +$tab = tab(); +$width = pix("x", $phone); +$height = pix("y", $phone); +$snippets = snippets(); +$types = determine_type(); +$layers = layers(); + +class Data { + public static $values; + + public static function init() { + require "buildings.php"; + self::$values = $building_data[select_value()]; + } +} + +if(isset($data['whats_here'])) { + $whats_here = array_keys($data['whats_here']); +} else { + $whats_here = array(); +} + +$anything_here = anything_here(); +if($anything_here) { + sort($whats_here); +} + +if($num = $data['bldgnum']) { + $building_title = "Building $num"; + if( ($name = $data['name']) && ($name !== $building_title) ) { + $building_title .= " ($name)"; + } +} else { + $building_title = $data['name']; +} + +/** + * this function makes the street address + * more readable by google maps + */ +function cleanStreet($data) { + // remove things such as '(rear)' at the end of an address + $street = preg_replace('/\(.*?\)$/', '', $data['street']); + + //remove 'Access Via' that appears at the begginning of some addresses + return preg_replace('/^access\s+via\s+/i', '', $street); +} + +if(getServerBBox()) { + require "$prefix/detail.html"; +} else { + require "$prefix/not_found.html"; +} + + + +$page->output(); + +?> diff --git a/web/map/directions.php b/web/map/directions.php new file mode 100755 index 0000000..dcc8af7 --- /dev/null +++ b/web/map/directions.php @@ -0,0 +1,147 @@ + array(280, 238), + "sp" => array(220, 220), + "fp" => array(160, 160) +); + +$width = $dimensions[$phone][0]; +$height = $dimensions[$phone][1]; + +$location =<<Map

+

MIT is located on the north +shore of the Charles River Basin in Cambridge, Massachusetts, USA. The campus is within +3 miles of two major interstate highways, less than 6 miles from a major international airport, and is accessible via public transportation. MIT is a 15-30 minute walk from downtown Boston (depending on the weather). MIT is a 30-40 minute walk from Harvard University (located just up the river from the MIT campus).

+HTML; + +$google =<<To find MIT using Google Maps, use the address "77 Massachusetts Avenue, Cambridge MA +02139" as your reference point for general directions to MIT. This is the famous domed building at the center of campus.

+HTML; + +$google_extra =<<MIT on Google Maps +EXTRA; + +$logan =<<By taxi: Taxi fare from the airport is about $20-$25. During non-rush hour, the taxi ride will take about 15 minutes. During rush hour, the ride could take 30 minutes or more.

+

By subway: From any terminal at Logan Airport, take the Silver Line bus to South Station. At South Station, change to the Red Line subway to Kendall/MIT (inbound toward Alewife). Under normal conditions the ride will take about one-half hour and the fare is $1.70 (Charlie Card) or $2.00 (cash).

+ +

By car: Leaving the airport, follow the signs to the Sumner Tunnel. Enter the tunnel and stay in the right lane.
At the end of the tunnel, continue to stay in the right lane, start down an incline and bear to the right immediately at the sign for Storrow Drive.
Take Exit 26 for Cambridge/ Somerville. Follow the signs for Back Bay/Cambridge (do not take the exit for Cambridge/ Somerville).
Stay in the right lane and follow the signs for Storrow Drive Westbound.
After you pass under the pedestrian walkbridges, change to the left lane and take the exit on your left for 2A North.
Turn right onto the Harvard Bridge (Massachusetts Avenue).
MIT's main entrance is 77 Massachusetts Avenue, and it will be on the right at the second set of traffic lights.

+HTML; + +$logon_extra =<<Directions via Google Maps +EXTRA; + +$t =<<Subway: Take the Red Line subway to the Kendall/MIT Station or to the Central Square Station, both of which are a short walk from campus. The walk from Central Square takes about 10 minutes and takes you right down Massachusetts Avenue. The Kendall/MIT Station is on the eastern side of campus, and as soon as you enter an MIT building you can get to the other buildings without going outside.

+

Bus: The #1 or Dudley/Harvard Station bus stops at MIT on Massachusetts Avenue and provides transportation to Central Square and Harvard Square (Northbound), and Boston (Southbound). The MIT stop is at a large crosswalk with a stoplight. On one side of the street are steps leading up to large Ionic columns and the small dome of MIT; on the other side of the street is the Stratton Student Center and Kresge Oval (an open, grass-covered area). Additionally, the CT1 (Crosstown bus) stops at the MIT stop on Massachusetts Avenue and the CT2 bus stops on the corner of Massachusetts Avenue and Vassar St. as well as Kendall Square T Station.

+HTML; + +$car =<<From the North (I-95 or I-93): If you are heading south on I-93, follow I-93 into Boston then follow the I-93 instructions below. If you are heading south on I-95, take the I-93 South exit (exit 37) then follow the instructions from I-93. Alternatively, take the I-90 East exit (Massachusetts Turnpike) from I-95 then follow the instructions from the West via I-90.

+

From the South (I-95 or I-93): If you are heading north on I-93, follow I-93 into Boston then follow the I-93 instructions below. If you are heading north on I-95, take the I-93 North exit then follow the instructions from I-93. Alternatively, take the I-90 East exit from I-95 then follow the instructions from I-90.

+ +

From the West (I-90) (Mass Turnpike): Follow I-90 east to the Cambridge/Brighton exit (exit 18). Following the signs to Cambridge, cross the River Street Bridge, and continue straight about 1 mile to Central Square. Turn right onto Massachusetts Avenue and follow Massachusetts Avenue for about a half mile. The main entrance to MIT will be on your left. If you cross the river again, you have gone too far.

+

From Route I-93: From I-93, take exit 26, and follow the signs to Back Bay along Storrow Drive West, approximately 1.5 miles, to the exit for Route 2A. The exit will be on the left, just before the Harvard Bridge (more appropriately called the Massachusetts Avenue Bridge). The Charles River will be on your right. As you cross the bridge, you will be looking at MIT - the Great Dome and academic facilities are on the right, the dormitories and athletic facilities are on the left.

+HTML; + +$hood =<<Take the blimp to the tall building with all the glass windows (that would be the Hancock tower). Head north over the Charles River and have them put you down on top of the large, convex, concrete structure on the north shore of the river (that would be the Great Dome of MIT). Watch out for police cars on the roof.

+HTML; + +$parking =<<Parking in Cambridge and Boston is generally not an enjoyable experience. Whenever possible, park your car at the hotel +at which you are staying, and use public transportation to get to the MIT campus. +If you must drive to the campus, there is both on- and off-street parking available, but most public +parking is not very close to the center of the MIT campus (unless you arrive early in the morning or late in the evening).

+

There is metered parking on Massachusetts Avenue for short stays and evenings/weekends, as well as a number of lots at +which you may park for a fee. These include Vassar St. Public Parking at the +corner of +Massachusetts Avenue and Vassar Street, University Park / Star Market Public +Parking, and +the Marriott Parking Garage on Ames St. and Broadway.

+ +

If you were invited to campus and a visitor parking hang tag was given to you, you may park in the lots specified on the +hang tag. Please check the parking lot listing and plan your trip +accordingly.

+HTML; + +$directions = array( + "location" => dirs($location, "Where in the World is MIT?", "Whereis") + ->heading("Where is MIT?"), + "google" => dirs($google, "Finding MIT using Google Maps", "Google") + ->google($google_extra), + "logan" => dirs($logan, "From Logan Airport", "Logan") + ->google($logan_extra), + "t" => dirs($t, 'By Public Transportation - MBTA ("The T")', "By T") + ->short_link('By Public Transport ("The T")'), + "car" => dirs($car, "By Car", "By Car"), + "hood" => dirs($hood, "By Hood Blimp", "Blimp"), + "parking" => dirs($parking, "Parking Suggestions", "Parking") +); + + +class DirectionPage { + public $header; + public $html; + public $breadcrumb; + public $google_html; + public $link_text; + + public function __construct($html, $link_text, $breadcrumb) { + $this->html = $html; + $this->link_text = $link_text; + $this->breadcrumb = $breadcrumb; + $this->header = $this->link_text; + } + + public function heading($header) { + $this->header = $header; + return $this; + } + + public function google($google_html) { + $this->google_html = $google_html; + return $this; + } + + public function short_link($link_text) { + if(Page::$phoneType != "ip") { + $this->link_text = $link_text; + } + return $this; + } +} + +function dirs($html, $link_text, $breadcrumb) { + return new DirectionPage($html, $link_text, $breadcrumb); +} + +function directionsURL($link) { + return "directions.php?page=$link"; +} + +if($_REQUEST['page']) { + $info = $directions[ $_REQUEST['page'] ]; + require "$prefix/direction.html"; +} else { + require "$prefix/directions.html"; +} + +$page->output(); + +?> diff --git a/web/map/fp/location.gif b/web/map/fp/location.gif new file mode 100755 index 0000000..5f81d52 Binary files /dev/null and b/web/map/fp/location.gif differ diff --git a/web/map/help.php b/web/map/help.php new file mode 100755 index 0000000..f555239 --- /dev/null +++ b/web/map/help.php @@ -0,0 +1,33 @@ +Search by building number or name, or for specific facilities by name or keyword
' . + 'Examples: "W20", "hayden", "kresge", "la verdes", "tennis", etc.', + + '2. Browse by any of the categories on the Campus Map homepage', + + 'For each building, you'll be shown its name, street address and map. This map can be scrolled and zoomed using the links or buttons just below the map image. For most buildings, you can also view a photo of the building and a list of what's in the building using the tabs above the map image.', + + 'Note that some buildings are located away from streets; for those buildings, the street address shown is usually the main pedestrian access from the street.', + + 'On the iPhone and iPod Touch, you can also enter full-screen mode using the right-most button below the map image. Once in full-screen mode, you can rotate your device to switch to horizontal (landscape) orientation. The iPhone and iPod Touch also give you one-button access to locate the building on the device's native Map application. This button is located below the map zoom and scroll buttons.', + + 'The Campus Map is provided by the MIT Facilities Department and IS&T.', +); + +require "../page_builder/help.php"; + +?> diff --git a/web/map/images/blank.gif b/web/map/images/blank.gif new file mode 100755 index 0000000..6305291 Binary files /dev/null and b/web/map/images/blank.gif differ diff --git a/web/map/images/buttons-reverse.png b/web/map/images/buttons-reverse.png new file mode 100755 index 0000000..6339abe Binary files /dev/null and b/web/map/images/buttons-reverse.png differ diff --git a/web/map/images/buttons.png b/web/map/images/buttons.png new file mode 100755 index 0000000..fba89f1 Binary files /dev/null and b/web/map/images/buttons.png differ diff --git a/web/map/images/scrollers.png b/web/map/images/scrollers.png new file mode 100755 index 0000000..cb12305 Binary files /dev/null and b/web/map/images/scrollers.png differ diff --git a/web/map/index.php b/web/map/index.php new file mode 100755 index 0000000..ddffe19 --- /dev/null +++ b/web/map/index.php @@ -0,0 +1,109 @@ + array("Building number", "Building #s", "Buildings by Number"), + "names" => array("Building name", "Building Names", "Buildings by Name"), + "residences" => array("Residences", "Residences", "Residences"), + "rooms" => array("Selected rooms", "Selected Rooms", "Selected Rooms"), + "landmarks" => array("Streets and Landmarks", "Streets & Landmarks", "Streets & Landmarks"), + "courts_green" => array("Courts and Green Spaces", "Courts & Green Spaces", "Courts and Green Spaces"), + "food" => array("Food services", "Food Services", "Food Services"), + "parking" => array("Parking lots", "Parking Lots", "Parking Lots") + ); +} +$category_info = Categorys::$info; + +$index = ($prefix == "ip") ? 0 : 2; + +$categorys = array(); +foreach($category_info as $category => $title) { + $categorys[$category] = $title[$index]; +} + +if(!isset($_REQUEST['category'])) { + $page->cache(); + require "$prefix/index.html"; +} else { + $category = $_REQUEST['category']; + $title = $category_info[$category][2]; + + + if(!isset($_REQUEST['drilldown'])) { + $places = places(); + if($category=="buildings" || $category=="names") { + require "$prefix/$category.html"; + } else { + require "$prefix/places.html"; + } + } else { + $titlebar = ucwords($category_info[$category][0]); + $drilldown = $_REQUEST['drilldown']; + $drilldown_title = $_REQUEST['desc']; + $places = places_sublist($drilldown); + require "$prefix/drilldown.html"; + } +} + + + +$page->output(); + +function places() { + require "buildings.php"; + + if($_REQUEST['category'] == 'buildings') { + // array needs to be converted to a hash + $places = array(); + foreach($buildings as $building_number) { + $places[$building_number] = $building_number; + } + } else { + $places = ${$_REQUEST['category']}; + } + return $places; +} + +function places_sublist($listName) { + if($_REQUEST['category'] == 'buildings') { + $drill = new DrillNumeralAlpha($listName, "key"); + } else { + $drill = new DrillAlphabeta($listName, "key"); + } + return $drill->get_list(places()); +} + + +function drillURL($drilldown, $name=NULL) { + $url = categoryURL() . "&drilldown=$drilldown"; + if($name) { + $url .= "&desc=" . urlencode($name); + } + return $url; +} + +function categoryURL($category=NULL) { + $category = $category ? $category : $_REQUEST['category']; + return "?category=$category"; +} + +function detailURL($number, $snippet) { + return "detail.php?selectvalues=$number&snippets=" . urlencode($snippet); +} + +function searchURL() { + return "search.php"; +} + + +?> diff --git a/web/map/ip/buildings.html b/web/map/ip/buildings.html new file mode 100755 index 0000000..5d58763 --- /dev/null +++ b/web/map/ip/buildings.html @@ -0,0 +1,38 @@ +title('MIT Map: Browse by Building Number') + ->navbar_image('title-map') + ->breadcrumbs('Browse Map'); + +$drilldowns = array( + "Main" => "1-68", + "North" => "N4-N57", + "Northeast" => "NE18-NE125", + "East" => "E1-E70", + "West" => "W1-WW15", + "Northwest" => "NW10-NW95" +); + +$page->content_begin(); +?> +
+

Browse Buildings by Number

+
+ + + +
+
+ +
+
+ +content_end(); ?> diff --git a/web/map/ip/detail-fullscreen.html b/web/map/ip/detail-fullscreen.html new file mode 100755 index 0000000..517a30b --- /dev/null +++ b/web/map/ip/detail-fullscreen.html @@ -0,0 +1,77 @@ +'?> + + + + + + MIT Campus Map: Full-Screen Map + + + + + + + + + + + + +
+
+ Zoom In + Zoom Out + Recenter + Options + Return to Detail +
+
+
NW
+
N
+
NE
+
E
+
SE
+
S
+
SW
+
W
+ Loading +
+
+ +
+
+
 
+
+

Labels for Fullscreen Map

+

+

+

+

+

+
+ + +
+
+
+
+ + + + + diff --git a/web/map/ip/detail.html b/web/map/ip/detail.html new file mode 100755 index 0000000..602032e --- /dev/null +++ b/web/map/ip/detail.html @@ -0,0 +1,123 @@ +title('MIT Campus Map: Details') + ->navbar_image('title-map') + ->not_scalable() + ->add_stylesheet('styles/map-ip') + ->add_inline_script($bbox_script) + ->add_javascript('../ip/uiscripts-ip') + ->add_javascript('javascripts/map-ip') + ->breadcrumbs('Map Details') + ->extra_onload("loadImage(getMapURL(mapBaseURL),'mapimage');"); + +$page->content_begin(); +?> + + +
+ +

found in:

+ + +

+

+ + +
+
+
+
NW
+
N
+
NE
+
E
+
SE
+
S
+
SW
+
W
+ Loading +
+ +
+ Zoom In + Zoom Out + Recenter + Full Screen +
+
+ + + + + + + + + + +
+
+ +
+ + + + +content_end(); + + +$script =<<footer_script($script); +?> diff --git a/web/map/ip/direction.html b/web/map/ip/direction.html new file mode 100755 index 0000000..d7afb26 --- /dev/null +++ b/web/map/ip/direction.html @@ -0,0 +1,20 @@ +title('MIT Map: Directions to MIT') + ->navbar_image('title-map') + ->breadcrumbs('Directions', $info->breadcrumb); + +$page->content_begin(); +?> +
    +

    header?>

    + + html?> +
+ + google_html) { ?> + + + +content_end(); ?> diff --git a/web/map/ip/directions.html b/web/map/ip/directions.html new file mode 100755 index 0000000..e163a63 --- /dev/null +++ b/web/map/ip/directions.html @@ -0,0 +1,14 @@ +title('MIT Map: Directions to MIT') + ->navbar_image('title-map') + ->breadcrumbs('Directions to MIT'); + +$page->content_begin(); +?> + + +content_end(); ?> diff --git a/web/map/ip/drilldown.html b/web/map/ip/drilldown.html new file mode 100755 index 0000000..9b64114 --- /dev/null +++ b/web/map/ip/drilldown.html @@ -0,0 +1,50 @@ + "Main", + "Northwest" => "NW", + "Northeast" => "NE", + "West" => "West", + "East" => "East", + "North" => "North" + ); + $heading = $drilldown_title . " Campus ($drilldown)"; + $last_crumb = $shortcuts[$drilldown_title]; + $class = "results"; + break; + case "names": + $heading = $drilldown; + $last_crumb = $drilldown; + $class = "nav"; +} + +$page->title("MIT Map: Browse by $titlebar") + ->navbar_image('title-map') + ->breadcrumbs('Browse', $last_crumb) + ->breadcrumb_links(categoryURL()); + +$page->content_begin(); +?> +
+

Browse Buildings:

+
+ +
    + $number) { ?> +
  • + +
+ +
+
+ +
+
+content_end(); ?> + diff --git a/web/map/ip/index.html b/web/map/ip/index.html new file mode 100755 index 0000000..1cb465e --- /dev/null +++ b/web/map/ip/index.html @@ -0,0 +1,38 @@ +title('MIT Campus Map') + ->navbar_image('title-map') + ->breadcrumbs('Campus Map') + ->breadcrumb_home(); + +$page->content_begin(); +?> + +
+
+
+ value="" /> + +
+
+

Search tip: You can search by any category shown in the 'Browse by' list below.

+
+ +
+

Browse map by:

+
+ + + + + +content_end(); ?> diff --git a/web/map/ip/items.html b/web/map/ip/items.html new file mode 100755 index 0000000..b3110da --- /dev/null +++ b/web/map/ip/items.html @@ -0,0 +1,7 @@ + diff --git a/web/map/ip/location.gif b/web/map/ip/location.gif new file mode 100755 index 0000000..3ea55a7 Binary files /dev/null and b/web/map/ip/location.gif differ diff --git a/web/map/ip/names.html b/web/map/ip/names.html new file mode 100755 index 0000000..1444e90 --- /dev/null +++ b/web/map/ip/names.html @@ -0,0 +1,29 @@ +title('MIT Map: Browse by Building Name') + ->navbar_image('title-map') + ->breadcrumbs('Browse Map'); + +$page->content_begin(); +?> +
+

Browse Buildings by Name

+
+ + + +
+
+ +
+
+ +content_end(); ?> diff --git a/web/map/ip/not_found.html b/web/map/ip/not_found.html new file mode 100755 index 0000000..d6d5fec --- /dev/null +++ b/web/map/ip/not_found.html @@ -0,0 +1,14 @@ +title('MIT Campus Map: Not Found') + ->navbar_image('title-map') + ->breadcrumbs('Not Found'); + +$page->content_begin(); +?> + +
+

Map image not found, Sorry

+
+ +content_end(); ?> + diff --git a/web/map/ip/places.html b/web/map/ip/places.html new file mode 100755 index 0000000..bcf229a --- /dev/null +++ b/web/map/ip/places.html @@ -0,0 +1,30 @@ +title("MIT Map: Browse $title") + ->navbar_image('title-map') + ->breadcrumbs('Browse Map'); + +$page->content_begin(); +?> + +
+

Browse

+
+ +
    + $number) { ?> +
  • + +
+ +
+
+ +
+
+ +content_end(); ?> diff --git a/web/map/ip/search.html b/web/map/ip/search.html new file mode 100755 index 0000000..9d4e9b0 --- /dev/null +++ b/web/map/ip/search.html @@ -0,0 +1,11 @@ +title('MIT Campus Map: Search Results') + ->navbar_image('title-map') + ->breadcrumbs('Search Results'); + +$page->content_begin(); + +$content->output($results); + +$page->content_end(); +?> diff --git a/web/map/javascripts/map-ip.js b/web/map/javascripts/map-ip.js new file mode 100755 index 0000000..3cccbaf --- /dev/null +++ b/web/map/javascripts/map-ip.js @@ -0,0 +1,307 @@ +// Set initial values for drawing the map image +var mapW, mapH; // integers: width and height of map image +var zoom = 0; // integer: zoom level -- should always default to 0 +var mapBoxW = initMapBoxW; // integer: western bound of map image (per IMS map API) +var mapBoxN = initMapBoxN; // integer: northern bound of map image (per IMS map API) +var mapBoxS = initMapBoxS; // integer: southern bound of map image (per IMS map API) +var mapBoxE = initMapBoxE; // integer: eastern bound of map image (per IMS map API) +var hasMoved = false; // boolean: has the map been scrolled or zoomed? +var maxZoom = 2; // integer: max zoom-in level +var minZoom = -8; // integer: max zoom-out level +var mapBaseURL = "http://ims.mit.edu/WMS_MS/WMS.asp?request=getmap&version=1.1.1"; // base URL for an image served by the mapping engine +var detailBaseURL = "detail.php?"; // base URL for the normal map detail screen +var fullscreenBaseURL = "detail-fullscreen.php?"; // base URL for the fullscreen map detail screen + + +function jumpbrowse(objSelect) { +// Use the value of the 'browse by' select control to jump to a different browse page + if(objSelect) { + switch(objSelect.value) { + case "number": + document.location.href="building-number.html"; + break; + case "name": + document.location.href="building-name.html"; + break; + case "residences": + document.location.href="residences.html"; + break; + case "rooms": + document.location.href="rooms.html"; + break; + case "streets": + document.location.href="streets.html"; + break; + case "courts": + document.location.href="courts.html"; + break; + case "food": + document.location.href="food.html"; + break; + case "parking": + document.location.href="parking.html"; + break; + } + } +} + + +function loadImage(imageURL,imageID) { +// Loads an image from the given URL into the image with the specified ID + var objMap = document.getElementById(imageID); + show("loadingimage"); + if(objMap) { + if(imageURL!="") { + objMap.src = imageURL; + } else { + objMap.src = "../../images/ip/blank.png"; + } + } + // Since we're loading a new map image, update the link(s) to switch between fullscreen and smallscreen modes + var objFullscreen = document.getElementById("fullscreen"); + if(objFullscreen) { + objFullscreen.href = getMapURL(fullscreenBaseURL, true); + } + var objSmallscreen = document.getElementById("smallscreen"); + if(objSmallscreen) { + objSmallscreen.href = getMapURL(detailBaseURL, true); + } +} + + +function getMapURL(strBaseURL, includeSelect) { + // Returns a full URL for a map page or map image, using strBaseURL as the base + var newURL = strBaseURL + "&width=" + mapW + "&height=" + mapH + "&selectvalues=" + mapSelect + "&bbox=" + mapBoxW + "," + mapBoxS + "," + mapBoxE + "," + mapBoxN + "&layers=" + mapLayers + mapOptions; + + // Add parameters for the original bounding box, so Image can be recentered + if(includeSelect) { + newURL += "&bboxSelect=" + selectMapBoxW + "," + selectMapBoxS + "," + selectMapBoxE + "," + selectMapBoxN; + } + return(newURL); +} + + +function scroll(dir) { +// Scrolls the map image in the cardinal direction given by dir; amount of scrolling is scaled to zoom level and the pixel dimensions of the map image + var objMap = document.getElementById("mapimage"); + if(objMap) { + var mapDX, mapDY; + if(zoom minZoom) { + mapBoxN = mapBoxN + (mapH/2); + mapBoxS = mapBoxS - (mapH/2); + mapBoxE = mapBoxE + (mapW/2); + mapBoxW = mapBoxW - (mapW/2); + loadImage(getMapURL(mapBaseURL),'mapimage'); + zoom--; + } + if(zoom <= minZoom) { // If we've reached the min zoom level + disable('zoomout'); + } + checkIfMoved(); +} + + +function zoomin() { +// Zoom the map in by an amount scaled to the pixel dimensions of the map image + enable('zoomout'); + if(zoom < maxZoom) { + mapBoxN = mapBoxN - (mapH/2); + mapBoxS = mapBoxS + (mapH/2); + mapBoxE = mapBoxE - (mapW/2); + mapBoxW = mapBoxW + (mapW/2); + loadImage(getMapURL(mapBaseURL),'mapimage'); + zoom++; + } + if(zoom >= maxZoom) { // If we've reached the max zoom level + disable('zoomin'); + } + checkIfMoved(); +} + + +function rotateMap() { +// Load a rotated map image + var objMap = document.getElementById("mapimage"); + + // insert some code here to calculate the full URL w/ arguments for the map graphic in both tall (tallMapURL) and wide (wideMapURL) versions + + if(objMap) { + show("loadingimage"); + switch(window.orientation) + { + case 0: + case 180: + mapW = 320; + mapH = 416; + break; + + case -90: + case 90: + mapW = 480; + mapH = 268; + break; + + } + loadImage(getMapURL(mapBaseURL),'mapimage'); + } +} + + + +function rotateMapAlternate() { +// Load a rotated map image - needs work to get innerWidth and innerHeight working correctly -- will be required once firmware 2.0 is released enabling full-screen chromeless browsing + var objMap = document.getElementById("mapimage"); + if(objMap) { + show("loadingimage"); + mapW = window.innerWidth; + mapH = window.innerHeight; + loadImage(getMapURL(mapBaseURL),'mapimage'); + alert(mapW + " x " + mapH); + } +} + + + +function checkIfMoved() { +// Check to see if the map has been moved (zoomed or scrolled) away from its initial position, and disable/enable the 'recenter' button accordingly + hasMoved = !((mapBoxW == selectMapBoxW) && (mapBoxN == selectMapBoxN) && (mapBoxS == selectMapBoxS) && (mapBoxE == selectMapBoxE)); + if(hasMoved) { + enable('recenter'); + } else { + disable('recenter'); + } + +} + + +function disable(strID) { +// Visually dims and disables the anchor whose id is strID + var objA = document.getElementById(strID); + if(objA) { + if(objA.className.indexOf("disabled") == -1) { // only disable if it's not already disabled! + objA.className = objA.className + " disabled"; + } + } +} + + +function enable(strID) { +// Visually undims and re-enables the anchor whose id is strID + var objA = document.getElementById(strID); + if(objA) { + objA.className = objA.className.replace("disabled",""); + } +} + + +function saveOptions(strFormID) { +// Applies full-screen map-option changes and hides the form + var newLayers = "Towns,Hydro,Greenspace,Sport,Courtyards,Roads,Rail,Landmarks,Parking,Other+Buildings,Buildings,"; + + // Code to manipulate the string newLayers should go here, based on what the user toggled in the form + + if(document.mapform.chkLabelBuildings.checked) { newLayers = newLayers + "," + document.mapform.chkLabelBuildings.value; } + if(document.mapform.chkLabelRoads.checked) { newLayers = newLayers + "," + document.mapform.chkLabelRoads.value; } + if(document.mapform.chkLabelCourts.checked) { newLayers = newLayers + "," + document.mapform.chkLabelCourts.value; } + if(document.mapform.chkLabelLandmarks.checked) { newLayers = newLayers + "," + document.mapform.chkLabelLandmarks.value; } + if(document.mapform.chkLabelParking.checked) { newLayers = newLayers + "," + document.mapform.chkLabelParking.value; } + + if(newLayers!=mapLayers) { // Only load a new map image if the user actually changed some options + mapLayers = newLayers; + loadImage(getMapURL(mapBaseURL),'mapimage'); + } + + hide("options"); +} + + +function cancelOptions(strFormID) { +// Should cancel map-option changes and hide the form; this is just a stub for future real function + var objForm = document.getElementById(strFormID); + if(objForm) { objForm.reset() } + hide("options"); +} + + diff --git a/web/map/search.php b/web/map/search.php new file mode 100755 index 0000000..64ebb7f --- /dev/null +++ b/web/map/search.php @@ -0,0 +1,67 @@ +output(); + } +} else { + header("Location: ./"); +} + +function detailURL($place) { + $id = substr($place->id, 7); + return "detail.php?selectvalues=$id&snippets=" . urlencode(implode(", ", $place->snippets)); +} + +function map_search($terms) { + + $query = array( + "type" => "query", + "q" => $terms, + "output" => "json" + ); + + $json = file_get_contents("http://map-dev.mit.edu/search?" . http_build_query($query)); + + $data = json_decode($json); + + //sort data by priority + $high = array(); + $low = array(); + foreach($data as $place) { + if(exact_match($terms, $place->snippets)) { + $high[] = $place; + } else { + $low[] = $place; + } + } + + return array_merge($high, $low); +} + +function exact_match($terms, $snippets) { + $terms = strtolower(trim($terms)); + foreach($snippets as $snippet) { + if(strtolower($snippet) == $terms) { + return True; + } + } + return False; +} + +?> diff --git a/web/map/sp/buildings.html b/web/map/sp/buildings.html new file mode 100755 index 0000000..81d80a4 --- /dev/null +++ b/web/map/sp/buildings.html @@ -0,0 +1,24 @@ +title("MIT Campus Map: Browse by Building Number") + ->header("Campus Map"); + +$drilldowns = array( + "1-10", "11-26", "31-48", "50-68", "E1-E28", "E33-E70", + "N4-N57", "NE18-NE125", "NW10-NW17", "NW20-NW95", "W1-W16", + "W20-W61", "W70-WW15" +); + +$page->content_begin(); +?> + +

Buildings by Number

+ + +content_end(); +$page->nav_link("./", "Campus Map Home"); +?> diff --git a/web/map/sp/detail.html b/web/map/sp/detail.html new file mode 100755 index 0000000..61ef8ed --- /dev/null +++ b/web/map/sp/detail.html @@ -0,0 +1,69 @@ +title("MIT Campus Map: Details") + ->header("Campus Map"); + +function tabs() { + $html = array(); + foreach(array("Map", "Photo", "What's Here") as $aTab) { + if($url = selfURL($aTab)) { + if(tab() == $aTab) { + $html[] = '' . $aTab . ''; + } else { + $html[] = "$aTab"; + } + } + } + return implode(" | ", $html); +} + +$page->content_begin(); +?> + +
+ +

found at:

+ + +

+ + +

+ +

+ + +

+ +

+ + + +

+ + Map +

+

+ + Scroll: N | S | E | W
+ Zoom: In | Out +

+ + + +

Photo

+

View from
Architect:

+ + +

+ +
+ +

+ + +
+content_end(); +$page->nav_link("./", "Campus Map"); +?> diff --git a/web/map/sp/direction.html b/web/map/sp/direction.html new file mode 100755 index 0000000..d11a7ea --- /dev/null +++ b/web/map/sp/direction.html @@ -0,0 +1,19 @@ +title("MIT Map: Directions to MIT") + ->header("Campus Map"); +$page->content_begin(); +?> + +
+

header?>

+ html?> +
+ +

+ < Back to Directions +

+ +content_end(); +$page->nav_link("./", "Campus Map"); +?> diff --git a/web/map/sp/directions.html b/web/map/sp/directions.html new file mode 100755 index 0000000..a2e12f7 --- /dev/null +++ b/web/map/sp/directions.html @@ -0,0 +1,18 @@ +title("MIT Map: Directions to MIT") + ->header("Campus Map"); +$page->content_begin(); +?> + +

Directions to MIT

+ + + +content_end(); +$page->nav_link("./", "Campus Map"); +?> diff --git a/web/map/sp/drilldown.html b/web/map/sp/drilldown.html new file mode 100755 index 0000000..6e4037b --- /dev/null +++ b/web/map/sp/drilldown.html @@ -0,0 +1,21 @@ +title("MIT Campus Map: Browse by $titlebar") + ->header("Campus Map"); +$page->content_begin(); +?> + +

:

+ + + +

+ < Back +

+content_end(); +$page->nav_link("./", "Campus Map"); +?> diff --git a/web/map/sp/index.html b/web/map/sp/index.html new file mode 100755 index 0000000..9dfacdf --- /dev/null +++ b/web/map/sp/index.html @@ -0,0 +1,30 @@ +title('MIT Campus Map') + ->header('Campus Map'); + +$page->content_begin(); +?> +
+ +

+ Search campus map:
+ + + + +

+ +

+ Tip: You can search by any 'Browse by' category shown below. +

+ + +content_end(); +$page->extra_link("directions.php", "Directions to MIT"); +?> diff --git a/web/map/sp/items.html b/web/map/sp/items.html new file mode 100755 index 0000000..ddc7ed4 --- /dev/null +++ b/web/map/sp/items.html @@ -0,0 +1,5 @@ +

+ + name?>
+ +

diff --git a/web/map/sp/location.gif b/web/map/sp/location.gif new file mode 100755 index 0000000..0a979ba Binary files /dev/null and b/web/map/sp/location.gif differ diff --git a/web/map/sp/names.html b/web/map/sp/names.html new file mode 100755 index 0000000..afd99fa --- /dev/null +++ b/web/map/sp/names.html @@ -0,0 +1,28 @@ +title("MIT Campus Map: Browse by Building Name") + ->header("Campus Map"); + + +$drilldowns = array( + "1-9", "A", "B", "C", + "D", "E", "F", "G", "H", "I-K", + "L", "M", "N-Q", "R", "S", + "T-V", "W-Z" +); + +$page->content_begin(); +?> +

Buildings by Name

+ + +content_end(); +$page->nav_link("./","Campus Map Home"); +?> + diff --git a/web/map/sp/not_found.html b/web/map/sp/not_found.html new file mode 100755 index 0000000..d4162bb --- /dev/null +++ b/web/map/sp/not_found.html @@ -0,0 +1,13 @@ +title('MIT Campus Map: Not Found') + ->header('Campus Map'); + +$page->content_begin(); +?> +

Map image not found, Sorry

+content_end(); +$page->nav_link("index.php", "Campus Map Home"); + +?> diff --git a/web/map/sp/places.html b/web/map/sp/places.html new file mode 100755 index 0000000..01111c9 --- /dev/null +++ b/web/map/sp/places.html @@ -0,0 +1,18 @@ +title("MIT Map: Browse $title") + ->header("Campus Map"); + +$page->content_begin(); +?> +

+ + +content_end(); +$page->nav_link('./', "Campus Map Home"); +?> + diff --git a/web/map/sp/search.html b/web/map/sp/search.html new file mode 100755 index 0000000..2916074 --- /dev/null +++ b/web/map/sp/search.html @@ -0,0 +1,11 @@ +title('MIT Campus Map: Search Results') + ->header('Campus Map'); + +$page->content_begin(); + +$content->output($results); + +$page->content_end(); +$page->nav_link('./', "Campus Map Home"); +?> diff --git a/web/map/styles/map-ip.css b/web/map/styles/map-ip.css new file mode 100755 index 0000000..98c2b7e --- /dev/null +++ b/web/map/styles/map-ip.css @@ -0,0 +1,482 @@ +h2 { + margin-bottom: 4px; +} + +#photo { +} + +#phototab { + text-align: center; +} + +#phototab img { + margin-bottom: 8px +} + +#mapimage { + margin: -7px -7px 5px -7px; + border: 1px solid #999; + background-color: #fff; +} + +#mapscrollers { + position: absolute; + z-index: 10; + width: 292px; + height: 192px; + top: -7px; + left: -7px; +} + +#mapscrollers div { + position: absolute; + width: 50px; + height: 50px; + text-align: center; + padding: 0; + z-index: 10; + background-image: url(../images/scrollers.png); + background-repeat: no-repeat; +} + +#nw { + top: 0; + left: 0; + background-position: -350px 0px; +} + +#n { + top: 0; + left: 50%; + margin-left: -25px; + background-position: 0px 0px; +} + +#ne { + top: 0; + right: 0; + background-position: -200px 0px; +} + +#e { + top: 50%; + margin-top: -25px; + right: 0; + background-position: -50px 0px; +} + +#se { + bottom: 0; + right: 0; + background-position: -250px 0px; +} + +#s { + bottom: 0; + left: 50%; + margin-left: -25px; + background-position: -100px 0px; +} + +#sw { + bottom: 0; + left: 0; + background-position: -300px 0px; +} + +#w { + top: 50%; + margin-top: -25px; + left: 0; + background-position: -150px 0px; +} + +#mapzoom { + position: relative; + height: 34px; + margin: -3px; +} + +#mapzoom a { + display: block; + position: absolute; + width: 40px; + height: 34px; + background-image: url(../images/buttons.png); + background-repeat: no-repeat; +} + +#zoomin { + top: 0; + left: 7%; + margin: 0 0 0 -19px; + background-position: 0 0; +} + +#zoomout { + top: 0; + left: 23%; + margin: 0 0 0 -16px; + background-position: -40px 0; +} + +#recenter { + top: 0; + left: 58%; + margin: 0 0 0 -19px; + background-position: -120px 0; +} + +#fullscreen { + top: 0; + bottom: auto; + right: 7%; + margin: 0 -19px 0 0; + background-position: -80px 0; +} + +#viewoptions { + background-position: -160px 0; +} + +#loadingimage { + position: absolute; + z-index: 100; + top: 50%; + left: 50%; + margin-left: -20px; + margin-top: -20px; + opacity: 0.75; +} + +#options { + display: none; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 200; +} + +#scrim { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + background-color: #162d4b; + opacity: 0.5; +} + +#mapform { + position: absolute; + top: 9px; + bottom: 9px; + left: 9px; + right: 9px; + padding: 15px; + margin: 0; + background-color: #162d4b; + color: #fff; + -webkit-border-radius: 12px; + opacity: 0.85 +} + +#options h2 { + color: #fff; + margin-bottom: 12px; +} + +#options h3 { + color: #fff; + margin-bottom: 12px; +} + +#options form p { + margin-bottom: 0.5em; +} + +#options th { + color: #b0b6b9; + padding: 0 7px 6px 0; + text-align: center; + font-size: 16px; + line-height: 1em; +} + +#options th:first-child { + text-align: left; +} + +#options th.lastcol { + padding-right: 0; +} + +#options td { + color: #fff; + padding: 5px 0; + text-align: center; + font-size: 16px; + line-height: 1em; +} + +#options td:first-child { + text-align: left; +} + +#options input, #options button { + font-size: 15px; +} + +#options .check { + width: 23px; + height: 23px; +} + +#heretab ul { + margin-left: 0; + padding-left: 0; +} + +#heretab ul li { + list-style-type: none; + background-image: url(../../../ip/images/bullet.png)!important; + background-repeat: no-repeat; + background-position: 0 2px; + padding-left: 19px; + margin: 0 0 0 -4px; +} + + + + + +/* Fullscreen in portrait (tall) orientation */ + +body.portrait { + width: 320px!important; + height: 416px!important; + margin: 0; + padding: 0; + overflow: hidden; +} + +body.portrait #container { + position: absolute; + overflow: hidden; + top: 0; + left: 0; + width: 320px!important; + height: 416px!important; + margin: 0; + padding: 0; +} + +body.portrait #mapscrollers { + width: 320px; + height: 374px; + top: 42px; + left: 0; +} + +body.portrait #mapzoom { + position: absolute; + top: 0; + left: 0; + width: 320px; + height: 42px; + padding: 0; + background-color: #69819e; + border-bottom: 1px solid #123; + opacity: 0.85; + margin: 0; +} + +body.portrait #mapzoom a { + background-image: url(../images/buttons-reverse.png); +} + +body.portrait #zoomin { + position: absolute; + top: 5px; + bottom: auto; + right: auto; + left: 10%; + margin-left: -19px; +} + +body.portrait #zoomout { + position: absolute; + top: 5px; + bottom: auto; + right: auto; + left: 30%; + margin-left: -19px; +} + +body.portrait #recenter { + position: absolute; + top: 5px; + bottom: auto; + right: auto; + left: 50%; + margin-left: -19px; +} + +body.portrait #viewoptions { + position: absolute; + top: 5px; + bottom: auto; + right: auto; + left: 70%; + margin-left: -19px; +} + +body.portrait #smallscreen { + position: absolute; + top: 5px; + bottom: auto; + right: 10%; + left: auto; + margin-right: -19px; + background-position: -80px 0; +} + +body.portrait #mapimage { + margin: 0; + width: 320px; + height: 416px; +} + +body.portrait #formbuttons { + position: absolute; + left: 12px; + bottom: 14px; +} + + + + +/* Fullscreen mode in wide (landscape) orientation */ + +body.landscape { + width: 480px!important; + height: 269px!important; + margin: 0; + padding: 0; + overflow: hidden; +} + +body.landscape #container { + position: absolute; + top: 0; + left: 0; + width: 480px!important; + height: 269px!important; + min-height: 0px!important; + margin: 0; + padding: 0; + overflow: hidden; +} + +body.landscape #mapscrollers { + width: 436px; + height: 269px; + top: 0; + left: 0; +} + +body.landscape #mapzoom { + position: absolute; + top: 0; + right: 0; + width: 42px; + height: 269px; + padding: 0; + margin: 0; + background-color: #69819e; + border-bottom: none; + opacity: 0.85; +} + +body.landscape #mapzoom a { + background-image: url(../images/buttons-reverse.png); +} + +body.landscape #zoomin { + top: 10%; + bottom: auto; + right: 1px; + left: auto; + margin: -16px 0 0 0; +} + +body.landscape #zoomout { + top: 30%; + bottom: auto; + right: 1px; + left: auto; + margin: -16px 0 0 0; +} + +body.landscape #recenter { + top: 50%; + bottom: auto; + right: 1px; + left: auto; + margin: -16px 0 0 0; +} + +body.landscape #viewoptions { + top: 70%; + bottom: auto; + right: 1px; + left: auto; + margin: -16px 0 0 0; +} + +body.landscape #smallscreen { + top: auto; + bottom: 10%; + right: 1px; + left: auto; + margin: 0 0 -16px 0; + background-position: -80px 0; +} + +body.landscape #mapimage { + margin: 0; + width: 480px; + height: 268px; +} + +body.landscape #formbuttons { + position: absolute; + top: 12px; + right: 12px; +} + +body.landscape #mapform { + margin: 0; +} + +body.landscape #options { + font-size: 15px; +} + +body.landscape #options th { + font-size: 15px; + padding: 0 7px 4px 0; +} + +body.landscape #options td { + font-size: 15px; + padding: 1px 0 0 0; +} + +body.landscape #options .check { + width: 20px; + height: 20px; +} + diff --git a/web/map/xml/campus-map/buildings.xml b/web/map/xml/campus-map/buildings.xml new file mode 100755 index 0000000..608bc93 --- /dev/null +++ b/web/map/xml/campus-map/buildings.xml @@ -0,0 +1,3763 @@ + + + + + + Broad Institute + NE30 + building + 7 Cambridge Center + 77 Massachusetts Avenue + + + Pierce Laboratory + 1 + building + 33 Massachusetts Avenue + 77 Massachusetts Avenue + south side + William Welles Bosworth + + 0 + 1 + 2 + 3 + R + + + 1-190 + room + + + 1-390 + room + + + + Maclaurin Buildings (10) + Barker Library + Engineering Library + 10 + building + 222 Memorial Drive + 77 Massachusetts Avenue + southeast corner + William Welles Bosworth + + 0 + 1 + 1M + 2 + 3 + 4 + 4M + 5 + 6 + 7 + 8 + 8M + + + Bush Room + 10-105 + room + + + 10-250 + room + + + Barker Library + Engineering Library + http://libraries.mit.edu/barker/index.html + library + + + + + Homberg Building + 11 + building + 77 Massachusetts Ave (Rear) + 77 Massachusetts Avenue + west side + William Welles Bosworth + + 0 + 1 + 1M + 2 + 3 + 4 + + + + Building 12 + 12 + building + Access Via 60 Vassar Street + 77 Massachusetts Avenue + south + Coolidge & Carlson + + 0 + 1 + 2 + 3 + + + + Waste Chemical Storage + 12A + building + Access Via 60 Vassar Street + 77 Massachusetts Avenue + Stone & Webster + + 0 + + + + Bush Building + 13 + building + 105 Massachusetts Avenue (Rear) + 77 Massachusetts Avenue + north side + Skidmore Owings & Merrill + + 0 + 1 + 2 + 3 + 4 + 5 + R + + + + Hayden Memorial Library + Lewis Music Library + Hayden Reserve Book Room + Science Library + Humanities Library + Killian Hall + Music Library + 14 + building + 160 Memorial Drive + 77 Massachusetts Avenue + south + Voorhes Walker Foley & Smith + + 0 + 1 + 1M + 2 + 2M + 3 + 4 + 5 + + + Killian Hall + room + + + Lewis Music Library + Music Library + http://libraries.mit.edu/music/index.html + library + + + Libraries Administrative Offices & Office of the Director + http://libraries.mit.edu/about/depts/dir.html + library + + + Institute Archives and Special Collections + http://libraries.mit.edu/archives/index.html + library + + + Digital Instruction Resource Center (DIRC) + http://libraries.mit.edu/ask-us/instruction/dirc.html + library + + + Document Services + http://libraries.mit.edu/docs/index.html + library + + + Humanities Library + http://libraries.mit.edu/humanities/index.html + library + + + Hayden Reserve Book Room + library + + + Hayden Memorial Library + http://libraries.mit.edu/hayden/index.html + library + + + Science Library + http://libraries.mit.edu/science/index.html + library + + + + + Dorrance Building + 16 + building + Access Via 21 Ames Street + 77 Massachusetts Avenue + south + Anderson Beckwith & Haible + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 9M + R + + + + Wright Brothers Wind Tunnel + 17 + building + 76 Vassar Street + 77 Massachusetts Avenue + south + Jackson & Moreland + + 0 + 1 + + + + Dreyfus Building + 18 + building + Access Via 21 Ames Street + 77 Massachusetts Avenue + southeast corner + I. M. Pei & Associates + + 0 + 00 + 1 + 2 + 3 + 4 + 5 + 6 + + + + Building 2 + 2 + building + 182 Memorial Drive + 77 Massachusetts Avenue + southwest corner + William Welles Bosworth + + 0 + 1 + 2 + 3 + 4 + 5 + R + + + + Building 24 + 24 + building + Access Via 60 Vassar Street + 77 Massachusetts Avenue + west + Anderson Beckwith & Haible + + 0 + 0M + 1 + 2 + 3 + 4 + 5 + 6 + 7 + + + + Compton Laboratories + 26 + building + Access Via 60 Vassar Street + 77 Massachusetts Avenue + east side + Skidmore Owings & Merrill + + 0 + 0M + 1 + 2 + 3 + 4 + 5 + 6 + 7 + + + 26-100 + room + + + + Maclaurin Buildings (3) + 3 + building + 33 Massachusetts Ave (Rear) + 77 Massachusetts Avenue + east side + William Welles Bosworth + + 0 + 1 + 1M + 2 + 3 + 3M + 4 + 4M + + + 3-133 + room + + + 3-270 + room + + + 3-370 + room + + + + Sloan Laboratories + 31 + building + 70 Vassar Street (Rear) + 77 Massachusetts Avenue + east + Coolidge & Carlson + + 0 + 00 + 0M + 1 + 1M + 2 + 3 + + + + Ray and Maria Stata Center + Stata Center + Stata Center Garage + Kirsch Auditorium + 32 + building + 32 Vassar Street + 77 Massachusetts Avenue + northeast + Frank O. Gehry And Associates + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + Kirsch Auditorium + 32-123 + room + + + Forbes family cafe + http://web.mit.edu/dining/locations/retailoptions.html#forbes + food + + + Faculty Lunch + http://web.mit.edu/dining/locations/retailoptions.html#faculty + food + + + R and D (Pub) + http://web.mit.edu/dining/locations/retailoptions.html#rd + food + + + + Guggenheim Laboratory + Aeronautics & Astronautics Library + 33 + building + 125 Massachusetts Avenu + 77 Massachusetts Avenue + west side + Coolidge & Carlson + + 0 + 1 + 2 + 3 + 4 + 5 + + + Aeronautics & Astronautics Library + http://libraries.mit.edu/aero/index.html + library + + + + EG&G Education Center + 34 + building + 50 Vassar Street + 77 Massachusetts Avenue + north + Skidmore Owings & Merrill + + 0 + 1 + 2 + 3 + 4 + 5 + + + 34-101 + room + + + + Sloan Laboratory + 35 + building + 127 Massachusetts Avenue + 77 Massachusetts Avenue + Perry Shaw Hepburn Kehoe & Dean + + 0 + 1 + 2 + 3 + 4 + 5 + 5M + + + 35-225 + room + + + + Fairchild Building (36) + 36 + building + 50 Vassar Street + 77 Massachusetts Avenue + northwest corner + Skidmore Owings & Merrill + + 0 + 0M + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + R + + + + McNair Building + 37 + building + 70 Vassar Street + 77 Massachusetts Avenue + northeast corner + Skidmore Owings & Merrill + + 0 + 0M + 1 + 2 + 3 + 4 + 5 + 6 + 7 + + + + Fairchild Building (38) + 38 + building + 50 Vassar Street + 77 Massachusetts Avenue + north side + Skidmore Owings & Merrill + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + R + + + + Brown Building + 39 + building + 60 Vassar Street + 77 Massachusetts Avenue + south side + Skidmore Owings & Merrill + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + + + + Maclaurin Buildings (4) + 4 + building + 182 Memorial Drive (Rear) + 77 Massachusetts Avenue + south side + William Welles Bosworth + + 0 + 1 + 1M + 2 + 3 + 4 + 4M + 5 + + + Cafe 4 + http://web.mit.edu/dining/locations/retailoptions.html + food + + + 4-270 + room + + + 4-370 + room + + + + Building 41 + 41 + building + 77 Vassar Street + 77 Massachusetts Avenue + southeast corner + William Welles Bosworth + + 0 + 0M + 1 + 2 + 3 + + + + Power Plant + 42 + building + 59 Vassar Street + 77 Massachusetts Avenue + east side + William Welles Bosworth + + 0 + 00 + 1 + 2 + 2M + R + + + + Power Plant Annex + 43 + building + 57 Vassar Street + 77 Massachusetts Avenue + southeast corner + William Welles Bosworth + + 0 + 1 + 2 + 2M + R + + + + Cyclotron + 44 + building + 51 Vassar Street + 77 Massachusetts Avenue + southeast corner + Mccreery &Theriault + + 0 + 1 + R + + + + Brain and Cognitive Sciences + 46 + building + 43 Vassar Street + 77 Massachusetts Avenue + north + Goody, Clancy &amp; Associates with Charles Correa Associates Architects + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + Hungry Mind Cafe + food + + + + Parsons Laboratory + 48 + building + 15 Vassar Street + 77 Massachusetts Avenue + east + Perry Shaw & Hepburn + + 0 + 00 + 1 + 2 + 3 + 4 + 5 + + + + + Pratt School + 5 + building + 55 Massachusetts Avenue + 77 Massachusetts Avenue + south side + William Welles Bosworth + + 0 + 1 + 1M + 2 + 3 + 4 + + + + + Walker Memorial + 50 + building + 142 Memorial Drive + 77 Massachusetts Avenue + south side + William Welles Bosworth + + 0 + 1 + 2 + 3 + 3M + 4 + R + + + Pritchett Grill + http://web.mit.edu/dining/locations/resdining.html#pritchett + food + + + Pritchett Convenience + http://web.mit.edu/dining/locations/resdining.html#pritchett + food + + + Muddy Charles Pub + http://web.mit.edu/muddy/ + food + + + + Wood Sailing Pavilion + Sailing Pavilion + 51 + building + 134 Memorial Drive + 77 Massachusetts Avenue + southwest + Coolidge & Carlson + + 0 + 1 + + + + Green Building + Lindgren Library + EAPS Library + 54 + building + Access Via 21 Ames Street + 77 Massachusetts Avenue + south side + I. M. Pei & Associates + + 0 + 00 + 1 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 1M + 2 + 20 + 21 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + 54-100 + room + + + Lindgren Library + EAPS Library + http://libraries.mit.edu/lindgren/index.html + library + + + + Whitaker Building + 56 + building + Access Via 21 Ames Street + 77 Massachusetts Avenue + northwest corner + Anderson Beckwith & Haible + + 0 + 00 + 00M + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + R + + + + MIT Alumni Pool + 57 + building + Access Via 6 Vassar Street + 77 Massachusetts Avenue + southwest corner + Anderson Beckwith & Haible + + 0 + 1 + 2 + 3 + + + + Eastman Laboratories + 6 + building + 182 Memorial Drive (Rear) + 77 Massachusetts Avenue + north side + Coolidge & Carlson + + 0 + 1 + 1M + 2 + 2M + 3 + 4 + + + 6-120 + room + + + + Alumni Houses: Munroe Hayden Wood + East Campus: West Parallel + East Campus: Munroe + East Campus: Hayden + East Campus: Wood + 62 + building + residence + http://ec.mit.edu/index.php + 3 Ames Street (Rear) + 3 Ames Street (Rear) + northwest corner + Coolidge & Carlson + + 0 + 1 + 2 + 3 + 4 + 5 + + + 1st West (Stickmen) + http://web.mit.edu/stickmen/www/ + + + 2nd West (Pi Tau Zeta) + http://web.mit.edu/2ndwest/www/ + + + 3rd West + http://web.mit.edu/thirdwest/www/ + + + 41st West + http://www.mit.edu/activities/41West/ + + + 5th West + http://fifth-west.mit.edu + + + + + Alumni Houses: Walcott Bemis Goodale + East Campus: East Parallel + East Campus: Walcott + East Campus: Bemis + East Campus: Goodale + 64 + building + residence + http://ec.mit.edu/index.php + 3 Ames Street + 3 Ames Street + north side + William Welles Bosworth + + 0 + 1 + 2 + 3 + 4 + 5 + + + 1st East + http://web.mit.edu/first-east/www/ + + + 2nd East + http://web.mit.edu/beast/www/ + + + 3rd East (Tetazoo) + http://web.mit.edu/tetazoo/www/ + + + 4th East (Slugfest) + http://web.mit.edu/slugfest/www/ + + + 5th East + http://web.mit.edu/florey/www/ + + + + + Landau Building + 66 + building + 25 Ames Street + 77 Massachusetts Avenue + east side + I. M. Pei & Partners + + 0 + 00 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + + + + Koch Biology Building + 68 + building + 31 Ames Street + 77 Massachusetts Avenue + northwest corner + Goody & Clancy Associates + + 0 + 00 + 0M + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 7M + R + + + Bio Cafe + http://web.mit.edu/dining/locations/retailoptions.html#biobagels + food + + + + + Solvent Storage + 6B + building + Access Via Basement Bldg 4 + 77 Massachusetts Avenue + C. L. Svenson + + 1 + + + + PDSI (Physics, DMSE, Spectroscopy, Infrastructure) + 6C + building + 182 Memorial Drive (Rear) + 77 Massachusetts Avenue + Payette Associates + + + Rogers Building + Rotch Library + Rotch Visual Collections + Architecture & Planning Library + 7 + building + 77 Massachusetts Avenue + 77 Massachusetts Avenue + west side + Bosworth & Carlson + + 0 + 1 + 2 + 2M + 3 + 3M + 4 + 5 + 6 + + + Rotch Library + Architecture & Planning Library + http://libraries.mit.edu/rotch/index.html + library + + + Rotch Visual Collections + http://libraries.mit.edu/rvc/index.html + library + + + Steam Cafe + http://steamcafe.mit.edu/ + food + + + Bosworth's Cafe + http://web.mit.edu/dining/locations/retailoptions.html + food + + + + Rotch Library Extension + 7A + building + Access Via Bldg 7 + 77 Massachusetts Avenue + + 1 + 2 + 3 + 4 + 5 + 6 + + + Rotch Library Extension + library + + + + Building 8 + 8 + building + Access Via 21 Ames Street + 77 Massachusetts Avenue + east + William Welles Bosworth + + 0 + 1 + 1M + 2 + 3 + 4 + R + + + + + Center For Advanced Educational Services + 9 + building + 105 Massachusetts Avenue + 77 Massachusetts Avenue + northwest corner + Skidmore Owings & Merrill + + 0 + 00 + 1 + 2 + 3 + 4 + 5 + 6 + + + 9-150 + room + + + + Gray House + President's House + E1 + building + 111 Memorial Drive + 111 Memorial Drive + south side + William Welles Bosworth + + 0 + 1 + 2 + 3 + 3M + R + + + + Wiesner Building + Media Lab + List Visual Arts Center + Bartos Theater + E15 + building + museum_gallery + 20 Ames Street + 77 Massachusetts Avenue + northwest corner + I. M. Pei & Associates + + 0 + 1 + 1M + 2 + 3 + 4 + 5 + + + Bartos Theater + + + + Mudd Building + E17 + building + 40 Ames Street + 77 Massachusetts Avenue + southwest corner + + 0 + 1 + 2 + 3 + 4 + 5 + 5M + 6 + 7 + 7M + + + + Ford Building (E18) + E18 + building + 50 Ames Street + 77 Massachusetts Avenue + southwest corner + Mark Linethal + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + + + + Ford Building (E19) + E19 + building + 400 Main Street + 77 Massachusetts Avenue + southwest corner + Mark Linethal + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + Senior House + E2 + building + residence + http://web.mit.edu/senior-house/www/ + 4 Ames Street + 70 Amherst Street + west side + William Welles Bosworth + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + + + + Health Services + MIT Medical + E23 + building + 25 Carleton Street + 77 Massachusetts Avenue + west side + Mitchell Giurgola Gruzen Partners + + 0 + 1 + 2 + 3 + 4 + 5 + + + + Whitaker College + E25 + building + 45 Carleton Street + 77 Massachusetts Avenue + west side + Mitchell Giurgola Gruzen Partners + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + + + + Building E28 + E28 + building + 336 Main Street + 77 Massachusetts Avenue + north side + + 1 + + + + Rinaldi Tile + E33 + building + 34 Carleton Street + 77 Massachusetts Avenue + west side + + 1 + 2 + + + + Building E34 + E34 + building + 42-44 Carleton Street + 77 Massachusetts Avenue + southwest corner + V.J. Galleni + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + + + + Suffolk Building + MIT Press Bookstore + E38 + building + 292 Main Street + 77 Massachusetts Avenue + north + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + MIT Press + E39 + building + 264 Main Street + 77 Massachusetts Avenue + northeast corner + + 1 + 2 + 3 + + + + Muckley Building + E40 + building + 1 Amherst Street + 77 Massachusetts Avenue + southwest corner + Densmore Leclear & Robbins + + 0 + 1 + 2 + 3 + 4 + 5 + + + + Building E48 + E48 + building + 238 Main Street + 77 Massachusetts Avenue + west + + 2 + 3 + 4 + + + + Tang Center + Wong Auditorium + E51 + building + 70 Memorial Drive + 77 Massachusetts Avenue + north side + Perry Shaw & Hepburn | Ellenzweig + + 0 + 1 + 2 + 3 + 4 + + + Wong Auditorium + room + + + + Sloan Building + Faculty Club + E52 + building + 50 Memorial Drive + 77 Massachusetts Avenue + south side + Donald Des Granges + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 7M + + + Refresher Course + http://web.mit.edu/dining/locations/retailoptions.html#refresher + food + + + Faculty Club + http://web.mit.edu/dining/catering/mitfacultyclub/ + food + + + + Hermann Building + Dewey Library + Management & Social Sciences Library + E53 + building + 30 Wadsworth Street + 77 Massachusetts Avenue + northwest corner + Catalano Brannen & Shimamoto + + 0 + 0M + 1 + 2 + 3 + 4 + + + Dewey Library + Management & Social Sciences Library + http://info-libraries.mit.edu/dewey/ + library + + + + Eastgate + E55 + building + residence + 60 Wadsworth Street + Eastgate + southeast corner + Catalano Cooper Brannen & Shimamoto + + 0 + 1 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 2 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 3 + 30 + 4 + 5 + 6 + 7 + 8 + 9 + + + + Arthur D Little Building + E60 + building + 30 Memorial Drive + 30 Memorial Drive + south side + + 0 + 1 + 2 + 3 + + + + Badger Building + E70 + building + 1 Broadway, (8th FL) + 77 Massachusetts Avenue + west side + + 8 + + + + High Voltage Research Lab + N10 + building + 155 Massachusetts Avenue + 77 Massachusetts Avenue + southwest corner + Carleton Richmond Jr. + + 0 + 1 + 2 + 2M + + + + Cooling Tower & Oil Reserve + N16 + building + 60 Albany Street + 77 Massachusetts Avenue + east side + Skidmore Owings & Merrill + + 0 + 1 + 2 + 2M + 3 + + + + Building N16A + N16A + building + 60 Albany Street + north + Syska & Hennessy, Inc. + + 0 + 1 + 2 + R + + + + Albany Garage + N4 + building + 32 Albany Street + Perry Dean Hepburn & Stewart + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + + Information Services & Technology + N42 + building + 211 Massachusetts Avenue + 77 Massachusetts Avenue + north + E.H. McClarr + + 0 + 1 + 2 + + + + Building N51 + N51 + building + 275 Massachusetts Avenue, enter through <a href="http://whereis.mit.edu/map-jpg?selection=N52">Bldg. N52</a> + 77 Massachusetts Avenue + west side + Donald Desgranges + + 0 + 1 + 2 + 3 + 3M + R + + + + MIT Museum + N52 + building + museum_gallery + 265 Massachusetts Avenue + 77 Massachusetts Avenue + southeast + + 0 + 1 + 2 + 3 + 4 + 5 + + + + Building N57 + Library Storage Annex (LSA) + N57 + building + 1 State Street + 77 Massachusetts Avenue + south side + + 0 + 1 + 2 + 3 + 4 + 5 + + + Library Storage Annex (LSA) + http://libraries.mit.edu/lsa/index.html + library + + + + Superconducting Test Facility + N9 + building + 68 Albany Street + 77 Massachusetts Avenue + northwest corner + MIT Physical Plant + + 1 + 1M + + + + 1 Cambridge Center + NE18 + building + 1 Cambridge Center + 77 Massachusetts Avenue + east + + 5 + + + + 3 Cambridge Center + The Coop + NE20 + building + 3 Cambridge Center + 77 Massachusetts Avenue + south + + 2 + 3 + 4 + + + + 5 Cambridge Center + NE25 + building + 5 Cambridge Center + 77 Massachusetts Avenue + southwest corner + + 2 + 4 + + + + + + 500 Technology Square + NE47 + building + 500 Technology Square + 77 Massachusetts Avenue + southwest corner + + 0 + 1 + 2 + 3 + 4 + 5 + + + + + 700 Technology Square + NE48 + building + 700 Technology Square + 77 Massachusetts Avenue + southwest + + 3 + + + + + 600 Technology Square + NE49 + building + 600 Technology Square + 77 Massachusetts Avenue + southwest corner + + 2 + 3 + 4 + + + + Hill Building + NE80 + building + 1 Hampshire Street + 77 Massachusetts Avenue + northwest corner + + 6 + + + + Building NE125 + NE125 + building + 320 Charles Street + 77 Massachusetts Ave + northwest corner + + 1 + 2 + 3 + + + + Edgerton House + NW10 + building + residence + http://eh.mit.edu/ + 143 Albany Street + 143 Albany Street + south + + 0 + 1 + 2 + 3 + 4 + + + + Building NW12 + NW12 + building + 138 Albany Street + 77 Massachusetts Avenue + north side + J. Fruchtbaum + + 0 + 1 + 1M + 2 + 3 + 4 + + + + Building NW13 + NW13 + building + 144 Albany Street + 77 Massachusetts Avenue + north side + + 0 + 1 + 2 + 3 + + + + Francis Bitter Magnet Lab (NW14) + NW14 + building + 150 Albany Street + 77 Massachusetts Avenue + north side + C.B. Comstock + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + + + + Francis Bitter Magnet Lab (NW15) + NW15 + building + 166-170 Albany Street + 77 Massachusetts Avenue + northwest corner + Perry Shaw Hepburn & Dean + + 0 + 1 + + + + Plasma Science & Fusion Center (NW16) + NW16 + building + 167 Albany Street + 77 Massachusetts Avenue + east side + + 0 + 1 + 2 + 3 + + + + Plasma Science & Fusion Center (NW17) + NW17 + building + 175 Albany Street + 77 Massachusetts Avenue + south + Architectural Resources + + 0 + 1 + 2 + + + + Albany St Generator Shelter + NW20 + building + 180 Albany Street + 77 Massachusetts Avenue + north side + + 1 + 1M + + + + Plasma Science & Fusion Center (NW21) + NW21 + building + 190 Albany Street + 77 Massachusetts Avenue + northwest corner + + 0 + 1 + 1M + 2 + 2M + + + + Plasma Science & Fusion Center (NW22) + NW22 + building + 185 Albany Street + 77 Massachusetts Avenue + southeast corner + + 0 + 1 + 2 + + + + 224 Albany Street + Warehouse Apartments + NW30 + building + residence + http://web.mit.edu/warehouse-www/ + 224 Albany Street + 77 Massachusetts Avenue + north + + 0 + 1 + 2 + 3 + 4 + 5 + R + + + + Random Hall + NW61 + building + residence + http://web.mit.edu/random-hall/www/ + 282-290 Massachusetts Avenue + 282-290 Massachusetts Avenue + northeast + + 0 + 1 + 2 + 3 + 4 + + + + Volvo Garage + NW62 + building + 310-314 Massachusetts Avenue + 77 Massachusetts Avenue + northeast corner + + 1 + 2 + 2M + + + + 70 Pacific Street Dormitory + Sidney-Pacific Dorm + NW86 + building + residence + http://s-p.mit.edu + 70 Pacific Street + 77 Massachusetts Avenue + northeast + Steffian Bradley Associates + + 1 + 10 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + Pacific St. Cafe + food + + + + + Building NW95 + NW95 + building + 7 Emily Street + 77 Massachusetts Avenue + south side + + 1 + + + + Ashdown + NW35 + building + residence + http://www-ashdown.mit.edu + 235 Albany Street + 235 Albany Street + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + + + Thirsty Ear Pub + http://web.mit.edu/thirsty-ear/ + food + + + + Building W11 + Religious Activities Center + W11 + building + 40 Massachusetts Avenue + 77 Massachusetts Avenue + southwest corner + Perry Shaw Hepburn + + 0 + 1 + R + + + Kosher Shabbat Dinner + http://web.mit.edu/hillel/www/hillel-kosher-kitchen.html + food + + + + Bexley Hall + W13 + building + residence + 46-52 Massachusetts Ave + 46-52 Massachusetts Ave + southeast + + 0 + 1 + 2 + 3 + 4 + + + + Chapel + W15 + building + 48 Massachusetts Ave (Rear) + 77 Massachusetts Avenue + west side + Eero Saarinen + + 0 + 1 + 1M + + + + Kresge Auditorium + W16 + building + 48 Massachusetts Ave (Rear) + 77 Massachusetts Avenue + east side + Eero Saarinen + + 0 + 1 + 2 + 2M + + + Little Kresge + room + + + + Building W2 + W2 + building + residence + 311 Memorial Drive + 311 Memorial Drive + southeast corner + + 0 + 1 + 2 + 3 + + + + Stratton Student Center + W20 + building + 84 Massachusetts Avenue + 77 Massachusetts Avenue + south side + Catalano Brannen Shimamoto + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 6M + + + La Sala de Puerto Rico + room + + + Cambridge Grill + http://web.mit.edu/dining/locations/retailoptions.html#alpine + food + + + La Verde's Market + http://web.mit.edu/dining/locations/retailoptions.html#laverdes + food + + + Anna's Taqueria + http://web.mit.edu/dining/locations/retailoptions.html#annas + food + + + Cafe Spice (Lobdell Food Court) + http://web.mit.edu/dining/locations/retailoptions.html#lobdell + food + + + Sepal (Lobdell Food Court) + http://web.mit.edu/dining/locations/retailoptions.html#lobdell + food + + + Shinkansen Japan (Lobdell Food Court) + http://web.mit.edu/dining/locations/retailoptions.html#lobdell + food + + + Subway Restaurant (Lobdell Food Court) + http://web.mit.edu/dining/locations/retailoptions.html#lobdell + food + + + Dunkin Donuts + http://web.mit.edu/dining/locations/retailoptions.html#dunkin + food + + + Technicuts + + + New Tech Barber + + + + Du Pont Athletic Gymnasium + DuPont Athletic Gymnasium + W31 + building + 120 Massachusetts Avenue + 77 Massachusetts Avenue + north side + Hartwell Richardson & Driver + + 0 + 1 + 2 + 3 + + + + Du Pont Athletic Center + DuPont Athletic Center + W32 + building + 100 Massachusetts Avenue + 77 Massachusetts Avenue + south + Anderson Beckwith & Haible + + 0 + 1 + 2 + 2M + + + + Rockwell Cage + W33 + building + 106 Vassar Street + 77 Massachusetts Avenue + west side + Anderson & Beckwith + + 0 + + + + Johnson Athletics Center + W34 + building + 120 Vassar Street + 77 Massachusetts Avenue + southwest corner + Davis Brody + + 1 + 1M + 2 + R + + + + Zesiger Sports & Fitness Center + W35 + building + 120 Vassar Street + 77 Massachusetts Avenue + south + Sasaki Associates + + 0 + 1 + 2 + 3 + 4 + 5 + + + Au Bon Pain + food + + + + McCormick Hall + W4 + building + residence + http://web.mit.edu/mccormick/www/ + 320 Memorial Drive + 320 Memorial Drive + north + Anderson Beckwith & Haible + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + McCormick Dining + http://web.mit.edu/dining/locations/housedining.html#mccormick + food + + + + West Garage + W45 + building + 125 Vassar Street + Parking Dev Corp + + 0 + 1 + 2 + 3 + 4 + + + + Green Hall + W5 + building + residence + http://web.mit.edu/greenhall/www/ + 350 Memorial Drive + 350 Memorial Drive + north + C. H. Bartlett + + 0 + 1 + 2 + 3 + 4 + + + + Burton-Conner House + W51 + building + residence + http://web.mit.edu/burton-conner/www/ + 410 Memorial Drive + 410 Memorial Drive + northeast corner + C. Albright + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + + + Burton 1 + http://web.mit.edu/burton1/www/ + + + Burton 2 + http://web.mit.edu/burton2/www/ + + + Burton Third Bombers + http://web.mit.edu/bombers/www/ + + + Burton 4 + http://web.mit.edu/burton4/www/ + + + Burton 5 + http://web.mit.edu/burton5/www/ + + + Conner 2 + http://web.mit.edu/conner2/www/ + + + Conner 3 + http://web.mit.edu/conner3/www/ + + + Conner 4 + http://web.mit.edu/conner4/www/ + + + Conner 5 + http://web.mit.edu/conner5/www/ + + + + Carr Indoor Tennis Facility + Tennis Bubble + JB Carr Tennis Bubble + W53 + building + 410 Memorial Drive (Rear) + 77 Massachusetts Avenue + northeast corner + MIT Planning Office + + 1 + + + + Carr Indoor Tennis Facility (Office) + W53A + building + 410 Memorial Drive (Rear) + 77 Massachusetts Avenue + William B. Merry & Assoc. Inc. + + 1 + + + + Heinz Building + W59 + building + 201 Vassar Street + 77 Massachusetts Avenue + south + + 0 + 1 + 2 + + + + MacGregor House + W61 + building + residence + http://web.mit.edu/macgregor/www/ + 450 Memorial Drive + 450 Memorial Drive + west side + The Architects Collaborative Inc. + + 0 + 00 + 000 + 1 + 16 + 17 + 18 + 2 + 3 + 4 + R + + + MacGregor Convenience + http://web.mit.edu/dining/locations/retailoptions.html#macgregor + food + + + + + Baker House + W7 + building + residence + http://web.mit.edu/baker/www/ + 362 Memorial Drive + 362 Memorial Drive + north side + Alvar Aalto + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + + + Baker Dining + http://web.mit.edu/dining/locations/resdining.html#baker + food + + + + New House + French House + La Maison Fran&ccedil;aise + iHouse + German House + Deutsches Haus + Spanish House + La Casa + Chocolate City + W70 + building + residence + http://web.mit.edu/nh/www/ + 471-476 Memorial Drive + 471-476 Memorial Drive + north side + Sert Jackson & Associates + + 1 + 2 + 3 + 4 + 5 + 6 + + + New House 4 + http://web.mit.edu/nh4/www/ + + + New House 5 + http://web.mit.edu/desmond/www/ + + + La Maison Fran&ccedil;aise + French House + http://web.mit.edu/lmf/www/ + + + iHouse + http://web.mit.edu/ihouse/ + + + Deutsches Haus + German House + http://web.mit.edu/dh/www/ + + + La Casa + Spanish House + http://web.mit.edu/la_casa/www/ + + + Chocolate City + http://web.mit.edu/chocolate-city/www/ + + + + + Next House + W71 + building + residence + http://web.mit.edu/next/www/ + 500 Memorial Drive + 500 Memorial Drive + northeast corner + Sert Jackson & Associates + + 0 + 1 + 2 + 3 + 4 + 5 + + + Next House Dining + http://web.mit.edu/dining/locations/resdining.html#next + food + + + + Simmons Hall + W79 + building + residence + http://web.mit.edu/simmons-hall/www/ + 229 Vassar Street + 229 Vassar Street + southwest + Steven Holl/Perry Dean Rogers + + 0 + 1 + 10 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + Simmons Dining + http://web.mit.edu/dining/locations/resdining.html#simmons + food + + + Simmons Late Night Cafe + http://web.mit.edu/dining/locations/resdining.html#simmons + food + + + + Pierce Boathouse + W8 + building + 409 Memorial Drive + 77 Massachusetts Avenue + northwest corner + Anderson Beckwith & Haible + + 0 + 1 + R + + + + Tang Hall + W84 + building + residence + http://web.mit.edu/thra/www/ + 550 Memorial Drive + 550 Memorial Drive + northeast corner + Hugh Stubbins Associates + + 0 + 00 + 1 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 2 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + Westgate + W85 + building + residence + 540 Memorial Drive (Rear) + 540 Memorial Drive + southwest corner + Hugh Stubbins Associates + + 0 + 00 + 0M + 1 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + + + Westgate (ABC) + W85ABC + building + residence + 11-13-15 Audrey Street + 11-13-15 Audrey Street + southwest + Hugh Stubbins Associates + + 1 + 2 + 3 + R + + + + + Westgate (DE) + W85DE + building + residence + 292-290 Vassar Street + 292-290 Vassar Street + northwest corner + Hugh Stubbins Associates + + 1 + 2 + 3 + R + + + + + Westgate (FG) + W85FG + building + residence + 286-284 Vassar Street + 286-284 Vassar Street + north + Hugh Stubbins Associates + + 1 + 2 + 3 + R + + + + + Westgate (HJK) + W85HJK + building + residence + 282-280-278 Vassar Street + 282-280-278 Vassar Street + northeast + Hugh Stubbins Associates + + 1 + 2 + 3 + R + + + + + Campus Police + W89 + building + 301 Vassar Street + 77 Massachusetts Avenue + south + + 1 + 2 + 3 + + + + Information Services & Technology Operations + W91 + building + 565-570 Memorial Drive + 77 Massachusetts Avenue + southeast corner + Jackson & Moreland + + 0 + 1 + 1M + 2 + + + + Building W92 + W92 + building + 304 Vassar Street + 77 Massachusetts Avenue + southwest corner + + 0 + 1 + 2 + + + + Building WW15 + WW15 + building + 350 Brookline Street + 77 Massachusetts Avenue + southwest corner + + 0 + 1 + + + + + + +Alpha Chi Omega (ACO) +Alpha Chi Omega +building +residence +http://web.mit.edu/axo/www/ +478 Commonwealth Avenue +Alpha Chi Omega +478 Commonwealth Avenue +Boston, MA 02215 +north + + + +Alpha Delta Phi (ADP) +Alpha Delta Phi +building +residence +http://adp.mit.edu/ +351 Massachusetts Avenue +Alpha Delta Phi +351 Massachusetts Avenue +west + + + +Alpha Epsilon Phi (AEPhi) +Alpha Epsilon Phi +building +residence +http://web.mit.edu/activities/aepi/ +165 Bay State Road +Alpha Epsilon Phi +165 Bay State Road +Boston, MA 02215 +south + + + +Alpha Epsilon Pi (AEPi) +Alpha Epsilon Pi +building +residence +http://web.mit.edu/activities/aepi/ +155 Bay State Road +Alpha Epsilon Pi +155 Bay State Road +Boston, MA 02215 +south + + + +Alpha Phi (AP) +Alpha Phi +building +residence +http://web.mit.edu/activities/alpha-phi/ +477-479 Commonwealth Avenue +Alpha Phi +477-479 Commonwealth Avenue +Boston, MA 02215 +south + + + +Alpha Tau Omega (ATO) +Alpha Tau Omega +building +residence +http://web.mit.edu/ato/www/ +405 Memorial Drive +Alpha Tau Omega +405 Memorial Drive +south + + + +Beta Theta Pi (BTP) +Beta Theta Pi +building +residence +http://beta.mit.edu/ +119 Bay State Road +Beta Theta Pi +119 Bay State Road +Boston, MA 02215 +south + + + +Beta Theta Pi Annex (BTP) +Beta Theta Pi Annex +building +residence +http://beta.mit.edu/ +120 Bay State Road +Beta Theta Pi Annex +120 Bay State Road +Boston, MA 02215 +south + + + +Chi Phi (CP) +Chi Phi +building +residence +http://chiphi.mit.edu/ +32 Hereford Street +Chi Phi +32 Hereford Street +Boston, MA 02115 +north + + + +Delta Kappa Epsilon (DKE) +Delta Kappa Epsilon +building +residence +http://web.mit.edu/activities/dke/home.html +403 Memorial Drive +Delta Kappa Epsilon +403 Memorial Drive +west + + + +Delta Psi (DP), Number Six +Delta Psi +building +residence +http://web.mit.edu/no6/www/indexold.htm +428 Memorial Drive +Delta Psi +428 Memorial Drive +west + + + +Delta Tau Delta (DTD) +Delta Tau Delta +building +residence +http://web.mit.edu/activities/dtd/ +416 Beacon Street +Delta Tau Delta +416 Beacon Street +Boston, MA 02115 +west + + + +Delta Upsilon (DU) +Delta Upsilon +building +residence +http://web.mit.edu/du/www/ +526 Beacon Street +Delta Upsilon +526 Beacon Street +Boston, MA 02215 +south + + + +Epsilon Theta (ET) +Epsilon Theta +building +residence +http://www.mit.edu/~thetans/ +259 St Paul Street +Epsilon Theta +259 St Paul Street +Brookline, MA 02446 +south + + + +Fenway House (FH) +Fenway House +building +residence +http://web.mit.edu/fenway/www/ +34 The Fenway +Fenway House +34 The Fenway +Boston, MA 02215 +west + + + +Kappa Sigma (KS) +Kappa Sigma +building +residence +http://kappasigma.mit.edu/ +407 Memorial Drive +Kappa Sigma +407 Memorial Drive +south + + + +Lambda Chi Alpha (LCA) +Lambda Chi Alpha +building +residence +http://lambda-chi.mit.edu/ +99 Bay State Road +Lambda Chi Alpha +99 Bay State Road +Boston, MA 02215 +south + + + +Nu Delta (ND) +Nu Delta +building +residence +http://web.mit.edu/ndelta/www/ +460 Beacon Street +Nu Delta +460 Beacon Street +Boston, MA 02115 +south + + + +Phi Beta Epsilon (PBE) +Phi Beta Epsilon +building +residence +http://pbe.mit.edu/ +400 Memorial Drive +Phi Beta Epsilon +400 Memorial Drive +west + + + +Phi Delta Theta (PDT) +Phi Delta Theta +building +residence +http://phi-delts.mit.edu/ +97 Bay State Road +Phi Delta Theta +97 Bay State Road +Boston, MA 02215 +south + + + +Phi Kappa Sigma (PKS) +Phi Kappa Sigma +building +residence +http://web.mit.edu/PhiKaps/www/ +530 Beacon Street +Phi Kappa Sigma +530 Beacon Street +Boston, MA 02215 +south + + + +Phi Kappa Theta (PKT) +Phi Kappa Theta +building +residence +http://web.mit.edu/activities/pkt/index.html +229 Commonwealth Avenue +Phi Kappa Theta +229 Commonwealth Avenue +Boston, MA 02116 +south + + + +Phi Sigma Kappa Annex (PSK) +Phi Sigma Kappa Annex +building +residence +http://phisig.mit.edu/ +485 Commonwealth Avenue +Phi Sigma Kappa Annex +485 Commonwealth Avenue +Boston, MA 02215 + + + + +Phi Sigma Kappa (PSK) +Phi Sigma Kappa +building +residence +http://phisig.mit.edu/ +487 Commonwealth Avenue +Phi Sigma Kappa +487 Commonwealth Avenue +Boston, MA 02215 +north + + + +Pi Lambda Phi (PLP) +Pi Lambda Phi +building +residence +http://pilam.mit.edu/ +450 Beacon Street +Pi Lambda Phi +450 Beacon Street +Boston, MA 02115 +south + + + +pika +PIKA +building +residence +http://pika.mit.edu/ +69 Chestnut Street +PIKA +69 Chestnut Street +south + + + +Sigma Chi (SC) +Sigma Chi +building +residence +http://sigmachi.mit.edu/ +532 Beacon Street +Sigma Chi +532 Beacon Street +Boston, MA 02215 +south + + + +Sigma Kappa (SK) +Sigma Kappa +building +residence +http://web.mit.edu/activities/sigmas/ +480 Commonwealth Avenue +Sigma Kappa +480 Commonwealth Avenue +Boston, MA 02215 +north + + + +Sigma Nu (SN) +Sigma Nu +building +residence +http://sigmanu.mit.edu/ +28 The Fenway +Sigma Nu +28 The Fenway +Boston, MA 02215 +west + + + +Sigma Phi Epsilon Annex (SPE) +Sigma Phi Epsilon Annex +building +residence +http://sigep.mit.edu/ +515 Beacon Street +Sigma Phi Epsilon Annex +515 Beacon Street +Boston, MA 02215 +south + + + +Sigma Phi Epsilon (SPE) +Sigma Phi Epsilon +building +residence +http://sigep.mit.edu/ +518 Beacon Street +Sigma Phi Epsilon +518 Beacon Street +Boston, MA 02215 +north + + + +Student House (SH) +Student House +building +residence +http://web.mit.edu/studs/www/ +111 Bay State Road +Student House +111 Bay State Road +Boston, MA 02215 +south + + + +Tau Epsilon Phi (TEP) +Tau Epsilon Phi +building +residence +253 Commonwealth Avenue +Tau Epsilon Phi +253 Commonwealth Avenue +Boston, MA 02116 +south + + + +Theta Chi (TC) +Theta Chi +building +residence +http://ox.mit.edu/ +528 Beacon Street +Theta Chi +528 Beacon Street +Boston, MA 02215 +south + + + +Theta Delta Chi (TDC) +Theta Delta Chi +building +residence +http://tdc.mit.edu/ +372 Memorial Drive +Theta Delta Chi +372 Memorial Drive +south + + + +Theta Xi (TXi) +Theta Xi +building +residence +http://theta-xi.mit.edu/ +64-66 Bay State Road +Theta Xi +64-66 Bay State Road +Boston, MA 02215 +north + + + +WILG +WILG +Women's Independent Living Group +building +residence +http://web.mit.edu/wilg/www/ +355 Massachusetts Avenue +WILG +355 Massachusetts Avenue +north + + + +Zeta Beta Tau (ZBT) +Zeta Beta Tau +building +residence +http://web.mit.edu/zbt/www/ +58 Manchester Road +Zeta Beta Tau +58 Manchester Road +Brookline, MA 02446 +south + + + +Zeta Psi (ZP) +Zeta Psi +building +residence +http://zetapsi.mit.edu/ +233 Massachusetts Avenue +Zeta Psi +233 Massachusetts Avenue +south + + + + + + diff --git a/web/map/xml/campus-map/greens.xml b/web/map/xml/campus-map/greens.xml new file mode 100755 index 0000000..273ff30 --- /dev/null +++ b/web/map/xml/campus-map/greens.xml @@ -0,0 +1,68 @@ + + + + + Saxon Tennis Courts + green + + + Henry Steinbrenner Stadium & Track + green + + + Barry Astroturf Field + green + + + du Pont Tennis Courts + green + + + du Pont Squash Court + green + + + Indoor Tennis Facility + green + + + Brigg's Field + green + + + Tennis Courts + green + + + McDermott Court + green + + + Eastman Court + green + + + Compton Court + green + + + Lowell Court + green + + + Killian Court + green + + + du Pont Court + green + + + Kresge Oval + green + + + Kresge BBQ Pits + green + + diff --git a/web/map/xml/campus-map/landmarks.xml b/web/map/xml/campus-map/landmarks.xml new file mode 100755 index 0000000..330a3c0 --- /dev/null +++ b/web/map/xml/campus-map/landmarks.xml @@ -0,0 +1,72 @@ + + + + + B.U. Bridge + landmark + + + Marriott/Residence Inn + landmark + http://residenceinn.com/BOSCM/ + 6 Cambridge Center + + + Hyatt Regency Hotel + landmark + http://www.hyatt.com/pages/b/bosrca.html + 575 Memorial Drive + + + The Kendall Hotel + landmark + 350 Main Street + + + Whitehead Institute + landmark + http://www.wi.mit.edu/ + 9 Cambridge Center + + + Draper Laboratory + landmark + http://www.draper.com/ + 555 Technology Square + + + Harvard Bridge + landmark + + + Longfellow Bridge + landmark + + + Marriott Hotel + landmark + http://marriotthotels.com/BOSCB/ + 2 Cambridge Center + + + Kendall Square T + landmark + http://www.mbta.com/traveling_t/schedules_subway_stationinfo.asp?staname=Kendall + + + Hotel @ MIT + landmark + http://www.hotelatmit.com/ + 20 Sidney Street + + + 77 Massachusetts Ave. + landmark + 77 Massachusetts Avenue + + + 84 Massachusetts Ave. + landmark + 84 Massachusetts Avenue + + diff --git a/web/map/xml/campus-map/parking.xml b/web/map/xml/campus-map/parking.xml new file mode 100755 index 0000000..e743240 --- /dev/null +++ b/web/map/xml/campus-map/parking.xml @@ -0,0 +1,446 @@ + + + + + Marriott Parking Garage + parking + + pay public parking (non-MIT) + + + + Northeast Lot + parking + + closed for construction into late winter + + + spaces are available in the Stata Garage + + + + Albany St. Garage + parking + + gated parking + + + handicapped parking + + + Zone 4: North Zone + + + + N10 Annex Lot + parking + + gated parking + + + handicapped parking + + + Zone 4: North Zone + + + + N10 Lot + parking + + handicapped parking + + + visitor parking + + + Zone 4: North Zone + + + + 139 Massachusetts Avenue Visitor Lot + parking + + pay public parking (non-MIT) + + + + Main Lot + parking + + gated parking + + + handicapped parking + + + Zone 8: Main Lot + + + + Windsor St. Lot + parking + + student parking + + + motorcycle parking + + + visitor parking + + + Zone 4: North Zone + + + + Hermann Garage + parking + + Zone 6: Sloan and E51 Zone + + + + + Landsdowne St. Garage + parking + + pay public parking (non-MIT) + + + + Plasma Fusion Center Lot + parking + + handicapped parking + + + Zone 2: Northwest Zone + + + + 158 Mass. Ave. Lot + parking + + gated parking + + + handicapped parking + + + Zone 4: North Zone + + + + + West Garage + parking + + gated parking + + + hands-free parking + + + motorcycle parking + + + Zone 3: West Zone + + + + West Annex Lot + parking + + gated parking + + + handicapped parking + + + Zone 3: West Zone + + + + Pacific St. Annex Lot + parking + + gated parking + + + student parking + + + handicapped parking + + + Zone 2: Northwest Zone + + + + Kresge Lot + parking + + attended parking + + + gated parking (evenings) + + + handicapped parking + + + visitor parking + + + Zone 11: Kresge + + + + Hayward Lot Annex + parking + + gated parking + + + family parking + + + Zone 10: Hayward Lot Annex + + + + Westgate Lot + parking + + gated parking + + + student parking + + + handicapped parking + + + Zone 1: Westgate Zone + + + + West Lot + parking + + gated parking + + + student parking + + + Zone 13: West Lot + + + + Westgate Lowrise Lots + parking + + family parking + + + student parking + + + Zone 1: Westgate Zone + + + + W92 Garage + parking + + gated parking + + + Zone 4: North Zone + + + + W91 Lots + parking + + handicapped parking + + + visitor parking + + + Zone 4: North Zone + + + + WW15 Lot + parking + + handicapped parking + + + Zone 4: North Zone + + + + Tech Square Garage + parking + + + University Park Public Parking + parking + + pay public parking (non-MIT) + + + + Stata Parking Garage + parking + + gated parking + + + hands-free parking + + + handicapped parking + + + Zone 5: Northeast Zone + + + + Eastgate Resident Lot + parking + + + Amherst St. (E51) Lot + parking + + student parking + + + Zone 16: Amherst Street (E51) Lot + + + + 65 Waverly St. Lot + parking + + + 7 Cambridge Center Garage + parking + + + Hayward St. Lot + parking + + attended parking + + + handicapped parking + + + motorcycle parking + + + Zone 14: Hayward Lot + + + + Kendall Square Lot + parking + + gated parking + + + handicapped parking + + + Zone 12: Kendall Square Lot + + + + Ford Lot + parking + + handicapped parking + + + Zone 9: Ford Lot + + + + + East Lot + East Lot + parking + + Yona's Pizza (food truck) + http://web.mit.edu/dining/locations/foodtrucks.html + food + + + Jerusalem Cafe (food truck) + http://web.mit.edu/dining/locations/foodtrucks.html + food + + + Goosebeary's (food truck) + http://web.mit.edu/dining/locations/foodtrucks.html + food + + + Jose's Mexican Food (food truck) + http://web.mit.edu/dining/locations/foodtrucks.html + food + + + attended parking + + + medical parking + + + motorcycle parking + + + handicapped parking + + + visitor parking + + + Zone 5: Northeast Zone + + + diff --git a/web/map/xml/campus-map/providers.xml b/web/map/xml/campus-map/providers.xml new file mode 100755 index 0000000..8e36cee --- /dev/null +++ b/web/map/xml/campus-map/providers.xml @@ -0,0 +1,12 @@ + + + + + MIT (IS&T registered) + /afs/athena.mit.edu/org/c/campus-map/wireless/is.xml + + + MIT Media Lab + /afs/athena.mit.edu/org/c/campus-map/wireless/media.xml + + diff --git a/web/map/xml/offices/links.xml b/web/map/xml/offices/links.xml new file mode 100755 index 0000000..d4e81ab --- /dev/null +++ b/web/map/xml/offices/links.xml @@ -0,0 +1,3049 @@ + + + + + + + + Office of Educational Innovation and Technology (OEIT) + http://web.mit.edu/oeit/ + acad-resources + computing + Educational Innovation and Technology, Office of + ne48 + + + Police, Boston + http://www.cityofboston.gov/police/ + police + + + Police, Cambridge + http://www.cambridgema.gov/cpd/ + police + + + MITAlert + http://web.mit.edu/mitalert/ + student-life + comm-resources + health + safety + + + India + http://web.mit.edu/india/ + acad-programs + + + Sociology@MIT + http://web.mit.edu/sociology/ + acad-programs + + + Program in Polymer Science and Technology (PPST) + http://web.mit.edu/ppst/ + acad-programs + Polymer Science and Technology Program + 3-435 + + + Teaching with technology + http://web.mit.edu/teachtech/ + acad-resources + computing + Educational technology + + + Consortium on Financing Higher Education (COFHE) + http://www.openingdoorschanginglives.org/ + acad-resources + E48 + + + Tuition and fees (undergraduate) + http://web.mit.edu/sfs/afford/undergraduate_costs.html + financial + + + Tuition and fees (graduate) + http://web.mit.edu/sfs/afford/graduate_student_costs.html + financial + + + Undergraduate Advising and Academic Programming + http://web.mit.edu/uaap/ + acad-resources + 7 + + + Faculty Support, Office of + http://web.mit.edu/facultysupport/ + acad-resources + 7-133 + + + Mind and Hand book + http://web.mit.edu/mindandhandbook/ + publications + student-life + + + Office of Finance + http://web.mit.edu/finance/ + admin-resources + financial + Finance, Office of + E19-623 + + + Brain Scan: McGovern Institute quarterly newsletter (PDF) + http://web.mit.edu/mcgovern/html/News_and_Publications/brainscan.shtml + publications + + + Current students + http://web.mit.edu/student/ + acad-resources + student-life + + + Communications workshops + http://web.mit.edu/commworkshops/ + comm-resources + + + Stationery, ordering + http://web.mit.edu/ecat/minutemanpress/ + comm-resources + + + Templates, MIT logo + http://web.mit.edu/graphicidentity/downloads/ + comm-resources + + + Photo library + http://web.mit.edu/psb/resources/photographs.html + comm-resources + + + MIT logo + http://web.mit.edu/graphicidentity/logo/ + comm-resources + insignia + admin-resources + outreach + publications + + + Visual Arts Program (VAP) + http://web.mit.edu/vap/ + acad-programs + arts + VAP + N51 + + + Educational Transformation through Technology + http://web.mit.edu/edtech/ + acad-resources + + + Logistics, Master of Engineering in (MLOG) + http://web.mit.edu/mlog/ + acad-programs + Master of Engineering in Logistics (MLOG) + E40-367 + + + Parking + http://web.mit.edu/facilities/transportation/parking/ + transportation + W20-022 + + + Bates Shuttle + http://mitbates.lns.mit.edu/bates/control/direction + transportation + + + Winter Campus Shuttle + http://web.mit.edu/facilities/transportation/shuttles/winter.html + transportation + Shuttle, Winter Campus + + + Grocery shuttle + http://web.mit.edu/facilities/transportation/shuttles/grocery.html + transportation + food + Shuttle, grocery + + + Bicycle Commuting + http://web.mit.edu/facilities/transportation/commuting/bicycling.html + transportation + + + T-passes + http://web.mit.edu/facilities/transportation/tpass/ + transportation + Subway passes + + + MIT K-12 Educational Outreach Programs + http://web.mit.edu/outreach/ + outreach + acad-programs + + +Deshpande Center for Technological Innovation +http://web.mit.edu/deshpandecenter/ +b3-alliances +b8-resources +acad-resources +1-229 + + +SAPweb + http://web.mit.edu/sapweb/ + admin-resources + employment + financial + + +Employee Self-Service (ESS) + http://web.mit.edu/sapwebss/ + admin-resources + employment + + + Academic Calendar + http://web.mit.edu/registrar/www/calendar.html + calendars + acad-resources + + + Academic Media Production Services (AMPS) + http://web.mit.edu/amps/ + computing + comm-resources + acad-resources + 9 + + + Academic Opportunities + http://web.mit.edu/uinfo/opps/ + acad-resources + + + Adaptive Technology for Information and Computing (ATIC) + http://web.mit.edu/atic/www/ + computing + support + 7 + + + Calendars + http://web.mit.edu/hr/empservices/mit_holidays.html + calendars + admin-resources + + + Admissions Office + http://web.mit.edu/admissions/ + admissions + 3-108 + + + Admissions, Graduate + http://web.mit.edu/admissions/graduate/ + admissions + Graduate Admissions + 3-103 + + + Admissions, International + http://web.mit.edu/admissions/graduate/international_students/ + admissions + International Admissions + 3 + + + Air Force ROTC + http://web.mit.edu/afrotc/www/ + acad-programs + Aerospace Studies + + + ROTC (Reserve Officer Training Corps) + http://web.mit.edu/due/rotc/ + academic + + + Admissions, Undergraduate + http://admissions.mit.edu/AdmissionsWeb/appmanager/AdmissionsWeb/Main + admissions + Undergraduate Admissions + 3 + + + MIT Professional Institute + http://web.mit.edu/mitpep/pi/ + acad-programs + 35-433 + + + MIT Advanced Study Program + http://web.mit.edu/mitpep/asp/ + acad-programs + 35-433 + + + http://web.mit.edu/mitpep/ + http://web.mit.edu/mitpep/ + acad-programs + MIT PEP + 35-433 + + + Advising and Support + http://web.mit.edu/uinfo/advising/ + acad-resources + + + Aeronautics and Astronautics, Dept. of + http://web.mit.edu/aeroastro/ + acad-programs + 33-207 + + + Air and Water Quality Program + http://web.mit.edu/environment/ehs/topic/air_quality.html + environment + + + Alcohol Policies and Procedures + http://web.mit.edu/alcohol/www/ + policies + student-life + housing + Policies, Alcohol + + + Alumni Association Events + http://alum.mit.edu/ne/calendar/ + calendars + alumni + + + Alumni/ae Association + http://alum.mit.edu/ + alumni + outreach + b8-resources + 10-110 + + + Anime Showings + http://web.mit.edu/anime/www/Showings/showing.shtml + calendars + + + MIT Cheer calendar + http://events.mit.edu/scripts/monthly_ext.pl?groupid=6394&amp;location=http://web.mit.edu/cheer/ + calendars + + + Anthropology, Dept. of + http://web.mit.edu/anthropology/ + acad-programs + 16 + + + Architecture and Planning, School of + http://loohooloo.mit.edu/ + acad-programs + 7 + + + Architecture, Dept. of + http://architecture.mit.edu/expo.html + acad-programs + 7 + + + Art Association, Student + http://web.mit.edu/saa/ + arts + student-life + Student Art Association + W20 + + + CSAIL events + http://www.ai.mit.edu/events/ + calendars + + + Artists Behind the Desk + http://web.mit.edu/abd/ + arts + employment + + + Arts Calendar + http://web.mit.edu/arts/arts_cal.html + arts + calendars + Calendar, Arts + + + Arts, Associate Provost for the + http://web.mit.edu/arts/associate_provost/ + arts + admin-resources + + + Arts, Office of the + http://web.mit.edu/arts/ + arts + E15 + + + Association of Student Activities + http://web.mit.edu/asa/www/ + student-life + Student Activities, Association of + W20-401 + + + Athena Consulting + http://web.mit.edu/consult/www/ + computing + W20-021B + + + Athena Rules of Use + http://web.mit.edu/olh/Welcome/rules.html#intro + policies + computing + + + Athena User Accounts + http://web.mit.edu/accounts/www/ + computing + E-mail Accounts + N42-140 + + + Athletics, Physical Education and Recreation, Dept. + http://web.mit.edu/athletics/ + student-life + Physical Education + Sports + W35 + + + Audio Visual Service + http://web.mit.edu/av/www/ + facilities + comm-resources + 4 + + + Audit Division + http://web.mit.edu/audiv/www/ + financial + admin-resources + NE49-3021 + + + Boston's 8 research universities provide $7B annual boost to regional economy + http://web.mit.edu/newsoffice/nr/2003/econimpact.html + b2-impact + + + MIT's alliances with industry + http://web.mit.edu/newsoffice/nr/2000/alliance.html + b3-alliances + + + MIT graduates have started 4,000 companies + http://web.mit.edu/newsoffice/nr/1997/43371.html + b2-impact + + + MIT's TLO says government research pays off through $3 billion in taxes + http://web.mit.edu/newsoffice/tt/1998/apr15/patents.html + b2-impact + + + Ballroom Dance Team Events + http://mitbdt.mit.edu/events/ + calendars + + + Benefits Office + http://hrweb.mit.edu/benefits/ + employment + Employee Benefits + E19 + + + BiblioTech: News from the MIT Libraries + http://libraries.mit.edu/about/news.html + publications + + + How to Get Around MIT (HowToGAMIT) + http://web.mit.edu/htgamit/www/ + publications + + + Biological Engineering, Dept. of + http://web.mit.edu/be/ + acad-programs + 56-651 + + + Biology, Dept. of + http://web.mit.edu/biology/www/ + acad-programs + 68-132 + + + Blood Drive + http://web.mit.edu/blood-drive/www/ + health + + + Bookstore, MIT Press &amp; MIT Authors + http://mitpress.mit.edu/bookstore/ + books + MIT Press Bookstore, The + E38 + + + Brain and Cognitive Sciences, Dept. of + http://web.mit.edu/bcs/ + acad-programs + Cognitive Sciences + Psychology, see Brain and Cognitive Sciences + 46 + + + Office of Budget Operations + http://web.mit.edu/budget/ + financial + admin-resources + Budget Operations, Office of + E19 + + +MIT Warehouse and Equipment Exchange +http://controllers.mit.edu/site/property/resources + facilities + financial + admin-resources +Storage Warehouse +WW15-197 + + +MIT Student Furniture Exchange +http://web.mit.edu/womensleague/fx/ +admin-resources +WW15 + + +Leadership Giving, Office of +http://development.mit.edu/offices/individual-giving/leadership-giving/ +giving +E19-370 + + + + Building Services + http://web.mit.edu/facilities/services/cleaning.html + facilities + Custodial Services + Furniture Set-ups + Pest Control + 10-063 + + + Cable Television, MIT + http://web.mit.edu/mitcable/www/ + student-life + MIT Cable + 9 + + + Cambridge-MIT Institute (CMI) + http://www.cambridge-mit.org/ + acad-programs + b3-alliances + 8-403 + + + Campus Activities Complex + http://web.mit.edu/campus-activities/www/ + student-life + facilities + Student Center + W20 + + + Campus Committee on Race Relations + http://web.mit.edu/ccrr/ + support + 7-211 + + + Campus Dining, Office of + http://web.mit.edu/dining/ + food + housing + Catering + Dining + E19-429 + + + Steam Cafe + http://steamcafe.mit.edu/ + food + 7 + + + Kosher Dining + http://web.mit.edu/hillel/www/kosher-dining.html + food + Dining, Kosher + W11 + + + Campus Map + http://whereis.mit.edu/ + facilities + transportation + Map, MIT Campus + + + MIT Police + http://web.mit.edu/cp/www/ + student-life + health + police + Police, MIT + Campus Police + Security, Personal + W89 + + + Careers, jobs, and internships + http://web.mit.edu/uinfo/careers/ + acad-resources + support + student-life + employment + b4-recruit + careers + + + MIT Careers Office + http://web.mit.edu/career/www/ + support + alumni + student-life + acad-resources + employment + jobs + b4-recruit + Careers Office + 12-170 + + + Center for International Studies Events + http://events.mit.edu/scripts/monthly_ext.pl?groupid=330,447,1132,482,299,1447,1116,1291,352&location=http://web.mit.edu/cis/calendar/ + calendars + + + Center for Real Estate Events + http://web.mit.edu/cre/events/ + calendars + + + Central Machine Shop + http://web.mit.edu/cmshop/ + facilities + Machine Shop, Central + 38-001 + + + Chancellor, Office of the + http://web.mit.edu/chancellor/ + admin-resources + 10-200 + + + Chaplains, MIT Board of + http://web.mit.edu/dsl/religious_life.html + support + student-life + Religious Life + W11 + + + Religious Activities Center + http://web.mit.edu/campus-activities/www/html/rac.html + support + student-life + W11 + + + Chemical Engineering, Dept. of + http://web.mit.edu/cheme/ + acad-programs + 66-350 + + + Chemistry, Dept. of + http://web.mit.edu/chemistry/www/ + acad-programs + 18-390 + + + Study Abroad and Distinguished Fellowships + http://web.mit.edu/studyabroad/ + acad-programs + 26-153 + + + Knight Science Journalism Fellowships + http://web.mit.edu/knight-science/ + acad-programs + E19-307 + + + On Balance: Civil &amp; Environmental Engineering research news + http://cee.mit.edu/index.pl?id=20185&amp;isa=Category&amp;op=show + publications + + + Civil and Environmental Engineering, Dept. of + http://web.mit.edu/civenv/ + acad-programs + Environmental and Civil Engineering + 1-290 + + + Classroom Management and Scheduling + http://web.mit.edu/registrar/www/schedules/ + acad-resources + 5-111 + + + Cogeneration Facility + http://cogen.mit.edu/ + environment + facilities + 42 + + + Committee on Community + http://web.mit.edu/community/ + employment + student-life + + + Committees of the Institute + http://web.mit.edu/committees/ + admin-resources + + + Communications Forum, MIT + http://web.mit.edu/comm-forum/ + acad-resources + 14N-207 + + + Community Giving at MIT + http://web.mit.edu/community-giving/ + outreach + E19-432 + + + Community Service Fund + http://web.mit.edu/csf/ + outreach + + + Community Players, MIT + http://web.mit.edu/mitcp/ + arts + + + Transportation and Parking Task Group + http://web.mit.edu/commuting/ + environment + support + transportation + Commuting the MITway + + + Comparative Media Studies (CMS) + http://web.mit.edu/cms/ + acad-programs + 14N-207 + + + Comparative Medicine, Division of + http://web.mit.edu/comp-med/ + acad-programs + 16-825 + + + Compton Gallery + http://web.mit.edu/museum/exhibitions/compton.html + arts + 10-150 + + + Computation for Design and Optimization + http://web.mit.edu/cdo-program/ + acad-programs + E40-152 + + + Computer Help + http://web.mit.edu/ist/help/ + computing + Help and Consulting, Computing + N42 + + + Usability Lab + http://web.mit.edu/ist/usability/ + computing + N42 + + + Computer Security + http://web.mit.edu/security/ + computing + Security, Computer + N42 + + + Computer Training + http://web.mit.edu/ist/training/ + computing + Training, Computer + N42-240A + + + Computing Services by Topic + http://web.mit.edu/ist/services/ + computing + + + Concert Choir Events + http://www.mit.edu/~21m401/concerts.html + calendars + + + Concourse Program + http://web.mit.edu/concourse/www/ + acad-programs + 16-128 + + + Conference Services + http://web.mit.edu/conferences/ + comm-resources + outreach + 12-156 + + + Student Mediation and Community Standards + http://web.mit.edu/discipline + student-life + Conflict Resolution + W20-507 + + + Community Development and Substance Abuse + http://web.mit.edu/cdsa/ + student-life + W20-507 + + + + + + Controller's Accounting Office (CAO) + http://controllers.mit.edu/ + financial + admin-resources + Accounting Office, Controller + Payroll + Accounts Payable + Accounts Receivable + NE49 + + + Coop, The (official MIT bookstore) + http://mit.edu/thecoop + books + insignia + Bookstore (The Coop) + NE20 + W20 + + + Copy Technology Centers + http://web.mit.edu/ctc/www/ + facilities + comm-resources + 11-004 + E52-045 + W20 + + + Copyright Information + http://web.mit.edu/copyright/ + comm-resources + research + + + Corporation, The MIT + http://web.mit.edu/corporation/ + admin-resources + 7-203 + + + Science and Education Program for Teachers + http://web.mit.edu/scienceprogram/ + outreach + + + Student Support Services (S3) + http://web.mit.edu/counsel/www/ + support + health + student-life + Help, Emotional Support + 5-104 + + + Data Warehouse + http://web.mit.edu/warehouse/ + computing + + + Dealing with Harassment at MIT + http://web.mit.edu/communications/hg/ + policies + employment + student-life + + + Dean for Undergraduate Education + http://web.mit.edu/due/ + acad-resources + Undergraduate Education, Office of the Dean for + 4-110 + + + DUE Desktop Support + http://web.mit.edu/due/administration/services/index.html + acad-resources + computing + 12-172 + + + Dean's Gallery + http://web.mit.edu/deansgallery/ + arts + + + Degree Programs + http://web.mit.edu/uinfo/academics/programs/ + acad-resources + + + Department of Political Science Events + http://web.mit.edu/polisci/research/seminars.html + calendars + + + Disability Services Office + http://web.mit.edu/dso/www/ + support + employment + Accessibility Services + 7-145 + + + Discipline, Committee on + http://web.mit.edu/committees/cod/ + policies + student-life + + + Document Services + http://libraries.mit.edu/docs + libraries + comm-resources + 14-0551 + + + Dramashop calendar + http://www.mit.edu/activities/dramashop/calendar.html + calendars + + + Earth, Atmospheric and Planetary Sciences (EAPS), Dept. of + http://web.mit.edu/eaps/ + acad-programs + Program in Atmospheres, Oceans and Climate (PAOC) + 54-918 + + + ECAT - Electronic Catalog + http://web.mit.edu/ecat/ + financial + admin-resources + Catalog, Electronic + + + Educational Council + http://web.mit.edu/admissions/www/educoun/ + alumni + admissions + Alumni/ae Interviews + N52-419 + + + Electrical Engineering and Computer Science (EECS), Dept. of + http://www-eecs.mit.edu/ + acad-programs + Computer Science and Electrical Engineering + Department of Electrical Engineering and Computer Science + 38-401 + + + Emergency information + http://emergency.mit.edu/ + emergency + police + + + Emergency operations and preparedness + http://informit.mit.edu/epr/ + emergency + safety + + + E.merging: voices on the new diasporas + http://web.mit.edu/emerging/ + publications + + + Endicott House + http://web.mit.edu/endicott-house/ + facilities + comm-resources + OFF CAMPUS + + + Engineering Systems Division (ESD) + http://esd.mit.edu/ + acad-programs + E40-349 + + + Engineering Our World (e-newsletter) + http://web.mit.edu/engineering/enews/ + publications + + + Engineering, School of + http://web.mit.edu/engineering/ + acad-programs + 1-206 + + + Enterprise Forum + http://enterpriseforum.mit.edu/ + alumni + research + b8-resources + W59-230 + + + enviroClasses + http://enviroclasses.mit.edu/ + environment + + + Environment at MIT + http://web.mit.edu/environment/ + environment + + + Environment Health and Safety Office + http://web.mit.edu/environment/ehs/topic/ + environment + safety + N52-496 + + + Environment, Health and Safety Policy + http://web.mit.edu/environment/ehs/policy.shtml + environment + publications + + + Environment, Health &amp; Safety Management System + http://informit.mit.edu/ehs-ms/ + environment + safety + + + Environmental Health Sciences, Center for + http://cehs.mit.edu/ + acad-programs + environment + 56-235 + + + Environmental Management Program + http://web.mit.edu/environment/ehs/contact.shtml + environment + Hazardous Waste + N52-496 + + + Environmental Programs Office (EPO) + http://web.mit.edu/officesdir/753753.shtml + environment + + + Ergonomics Program + http://web.mit.edu/environment/ehs/topic/ergonomics.html + health + environment + N52-496 + + + Events Calendar + http://events.mit.edu/ + calendars + + + Wellesley Exchange Bus + http://www.wellesley.edu/Housing/exchange.html + transportation + + + Executive Vice President, Office of + http://web.mit.edu/evp/ + admin-resources + Vice President, Executive + 3-221 + + + Experimental Study Group (ESG) + http://web.mit.edu/esg/www/ + acad-programs + 24-612 + + + EZRide (Cambridge-North Station Shuttle) + http://www.masscommute.com/tmas/crtma/ezride.html + transportation + Shuttle, EZRide (Cambridge-North Station) + + + Facilities, Department of + http://web.mit.edu/facilities/ + facilities + Construction Info Line + Physical Plant + NE49 + + + Educational Technology Consultants + http://web.mit.edu/ist/org/academic/curric-integ.html + computing + acad-resources + N42-250 + + + Faculty Newsletter + http://web.mit.edu/fnl/ + publications + + + Faculty Resources + http://web.mit.edu/faculty/ + acad-resources + admin-resources + + + Family Weekend + http://alum.mit.edu/ccg/parents/family-weekend/ + parents + Parents' Weekend + + + MIT Federal Credit Union + http://www.mitfcu.org/ + financial + employment + Credit Union + Federal Credit Union, MIT + NE48 + + + Student &amp; Administrative Information Systems (SAIS) + http://web.mit.edu/ist/org/admincomputing/ + computing + admin-resources + financial + W92-210 + + + Financial Systems Update + http://web.mit.edu/sapr3/fsupdate/ + publications + W92-210 + + + Bank of America + http://web.mit.edu/officesdir/383383.shtml + financial + W20-104 + + + Floor Plans + http://floorplans.mit.edu/ + facilities + + + Food trucks + http://web.mit.edu/dining/locations/foodtrucks.html + food + + + Foreign Languages and Literatures + http://web.mit.edu/fll/www/ + acad-programs + 14N-305 + + + Foundation Relations & Academic Development Support (FRADS) + http://web.mit.edu/frads/ + outreach + 4-250 + + + Fraternities, Sororities, and Living Groups + http://web.mit.edu/slp/fsilgs/ + student-life + housing + Living Groups, FSILGs + W20-549 + + + Gamelan Galak Tika calendar + http://www.galaktika.org/schedule.shtml + calendars + + + Directions to MIT + http://whereis.mit.edu/map-jpg?section=directions + transportation + Getting to MIT + + + Gilbert &amp; Sullivan Players calendar + http://web.mit.edu/gsp/www/upcoming.html + calendars + + + Giving to MIT + http://web.mit.edu/giving/ + giving + 10-110 + + + Glass Lab + http://web.mit.edu/glasslab/ + arts + 4-003 + + + Government and Community Relations + http://web.mit.edu/govt-relations/www/ + outreach + b5-offices + Community and Government Relations, Office of + 11-245 + + + Graduate Student Council Events + http://web.mit.edu/gsc/www/news-events/ + calendars + + + Graduate Student Group Events + http://web.mit.edu/gsc/www/news-events/groupevents/ + calendars + + + Graduate Student News + http://gsn.mit.edu + publications + student-life + 3-138 + + + Graduate Students Office + http://web.mit.edu/gso/ + acad-resources + support + 3-138 + + + Graduate Student Orientation Calendar + http://web.mit.edu/gsc/www/firstyear/orientation/ + calendars + + + Graduation + http://mit.edu/acadinfo/#grad + acad-resources + student-life + + + Grading &amp; Credit + http://web.mit.edu/uinfo/academics/grading/ + acad-resources + + + Guide to the Humanities, Arts, and Social Sciences + http://web.mit.edu/hass/www/guide/guide.html + policies + publications + HASS guide + + + Guidebook to Planning Events at MIT (PDF) + http://web.mit.edu/campus-activities/www/misc/guidebook2004.pdf + policies + publications + comm-resources + student-life + Event Planning Guidebook (PDF) + + + Hart Nautical Gallery + http://web.mit.edu/museum/exhibitions/hart.html + arts + 5 + + + Hazard Assessment and Control Program + http://web.mit.edu/environment/ehs/hazard_assessment.html + environment + safety + N52-496 + + + Health Education + http://web.mit.edu/medical/c-main.html + health + E23-205 + + + health@mit + http://web.mit.edu/medical/mithealth/ + publications + health + + + History, Dept. of + http://web.mit.edu/history/www/ + acad-programs + E51-285 + + + History, Theory and Criticism of Architecture and Art + http://architecture.mit.edu/htc/ + arts + acad-programs + HTC@MIT + Art and Architecture History + 10-303 + 3-303 + + + Hobby Shop + http://web.mit.edu/campus-activities/hobbyshop/ + student-life + arts + W31-031 + + + Housing Office + http://web.mit.edu/housing/ + student-life + housing + E19-429 + + + HR-Payroll Service Center + http://web.mit.edu/hr/hrpayservicecenter/ + Personnel + E19-429 + + + HST connector + http://hst.mit.edu/servlet/ControllerServlet?handler=PublicHandler&action=browse&pageid=166 + publications + + + Human Resources + http://hrweb.mit.edu/ + employment + Personnel + E19-215 + + + Center for Work, Family, and Personal Life + http://hrweb.mit.edu/worklife/ + hr + 16-151 + + + Humanities, Arts, and Social Sciences Program Office + http://web.mit.edu/hass/www/ + acad-programs + HASS Program Office + HASS Office + HASS Education Office + 14N-410 + + + Administrative Services Organization (ASO) + http://aso.mit.edu/ + admin-resources + 8-328 + + + School of Humanities, Arts, and Social Sciences + http://web.mit.edu/shass/ + acad-programs + Humanities, Arts, and Social Sciences, School of + 14N-408 + + + Dean's office for the School of Humanities, Arts, and Social Sciences + http://web.mit.edu/shass/inside/deansoffice.shtml + acad-programs + E51-255 + + + Humans as Experimental Subjects (COUHES), Committee on the Use of + http://web.mit.edu/committees/couhes/ + research + E32-335 + + + is&amp;t newsletter + http://web.mit.edu/ist/istnews/ + publications + + + i3/Guide to Residences + http://web.mit.edu/i3/ + housing + student-life + + + Independent Activities Period (IAP) + http://web.mit.edu/iap/ + acad-programs + calendars + + + Industrial Hygiene Program + http://web.mit.edu/environment/ehs/contact.shtml + environment + N52-496 + + + Industrial Liaison Program (ILP) + http://ilp-www.mit.edu/ + outreach + research + b1-partner + E38-400 + + + Information Center + http://web.mit.edu/infocenter/ + outreach + admissions + 7-121 + + + Information Services &amp; Technology (IS&amp;T) + http://web.mit.edu/ist/ + computing + N42 + W91 + W92 + E19 + + + Energy and Environment (LFEE) + http://lfee.mit.edu/metadot/index.pl?id=2180&amp;isa=Category&amp;op=show + publications + + + Innovation in Product Development, Center for + http://cipd.mit.edu/ + acad-programs + research + Center for Innovation in Product Development + E60-275 + + + Ed Tech Times + http://edtech.mit.edu/times + publications + + + Institute Archives and Special Collections + http://libraries.mit.edu/archives/ + libraries + admin-resources + History of MIT + Special Collections + Archives, Insitute + 14N-118 + + + Institutional Research + http://web.mit.edu/ir/ + admin-resources + 11-268 + + + Institvte + http://web.mit.edu/institvte/www/ + publications + + + Insurance + http://controllers.mit.edu/insurance/ + financial + admin-resources + 12-090 + + + Innovation Club + http://web.mit.edu/innovation/ + b8-resources + + + Interfraternity Council (IFC) + http://ifc.mit.edu/ + student-life + Fraternity Council + W20-450 + + + International Film Club + http://web.mit.edu/ifilm/www/ + calendars + 4-237 + + + International Scholars Office + http://web.mit.edu/scholars/ + support + acad-resources + research + 4-105 + + + International Students Office + http://web.mit.edu/iso/www/ + support + acad-resources + 5-133 + + + Intramural Sports + http://web.mit.edu/athletics + student-life + Sports, Intramural + Athletics, Intramural + + + Jobs available at MIT (staff and faculty) + http://hrweb.mit.edu/staffing/ + employment + jobs + Positions available at MIT (staff and faculty) + Staff and faculty job openings + Careers at MIT + Employment at MIT + Open positions at MIT + E19-215 + + + Journal Club + http://journalclub.mit.edu/ + publications + + + Kendall Station + http://www.mbta.com/traveling_t/schedules_subway_stationinfo.asp?staname=Kendall + transportation + + + Kresge Auditorium + http://web.mit.edu/campus-activities/www/html/kresge.html + facilities + W16 + + + lbgt@MIT Events + http://web.mit.edu/lbgt/events/ + calendars + + + Lecture Series Committee (LSC) + http://lsc.mit.edu/ + student-life + Movies + W20-469 + + + Lemelson-MIT program + http://web.mit.edu/invent/ + outreach + Invention Dimension + E60-215 + + + Lesbian, Bisexual, Gay, and Transgendered at MIT + http://web.mit.edu/lbgt/ + support + Gay, Lesbian, Bisexual and Transgendered at MIT + W20-549 + + + Libraries + http://libraries.mit.edu/ + libraries + 14S-216 + + +Digital Instruction Resource Center (DIRC) +http://libraries.mit.edu/ask-us/instruction/dirc.html +libraries +14N-132 + + +Information Intersection +http://libraries.mit.edu/stata/ +libraries +32 + + + Lincoln Lab Shuttle + http://www.ll.mit.edu/about/shuttle.html + transportation + Shuttle, Lincoln Lab + + + Linguistics, Dept. of + http://web.mit.edu/linguistics/www/home.html + acad-programs + Philosophy and Linguistics + E39-245 + + + List Visual Arts Center + http://listart.mit.edu/ + arts + E15-109 + + + Literature, Dept. of + http://web.mit.edu/lit/www/ + acad-programs + 14N-407 + + + Living Group Council + http://web.mit.edu/lgc/www/ + student-life + housing + ILG council + + + Lobby 10 + http://web.mit.edu/campus-activities/www/facilities/lobbies.html#lobby10 + facilities + 10 + + + Lobby 13 + http://web.mit.edu/campus-activities/www/facilities/lobbies.html#lobby13 + facilities + 13 + + + Logarhythms calendar + http://web.mit.edu/logs/www/concerts.html + calendars + + + Mail Services + http://web.mit.edu/facilities/services/mail/mailing.html + facilities + comm-resources + Postal Services + Shipping + WW15 + + + Management Science Area at the Sloan School + http://web.mit.edu/sloan-msa/ + b6-education + acad-programs + E53-340 + + + Materials Processing Center + http://web.mit.edu/mpc/www/ + research + 12-007 + + + Materials Science and Engineering, Dept. of + http://dmse.mit.edu/ + acad-programs + Department of Materials Science and Engineering + 8-309 + + + Mathematics, Dept. of + http://www-math.mit.edu/ + acad-programs + 2-236 + + + Mechanical Engineering Department Events + http://me.mit.edu/NewsandCalendar/Week.htm + calendars + + + Mechanical Engineering, Dept. of + http://www-me.mit.edu/ + acad-programs + 3-173 + + + Media Arts and Sciences, Program in + http://www.media.mit.edu/mas/ + acad-programs + E15-401 + + + Media Arts and Sciences Freshman Program + http://www.media.mit.edu/mas/fyo.html + acad-programs + E15 + + + Media Laboratory Events + http://www.media.mit.edu/Events/ + calendars + + + Medical Department + http://web.mit.edu/medical/ + health + Optical, MIT + Infirmary + E23-189 + + + Medlinks + http://web.mit.edu/medlinks/www/ + health + support + Peer Counseling + + + Mental Health + http://web.mit.edu/medical/services/s-mentalhealth.html + support + health + E23-368 + + + Menus for Takeout and Delivery + http://web.mit.edu/wchuang/www/menus/menus.html + food + Takeout Menus + + + MGH, North Station, Charlestown Navy Yard Shuttle + http://www.partners.org/phsnew/ourhosp/shuttleschedule/mgh_cny.html + transportation + Shuttle, MGH, North Station, Charlestown Navy Yard + + + Northwest shuttle + http://web.mit.edu/facilities/transportation/shuttles/northwest.html + transportation + Shuttle, Northwest + + + Minority Education, Office of + http://web.mit.edu/ome/ + support + acad-resources + Office of Minority Education + 4-113 + + + MIT Activities Committee (MITAC) + http://web.mit.edu/mitac/ + employment + student-life + Activities Committee, MIT (MITAC) + 32 + + + MIT Bulletin (degree requirements and course listings) + http://web.mit.edu/catalogue/overv.welco.shtml + publications + + + MIT Card + http://web.mit.edu/mitcard/ + food + financial + TechCash + ID card + W20 + + + Supply Chain Frontiers + http://ctl.mit.edu/metadot/index.pl?id=2211 + publications + + + MIT E-News + http://web.mit.edu/newsoffice/enews.html + publications + + + MIT Facts + http://web.mit.edu/facts/ + publications + admin-resources + comm-resources + + + MIT Heritage of the Arts of Southasia + http://web.mit.edu/mithas/www/concerts/ + calendars + + + MIT Museum + http://web.mit.edu/museum/ + arts + N52-2FL + N51 + + + MIT Press + http://mitpress.mit.edu/ + books + E39 + + + Sloan Management Review + http://www.sloanreview.mit.edu/smr/ + publications + b8-resources + E60-100 + + + News @ MIT Sloan + http://mitsloan.mit.edu/newsatmitsloan/ + publications + E52-107 + + + MIT World + http://mitworld.mit.edu/ + publications + outreach + 35-433 + + + MITCAN calendar + http://web.mit.edu/mitcan/www/concerts.html + calendars + + + MITnet Rules of Use + http://web.mit.edu/olh/Welcome/rules.html#mitnet + policies + computing + Rules of Use, MITnet + + + Muddy Charles Pub + http://web.mit.edu/muddy/ + food + 50-110 + + + Muses Performances calendar + http://web.mit.edu/muses/www/perform.html + calendars + + + Music &amp; Theater Arts Events + http://web.mit.edu/mta/www/music/events.html + calendars + + + Music and Theater Arts + http://web.mit.edu/mta/www/ + arts + acad-programs + Theater Arts and Music + 4-246 + + + Musical Theatre Guild calendar + http://www.mit.edu/activities/mtg/Schedule.html + calendars + + + National Weather Service + http://www.srh.noaa.gov/data/forecasts/MAZ014.php?warncounty=MAC017&city=Cambridge + weather + + + Network Security + http://web.mit.edu/net-security/ + computing + Security, Computer Network + N42-250H + + + News Office + http://web.mit.edu/newsoffice/ + publications + outreach + comm-resources + b5-offices + Public Relations + 11-400 + + + Nightline + http://web.mit.edu/nightline/ + student-life + support + + + Nondiscrimination Statement + http://web.mit.edu/referencepubs/nondiscrimination/ + policies + employment + admin-resources + + + Nuclear Science and Engineering, Dept. of + http://web.mit.edu/nse/ + acad-programs + 24-105 + + + Observer, the + http://web.mit.edu/observer/www/ + publications + + + Center for Ocean Engineering + http://oe.mit.edu/ + acad-programs + 5-228 + + + Offices and Programs Directory + http://web.mit.edu/communications/bp/ + admin-resources + + + Ombuds Office + http://web.mit.edu/ombud/ + admin-resources + student-life + employment + legal + support + health + policies + acad-resources + 10-213 + + + Online subject listings and schedule + http://student.mit.edu/catalog/index.cgi + acad-resources + + + OpenCourseWare (OCW) + http://ocw.mit.edu/ + acad-resources + 9-315 + + + openDOOR + http://alum.mit.edu/opendoor/ + publications + alumni + + + Organization and Employee Development + http://web.mit.edu/hr/oed/ + employment + E19-215 + + + Organization Charts + http://web.mit.edu/communications/orgchart/ + admin-resources + + + Panhellenic Association + http://web.mit.edu/panhel/www/ + student-life + Sororities + + + Parents Association + http://alum.mit.edu/ccg/parents/ + parents + W59 + + + Parents News + http://alum.mit.edu/ccg/parents/news/ + publications + parents + + + Parking and Transportation + http://web.mit.edu/facilities/transportation/ + facilities + transportation + Transportation and parking + W20 + + + Academic Performance + http://web.mit.edu/uinfo/academics/perform/ + acad-resources + Performance, academic + + + Personnel Policy Manual + http://hrweb.mit.edu/policy/ + policies + employment + + + Philosophy, Dept. of + http://web.mit.edu/philos/www/ + acad-programs + E39-245 + + + Physics, Dept. of + http://web.mit.edu/physics/ + acad-programs + 6-113 + + + physics@mit + http://web.mit.edu/physics/alumniandfriends/physicsatmit/ + publications + + + PLAN + http://loohooloo.mit.edu/plan/ + publications + + + Policies and Procedures (Faculty &amp; Staff) + http://web.mit.edu/policies/ + admin-resources + employment + policies + + + Policies and Procedures (Students) + http://mit.edu/acadinfo/#policy + acad-resources + policies + + + Policy on the Naming of Spaces + http://web.mit.edu/policies/14.6.html#14.6.1 + policies + facilities + + + Political Science, Dept. of + http://web.mit.edu/polisci/ + acad-programs + E53-470 + + + Postdoctoral Scholars + http://web.mit.edu/mitpostdocs/ + support + research + 11 + + + President of MIT + http://web.mit.edu/hockfield/ + admin-resources + outreach + b5-offices + 3-208 + + + Procurement Office + http://controllers.mit.edu/procurement/ + financial + admin-resources + Purchasing + NE49-4122 + + + Program on Human Rights and Justice + http://web.mit.edu/phrj/ + acad-programs + outreach + Human Rights and Justice program + + + Property Office + http://controllers.mit.edu/property + facilities + financial + admin-resources + Asset Management + NE49-4021 + + + Provost, Office of the + http://web.mit.edu/provost/ + acad-resources + admin-resources + 3-208 + + + Public Service Center + http://web.mit.edu/mitpsc/ + student-life + outreach + Community Service + 4-104 + + + Publishing on the Web + http://web.mit.edu/ist/topics/webpublishing/ + computing + comm-resources + + + Publishing Services Bureau (PSB) + http://web.mit.edu/psb/ + comm-resources + E28-100 + + + Quantum Books + http://www.quantumbooks.com/ + books + Off Campus + + + Quarter Century Club, MIT + http://web.mit.edu/communityservices/qcc/ + employment + E19-432 + + + Safety Program + http://web.mit.edu/environment/ehs/contact.shtml + environment + safety + facilities + Biosafety Program + Radiation Protection Program + N52-496 + + + Labs, centers, and programs at MIT + http://web.mit.edu/research/ + b7-research + research + + + Recycling + http://web.mit.edu/facilities/environmental/recycling.html + environment + facilities + NW62 + + + Reference Publications Office (RPO) + http://web.mit.edu/referencepubs/ + admin-resources + E28-100 + + + Registrar's Office + http://web.mit.edu/registrar/ + acad-resources + facilities + Schedules Office + 5-119 + + + Registration + http://web.mit.edu/uinfo/academics/register/ + acad-resources + 3-138 + 4-110 + + + Religious Holidays + http://web.mit.edu/registrar/www/webrel.html + calendars + + + Repair and Maintenance + http://web.mit.edu/facilities/about/operations/repair-maint.html + facilities + HVAC (Heating, Ventilation, Air-conditioning) + Keys + Lock Services + E18-101 + + + Reports to the President (Annual Reports) + http://web.mit.edu/annualreports/ + admin-resources + outreach + publications + Annual Reports to the President + + + Research, Undergrad + http://web.mit.edu/uinfo/research/ + acad-resources + + + Residential Computing Consulting + http://web.mit.edu/rescomp/www/ + computing + housing + + + Residential Dining + http://web.mit.edu/dining/locations/housedining.html + housing + food + + + Residential Life Programs + http://web.mit.edu/slp/rlp/ + student-life + housing + W20-549 + W51-040 + + + Resource Development + http://web.mit.edu/development/ + giving + 4-204 + + + Communications and Donor Relations + http://web.mit.edu/development/ + giving + E19-411 + + + Restaurant / Retail food options + http://web.mit.edu/dining/locations/retailoptions.html + food + + + Retirees, Association of MIT + http://web.mit.edu/retireesassoc/ + employment + E19-432 + + + RLE Currents + http://rleweb.mit.edu/publications/currents/curindx.htm + publications + + + RLE Progress Report + http://rleweb.mit.edu/publications/prog.htm + publications + + + Roadkill Buffet calendar + http://www.mit.edu/activities/roadkill/comingEvents.html + calendars + + + Regulated Waste Management + http://web.mit.edu/environment/ehs/waste.html + environment + + + Rules and Regulations of the Faculty + http://web.mit.edu/faculty/governance/rules/ + policies + Faculty Rules and Regulations + + + Rune + http://web.mit.edu/rune/www/ + publications + + + SafeRide + http://web.mit.edu/facilities/transportation/shuttles/safe_ride.html + transportation + safety + W20 + + + SAP Online Support + http://web.mit.edu/sapr3/ + computing + financial + admin-resources + + + Scholarships and Fellowships + http://mit.edu/scholarships/ + acad-resources + Fellowships and Scholarships + + + Science, School of + http://web.mit.edu/science/ + acad-programs + 6-123 + + + Science, Technology, and Society (STS), Program in + http://web.mit.edu/sts/ + acad-programs + E51-185 + + + Wellesley Senate Bus (weekends) + http://www.wellesley.edu/Housing/senate.html + transportation + + + Office of the General Counsel + http://web.mit.edu/ogc/ + legal + admin-resources + comm-resources + research + b8-resources + Patent office + Senior Counsel's Office + General Counsel, Office of + Intellectual Property Counsel + 7-206 + 12 + + + Service Learning + http://web.mit.edu/mitpsc/servlearn/ + student-life + acad-resources + outreach + W20-547 + 4-405 + + + Shakespeare Ensemble calendar + http://web.mit.edu/ensemble/www/current.html + calendars + + + Share a Vital Earth (SAVE) + http://web.mit.edu/save/ + environment + facilities + + + ShuttleTrack@MIT + http://shuttletrack.mit.edu/ + transportation + + + SIPB Event Listings + http://stuff.mit.edu/cgi/listevents + calendars + + + Sloan Alumni + http://mitsloan.mit.edu/alum/ + alumni + b8-resources + Alumni, Sloan + E60-300 + + + Sloan R.O.I. + http://mitsloan.mit.edu/alumni/n-roi.php + publications + + + Sloan School of Management + http://mitsloan.mit.edu/ + acad-programs + b6-education + Management, Sloan School of + E52-473 + + + Sloan Office of Communication + http://mitsloan.mit.edu/ + admin-resources + E60-176 + + + Sloan Finance and Administration + http://mitsloan.mit.edu/ + admin-resources + E52-470 + + +Professional Education Programs (PEP) +http://web.mit.edu/mitpep/ +acad-resources +acad-programs +35-433 + + + Professional programs and executive education + http://web.mit.edu/education/professional.html + b6-education + acad-programs + acad-resources + admissions + Executive education and professional programs + + + Software distribution + http://web.mit.edu/software/ + computing + + + Soundings + http://web.mit.edu/shass/soundings/ + publications + E51-255 + + + Space Accounting, Insite + http://facilities-db.mit.edu + facilities + NE49-2100 + + + Space Administration + http://web.mit.edu/facilities/services/spaceadmin/renovations.html + facilities + NE49-2300 + + + Space Reservations + http://web.mit.edu/campus-activities/www/scheduling.html + student-life + W20-500 + + + Community Services Office, MIT + http://web.mit.edu/communityservices/ + support + employment + E19-432 + + + Specifications for Thesis Preparation + http://libraries.mit.edu/archives/thesis-specs/ + policies + libraries + 14N-118 + + + Spectrum + http://spectrum.mit.edu/ + publications + + + Office of Sponsored Programs (OSP) + http://web.mit.edu/osp/www/ + financial + research + legal + b5-offices + Sponsored Programs, Office of + E19-750 + + + Sports Medicine + http://web.mit.edu/athletics/sportsmedicine/ + health + Kasser Sports Medicine Center + W35-115 + + + spouses&amp;partners@mit + http://web.mit.edu/medical/spousesandpartners/calendar.htm + calendars + employment + + + Standards and Procedures for Students + http://web.mit.edu/housing/standards/ + policies + student-life + Student Standards and Procedures + + + Statistics and Surveys of Students + http://mit.edu/acadinfo/#stats + acad-resources + Surveys and Statistics + + + Stellar Learning Management System + http://stellar.mit.edu/ + acad-resources + + + Stopit + http://web.mit.edu/stopit/ + computing + policies + legal + Harassment, Electronic + + + Student Activities Office + http://web.mit.edu/slp/sao/ + student-life + W20-549 + + + Student employment + http://web.mit.edu/sfs/jobs/ + financial + student-life + jobs + employment + Employment, student + Jobs, student + 11-120 + + + Student Financial Services (SFS) + http://web.mit.edu/sfs/ + admissions + financial + admin-resources + alumni + acad-resources + Accounts, student + Billing, students + Financial services, student + Loans, student + 11-120 + + + Financial Aid + http://web.mit.edu/sfs/financial_aid/ + financial + admissions + Aid, financial + Scholarships + 11-120 + + + Student Health Plan, MIT + http://web.mit.edu/medical/p-student.html + health + Health Plan, Student + E23-308 + + + Student Information Policy + http://web.mit.edu/policies/sip/ + policies + 5-119 + + + Student Information Processing Board (SIPB) + http://www.mit.edu/sipb/sipb.html + computing + W20-557 + + + Student Information System (WebSIS) + http://student.mit.edu/ + acad-resources + WebSIS + + + Student Life Programs + http://web.mit.edu/slp/ + student-life + W20-549 + + + Student Life, Division of (DSL) + http://web.mit.edu/dsl/ + student-life + acad-resources + W20-549 + + + Office of the Dean for Student Life (DSL) + http://web.mit.edu/dsl/ + student-life + acad-resources + Dean for Student Life, Office of + 4-110 + + + Office of the Dean for Student Life Administration + http://web.mit.edu/dsl/ + student-life + acad-resources + W31-135 + + + Student Services Information Technology + http://web.mit.edu/ssit/ + computing + W92-290 + + + Subjects + http://web.mit.edu/uinfo/academics/subjects/ + acad-resources + + + Subway and Bus Schedules + http://www.mbta.com/ + transportation + MBTA schedules + + + Support Staff Peer Resources Task Group + http://web.mit.edu/sspr/ + support + employment + Access. Contact. Accomplish. + + + Teaching and Learning Laboratory + http://web.mit.edu/tll/ + acad-resources + 5-122 + + + Tech Gallery, The + http://the-tech.mit.edu/Gallery/ + publications + + + Tech Shuttle + http://web.mit.edu/facilities/transportation/shuttles/tech_shuttle.html + transportation + Shuttle, Tech + + + Tech Talk + http://web.mit.edu/newsoffice/techtalk-info.html + publications + outreach + comm-resources + Newspaper, Campus + 11-400 + + + Technique (yearbook) + http://web.mit.edu/yearbook/ + publications + Yearbook + W20-451 + + + Technology Licensing Office (TLO) + http://web.mit.edu/tlo/www/ + legal + outreach + research + b8-resources + Licensing Office, Technology + NE25-230 + + + Technology Review + http://www.technologyreview.com/ + alumni + outreach + publications + b8-resources + 1 Main Street, 7FL + + + Telephone Directories + http://web.mit.edu/referencepubs/directories/toc.html + admin-resources + dir + Directories, Telephone + + + Telephone Support Services + http://web.mit.edu/ist/topics/telecommunications/ + facilities + admin-resources + E19-741 + + + Term Regulations + http://web.mit.edu/faculty/termregs/ + policies + + + Terrascope + http://web.mit.edu/terrascope/www/ + acad-programs + 16-177 + + + Tech, The + http://www-tech.mit.edu/ + student-life + publications + Newspaper, Student + W20-483 + + + Thirsty Ear Pub + http://web.mit.edu/thirsty-ear/ + food + W1 + + + Thistle, the + http://web.mit.edu/thistle/www/ + publications + + + Thresholds + http://architecture.mit.edu/thresholds + publications + + + Travel + http://web.mit.edu/cao/www/travel.htm + employment + transportation + NE49 + + + MIT Investment Management Company + http://www.mitimco.org/ + admin-resources + financial + Investment Management Company, MIT + E48-200 + + + Undergraduate Practice Opportunities Program (UPOP) + http://web.mit.edu/engineering/upop/ + acad-programs + + + Undergraduate Program, Committee on the + http://web.mit.edu/committees/cup/ + admin-resources + + + MIT Undergraduate Research Journal (MURJ) + http://web.mit.edu/murj/www/ + publications + Undergraduate research journal + 12-188 + + + Undergraduate Research Opportunities Program (UROP) + http://web.mit.edu/urop/ + acad-programs + research + jobs + Research, undergraduate opportunities + 7-103 + + + Urban Studies and Planning, Dept. of + http://dusp.mit.edu/ + acad-programs + 7-346 + 9 + 10 + W31 + + + Utilities + http://web.mit.edu/facilities/about/operations/utilities.html + facilities + NE49-3400 + + + Vending machines + http://web.mit.edu/dining/locations/vending.html + food + + + Venture Mentoring Service + http://web.mit.edu/vms/ + research + alumni + b8-resources + 10-358 + + + Vice President for Research + http://web.mit.edu/vpr/www/ + admin-resources + outreach + research + b5-offices + Research, Vice President for + 3-240 + + + Virus protection + http://web.mit.edu/ist/topics/virus/ + computing + + + Voo Doo Magazine + http://web.mit.edu/voodoo/www/voodoo.html + publications + + + W1MX Radio Society + http://web.mit.edu/w1mx/ + student-life + Ham Radio Society + 50-358 + + + Washington, D.C. Office + http://web.mit.edu/dc/ + admin-resources + outreach + b5-offices + OFF CAMPUS + + + Departmental Consulting and Application Development (DCAD) + http://web.mit.edu/ist/dcad/ + computing + comm-resources + N42-240 + + + Web Page Legal and Policy Guidelines + http://web.mit.edu/ist/web/reference/guidelines/legal.html + policies + computing + + + What's the Score? + http://libraries.mit.edu/music/news/news-index.html + publications + + + Whitaker College of Health Sciences and Technology (HST) + http://hst.mit.edu/ + acad-programs + Health Sciences and Technology Program (HST) + E25-519 + + + Women's League calendar + http://web.mit.edu/womensleague/calendar.html + calendars + + + Women's League, MIT + http://web.mit.edu/womensleague/ + support + 10-342 + + + Out and About (formerly Women's Studies Around Boston) + http://web.mit.edu/wgs/events/out.html + publications + + + Work, Family, and Personal Life, The Center for + http://hrweb.mit.edu/worklife/ + support + employment + Family Resource Center + 16-151 + + + Working Group on Support Staff Issues + http://web.mit.edu/committees/wgssi/ + support + employment + admin-resources + 56-731 + + + Working Group Recycling Committee + http://web.mit.edu/wgrecycling/ + environment + + + Writing and Humanistic Studies, Program in + http://web.mit.edu/humanistic/www/ + acad-programs + 14E-302 + + + Writing and Communication Center + http://web.mit.edu/writing/ + acad-resources + 32-081 + + + Writing Across the Curriculum at MIT + http://web.mit.edu/wac/ + acad-resources + 32-083 + + + Zesiger Sports and Fitness Center + http://web.mit.edu/zcenter/ + health + facilities + W35 + + + Zipcar + http://web.mit.edu/facilities/transportation/commuting/zipcar.html + transportation + Car Sharing + + + Daytime Boston Shuttle + http://web.mit.edu/facilities/transportation/shuttles/daytime_boston.html + transportation + Shuttle, Daytime Boston + + + 50K competition + http://50k.mit.edu/ + b8-resources + + + Deshpande Center for Technological Innovation + http://web.mit.edu/deshpandecenter/ + b8-resources + outreach + research + + + Entrepreneurs Club + http://web.mit.edu/e-club/www/ + b8-resources + + + Entrepreneurship Center + http://entrepreneurship.mit.edu/ + b8-resources + outreach + research + E40-196 + + + Science and Engineering Business Club + http://web.mit.edu/sebc/ + b8-resources + + + TechLink + http://web.mit.edu/techlink/ + b8-resources + + + Venture Capital & Private Equity Club + http://www.mitvcpi.org/ + b8-resources + + + City Design and Development + http://web.mit.edu/dusp/cdd/ + acad-programs + 10-485 + + diff --git a/web/map/xml/research/links.xml b/web/map/xml/research/links.xml new file mode 100755 index 0000000..dc0561e --- /dev/null +++ b/web/map/xml/research/links.xml @@ -0,0 +1,2504 @@ + + + + + + + + Legatum Center for Development and Entrepreneurship at MIT + http://www.lcde.org/ + ei-program + NE20-382 + + + David H. Koch Institute for Integrative Cancer Research + http://web.mit.edu/ki/ + bio-program + nano-program + cancer-program + med-program + Koch Institute for Integrative Cancer Research + Cancer Research, Koch Institute for + + + MIT-Portugal Program + http://www.mitportugal.org/ + bio-program + me-program + en-program + aa-program + Portugal Program, MIT + + + Program in Polymer Science and Technology (PPST) + http://web.mit.edu/ppst/ + mate-program + ch-program + me-program + Polymer Science and Technology Program + + + Systems Engineering Advancement Research Initiative + http://seari.mit.edu/ + aa-program + bus-program + me-program + NE20-388 + + + Astrophysics Division + http://web.mit.edu/astrophysics/ + as-program + ph-program + 37 + + + Planetary Astronomy Laboratory + http://occult.mit.edu/ + as-program + eaps-program + + + George R. Wallace, Jr. Astrophysical Observatory + http://web.mit.edu/wallace/ + as-program + Wallace Astrophysical Observatory + Astrophysical Observatory, George R. Wallace, Jr. + OFF CAMPUS + + + Astronomy at MIT + http://web.mit.edu/astronomy/ + as-program + + + Reacting Gas Dynamics Laboratory + http://web.mit.edu/rgd/www/ + me-program + en-program + 3-339 + + + Center for 21st-Century Energy + http://web.mit.edu/c21ce/ + me-program + en-program + 31 + + + Electrochemical Energy Laboratory + http://web.mit.edu/eel/ + en-program + 31-056 + + + Human Cost of War in Iraq + http://web.mit.edu/humancostiraq + ss-program + + + Fuel Cell Laboratory + http://web.mit.edu/mecheng/fcp/ + en-program + me-program + 41-202 + + + MIT Energy Initiative (MITEI) + http://web.mit.edu/mitei/ + en + + + Communications and Networking Research Group + http://web.mit.edu/aeroastro/labs/cnrg/ + aa-program + cs-program + ee-program + 33-412 + + + Aeronautical &amp; astronautical engineering: news in depth + http://web.mit.edu/newsoffice/topic/aeronautics.html + aa-news + + + Abdul Latif Jameel Poverty Action Lab + http://www.povertyactionlab.com/ + ec-program + E60-275 + + + Environmental Microfluidics Laboratory + http://web.mit.edu/romanstocker/ + bio-program + oc-program + + + Autonomous Marine Sensing Systems, Laboratory for + http://acoustics.mit.edu/faculty/henrik/LAMSS/laboratory_for_autonomous_marine_sensing_systems.html + me-program + oc-program + 5-223 + + + Undersea Remote Sensing, MIT Laboratory for + http://acoustics.mit.edu/faculty/makris/Laboratory_for_Undersea_Remote_Sensing.html + me-program + oc-program + 5-229 + + + Materials @ MIT + http://materials.mit.edu/ + mate-program + + + Visual Arts Program (VAP) + http://web.mit.edu/vap/ + ar-program + VAP + N51 + N52 + + + Auditory Physics Group + http://web.mit.edu/apg/ + neuro-program + ph-program + med-program + 243 Charles St. Boston, MA (Mass Eye and Ear Infirmary) + + + Gabrieli Lab + http://web.mit.edu/gabrieli-lab/ + neuro-program + + + Martinos Imaging Center at the McGovern Institute for Brain Research + http://web.mit.edu/mitmri/ + neuro-program + med-program + 46-1171 + + + Partnership for AiR Transportation Noise and Emissions Reduction + http://web.mit.edu/aeroastro/www/partner/ + aa-program + 31 + + + Dynamic Load Sensors and Space Flight Experiment + http://web.mit.edu/aeroastro/www/labs/DLS/HTML-Files/ + aa-program + + + Complex Systems Research Lab + http://sunnyday.mit.edu/csrl.html + aa-program + + + Aerospace Controls Lab + http://acl.mit.edu/ + aa-program + + + NanoEngineering Group + http://web.mit.edu/nanoengineering/ + me-program + nano-program + + + Biomedical Innovation, Center for + http://web.mit.edu/cbi/ + bio-program + bus-program + ei-program + med-program + Center for Biomedical Innovation + NE20-382 + + + Local Innovation Systems + http://web.mit.edu/lis/ + bus-program + ec-program + ei-program + + + Space Propulsion Laboratory + http://web.mit.edu/dept/aeroastro/www/labs/SPL/home.htm + aa-program + + + Program on Emerging Technologies (PoET) + http://poet.mit.edu/ + ss-program + ts-program + E38-600 + + + Center for Nanofluids Technology + http://web.mit.edu/nse/nanofluids/ + nano-program + nuclear-program + me-program + aa-program + ch-program + ee-program + 24-206 + + + Park Center for Complex Systems + http://web.mit.edu/pccs/ + me-program + aa-program + nano-program + bio-program + 35-237 + + + Wurtman Lab of Neuroendocrine Regulation + http://web.mit.edu/wurtmanlab/ + neuro-program + bio-program + + + Newman Laboratory for Biomechanics and Human Rehabilitation + http://web.mit.edu/hogan/www/ + me-program + med-program + robo-program + + + Fab Lab (Center for Bits and Atoms) + http://fab.cba.mit.edu/ + mas-program + me-program + + + Center for Bits and Atoms + http://cba.mit.edu/ + en-program +mas-program + cs-program + me-program + + + Research in Learning, Assessing, and Tutoring Effectively (RELATE) + http://relate.mit.edu/ + ed-program + + + Energy Science and Engineering + http://web.mit.edu/ese/ + me-program +en-program + + + Computation for Design and Optimization + http://web.mit.edu/cdo-program/ + cs-program + aa-program + bus-program + math-program + + + Laboratory for Multiscale Regenerative Technologies + http://lmrt.mit.edu + bio-program + ee-program + med-program + nano-program + ch-program + + + Data Center, The + http://datacenter.mit.edu/ + cs-program + bus-program + me-program + math-program + + + MIT@Lawrence + http://www.MITatLawrence.net/ + usp-program + + + Center for Reflective Community Practice + http://crcp.mit.edu + usp-program + ss-program + + + Arts, Office of the + http://web.mit.edu/arts/ + ar + E15 + + + Health sciences and technology: news in depth + http://web.mit.edu/newsoffice/topic/health.html + med-news + + + Cancer research: news in depth + http://web.mit.edu/newsoffice/topic/cancer-research.html + cancer-news + + + Latest MIT research news + http://web.mit.edu/newsoffice/research.html + resources-news + + + Innovation and inventions: news in depth + http://web.mit.edu/newsoffice/topic/innovation.html + ei-news + + + Genetics: news in depth + http://web.mit.edu/newsoffice/topic/genetics.html + med-news + + + Biology: news in depth + http://web.mit.edu/newsoffice/topic/biology.html + bio-news + + + Bioengineering and biotechnology: news in depth + http://web.mit.edu/newsoffice/topic/biotech.html + bio-news + + + Education/teaching: news in depth + http://web.mit.edu/newsoffice/topic/education.html + ed-news + + + Media lab/media arts and sciences: news in depth + http://web.mit.edu/newsoffice/topic/media-lab.html + mas-news + ss-news + + + Political science: news in depth + http://web.mit.edu/newsoffice/topic/political-science.html + ss-news + ts-news + + + Security studies and military: news in depth + http://web.mit.edu/newsoffice/topic/security-studies.html + ss-news + ts-news + + + Voting technology: news in depth + http://web.mit.edu/newsoffice/topic/voting.html + ss-news + ts-news + + + Materials science: news in depth + http://web.mit.edu/newsoffice/topic/materials-science.html + mate-news + + + Mathematics: news in depth + http://web.mit.edu/newsoffice/topic/mathematics.html + math-news + + + Mechanical engineering: news in depth + http://web.mit.edu/newsoffice/topic/mechanical-engineering.html + me-news + + + Music technology: news in depth + http://web.mit.edu/newsoffice/topic/music.html + music-news + + + Nanoscience and nanotechnology: news in depth + http://web.mit.edu/newsoffice/topic/nanotech.html + nano-news + + + Neuroscience: news in depth + http://web.mit.edu/newsoffice/topic/neuroscience.html + neuro-news + cog-news + + + Languages and literature: news in depth + http://web.mit.edu/newsoffice/topic/literature-languages.html + lang-lit-news + + + Nuclear engineering: news in depth + http://web.mit.edu/newsoffice/topic/nuclear-engineering.html + nuclear-news + + + Oceanography and ocean engineering: news in depth + http://web.mit.edu/newsoffice/topic/oceans.html + oc-news + + + Physics: news in depth + http://web.mit.edu/newsoffice/topic/physics.html + ph-news + + + Robotics and artificial intelligence: news in depth + http://web.mit.edu/newsoffice/topic/robotics.html + robo-news + + + Technology and society: news in depth + http://web.mit.edu/newsoffice/topic/technology-society.html + ts-news + ss-news + + + Urban studies and planning: news in depth + http://web.mit.edu/newsoffice/topic/urban-studies.html + usp-news + ss-news + + + Business and management: news in depth + http://web.mit.edu/newsoffice/topic/business.html + bus-news + + + Chemistry and chemical engineering: news in depth + http://web.mit.edu/newsoffice/topic/chemistry.html + ch-news + + + Civil engineering: news in depth + http://web.mit.edu/newsoffice/topic/civil-engineering.html + civ-news + + + Computer science: news in depth + http://web.mit.edu/newsoffice/topic/computers.html + cs-news + + + Earth and atmospheric science: news in depth + http://web.mit.edu/newsoffice/topic/earth-atmosphere.html + eaps-news + + + Economics: news in depth + http://web.mit.edu/newsoffice/topic/economics.html + ec-news + ss-news + + + Linguistics: news in depth + http://web.mit.edu/newsoffice/topic/linguistics.html + lang-lit-news + ss-news + + + Electrical engineering: news in depth + http://web.mit.edu/newsoffice/topic/electrical-engineering.html + ee-news + + + Entrepreneurship: news in depth + http://web.mit.edu/newsoffice/topic/entrepreneurship.html + ei-news + + + Environment: news in depth + http://web.mit.edu/newsoffice/topic/environment.html + civ-news + + + Energy: news in depth + http://web.mit.edu/newsoffice/topic/energy.html + en-news + + + History: news in depth + http://web.mit.edu/newsoffice/topic/history.html + hist-news + ss-news + + + Humanities: news in depth + http://web.mit.edu/newsoffice/topic/humanities.html + hu-news + + + Architecture: news in depth + http://web.mit.edu/newsoffice/topic/architecture.html + ah-news + + + Arts: news in depth + http://web.mit.edu/newsoffice/topic/arts.html + ar-news + + + Space, astronomy and planetary science: news in depth + http://web.mit.edu/newsoffice/topic/space.html + as-news + + + Advanced Nuclear Energy Systems (CANES), Center for + http://web.mit.edu/canes/ + ph-program + en-program + nuclear-program + 24 + + + Aeronautical Systems Laboratory + http://web.mit.edu/aeroastro/www/labs/ASL/ASL.html + aa-program + + + Aeronautics and Astronautics, Dept. of + http://web.mit.edu/aeroastro/ + aa-program + 33-207 + + + Aerospace Computational Design Lab (ACDL) + http://raphael.mit.edu/ + aa-program + cs-program + ma + Fluid Dynamics Research Laboratory + 37-461 + + + Embedded Systems Laboratory + http://esl.mit.edu/ + aa-program + + + Aga Khan Program for Islamic Architecture + http://web.mit.edu/akpia/www/AKPsite/index.htm + ah-program + ss-program + 10 + + + Age Lab + http://web.mit.edu/agelab/ + med-program + ts-program + E40 + + + Airborne Organics, Center on + http://web.mit.edu/airquality/www/ + en-program + civ-program + 66-454 + + + Alewife Project + http://www.cag.lcs.mit.edu/alewife/ + cs-program + 32 + + + Alliance for Global Sustainability + http://lfee.mit.edu/metadot/index.pl?id=2203&amp;isa=Category&amp;op=show + ts-program + ec-program + poli-program + civ-program + en-program + E40 + + + Anthropology, Dept. of + http://web.mit.edu/anthropology/ + hu-program + ss-program + 16 + + + Architecture, Dept. of + http://architecture.mit.edu/ + ah-program + 7 + + + Computer Science and Artificial Intelligence Laboratory (CSAIL) + http://www.csail.mit.edu/ + aa-program + en-program + bus-program + ee-program + cs-program + robo-program + nano-program + cog-program + Computer Science + Artificial Intelligence Laboratory + 32 + + + Artificial Muscle Project (CSAIL) + http://www.ai.mit.edu/projects/muscle/muscle.html + cs-program + me-program + robo-program + 32 + + + Auto-ID Center + http://autoidlabs.mit.edu/ + cs-program + ee-program + NE46 + + + Bates Linear Accelerator + http://mitbates.lns.mit.edu/bates/control/main + ph-program + OFF CAMPUS + + + Bioinstrumentation Engineering And Microanalysis (BEAM group) + http://web.mit.edu/solab/www/ + bio-program + 3 + + + BioInstrumentation Laboratory + http://bioinstrumentation.mit.edu/ + bio-program + ch-program + me-program + ee-program + 3 + + + Biological and Computational Learning, Center for + http://cbcl.mit.edu/ + bio-program + cs-program + Center for Biological and Computational Learning + 46 + + + Department of Biological Engineering + http://web.mit.edu/be/ + bio-program + cancer-program + 56-651 + + + Department of Biology + http://web.mit.edu/biology/www/ + bio-program + nano-program + cancer-program + Biology, Department of + 68-132 + + + Biomedical Engineering, Center for + http://web.mit.edu/cbe/www/ + bio-program + med-program + Center for Biomedical Engineering + NE47-377 + + + BioMicro Center + http://web.mit.edu/biomicro/ + bio-program + 68-371 + + + Biopolymers Laboratory + http://web.mit.edu/biopolymers/www/ + bio-program + E17 + + + Biotechnology Process Engineering Center (BPEC) + http://web.mit.edu/bpec/ + bio-program + 16 + + + Brain and Cognitive Sciences, Dept. of + http://web.mit.edu/bcs/ + bio-program + cs-program + med-program + ss-program + neuro-program + cog-program + 46-2005 + + + Broad Institute + http://www.broad.mit.edu/ + bio-program + cs-program + med-program + cancer-program + Center for Genome Research + NE30 + NE125 + + + Building Technology Program + http://web.mit.edu/bt/www/ + civ-program + en-program + ah-program + 5 + + + Earth Systems Estimation and Inference Group (ESEI) + http://esei.mit.edu/ + civ-program + eaps-program + + + Water and Sanitation + http://web.mit.edu/watsan + civ-program + + + Boron Neutron Capture Therapy (BNCT) + http://web.mit.edu/nrl/www/bnct/bnct_home.html + nuclear-program + med-program + + + Bionuclear Science &amp; Engineering + http://web.mit.edu/nse/research/science_eng/bionuclear.html + nuclear-program + med-program + + + Cadlab, MIT + http://cadlab.mit.edu/ + me-program + cs-program + 3-458 + + + Cambridge-MIT Institute (CMI) + http://www.cambridge-mit.org/ + resources-program + en-program + 8-403 + + + Chemical Beam Epitaxy Group + http://web.mit.edu/cbegroup/ + ee-program + ph-program + mate-program + 13-3065 + + + Chemical Engineering, Dept. of + http://web.mit.edu/cheme/research/ + bio-program + ch-program + en-program + mate-program + nano-program + cancer-program + 66-350 + + + Chemistry, Dept. of + http://web.mit.edu/chemistry/www/ + ch-program + me-program + med-program + bio-program + nano-program + cancer-program + 18-390 + + + China Program, MIT + http://web.mit.edu/mit-china/www/ + resources-program + E38-652 + + + Parsons Laboratory for Environmental Science and Engineering + http://cee.mit.edu/index.pl?id=21384&ampisa=Category&amp;op=show + civ-program + eaps-program + en-program + bio-program + Environmental Science and Engineering, Parsons Laboratory for + 1-290 + + + Civil and Environmental Engineering, Dept. of + http://cee.mit.edu/ + civ-program + ch-program + eaps-program + en-program + 1-290 + + + Clinical Decision-Making Group (MEDG) + http://medg.lcs.mit.edu/ + cs-program + med-program + 32 + + + Clinical Research Center (CRC) + http://web.mit.edu/crc/www + bio-program + med-program + resources + E18-445 + + + Combustion and Fuels Research Group + http://web.mit.edu/anish/www/MITcomb.html + ch-program + 66-350 + + + Communications Forum, MIT + http://web.mit.edu/comm-forum/ + hu-program + ar-program + ts-program + 14N-207 + + + Comparative Media Studies + http://web.mit.edu/cms/ + hu-program + ar-program + mas-program + 14N-207 + + + Comparative Medicine, Division of + http://web.mit.edu/comp-med/ + bio-program + med-program + 16-825 + + + Computation Structures Group + http://www.csg.lcs.mit.edu/ + cs-program + 32 + + + Computational and Systems Biology (CSBi) + http://csbi.mit.edu/ + bio-program + cancer-program + comp-program + + + Computational Research in Economics and Management, Center for + http://web.mit.edu/catalogue/overv.chap6-crems.shtml + bus-program + ec-program + cs-program + E53-383 + + + Computer Architecture Group + http://www.cag.lcs.mit.edu/ + cs-program + 32 + + + Computer Graphics Group + http://graphics.lcs.mit.edu/ + cs-program + ar-program + 32 + + + Computer Resource Laboratory (CRL) + http://gis.mit.edu/ + cs-program + civ-program + 9-530 + + + Condensed Matter Theory Group + http://web.mit.edu/physics/cmt/ + ph-program + 12-113 + + + Collective Intelligence (CCI), Center for + http://cci.mit.edu/ + bus-program + E53-333 + + + Copyright Information + http://web.mit.edu/copyright/ + resources-program + + + Corporate Relations, Office of + http://ilp.mit.edu/ocr/ + resources-program + E38-500 + + + Council on Educational Technology + http://web.mit.edu/cet/ + ed-program + 9-334 + + + Council on Primary and Secondary Education + http://web.mit.edu/cpse/ + ed-program + 8-202 + + + d'Arbeloff Fund for Excellence in Education + http://web.mit.edu/cet/init/darbeloff.html + ed-program + + + d'Arbeloff Laboratory for Information Systems and Technology + http://darbelofflab.mit.edu/ + me-program + cs-program + 3-350 + + + Deshpande Center for Technological Innovation + http://web.mit.edu/deshpandecenter/ + en-program +resources-program + ei-program + 1-206 + + + Design and Computation + http://destech.mit.edu/ + ah-program + cs-program + 7-331 + + + Digital Design and Fabrication Group + http://web.mit.edu/ddfg/ + cs-program + ah-program + N51-336 + + + Draper Laboratory + http://www.draper.com/ + aa-program + me-program + 555 Technology Square + + + DSpace + https://dspace.mit.edu/ + ed-program + resources-program + 14S-M24 + + + Earth Resources Laboratory + http://eaps.mit.edu/erl/ + eaps-program + en-program + civ-program + E34 + + + Earth System Initiative + http://web.mit.edu/esi/ + eaps-program + en-program + civ-program + 16-177 + + + Earth, Atmospheric, and Planetary Sciences (EAPS), Dept. of + http://eapsweb.mit.edu/ + as-program + oc-program + eaps-program + civ-program + 54-918 + + + Eaton-Peabody Laboratory of Auditory Physiology + http://web.mit.edu/epl/ + med-program + 243 Charles St. Boston, MA (Mass Eye and Ear Infirmary) + + + Digital Business, MIT Center for + http://digital.mit.edu/ + bus-program + + + Economics, Dept. of + http://econ-www.mit.edu/ + ec-program + ss-program + E52-391 + + + Edgerton Center + http://web.mit.edu/edgerton/ + ee-program + cs-program + 4-405 + + + Center for Educational Computing Initiatives (CECI) + http://ceci.mit.edu/ + ed-program + bio-program + cs-program + ar-program + Educational Computing Initiatives, Center for + 9-325 + + + Electrical Engineering and Computer Science, Dept. of + http://www-eecs.mit.edu/ + ee-program + cs-program + 38-401 + + + Electroceramics Group + http://electroceramics.mit.edu/ + ee-program + ph-program + mate-program + 13-3126 + + + Electromagnetic Theory and Applications, Center for + http://ceta.mit.edu/ + ee-program + ph-program + 26-305 + + + Electron Microprobe Laboratory + http://web.mit.edu/e-probe/www/ + eaps-program + 54-1221 + + + Energy and Environmental Policy Research (CEEPR), Center for + http://web.mit.edu/ceepr/www/ + ec-program + en-program + poli-program + civ-program + E40-279 + + + Engineering Systems Division (ESD) + http://esd.mit.edu/ + ei-program + E40-349 + + + Enterprise Forum, MIT + http://web.mit.edu/entforum/ + bus-program + ei-program + W59-230 + + + Entrepreneurship Center + http://entrepreneurship.mit.edu/ + bus-program + ei-program + + + Forum for Supply Chain Innovation + http://supplychain.mit.edu/ + bus-program + ei-program + 1-179 + + + Environment at MIT + http://web.mit.edu/environment/ + civ-program + + + Environment Health and Safety Office + http://web.mit.edu/environment/ehs/topic/ + civ-program + resources-program + + + Center for Environmental Health Sciences + http://cehs.mit.edu/ + bio-program + med-program + civ-program + Environmental Health Sciences, Center for + 56-235 + + + Environmental Technology &amp; Public Policy Program + http://web.mit.edu/dusp/etpp/ + civ-program + poli-program + usp-program + 9-324 + + + Experimental Petrology Laboratory + http://web.mit.edu/petrolab/www/ + eaps-program + 54-1220 + + + Flight Transportation Laboratory + http://web.mit.edu/aeroastro/www/labs/FTL/ftl.html + aa-program + 33-111 + + + Fluid Dynamics Laboratory (math) + http://www-math.mit.edu/~bush/fdlab.html + ph-program + ma-program + 2-031 + + + Foreign Languages and Literatures, Dept. of + http://web.mit.edu/fll/www/ + hu-program + ling-program + lang-lit-program + 14N-305 + + + Francis Bitter Magnet Laboratory + http://web.mit.edu/fbml/cmr/ + bio-program + ch-program + me-program + ph-program + med-program + nuclear-program + Magnetic Resonance, Center for + NW14-3218 + + + Garrity Lab + http://web.mit.edu/biology/garrity/ + bio-program + 68-230 + + + Gas Turbine Laboratory + http://web.mit.edu/aeroastro/www/labs/GTL/ + aa-program + en-program + 31-264 + + + Germany Program, MIT + http://web.mit.edu/mit-germany/ + hu-program + ling-program + E38-716 + + + Global Airline Industry Program + http://web.mit.edu/airlines/ + aa-program + ts-program + ss-program + 33-215 + + + Global Change Science, Center for + http://web.mit.edu/cgcs/www/ + ch-program + oc-program + civ-program + en-program +eaps-program + 54-1312 + + + Global System for Sustainable Development + http://gssd.mit.edu/ + ts-program + ss-program + E53-490 + + + Guarente Lab + http://web.mit.edu/biology/guarente/ + bio-program + 14-0551 + + + H.H. Uhlig Corrosion Laboratory + http://dmse.mit.edu/UhligLab/ + mate-program + 8-202 + + + Hatsopoulos Microfluids Laboratory (Fluid Mechanics Laboratory) + http://web.mit.edu/fluids/www/ + me-program + 3-258 + + + Haystack Observatory + http://www.haystack.mit.edu/ + aa-programs + eaps-program + ee-program + as-program + OFF CAMPUS + + + Histology Facility + http://web.mit.edu/histology + bio-program + resources-program + med-program + E17-110 + + + History, Dept. of + http://web.mit.edu/history/www/ + hu-program + hist-program + E51-285 + + + History, Theory and Criticism of Architecture and Art + http://architecture.mit.edu/htc/research/ + ar-program + ah-program + hist-program + hu-program + HTC@MIT + 10-303 + 3-303 + + + House_n: The MIT Home of the Future Project + http://architecture.mit.edu/house_n/ + ah-program + ss-program + cs-program + NE18-4FL + + + Human Genomics Laboratory + http://web.mit.edu/hman-genomics/www/ + bio-program + E17-543 + + + Humanoid Robotics Project (The Cog Shop) + http://www.ai.mit.edu/projects/humanoid-robotics-group/ + cs-program + me-program + ee-program + robo-program + 32 + + + Humans as Experimental Subjects (COUHES), Committee on the Use of + http://web.mit.edu/committees/couhes/ + resources-program + E32-335 + + + Hurricane Lab + http://web.mit.edu/hurricanelab/ + eaps-program + oc-program + 54-1620 + + + Hynes Lab, The + http://web.mit.edu/ccrhq/hyneslab/ + bio-program + med-program + E17-227 + + + iCampus + http://icampus.mit.edu/ + ed-program + 32 + + + Image and Meaning Initiative + http://web.mit.edu/i-m/ + hu-program + ar-program + + + Impact and Crashworthiness Laboratory + http://web.mit.edu/icl/ + oc-program + me-program + 5-007 + + + Industrial Liaison Program (ILP) + http://ilp-www.mit.edu/ + resources-program + E38-400 + + + Industrial Performance Center + http://web.mit.edu/ipc/www/ + en-program + bus-program + ts-program + ec-program + E38-104 + + + Information Systems Research, Center for + http://mitsloan.mit.edu/cisr/ + bus-program + NE20-336 + + + Infrastructure Systems Development + http://web.mit.edu/civenv/idr/ + civ-program + usp-program + 1-170 + + + Innovation in Product Development, Center for + http://cipd.mit.edu/ + bus-program + me-program + E60-275 + + + Institute for Soldier Nanotechnologies + http://web.mit.edu/isn/ + mate-program + nano-program + NE47-4FL + + + Institute for Work and Employment Research + http://mitsloan.mit.edu/iwer/ + bus-program + poli-program + E52-583 + + + Intellectual Property Counsel + http://web.mit.edu/ipcounsel/ + resources-program + Patent office + NE25-230 + + + Intelligent Transportation Systems Program + http://web.mit.edu/its/ + civ-program + ts-program + NE20 + + + International Center for Air Transportation (ICAT) + http://web.mit.edu/aeroastro/www/labs/ICAT/ + aa-program + 33-303 + + + International Consortium for Medical Imaging Technology + http://icmit.mit.edu/ + med-program + bio-program + 3-254 + + + International Migration, Inter-University Committee on + http://web.mit.edu/cis/www/migration/ + poli-program + ss-program + + + International Motor Vehicle Program + http://web.mit.edu/ctpid/www/imvp/ + bus-program + ts-program + E40-202 + + + International Scholars Office + http://web.mit.edu/scholars/ + resources-program + 4-105 + + + International Studies, Center for + http://web.mit.edu/cis/ + poli-program + ss-program + hu-program + E38-648 + + + Japan Program, MIT + http://web.mit.edu/mit-japan/www/ + bus-program + E38-648 + + + Jonathan King Lab + http://web.mit.edu/king-lab/www/ + bio-program + 68-330 + + + JP NET Project + http://web.mit.edu/jpnet/ + hu-program + + + Keating Lab + http://web.mit.edu/biology/keating/ + bio-program + 68-622 + + + Laboratory for Electromagnetic and Electronic Systems (LEES) + http://lees.mit.edu/lees/ + bio-program + en-program + ee-program + 10-172 + + + Laboratory For Energy and the Environment (LFEE) + http://lfee.mit.edu/ + ch-program + nuclear-program + civ-program + eaps-program + ec-program + me-program + mate-program + ss-program + poli-program + en-program + E40-455 + + + Laboratory for Financial Engineering + http://lfe.mit.edu/ + bus-program + E70-800 + + + Laboratory for Human and Machine Haptics + http://touchlab.mit.edu/ + mate-program + me-program + robo-program + Touch Lab + 36-796 + + + Laboratory for Information and Decision Systems (LIDS) + http://lids.mit.edu/ + ee-program + mate-program + cog-program + 32 + + + Laboratory for Manufacturing and Productivity + http://web.mit.edu/lmp/ + me-program + 35-234 + + + Laboratory for Nuclear Science + http://www2.lns.mit.edu/ + ph-program + nuclear-program + 26-505 + + + Larch + http://www.sds.lcs.mit.edu/spd/larch/ + cs-program + 38-401 + + + Leaders for Manufacturing Program + http://lfmsdm.mit.edu/ + bus-program + E40-422 + + + Lean Aerospace Initiative + http://web.mit.edu/lean/ + aa-program + 41-205 + + + Leg Lab (CSAIL) + http://www.ai.mit.edu/projects/leglab/ + cs-program + ee-program + me-program + robo-program + 32 + + + Libraries + http://libraries.mit.edu/ + resources-program + 14S-216 + + + Lincoln Laboratory + http://www.ll.mit.edu/ + ph-program + ee-program + cs-program + OFF CAMPUS + + + Linguistics, Dept. of + http://web.mit.edu/linguistics/www/home.html + hu-program + ss-program + cog-program + ling-program + 32 + + + Literature, Dept. of + http://web.mit.edu/lit/www/ + hu-program + lang-lit-program + ar-program + 14N-407 + + + Magnetic Materials and Devices Group + http://web.mit.edu/dmse/ross/ + mate-program + + + Man Vehicle Laboratory + http://mvl.mit.edu/ + aa-program + ee-program + 37-219 + + + Management of Technology Program + http://mitsloan.mit.edu/fellows/ + bus-program + ts-program + E52-126 + + + Marine Hydrodynamics Lab + http://web.mit.edu/mhl/www/ + oc-program + 3-269 + + + Martinos Center for Biomedical Imaging + http://www.nmr.mgh.harvard.edu/ + med-program + OFF CAMPUS + + + Materials Processing Center + http://web.mit.edu/mpc/www/ + bio-program + ch-program + ee-program + mate-program + ph-program + neuro-program + 12-007 + + + Materials Research in Archaeology and Ethnology, Center for + http://web.mit.edu/cmrae/cmrae_home.htm + mate-program + hist-program + 8-138 + + + Materials Science and Engineering (CMSE), Center for + http://web.mit.edu/cmse/www/ + mate-program + en-program + ph-program + nano-program + Center for Materials Science and Engineering + 13-2106 + + + Materials Science and Engineering, Dept. of + http://dmse.mit.edu/ + mate-program + ph-program + nano-program + 8-309 + + + Mathematics, Dept. of + http://www-math.mit.edu/ + math-program + 2-236 + + + McGovern Institute for Brain Research + http://web.mit.edu/mcgovern/ + bio-program + neuro-program + cog-program + med-program + 46-3160 + + + Mechanical Engineering, Dept. of + http://www-me.mit.edu/ + me-program + oc-program + ch-program + mate-program + nano-program + 3-173 + + + Mechatronics Research Laboratory + http://mechatronics.mit.edu + me-program + 3-350 + + + Media Arts and Sciences, Program in + http://www.media.mit.edu/mas/ + cs-program + ar-program + hu-program + mas + E15-401 + + + Media In Transition + http://web.mit.edu/m-i-t/ + cs-program + ar-program + hu-program + mas-program + E15-401 + + + Media Laboratory + http://www.media.mit.edu/ + cs-program + ar-program + en-program + hu-program + mas-program + E15-212 + NE20 + NE18 + + + Media Laboratory, Research Groups + http://www.media.mit.edu/research/ + cs-program + ar-program + hu-program + mas-program + + + Mellon-MIT Inter-University Program on NGOs and Forced Migration + http://web.mit.edu/cis/www/migration/mellon_announcement.html + poli-program + ss-program + E38-600 + + + Microphotonics Center + http://web.mit.edu/mphotonics/www/ + ch-program + mate-program + neuro-program + 12-007 + + + Microsystems Technology Laboratories (MTL) + http://mtlweb.mit.edu/ + bio-program + en-program + ch-program + ee-program + mate-program + nano-program + 39-321 + + + MIT/AGS Consortium for Environmental Challenges + http://lfee.mit.edu/metadot/index.pl?id=2204&amp;isa=Category&amp;op=show + en-program + civ-program + + + Humans and Automation Lab (HAL) + http://web.mit.edu/aeroastro/www/labs/halab/ + aa-program + + + Mobile Robotics Group (CSAIL) + http://www.ai.mit.edu/projects/mobile-robots/ + cs-program + me-program + ee-program + robo-program + 32 + + + Moore Lab + http://web.mit.edu/moore/ + neuro-program + bio-program + 46 + + + Multiscale Computing Project + http://www.cag.lcs.mit.edu/multiscale/ + cs-program + 32 + + + Music and Theater Arts + http://web.mit.edu/mta/www/ + hu-program + ar-program + Theater Arts and Music + 4-246 + + + Music, Mind and Machine + http://sound.media.mit.edu/ + music-program + ar-program + mas-program + E15-212 + + + NanoMechanical Technology Laboratory + http://web.mit.edu/nanolab/ + mate-program + me-program + nano-program + 8-309 + + + NanoStructures Laboratory + http://nanoweb.mit.edu/ + mate-program + nano-program + 39-427 + + + Networks and Mobile Systems + http://nms.csail.mit.edu + cs-program + 32 + + + Nonlinear Systems Laboratory + http://web.mit.edu/nsl/www/ + me-program + cog-program + bio-program + robo-program + neuro-program + 3-338 + + + Nuclear Science and Engineering, Dept. of + http://web.mit.edu/nse/ + ph-program + en-program + nuclear-program + nano-program + 24-105 + + + Nuclear Reactor Laboratory + http://web.mit.edu/nrl/www/ + ph-program + en-program + nuclear-program + NW12-208 + + + NuMesh Group + http://www.cag.lcs.mit.edu/numesh/ + cs-program + 32 + + + Ocean Engineering Design Laboratory + http://deslab.mit.edu/ + oc-program + 5-428 + + + Ocean Engineering Fabrication Laboratory + http://fablab.mit.edu/ + oc-program + 5-034 + + + Ocean Engineering, Center for + http://oe.mit.edu/ + math-program + en-program + eaps-program + oc-program + 5-228 + + + MIT OpenCourseWare (OCW) + http://ocw.mit.edu/ + ed-program + OpenCourseWare (OCW) + 9 + + + Open Knowledge Initiative (OKI) + http://web.mit.edu/oki/ + ed-program + + + Operations Research Center + http://web.mit.edu/orc/www/ + math-program + bus-program + cs-program + E40-149 + + + Parallel and Distributed Operating Systems Group + http://www.pdos.lcs.mit.edu/ + cs-program + 32 + + + Philosophy, Dept. of + http://web.mit.edu/philos/www/ + hu-program + ss-program + philo-program + 32 + + + Physics, Dept. of + http://web.mit.edu/physics/ + ph-program + as-program + math-program + 6-113 + + + Picower Institute for Learning and Memory + http://web.mit.edu/picower/ + bio-program + med-program + cog-program + neuro-program + E17-353 + 46-1303 + + + Plasma Science and Fusion Center + http://www.psfc.mit.edu/ + en-program + me-program + ph-program + nuclear-program + NW16-204 + + + Political Science, Dept. of + http://web.mit.edu/polisci/ + poli-program + ss-program + + + Postdoctoral Scholars + http://web.mit.edu/mitpostdocs/ + resources-program + 11 + + + Precision Engineering Research Group + http://pergatory.mit.edu + me-program + 3-445 + + + Productivity from Information Technology + http://mitsloan.mit.edu/research/profit/ + bus-program + ts-program + E53-311 + + + Program in Atmospheres, Oceans, and Climate + http://paoc.mit.edu/paoc + eaps-program + oc-program + civ-program + Atmospheres, Oceans, and Climate, Program in + 54-1522 + + + Program on Human Rights &amp; Justice + http://web.mit.edu/phrj/ + poli-program + hu-program + E38-278 + + + Program on the Pharmaceutical Industry + http://web.mit.edu/popi/ + bio-program + bus-program + med-program + + + Programming Methodology Group (PMG) + http://www.pmg.lcs.mit.edu/ + cs-program + 32 + + + Programming Systems Research Group + http://www.psrg.lcs.mit.edu/ + cs-program + bio-program + 32 + + + Project Oxygen + http://oxygen.lcs.mit.edu/ + cs-program + 32 + + + Public Disputes Program (MIT/Harvard) + http://web.mit.edu/publicdisputes/ + bus-program + usp-program + 7-337 + + + Advanced Visual Studies, Center for (CAVS) + http://cavs.mit.edu/ + ah-program + Center for Advanced Visual Studies + N52-390 + + + Real Estate, Center for + http://web.mit.edu/cre/ + bus-program + usp-program + Center for Real Estate + W31-310 + + + Reflective Community Practice, Center for + http://web.mit.edu/crcp/ + hu-program + 7-307 + + + Research Digest (News Office) + http://web.mit.edu/newsoffice/rd/ + resources-program + + + Research Laboratory of Electronics (RLE) + http://rleweb.mit.edu/ + bio-program + en-program + ee-program + math-program + med-program + mate-program + ph-program + 36-413 + + + Scanning Electron Beam Lithography (SEBL) + http://rleweb.mit.edu/sebl/ + resources-program + 38-177 + + + Research Program on Communications Policy + http://rpcp.mit.edu/ + ss-program + poli-program + ec-program + E40-234 + + + Rohsenow Heat and Mass Transfer Laboratory + http://web.mit.edu/hmtl/www/ + en-program +me-program + 7-038 + + + Sauer Lab + http://web.mit.edu/biology/sauerlab/ + bio-program + 68-571 + + + Science and Policy of Global Change, Joint Program on the + http://web.mit.edu/globalchange/www/ + civ-program + ec-program + en-program + ts-program + eaps-program + E40-279 + + + Laboratory for Computational and Fundamental Materials Research + http://burgaz.mit.edu/ + mate-program + SCRAM group + + + Science, Technology, and Society (STS), Program in + http://web.mit.edu/sts/ + ss-program + hu-program + ts-program + E51-185 + + + Sea Grant College Program + http://web.mit.edu/seagrant/ + bio-program + civ-program + oc-program + E38-300 + NE20 + + + Security Studies Program + http://web.mit.edu/ssp/ + poli-program + E38-602 + + + Seung Lab + http://hebb.mit.edu/ + neuro-program + 46 + + + Ship and Platform Flows, Laboratory for + http://oe.mit.edu/flowlab/ + oc-program + en-program + 5-329 + + + Singapore-MIT Alliance (SMA) + http://web.mit.edu/sma/ + ed-program + 8-407 + + + Sloan Automotive Laboratory + http://web.mit.edu/sloan-auto-lab/ + en-program +me-program + 31-153 + + + Sloan School of Management + http://mitsloan.mit.edu/ + bus-program + Management, Sloan School of + E52-473 + + + Center for Information Systems Research (CISR) + http://mitsloan.mit.edu/cisr/ + bus-program + MIT Sloan Center for Information Systems + NE20-336 + + + Sloan School of Management Management Science Area + http://web.mit.edu/sloan-msa/ + bus-program + E53-340 + + + Social and Economic Explorations of Information Technology + http://seeit.mit.edu/ + bus-program + ts-program + SeeIT + NE20-336 + + + Solid Mechanics &amp; Materials Laboratory + http://web.mit.edu/solidmech/www/ + mate-program + me-program + 5-029 + + + Space Nanotechnology Laboratory + http://snl.mit.edu/ + me-program + aa-program + mate-program + nano-program + 37-287 + + + Kavli Institute for Astrophysics and Space Research + http://space.mit.edu/ + as-program + aa-program + ph-program + 37-287 + + + Space Systems Laboratory + http://web.mit.edu/ssl/ + aa-program + 37-315 + + + Special Interest Group in Urban Settlements (SIGUS) + http://web.mit.edu/sigus/www/NEW/index.html + ss-program + usp-program + 9-369 + + + Special Program for Urban and Regional Studies of Developing Areas (SPURS) + http://web.mit.edu/spurs/www/ + usp-program + 10-400 + + + Spectrometry Laboratory + http://web.mit.edu/speclab/www/ + ch-program + 18 + + + Spectroscopy Laboratory + http://web.mit.edu/spectroscopy/ + bio-program + ph-program + 6-014 + 6A + + + Spoken Language Systems Group + http://www.sls.lcs.mit.edu/ + cs-program + 32 + + + Sponsored Programs, Office of (OSP) + http://web.mit.edu/osp/www/ + resources-program + Office of Sponsored Programs + E19-750 + + + Sur Laboratory + http://www.mit.edu/~msur/ + neuro-program + 46 + + + Suresh Group + http://sureshgroup.mit.edu/ + mate-program + nano-program + 8-139 + + + Switzerland (Project MAC) + http://www-swiss.ai.mit.edu/ + cs-program + math-program + Project on Mathematics and Computation (CSAIL) + 32 + + + System Design and Management Program (SDM) + http://sdm.mit.edu/ + civ-program + E40-422 + + + System Dynamics Group + http://web.mit.edu/sdg/www/ + bus-program + en-program + cs-program + E60-375 + + + Teaching and Learning Laboratory + http://web.mit.edu/tll/ + ed-program + 5-122 + + + Technology Enabled Active Learning (TEAL) + http://icampus.mit.edu/projects/TEAL.shtml + ed-program + ph-program + + + Technology and Development Program + http://web.mit.edu/mit-tdp/www/ + civ-program + mate-program + ch-program + 1-175 + + + Technology Laboratory for Advanced Materials and Structures (TELAMS) + http://web.mit.edu/telams/ + aa-program + 33-322 + + + Technology Licensing Office (TLO) + http://web.mit.edu/tlo/www/ + resources-program + Licensing Office, Technology + NE25-230 + + + Technology, Management and Policy Program (TPP) + http://tppserver.mit.edu/index.php?idnum=1 + ts-program + E40-251 + + + Technology, Policy and Industrial Development, Center for + http://web.mit.edu/ctpid/www/ + mate-program + en-program + aa-program + E40-227 + + + Telemedia, Networks, and Systems Group + http://tns-www.lcs.mit.edu/ + cs-program + 545 Technology Square + + + Testing Tank (Tow Tank) + http://web.mit.edu/towtank/www/ + oc-program + 48 + + + The Study of Diversity in Science, Technology and Medicine (CSD), Center for + http://web.mit.edu/csd/ + ts-program + hu-program + E51-185 + + + Theoretical Physics, Center for + http://www-ctp.mit.edu/ + ph-program + + + Theory of Computation Group + http://theory.lcs.mit.edu/ + cs-program + 32 + + + Three Dimensional Printing Project + http://web.mit.edu/tdp/www/ + ah-program + bus-program + 35-234 + + + Tiny Technologies + http://web.mit.edu/engineering/tt/ + nano-program + + + Transgenic Facility + http://web.mit.edu/transgenic/ + bio-program + med-program + 68-216 + + + Center for Transportation &amp; Logistics (CTL) + http://ctl.mit.edu/ + aa-program + en-program + bus-program + civ-program + math-program + me-program + ss-program + poli-program + Transportation &amp; Logistics, Center for + E40 + + + MIT World + http://mitworld.mit.edu + ed-program + 9-467 + + + Ultracold Atoms, MIT-Harvard Center for + http://cua.mit.edu/CUA_web/home.htm + ph-program + MIT-Harvard Center for Ultracold Atoms + 26-237 + + + Undergraduate Research Opportunities Program (UROP) + http://web.mit.edu/urop/ + resources-program + Research, Undergraduate + 7-103 + + + Urban Studies and Planning, Dept. of + http://dusp.mit.edu/ + ec-program + ss-program + usp-program + ah-program + poli-program + civ-program + 7-346 + + + Harvard-MIT Division of Health Sciences and Technology (HST) + http://hst.mit.edu/ + bio-program + med-program + Health Sciences and Technology Program (HST) + E25-519 + + + Whitehead Institute for Biomedical Research + http://www.wi.mit.edu/ + bio-program + cog-program + cancer-program + NE25 + + + WHOI Joint Program in Oceanography, MIT + http://web.mit.edu/mit-whoi/www/ + eaps-program + oc-program + 54-911 + + + Women's and Gender Studies + http://web.mit.edu/wgs/ + hu-program + ss-program + 14E-316 + + + Workplace Center, MIT + http://web.mit.edu/workplacecenter/ + ts-program + MIT Workplace Center + E70 + + + World Wide Web Consortium (W3C) + http://www.w3.org/ + cs-program + 32 + + + Wright Brothers Wind Tunnel (WBWT) + http://web.mit.edu/aeroastro/www/labs/WBWT/ + aa-program + hist-program + en-program + 17 + + + Writing and Humanistic Studies, Program in + http://web.mit.edu/humanistic/www/ + lang-lit-program + hu-program + 14E-302 + + diff --git a/web/mobile-about/fp/about.html b/web/mobile-about/fp/about.html new file mode 100755 index 0000000..6b32af5 --- /dev/null +++ b/web/mobile-about/fp/about.html @@ -0,0 +1,31 @@ +title('About this Site') + ->header('About this Site'); + +$page->content_begin(); +?> + +
+

The MIT Mobile Web provides essential MIT information and services anytime, anywhere on your mobile device, with an interface optimized for on-the-go access.

+ +

This site detects the device you're using and delivers an experience optimized for it. You're using the version optimized for feature phones.

+ +

The MIT Mobile Web is provided by IS&T, in cooperation with other departments, as a free service* to the MIT community.

+ +

We value your feedback! Please email your questions and suggestions to mobiweb@mit.edu.

+
+ +

+ System Requirements
+ Website Statistics
+ Credits
+

+ +

+ * Important note: The MIT Web is a free service. Extra data charges may apply when using any website on your mobile device depending on your service plan. +

+ +content_end(); +$page->help_off(); +?> diff --git a/web/mobile-about/index.php b/web/mobile-about/index.php new file mode 100755 index 0000000..143a960 --- /dev/null +++ b/web/mobile-about/index.php @@ -0,0 +1,56 @@ +cache(); + $page->output(); + break; + + // phone dependant cases + case "about": + default: + require "$phone/about.html"; + $page->cache(); + $page->output(); +} + +function requirementsURL() { + return "./?page=requirements"; +} + +function statisticsURL() { + return "./?page=statistics"; +} + +function creditsURL() { + return "./?page=credits"; +} + +?> diff --git a/web/mobile-about/ip/about.html b/web/mobile-about/ip/about.html new file mode 100755 index 0000000..385a7a1 --- /dev/null +++ b/web/mobile-about/ip/about.html @@ -0,0 +1,40 @@ +title('About the MIT Mobile Web') + ->navbar_image('title-about') + ->breadcrumbs('About this Site') + ->breadcrumb_home(); + +$page->content_begin(); +?> + +
+

The MIT Mobile Web provides essential MIT information and services anytime, anywhere on your mobile device, with an interface optimized for on-the-go access.

+ +

This site uses WURFL to automatically detect the device you're using and deliver an experience optimized for it. You're using the version optimized for the iPhone and iPod Touch.

+ +

The MIT Mobile Web is provided by IS&T, in cooperation with other departments, as a free service* to the MIT community.

+
+ + + +
+

* Important note: The MIT Web is a free service. Extra data charges may apply when using any website on your mobile device depending on your service plan.

+
+ +content_end(); +$page->help_off(); +?> diff --git a/web/mobile-about/ip/credits.html b/web/mobile-about/ip/credits.html new file mode 100755 index 0000000..3a97e40 --- /dev/null +++ b/web/mobile-about/ip/credits.html @@ -0,0 +1,27 @@ +title('MIT Mobile Web: Credits') + ->navbar_image('title-about') + ->breadcrumbs('Credits'); + +$page->content_begin(); +?> + +
+

+ The MIT Mobile Web is developed and maintained by MIT's Information Services & Technology (IS&T) as a service to the MIT community. The initial design and implementation took place in January-May 2008, and after a beta release and testing in May 2008, the site was officially launched in June 2008. +

+
    +
  • Project leader: Andrew Yu, MIT IS&T
  • +
  • Development and integration: Brian Patt, Sonya Huang, and Albert Chow
  • +
  • User interface design: Eric Kim
  • +
  • Team members: Derek Jaeger, Matthew Sullivan, Justin Anderson, Joanna Proulx, Lauren McLean
  • +
  • Advisor: Taeminn Song
  • +
+
+

We hope you find the site useful – and fun! Please send any feedback to mobiweb@mit.edu.

+
+ +content_end(); +$page->help_off(); +?> diff --git a/web/mobile-about/ip/requirements.html b/web/mobile-about/ip/requirements.html new file mode 100755 index 0000000..44702b8 --- /dev/null +++ b/web/mobile-about/ip/requirements.html @@ -0,0 +1,39 @@ +title('About the MIT Mobile Web') + ->navbar_image('title-about') + ->breadcrumbs('System Requirements'); + +$page->content_begin(); +?> + +
+

+ To use the MIT Mobile Web, you'll need two things: +

+ +
    +
  1. A web-capable mobile device, such as: +
      +
    • A recent 'feature' phone (including flip, slider and bar phones like the RAZR, Chocolate, Sync, EnV, etc.)
    • +
    • A smartphone (including BlackBerry, Windows Mobile, Treo, Centro, Android, etc.)
    • +
    • An iPhone (or iPod Touch**)
    • +
    • A WiFi PDA or internet tablet (including Windows Mobile/PocketPC, Palm T|X, Nokia 700/800/810, etc.)**
    • +
    +
  2. +
  3. A network connection: A web/data plan from your carrier*, or a WiFi connection if your device has WiFi.
  4. +
+ +
+ +

To get to the MIT Mobile Web: On your mobile device, launch your web browser and go to http://m.mit.edu.

+

Note: do not use 'www' in the web address.

+

Your device's browser may be found under 'MediaNET' (AT&T Wireless), 'Get It Now > News & Info' (Verizon Wireless), 'Power Vision' (Sprint), 'Safari' (iPhone/iPod Touch), 'Internet Explorer' (Windows Mobile), 'Opera' (some feature phones and smartphones), or just 'Web' or 'Browser'.

+

The MIT Mobile Web will automatically detect your device type and deliver an experience optimized for it.

+

* Important note: The MIT Web is a free service. Extra data charges may apply when using any website on your mobile device depending on your service plan.

+

** On devices without phone service (e.g., iPod Touch, WiFi-connected PDA, internet tablet), links that are meant to dial a phone number will not work properly.

+
+ +content_end(); +$page->help_off(); +?> diff --git a/web/mobile-about/ip/statistics.html b/web/mobile-about/ip/statistics.html new file mode 100755 index 0000000..ea3f0ee --- /dev/null +++ b/web/mobile-about/ip/statistics.html @@ -0,0 +1,64 @@ +title('About the MIT Mobile Web') + ->navbar_image('title-about') + ->add_stylesheet('styles/stats-ip') + ->breadcrumbs('Website Statistics'); + +$page->content_begin(); +?> + +
+

Statistics for the Past 7 Days ()

+
+ +
+ total page views +
+ +
+

Page Views by Day:

+ + + + + + + + + + + + +
+
+ +
+

Traffic by Platform:

+ + + $percent) { ?> + + + + + + +
:
%
+
+ + +
+

Most Popular Content:

+ +
    + +
  1. ( page views)
  2. + +
+ +
+ +content_end(); +$page->help_off(); +?> diff --git a/web/mobile-about/sp/about.html b/web/mobile-about/sp/about.html new file mode 100755 index 0000000..0d29482 --- /dev/null +++ b/web/mobile-about/sp/about.html @@ -0,0 +1,31 @@ +title('About this Site') + ->header('About this Site'); + +$page->content_begin(); +?> + +
+

The MIT Mobile Web provides essential MIT information and services anytime, anywhere on your mobile device, with an interface optimized for on-the-go access.

+ +

This site detects the device you're using and delivers an experience optimized for it. You're using the version optimized for smartphones, such as Windows Mobile, BlackBerry and Palm devices.

+ +

The MIT Mobile Web is provided by IS&T, in cooperation with other departments, as a free service* to the MIT community.

+ +

We value your feedback! Please email your questions and suggestions to mobiweb@mit.edu.

+
+ +

+ System Requirements
+ Website Statistics
+ Credits
+

+ +

+ * Important note: The MIT Web is a free service. Extra data charges may apply when using any website on your mobile device depending on your service plan. +

+ +content_end(); +$page->help_off(); +?> diff --git a/web/mobile-about/sp/credits.html b/web/mobile-about/sp/credits.html new file mode 100755 index 0000000..164613d --- /dev/null +++ b/web/mobile-about/sp/credits.html @@ -0,0 +1,30 @@ +title('About the MIT Mobile Web: System Requirements') + ->header('About this Site'); + +$page->content_begin(); +?> +
+ +

Credits

+

+ The MIT Mobile Web is developed and maintained by MIT's Information Services & Technology (IS&T) as a service to the MIT community. The initial design and implementation took place in January-May 2008, and after a beta release and testing in May 2008, the site was officially launched in June 2008. +

+ +
    +
  • Project leader: Andrew Yu (Mobile Devices Platform Coordinator, IS&T)
  • +
  • Development and integration: Brian Patt, Sonya Huang, and Albert Chow
  • +
  • User interface design: Eric Kim
  • +
  • Team members: Matthew Sullivan, Justin Anderson, and Joanna Proulx
  • +
  • Advisor: Taeminn Song
  • +
+ +

We hope you find the site useful – and fun! Please send any feedback to mobiweb@mit.edu.

+
+ +content_end(); +$page->help_off(); +$page->nav_link('./', 'About this Site'); + +?> diff --git a/web/mobile-about/sp/requirements.html b/web/mobile-about/sp/requirements.html new file mode 100755 index 0000000..8fb8970 --- /dev/null +++ b/web/mobile-about/sp/requirements.html @@ -0,0 +1,47 @@ +title('About the MIT Mobile Web: System Requirements') + ->header('About this Site'); + +$page->content_begin(); +?> + +
+ +

System Requirements

+

+ To use the MIT Mobile Web, you'll need two things: +

+ +

+ 1. A web-capable mobile device, such as: +

    +
  • A recent 'feature' phone (including flip, slider and bar phones like the RAZR, Chocolate, Sync, EnV, etc.)
  • +
  • A smartphone (including BlackBerry, Windows Mobile, Treo, Centro, Android, etc.)
  • +
  • An iPhone (or iPod Touch**)
  • +
  • A WiFi PDA or internet tablet (including Windows Mobile/PocketPC, Palm T|X, Nokia 700/800/810, etc.)**
  • +
+

+

+ 2. A network connection: A web/data plan from your carrier*, or a WiFi connection if your device has WiFi. +

+ +
+ +

To get to the MIT Mobile Web: On your mobile device, launch your web browser and go to http://m.mit.edu.

+

Note: do not use 'www' in the web address.

+

Your device's browser may be found under 'MediaNET' (AT&T Wireless), 'Get It Now > News & Info' (Verizon Wireless), 'Power Vision' (Sprint), 'Safari' (iPhone/iPod Touch), 'Internet Explorer' (Windows Mobile), 'Opera' (some feature phones and smartphones), or just 'Web' or 'Browser'.

+

The MIT Mobile Web will automatically detect your device type and deliver an experience optimized for it.

+
+ +

+ * Important note: The MIT Web is a free service. Extra data charges may apply when using any website on your mobile device depending on your service plan. +
+** On devices without phone service (e.g., iPod Touch, WiFi-connected PDA, internet tablet), links that are meant to dial a phone number will not work properly.

+

+ +content_end(); +$page->help_off(); +$page->nav_link('./', 'About this Site'); + +?> diff --git a/web/mobile-about/sp/statistics.html b/web/mobile-about/sp/statistics.html new file mode 100755 index 0000000..24f21f5 --- /dev/null +++ b/web/mobile-about/sp/statistics.html @@ -0,0 +1,43 @@ +title('About the MIT Mobile Web: Website Statistics') + ->header('About this Site'); + +$page->content_begin(); +?> + +

Website Statistics for the Past 7 Days ()

+ +

+ total page views +

+ +

+ Page Views by Day:
+ $day) { ?> + :
+ +

+ +

+ Traffic by Platform:
+ + $percent) { $count++; ?> + : %
+ +

+ + +

+ Most Popular Content:
+ + $content) { ?> + . ( page views)
+ +

+ +content_end(); +$page->help_off(); +$page->nav_link('./', 'About this Site'); + +?> diff --git a/web/mobile-about/statistics.php b/web/mobile-about/statistics.php new file mode 100755 index 0000000..677a97b --- /dev/null +++ b/web/mobile-about/statistics.php @@ -0,0 +1,146 @@ + $max_views) { + $max_views = $day['total']; + } +} + +// determine the maximum to use for the bar graph +$limits = array(1, 2, 4, 5); + +$found = False; +$scale = 10; +while(!$found) { + foreach($limits as $limit) { + if($limit * $scale > $max_views) { + $max_scale = $limit * $scale; + $found = True; + break; + } + } + $scale *= 10; +} + +// views by day +$views = array(); +foreach($all_data as $day) { + $views[] = array( + 'day' => $day['name'], + 'date' => $day['date'], + 'count' => $day['total'], + 'percent' => per_cent($day['total'], $max_scale), + ); +} + + +// views by device +$traffic = array( + "iPhone" => 0, + "Smartphone" => 0, + "Feature Phone" => 0, + "Other" => 0, +); +foreach($all_data as $day) { + $traffic["iPhone"] += $day["ip"]; + $traffic["Smartphone"] += $day["sp"]; + $traffic["Feature Phone"] += $day["fp"]; + $traffic["Other"] += $day["computer"]; +} +$total = 0; +foreach($traffic as $count) { + $total += $count; +} +$phone_traffic = array(); +foreach($traffic as $device => $count) { + $phone_traffic[$device] = per_cent($count, $total); +} + + +$urls = array( + 'people' => 'People Directory', + 'map' => 'Campus Map', + 'shuttleschedule' => 'Shuttle Schedule', + 'calendar' => 'Events Calendar', + 'stellar' => 'Stellar', + 'careers' => 'Student Career Services', + 'emergency' => 'Emergency Info', + '3down' => '3DOWN', + 'links' => 'Useful Links', + 'mobile-about' => 'About this Site', +); + +$popular_pages = array(); +foreach($urls as $url => $name) { + $content_total = 0; + foreach($all_data as $day) { + $content_total += $day[PageViews::url2db($url)]; + } + + $popular_pages[] = array( + 'name' => $name, + 'link' => $url, + 'count' => $content_total, + ); +} + +function compare_content($content1, $content2) { + if($content1['count'] < $content2['count']) { + return 1; + } + if($content1['count'] > $content2['count']) { + return -1; + } + return 0; +} +usort($popular_pages, 'compare_content'); +$popular_pages = array_slice($popular_pages, 0, 5); + +$start_time = PageViews::$time - 7 * 24 * 60 * 60; +$end_time = PageViews::$time - 1 * 24 * 60 * 60; + +$start_month = date('M', $start_time); +$start_day = date('j', $start_time); + +$end_month = date('M', $end_time); +$end_day = date('j', $end_time); + +$year = date('Y', $end_time); + +if($start_month == $end_month) { + $days_text = "{$start_month} {$start_day}-{$end_day}, $year"; +} else { + $days_text = "{$start_month} {$start_day}-{$end_month} {$end_day}, $year"; +} + +require "$prefix/statistics.html"; +$page->output(); + + +function f($count) { + $count_str = (string) $count; + if(strlen($count_str) <= 3 ) { + return $count_str; + } else { + return f(substr($count_str, 0, -3)) . ',' . substr($count_str, -3); + } +} + +function per_cent($part, $total) { + return round(100 * $part / $total); +} + +?> \ No newline at end of file diff --git a/web/mobile-about/styles/stats-ip.css b/web/mobile-about/styles/stats-ip.css new file mode 100755 index 0000000..fb1a3de --- /dev/null +++ b/web/mobile-about/styles/stats-ip.css @@ -0,0 +1,125 @@ +table, th, td, p, ol, ul { + font-size: 15px; +} +table, ul, ol { + margin-bottom: 0; +} +td { + margin: 0; + border: 0; + padding: 0; + vertical-align: center; + position: relative; +} +table.columns { + padding-top: 5px; +} +table.columns td { + padding: 0; + margin: 0; + text-align: center; + font-size: 12px; +} +table.week td { + width: 14%; + padding-right: 2px; +} +table.tenday td { + width: 10%; + padding-right: 2px; +} +table.month td { + width: 3%; + padding-right: 1px; +} +table.threemonths td { + width: 1%; + padding: 0; +} +.datarow { + height: 18px; + width: 100px; + background-color: #eee; + -webkit-border-radius: 3px; + margin: 0 2px 4px 2px; +} +.rowbar { + height: 18px; + width: 0; + background: #6499cb url(../../ip/images/rowbar.png) repeat-x; + background-position: top left; + border: none; + -webkit-border-radius: 2px; +} +.datacol { + position: relative; + width: 100%; + height: 100px; + background-color: #eee; + -webkit-border-radius: 3px; +} +.colbar { + position: absolute; + z-index: 10; + opacity: 1; + bottom: 0; + width: 100%; + height: 0; + background: #6499cb url(../../ip/images/colbar.png) repeat-y; + background-position: bottom left; + border: none; + -webkit-border-radius: 2px; +} +.average { + position: absolute; + height: 30px; + bottom: 0; + width: 100%; + border-top: 2px solid #c00; + opacity: 0.3 +} +.collabel { + margin-top: -13px; + font-size: 11px; + width: 120%; + margin-left: -10%; + color: #000; +} +.multilabel { + border-left: 1px solid #ccc; + font-size: 12px; + text-align: left!important; + padding-left: 4px!important; +} +.focal ul { + padding-left: 0; +} +.focal ul li { + list-style-type: none; + background-image: url(../../ip/images/bullet.png); + background-repeat: no-repeat; + background-position: 0 2px; + padding: 0 0 0 19px; + margin: 0 0 0 -4px; + border: none; +} +.focal ol { + padding-left: 1.5em; +} +.yaxis { + font-size: 10px; + line-height: 10px; + position: relative; + position: relative; + height: 100px; +} +.max { + position: absolute; + top: 0; + margin-top: -5px; +} +.min { + position: absolute; + bottom: 0; + margin-bottom: -5px; +} diff --git a/web/page_builder/Page.php b/web/page_builder/Page.php new file mode 100755 index 0000000..e3f5928 --- /dev/null +++ b/web/page_builder/Page.php @@ -0,0 +1,281 @@ +title = $title; + return $this; + } + + public function header($header) { + $this->header = $header; + return $this; + } + + public function add_stylesheet($stylesheet_name) { + $this->stylesheets[] = $stylesheet_name; + return $this; + } + + public function add_javascript($js_name) { + $this->javascripts[] = $js_name; + return $this; + } + + public function footer_script($script) { + $this->footer_script = $script; + return $this; + } + + public function extra_footer($footer) { + $this->footer = $footer . ' '; + return $this; + } + + protected $help_on = True; + + public function help_off() { + $this->help_on = False; + return $this; + } + + public function content_begin() { + if($this->aquire_mode) { + throw new Exception("Content already begun"); + } elseif ($this->aquired) { + throw new Exception("Content already set"); + } else { + ob_start(); + $this->aquire_mode = True; + } + } + + public function content_end() { + if($this->aquire_mode) { + $this->content = ob_get_clean(); + $this->aquire_mode = False; + $this->aquired = True; + } + } + + public function output() { + foreach($this->varnames as $varname) { + ${$varname} = $this->$varname; + } + $phone = $this->phone; + $prefix = $this->requirePrefix(); + + ob_start(); + require "../$prefix/base.html"; + $uncompressed_html = ob_get_clean(); + + // replace large chunks of spaces with a single space + $compressed_html = preg_replace('/\s*?\n\s*/', "\n", $uncompressed_html); $compressed_html = preg_replace('/( |\t)( |\t)*/', " ", $compressed_html); + if($this->compressed_mode) { + echo $compressed_html; + } else { + echo $uncompressed_html; + } + } + + protected function draw_content() { + //draw the main content of the page + echo $this->content; + } + + private static $phoneTable = array( + "iphone" => "ip", + "smart_phone" => "sp", + "feature_phone" => "fp", + "computer" => "sp", + "spider" => "sp", + ); + + private static $is_computer; + private static $is_spider; + + public static function classify_phone() { + if($_SERVER['HTTP_USER_AGENT']) { + $type = file_get_contents("http://m.yourhostname.edu/wurfl/api?UserAgent=" . urlencode($_SERVER['HTTP_USER_AGENT'])); + } else { + $type = "feature_phone"; + } + + self::$is_computer = ($type == "computer"); + self::$is_spider = ($type == "spider"); + + return self::$phoneTable[$type]; + } + + public static function is_computer() { + return self::$is_computer; + } + + public static function is_spider() { + return self::$is_spider; + } + + public static $requireTable = array( + "ip" => "ip", + "sp" => "sp", + "fp" => "sp" + ); + + public function requirePrefix() { + return self::$requireTable[$this->phone]; + } +} + +class ipPage extends Page { + + protected $navbar_image; + protected $breadcrumb_root = False; + protected $breadcrumbs = array(); + protected $last_breadcrumb; + protected $breadcrumb_links; + protected $extra_onload = "scrollTo(0,1);"; + protected $onorientationchange; + protected $raw_js = array(); + protected $scalable = "yes"; + protected $fixed = False; + + public function __construct() { + $this->phone = "ip"; + $this->varnames= array( + "title", "header", "navbar_image", "stylesheets", "javascripts", "breadcrumb_links", + "home", "breadcrumbs", "last_breadcrumb", "help_on", "footer", "footer_script", + "extra_onload", "onorientationchange", "raw_js", "scalable", "fixed" + ); + } + + public function fixed() { + $this->fixed = True; + return $this; + } + + public function not_scalable() { + $this->scalable = "no"; + return $this; + } + + public function navbar_image($navbar_image) { + $this->navbar_image = $navbar_image; + return $this; + } + + public function breadcrumbs() { + $this->breadcrumbs = func_get_args(); + $this->last_breadcrumb = array_pop($this->breadcrumbs); + $this->breadcrumb_links = array(); + return $this; + } + + public function breadcrumb_links() { + $tmp = func_get_args(); + for($cnt = 0; $cnt < count($tmp); $cnt++) { + $this->breadcrumb_links[$cnt] = $tmp[$cnt]; + } + return $this; + } + + public function breadcrumb_home() { + $this->home = True; + return $this; + } + + public function extra_onload($js) { + $this->extra_onload .= " $js"; + return $this; + } + + public function onorientationchange($js) { + $this->onorientationchange = $js; + return $this; + } + + public function add_inline_script($js) { + $this->raw_js[] = $js; + return $this; + } +} + +class notIPhonePage extends Page { + + protected $extra_links = array(); + protected $help_links = array(); + protected $bottom_nav_links = array(); + + public function __construct() { + $this->varnames = array( + "header", "title", "stylesheets", "extra_links", + "help_on", "help_links", "bottom_nav_links", + "width1", "height1" + ); + } + + public function extra_link($href, $text, $class=NULL) { + $this->extra_links[] = array("url" => $href, "text" => $text, "class" => $class); + return $this; + } + + public function help_link($href, $text, $class=NULL, $phone=NULL) { + $this->help_links[] = array("url" => $href, "text" => $text, "class" => $class, "phone" => $phone); + return $this; + } + + public function nav_link($href, $text) { + $this->bottom_nav_links[] = array("url" => $href, "text" => $text); + return $this; + } +} + +class spPage extends notIPhonePage { + protected $width1 = "48"; + protected $height1 = "19"; + + protected $phone = "sp"; +} + +class fpPage extends notIPhonePage { + protected $width1 = "36"; + protected $height1 = "16"; + + protected $phone = "fp"; +} + +?> diff --git a/web/page_builder/counter.php b/web/page_builder/counter.php new file mode 100755 index 0000000..983e517 --- /dev/null +++ b/web/page_builder/counter.php @@ -0,0 +1,122 @@ +query("LOCK TABLE PageViews WRITE"); + + $today = self::$today; + $row = self::getDay($today); + + if($row === NULL) { + $content_cnt = 1; + $device_cnt = 1; + $db->query("INSERT INTO PageViews (day) VALUES ('$today')"); + } + $current_cnt = $row[$content] + 1; + $device_cnt = $row[$device] + 1; + + $db->query("UPDATE PageViews SET $content={$current_cnt}, $device={$device_cnt} WHERE day='$today'"); + $db->query("UNLOCK TABLE"); + } + + public static function init() { + self::$time = time(); + self::$today = date("Y-m-d", self::$time); + } + + private static function getDay($day) { + $db = db::$connection; + $result = $db->query("SELECT * FROM PageViews", SQLITE_ASSOC, $query_error); + if ($query_error) { + echo("error: ".$query_error); + exit; + } + if($row = $result->fetch()) { + return $row; + } + } + + public static function past_days($days) { + $time = self::$time; + $views = array(); + for($cnt = 0; $cnt < $days; $cnt++) { + $time -= 24 * 60 * 60; + $sql_date = date('Y-m-d', $time); + $day = self::getDay($sql_date); + $name = date('D', $time); + $date = date('n/j', $time); + + if($day === NULL) { + //day has no data so all views are zero + $day = array('day' => $sql_date); + foreach(self::$fields as $field) { + $day[$field] = 0; + } + foreach(self::$devices as $device) { + $day[$device] = 0; + } + } + $day['name'] = $name; + $day['date'] = $date; + $day['total'] = 0; + + //find the total for each day + foreach(self::$devices as $device) { + $day['total'] += $day[$device]; + } + + $views[] = $day; + } + return array_reverse($views); + } + + public static function url2db($name) { + return str_replace('-', '_', $name); + } + + private static function db2url($name) { + return str_replace('_', '-', $name); + } + +} + +PageViews::init(); + +?> diff --git a/web/page_builder/help.php b/web/page_builder/help.php new file mode 100755 index 0000000..abbbb7b --- /dev/null +++ b/web/page_builder/help.php @@ -0,0 +1,23 @@ +requirePrefix(); + + + +require "../$prefix/help.html"; + +$page->cache(); +$page->output(); + +?> diff --git a/web/page_builder/page_header.php b/web/page_builder/page_header.php new file mode 100755 index 0000000..d888874 --- /dev/null +++ b/web/page_builder/page_header.php @@ -0,0 +1,70 @@ +requirePrefix(); + +//find which page is being requested +preg_match('/\/((\w|\-)+)\/[^\/]*?$/', $_SERVER['REQUEST_URI'], $match); +$content = $match[1]; + +PageViews::increment($content); + +class DataServerException extends Exception { +} + +// use php default error handler for the dev version of the web site +// unccmment the line below to use the custom exception handler +// set_exception_handler("exception_handler"); + +function exception_handler($exception) { + + if(is_a($exception, "DataServerException")) { + $error_query = "code=data&url=" . urlencode($_SERVER['REQUEST_URI']); + } else { + $error_query = "code=internal"; + } + $error_url = "../error-page/?{$error_query}"; + + $recipients = array( + "zootsuitbrian@gmail.com", + ); + + $recipient_str = implode(", ", $recipients); + + // a text representation of the exception + ob_start(); + var_dump($exception); + $text = ob_get_contents(); + ob_end_clean(); + + if(!Page::is_spider()) { + mail( + $recipient_str, + "mobile web page experiencing problems", + "the following url is throwing exceptions: http://mobi.mit.edu{$_SERVER['REQUEST_URI']}\n" . + "Exception:\n" . + "$text\n" . + "The User-Agent: \"{$_SERVER['HTTP_USER_AGENT']}\"\n" . + "The referer URL: \"{$_SERVER['HTTP_REFERER']}\"" + ); + } + + header("Location: {$error_url}"); + die(0); +} + + +?> diff --git a/web/page_builder/page_tools.php b/web/page_builder/page_tools.php new file mode 100755 index 0000000..5d29875 --- /dev/null +++ b/web/page_builder/page_tools.php @@ -0,0 +1,319 @@ +lower = $limits[0]; + $this->upper = $limits[1]; + $this->keys_or_values = !($type == 'value'); + } + + public function get_list($items) { + $sublist = array(); + foreach($items as $key => $value) { + $filtered = $this->keys_or_values ? $key : $value; + if($this->isBetween($filtered)) { + $sublist[$key] = $value; + } + } + return $sublist; + } + + protected function isBetween($target) { + $target = strtolower($target); + if($this->upper) { + return $this->isBetween2($target); + } else { + return preg_match("/^{$this->lower}/", $target); + } + } + + abstract protected function isBetween2($target); +} + +class DrillAlphabeta extends DrillDownList { + protected function isBetween2($target) { + return (($this->lower < $target) && ($target < $this->upper)) + || preg_match("/^{$this->lower}/", $target) + || preg_match("/^{$this->upper}/", $target); + } +} + +class DrillNumeralAlpha extends DrillDownList { + protected function isBetween2($target) { + preg_match("/^([a-z]*)(\d+)/",$this->lower, $bottom_match); + preg_match("/^([a-z]*)(\d+)/",$this->upper, $top_match); + preg_match("/^([a-z]*)(\d+)/",$target, $target_match); + + if($target_match[1] > $bottom_match[1] && + $target_match[1] < $bottom_match[1]) { + return true; + } + + if($bottom_match[1] == $top_match[1]) { + if($target_match[1] != $bottom_match[1]) { + return false; + } else { + return ((int) $target_match[2] >= (int) $bottom_match[2]) + && ((int) $target_match[2] <= (int) $top_match[2]); + } + } + + if($target_match[1] == $bottom_match[1] && + (int)$target_match[2] >= (int)$bottom_match[2]) { + return true; + } + + if($target_match[1] == $top_match[1] && + (int)$target_match[2] <= (int)$top_match[2]) { + return true; + } + } +} + +class Pager { + private $items; + private $start; + private $end; + private $limit; + + function __construct($phone, $items, $start=0) { + $this->items = $items; + if($phone == 'ip') { + //no paging for the iPhone + $this->limit = NULL; + $this->start = 0; + $this->end = count($items); + } else { + // 20 elements for smart phones, 10 elements for feature phones + $limits = array("sp" => 20, "fp" => 10); + $this->limit = $limits[$phone]; + $this->start = $start; + $this->end = min($this->limit + $start, count($items)); + } + } + + public function last() { + return $this->end; + } + + public function items() { + $length = $this->end - $this->start; + return array_slice($this->items, $this->start, $length); + } + + public function prev_id() { + if($this->start == 0) { + return NULL; + } + + if($this->limit === NULL) { + return 0; + } + + $prev_id = $this->start - $this->limit; + + return ($prev_id >= 0) ? $prev_id : 0; + } + + public function next_id() { + if($this->end == count($this->items)) { + return NULL; + } else { + return $this->end; + } + } + + public function next_html($url, $params, $id_name) { + if($this->next_id() === NULL) { + return ''; + } + + $params[$id_name] = $this->next_id(); + $url .= '?' . http_build_query($params); + + return 'Next >'; + } + + public function prev_html($url, $params, $id_name) { + if($this->prev_id() === NULL) { + return ''; + } + + $params[$id_name] = $this->prev_id(); + $url .= '?' . http_build_query($params); + + return '< Prev'; + } + + public function prev_next_html($url, $params, $id_name) { + $next = $this->next_html($url, $params, $id_name); + $prev = $this->prev_html($url, $params, $id_name); + $middle = ($next && $prev) ? " | " : ""; + return $prev . $middle . $next; + } +} + +class Tabs { + + private $url; + private $tabs; + private $active; + private $param; + + public function __construct($url, $param, $tabs) { + $this->url = $url; + $this->tabs = $tabs; + $this->active = $_REQUEST[$param]; + $this->param = $param; + } + + public function hide($tab) { + $index = array_search($tab, $this->tabs); + $this->tabs = array_merge( + array_slice($this->tabs, 0, $index), + array_slice($this->tabs, $index+1) + ); + } + + public function active() { + if($this->active) { + return $this->active; + } else { + return $this->tabs[0]; + } + } + + public function html() { + $html = array(); + foreach($this->tabs as $index => $tab) { + $url = $this->url . "&" . $this->param . "=" .urlencode($tab); + if($tab == $this->active()) { + $html[] = '' . $tab . ''; + } else { + $html[] = "$tab"; + } + } + return implode(" | ", $html); + } +} + +function short_date($date) { + $minute = $date['minute']; + $minute = $minute < 10 ? '0' . $minute : (string) $minute; + return "{$date['month']}/{$date['day']} {$date['hour']}:$minute"; +} + + +class ResultsContent { + private $form; + + private $prefix; + private $phone; + + // the KEYWORD which appears in the pages title + private $title; + + // the file the contains the formating of the output list + private $template; + + // the module where the list template can be found + private $module; + + // extra parameters needed for the next and previous arrows + private $extra_params; + + public function __construct($template, $module, $prefix, $phone, $extra_params = array()) { + $this->template = $template; + $this->module = $module; + $this->prefix = $prefix; + $this->phone = $phone; + $this->extra_params = $extra_params; + $this->form = new StandardForm($prefix); + } + + public function set_form(Form $form) { + $this->form = $form; + return $this; + } + + public function output($results) { + + $total = count($results); + + //truncate results and determine if a next page is needed + $start = $_REQUEST["start"] ? (int)$_REQUEST["start"] : 0; + $pager = new Pager($this->phone, $results, $start); + $results = $pager->items(); + + $search_terms = $_REQUEST['filter']; + $params = array_merge(array("filter" => $search_terms), $this->extra_params); + $arrows = $pager->prev_next_html($_SERVER['SCRIPT_NAME'], $params, "start"); + + $start++; + $end = $pager->last(); + + + require "../{$this->prefix}/search_results.html"; + return $this->page; + } +} + +abstract class Form { + + protected $prefix; + + public function __construct($prefix) { + $this->prefix = $prefix; + } + + abstract public function out(); +} + +class StandardForm extends Form { + + public function out($total=NULL) { + require "../{$this->prefix}/form.html"; + } +} + +define('MAX_TEXT', 80); + +function summary_string($text) { + + //check if the last character or + //the character after last is not a word character + if( preg_match('/\W/', substr($text, MAX_TEXT-1, 2)) ) { + $dots = False; + } else { + $dots = True; + } + + $text = htmlentities(substr($text, 0, MAX_TEXT)); + if($dots) { + $text .= '...'; + } + + //this hack fixes some strange encoding problem + return str_replace('Â', '', $text); +} + +function is_long_string($text) { + $temp = trim($text); + return strlen($temp) > MAX_TEXT; +} + +?> \ No newline at end of file diff --git a/web/page_builder/page_views.SQL b/web/page_builder/page_views.SQL new file mode 100755 index 0000000..cadf43a --- /dev/null +++ b/web/page_builder/page_views.SQL @@ -0,0 +1,21 @@ +CREATE TABLE PageViews +( + day DATE, + home INT(15) NOT NULL, + people INT(15) NOT NULL, + map INT(15) NOT NULL, + shuttleschedule INT(15) NOT NULL, + calendar INT(15) NOT NULL, + stellar INT(15) NOT NULL, + careers INT(15) NOT NULL, + emergency INT(15) NOT NULL, + 3down INT(15) NOT NULL, + links INT(15) NOT NULL, + mobile_about INT(15) NOT NULL, + ip INT(15) NOT NULL, + sp INT(15) NOT NULL, + fp INT(15) NOT NULL, + computer INT(15) NOT NULL, + PRIMARY KEY(day) +) +; diff --git a/web/people/help.php b/web/people/help.php new file mode 100755 index 0000000..9527116 --- /dev/null +++ b/web/people/help.php @@ -0,0 +1,29 @@ +' . + '- Name (full or partial): e.g., "William Rogers," "will rog", "w rogers", "will", etc.
' . + '- Email address: "wbrogers", "wbrogers@mit.edu"
' . + '- Phone number (full or partial): e.g., "6172531000", "31000"', + + 'Depending on the person that you looked up and the capabilities of your mobile device, you can call or email the person directly, or find their office on the campus map.', + + 'If you run into difficulty, please try calling 617-253-1000 for voice-assisted directory search.', +); + +require "../page_builder/help.php"; + +?> diff --git a/web/people/index.php b/web/people/index.php new file mode 100755 index 0000000..a283734 --- /dev/null +++ b/web/people/index.php @@ -0,0 +1,120 @@ +cache(); + require "$prefix/index.html"; +} + +$page->output(); + +function detail_url($person) { + return $_SERVER['SCRIPT_NAME'] . '?username=' . urlencode($person["id"]) . '&filter=' . urlencode($_REQUEST['filter']); +} + +function phoneHREF($number) { + return 'tel:1' . str_replace('-', '', $number); +} + +function mailHREF($email) { + return "mailto:$email"; +} + +function mapHREF($place) { + preg_match("/^[A-Z]*\d+[A-Z]*/", $place, $match); + return "../map/detail.php?selectvalues=" . $match[0]; +} + +function html_escape_people($people) { + foreach($people as $index => $person) { + $people[$index] = html_escape_person($person); + } + return $people; +} + +function html_escape_person($person) { + foreach($person as $att => $values) { + if($att != "id") { + foreach($values as $index => $value) { + $person[$att][$index] = ldap_decode(htmlentities($value)); + } + } + } + return $person; +} + + +function has_phone($person) { + return (count($person['homephone']) > 0) || + (count($person['telephone']) > 0) || + (count($person['fax']) > 0); +} + +function ldap_decode($ldap_str) { + return preg_replace_callback("/0x(\d|[A-F]){4}/", "unicode2utf8", $ldap_str); +} + + +function unicode2utf8($match_array) +{ + $c = hexdec($match_array[0]); + + if($c < 0x80) + { + return chr($c); + } + else if($c < 0x800) + { + return chr( 0xc0 | ($c >> 6) ).chr( 0x80 | ($c & 0x3f) ); + } + else if($c < 0x10000) + { + return chr( 0xe0 | ($c >> 12) ).chr( 0x80 | (($c >> 6) & 0x3f) ).chr( 0x80 | ($c & 0x3f) ); + } + else if($c < 0x200000) + { + return chr(0xf0 | ($c >> 18)).chr(0x80 | (($c >> 12) & 0x3f)).chr(0x80 | (($c >> 6) & 0x3f)).chr(0x80 | ($c & 0x3f)); + } + return false; +} + +?> diff --git a/web/people/ip/detail.html b/web/people/ip/detail.html new file mode 100755 index 0000000..8525557 --- /dev/null +++ b/web/people/ip/detail.html @@ -0,0 +1,59 @@ +title('MIT People Directory: Details') + ->navbar_image('title-people') + ->breadcrumbs('Search', 'Details'); + +class Item { + private $person; + + public function __construct($person) { + $this->person = $person; + } + + public function display($label, $field, $href=NULL, $class=NULL, $group=False) { + foreach($this->person[$field] as $value) { + ?> + + content_begin(); +?> + + + + + + + display('address', 'address'); + #$item->display('email', 'email', "mailHREF", 'email'); + $item->display('office', 'room', "mapHREF", 'map'); + + ?> +content_end(); ?> + diff --git a/web/people/ip/index.html b/web/people/ip/index.html new file mode 100755 index 0000000..06aad13 --- /dev/null +++ b/web/people/ip/index.html @@ -0,0 +1,39 @@ +title('MIT People Directory') + ->navbar_image('title-people') + ->breadcrumbs('People Directory') + ->breadcrumb_home(); + +$page->content_begin(); +?> +
+ +
+ + +
+ + +

No matches found

+ + + +
+ +
+ Sample searches:
+ Name: 'william barton rogers', 'rogers'
+ Email: 'wbrogers', 'wbrogers@mit.edu'
+ Phone: '6172531000', '31000' +
+ + + +content_end(); ?> diff --git a/web/people/ip/items.html b/web/people/ip/items.html new file mode 100755 index 0000000..302fc64 --- /dev/null +++ b/web/people/ip/items.html @@ -0,0 +1,11 @@ + + + diff --git a/web/people/ip/results.html b/web/people/ip/results.html new file mode 100755 index 0000000..3360a94 --- /dev/null +++ b/web/people/ip/results.html @@ -0,0 +1,11 @@ +title('MIT People Directory: Details') + ->navbar_image('title-people') + ->breadcrumbs('Search Results'); + +$page->content_begin(); + +$content->output($people); + +$page->content_end(); +?> diff --git a/web/people/sp/detail.html b/web/people/sp/detail.html new file mode 100755 index 0000000..76b3976 --- /dev/null +++ b/web/people/sp/detail.html @@ -0,0 +1,58 @@ +title('MIT People Directory: Detail') + ->header('People Directory'); + +class Item { + private $person; + private $first = True; + + public function __construct($person) { + $this->person = $person; + } + + public function normal($label, $field, $href=NULL, $class=NULL) { + foreach($this->person[$field] as $value) { + if($this->first) { + $this->first = False; + } else { + echo '
'; + } + ?> + + '; + } + echo $value; + if($href != NULL) { + echo ""; + } + ?> + content_begin(); +?> + + +content_end(); +$page->nav_link("index.php", "People Directory Home"); + +?> diff --git a/web/people/sp/index.html b/web/people/sp/index.html new file mode 100755 index 0000000..112dbe1 --- /dev/null +++ b/web/people/sp/index.html @@ -0,0 +1,36 @@ +title('MIT People Directory') + ->header('People Directory'); + +$page->content_begin(); +?> +
+ +

+ Search:
+ + + + +

+ + +

No matches found

+ + + +

+ Search tips: You can search by part or all of a person's name, email address or phone number. + (e.g.: 'william barton rogers', 'roge', 'wbrogers', '6172531000', '31000') +

+ +
+ +content_end(); + +$page->extra_link("tel:16172531000", "MIT operator: 617.253.1000", "phone") + ->extra_link("../emergency/", "Emergency Contact Numbers"); + +?> diff --git a/web/people/sp/items.html b/web/people/sp/items.html new file mode 100755 index 0000000..775a64e --- /dev/null +++ b/web/people/sp/items.html @@ -0,0 +1,6 @@ + +

+ + ,
+ +

diff --git a/web/people/sp/results.html b/web/people/sp/results.html new file mode 100755 index 0000000..17f6897 --- /dev/null +++ b/web/people/sp/results.html @@ -0,0 +1,11 @@ +title('MIT People Directory: Search Results') + ->header('People Directory'); + +$page->content_begin(); + +$content->output($people); + +$page->content_end(); +$page->nav_link('./', "People Directory Home"); +?> diff --git a/web/robots.txt b/web/robots.txt new file mode 100755 index 0000000..e0c3217 --- /dev/null +++ b/web/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: /*/* diff --git a/web/shuttleschedule/help.php b/web/shuttleschedule/help.php new file mode 100755 index 0000000..94e9877 --- /dev/null +++ b/web/shuttleschedule/help.php @@ -0,0 +1,26 @@ + diff --git a/web/shuttleschedule/images/fp/boston_daytime-a.gif b/web/shuttleschedule/images/fp/boston_daytime-a.gif new file mode 100755 index 0000000..6337fd6 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_daytime-a.gif differ diff --git a/web/shuttleschedule/images/fp/boston_daytime-b.gif b/web/shuttleschedule/images/fp/boston_daytime-b.gif new file mode 100755 index 0000000..9321eb9 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_daytime-b.gif differ diff --git a/web/shuttleschedule/images/fp/boston_daytime-c.gif b/web/shuttleschedule/images/fp/boston_daytime-c.gif new file mode 100755 index 0000000..95bbb4f Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_daytime-c.gif differ diff --git a/web/shuttleschedule/images/fp/boston_daytime-d.gif b/web/shuttleschedule/images/fp/boston_daytime-d.gif new file mode 100755 index 0000000..6c47720 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_daytime-d.gif differ diff --git a/web/shuttleschedule/images/fp/boston_daytime-e.gif b/web/shuttleschedule/images/fp/boston_daytime-e.gif new file mode 100755 index 0000000..eeacfe6 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_daytime-e.gif differ diff --git a/web/shuttleschedule/images/fp/boston_daytime-f.gif b/web/shuttleschedule/images/fp/boston_daytime-f.gif new file mode 100755 index 0000000..704f5e6 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_daytime-f.gif differ diff --git a/web/shuttleschedule/images/fp/boston_daytime-g.gif b/web/shuttleschedule/images/fp/boston_daytime-g.gif new file mode 100755 index 0000000..e54b68a Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_daytime-g.gif differ diff --git a/web/shuttleschedule/images/fp/boston_daytime.gif b/web/shuttleschedule/images/fp/boston_daytime.gif new file mode 100755 index 0000000..51305ae Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_daytime.gif differ diff --git a/web/shuttleschedule/images/fp/boston_east-a.gif b/web/shuttleschedule/images/fp/boston_east-a.gif new file mode 100755 index 0000000..abc5a09 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_east-a.gif differ diff --git a/web/shuttleschedule/images/fp/boston_east-b.gif b/web/shuttleschedule/images/fp/boston_east-b.gif new file mode 100755 index 0000000..a20146c Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_east-b.gif differ diff --git a/web/shuttleschedule/images/fp/boston_east-c.gif b/web/shuttleschedule/images/fp/boston_east-c.gif new file mode 100755 index 0000000..1fda685 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_east-c.gif differ diff --git a/web/shuttleschedule/images/fp/boston_east-d.gif b/web/shuttleschedule/images/fp/boston_east-d.gif new file mode 100755 index 0000000..a1c3393 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_east-d.gif differ diff --git a/web/shuttleschedule/images/fp/boston_east-e.gif b/web/shuttleschedule/images/fp/boston_east-e.gif new file mode 100755 index 0000000..047a022 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_east-e.gif differ diff --git a/web/shuttleschedule/images/fp/boston_east-f.gif b/web/shuttleschedule/images/fp/boston_east-f.gif new file mode 100755 index 0000000..11729e5 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_east-f.gif differ diff --git a/web/shuttleschedule/images/fp/boston_east-g.gif b/web/shuttleschedule/images/fp/boston_east-g.gif new file mode 100755 index 0000000..8f9fd61 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_east-g.gif differ diff --git a/web/shuttleschedule/images/fp/boston_east-h.gif b/web/shuttleschedule/images/fp/boston_east-h.gif new file mode 100755 index 0000000..dd70ce2 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_east-h.gif differ diff --git a/web/shuttleschedule/images/fp/boston_east-i.gif b/web/shuttleschedule/images/fp/boston_east-i.gif new file mode 100755 index 0000000..633c610 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_east-i.gif differ diff --git a/web/shuttleschedule/images/fp/boston_east-j.gif b/web/shuttleschedule/images/fp/boston_east-j.gif new file mode 100755 index 0000000..67ed439 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_east-j.gif differ diff --git a/web/shuttleschedule/images/fp/boston_east-k.gif b/web/shuttleschedule/images/fp/boston_east-k.gif new file mode 100755 index 0000000..39c5d36 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_east-k.gif differ diff --git a/web/shuttleschedule/images/fp/boston_east.gif b/web/shuttleschedule/images/fp/boston_east.gif new file mode 100755 index 0000000..42e1f82 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_east.gif differ diff --git a/web/shuttleschedule/images/fp/boston_west-a.gif b/web/shuttleschedule/images/fp/boston_west-a.gif new file mode 100755 index 0000000..52f8e11 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_west-a.gif differ diff --git a/web/shuttleschedule/images/fp/boston_west-b.gif b/web/shuttleschedule/images/fp/boston_west-b.gif new file mode 100755 index 0000000..da6c4d6 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_west-b.gif differ diff --git a/web/shuttleschedule/images/fp/boston_west-c.gif b/web/shuttleschedule/images/fp/boston_west-c.gif new file mode 100755 index 0000000..3882bc1 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_west-c.gif differ diff --git a/web/shuttleschedule/images/fp/boston_west-d.gif b/web/shuttleschedule/images/fp/boston_west-d.gif new file mode 100755 index 0000000..290e603 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_west-d.gif differ diff --git a/web/shuttleschedule/images/fp/boston_west-e.gif b/web/shuttleschedule/images/fp/boston_west-e.gif new file mode 100755 index 0000000..5c6c76c Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_west-e.gif differ diff --git a/web/shuttleschedule/images/fp/boston_west-f.gif b/web/shuttleschedule/images/fp/boston_west-f.gif new file mode 100755 index 0000000..84a1d09 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_west-f.gif differ diff --git a/web/shuttleschedule/images/fp/boston_west-g.gif b/web/shuttleschedule/images/fp/boston_west-g.gif new file mode 100755 index 0000000..ac3423d Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_west-g.gif differ diff --git a/web/shuttleschedule/images/fp/boston_west-h.gif b/web/shuttleschedule/images/fp/boston_west-h.gif new file mode 100755 index 0000000..b8127d6 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_west-h.gif differ diff --git a/web/shuttleschedule/images/fp/boston_west-i.gif b/web/shuttleschedule/images/fp/boston_west-i.gif new file mode 100755 index 0000000..035e7fe Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_west-i.gif differ diff --git a/web/shuttleschedule/images/fp/boston_west-j.gif b/web/shuttleschedule/images/fp/boston_west-j.gif new file mode 100755 index 0000000..20fec6c Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_west-j.gif differ diff --git a/web/shuttleschedule/images/fp/boston_west-k.gif b/web/shuttleschedule/images/fp/boston_west-k.gif new file mode 100755 index 0000000..c244f66 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_west-k.gif differ diff --git a/web/shuttleschedule/images/fp/boston_west.gif b/web/shuttleschedule/images/fp/boston_west.gif new file mode 100755 index 0000000..1f31e38 Binary files /dev/null and b/web/shuttleschedule/images/fp/boston_west.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-a.gif b/web/shuttleschedule/images/fp/cambridge_east-a.gif new file mode 100755 index 0000000..8bf2b34 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-a.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-b.gif b/web/shuttleschedule/images/fp/cambridge_east-b.gif new file mode 100755 index 0000000..525277e Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-b.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-c.gif b/web/shuttleschedule/images/fp/cambridge_east-c.gif new file mode 100755 index 0000000..a200425 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-c.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-d.gif b/web/shuttleschedule/images/fp/cambridge_east-d.gif new file mode 100755 index 0000000..3f917a6 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-d.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-e.gif b/web/shuttleschedule/images/fp/cambridge_east-e.gif new file mode 100755 index 0000000..c5033ee Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-e.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-f.gif b/web/shuttleschedule/images/fp/cambridge_east-f.gif new file mode 100755 index 0000000..2576de8 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-f.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-g.gif b/web/shuttleschedule/images/fp/cambridge_east-g.gif new file mode 100755 index 0000000..624b212 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-g.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-h.gif b/web/shuttleschedule/images/fp/cambridge_east-h.gif new file mode 100755 index 0000000..8b7d750 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-h.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-i.gif b/web/shuttleschedule/images/fp/cambridge_east-i.gif new file mode 100755 index 0000000..5da099c Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-i.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-j.gif b/web/shuttleschedule/images/fp/cambridge_east-j.gif new file mode 100755 index 0000000..64a342b Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-j.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-k.gif b/web/shuttleschedule/images/fp/cambridge_east-k.gif new file mode 100755 index 0000000..57dfe1e Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-k.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-l.gif b/web/shuttleschedule/images/fp/cambridge_east-l.gif new file mode 100755 index 0000000..b5de482 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-l.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-m.gif b/web/shuttleschedule/images/fp/cambridge_east-m.gif new file mode 100755 index 0000000..d06a52d Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-m.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-n.gif b/web/shuttleschedule/images/fp/cambridge_east-n.gif new file mode 100755 index 0000000..043d941 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-n.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-o.gif b/web/shuttleschedule/images/fp/cambridge_east-o.gif new file mode 100755 index 0000000..5782620 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-o.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east-p.gif b/web/shuttleschedule/images/fp/cambridge_east-p.gif new file mode 100755 index 0000000..d9226a9 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east-p.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_east.gif b/web/shuttleschedule/images/fp/cambridge_east.gif new file mode 100755 index 0000000..9de2ee4 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_east.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-a.gif b/web/shuttleschedule/images/fp/cambridge_west-a.gif new file mode 100755 index 0000000..7c9616b Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-a.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-b.gif b/web/shuttleschedule/images/fp/cambridge_west-b.gif new file mode 100755 index 0000000..c1ef2e2 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-b.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-c.gif b/web/shuttleschedule/images/fp/cambridge_west-c.gif new file mode 100755 index 0000000..d09b435 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-c.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-d.gif b/web/shuttleschedule/images/fp/cambridge_west-d.gif new file mode 100755 index 0000000..2f165d2 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-d.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-e.gif b/web/shuttleschedule/images/fp/cambridge_west-e.gif new file mode 100755 index 0000000..b75d6f4 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-e.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-f.gif b/web/shuttleschedule/images/fp/cambridge_west-f.gif new file mode 100755 index 0000000..e49ff63 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-f.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-g.gif b/web/shuttleschedule/images/fp/cambridge_west-g.gif new file mode 100755 index 0000000..d45990d Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-g.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-h.gif b/web/shuttleschedule/images/fp/cambridge_west-h.gif new file mode 100755 index 0000000..aeee01d Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-h.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-i.gif b/web/shuttleschedule/images/fp/cambridge_west-i.gif new file mode 100755 index 0000000..3d69261 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-i.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-j.gif b/web/shuttleschedule/images/fp/cambridge_west-j.gif new file mode 100755 index 0000000..4db22c2 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-j.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-k.gif b/web/shuttleschedule/images/fp/cambridge_west-k.gif new file mode 100755 index 0000000..eae1a22 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-k.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-l.gif b/web/shuttleschedule/images/fp/cambridge_west-l.gif new file mode 100755 index 0000000..1a48390 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-l.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-m.gif b/web/shuttleschedule/images/fp/cambridge_west-m.gif new file mode 100755 index 0000000..8c98125 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-m.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-n.gif b/web/shuttleschedule/images/fp/cambridge_west-n.gif new file mode 100755 index 0000000..dac5715 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-n.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-o.gif b/web/shuttleschedule/images/fp/cambridge_west-o.gif new file mode 100755 index 0000000..c9c4659 Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-o.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west-p.gif b/web/shuttleschedule/images/fp/cambridge_west-p.gif new file mode 100755 index 0000000..e7eaa4e Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west-p.gif differ diff --git a/web/shuttleschedule/images/fp/cambridge_west.gif b/web/shuttleschedule/images/fp/cambridge_west.gif new file mode 100755 index 0000000..530bb0a Binary files /dev/null and b/web/shuttleschedule/images/fp/cambridge_west.gif differ diff --git a/web/shuttleschedule/images/fp/northwest_shuttle-a.gif b/web/shuttleschedule/images/fp/northwest_shuttle-a.gif new file mode 100755 index 0000000..dc4e509 Binary files /dev/null and b/web/shuttleschedule/images/fp/northwest_shuttle-a.gif differ diff --git a/web/shuttleschedule/images/fp/northwest_shuttle-b.gif b/web/shuttleschedule/images/fp/northwest_shuttle-b.gif new file mode 100755 index 0000000..5bf49dd Binary files /dev/null and b/web/shuttleschedule/images/fp/northwest_shuttle-b.gif differ diff --git a/web/shuttleschedule/images/fp/northwest_shuttle-c.gif b/web/shuttleschedule/images/fp/northwest_shuttle-c.gif new file mode 100755 index 0000000..ba43c55 Binary files /dev/null and b/web/shuttleschedule/images/fp/northwest_shuttle-c.gif differ diff --git a/web/shuttleschedule/images/fp/northwest_shuttle-d.gif b/web/shuttleschedule/images/fp/northwest_shuttle-d.gif new file mode 100755 index 0000000..befabd0 Binary files /dev/null and b/web/shuttleschedule/images/fp/northwest_shuttle-d.gif differ diff --git a/web/shuttleschedule/images/fp/northwest_shuttle-e.gif b/web/shuttleschedule/images/fp/northwest_shuttle-e.gif new file mode 100755 index 0000000..6db15fa Binary files /dev/null and b/web/shuttleschedule/images/fp/northwest_shuttle-e.gif differ diff --git a/web/shuttleschedule/images/fp/northwest_shuttle-f.gif b/web/shuttleschedule/images/fp/northwest_shuttle-f.gif new file mode 100755 index 0000000..7f9b9bc Binary files /dev/null and b/web/shuttleschedule/images/fp/northwest_shuttle-f.gif differ diff --git a/web/shuttleschedule/images/fp/northwest_shuttle-g.gif b/web/shuttleschedule/images/fp/northwest_shuttle-g.gif new file mode 100755 index 0000000..c4b20a8 Binary files /dev/null and b/web/shuttleschedule/images/fp/northwest_shuttle-g.gif differ diff --git a/web/shuttleschedule/images/fp/northwest_shuttle-h.gif b/web/shuttleschedule/images/fp/northwest_shuttle-h.gif new file mode 100755 index 0000000..acc17ed Binary files /dev/null and b/web/shuttleschedule/images/fp/northwest_shuttle-h.gif differ diff --git a/web/shuttleschedule/images/fp/northwest_shuttle-i.gif b/web/shuttleschedule/images/fp/northwest_shuttle-i.gif new file mode 100755 index 0000000..9ac92b3 Binary files /dev/null and b/web/shuttleschedule/images/fp/northwest_shuttle-i.gif differ diff --git a/web/shuttleschedule/images/fp/northwest_shuttle.gif b/web/shuttleschedule/images/fp/northwest_shuttle.gif new file mode 100755 index 0000000..bb29949 Binary files /dev/null and b/web/shuttleschedule/images/fp/northwest_shuttle.gif differ diff --git a/web/shuttleschedule/images/fp/tech_shuttle-a.gif b/web/shuttleschedule/images/fp/tech_shuttle-a.gif new file mode 100755 index 0000000..78a392f Binary files /dev/null and b/web/shuttleschedule/images/fp/tech_shuttle-a.gif differ diff --git a/web/shuttleschedule/images/fp/tech_shuttle-b.gif b/web/shuttleschedule/images/fp/tech_shuttle-b.gif new file mode 100755 index 0000000..24f644f Binary files /dev/null and b/web/shuttleschedule/images/fp/tech_shuttle-b.gif differ diff --git a/web/shuttleschedule/images/fp/tech_shuttle-c.gif b/web/shuttleschedule/images/fp/tech_shuttle-c.gif new file mode 100755 index 0000000..0297daf Binary files /dev/null and b/web/shuttleschedule/images/fp/tech_shuttle-c.gif differ diff --git a/web/shuttleschedule/images/fp/tech_shuttle-d.gif b/web/shuttleschedule/images/fp/tech_shuttle-d.gif new file mode 100755 index 0000000..674c54b Binary files /dev/null and b/web/shuttleschedule/images/fp/tech_shuttle-d.gif differ diff --git a/web/shuttleschedule/images/fp/tech_shuttle-e.gif b/web/shuttleschedule/images/fp/tech_shuttle-e.gif new file mode 100755 index 0000000..28d06cb Binary files /dev/null and b/web/shuttleschedule/images/fp/tech_shuttle-e.gif differ diff --git a/web/shuttleschedule/images/fp/tech_shuttle-f.gif b/web/shuttleschedule/images/fp/tech_shuttle-f.gif new file mode 100755 index 0000000..b1df6a9 Binary files /dev/null and b/web/shuttleschedule/images/fp/tech_shuttle-f.gif differ diff --git a/web/shuttleschedule/images/fp/tech_shuttle-g.gif b/web/shuttleschedule/images/fp/tech_shuttle-g.gif new file mode 100755 index 0000000..851616c Binary files /dev/null and b/web/shuttleschedule/images/fp/tech_shuttle-g.gif differ diff --git a/web/shuttleschedule/images/fp/tech_shuttle-h.gif b/web/shuttleschedule/images/fp/tech_shuttle-h.gif new file mode 100755 index 0000000..cb1e257 Binary files /dev/null and b/web/shuttleschedule/images/fp/tech_shuttle-h.gif differ diff --git a/web/shuttleschedule/images/fp/tech_shuttle-i.gif b/web/shuttleschedule/images/fp/tech_shuttle-i.gif new file mode 100755 index 0000000..2728ba2 Binary files /dev/null and b/web/shuttleschedule/images/fp/tech_shuttle-i.gif differ diff --git a/web/shuttleschedule/images/fp/tech_shuttle-j.gif b/web/shuttleschedule/images/fp/tech_shuttle-j.gif new file mode 100755 index 0000000..3ca4346 Binary files /dev/null and b/web/shuttleschedule/images/fp/tech_shuttle-j.gif differ diff --git a/web/shuttleschedule/images/fp/tech_shuttle.gif b/web/shuttleschedule/images/fp/tech_shuttle.gif new file mode 100755 index 0000000..5ca65e1 Binary files /dev/null and b/web/shuttleschedule/images/fp/tech_shuttle.gif differ diff --git a/web/shuttleschedule/images/ip/boston_daytime-a.gif b/web/shuttleschedule/images/ip/boston_daytime-a.gif new file mode 100755 index 0000000..1687512 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_daytime-a.gif differ diff --git a/web/shuttleschedule/images/ip/boston_daytime-b.gif b/web/shuttleschedule/images/ip/boston_daytime-b.gif new file mode 100755 index 0000000..1dda0c2 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_daytime-b.gif differ diff --git a/web/shuttleschedule/images/ip/boston_daytime-c.gif b/web/shuttleschedule/images/ip/boston_daytime-c.gif new file mode 100755 index 0000000..32caa98 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_daytime-c.gif differ diff --git a/web/shuttleschedule/images/ip/boston_daytime-d.gif b/web/shuttleschedule/images/ip/boston_daytime-d.gif new file mode 100755 index 0000000..2da097a Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_daytime-d.gif differ diff --git a/web/shuttleschedule/images/ip/boston_daytime-e.gif b/web/shuttleschedule/images/ip/boston_daytime-e.gif new file mode 100755 index 0000000..0b3ccca Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_daytime-e.gif differ diff --git a/web/shuttleschedule/images/ip/boston_daytime-f.gif b/web/shuttleschedule/images/ip/boston_daytime-f.gif new file mode 100755 index 0000000..babf904 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_daytime-f.gif differ diff --git a/web/shuttleschedule/images/ip/boston_daytime-g.gif b/web/shuttleschedule/images/ip/boston_daytime-g.gif new file mode 100755 index 0000000..0066c50 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_daytime-g.gif differ diff --git a/web/shuttleschedule/images/ip/boston_daytime.gif b/web/shuttleschedule/images/ip/boston_daytime.gif new file mode 100755 index 0000000..783a976 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_daytime.gif differ diff --git a/web/shuttleschedule/images/ip/boston_east-a.gif b/web/shuttleschedule/images/ip/boston_east-a.gif new file mode 100755 index 0000000..df77a69 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_east-a.gif differ diff --git a/web/shuttleschedule/images/ip/boston_east-b.gif b/web/shuttleschedule/images/ip/boston_east-b.gif new file mode 100755 index 0000000..7e7ae55 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_east-b.gif differ diff --git a/web/shuttleschedule/images/ip/boston_east-c.gif b/web/shuttleschedule/images/ip/boston_east-c.gif new file mode 100755 index 0000000..372f90d Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_east-c.gif differ diff --git a/web/shuttleschedule/images/ip/boston_east-d.gif b/web/shuttleschedule/images/ip/boston_east-d.gif new file mode 100755 index 0000000..9e9b64f Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_east-d.gif differ diff --git a/web/shuttleschedule/images/ip/boston_east-e.gif b/web/shuttleschedule/images/ip/boston_east-e.gif new file mode 100755 index 0000000..a49a244 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_east-e.gif differ diff --git a/web/shuttleschedule/images/ip/boston_east-f.gif b/web/shuttleschedule/images/ip/boston_east-f.gif new file mode 100755 index 0000000..b61ff69 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_east-f.gif differ diff --git a/web/shuttleschedule/images/ip/boston_east-g.gif b/web/shuttleschedule/images/ip/boston_east-g.gif new file mode 100755 index 0000000..5ffb40c Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_east-g.gif differ diff --git a/web/shuttleschedule/images/ip/boston_east-h.gif b/web/shuttleschedule/images/ip/boston_east-h.gif new file mode 100755 index 0000000..ec7205f Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_east-h.gif differ diff --git a/web/shuttleschedule/images/ip/boston_east-i.gif b/web/shuttleschedule/images/ip/boston_east-i.gif new file mode 100755 index 0000000..e84d7c9 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_east-i.gif differ diff --git a/web/shuttleschedule/images/ip/boston_east-j.gif b/web/shuttleschedule/images/ip/boston_east-j.gif new file mode 100755 index 0000000..aa6534e Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_east-j.gif differ diff --git a/web/shuttleschedule/images/ip/boston_east-k.gif b/web/shuttleschedule/images/ip/boston_east-k.gif new file mode 100755 index 0000000..aad839a Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_east-k.gif differ diff --git a/web/shuttleschedule/images/ip/boston_east.gif b/web/shuttleschedule/images/ip/boston_east.gif new file mode 100755 index 0000000..4891324 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_east.gif differ diff --git a/web/shuttleschedule/images/ip/boston_west-a.gif b/web/shuttleschedule/images/ip/boston_west-a.gif new file mode 100755 index 0000000..16de13b Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_west-a.gif differ diff --git a/web/shuttleschedule/images/ip/boston_west-b.gif b/web/shuttleschedule/images/ip/boston_west-b.gif new file mode 100755 index 0000000..f17cf64 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_west-b.gif differ diff --git a/web/shuttleschedule/images/ip/boston_west-c.gif b/web/shuttleschedule/images/ip/boston_west-c.gif new file mode 100755 index 0000000..e11b2ce Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_west-c.gif differ diff --git a/web/shuttleschedule/images/ip/boston_west-d.gif b/web/shuttleschedule/images/ip/boston_west-d.gif new file mode 100755 index 0000000..174fd53 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_west-d.gif differ diff --git a/web/shuttleschedule/images/ip/boston_west-e.gif b/web/shuttleschedule/images/ip/boston_west-e.gif new file mode 100755 index 0000000..f922ae6 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_west-e.gif differ diff --git a/web/shuttleschedule/images/ip/boston_west-f.gif b/web/shuttleschedule/images/ip/boston_west-f.gif new file mode 100755 index 0000000..34f0071 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_west-f.gif differ diff --git a/web/shuttleschedule/images/ip/boston_west-g.gif b/web/shuttleschedule/images/ip/boston_west-g.gif new file mode 100755 index 0000000..5c563e0 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_west-g.gif differ diff --git a/web/shuttleschedule/images/ip/boston_west-h.gif b/web/shuttleschedule/images/ip/boston_west-h.gif new file mode 100755 index 0000000..c260c80 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_west-h.gif differ diff --git a/web/shuttleschedule/images/ip/boston_west-i.gif b/web/shuttleschedule/images/ip/boston_west-i.gif new file mode 100755 index 0000000..1f91182 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_west-i.gif differ diff --git a/web/shuttleschedule/images/ip/boston_west-j.gif b/web/shuttleschedule/images/ip/boston_west-j.gif new file mode 100755 index 0000000..a2830c3 Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_west-j.gif differ diff --git a/web/shuttleschedule/images/ip/boston_west-k.gif b/web/shuttleschedule/images/ip/boston_west-k.gif new file mode 100755 index 0000000..3e7f68b Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_west-k.gif differ diff --git a/web/shuttleschedule/images/ip/boston_west.gif b/web/shuttleschedule/images/ip/boston_west.gif new file mode 100755 index 0000000..89461dd Binary files /dev/null and b/web/shuttleschedule/images/ip/boston_west.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge-west-f.gif b/web/shuttleschedule/images/ip/cambridge-west-f.gif new file mode 100755 index 0000000..d50e08a Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge-west-f.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge-west-h.gif b/web/shuttleschedule/images/ip/cambridge-west-h.gif new file mode 100755 index 0000000..99d1642 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge-west-h.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-a.gif b/web/shuttleschedule/images/ip/cambridge_east-a.gif new file mode 100755 index 0000000..c048b3b Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-a.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-b.gif b/web/shuttleschedule/images/ip/cambridge_east-b.gif new file mode 100755 index 0000000..40ea3d0 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-b.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-c.gif b/web/shuttleschedule/images/ip/cambridge_east-c.gif new file mode 100755 index 0000000..0b02a71 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-c.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-d.gif b/web/shuttleschedule/images/ip/cambridge_east-d.gif new file mode 100755 index 0000000..08d73ea Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-d.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-e.gif b/web/shuttleschedule/images/ip/cambridge_east-e.gif new file mode 100755 index 0000000..17cb3b2 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-e.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-f.gif b/web/shuttleschedule/images/ip/cambridge_east-f.gif new file mode 100755 index 0000000..3d6b428 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-f.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-g.gif b/web/shuttleschedule/images/ip/cambridge_east-g.gif new file mode 100755 index 0000000..aeef645 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-g.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-h.gif b/web/shuttleschedule/images/ip/cambridge_east-h.gif new file mode 100755 index 0000000..ea60baa Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-h.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-i.gif b/web/shuttleschedule/images/ip/cambridge_east-i.gif new file mode 100755 index 0000000..2d9b304 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-i.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-j.gif b/web/shuttleschedule/images/ip/cambridge_east-j.gif new file mode 100755 index 0000000..bfc0fe1 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-j.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-k.gif b/web/shuttleschedule/images/ip/cambridge_east-k.gif new file mode 100755 index 0000000..4b4a824 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-k.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-l.gif b/web/shuttleschedule/images/ip/cambridge_east-l.gif new file mode 100755 index 0000000..bb96bda Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-l.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-m.gif b/web/shuttleschedule/images/ip/cambridge_east-m.gif new file mode 100755 index 0000000..7a71db6 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-m.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-n.gif b/web/shuttleschedule/images/ip/cambridge_east-n.gif new file mode 100755 index 0000000..54cb40c Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-n.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-o.gif b/web/shuttleschedule/images/ip/cambridge_east-o.gif new file mode 100755 index 0000000..ec6f1d2 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-o.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east-p.gif b/web/shuttleschedule/images/ip/cambridge_east-p.gif new file mode 100755 index 0000000..57bca71 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east-p.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_east.gif b/web/shuttleschedule/images/ip/cambridge_east.gif new file mode 100755 index 0000000..d855079 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_east.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-a.gif b/web/shuttleschedule/images/ip/cambridge_west-a.gif new file mode 100755 index 0000000..41c2599 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-a.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-b.gif b/web/shuttleschedule/images/ip/cambridge_west-b.gif new file mode 100755 index 0000000..d2a4d9d Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-b.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-c.gif b/web/shuttleschedule/images/ip/cambridge_west-c.gif new file mode 100755 index 0000000..ca9b252 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-c.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-d.gif b/web/shuttleschedule/images/ip/cambridge_west-d.gif new file mode 100755 index 0000000..a3799b5 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-d.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-e.gif b/web/shuttleschedule/images/ip/cambridge_west-e.gif new file mode 100755 index 0000000..c927690 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-e.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-f.gif b/web/shuttleschedule/images/ip/cambridge_west-f.gif new file mode 100755 index 0000000..d50e08a Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-f.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-g.gif b/web/shuttleschedule/images/ip/cambridge_west-g.gif new file mode 100755 index 0000000..26fc9e4 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-g.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-h.gif b/web/shuttleschedule/images/ip/cambridge_west-h.gif new file mode 100755 index 0000000..99d1642 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-h.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-i.gif b/web/shuttleschedule/images/ip/cambridge_west-i.gif new file mode 100755 index 0000000..6e7bd24 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-i.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-j.gif b/web/shuttleschedule/images/ip/cambridge_west-j.gif new file mode 100755 index 0000000..85ac39a Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-j.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-k.gif b/web/shuttleschedule/images/ip/cambridge_west-k.gif new file mode 100755 index 0000000..7ec5e5f Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-k.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-l.gif b/web/shuttleschedule/images/ip/cambridge_west-l.gif new file mode 100755 index 0000000..a2e8260 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-l.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-m.gif b/web/shuttleschedule/images/ip/cambridge_west-m.gif new file mode 100755 index 0000000..df411c2 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-m.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-n.gif b/web/shuttleschedule/images/ip/cambridge_west-n.gif new file mode 100755 index 0000000..843689b Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-n.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-o.gif b/web/shuttleschedule/images/ip/cambridge_west-o.gif new file mode 100755 index 0000000..db0a482 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-o.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west-p.gif b/web/shuttleschedule/images/ip/cambridge_west-p.gif new file mode 100755 index 0000000..26957b7 Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west-p.gif differ diff --git a/web/shuttleschedule/images/ip/cambridge_west.gif b/web/shuttleschedule/images/ip/cambridge_west.gif new file mode 100755 index 0000000..e9fc68f Binary files /dev/null and b/web/shuttleschedule/images/ip/cambridge_west.gif differ diff --git a/web/shuttleschedule/images/ip/northwest_shuttle-a.gif b/web/shuttleschedule/images/ip/northwest_shuttle-a.gif new file mode 100755 index 0000000..4fd6430 Binary files /dev/null and b/web/shuttleschedule/images/ip/northwest_shuttle-a.gif differ diff --git a/web/shuttleschedule/images/ip/northwest_shuttle-b.gif b/web/shuttleschedule/images/ip/northwest_shuttle-b.gif new file mode 100755 index 0000000..0ba5bf1 Binary files /dev/null and b/web/shuttleschedule/images/ip/northwest_shuttle-b.gif differ diff --git a/web/shuttleschedule/images/ip/northwest_shuttle-c.gif b/web/shuttleschedule/images/ip/northwest_shuttle-c.gif new file mode 100755 index 0000000..0618087 Binary files /dev/null and b/web/shuttleschedule/images/ip/northwest_shuttle-c.gif differ diff --git a/web/shuttleschedule/images/ip/northwest_shuttle-d.gif b/web/shuttleschedule/images/ip/northwest_shuttle-d.gif new file mode 100755 index 0000000..e1a0a17 Binary files /dev/null and b/web/shuttleschedule/images/ip/northwest_shuttle-d.gif differ diff --git a/web/shuttleschedule/images/ip/northwest_shuttle-e.gif b/web/shuttleschedule/images/ip/northwest_shuttle-e.gif new file mode 100755 index 0000000..7630aed Binary files /dev/null and b/web/shuttleschedule/images/ip/northwest_shuttle-e.gif differ diff --git a/web/shuttleschedule/images/ip/northwest_shuttle-f.gif b/web/shuttleschedule/images/ip/northwest_shuttle-f.gif new file mode 100755 index 0000000..387b230 Binary files /dev/null and b/web/shuttleschedule/images/ip/northwest_shuttle-f.gif differ diff --git a/web/shuttleschedule/images/ip/northwest_shuttle-g.gif b/web/shuttleschedule/images/ip/northwest_shuttle-g.gif new file mode 100755 index 0000000..d032554 Binary files /dev/null and b/web/shuttleschedule/images/ip/northwest_shuttle-g.gif differ diff --git a/web/shuttleschedule/images/ip/northwest_shuttle-h.gif b/web/shuttleschedule/images/ip/northwest_shuttle-h.gif new file mode 100755 index 0000000..41201fb Binary files /dev/null and b/web/shuttleschedule/images/ip/northwest_shuttle-h.gif differ diff --git a/web/shuttleschedule/images/ip/northwest_shuttle-i.gif b/web/shuttleschedule/images/ip/northwest_shuttle-i.gif new file mode 100755 index 0000000..bb4ea41 Binary files /dev/null and b/web/shuttleschedule/images/ip/northwest_shuttle-i.gif differ diff --git a/web/shuttleschedule/images/ip/northwest_shuttle.gif b/web/shuttleschedule/images/ip/northwest_shuttle.gif new file mode 100755 index 0000000..ce113f8 Binary files /dev/null and b/web/shuttleschedule/images/ip/northwest_shuttle.gif differ diff --git a/web/shuttleschedule/images/ip/tech_shuttle-a.gif b/web/shuttleschedule/images/ip/tech_shuttle-a.gif new file mode 100755 index 0000000..d087952 Binary files /dev/null and b/web/shuttleschedule/images/ip/tech_shuttle-a.gif differ diff --git a/web/shuttleschedule/images/ip/tech_shuttle-b.gif b/web/shuttleschedule/images/ip/tech_shuttle-b.gif new file mode 100755 index 0000000..316a248 Binary files /dev/null and b/web/shuttleschedule/images/ip/tech_shuttle-b.gif differ diff --git a/web/shuttleschedule/images/ip/tech_shuttle-c.gif b/web/shuttleschedule/images/ip/tech_shuttle-c.gif new file mode 100755 index 0000000..6ec08c1 Binary files /dev/null and b/web/shuttleschedule/images/ip/tech_shuttle-c.gif differ diff --git a/web/shuttleschedule/images/ip/tech_shuttle-d.gif b/web/shuttleschedule/images/ip/tech_shuttle-d.gif new file mode 100755 index 0000000..680e6de Binary files /dev/null and b/web/shuttleschedule/images/ip/tech_shuttle-d.gif differ diff --git a/web/shuttleschedule/images/ip/tech_shuttle-e.gif b/web/shuttleschedule/images/ip/tech_shuttle-e.gif new file mode 100755 index 0000000..b14a1c3 Binary files /dev/null and b/web/shuttleschedule/images/ip/tech_shuttle-e.gif differ diff --git a/web/shuttleschedule/images/ip/tech_shuttle-f.gif b/web/shuttleschedule/images/ip/tech_shuttle-f.gif new file mode 100755 index 0000000..c52a933 Binary files /dev/null and b/web/shuttleschedule/images/ip/tech_shuttle-f.gif differ diff --git a/web/shuttleschedule/images/ip/tech_shuttle-g.gif b/web/shuttleschedule/images/ip/tech_shuttle-g.gif new file mode 100755 index 0000000..08ace8c Binary files /dev/null and b/web/shuttleschedule/images/ip/tech_shuttle-g.gif differ diff --git a/web/shuttleschedule/images/ip/tech_shuttle-h.gif b/web/shuttleschedule/images/ip/tech_shuttle-h.gif new file mode 100755 index 0000000..1b16b13 Binary files /dev/null and b/web/shuttleschedule/images/ip/tech_shuttle-h.gif differ diff --git a/web/shuttleschedule/images/ip/tech_shuttle-i.gif b/web/shuttleschedule/images/ip/tech_shuttle-i.gif new file mode 100755 index 0000000..8fff806 Binary files /dev/null and b/web/shuttleschedule/images/ip/tech_shuttle-i.gif differ diff --git a/web/shuttleschedule/images/ip/tech_shuttle-j.gif b/web/shuttleschedule/images/ip/tech_shuttle-j.gif new file mode 100755 index 0000000..3a3adba Binary files /dev/null and b/web/shuttleschedule/images/ip/tech_shuttle-j.gif differ diff --git a/web/shuttleschedule/images/ip/tech_shuttle.gif b/web/shuttleschedule/images/ip/tech_shuttle.gif new file mode 100755 index 0000000..169159c Binary files /dev/null and b/web/shuttleschedule/images/ip/tech_shuttle.gif differ diff --git a/web/shuttleschedule/images/sp/boston_daytime-a.gif b/web/shuttleschedule/images/sp/boston_daytime-a.gif new file mode 100755 index 0000000..a4b57bd Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_daytime-a.gif differ diff --git a/web/shuttleschedule/images/sp/boston_daytime-b.gif b/web/shuttleschedule/images/sp/boston_daytime-b.gif new file mode 100755 index 0000000..5ba73ed Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_daytime-b.gif differ diff --git a/web/shuttleschedule/images/sp/boston_daytime-c.gif b/web/shuttleschedule/images/sp/boston_daytime-c.gif new file mode 100755 index 0000000..4d9f614 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_daytime-c.gif differ diff --git a/web/shuttleschedule/images/sp/boston_daytime-d.gif b/web/shuttleschedule/images/sp/boston_daytime-d.gif new file mode 100755 index 0000000..ab556c9 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_daytime-d.gif differ diff --git a/web/shuttleschedule/images/sp/boston_daytime-e.gif b/web/shuttleschedule/images/sp/boston_daytime-e.gif new file mode 100755 index 0000000..49e3275 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_daytime-e.gif differ diff --git a/web/shuttleschedule/images/sp/boston_daytime-f.gif b/web/shuttleschedule/images/sp/boston_daytime-f.gif new file mode 100755 index 0000000..1e2fa2d Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_daytime-f.gif differ diff --git a/web/shuttleschedule/images/sp/boston_daytime-g.gif b/web/shuttleschedule/images/sp/boston_daytime-g.gif new file mode 100755 index 0000000..67eeac8 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_daytime-g.gif differ diff --git a/web/shuttleschedule/images/sp/boston_daytime.gif b/web/shuttleschedule/images/sp/boston_daytime.gif new file mode 100755 index 0000000..25e3a7e Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_daytime.gif differ diff --git a/web/shuttleschedule/images/sp/boston_east-a.gif b/web/shuttleschedule/images/sp/boston_east-a.gif new file mode 100755 index 0000000..76a9c2a Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_east-a.gif differ diff --git a/web/shuttleschedule/images/sp/boston_east-b.gif b/web/shuttleschedule/images/sp/boston_east-b.gif new file mode 100755 index 0000000..3312929 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_east-b.gif differ diff --git a/web/shuttleschedule/images/sp/boston_east-c.gif b/web/shuttleschedule/images/sp/boston_east-c.gif new file mode 100755 index 0000000..e585362 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_east-c.gif differ diff --git a/web/shuttleschedule/images/sp/boston_east-d.gif b/web/shuttleschedule/images/sp/boston_east-d.gif new file mode 100755 index 0000000..7fa8502 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_east-d.gif differ diff --git a/web/shuttleschedule/images/sp/boston_east-e.gif b/web/shuttleschedule/images/sp/boston_east-e.gif new file mode 100755 index 0000000..361f3e3 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_east-e.gif differ diff --git a/web/shuttleschedule/images/sp/boston_east-f.gif b/web/shuttleschedule/images/sp/boston_east-f.gif new file mode 100755 index 0000000..9a9989f Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_east-f.gif differ diff --git a/web/shuttleschedule/images/sp/boston_east-g.gif b/web/shuttleschedule/images/sp/boston_east-g.gif new file mode 100755 index 0000000..1069366 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_east-g.gif differ diff --git a/web/shuttleschedule/images/sp/boston_east-h.gif b/web/shuttleschedule/images/sp/boston_east-h.gif new file mode 100755 index 0000000..3ca5b7b Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_east-h.gif differ diff --git a/web/shuttleschedule/images/sp/boston_east-i.gif b/web/shuttleschedule/images/sp/boston_east-i.gif new file mode 100755 index 0000000..598cb41 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_east-i.gif differ diff --git a/web/shuttleschedule/images/sp/boston_east-j.gif b/web/shuttleschedule/images/sp/boston_east-j.gif new file mode 100755 index 0000000..b650ffc Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_east-j.gif differ diff --git a/web/shuttleschedule/images/sp/boston_east-k.gif b/web/shuttleschedule/images/sp/boston_east-k.gif new file mode 100755 index 0000000..b8deb39 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_east-k.gif differ diff --git a/web/shuttleschedule/images/sp/boston_east.gif b/web/shuttleschedule/images/sp/boston_east.gif new file mode 100755 index 0000000..40f58f6 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_east.gif differ diff --git a/web/shuttleschedule/images/sp/boston_west-a.gif b/web/shuttleschedule/images/sp/boston_west-a.gif new file mode 100755 index 0000000..c927fad Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_west-a.gif differ diff --git a/web/shuttleschedule/images/sp/boston_west-b.gif b/web/shuttleschedule/images/sp/boston_west-b.gif new file mode 100755 index 0000000..2792142 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_west-b.gif differ diff --git a/web/shuttleschedule/images/sp/boston_west-c.gif b/web/shuttleschedule/images/sp/boston_west-c.gif new file mode 100755 index 0000000..78b3cd1 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_west-c.gif differ diff --git a/web/shuttleschedule/images/sp/boston_west-d.gif b/web/shuttleschedule/images/sp/boston_west-d.gif new file mode 100755 index 0000000..9ab2574 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_west-d.gif differ diff --git a/web/shuttleschedule/images/sp/boston_west-e.gif b/web/shuttleschedule/images/sp/boston_west-e.gif new file mode 100755 index 0000000..9978329 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_west-e.gif differ diff --git a/web/shuttleschedule/images/sp/boston_west-f.gif b/web/shuttleschedule/images/sp/boston_west-f.gif new file mode 100755 index 0000000..92ca5ff Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_west-f.gif differ diff --git a/web/shuttleschedule/images/sp/boston_west-g.gif b/web/shuttleschedule/images/sp/boston_west-g.gif new file mode 100755 index 0000000..976c3ae Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_west-g.gif differ diff --git a/web/shuttleschedule/images/sp/boston_west-h.gif b/web/shuttleschedule/images/sp/boston_west-h.gif new file mode 100755 index 0000000..6c40fa2 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_west-h.gif differ diff --git a/web/shuttleschedule/images/sp/boston_west-i.gif b/web/shuttleschedule/images/sp/boston_west-i.gif new file mode 100755 index 0000000..56c91c7 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_west-i.gif differ diff --git a/web/shuttleschedule/images/sp/boston_west-j.gif b/web/shuttleschedule/images/sp/boston_west-j.gif new file mode 100755 index 0000000..2484aa5 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_west-j.gif differ diff --git a/web/shuttleschedule/images/sp/boston_west-k.gif b/web/shuttleschedule/images/sp/boston_west-k.gif new file mode 100755 index 0000000..acfcee9 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_west-k.gif differ diff --git a/web/shuttleschedule/images/sp/boston_west.gif b/web/shuttleschedule/images/sp/boston_west.gif new file mode 100755 index 0000000..32487f4 Binary files /dev/null and b/web/shuttleschedule/images/sp/boston_west.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge-west-j.gif b/web/shuttleschedule/images/sp/cambridge-west-j.gif new file mode 100755 index 0000000..035f270 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge-west-j.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge-west-l.gif b/web/shuttleschedule/images/sp/cambridge-west-l.gif new file mode 100755 index 0000000..eff753c Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge-west-l.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-a.gif b/web/shuttleschedule/images/sp/cambridge_east-a.gif new file mode 100755 index 0000000..62200a8 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-a.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-b.gif b/web/shuttleschedule/images/sp/cambridge_east-b.gif new file mode 100755 index 0000000..c8b22ed Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-b.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-c.gif b/web/shuttleschedule/images/sp/cambridge_east-c.gif new file mode 100755 index 0000000..f7e992e Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-c.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-d.gif b/web/shuttleschedule/images/sp/cambridge_east-d.gif new file mode 100755 index 0000000..e300abf Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-d.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-e.gif b/web/shuttleschedule/images/sp/cambridge_east-e.gif new file mode 100755 index 0000000..d1cf2da Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-e.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-f.gif b/web/shuttleschedule/images/sp/cambridge_east-f.gif new file mode 100755 index 0000000..824d19e Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-f.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-g.gif b/web/shuttleschedule/images/sp/cambridge_east-g.gif new file mode 100755 index 0000000..8c0a8c9 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-g.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-h.gif b/web/shuttleschedule/images/sp/cambridge_east-h.gif new file mode 100755 index 0000000..799fcb3 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-h.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-i.gif b/web/shuttleschedule/images/sp/cambridge_east-i.gif new file mode 100755 index 0000000..7e2f629 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-i.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-j.gif b/web/shuttleschedule/images/sp/cambridge_east-j.gif new file mode 100755 index 0000000..a1edc26 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-j.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-k.gif b/web/shuttleschedule/images/sp/cambridge_east-k.gif new file mode 100755 index 0000000..53e9e8e Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-k.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-l.gif b/web/shuttleschedule/images/sp/cambridge_east-l.gif new file mode 100755 index 0000000..4eacd2a Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-l.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-m.gif b/web/shuttleschedule/images/sp/cambridge_east-m.gif new file mode 100755 index 0000000..4d8db62 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-m.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-n.gif b/web/shuttleschedule/images/sp/cambridge_east-n.gif new file mode 100755 index 0000000..43f2c5e Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-n.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-o.gif b/web/shuttleschedule/images/sp/cambridge_east-o.gif new file mode 100755 index 0000000..40ac6e1 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-o.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east-p.gif b/web/shuttleschedule/images/sp/cambridge_east-p.gif new file mode 100755 index 0000000..4ffea1d Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east-p.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_east.gif b/web/shuttleschedule/images/sp/cambridge_east.gif new file mode 100755 index 0000000..43e9659 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_east.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-a.gif b/web/shuttleschedule/images/sp/cambridge_west-a.gif new file mode 100755 index 0000000..df33370 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-a.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-b.gif b/web/shuttleschedule/images/sp/cambridge_west-b.gif new file mode 100755 index 0000000..bc674d0 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-b.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-c.gif b/web/shuttleschedule/images/sp/cambridge_west-c.gif new file mode 100755 index 0000000..c704627 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-c.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-d.gif b/web/shuttleschedule/images/sp/cambridge_west-d.gif new file mode 100755 index 0000000..5131875 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-d.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-e.gif b/web/shuttleschedule/images/sp/cambridge_west-e.gif new file mode 100755 index 0000000..6e4de9b Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-e.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-f.gif b/web/shuttleschedule/images/sp/cambridge_west-f.gif new file mode 100755 index 0000000..3b04723 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-f.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-g.gif b/web/shuttleschedule/images/sp/cambridge_west-g.gif new file mode 100755 index 0000000..2f3218f Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-g.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-h.gif b/web/shuttleschedule/images/sp/cambridge_west-h.gif new file mode 100755 index 0000000..c785e63 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-h.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-i.gif b/web/shuttleschedule/images/sp/cambridge_west-i.gif new file mode 100755 index 0000000..7d038be Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-i.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-j.gif b/web/shuttleschedule/images/sp/cambridge_west-j.gif new file mode 100755 index 0000000..035f270 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-j.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-k.gif b/web/shuttleschedule/images/sp/cambridge_west-k.gif new file mode 100755 index 0000000..ef1cbb9 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-k.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-l.gif b/web/shuttleschedule/images/sp/cambridge_west-l.gif new file mode 100755 index 0000000..eff753c Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-l.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-m.gif b/web/shuttleschedule/images/sp/cambridge_west-m.gif new file mode 100755 index 0000000..65c0cfc Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-m.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-n.gif b/web/shuttleschedule/images/sp/cambridge_west-n.gif new file mode 100755 index 0000000..540ad65 Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-n.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-o.gif b/web/shuttleschedule/images/sp/cambridge_west-o.gif new file mode 100755 index 0000000..d5501bb Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-o.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west-p.gif b/web/shuttleschedule/images/sp/cambridge_west-p.gif new file mode 100755 index 0000000..c9e242a Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west-p.gif differ diff --git a/web/shuttleschedule/images/sp/cambridge_west.gif b/web/shuttleschedule/images/sp/cambridge_west.gif new file mode 100755 index 0000000..fca138c Binary files /dev/null and b/web/shuttleschedule/images/sp/cambridge_west.gif differ diff --git a/web/shuttleschedule/images/sp/northwest_shuttle-a.gif b/web/shuttleschedule/images/sp/northwest_shuttle-a.gif new file mode 100755 index 0000000..b13de4f Binary files /dev/null and b/web/shuttleschedule/images/sp/northwest_shuttle-a.gif differ diff --git a/web/shuttleschedule/images/sp/northwest_shuttle-b.gif b/web/shuttleschedule/images/sp/northwest_shuttle-b.gif new file mode 100755 index 0000000..5314528 Binary files /dev/null and b/web/shuttleschedule/images/sp/northwest_shuttle-b.gif differ diff --git a/web/shuttleschedule/images/sp/northwest_shuttle-c.gif b/web/shuttleschedule/images/sp/northwest_shuttle-c.gif new file mode 100755 index 0000000..9530387 Binary files /dev/null and b/web/shuttleschedule/images/sp/northwest_shuttle-c.gif differ diff --git a/web/shuttleschedule/images/sp/northwest_shuttle-d.gif b/web/shuttleschedule/images/sp/northwest_shuttle-d.gif new file mode 100755 index 0000000..636a65a Binary files /dev/null and b/web/shuttleschedule/images/sp/northwest_shuttle-d.gif differ diff --git a/web/shuttleschedule/images/sp/northwest_shuttle-e.gif b/web/shuttleschedule/images/sp/northwest_shuttle-e.gif new file mode 100755 index 0000000..6504bbd Binary files /dev/null and b/web/shuttleschedule/images/sp/northwest_shuttle-e.gif differ diff --git a/web/shuttleschedule/images/sp/northwest_shuttle-f.gif b/web/shuttleschedule/images/sp/northwest_shuttle-f.gif new file mode 100755 index 0000000..215e105 Binary files /dev/null and b/web/shuttleschedule/images/sp/northwest_shuttle-f.gif differ diff --git a/web/shuttleschedule/images/sp/northwest_shuttle-g.gif b/web/shuttleschedule/images/sp/northwest_shuttle-g.gif new file mode 100755 index 0000000..8324bbd Binary files /dev/null and b/web/shuttleschedule/images/sp/northwest_shuttle-g.gif differ diff --git a/web/shuttleschedule/images/sp/northwest_shuttle-h.gif b/web/shuttleschedule/images/sp/northwest_shuttle-h.gif new file mode 100755 index 0000000..f218660 Binary files /dev/null and b/web/shuttleschedule/images/sp/northwest_shuttle-h.gif differ diff --git a/web/shuttleschedule/images/sp/northwest_shuttle-i.gif b/web/shuttleschedule/images/sp/northwest_shuttle-i.gif new file mode 100755 index 0000000..84196ff Binary files /dev/null and b/web/shuttleschedule/images/sp/northwest_shuttle-i.gif differ diff --git a/web/shuttleschedule/images/sp/northwest_shuttle.gif b/web/shuttleschedule/images/sp/northwest_shuttle.gif new file mode 100755 index 0000000..2b69164 Binary files /dev/null and b/web/shuttleschedule/images/sp/northwest_shuttle.gif differ diff --git a/web/shuttleschedule/images/sp/tech_shuttle-a.gif b/web/shuttleschedule/images/sp/tech_shuttle-a.gif new file mode 100755 index 0000000..675e27e Binary files /dev/null and b/web/shuttleschedule/images/sp/tech_shuttle-a.gif differ diff --git a/web/shuttleschedule/images/sp/tech_shuttle-b.gif b/web/shuttleschedule/images/sp/tech_shuttle-b.gif new file mode 100755 index 0000000..f417138 Binary files /dev/null and b/web/shuttleschedule/images/sp/tech_shuttle-b.gif differ diff --git a/web/shuttleschedule/images/sp/tech_shuttle-c.gif b/web/shuttleschedule/images/sp/tech_shuttle-c.gif new file mode 100755 index 0000000..4196617 Binary files /dev/null and b/web/shuttleschedule/images/sp/tech_shuttle-c.gif differ diff --git a/web/shuttleschedule/images/sp/tech_shuttle-d.gif b/web/shuttleschedule/images/sp/tech_shuttle-d.gif new file mode 100755 index 0000000..b5a9c1c Binary files /dev/null and b/web/shuttleschedule/images/sp/tech_shuttle-d.gif differ diff --git a/web/shuttleschedule/images/sp/tech_shuttle-e.gif b/web/shuttleschedule/images/sp/tech_shuttle-e.gif new file mode 100755 index 0000000..ad957f7 Binary files /dev/null and b/web/shuttleschedule/images/sp/tech_shuttle-e.gif differ diff --git a/web/shuttleschedule/images/sp/tech_shuttle-f.gif b/web/shuttleschedule/images/sp/tech_shuttle-f.gif new file mode 100755 index 0000000..e63baa5 Binary files /dev/null and b/web/shuttleschedule/images/sp/tech_shuttle-f.gif differ diff --git a/web/shuttleschedule/images/sp/tech_shuttle-g.gif b/web/shuttleschedule/images/sp/tech_shuttle-g.gif new file mode 100755 index 0000000..dc48eca Binary files /dev/null and b/web/shuttleschedule/images/sp/tech_shuttle-g.gif differ diff --git a/web/shuttleschedule/images/sp/tech_shuttle-h.gif b/web/shuttleschedule/images/sp/tech_shuttle-h.gif new file mode 100755 index 0000000..ad884b4 Binary files /dev/null and b/web/shuttleschedule/images/sp/tech_shuttle-h.gif differ diff --git a/web/shuttleschedule/images/sp/tech_shuttle-i.gif b/web/shuttleschedule/images/sp/tech_shuttle-i.gif new file mode 100755 index 0000000..cb3fb47 Binary files /dev/null and b/web/shuttleschedule/images/sp/tech_shuttle-i.gif differ diff --git a/web/shuttleschedule/images/sp/tech_shuttle-j.gif b/web/shuttleschedule/images/sp/tech_shuttle-j.gif new file mode 100755 index 0000000..e42caf9 Binary files /dev/null and b/web/shuttleschedule/images/sp/tech_shuttle-j.gif differ diff --git a/web/shuttleschedule/images/sp/tech_shuttle.gif b/web/shuttleschedule/images/sp/tech_shuttle.gif new file mode 100755 index 0000000..224f870 Binary files /dev/null and b/web/shuttleschedule/images/sp/tech_shuttle.gif differ diff --git a/web/shuttleschedule/index.php b/web/shuttleschedule/index.php new file mode 100755 index 0000000..6a6538f --- /dev/null +++ b/web/shuttleschedule/index.php @@ -0,0 +1,53 @@ +initRoutesCache(); + +$now = time(); +$day = date('D', $now); +$hour = date('H', $now); +$minute = date('i', $now); + +$day_keys = array( + "tech_shuttle", + "northwest_shuttle", + "boston_daytime" +); + +$night_keys = array( + "boston_east", + "boston_west", + "cambridge_east", + "cambridge_west" +); + +$day_routes = array(); +foreach($day_keys as $key) { + $day_routes[$key] = $schedule->getRoute($key); +} + +$night_routes = array(); +foreach($night_keys as $key) { + $night_routes[$key] = $schedule->getRoute($key); +} + +$routes = array_merge($day_routes, $night_routes); + +require "$prefix/index.html"; +$page->output(); +?> diff --git a/web/shuttleschedule/ip/index.html b/web/shuttleschedule/ip/index.html new file mode 100755 index 0000000..6034b32 --- /dev/null +++ b/web/shuttleschedule/ip/index.html @@ -0,0 +1,68 @@ +title('MIT Shuttle Schedule') + ->navbar_image('title-shuttleschedule') + ->add_stylesheet('styles/shuttletrack-ip') + ->breadcrumbs('Shuttle Schedule') + ->breadcrumb_home(); + + +$page->content_begin(); +?> + +
+

+

Daytime Shuttles:

+
+ + + + +
+

+

Nighttime Saferide Shuttles:

+
+ + + + +
+
Running
+
Not currently running
+
+ + + +content_end(); +$page->extra_footer("Map service provided by Facilities Department and"); +?> diff --git a/web/shuttleschedule/ip/times.html b/web/shuttleschedule/ip/times.html new file mode 100755 index 0000000..6037d91 --- /dev/null +++ b/web/shuttleschedule/ip/times.html @@ -0,0 +1,72 @@ +title('MIT Shuttle Schedule: ' . $routeName) + ->navbar_image('title-shuttleschedule') + ->not_scalable() + ->fixed() + ->add_stylesheet('styles/shuttletrack-ip') + ->add_javascript('../ip/uiscripts-ip') + ->breadcrumbs('Route Info') + ->extra_onload("rotateScreen()") + ->onorientationchange("rotateScreen()"); + +$page->content_begin(); +?> + + +
+ +

Update

+ +

+ isRunning($day, $hour, $minute)) { ?> + Page refreshed at .
+ + This shuttle is not currently running.
+ + + This shuttle getSummary()))?>getHolidays()) { ?>, except holidays. +

+ +

Route loop repeats every minutes.

+ + + +
+
+ + + + + + $stop) { ?> + class="current" > + + + + +
StopTime
.
+ + +
+ + + +
+
+ +
+
Rotate your device to view map & schedule side by side.Rotate your device to view schedule and map separately.
+ + +
+content_end(); + +$page->extra_footer('Map service provided by Facilities Department and'); +$page->footer_script('showTab("scheduletab");'); + +?> diff --git a/web/shuttleschedule/schedule_lib.php b/web/shuttleschedule/schedule_lib.php new file mode 100755 index 0000000..4d02bde --- /dev/null +++ b/web/shuttleschedule/schedule_lib.php @@ -0,0 +1,28 @@ +encodeName(); +} + +function Letter($number) { + return chr($number + ord('A')); +} + +?> \ No newline at end of file diff --git a/web/shuttleschedule/sp/index.html b/web/shuttleschedule/sp/index.html new file mode 100755 index 0000000..74e2de2 --- /dev/null +++ b/web/shuttleschedule/sp/index.html @@ -0,0 +1,40 @@ +title("MIT Shuttle Schedule") + ->header("Shuttle Schedule"); + +$page->content_begin(); +?> + + + + +

+ RunningRunning + Not runningNot currently running +

+ +content_end(); +$page->help_link("tel:16172586510", "Parking office: 617.258.6510") + ->help_link("tel:16172532997", "Saferide: 617.253.2997"); +?> diff --git a/web/shuttleschedule/sp/times.html b/web/shuttleschedule/sp/times.html new file mode 100755 index 0000000..ade14fd --- /dev/null +++ b/web/shuttleschedule/sp/times.html @@ -0,0 +1,50 @@ +title("MIT Shuttle Schedule: $routeName Shuttle") + ->header("Shuttle Schedule") + ->add_stylesheet("styles/shuttletrack-$phone"); + +$page->content_begin(); +?> +
+

+ +

+ isRunning($day, $hour, $minute)) { ?> + Page refreshed at (refresh)
+ + This shuttle is not currently running
+ + + getSummary()?> +

+ +

Route loop repeats every minutes.

+ + + + + + + $stop) { ?> + + + + + + + + + + + + +
Stop (Map)Time
.
bus 
+ + +
Map
+ +
+content_end(); +$page->nav_link("./", "Shuttle Schedule Home"); +?> diff --git a/web/shuttleschedule/styles/shuttletrack-fp.css b/web/shuttleschedule/styles/shuttletrack-fp.css new file mode 100755 index 0000000..ee5d517 --- /dev/null +++ b/web/shuttleschedule/styles/shuttletrack-fp.css @@ -0,0 +1,21 @@ +table.schedule { + width: 100%; + margin: 0 0 12px 0; + border-bottom: 1px solid #999; +} +table.schedule th { + padding: 2px 4px 2px 2px; + font-weight: normal; + text-align: left; + color: #666; +} +table.schedule td { + padding: 2px 4px 2px 2px; + border-top: 1px solid #ccc; +} +.current td { + background-color: #933; + color: #fff; + border-color: #933; + padding-bottom: 4px; +} diff --git a/web/shuttleschedule/styles/shuttletrack-ip.css b/web/shuttleschedule/styles/shuttletrack-ip.css new file mode 100755 index 0000000..fc93dbc --- /dev/null +++ b/web/shuttleschedule/styles/shuttletrack-ip.css @@ -0,0 +1,162 @@ +#timestamp { + display: block; + line-height: 1.33em; + margin-top: 8px; +} + +.tabbody { + min-height: 260px; +} + +#schedule { + border-bottom: 1px dotted #ddd; + margin: 0 0 16px 0; +} + +#schedule td { + border-top: 1px dotted #ddd; +} + +.current td { + background-color: #b00; + color: #fff; +} + +.current td:first-child { + padding-left: 24px !important; + background-image: url(../../ip/images/shuttle.png); + background-repeat: no-repeat; + background-position: 3px 3px; +} + +.sid { + display: inline-block; + width: 18px; + text-align: center; + color: #999; +} + +.current .sid { + color: #fff; + display: none; +} + +#map, #maptab { + text-align: center; +} + +#refresh { + position: absolute; + top: 8px; + right: 8px; + font-size: 14px; +} + +.timestamp { + position: absolute; + right: 10px; + top: 14px; + float: right; + font-size: 14px; + font-weight: normal; + color: #506d8e; +} + + + + +/* Tall (portrait) orientation */ + +body.portrait { + width: 320px; +} + +body.portrait #timestamp { + display: block; +} + +body.portrait #tabs { + display: block; +} + +body.portrait .tabbody { + font-size: 17px; +} + +body.portrait #scheduletab, #maptab { + width: auto; +} + +body.portrait #mapimage { + width: 270px; + height: 270px; + text-align: center; +} + +body.portrait #rotatemsg1 { + display: inline; +} + +body.portrait #rotatemsg2 { + display: none; +} + + + +/* Wide (landscape) orientation */ + +body.landscape { + width: 480px; +} + +body.landscape #timestamp { + display: inline; +} + +body.landscape #schedule { + border-bottom: 1px solid #f0f0f0; + margin: 0 0 16px 0; +} + +body.landscape #tabs { + display: none; +} + +body.landscape .tabbody { + display: block !important; + float: left; + font-size: 14px; +} + +body.landscape #scheduletab { + width: 205px; +} + +body.landscape #maptab { + width: 225px; +} + +body.landscape #map { + width: 225px; + height: 225px; + text-align: right; +} + +body.landscape #mapimage { + width: 225px; + height: 225px; + margin-left: 10px; +} + +body.landscape #rotatemsg1 { + display: none; +} + +body.landscape #rotatemsg2 { + display: inline; +} + +.ampm { + font-size: 75%; + padding-left: 0.2em +} diff --git a/web/shuttleschedule/styles/shuttletrack-sp.css b/web/shuttleschedule/styles/shuttletrack-sp.css new file mode 100755 index 0000000..3d2a6cf --- /dev/null +++ b/web/shuttleschedule/styles/shuttletrack-sp.css @@ -0,0 +1,27 @@ +table.schedule { + width: 100%; + margin: 0.75em 0; + position: relative; + border-bottom: 1px solid #999; +} +table.schedule th { + padding: 2px 4px 2px 2px; + font-weight: normal; + line-height: 1em; + text-align: left; + color: #666; +} +table.schedule td { + padding: 2px 4px 2px 2px; + line-height: 1em; + border-top: 1px solid #ccc; +} +.current td { + background-color: #933; + padding-bottom: 4px; + color: #fff; + border-color: #933; +} +.current strong { + font-weight: normal; +} \ No newline at end of file diff --git a/web/shuttleschedule/times.php b/web/shuttleschedule/times.php new file mode 100755 index 0000000..e5c4922 --- /dev/null +++ b/web/shuttleschedule/times.php @@ -0,0 +1,101 @@ +getRoute($_REQUEST['route']); + +$now = time(); +$day = date('D', $now); +$hour = date('H', $now); +$minute = date('i', $now); +$seconds = date('s', $now); +$stops = $route->getCurrentStops($day, $hour, $minute); +$routeName = $route->getName(); + +function selfURL() { + return "times.php?route={$_REQUEST['route']}"; +} + +function timeSTR($stop) { + if(isset($stop['unknown'])) { + return ''; + } + + if($stop['never']) { + return 'Finished'; + } + + return standardTimeStr($stop['hour'], $stop['minute']); +} + +function standardTimeStr($hour, $minute, $second = NULL) { + $suffix_array = (Page::$phoneType == "ip") ? array('AM', 'PM') : array('A', 'P'); + $suffix = $suffix_array[ floor($hour / 12) ]; + $hour = $hour % 12; + if($hour == 0) { + $hour = 12; + } + $second_str = ($second !== NULL) ? ":$second" : ""; + return mark_up($hour . ':' . $minute . $second_str . $suffix); +} + +function mark_up($string_in) { + if(Page::$phoneType == "ip") { + + //this function adds to html markup to strings that contain times + // 9:05AM -> 9:05AM + return preg_replace('/(\d)(AM|PM)/','$1$2', $string_in); + } else { + return $string_in; + } +} + +function lower_first($string_in) { + // make the first letter of a string lower case + return strtolower(substr($string_in, 0, 1)) . substr($string_in, 1); +} + +$loop_time = 60 / $route->getPerHour(); + +$sizes = array("sp" => 200, "fp" => 160); +$size = $sizes[$phone]; + +$imageURL = imageURL($phone, $route->encodeName(), $stops); + +require "$prefix/times.html"; +$page->output(); + + +function imageURL($phone, $encodedName, $stops) { + $base = "images/$phone/" . $encodedName; + if(($index = getCurrentStop($stops)) !== NULL) { + $base .= '-' . strtolower(Letter($index)); + } + return $base . ".gif"; +} + + +function getCurrentStop($stops) { + foreach($stops as $index => $stop) { + if($stop['next']) { + return $index; + } + } +} + +?> diff --git a/web/sp/base.html b/web/sp/base.html new file mode 100755 index 0000000..7289db0 --- /dev/null +++ b/web/sp/base.html @@ -0,0 +1,61 @@ +'?> + + + + + + + + <?=$title?> + + + + + + + + + + +
+ + draw_content(); ?> + + 0) { ?> +

+ + >
+ +

+ + + +

+ ({$link['phone']})" : ""; ?> + >
+ + Help +

+ + +

+ 0: MIT Mobile Web Home
+ $link) { + $number = $index + 1; ?> + :
+ +

+
+ +

+ + + + diff --git a/web/sp/form.html b/web/sp/form.html new file mode 100755 index 0000000..b73ba38 --- /dev/null +++ b/web/sp/form.html @@ -0,0 +1,8 @@ +
+

+ + + + +

+
diff --git a/web/sp/help.html b/web/sp/help.html new file mode 100755 index 0000000..5513b4e --- /dev/null +++ b/web/sp/help.html @@ -0,0 +1,24 @@ +title("MIT $header: Help") + ->header($header); + +$page->content_begin(); +?> +
+ +

Help

+ +

+ +
+ +content_end(); +$page->help_off() + ->nav_link("index.php", "$header Home"); +?> diff --git a/web/sp/images/alert.gif b/web/sp/images/alert.gif new file mode 100755 index 0000000..917c37f Binary files /dev/null and b/web/sp/images/alert.gif differ diff --git a/web/sp/images/bus.gif b/web/sp/images/bus.gif new file mode 100755 index 0000000..6c96d8c Binary files /dev/null and b/web/sp/images/bus.gif differ diff --git a/web/sp/images/critical.gif b/web/sp/images/critical.gif new file mode 100755 index 0000000..7d0d377 Binary files /dev/null and b/web/sp/images/critical.gif differ diff --git a/web/sp/images/gps.gif b/web/sp/images/gps.gif new file mode 100755 index 0000000..3a7e843 Binary files /dev/null and b/web/sp/images/gps.gif differ diff --git a/web/sp/images/ist-logo.gif b/web/sp/images/ist-logo.gif new file mode 100755 index 0000000..9bf2a52 Binary files /dev/null and b/web/sp/images/ist-logo.gif differ diff --git a/web/sp/images/mit-logo copy.gif b/web/sp/images/mit-logo copy.gif new file mode 100755 index 0000000..9cc9cfd Binary files /dev/null and b/web/sp/images/mit-logo copy.gif differ diff --git a/web/sp/images/mit-logo.gif b/web/sp/images/mit-logo.gif new file mode 100755 index 0000000..9cc9cfd Binary files /dev/null and b/web/sp/images/mit-logo.gif differ diff --git a/web/sp/images/ok.gif b/web/sp/images/ok.gif new file mode 100755 index 0000000..a8fd727 Binary files /dev/null and b/web/sp/images/ok.gif differ diff --git a/web/sp/images/schedule.gif b/web/sp/images/schedule.gif new file mode 100755 index 0000000..872475d Binary files /dev/null and b/web/sp/images/schedule.gif differ diff --git a/web/sp/images/shuttle-off.gif b/web/sp/images/shuttle-off.gif new file mode 100755 index 0000000..fd076fd Binary files /dev/null and b/web/sp/images/shuttle-off.gif differ diff --git a/web/sp/images/shuttle.gif b/web/sp/images/shuttle.gif new file mode 100755 index 0000000..f84c82f Binary files /dev/null and b/web/sp/images/shuttle.gif differ diff --git a/web/sp/images/warning.gif b/web/sp/images/warning.gif new file mode 100755 index 0000000..7e53037 Binary files /dev/null and b/web/sp/images/warning.gif differ diff --git a/web/sp/search_results.html b/web/sp/search_results.html new file mode 100755 index 0000000..b4fcff4 --- /dev/null +++ b/web/sp/search_results.html @@ -0,0 +1,32 @@ + form) { + $this->form->out(); + } ?> + + + +

- of matches found

+ +

last match of the found

+ + +

matches found

+ + + =50) { ?> +

Many entries found, please refine your search

+ + + + module}/sp/{$this->template}.html"; ?> + + +

+ +

+ + form && count($results) >= 5) { + if(!$arrows) { + echo "
"; + } + $this->form->out(); + } ?> diff --git a/web/sp/sp.css b/web/sp/sp.css new file mode 100755 index 0000000..9dbbc1e --- /dev/null +++ b/web/sp/sp.css @@ -0,0 +1,339 @@ +/* Redefinition of basic elements */ + +html, body { + margin: 0; + padding: 0; + width: 100%; +} + +body { + background-color: #d9e0e8; + font-family: Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 18px; + color: #202629; +} + +a { + color: #a33; +} + +a:visited { + color: #a33; +} + +a img { + border: none; +} + +h1, h2, h3 { + line-height: 1.2em; + color: #000; +} + +h1 { + font-size: 22px; + font-weight: normal; + margin: 10px 0; + padding: 0; +} + +h2 { + font-size: 20px; + font-weight: normal; + margin: 0 0 6px 0; + padding: 0; +} + +h3 { + font-size: 1em; + font-weight: bold; + margin: 0 0 5px 0; + padding: 0; +} + +h4 { + font-size: 1em; + font-weight: bold; + margin: 0; + padding: 0; +} + +p { + margin: 0 0 10px 0; +} + +th, td, li, option, select, input { + font-family: Helvetica, Arial, sans-serif; + font-size: 14px; +} + +ul { + margin: 0 0 1em 0; + padding: 0 0 0 1em; +} + +ul li { + padding: 0 0 4px 0; +} + + +/* Major layout blocks */ + +#container { + padding: 5px; +} + +#header { + margin: 0; + padding: 8px 8px 0 8px; + font-size: 20px; +} + +#header a { + text-decoration: none; + color: #444; +} + +#footer { + margin: 6px 0 10px 0; + padding: 6px; + font-size: 11px; + line-height: 13px; + color: #666; +} + + + +/* Forms */ + +form { + margin: 0 0 12px 0; + padding: 0; +} + +fieldset { + border: 0; + margin: 0; + padding: 0; +} + +.combobutton { + background-color: #933; + border-color: #933; + color: #fff; +} + +.inputcombo .forminput { + font-size: 13px; + float: left; + width: 60%; + padding: 3px; +} + +.inputcombo .combobutton { + font-size: 13px; + padding: 1px 4px; +} + + + +/* Navigation and results listings */ +/* Many smartphones don't correctly interpret "display:block" for inline elements like */ + +.nav { + margin: 15px 0 15px 0; + padding: 5px; + background-color: #fff; + font-size: 14px; + line-height: 24px; +} + +.secondary { + margin: 15px 0 15px 0; + padding: 5px; + background-color: #edf1f7; + font-size: 13px; + line-height: 21px; +} + +.paging { + margin: 0; + padding: 5px; + font-size: 13px; + line-height: 21px; +} + +.bottomnav { + margin: 20px 0 10px 0; + padding: 5px; + background-color: #909eac; + font-size: 13px; + line-height: 21px; +} + +.bottomnav a { + color: #fff; +} + +.results { + font-size: 14px; + line-height: 24px; + margin-bottom: 1em; +} + + +/* Specific content formatting */ + +.focal { + background-color: #fff; + padding: 5px; +} + +.nonfocal { + padding: 5px; +} + +.paging { + text-align: left; + margin: 1em 0; +} + +.legend { + margin-top: 0.5em; + font-size: 11px; + line-height: 15px; + color: #666; +} + +.smallprint { + font-size: 12px; + font-weight: normal; + line-height: 15px; + color: #666; +} + +.fineprint { + font-size: 10px; + line-height: 12px; + color: #666; +} + +.clear { + clear: both; +} + +.label { + float: left; + width: 50px; + padding: 1px 10px 0 0; + font-size: 12px; + line-height: 19px; + color: #627ba1; +} + +.value { + font-size: 14px; + min-height: 20px; + line-height: 20px; +} + +.divider { + height: 0; + margin: 0.75em 0; + border: none; + border-top: 1px dotted #999; +} + +hr { + display: none; +} + +.bb { + display: none; +} + +.image { + text-align: center; + padding-bottom: 6px; +} + +.hidden { + visibility: hidden; +} + +.maintable { + width: 100%; + background-color: #fff; +} + +.maintable td, .maintable th { + padding: 3px 5px; +} + +.centered { + text-align: center +} + + +/* Iconically coded links - e.g., Shuttle Schedule, 3DOWN, etc. */ + +a.icon { + background-repeat: no-repeat; + background-position: 0px 3px; +} + +span.icon { + background-repeat: no-repeat; + background-position: 0 0; + padding-right: 6px; +} + +.icon span { + padding: 3px 0 3px 17px; + line-height: 16px; +} + +.gps { + background-image: url(../sp/images/gps.gif); +} + +.sch { + background-image: url(../sp/images/schedule.gif); +} + +.ok { + background-image: url(../sp/images/ok.gif); +} + +.alert { + background-image: url(../sp/images/alert.gif); +} + +.warning { + background-image: url(../sp/images/warning.gif); +} + +.critical { + background-image: url(../sp/images/critical.gif); +} + +.running { + background-image: url(../sp/images/shuttle.gif); +} + +/* Tabs */ + +.tabs { + color: #999; +} + +.tabs .active { + font-weight: bold; + color: #000; +} + +.tabs a { + font-weight: normal; +} + diff --git a/web/stellar/announcement.php b/web/stellar/announcement.php new file mode 100755 index 0000000..d3793da --- /dev/null +++ b/web/stellar/announcement.php @@ -0,0 +1,36 @@ +output(); + +?> diff --git a/web/stellar/course.php b/web/stellar/course.php new file mode 100755 index 0000000..6040319 --- /dev/null +++ b/web/stellar/course.php @@ -0,0 +1,30 @@ + 0; + +require "$prefix/course.html"; +$page->output(); + +?> diff --git a/web/stellar/courses.php b/web/stellar/courses.php new file mode 100755 index 0000000..abf64cc --- /dev/null +++ b/web/stellar/courses.php @@ -0,0 +1,31 @@ +get_list($all_courses); + $title = "Courses $which"; +} + +require "$prefix/courses.html"; + +$page->output(); + +?> diff --git a/web/stellar/detail.php b/web/stellar/detail.php new file mode 100755 index 0000000..7041840 --- /dev/null +++ b/web/stellar/detail.php @@ -0,0 +1,98 @@ + $_REQUEST['id'], + "all" => $all, + "back" => $_REQUEST['back'] + )); + return "detail.php?$query"; +} + +function announceURL($index) { + return "announcement.php?index=$index&sess=" . session_id(); +} + + +//start session (used to save class details) +session_start(); + +$class_id = $_REQUEST['id']; +$class = StellarData::get_class_info($class_id); +$_SESSION['class'] = $class; + +$tabs = new Tabs(selfURL(), 'tab', array('News', 'Info', 'Staff')); +$tabs_html = $tabs->html(); +$tab = $tabs->active(); +$term = StellarData::get_term_text(); +$back = $_REQUEST['back']; +$stellar_url = stellarURL($class_id); +$has_news = count($class['announcements']) > 0; +$has_old_news = count($class['announcements']) > 5; + +if($_REQUEST['all']) { + $all = true; + $items = $class['announcements']; +} else { + $all = false; + $items = array_slice($class['announcements'], 0, 5); +} + +define('MAX_TEXT', 80); + +function summary($item) { + $text = summary_string($item['text']); + return str_replace('Â', '', $text); +} + +function is_long_text($item) { + return is_long_string($item['text']); +} + +function full($item) { + $text = htmlentities($item['text']); + + //this hack fixes some strange encoding problem + return str_replace('Â', '', $text); +} + +function sDate($item) { + return short_date($item['date']); +} + +function stellarURL($id) { + preg_match('/^(\w+)\.(\w+)/', $id, $match); + $course_id = $match[1]; + return "http://stellar.mit.edu/courseguide/course/" . $course_id . "/" . StellarData::get_term() . "/$id/"; +} + +require "$prefix/detail.html"; +$page->output(); + +?> diff --git a/web/stellar/help.php b/web/stellar/help.php new file mode 100755 index 0000000..d8d632b --- /dev/null +++ b/web/stellar/help.php @@ -0,0 +1,26 @@ +Browse by course and class number', + + '2. Search by part or all of the class name or number', + + 'Each class detail screen includes the latest news and announcements as published by the class faculty and staff on the class Stellar page. You can also view the class description and faculty and staff listings by using the tabs at the top of the page. Click on the name of any faculty or staff member to look them up in the People Directory.', +); + +require "../page_builder/help.php"; + +?> diff --git a/web/stellar/index.php b/web/stellar/index.php new file mode 100755 index 0000000..fce9f8d --- /dev/null +++ b/web/stellar/index.php @@ -0,0 +1,19 @@ +cache(); +$page->output(); + +?> diff --git a/web/stellar/ip/course.html b/web/stellar/ip/course.html new file mode 100755 index 0000000..7aa513d --- /dev/null +++ b/web/stellar/ip/course.html @@ -0,0 +1,24 @@ +title("MIT Stellar: " . idName($id, $course)) + ->navbar_image('title-stellar') + ->breadcrumbs($Back, idName($id, $course)); + +$page->content_begin(); +?> + +
+

()

+
+ +
    + + +
  • :
  • + + +
  • No Stellar sites available for this department
  • + +
+ +content_end(); ?> + diff --git a/web/stellar/ip/courses.html b/web/stellar/ip/courses.html new file mode 100755 index 0000000..a2a3cd1 --- /dev/null +++ b/web/stellar/ip/courses.html @@ -0,0 +1,16 @@ +title("MIT Stellar: $title") + ->navbar_image('title-stellar') + ->breadcrumbs($title); + +$page->content_begin(); +?> + + + +content_end(); ?> diff --git a/web/stellar/ip/detail.html b/web/stellar/ip/detail.html new file mode 100755 index 0000000..e541e09 --- /dev/null +++ b/web/stellar/ip/detail.html @@ -0,0 +1,112 @@ +title("MIT Stellar: " . longID($class)) + ->navbar_image('title-stellar') + ->add_javascript('../ip/uiscripts-ip'); + + +//construct the breadcrumbs +$url_data = parse_url($back); +parse_str($url_data['query'], $params); + +if($url_data['path'] == "course.php") { + $page->breadcrumbs(ucwords($params['back']), $params['id'], 'Detail') + ->breadcrumb_links(coursesURL($params['back']), courseURL($params['id'], $params['back'])); +} elseif($url_data['path'] == "search.php") { + $page->breadcrumbs("Search", "Detail") + ->breadcrumb_links($back); +} + + +$page->content_begin(); +?> + + + +
+

:

+

| Stellar site

+ + + +
+
+ +
+ + + + + +
+
+ +
+content_end(); +$page->footer_script('showTab("announcetab");') +?> diff --git a/web/stellar/ip/index.html b/web/stellar/ip/index.html new file mode 100755 index 0000000..3431019 --- /dev/null +++ b/web/stellar/ip/index.html @@ -0,0 +1,32 @@ +title('MIT Stellar') + ->navbar_image('title-stellar') + ->breadcrumbs('Stellar') + ->breadcrumb_home(); + +$page->content_begin(); +?> + + +
+

Descriptions, announcements and other information for MIT classes.

+ +

Browse by course:

+
+ + + +
+
+
+ + +
+
+
+content_end(); ?> diff --git a/web/stellar/ip/items.html b/web/stellar/ip/items.html new file mode 100755 index 0000000..f26ae48 --- /dev/null +++ b/web/stellar/ip/items.html @@ -0,0 +1,6 @@ +
    + +
  • :
  • + + +
diff --git a/web/stellar/ip/search.html b/web/stellar/ip/search.html new file mode 100755 index 0000000..4a8fdf3 --- /dev/null +++ b/web/stellar/ip/search.html @@ -0,0 +1,11 @@ +title('MIT Stellar: Search Results') + ->navbar_image('title-stellar') + ->breadcrumbs('Search Results'); + +$page->content_begin(); + +$content->output($classes); + +$page->content_end(); +?> diff --git a/web/stellar/search.php b/web/stellar/search.php new file mode 100755 index 0000000..424bec8 --- /dev/null +++ b/web/stellar/search.php @@ -0,0 +1,36 @@ + $_REQUEST['filter'], "start" => $start)); + return "search.php?$query"; +} + +$classes = StellarData::search_classes($_REQUEST['filter']); + +// if exactly one class is found redirect to that +// classes detail page +if(count($classes) == 1) { + header("Location: " . detailURL($classes[0], selfURL())); + die(); +} + +$content = new ResultsContent("items", "stellar", $prefix, $phone); + +require "$prefix/search.html"; + +$page->output(); + +?> diff --git a/web/stellar/sp/announcement.html b/web/stellar/sp/announcement.html new file mode 100755 index 0000000..a257628 --- /dev/null +++ b/web/stellar/sp/announcement.html @@ -0,0 +1,21 @@ +title('MIT Stellar: Announcement') + ->header('Stellar'); + +$page->content_begin(); +?> + +
+ +

+ + +

+ +

+ +
+content_end(); +$page->nav_link("./", "Stellar Home"); +?> diff --git a/web/stellar/sp/course.html b/web/stellar/sp/course.html new file mode 100755 index 0000000..eec4106 --- /dev/null +++ b/web/stellar/sp/course.html @@ -0,0 +1,28 @@ +title("MIT Stellar: " . idName($id, $course)) + ->header("Stellar"); + +$page->content_begin(); +?> + +

()

+ + + + +

+ < Back +

+ +content_end(); +$page->nav_link("./", "Stellar Home"); +?> diff --git a/web/stellar/sp/courses.html b/web/stellar/sp/courses.html new file mode 100755 index 0000000..ff503f3 --- /dev/null +++ b/web/stellar/sp/courses.html @@ -0,0 +1,18 @@ +title("MIT Stellar: $title") + ->header("Stellar"); + +$page->content_begin(); +?> + +

+ + +content_end(); +$page->nav_link("./", "Stellar Home"); +?> diff --git a/web/stellar/sp/detail.html b/web/stellar/sp/detail.html new file mode 100755 index 0000000..eded310 --- /dev/null +++ b/web/stellar/sp/detail.html @@ -0,0 +1,81 @@ +title("MIT Stellar: Search Results") + ->header("Stellar"); + +$page->content_begin(); +?> +
+

:

+

+ +

+ +

+ + + + + $item) { ?> +

+ : + + + more + + + + () + +

+ + +

No announcements

+ + + +

+ Older announcements > +

+ + + + + +

:

+

+ () +

+ + +

+

+ + + +

Instructors:

+

+ +
+ +

+ + +

TAs:

+

+ +
+ +

+ + + +
+ +

+ < Back +

+content_end(); +$page->nav_link("./", "Stellar Home"); +?> diff --git a/web/stellar/sp/index.html b/web/stellar/sp/index.html new file mode 100755 index 0000000..6c5f9bd --- /dev/null +++ b/web/stellar/sp/index.html @@ -0,0 +1,30 @@ +title('MIT Stellar') + ->header('Stellar'); + +$page->content_begin(); +?> + +
+ +

Descriptions, announcements and other information for MIT classes.

+ + + +

+ Search by course/subject #:
+ + + + + + +

+ +content_end(); ?> diff --git a/web/stellar/sp/items.html b/web/stellar/sp/items.html new file mode 100755 index 0000000..6b69412 --- /dev/null +++ b/web/stellar/sp/items.html @@ -0,0 +1,5 @@ +
+ +

:

+ +
diff --git a/web/stellar/sp/search.html b/web/stellar/sp/search.html new file mode 100755 index 0000000..d86701b --- /dev/null +++ b/web/stellar/sp/search.html @@ -0,0 +1,11 @@ +title("MIT Stellar: Search Results") + ->header("Stellar"); + +$page->content_begin(); + +$content->output($classes); + +$page->content_end(); +$page->nav_link("./", "Stellar Home"); +?> diff --git a/web/stellar/stellar_lib.php b/web/stellar/stellar_lib.php new file mode 100755 index 0000000..09d7510 --- /dev/null +++ b/web/stellar/stellar_lib.php @@ -0,0 +1,44 @@ + diff --git a/wurfl/add_ons.py b/wurfl/add_ons.py new file mode 100755 index 0000000..0dfbe68 --- /dev/null +++ b/wurfl/add_ons.py @@ -0,0 +1,14 @@ +# +# Copyright (c) 2008 Massachusetts Institute of Technology +# +# Licensed under the MIT License +# Redistributions of files must retain the above copyright notice. +# +# + +devices = { + "Nokia6820/2.0 (5.88) Profile/MIDP-1.0 Configuration/CLDC-1.0/1.0 (Jumpbot; http://www.jumptap.com/jumpbot; jumpbot@jumptap.com)": + "spider", + "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; InfoPath.2)": + "computer", +} diff --git a/wurfl/data.py b/wurfl/data.py new file mode 100755 index 0000000..40c1ffe --- /dev/null +++ b/wurfl/data.py @@ -0,0 +1,19 @@ +# +# Copyright (c) 2008 Massachusetts Institute of Technology +# +# Licensed under the MIT License +# Redistributions of files must retain the above copyright notice. +# +# + +devices = { + "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20080208 CentOS/1.5.0.12-0.10.el4.centos Firefox/1.5.0.12 pango-text": + "computer", + + "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)": + "spider", + + "Nokia6820/2.0 (5.88) Profile/MIDP-1.0 Configuration/CLDC-1.0/1.0 (Jumpbot; http://www.jumptap.com/jumpbot; jumpbot@jumptap.com)": + "spider", + +} diff --git a/wurfl/device_db.py b/wurfl/device_db.py new file mode 100755 index 0000000..469d92f --- /dev/null +++ b/wurfl/device_db.py @@ -0,0 +1,153 @@ +#!/usr/bin/python +# +# Copyright (c) 2008 Massachusetts Institute of Technology +# +# Licensed under the MIT License +# Redistributions of files must retain the above copyright notice. +# +# + +import bsddb +import sys +import time + +def get_stable(name=None, mode='r'): + if name is None: + name = "stable_devices.db" + return bsddb.hashopen(name, mode) + +def make_py(filename): + fp = open(filename, 'w') + fp.write("devices = {\n") + for user_agent, type in get_stable().items(): + fp.write(' "' + user_agent +'":\n "' + type + '",\n\n') + fp.write("}\n") + fp.close() + +def add_py(mod_name): + the_module = __import__(mod_name) + stable = get_stable(mode='w') + for user_agent, type in the_module.devices.items(): + stable[user_agent] = type + stable.close() + +def display(name): + for user_agent, type in get_stable(name).items(): + print user_agent + print type + print ' ' + +def test(): + import wurfl_classify + devices = get_stable() + total = len(devices) + failures = 0 + for user_agent, type in devices.items(): + classified = wurfl_classify.device_type(user_agent) + if classified != type: + print 'user_agent: "' + user_agent + '"' + print 'correct type=' + type + print 'classified=' + classified + print ' ' + failures += 1 + print 'success %i/%i' % (total-failures, total) + devices.close() + +def merge(new_devices): + stable = get_stable(mode='w') + if new_devices: + new_devices = bsddb.hashopen(new_devices,'r') + for user_agent, type in new_devices.items(): + if not stable.has_key(user_agent): + stable[user_agent] = type + new_devices.close() + stable.close() + +def edit(): + devices = get_stable(mode='w') + for user_agent, type in devices.items(): + response = menu(user_agent, type) + if response: + devices[user_agent] = menu_dict[response] + devices.close() + +def menu(user_agent, type): + while True: + print '' + print '------------------------------------------------------------------' + print user_agent + print 'type=' + type + answer = raw_input(menu_text) + if answer in ('', '1', '2', '3', '4', '5'): + return answer + else: + print invalid_response + time.sleep(0.5) + +menu_text = """ +1) computer +2) iPhone +3) smart phone +4) feature phone +5) crawler/spider +Press Enter to leave unchanged: """ + +menu_dict = { + '1': 'computer', + '2': 'iphone', + '3': 'smart_phone', + '4': 'feature_phone', + '5': 'spider', +} + +invalid_response = """ +Invalid response!!! +Try again""" + +usage_string = """ +To edit: +./device_db.py edit + +To test classification code: +./device_db.py test + +To merge new devices database: +./device_db.py merge filename + +To view device database: +./device_db.py display + +To create an editable python file with database data +./device_db.py makepy data.py + +To add data from a python file to the database data +./device_db.py addpy data +""" + +def usage(): + print usage_string + +def second_arg(): + if len(sys.argv) > 2: + return sys.argv[2] + +if len(sys.argv) == 1: + usage() +elif sys.argv[1] == 'test': + test() +elif sys.argv[1] == 'edit': + edit() +elif sys.argv[1] == 'display': + display(second_arg()) +elif sys.argv[1] == 'makepy': + make_py(sys.argv[2]) +elif sys.argv[1] == 'addpy': + add_py(sys.argv[2]) +elif sys.argv[1] == 'merge': + try: + new_devices = sys.argv[2] + except IndexError: + new_devices = '' + merge(new_devices) +else: + usage() diff --git a/wurfl/device_hash.db b/wurfl/device_hash.db new file mode 100755 index 0000000..adba669 Binary files /dev/null and b/wurfl/device_hash.db differ diff --git a/wurfl/mk_wurfl_xml.py b/wurfl/mk_wurfl_xml.py new file mode 100755 index 0000000..8e5d086 --- /dev/null +++ b/wurfl/mk_wurfl_xml.py @@ -0,0 +1,30 @@ +#!/usr/bin/python +# +# Copyright (c) 2008 Massachusetts Institute of Technology +# +# Licensed under the MIT License +# Redistributions of files must retain the above copyright notice. +# +# + +import os + +os.system("rm wurfl.xml web_browsers_patch.xml") +os.system("wget http://wurfl.sourceforge.net/wurfl.xml") +os.system("wget http://wurfl.sourceforge.net/web_browsers_patch.xml") + +main_fp = open('wurfl.xml','r') +main_xml = main_fp.read() +main_fp.close() + +patch_fp = open('web_browsers_patch.xml','r') +patch_xml = patch_fp.read() +patch_fp.close() + +full_fp = open('wurfl_full.xml','w') +main_xml = main_xml.replace('','').replace('','') +patch_xml = patch_xml.replace('','').replace('','').replace('','') + +full_fp.write(main_xml + patch_xml) +full_fp.close() + diff --git a/wurfl/mobile_detect.py b/wurfl/mobile_detect.py new file mode 100755 index 0000000..eca0f3a --- /dev/null +++ b/wurfl/mobile_detect.py @@ -0,0 +1,79 @@ +# +# Copyright (c) 2008 Massachusetts Institute of Technology +# +# Licensed under the MIT License +# Redistributions of files must retain the above copyright notice. +# +# + +# these paths need to set correctly +wurfl_url = 'wurfl' +wurfl_path = '/path/to/MIT-Mobile-Web/mobile/wurfl' + +from mod_python import apache +import bsddb +import re +import pages +import cgi +# we import this only when needed to save memory +# import wurfl_classify + +stable_db = bsddb.hashopen(wurfl_path + '/stable_devices.db', 'r') + +class DeviceCache: + + class NotFound(Exception): + pass + + def __init__(self): + self.db = bsddb.hashopen(wurfl_path + '/device_hash.db') + + def reset(self): + self.db.close() + self.__init__() + + def find(self, user_agent): + if not self.db.has_key(user_agent): + raise self.NotFound + else: + return self.db[user_agent] + + def add_device(self, user_agent, device_type): + self.db[user_agent] = device_type + self.reset() + +def handler(req): + def fill(page_tpl): + return page_tpl % {'user_agent': user_agent, 'device_type': device_type} + + device_cache = DeviceCache() + + if req.uri.startswith('/' + wurfl_url + '/api'): + args = cgi.parse_qs(req.args) + req.content_type = "text/plain" + req.write(mobile_detect(args['UserAgent'][0], device_cache)) + else: + user_agent = req.headers_in['User-Agent'] + device_type = mobile_detect(user_agent, device_cache) + req.content_type = "text/html" + req.write(fill(pages.device)) + + return apache.OK + +def mobile_detect(user_agent, device_cache): + + wurfl_obj = None + if stable_db.has_key(user_agent): + return stable_db[user_agent] + try: + device = device_cache.find(user_agent) + except device_cache.NotFound: + try: + device_cache.reset() + device = device_cache.find(user_agent) + except device_cache.NotFound: + import wurfl_classify + device = wurfl_classify.device_type(user_agent) + device_cache.add_device(user_agent, device) + + return device diff --git a/wurfl/mobile_detect.pyc b/wurfl/mobile_detect.pyc new file mode 100644 index 0000000..0e10e97 Binary files /dev/null and b/wurfl/mobile_detect.pyc differ diff --git a/wurfl/pages.py b/wurfl/pages.py new file mode 100755 index 0000000..921a8e0 --- /dev/null +++ b/wurfl/pages.py @@ -0,0 +1,42 @@ +# +# Copyright (c) 2008 Massachusetts Institute of Technology +# +# Licensed under the MIT License +# Redistributions of files must retain the above copyright notice. +# +# + +register = ( +""" + + register your device + + + your device has user_agent string: "%(user_agent)s"
+ your device is classfied as %(device_type)s
+ + change your device: + + + + +""" +) + + +device = ( +""" + + your device info + + + your device has user_agent string: "%(user_agent)s"
+ your device is classfied as %(device_type)s
+ +""" +) diff --git a/wurfl/pages.pyc b/wurfl/pages.pyc new file mode 100644 index 0000000..5e9dc21 Binary files /dev/null and b/wurfl/pages.pyc differ diff --git a/wurfl/stable_devices.db b/wurfl/stable_devices.db new file mode 100755 index 0000000..33813f8 Binary files /dev/null and b/wurfl/stable_devices.db differ diff --git a/wurfl/web_browsers_patch.xml b/wurfl/web_browsers_patch.xml new file mode 100755 index 0000000..2326a09 --- /dev/null +++ b/wurfl/web_browsers_patch.xml @@ -0,0 +1,714 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wurfl/wurfl.py b/wurfl/wurfl.py new file mode 100755 index 0000000..efee828 --- /dev/null +++ b/wurfl/wurfl.py @@ -0,0 +1,8093 @@ +# +# Copyright (c) 2008 Massachusetts Institute of Technology +# +# Licensed under the MIT License +# Redistributions of files must retain the above copyright notice. +# +# +""" +wurfl.py + +Generated on: Wed Mar 5 22:56:54 2008 +Generated by: wurfl2python.py v4.3.0a +""" + +__all__ = ['devices', 'wurfl_version'] +wurfl_version = '''www.wurflpro.com - 2008-03-05 12:37:42''' + +from pywurfl import * + +devices = Devices() +devices.devids['''generic'''] = devclass(None, '''generic''', '''''', False, {'''aac''':False,'''access_key_support''':False,'''ajax_manipulate_css''':False,'''ajax_support_full_dom''':False,'''ajax_support_getelementbyid''':False,'''ajax_support_inner_html''':False,'''ajax_support_javascript''':False,'''ajax_xhr_type''':'''none''','''amr''':False,'''ascii_support''':False,'''au''':False,'''awb''':False,'''basic_authentication_support''':True,'''bmp''':False,'''brand_name''':'''''','''break_list_of_links_with_br_element_recommended''':True,'''built_in_back_button_support''':False,'''built_in_camera''':False,'''built_in_recorder''':False,'''callericon''':False,'''can_skip_aligned_link_row''':False,'''card_title_support''':True,'''chtml_can_display_images_and_text_on_same_line''':False,'''chtml_display_accesskey''':False,'''chtml_displays_image_in_center''':False,'''chtml_make_phone_call_string''':'''tel:''','''chtml_table_support''':False,'''colors''':256,'''columns''':11,'''compactmidi''':False,'''connectionless_cache_operation''':False,'''connectionless_service_indication''':False,'''connectionless_service_load''':False,'''connectionoriented_confirmed_cache_operation''':False,'''connectionoriented_confirmed_service_indication''':False,'''connectionoriented_confirmed_service_load''':False,'''connectionoriented_unconfirmed_cache_operation''':False,'''connectionoriented_unconfirmed_service_indication''':False,'''connectionoriented_unconfirmed_service_load''':False,'''deck_prefetch_support''':False,'''device_claims_web_support''':False,'''device_os''':'''''','''digiplug''':False,'''directdownload_support''':False,'''doja_1_0''':False,'''doja_1_5''':False,'''doja_2_0''':False,'''doja_2_1''':False,'''doja_2_2''':False,'''doja_3_0''':False,'''doja_3_5''':False,'''doja_4_0''':False,'''downloadfun_support''':False,'''elective_forms_recommended''':True,'''emoji''':False,'''empty_option_value_support''':True,'''emptyok''':False,'''ems''':False,'''ems_imelody''':False,'''ems_odi''':False,'''ems_upi''':False,'''ems_variablesizedpictures''':False,'''ems_version''':0,'''epoc_bmp''':False,'''evrc''':False,'''expiration_date''':False,'''fl_browser''':False,'''fl_screensaver''':False,'''fl_standalone''':False,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''''','''gif''':True,'''gif_animated''':False,'''gprtf''':False,'''greyscale''':False,'''has_pointing_device''':False,'''has_qwerty_keyboard''':False,'''html_web_3_2''':False,'''html_web_4_0''':False,'''html_wi_imode_compact_generic''':False,'''html_wi_imode_html_1''':False,'''html_wi_imode_html_2''':False,'''html_wi_imode_html_3''':False,'''html_wi_imode_html_4''':False,'''html_wi_imode_html_5''':False,'''html_wi_imode_htmlx_1''':False,'''html_wi_imode_htmlx_1_1''':False,'''html_wi_oma_xhtmlmp_1_0''':False,'''html_wi_w3_xhtmlbasic''':False,'''https_detectable''':False,'''https_support''':True,'''icons_on_menu_items_support''':False,'''image_as_link_support''':False,'''imelody''':False,'''imode_region''':'''none''','''inline_support''':False,'''insert_br_element_after_widget_recommended''':False,'''is_wireless_device''':True,'''iso8859_support''':False,'''j2me_3dapi''':False,'''j2me_3gpp''':False,'''j2me_aac''':False,'''j2me_amr''':False,'''j2me_au''':False,'''j2me_audio_capture_enabled''':False,'''j2me_bits_per_pixel''':0,'''j2me_bmp''':False,'''j2me_bmp3''':False,'''j2me_btapi''':False,'''j2me_canvas_height''':0,'''j2me_canvas_width''':0,'''j2me_capture_image_formats''':'''none''','''j2me_cldc_1_0''':False,'''j2me_cldc_1_1''':False,'''j2me_clear_key_code''':0,'''j2me_datefield_broken''':False,'''j2me_datefield_no_accepts_null_date''':False,'''j2me_gif''':False,'''j2me_gif89a''':False,'''j2me_h263''':False,'''j2me_heap_size''':0,'''j2me_http''':False,'''j2me_https''':False,'''j2me_imelody''':False,'''j2me_jpg''':False,'''j2me_jtwi''':False,'''j2me_left_softkey_code''':0,'''j2me_loctapi''':False,'''j2me_max_jar_size''':0,'''j2me_max_record_store_size''':0,'''j2me_middle_softkey_code''':0,'''j2me_midi''':False,'''j2me_midp_1_0''':False,'''j2me_midp_2_0''':False,'''j2me_mmapi_1_0''':False,'''j2me_mmapi_1_1''':False,'''j2me_motorola_lwt''':False,'''j2me_mp3''':False,'''j2me_mp4''':False,'''j2me_mpeg4''':False,'''j2me_nokia_ui''':False,'''j2me_photo_capture_enabled''':False,'''j2me_png''':False,'''j2me_real8''':False,'''j2me_realaudio''':False,'''j2me_realmedia''':False,'''j2me_realvideo''':False,'''j2me_return_key_code''':0,'''j2me_right_softkey_code''':0,'''j2me_rmf''':False,'''j2me_screen_height''':0,'''j2me_screen_width''':0,'''j2me_select_key_code''':0,'''j2me_serial''':False,'''j2me_siemens_color_game''':False,'''j2me_siemens_extension''':False,'''j2me_socket''':False,'''j2me_storage_size''':0,'''j2me_svgt''':False,'''j2me_udp''':False,'''j2me_video_capture_enabled''':False,'''j2me_wav''':False,'''j2me_wbmp''':False,'''j2me_wma''':False,'''j2me_wmapi_1_0''':False,'''j2me_wmapi_1_1''':False,'''j2me_wmapi_2_0''':False,'''j2me_xmf''':False,'''jpg''':False,'''largeoperatorlogo''':False,'''max_data_rate''':9,'''max_deck_size''':4000,'''max_image_height''':35,'''max_image_width''':90,'''max_length_of_password''':0,'''max_length_of_username''':0,'''max_no_of_bookmarks''':0,'''max_no_of_connection_settings''':0,'''max_object_size''':0,'''max_url_length_bookmark''':0,'''max_url_length_cached_page''':0,'''max_url_length_homepage''':0,'''max_url_length_in_requests''':0,'''menu_with_list_of_links_recommended''':True,'''menu_with_select_element_recommended''':False,'''midi_monophonic''':False,'''midi_polyphonic''':False,'''mld''':False,'''mmf''':False,'''mms_3gpp''':False,'''mms_3gpp2''':False,'''mms_amr''':False,'''mms_bmp''':False,'''mms_evrc''':False,'''mms_gif_animated''':False,'''mms_gif_static''':False,'''mms_jad''':False,'''mms_jar''':False,'''mms_jpeg_baseline''':False,'''mms_jpeg_progressive''':False,'''mms_max_frame_rate''':0,'''mms_max_height''':0,'''mms_max_size''':0,'''mms_max_width''':0,'''mms_midi_monophonic''':False,'''mms_midi_polyphonic''':False,'''mms_midi_polyphonic_voices''':0,'''mms_mmf''':False,'''mms_mp3''':False,'''mms_mp4''':False,'''mms_nokia_3dscreensaver''':False,'''mms_nokia_operatorlogo''':False,'''mms_nokia_ringingtone''':False,'''mms_nokia_wallpaper''':False,'''mms_ota_bitmap''':False,'''mms_png''':False,'''mms_qcelp''':False,'''mms_rmf''':False,'''mms_spmidi''':False,'''mms_symbian_install''':False,'''mms_vcalendar''':False,'''mms_vcard''':False,'''mms_video''':False,'''mms_wav''':False,'''mms_wbmp''':False,'''mms_wbxml''':False,'''mms_wml''':False,'''mms_wmlc''':False,'''mms_xmf''':False,'''mobile_browser''':'''''','''mobile_browser_version''':'''''','''model_name''':'''''','''mp3''':False,'''multipart_support''':False,'''nokia_edition''':0,'''nokia_ringtone''':False,'''nokia_series''':0,'''nokia_voice_call''':False,'''nokiaring''':False,'''nokiavcal''':False,'''nokiavcard''':False,'''numbered_menus''':False,'''oma_support''':False,'''oma_v_1_0_combined_delivery''':False,'''oma_v_1_0_forwardlock''':False,'''oma_v_1_0_separate_delivery''':False,'''operatorlogo''':False,'''opwv_wml_extensions_support''':False,'''opwv_xhtml_extensions_support''':False,'''panasonic''':False,'''phone_id_provided''':False,'''picture''':False,'''picture_bmp''':False,'''picture_colors''':2,'''picture_df_size_limit''':0,'''picture_directdownload_size_limit''':0,'''picture_gif''':False,'''picture_greyscale''':False,'''picture_inline_size_limit''':0,'''picture_jpg''':False,'''picture_max_height''':0,'''picture_max_width''':0,'''picture_oma_size_limit''':0,'''picture_png''':False,'''picture_preferred_height''':0,'''picture_preferred_width''':0,'''picture_resize''':'''none''','''picture_wbmp''':False,'''picturemessage''':False,'''png''':False,'''post_method_support''':True,'''preferred_markup''':'''wml_1_1''','''proportional_font''':False,'''qcelp''':False,'''receiver''':False,'''resolution_height''':40,'''resolution_width''':90,'''ringtone''':False,'''ringtone_3gpp''':False,'''ringtone_aac''':False,'''ringtone_amr''':False,'''ringtone_awb''':False,'''ringtone_compactmidi''':False,'''ringtone_df_size_limit''':0,'''ringtone_digiplug''':False,'''ringtone_directdownload_size_limit''':0,'''ringtone_imelody''':False,'''ringtone_inline_size_limit''':0,'''ringtone_midi_monophonic''':False,'''ringtone_midi_polyphonic''':False,'''ringtone_mmf''':False,'''ringtone_mp3''':False,'''ringtone_oma_size_limit''':0,'''ringtone_qcelp''':False,'''ringtone_rmf''':False,'''ringtone_spmidi''':False,'''ringtone_voices''':1,'''ringtone_wav''':False,'''ringtone_xmf''':False,'''rmf''':False,'''rows''':6,'''sagem_v1''':False,'''sagem_v2''':False,'''sckl_groupgraphic''':False,'''sckl_operatorlogo''':False,'''sckl_ringtone''':False,'''sckl_vcalendar''':False,'''sckl_vcard''':False,'''screensaver''':False,'''screensaver_bmp''':False,'''screensaver_colors''':2,'''screensaver_df_size_limit''':0,'''screensaver_directdownload_size_limit''':0,'''screensaver_gif''':False,'''screensaver_greyscale''':False,'''screensaver_inline_size_limit''':0,'''screensaver_jpg''':False,'''screensaver_max_height''':0,'''screensaver_max_width''':0,'''screensaver_oma_size_limit''':0,'''screensaver_png''':False,'''screensaver_preferred_height''':0,'''screensaver_preferred_width''':0,'''screensaver_resize''':'''none''','''screensaver_wbmp''':False,'''sender''':False,'''siemens_logo_height''':29,'''siemens_logo_width''':101,'''siemens_ota''':False,'''siemens_screensaver_height''':50,'''siemens_screensaver_width''':101,'''smf''':False,'''softkey_support''':False,'''sp_midi''':False,'''streaming_3gpp''':False,'''streaming_mov''':False,'''streaming_mp4''':False,'''streaming_real_media_10''':False,'''streaming_real_media_8''':False,'''streaming_real_media_9''':False,'''streaming_video''':False,'''streaming_video_acodec_aac''':False,'''streaming_video_acodec_aac_ltp''':False,'''streaming_video_acodec_amr''':False,'''streaming_video_acodec_awb''':False,'''streaming_video_max_audio_bit_rate''':0,'''streaming_video_max_bit_rate''':0,'''streaming_video_max_frame_rate''':0,'''streaming_video_max_video_bit_rate''':0,'''streaming_video_min_video_bit_rate''':0,'''streaming_video_qcif''':False,'''streaming_video_qcif_max_height''':0,'''streaming_video_qcif_max_width''':0,'''streaming_video_size_limit''':0,'''streaming_video_sqcif''':False,'''streaming_video_sqcif_max_height''':0,'''streaming_video_sqcif_max_width''':0,'''streaming_video_vcodec_h263_0''':False,'''streaming_video_vcodec_h263_3''':False,'''streaming_video_vcodec_mpeg4''':False,'''streaming_wmv''':False,'''svgt_1_1''':False,'''svgt_1_1_plus''':False,'''table_support''':True,'''text_imelody''':False,'''tiff''':False,'''time_to_live_support''':False,'''times_square_mode_support''':False,'''total_cache_disable_support''':False,'''transparent_png_alpha''':False,'''transparent_png_index''':False,'''uaprof''':'''''','''uaprof2''':'''''','''uaprof3''':'''''','''unique''':True,'''ununiqueness_handler''':'''''','''utf8_support''':False,'''video''':False,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':False,'''video_acodec_aac_ltp''':False,'''video_acodec_amr''':False,'''video_acodec_awb''':False,'''video_acodec_qcelp''':False,'''video_df_size_limit''':0,'''video_directdownload_size_limit''':0,'''video_inline_size_limit''':0,'''video_max_frame_rate''':0,'''video_max_height''':0,'''video_max_width''':0,'''video_mov''':False,'''video_mp4''':False,'''video_oma_size_limit''':0,'''video_preferred_height''':0,'''video_preferred_width''':0,'''video_qcif''':False,'''video_real_media_10''':False,'''video_real_media_8''':False,'''video_real_media_9''':False,'''video_sqcif''':False,'''video_vcodec_h263_0''':False,'''video_vcodec_h263_3''':False,'''video_vcodec_h264''':'''none''','''video_vcodec_mpeg4''':False,'''video_wmv''':False,'''voices''':1,'''voicexml''':False,'''wallpaper''':False,'''wallpaper_bmp''':False,'''wallpaper_colors''':2,'''wallpaper_df_size_limit''':0,'''wallpaper_directdownload_size_limit''':0,'''wallpaper_gif''':False,'''wallpaper_greyscale''':False,'''wallpaper_inline_size_limit''':0,'''wallpaper_jpg''':False,'''wallpaper_max_height''':0,'''wallpaper_max_width''':0,'''wallpaper_oma_size_limit''':0,'''wallpaper_png''':False,'''wallpaper_preferred_height''':0,'''wallpaper_preferred_width''':0,'''wallpaper_resize''':'''none''','''wallpaper_tiff''':False,'''wallpaper_wbmp''':False,'''wap_push_support''':False,'''wav''':False,'''wbmp''':True,'''wifi''':False,'''wizards_recommended''':False,'''wml_1_1''':True,'''wml_1_2''':False,'''wml_1_3''':False,'''wml_can_display_images_and_text_on_same_line''':False,'''wml_displays_image_in_center''':False,'''wml_make_phone_call_string''':'''wtai://wp/mc;''','''wrap_mode_support''':False,'''wta_misc''':False,'''wta_pdc''':False,'''wta_phonebook''':False,'''wta_voice_call''':False,'''xhtml_allows_disabled_form_elements''':False,'''xhtml_autoexpand_select''':False,'''xhtml_display_accesskey''':False,'''xhtml_document_title_support''':True,'''xhtml_file_upload''':'''not_supported''','''xhtml_format_as_attribute''':False,'''xhtml_format_as_css_property''':False,'''xhtml_honors_bgcolor''':False,'''xhtml_make_phone_call_string''':'''tel:''','''xhtml_marquee_as_css_property''':False,'''xhtml_nowrap_mode''':False,'''xhtml_preferred_charset''':'''utf8''','''xhtml_readable_background_color1''':'''#FFFFFF''','''xhtml_readable_background_color2''':'''#FFFFFF''','''xhtml_select_as_dropdown''':False,'''xhtml_select_as_popup''':False,'''xhtml_select_as_radiobutton''':False,'''xhtml_send_mms_string''':'''none''','''xhtml_send_sms_string''':'''none''','''xhtml_support_level''':-1,'''xhtml_support_wml2_namespace''':False,'''xhtml_supports_css_cell_table_coloring''':False,'''xhtml_supports_file_upload''':False,'''xhtml_supports_forms_in_table''':False,'''xhtml_supports_inline_input''':False,'''xhtml_supports_invisible_text''':False,'''xhtml_supports_monospace_font''':False,'''xhtml_supports_table_for_layout''':False,'''xhtml_table_support''':False,'''xhtmlmp_preferred_mime_type''':'''text/html''','''xmf''':False}) +devices.devids['''generic_xhtml'''] = devclass(devices.devids['''generic'''], '''generic_xhtml''', '''Mozz''', False, {'''colors''':256,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''max_image_height''':92,'''max_image_width''':128,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':92,'''resolution_width''':128,'''xhtml_make_phone_call_string''':'''tel:''','''xhtml_support_level''':1,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''text/html'''}) +devices.devids['''chtml_generic'''] = devclass(devices.devids['''generic'''], '''chtml_generic''', '''CHTML Generic''', False, {'''html_wi_imode_compact_generic''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''preferred_markup''':'''html_wi_imode_compact_generic''','''wml_1_1''':True,'''xhtml_support_level''':1}) +devices.devids['''apple_generic'''] = devclass(devices.devids['''generic_xhtml'''], '''apple_generic''', '''Mozilla/5.0 (iPhone;''', False, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''brand_name''':'''Apple''','''can_skip_aligned_link_row''':True,'''gif''':True,'''gif_animated''':True,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''html_wi_imode_compact_generic''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':12,'''ringtone_wav''':True,'''screensaver_gif''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_frame_rate''':15,'''video_mov''':True,'''video_mp4''':False,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''video_vcodec_mpeg4''':True,'''wallpaper_gif''':True,'''wml_1_1''':False,'''xhtml_display_accesskey''':False,'''xhtml_format_as_attribute''':False,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''tel:''','''xhtml_readable_background_color1''':'''#D9EFFF''','''xhtml_support_level''':4,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_file_upload''':False,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_generic'''] = devclass(devices.devids['''generic'''], '''nokia_generic''', '''Nokia''', False, {'''brand_name''':'''Nokia''','''break_list_of_links_with_br_element_recommended''':False,'''j2me_clear_key_code''':8,'''j2me_left_softkey_code''':6,'''j2me_nokia_ui''':True,'''j2me_right_softkey_code''':7,'''mobile_browser''':'''Nokia''','''nokiaring''':True,'''operatorlogo''':True,'''picturemessage''':True}) +devices.devids['''nokia_generic_series20'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_generic_series20''', '''Nokia 20''', False, {'''columns''':10,'''gif''':True,'''icons_on_menu_items_support''':True,'''image_as_link_support''':True,'''max_deck_size''':2868,'''max_image_height''':30,'''max_image_width''':84,'''max_length_of_password''':20,'''max_length_of_username''':32,'''max_no_of_bookmarks''':15,'''max_no_of_connection_settings''':5,'''max_url_length_bookmark''':255,'''max_url_length_cached_page''':128,'''max_url_length_homepage''':100,'''max_url_length_in_requests''':538,'''mobile_browser''':'''Nokia''','''nokia_edition''':1,'''nokia_ringtone''':True,'''nokia_series''':20,'''nokia_voice_call''':True,'''proportional_font''':True,'''resolution_height''':48,'''resolution_width''':84,'''rows''':3,'''wrap_mode_support''':True,'''wta_phonebook''':True}) +devices.devids['''nokia_generic_series30'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_generic_series30''', '''Nokia 30''', False, {'''ascii_support''':True,'''can_skip_aligned_link_row''':True,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''directdownload_support''':True,'''inline_support''':True,'''max_image_height''':45,'''max_image_width''':96,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Nokia''','''nokia_edition''':1,'''nokia_series''':30,'''picture_colors''':16,'''picture_preferred_height''':48,'''picture_preferred_width''':96,'''preferred_markup''':'''wml_1_3''','''resolution_height''':65,'''resolution_width''':96,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':4,'''rows''':4,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_preferred_height''':65,'''screensaver_preferred_width''':96,'''softkey_support''':True,'''sp_midi''':True,'''voices''':4,'''wallpaper''':True,'''wallpaper_colors''':4,'''wallpaper_gif''':True,'''wallpaper_max_height''':35,'''wallpaper_max_width''':96,'''wallpaper_preferred_height''':35,'''wallpaper_preferred_width''':96,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_preferred_charset''':'''iso8859'''}) +devices.devids['''nokia_generic_series40'''] = devclass(devices.devids['''nokia_generic_series30'''], '''nokia_generic_series40''', '''Nokia 40''', False, {'''bmp''':True,'''can_skip_aligned_link_row''':True,'''colors''':4096,'''j2me_heap_size''':204800,'''j2me_max_jar_size''':65536,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':96,'''max_image_width''':128,'''max_no_of_bookmarks''':25,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':288,'''mms_max_size''':32768,'''mms_max_width''':352,'''mms_midi_monophonic''':True,'''mms_nokia_operatorlogo''':True,'''mms_nokia_ringingtone''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mms_wbxml''':True,'''mms_wml''':True,'''mms_wmlc''':True,'''mobile_browser''':'''Nokia''','''multipart_support''':True,'''nokia_edition''':1,'''nokia_series''':40,'''picture_bmp''':True,'''picture_colors''':12,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':94,'''picture_max_width''':126,'''picture_png''':True,'''picture_preferred_height''':94,'''picture_preferred_width''':126,'''picture_wbmp''':True,'''png''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_amr''':True,'''rows''':5,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''sender''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''xhtml_file_upload''':'''supported''','''xhtml_support_level''':2,'''xhtml_supports_file_upload''':True,'''xhtml_table_support''':True}) +devices.devids['''nokia_generic_series40_dp20'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_generic_series40_dp20''', '''Nokia 40 Developer Platform 2.0''', False, {'''amr''':True,'''bmp''':False,'''columns''':18,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_3gpp''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':524288,'''j2me_max_jar_size''':131072,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_wmapi_1_0''':True,'''max_deck_size''':102400,'''mms_amr''':True,'''mms_max_size''':105000,'''mms_midi_polyphonic''':True,'''mms_vcard''':True,'''nokia_edition''':2,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_bmp''':False,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''screensaver_bmp''':False,'''streaming_3gpp''':True,'''streaming_video''':True,'''wallpaper_bmp''':False,'''xhtml_display_accesskey''':True,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#D9EFFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_generic_series40_dp30'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_generic_series40_dp30''', '''Nokia 40 Developer Platform 3.0''', False, {'''aac''':True,'''awb''':True,'''ringtone_aac''':True,'''ringtone_awb''':True}) +devices.devids['''nokia_generic_series60'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_generic_series60''', '''Nokia 60''', False, {'''amr''':True,'''au''':True,'''built_in_back_button_support''':True,'''built_in_camera''':True,'''columns''':21,'''device_os''':'''Symbian OS''','''epoc_bmp''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_3gpp''':True,'''j2me_amr''':True,'''j2me_cldc_1_0''':True,'''j2me_datefield_no_accepts_null_date''':True,'''j2me_mmapi_1_0''':True,'''j2me_wmapi_1_0''':True,'''max_deck_size''':357000,'''max_image_height''':144,'''max_image_width''':176,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':24,'''mms_mp4''':True,'''mms_rmf''':True,'''mms_symbian_install''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mobile_browser''':'''Nokia''','''nokia_edition''':1,'''nokia_series''':60,'''oma_support''':True,'''picture''':True,'''picture_max_height''':144,'''picture_max_width''':176,'''picture_preferred_height''':143,'''picture_preferred_width''':174,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':208,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':61440,'''ringtone_rmf''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rmf''':True,'''rows''':8,'''screensaver_max_height''':208,'''screensaver_max_width''':176,'''screensaver_preferred_height''':208,'''screensaver_preferred_width''':176,'''streaming_real_media_8''':True,'''streaming_video''':True,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''tiff''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':102400,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_real_media_8''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''voices''':24,'''wallpaper_max_height''':143,'''wallpaper_max_width''':174,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wav''':True,'''wta_voice_call''':True,'''xhtml_format_as_css_property''':True,'''xhtml_honors_bgcolor''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_support_level''':2,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_generic_series60_dp20'''] = devclass(devices.devids['''nokia_generic_series60'''], '''nokia_generic_series60_dp20''', '''Nokia 60 Developer Platform 2.0''', False, {'''awb''':True,'''j2me_btapi''':True,'''j2me_midp_2_0''':True,'''mms_mp3''':True,'''mms_xmf''':True,'''mp3''':True,'''nokia_edition''':2,'''oma_v_1_0_forwardlock''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':6,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video_acodec_awb''':True,'''video_vcodec_h264''':10,'''wallpaper_tiff''':True,'''xhtml_preferred_charset''':'''utf8''','''xhtml_support_level''':2}) +devices.devids['''nokia_generic_series60_dp30'''] = devclass(devices.devids['''nokia_generic_series60_dp20'''], '''nokia_generic_series60_dp30''', '''Nokia 60 Developer Platform 3.0''', False, {'''ajax_support_javascript''':True,'''device_claims_web_support''':True,'''nokia_edition''':3,'''picture_max_height''':293,'''picture_preferred_height''':263,'''xhtml_support_level''':3}) +devices.devids['''nokia_generic_series80'''] = devclass(devices.devids['''nokia_generic_series60'''], '''nokia_generic_series80''', '''Nokia 80''', False, {'''ascii_support''':False,'''built_in_camera''':False,'''columns''':27,'''connectionless_service_indication''':False,'''connectionoriented_unconfirmed_service_indication''':False,'''j2me_cldc_1_1''':True,'''max_deck_size''':8192,'''max_image_height''':180,'''max_image_width''':400,'''max_length_of_password''':50,'''max_length_of_username''':50,'''max_no_of_bookmarks''':50,'''max_no_of_connection_settings''':20,'''max_url_length_bookmark''':1000,'''max_url_length_cached_page''':1000,'''max_url_length_homepage''':1000,'''max_url_length_in_requests''':1000,'''mms_3gpp''':False,'''mms_amr''':False,'''mms_bmp''':False,'''mms_gif_animated''':False,'''mms_gif_static''':False,'''mms_jad''':False,'''mms_jar''':False,'''mms_jpeg_baseline''':False,'''mms_max_height''':0,'''mms_max_size''':0,'''mms_max_width''':0,'''mms_midi_monophonic''':False,'''mms_midi_polyphonic''':False,'''mms_midi_polyphonic_voices''':0,'''mms_mp4''':False,'''mms_nokia_operatorlogo''':False,'''mms_nokia_ringingtone''':False,'''mms_nokia_wallpaper''':False,'''mms_png''':False,'''mms_rmf''':False,'''mms_spmidi''':False,'''mms_symbian_install''':False,'''mms_vcard''':False,'''mms_video''':False,'''mms_wav''':False,'''mms_wbmp''':False,'''mms_wbxml''':False,'''mms_wml''':False,'''mms_wmlc''':False,'''nokia_edition''':1,'''nokia_series''':80,'''picture_colors''':16,'''picture_preferred_height''':200,'''picture_preferred_width''':640,'''receiver''':False,'''resolution_height''':200,'''resolution_width''':640,'''screensaver_colors''':16,'''screensaver_preferred_height''':200,'''screensaver_preferred_width''':640,'''sender''':False,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':200,'''wallpaper_preferred_width''':640,'''wap_push_support''':False,'''xhtml_make_phone_call_string''':'''none'''}) +devices.devids['''nokia_generic_series80_dp20'''] = devclass(devices.devids['''nokia_generic_series80'''], '''nokia_generic_series80_dp20''', '''Nokia 80 Developer Platform 2.0''', False, {'''ascii_support''':True,'''connectionless_service_indication''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''mms_3gpp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_frame_rate''':10,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp4''':True,'''mms_nokia_operatorlogo''':True,'''mms_nokia_ringingtone''':True,'''mms_nokia_wallpaper''':True,'''mms_rmf''':True,'''mms_symbian_install''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbxml''':True,'''mms_wml''':True,'''mms_wmlc''':True,'''nokia_edition''':2,'''receiver''':True,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_max_bit_rate''':131072,'''streaming_video_max_frame_rate''':10,'''wap_push_support''':True,'''xhtml_support_level''':3}) +devices.devids['''nokia_generic_series90_dp20'''] = devclass(devices.devids['''nokia_generic_series80_dp20'''], '''nokia_generic_series90_dp20''', '''Nokia 90 Developer Platform 2.0''', False, {'''nokia_edition''':1,'''nokia_series''':90,'''streaming_video_acodec_aac''':True}) +devices.devids['''uptext_generic'''] = devclass(devices.devids['''generic'''], '''uptext_generic''', '''UP.Browser/4''', False, {'''access_key_support''':True,'''break_list_of_links_with_br_element_recommended''':False,'''built_in_back_button_support''':True,'''card_title_support''':False,'''deck_prefetch_support''':True,'''elective_forms_recommended''':False,'''icons_on_menu_items_support''':True,'''menu_with_list_of_links_recommended''':False,'''menu_with_select_element_recommended''':True,'''mobile_browser''':'''OpenWave''','''mobile_browser_version''':'''4.0''','''multipart_support''':True,'''numbered_menus''':True,'''opwv_wml_extensions_support''':True,'''proportional_font''':True,'''softkey_support''':True,'''time_to_live_support''':True,'''times_square_mode_support''':True,'''wizards_recommended''':True,'''wrap_mode_support''':True,'''xhtml_support_level''':-1}) +devices.devids['''upgui_generic'''] = devclass(devices.devids['''generic'''], '''upgui_generic''', '''UP.Browser/5''', False, {'''access_key_support''':True,'''break_list_of_links_with_br_element_recommended''':False,'''built_in_back_button_support''':True,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''deck_prefetch_support''':True,'''empty_option_value_support''':False,'''expiration_date''':True,'''icons_on_menu_items_support''':True,'''menu_with_list_of_links_recommended''':False,'''menu_with_select_element_recommended''':True,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''5.0''','''multipart_support''':True,'''numbered_menus''':True,'''opwv_wml_extensions_support''':True,'''preferred_markup''':'''wml_1_3''','''proportional_font''':True,'''softkey_support''':True,'''times_square_mode_support''':True,'''utf8_support''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wrap_mode_support''':True,'''xhtml_support_level''':-1}) +devices.devids['''opwv_v6_generic'''] = devclass(devices.devids['''upgui_generic'''], '''opwv_v6_generic''', '''UP.Browser/6''', False, {'''chtml_make_phone_call_string''':'''tel:''','''colors''':256,'''gif''':True,'''html_wi_imode_compact_generic''':True,'''html_wi_imode_html_1''':True,'''html_wi_imode_html_2''':True,'''html_wi_imode_html_3''':True,'''html_wi_imode_htmlx_1''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''https_support''':True,'''jpg''':True,'''max_deck_size''':4096,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.0''','''opwv_xhtml_extensions_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''wta_voice_call''':True,'''xhtml_allows_disabled_form_elements''':True,'''xhtml_autoexpand_select''':True,'''xhtml_format_as_attribute''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_nowrap_mode''':True,'''xhtml_preferred_charset''':'''iso8859''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_support_level''':1,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_inline_input''':True,'''xhtml_supports_invisible_text''':True,'''xhtml_supports_monospace_font''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True}) +devices.devids['''opwv_v61_generic'''] = devclass(devices.devids['''opwv_v6_generic'''], '''opwv_v61_generic''', '''UP.Browser/6.1''', False, {'''mobile_browser_version''':'''6.1''','''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''xhtml_support_level''':1}) +devices.devids['''opwv_v62_generic'''] = devclass(devices.devids['''opwv_v61_generic'''], '''opwv_v62_generic''', '''UP.Browser/6.2''', False, {'''can_skip_aligned_link_row''':True,'''max_image_height''':100,'''max_image_width''':120,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''resolution_height''':120,'''resolution_width''':120,'''xhtml_format_as_css_property''':True,'''xhtml_marquee_as_css_property''':True,'''xhtml_support_level''':3}) +devices.devids['''opwv_v7_generic'''] = devclass(devices.devids['''opwv_v62_generic'''], '''opwv_v7_generic''', '''UP.Browser/7''', False, {'''can_skip_aligned_link_row''':True,'''mobile_browser_version''':7,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''xhtml_support_level''':3}) +devices.devids['''opwv_v72_generic'''] = devclass(devices.devids['''opwv_v7_generic'''], '''opwv_v72_generic''', '''UP.Browser/7.2''', False, {'''mobile_browser_version''':'''7.2''','''xhtml_send_mms_string''':'''mmsto:''','''xhtml_send_sms_string''':'''smsto:''','''xhtml_support_level''':4}) +devices.devids['''audiovox_cdm180_ver1'''] = devclass(devices.devids['''generic'''], '''audiovox_cdm180_ver1''', '''AUDIOVOX-CDM180''', True, {'''brand_name''':'''Audiovox''','''colors''':262144,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':108,'''max_image_width''':152,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':32,'''model_name''':'''CDM-180''','''oma_v_1_0_forwardlock''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':160,'''ringtone''':True,'''ringtone_directdownload_size_limit''':128000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':128000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':160,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':160,'''sender''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':128000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':160,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':160}) +devices.devids['''verizon_audiovox_cdm180_ver1'''] = devclass(devices.devids['''audiovox_cdm180_ver1'''], '''verizon_audiovox_cdm180_ver1''', '''audio180''', True, {'''model_name''':'''CDM-180 (Verizon Wireless)''','''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''video_3gpp2''':True}) +devices.devids['''cdm_230_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''cdm_230_ver1''', '''CDM-230''', False, None) +devices.devids['''cdm_230_ver1_sub20'''] = devclass(devices.devids['''cdm_230_ver1'''], '''cdm_230_ver1_sub20''', '''CDM-230/T01_01 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''cdm_8150_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''cdm_8150_ver1''', '''CDM-8150''', False, None) +devices.devids['''cdm_8150_ver1_sub4126c4'''] = devclass(devices.devids['''cdm_8150_ver1'''], '''cdm_8150_ver1_sub4126c4''', '''CDM-8150/P15 UP.Browser/4.1.26c4''', False, None) +devices.devids['''hcitx21b_ver1_sub41222'''] = devclass(devices.devids['''uptext_generic'''], '''hcitx21b_ver1_sub41222''', '''HCITX21B/T09 UP.Browser/4.1.22b2''', True, {'''brand_name''':'''Audiovox''','''model_name''':'''CDM-8200'''}) +devices.devids['''cdm_8300_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''cdm_8300_ver1''', '''CDM-8300''', True, {'''brand_name''':'''Audiovox''','''model_name''':'''CDM-8300'''}) +devices.devids['''cdm_8300_ver1_sub4126'''] = devclass(devices.devids['''cdm_8300_ver1'''], '''cdm_8300_ver1_sub4126''', '''CDM-8300/T10 UP.Browser/4.1.26l''', False, None) +devices.devids['''cdm_8400_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''cdm_8400_ver1''', '''CDM-8400''', True, {'''brand_name''':'''Audiovox''','''model_name''':'''CDM-8400'''}) +devices.devids['''cdm_8400_ver1_sub5052'''] = devclass(devices.devids['''cdm_8400_ver1'''], '''cdm_8400_ver1_sub5052''', '''CDM-8400/505 UP.Browser/5.0.5.2 (GUI)''', False, None) +devices.devids['''cdm_8400_ver1_sub5054'''] = devclass(devices.devids['''cdm_8400_ver1'''], '''cdm_8400_ver1_sub5054''', '''CDM-8400/505 UP.Browser/5.0.5.4 (GUI)''', False, None) +devices.devids['''cdm_8450_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''cdm_8450_ver1''', '''AUDIOVOX-CDM8450''', True, {'''brand_name''':'''Audiovox''','''colors''':4096,'''columns''':16,'''compactmidi''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':96,'''j2me_screen_width''':128,'''max_deck_size''':65535,'''max_image_height''':76,'''max_image_width''':128,'''midi_monophonic''':True,'''model_name''':'''CDM-8450''','''resolution_height''':96,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''rows''':7,'''uaprof''':'''http://uaprof.bellmobilite.ca/BMC_Audiovox_CDM-8450_P08.rdf'''}) +devices.devids['''cdm_8450_ver1_sub6221'''] = devclass(devices.devids['''cdm_8450_ver1'''], '''cdm_8450_ver1_sub6221''', '''CDM-8450 UP.Browser/6.2.2.1 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''cdm_8450sp_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''cdm_8450sp_ver1''', '''AUDIOVOX-CDM8450SP''', True, {'''bmp''':True,'''brand_name''':'''Audiovox''','''colors''':4096,'''columns''':16,'''directdownload_support''':True,'''gif''':False,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':False,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''CDM-8450SP''','''qcelp''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':65536,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''rows''':7,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_directdownload_size_limit''':65536,'''screensaver_max_height''':80,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':80,'''screensaver_preferred_width''':128,'''uaprof''':'''http://device.sprintpcs.com/Audiovox/CDM-8450SP/T060SP2T36.rdf''','''uaprof2''':'''http://device.sprintpcs.com/Audiovox/CDM-8450SP/T060SP2T37.rdf''','''voices''':32,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_directdownload_size_limit''':65536,'''wallpaper_max_height''':80,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':128}) +devices.devids['''cdm_8450sp_ver1_subt060sp2t36'''] = devclass(devices.devids['''cdm_8450sp_ver1'''], '''cdm_8450sp_ver1_subt060sp2t36''', '''AUDIOVOX-CDM8450SP/T060SP2T36 UP.Browser/6.2.2.1 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''cdm_8450sp_ver1_subt060sp2t37'''] = devclass(devices.devids['''cdm_8450sp_ver1'''], '''cdm_8450sp_ver1_subt060sp2t37''', '''AUDIOVOX-CDM8450SP/T060SP2T37 UP.Browser/6.2.2.1 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''cdm_8500_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''cdm_8500_ver1''', '''CDM-8500''', True, {'''brand_name''':'''Audiovox''','''model_name''':'''CDM-8500'''}) +devices.devids['''cdm_8500_ver1_sub4126'''] = devclass(devices.devids['''cdm_8500_ver1'''], '''cdm_8500_ver1_sub4126''', '''CDM-8500/T10 UP.Browser/4.1.26l''', False, None) +devices.devids['''cdm_8600_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''cdm_8600_ver1''', '''CDM-8600''', True, {'''brand_name''':'''Audiovox''','''model_name''':'''CDM-8600''','''png''':True}) +devices.devids['''cdm_8600_ver1_sub00'''] = devclass(devices.devids['''cdm_8600_ver1'''], '''cdm_8600_ver1_sub00''', '''CDM-8600/T10 UP.Browser/5.0.5 (GUI)''', False, None) +devices.devids['''cdm_8610vm_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''cdm_8610vm_ver1''', '''CDM-8610VM''', False, None) +devices.devids['''cdm_8610vm_ver1_sub4126'''] = devclass(devices.devids['''cdm_8610vm_ver1'''], '''cdm_8610vm_ver1_sub4126''', '''CDM-8610VM/T01 UP.Browser/4.1.26l''', False, None) +devices.devids['''cdm_8900_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''cdm_8900_ver1''', '''CDM-8900''', True, {'''brand_name''':'''Audiovox''','''colors''':65536,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':32,'''mms_mp3''':True,'''mms_qcelp''':True,'''model_name''':'''CDM-8900''','''mp3''':True,'''png''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':102400,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':102400,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':102400,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''cdm_8900_ver1_sub00'''] = devclass(devices.devids['''cdm_8900_ver1'''], '''cdm_8900_ver1_sub00''', '''CDM-8900/T10 UP.Browser/5.0.5.4 (GUI)''', False, None) +devices.devids['''verizon_cdm_8900_ver1'''] = devclass(devices.devids['''cdm_8900_ver1'''], '''verizon_cdm_8900_ver1''', '''audio8900''', True, {'''model_name''':'''CDM-8900 (Verizon Wireless)''','''oma_v_1_0_forwardlock''':True,'''video_3gpp2''':True}) +devices.devids['''cdm_8900tm_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''cdm_8900tm_ver1''', '''CDM-8900TM''', True, {'''bmp''':True,'''brand_name''':'''Audiovox''','''colors''':4096,'''columns''':16,'''compactmidi''':True,'''downloadfun_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':120,'''max_image_width''':128,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':204800,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''model_name''':'''CDM-8900 (Telus network)''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':7,'''sender''':True,'''uaprof''':'''http://device.telusmobility.com/audiovox/cdm-8900.rdf'''}) +devices.devids['''cdm_8900tm_ver1_sub6223d1103'''] = devclass(devices.devids['''cdm_8900tm_ver1'''], '''cdm_8900tm_ver1_sub6223d1103''', '''CDM-8900TM/6.2 UP.Browser/6.2.2.3.d.1.103 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''cdm_8900tm_ver1_sub6223d2101'''] = devclass(devices.devids['''cdm_8900tm_ver1'''], '''cdm_8900tm_ver1_sub6223d2101''', '''CDM-8900TM/6.2 UP.Browser/6.2.2.3.d.2.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''audiovox_cdm8910_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''audiovox_cdm8910_ver1''', '''AUDIOVOX-CDM8910''', True, {'''brand_name''':'''Audiovox''','''colors''':65536,'''directdownload_support''':True,'''gif_animated''':True,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':32,'''mms_mp3''':True,'''mms_qcelp''':True,'''model_name''':'''CDM-8910''','''mp3''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':102400,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':102400,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':102400,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''audiovox_cdm8910_ver1_sub6231'''] = devclass(devices.devids['''audiovox_cdm8910_ver1'''], '''audiovox_cdm8910_ver1_sub6231''', '''AUDIOVOX-CDM8910 UP.Browser/6.2.3.1 (GUI) MMP/2.0''', False, None) +devices.devids['''audiovox_cdm8910_ver1_sub6232'''] = devclass(devices.devids['''audiovox_cdm8910_ver1'''], '''audiovox_cdm8910_ver1_sub6232''', '''AUDIOVOX-CDM8910 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''verizon_audiovox_cdm8910_ver1'''] = devclass(devices.devids['''audiovox_cdm8910_ver1'''], '''verizon_audiovox_cdm8910_ver1''', '''audio8910''', True, {'''model_name''':'''CDM-8910 (Verizon Wireless)'''}) +devices.devids['''audiovox_cdm8912sp_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''audiovox_cdm8912sp_ver1''', '''AUDIOVOX-CDM8912SP''', True, {'''brand_name''':'''Audiovox''','''colors''':65536,'''columns''':9,'''compactmidi''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':128000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''model_name''':'''CDM-8912''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''rows''':11,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''sender''':True,'''uaprof''':'''http://device.sprintpcs.com/Audiovox/CDM8912SP/T115SP0T13.rdf''','''uaprof2''':'''http://www.alltel.net/uaprof/audiovox/8910/8910.xml''','''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''audiovox_cdm8912sp_ver1_sub20'''] = devclass(devices.devids['''audiovox_cdm8912sp_ver1'''], '''audiovox_cdm8912sp_ver1_sub20''', '''AUDIOVOX-CDM8912SP/T115SP0T13 UP.Browser/6.2.2.6.h.1.100 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''audiovox_cdm8912sp_ver1_subt22'''] = devclass(devices.devids['''audiovox_cdm8912sp_ver1'''], '''audiovox_cdm8912sp_ver1_subt22''', '''AUDIOVOX-CDM8912SP/T115SP0T22 UP.Browser/6.2.2.6.h.1.100 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''cdm_8920tm_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''cdm_8920tm_ver1''', '''CDM-8920TM''', True, {'''bmp''':True,'''brand_name''':'''Audiovox''','''colors''':65536,'''columns''':7,'''compactmidi''':True,'''downloadfun_support''':True,'''j2me_midp_1_0''':True,'''max_image_height''':140,'''max_image_width''':128,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':409600,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''model_name''':'''CDM-8920''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':12,'''sender''':True,'''uaprof''':'''http://device.telusmobility.com/audiovox/cdm-8920.rdf'''}) +devices.devids['''cdm_8920tm_ver1_sub20'''] = devclass(devices.devids['''cdm_8920tm_ver1'''], '''cdm_8920tm_ver1_sub20''', '''CDM-8920TM/6.2 UP.Browser/6.2.2.6.h.1.100 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''audiovox_cdm8930_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''audiovox_cdm8930_ver1''', '''AUDIOVOX-CDM-8930''', True, {'''brand_name''':'''Audiovox''','''model_name''':'''CDM-8930'''}) +devices.devids['''audiovox_cdm8930_ver1_sub6226h1100'''] = devclass(devices.devids['''audiovox_cdm8930_ver1'''], '''audiovox_cdm8930_ver1_sub6226h1100''', '''AUDIOVOX-CDM-8930 UP.Browser/6.2.2.6.h.1.100 (GUI) MMP/2.0''', False, None) +devices.devids['''audiovox_cdm8940_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''audiovox_cdm8940_ver1''', '''AUDIOVOX-CDM8940''', True, {'''brand_name''':'''Audiovox''','''colors''':262144,'''directdownload_support''':True,'''gif_animated''':True,'''max_image_height''':200,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':350000,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':32,'''mms_mp3''':True,'''mms_qcelp''':True,'''model_name''':'''CDM-8940''','''mp3''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_directdownload_size_limit''':350000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':350000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''sender''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':350000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''audiovox_cdm8940_ver1_sub20'''] = devclass(devices.devids['''audiovox_cdm8940_ver1'''], '''audiovox_cdm8940_ver1_sub20''', '''AUDIOVOX-CDM8940 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''verizon_audiovox_cdm8940_ver1'''] = devclass(devices.devids['''audiovox_cdm8940_ver1'''], '''verizon_audiovox_cdm8940_ver1''', '''audio8940''', True, {'''model_name''':'''CDM-8940 (Verizon Wireless)'''}) +devices.devids['''audiovox_cdm8945_ver1'''] = devclass(devices.devids['''generic'''], '''audiovox_cdm8945_ver1''', '''AUDIOVOX-CDM8945''', True, {'''brand_name''':'''Audiovox''','''colors''':262144,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':168,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':72,'''mms_mp3''':True,'''mms_qcelp''':True,'''model_name''':'''CDM-8945''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_directdownload_size_limit''':204800,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':72,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':204800,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''sender''':True,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':204800,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''verizon_audiovox_cdm8945_ver1'''] = devclass(devices.devids['''audiovox_cdm8945_ver1'''], '''verizon_audiovox_cdm8945_ver1''', '''audio8945''', False, {'''model_name''':'''CDM-8945 (Verizon Wireless)'''}) +devices.devids['''audiovox_cdm9100_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''audiovox_cdm9100_ver1''', '''AUDIOVOX-CDM9100''', True, {'''brand_name''':'''Audiovox''','''model_name''':'''CDM-9100'''}) +devices.devids['''audiovox_cdm9100_ver1_sub0514'''] = devclass(devices.devids['''audiovox_cdm9100_ver1'''], '''audiovox_cdm9100_ver1_sub0514''', '''AUDIOVOX-CDM9100/05.14 UP.Browser/4.1.21c''', False, None) +devices.devids['''audiovox_9155gpx_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''audiovox_9155gpx_ver1''', '''AUDIOVOX-9155GPX''', True, {'''brand_name''':'''Audiovox''','''model_name''':'''CDM-9155GPX'''}) +devices.devids['''audiovox_9155gpx_ver1_sub0713'''] = devclass(devices.devids['''audiovox_9155gpx_ver1'''], '''audiovox_9155gpx_ver1_sub0713''', '''AUDIOVOX-9155GPX/07.13 UP.Browser/4.1.26c3''', False, None) +devices.devids['''audiovox_cdm9155sp_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''audiovox_cdm9155sp_ver1''', '''AUDIOVOX-CDM9155SP''', False, None) +devices.devids['''audiovox_cdm9155sp_ver1_sub0760'''] = devclass(devices.devids['''audiovox_cdm9155sp_ver1'''], '''audiovox_cdm9155sp_ver1_sub0760''', '''AUDIOVOX-CDM9155SP/07.60 UP.Browser/4.1.26c3''', False, None) +devices.devids['''audiovox_cdm9500_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''audiovox_cdm9500_ver1''', '''AUDIOVOX-CDM9500''', True, {'''brand_name''':'''Audiovox''','''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''max_image_height''':165,'''max_image_width''':176,'''model_name''':'''CDM-9500''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''xhtml_support_level''':1}) +devices.devids['''audiovox_cdm9500_ver1_sub111030'''] = devclass(devices.devids['''audiovox_cdm9500_ver1'''], '''audiovox_cdm9500_ver1_sub111030''', '''AUDIOVOX-CDM9500/111.030 UP.Browser/5.0.4.1 (GUI)''', False, None) +devices.devids['''cdm_9900_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''cdm_9900_ver1''', '''CDM-9900''', True, {'''brand_name''':'''Audiovox''','''colors''':262144,'''columns''':16,'''directdownload_support''':True,'''gif_animated''':True,'''max_image_height''':280,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':200000,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':48,'''mms_mp3''':True,'''mms_qcelp''':True,'''model_name''':'''CDM-9900''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_directdownload_size_limit''':200000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':48,'''rows''':5,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':200000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''sender''':True,'''voices''':48,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''cdm_9900_ver1_sub131038'''] = devclass(devices.devids['''cdm_9900_ver1'''], '''cdm_9900_ver1_sub131038''', '''CDM-9900/131.038 UP.Browser/6.2.2.4.e.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''verizon_cdm_9900_ver1'''] = devclass(devices.devids['''cdm_9900_ver1'''], '''verizon_cdm_9900_ver1''', '''audio9900''', True, {'''max_image_width''':240,'''model_name''':'''CDM-9900 (Verizon Wireless)'''}) +devices.devids['''audiovox_pm8920kit_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''audiovox_pm8920kit_ver1''', '''AUDIOVOX-PM8920KIT''', True, {'''bmp''':True,'''brand_name''':'''Audiovox''','''colors''':262144,'''directdownload_support''':True,'''gif''':False,'''j2me_midp_1_0''':True,'''max_image_height''':132,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''PM-8920''','''qcelp''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''rows''':8,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':131072,'''screensaver_jpg''':True,'''screensaver_max_height''':132,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':132,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''uaprof''':'''http://device.sprintpcs.com/Audiovox/PM8920KIT/T120SP0T19.rdf''','''voices''':32,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':131072,'''wallpaper_jpg''':True,'''wallpaper_max_height''':132,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':132,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''audiovox_pm8920kit_ver1_subt120sp0t17'''] = devclass(devices.devids['''audiovox_pm8920kit_ver1'''], '''audiovox_pm8920kit_ver1_subt120sp0t17''', '''AUDIOVOX-PM8920KIT/T120SP0T17 UP.Browser/6.2.2.6.h.1.100 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''blackberry_generic'''] = devclass(devices.devids['''generic'''], '''blackberry_generic''', '''BlackBerry''', False, {'''brand_name''':'''RIM''','''device_os''':'''RIM OS''','''gif''':True,'''has_qwerty_keyboard''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''mobile_browser''':'''BlackBerry''','''mobile_browser_version''':'''1.0''','''preferred_markup''':'''wml_1_2''','''table_support''':False,'''wml_1_2''':True,'''xhtml_make_phone_call_string''':'''tel:''','''xhtml_support_level''':1,'''xhtmlmp_preferred_mime_type''':'''text/html'''}) +devices.devids['''blackberry_generic_ver2'''] = devclass(devices.devids['''blackberry_generic'''], '''blackberry_generic_ver2''', '''BlackBerry/2''', False, {'''can_skip_aligned_link_row''':True,'''html_web_3_2''':True,'''https_support''':True,'''mobile_browser_version''':'''2.0''','''preferred_markup''':'''wml_1_3''','''wml_1_3''':True}) +devices.devids['''blackberry_generic_ver3_sub2'''] = devclass(devices.devids['''blackberry_generic_ver2'''], '''blackberry_generic_ver3_sub2''', '''BlackBerry/3.2''', False, {'''columns''':28,'''html_wi_oma_xhtmlmp_1_0''':True,'''max_deck_size''':8192000,'''max_image_height''':160,'''max_image_width''':160,'''max_object_size''':8192000,'''mobile_browser_version''':'''3.2''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':160,'''rows''':16,'''xhtml_support_level''':2}) +devices.devids['''blackberry_generic_ver3_sub30'''] = devclass(devices.devids['''blackberry_generic_ver3_sub2'''], '''blackberry_generic_ver3_sub30''', '''BlackBerry/3.3.0''', False, {'''html_wi_imode_compact_generic''':True,'''html_wi_imode_html_1''':True,'''max_deck_size''':2397,'''mobile_browser_version''':'''3.3'''}) +devices.devids['''blackberry_generic_ver3_sub50'''] = devclass(devices.devids['''blackberry_generic_ver3_sub30'''], '''blackberry_generic_ver3_sub50''', '''BlackBerry/3.5.0''', False, {'''mobile_browser_version''':'''3.5'''}) +devices.devids['''blackberry_generic_ver3_sub60'''] = devclass(devices.devids['''blackberry_generic_ver3_sub50'''], '''blackberry_generic_ver3_sub60''', '''BlackBerry/3.6.0''', False, {'''html_wi_w3_xhtmlbasic''':True,'''mobile_browser_version''':'''3.6''','''preferred_markup''':'''html_wi_w3_xhtmlbasic'''}) +devices.devids['''blackberry_generic_ver3_sub70'''] = devclass(devices.devids['''blackberry_generic_ver3_sub60'''], '''blackberry_generic_ver3_sub70''', '''BlackBerry/3.7.0''', False, {'''ajax_support_javascript''':True,'''midi_monophonic''':True,'''mobile_browser_version''':'''3.7''','''multipart_support''':True}) +devices.devids['''blackberry_generic_ver4'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry_generic_ver4''', '''BlackBerry/4.0''', False, {'''ajax_support_javascript''':True,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''mobile_browser_version''':'''4.0''','''streaming_mp4''':False,'''streaming_video''':False,'''table_support''':True,'''video''':True,'''video_3gpp''':True,'''wap_push_support''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_support_level''':3}) +devices.devids['''blackberry_857_ver1'''] = devclass(devices.devids['''blackberry_generic_ver2'''], '''blackberry_857_ver1''', '''BlackBerry/2.5 (857)''', True, {'''columns''':25,'''max_image_height''':160,'''max_image_width''':160,'''model_name''':857,'''resolution_height''':160,'''resolution_width''':160,'''rows''':12}) +devices.devids['''rim950_ver1'''] = devclass(devices.devids['''blackberry_generic_ver2'''], '''rim950_ver1''', '''RIM950''', True, {'''columns''':25,'''max_image_height''':65,'''max_image_width''':132,'''model_name''':950,'''resolution_height''':65,'''resolution_width''':132,'''rows''':8}) +devices.devids['''rim950_ver1_subblackberry'''] = devclass(devices.devids['''rim950_ver1'''], '''rim950_ver1_subblackberry''', '''BlackBerry/2.5 (950)''', False, None) +devices.devids['''rim957_ver1'''] = devclass(devices.devids['''blackberry_generic_ver2'''], '''rim957_ver1''', '''RIM957''', True, {'''columns''':25,'''max_image_height''':160,'''max_image_width''':160,'''model_name''':957,'''resolution_height''':160,'''resolution_width''':160,'''rows''':12}) +devices.devids['''rim957_ver1_subblackberry'''] = devclass(devices.devids['''rim957_ver1'''], '''rim957_ver1_subblackberry''', '''BlackBerry/2.5 (957)''', False, None) +devices.devids['''goweb_ver1'''] = devclass(devices.devids['''generic'''], '''goweb_ver1''', '''Go.Web''', False, None) +devices.devids['''goweb_ver62'''] = devclass(devices.devids['''goweb_ver1'''], '''goweb_ver62''', '''Mozilla/2.0 (compatible; Go.Web/6.2''', False, None) +devices.devids['''goweb_ver65'''] = devclass(devices.devids['''goweb_ver62'''], '''goweb_ver65''', '''Mozilla/2.0 (compatible; Go.Web/6.5''', False, None) +devices.devids['''goweb_ver1_sub950'''] = devclass(devices.devids['''goweb_ver1'''], '''goweb_ver1_sub950''', '''Go.Web/1.1 (compatible; HandHTTP 1.1; Mozilla/1.0; RIM950)''', False, None) +devices.devids['''goweb_ver1_sub950elaine10'''] = devclass(devices.devids['''goweb_ver1'''], '''goweb_ver1_sub950elaine10''', '''Go.Web/1.1 (UP.Browser/3.1-UPG1; Mozilla/1.0; RIM950; Elaine/1.0 )''', False, None) +devices.devids['''goweb_ver1_sub957'''] = devclass(devices.devids['''goweb_ver1'''], '''goweb_ver1_sub957''', '''Go.Web/1.1 (compatible; HandHTTP 1.1; Mozilla/1.0; RIM957)''', False, None) +devices.devids['''goweb_ver62_subrim950'''] = devclass(devices.devids['''goweb_ver62'''], '''goweb_ver62_subrim950''', '''Mozilla/2.0 (compatible; Go.Web/6.2; HandHTTP 1.1; Elaine/1.0; RIM950 )''', False, None) +devices.devids['''goweb_ver62_subrim957'''] = devclass(devices.devids['''goweb_ver62'''], '''goweb_ver62_subrim957''', '''Mozilla/2.0 (compatible; Go.Web/6.2; HandHTTP 1.1; Elaine/1.0; RIM957 )''', False, None) +devices.devids['''goweb_ver65_subrim957'''] = devclass(devices.devids['''goweb_ver65'''], '''goweb_ver65_subrim957''', '''Mozilla/2.0 (compatible; Go.Web/6.5; HandHTTP 1.1; Elaine/1.0; RIM957 )''', False, None) +devices.devids['''rim_6750_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''rim_6750_ver1''', '''OWG1 UP/4.1.20a''', True, {'''brand_name''':'''RIM''','''model_name''':6750}) +devices.devids['''upsdk_sub4120a'''] = devclass(devices.devids['''uptext_generic'''], '''upsdk_sub4120a''', '''OWG1 UP/4.1.20a UP.Browser/4.1.20a-XXXX''', False, None) +devices.devids['''upsdk_sub4120adouble'''] = devclass(devices.devids['''uptext_generic'''], '''upsdk_sub4120adouble''', '''OWG1 UP/4.1.20a UP.Browser/4.1.20a-XXXX UP.Browser/4.1.20a-XXXX''', False, None) +devices.devids['''upsdk_subhttpdirect'''] = devclass(devices.devids['''uptext_generic'''], '''upsdk_subhttpdirect''', '''OWG1 UP/4.1.20a UP.Browser/4.1.20a-XXXX UP.Link/4.1.HTTP-DIRECT''', False, None) +devices.devids['''elaine_ver1'''] = devclass(devices.devids['''generic'''], '''elaine_ver1''', '''Elaine''', False, None) +devices.devids['''rover_ver0'''] = devclass(devices.devids['''generic'''], '''rover_ver0''', '''Rover 0''', False, None) +devices.devids['''rover_ver1_sub00'''] = devclass(devices.devids['''rover_ver0'''], '''rover_ver1_sub00''', '''Rover 0.0 (width=160;height=142;color=false;numcolors=2)''', False, None) +devices.devids['''rover_ver1'''] = devclass(devices.devids['''rover_ver0'''], '''rover_ver1''', '''Rover 1''', False, None) +devices.devids['''rover_ver1_sub15352'''] = devclass(devices.devids['''rover_ver1'''], '''rover_ver1_sub15352''', '''Rover 1.5 (Palm; IP; OS v. 3.5.2)''', False, None) +devices.devids['''rover_ver1_sub15352h'''] = devclass(devices.devids['''rover_ver1'''], '''rover_ver1_sub15352h''', '''Rover 1.5 (Palm; IP; OS v. 3.5.2H)''', False, None) +devices.devids['''rover_ver1_sub1541'''] = devclass(devices.devids['''rover_ver1'''], '''rover_ver1_sub1541''', '''Rover 1.5 (Palm; IP; OS v. 4.1)''', False, None) +devices.devids['''rover_ver2'''] = devclass(devices.devids['''rover_ver1'''], '''rover_ver2''', '''Rover 2''', False, None) +devices.devids['''rover_ver2_sub2040'''] = devclass(devices.devids['''rover_ver2'''], '''rover_ver2_sub2040''', '''Rover 2.0 (Palm; IP; OS v. 4.0)''', False, None) +devices.devids['''rover_ver2_sub2041'''] = devclass(devices.devids['''rover_ver2'''], '''rover_ver2_sub2041''', '''Rover 2.0 (Palm; IP; OS v. 4.1)''', False, None) +devices.devids['''rover_ver3'''] = devclass(devices.devids['''rover_ver2'''], '''rover_ver3''', '''Rover 3''', False, None) +devices.devids['''rover_ver3_sub30handheld'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub30handheld''', '''Rover 3.0 (RIM Handheld; DataTAC; OS v. 2.1)''', False, None) +devices.devids['''rover_ver3_sub30pager'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub30pager''', '''Rover 3.0 (RIM Pager; DataTAC; OS v. 2.1)''', False, None) +devices.devids['''rover_ver3_submobitex25'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_submobitex25''', '''Rover 3.0 (RIM Handheld; Mobitex; OS v. 2.5)''', False, None) +devices.devids['''rover_ver3_submobitex26'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_submobitex26''', '''Rover 3.0 (RIM Handheld; Mobitex; OS v. 2.6)''', False, None) +devices.devids['''rover_ver3_submobitex21pager'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_submobitex21pager''', '''Rover 3.0 (RIM Pager; Mobitex; OS v. 2.1)''', False, None) +devices.devids['''rover_ver1_submobitex26pager'''] = devclass(devices.devids['''rover_ver1'''], '''rover_ver1_submobitex26pager''', '''Rover 3.0 (RIM Pager; Mobitex; OS v. 2.6)''', False, None) +devices.devids['''rover_ver3_sub3520'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub3520''', '''Rover 3.5 (RIM Handheld; DataTAC; OS v. 2.0)''', False, None) +devices.devids['''rover_ver3_sub3521'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub3521''', '''Rover 3.5 (RIM Handheld; Mobitex; OS v. 2.1)''', False, None) +devices.devids['''rover_ver3_sub3620'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub3620''', '''Rover 3.6 (RIM Handheld; Mobitex; OS v. 2.0)''', False, None) +devices.devids['''rover_ver3_sub3621'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub3621''', '''Rover 3.6 (RIM Handheld; Mobitex; OS v. 2.1)''', False, None) +devices.devids['''rover_ver3_sub3621pager'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub3621pager''', '''Rover 3.6 (RIM Pager; Mobitex; OS v. 2.1)''', False, None) +devices.devids['''rover_ver3_sub360'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub360''', '''Rover 3.6.0 (width=160;height=142;color=false;numcolors=2)''', False, None) +devices.devids['''rover_ver3_sub3624'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub3624''', '''Rover 3.6.24 (RIM Handheld; DataTAC; OS 2.1)''', False, None) +devices.devids['''rover_ver3_sub36mobitex25'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub36mobitex25''', '''Rover 3.6.24 (RIM Handheld; Mobitex; OS 2.5)''', False, None) +devices.devids['''rover_ver3_sub36mobitex26'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub36mobitex26''', '''Rover 3.6.24 (RIM Handheld; Mobitex; OS 2.6)''', False, None) +devices.devids['''rover_ver3_sub36mobitex25pager'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub36mobitex25pager''', '''Rover 3.6.24 (RIM Pager; Mobitex; OS 2.5)''', False, None) +devices.devids['''rover_ver3_sub37mobitex25'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub37mobitex25''', '''Rover 3.7.0.21 (RIM Handheld; Mobitex; OS 2.5)''', False, None) +devices.devids['''rover_ver3_sub37mobitex26'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub37mobitex26''', '''Rover 3.7.0.21 (RIM Handheld; Mobitex; OS 2.6)''', False, None) +devices.devids['''rover_ver3_sub37mobitex26pager'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub37mobitex26pager''', '''Rover 3.7.0.21 (RIM Pager; Mobitex; OS 2.6)''', False, None) +devices.devids['''rover_ver3_sub3800216'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub3800216''', '''Rover 3.8.0.0 (width=216;height=231;colordepth=32)''', False, None) +devices.devids['''rover_ver3_sub38001571391'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub38001571391''', '''Rover 3.8.0.0 (width=157;height=139;colordepth=1)''', False, None) +devices.devids['''rover_ver3_sub3800227'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub3800227''', '''Rover 3.8.0.0 (width=227;height=230;colordepth=16)''', False, None) +devices.devids['''rover_ver3_sub3801arim'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub3801arim''', '''Rover 3.8.0.1 Alpha (RIM Handheld; Mobitex; OS 2.1)''', False, None) +devices.devids['''rover_ver3_sub3801agood'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub3801agood''', '''Rover 3.8.0.1 Alpha (Good Handheld; GoodLink; OS 2.1)''', False, None) +devices.devids['''rover_ver3_sub3805a'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_sub3805a''', '''Rover 3.8.0.5 Alpha (RIM Handheld; Mobitex; OS 2.1)''', False, None) +devices.devids['''rover_ver1_sub38031'''] = devclass(devices.devids['''rover_ver1'''], '''rover_ver1_sub38031''', '''Rover 3.8.0.31 (width=157;height=139;colordepth=1)''', False, None) +devices.devids['''rover_ver3_subgfish'''] = devclass(devices.devids['''rover_ver3'''], '''rover_ver3_subgfish''', '''Rover g.fish (RIM Handheld; Mobitex; OS v. 2.1)''', False, None) +devices.devids['''rover_ver1_subhammerhead1'''] = devclass(devices.devids['''rover_ver1'''], '''rover_ver1_subhammerhead1''', '''Rover Ham.mer.head.1 Alpha (RIM Handheld; Mobitex; OS 2.1)''', False, None) +devices.devids['''blackberry_5810_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub2'''], '''blackberry_5810_ver1''', '''BlackBerry5810''', True, {'''columns''':26,'''html_wi_imode_compact_generic''':True,'''html_wi_imode_html_1''':True,'''max_deck_size''':2397,'''model_name''':'''BlackBerry 5810''','''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/5810/3.2.1.rdf'''}) +devices.devids['''blackberry_5810_ver1_sub321'''] = devclass(devices.devids['''blackberry_5810_ver1'''], '''blackberry_5810_ver1_sub321''', '''BlackBerry/3.2.1''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry_5810_ver1_sub360'''] = devclass(devices.devids['''blackberry_generic_ver3_sub60'''], '''blackberry_5810_ver1_sub360''', '''BlackBerry5810/3.6.0''', False, {'''columns''':26,'''max_data_rate''':40,'''max_deck_size''':32768,'''model_name''':'''BlackBerry 5810''','''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/5810/3.6.0.rdf'''}) +devices.devids['''blackberry5820_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub60'''], '''blackberry5820_ver1''', '''BlackBerry5820''', True, {'''max_deck_size''':32768,'''model_name''':'''BlackBerry 5820''','''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/5820/3.6.0.rdf'''}) +devices.devids['''blackberry5820_ver1_sub360'''] = devclass(devices.devids['''blackberry5820_ver1'''], '''blackberry5820_ver1_sub360''', '''BlackBerry5820/3.6.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry6210_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub60'''], '''blackberry6210_ver1''', '''BlackBerry6210''', True, {'''columns''':26,'''j2me_midp_1_0''':True,'''max_deck_size''':32768,'''max_image_height''':100,'''model_name''':'''BlackBerry 6210''','''resolution_height''':100,'''rows''':10,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/6210/3.6.0.rdf'''}) +devices.devids['''blackberry6210_ver1_sub6210360'''] = devclass(devices.devids['''blackberry6210_ver1'''], '''blackberry6210_ver1_sub6210360''', '''BlackBerry6210/3.6.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry6210_ver1_sub6210371'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry6210_ver1_sub6210371''', '''BlackBerry6210/3.7.1''', False, {'''columns''':26,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''max_data_rate''':40,'''max_deck_size''':32768,'''max_image_height''':100,'''model_name''':'''BlackBerry 6210''','''resolution_height''':100,'''rows''':10,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/6210/3.7.1.rdf''','''wap_push_support''':True}) +devices.devids['''blackberry6220_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub60'''], '''blackberry6220_ver1''', '''BlackBerry6220''', True, {'''model_name''':'''BlackBerry 6220'''}) +devices.devids['''blackberry6220_ver1_sub6220360'''] = devclass(devices.devids['''blackberry6220_ver1'''], '''blackberry6220_ver1_sub6220360''', '''BlackBerry6220/3.6.0''', False, None) +devices.devids['''blackberry6220_ver1_sub6220400'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry6220_ver1_sub6220400''', '''BlackBerry6220/4.0.0''', False, {'''model_name''':'''BlackBerry 6220'''}) +devices.devids['''blackberry6230_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry6230_ver1''', '''BlackBerry6230''', True, {'''columns''':26,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''max_deck_size''':32768,'''max_image_height''':100,'''model_name''':'''BlackBerry 6230''','''resolution_height''':100,'''ringtone_midi_monophonic''':True,'''rows''':10,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/6230/3.7.0.rdf''','''uaprof2''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/6230/3.7.1.rdf''','''wallpaper_gif''':True,'''wallpaper_png''':True,'''wap_push_support''':True}) +devices.devids['''blackberry6230_ver1_sub370'''] = devclass(devices.devids['''blackberry6230_ver1'''], '''blackberry6230_ver1_sub370''', '''BlackBerry6230/3.7.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry6230_ver1_sub371'''] = devclass(devices.devids['''blackberry6230_ver1'''], '''blackberry6230_ver1_sub371''', '''BlackBerry6230/3.7.1''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry6230_ver1_sub6230400'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry6230_ver1_sub6230400''', '''BlackBerry6230/4.0.0''', False, {'''columns''':26,'''max_deck_size''':32768,'''max_image_height''':100,'''model_name''':'''BlackBerry 6230''','''resolution_height''':100,'''rows''':10}) +devices.devids['''blackberry6230_ver1_sub6230400midp'''] = devclass(devices.devids['''blackberry6230_ver1_sub6230400'''], '''blackberry6230_ver1_sub6230400midp''', '''BlackBerry6230/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''blackberry6280_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry6280_ver1''', '''BlackBerry6280''', True, {'''columns''':26,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''max_deck_size''':32768,'''max_image_height''':100,'''model_name''':'''BlackBerry 6280''','''resolution_height''':100,'''rows''':10,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/6280/3.7.0.rdf''','''wap_push_support''':True}) +devices.devids['''blackberry6280_ver1_sub370'''] = devclass(devices.devids['''blackberry6280_ver1'''], '''blackberry6280_ver1_sub370''', '''BlackBerry6280/3.7.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry6280_ver1_sub371'''] = devclass(devices.devids['''blackberry6280_ver1'''], '''blackberry6280_ver1_sub371''', '''BlackBerry6280/3.7.1''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry6280_ver1_sub3715033'''] = devclass(devices.devids['''blackberry6280_ver1'''], '''blackberry6280_ver1_sub3715033''', '''BlackBerry6280/3.7.1 UP.Browser/5.0.3.3''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry6280_ver1_sub40'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry6280_ver1_sub40''', '''BlackBerry6280/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''columns''':26,'''max_deck_size''':32768,'''max_image_height''':100,'''model_name''':'''BlackBerry 6280''','''resolution_height''':100,'''rows''':10}) +devices.devids['''blackberry6510_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub60'''], '''blackberry6510_ver1''', '''BlackBerry6510''', True, {'''columns''':26,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':100,'''j2me_screen_width''':160,'''max_deck_size''':32768,'''max_image_height''':100,'''model_name''':'''BlackBerry 6510''','''resolution_height''':100,'''rows''':10,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/6510/3.3.1.rdf'''}) +devices.devids['''blackberry6510_ver1_sub361'''] = devclass(devices.devids['''blackberry6510_ver1'''], '''blackberry6510_ver1_sub361''', '''BlackBerry6510/3.6.1''', False, {'''max_data_rate''':9}) +devices.devids['''blackberry6510_ver1_sub400'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry6510_ver1_sub400''', '''BlackBerry6510/4.0.0 UP.Browser/5.0.3.3''', False, {'''columns''':26,'''max_data_rate''':9,'''max_deck_size''':32768,'''max_image_height''':100,'''model_name''':'''BlackBerry 6510''','''resolution_height''':100,'''rows''':10,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/6510/4.0.0.rdf'''}) +devices.devids['''blackberry6700_ver1'''] = devclass(devices.devids['''blackberry_generic'''], '''blackberry6700_ver1''', '''BlackBerry6700''', True, {'''model_name''':'''BlackBerry 6700'''}) +devices.devids['''blackberry6710_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub60'''], '''blackberry6710_ver1''', '''BlackBerry6710''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':160,'''max_deck_size''':32768,'''model_name''':'''BlackBerry 6710''','''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/6710/3.6.0.rdf''','''wallpaper_gif''':True,'''wallpaper_png''':True}) +devices.devids['''blackberry6710_ver1_sub360'''] = devclass(devices.devids['''blackberry6710_ver1'''], '''blackberry6710_ver1_sub360''', '''BlackBerry6710/3.6.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry6710_ver1_sub371'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry6710_ver1_sub371''', '''BlackBerry6710/3.7.1''', False, {'''max_deck_size''':32768,'''model_name''':'''BlackBerry 6710'''}) +devices.devids['''blackberry6710_ver1_sub400'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry6710_ver1_sub400''', '''BlackBerry6710/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':160,'''model_name''':'''BlackBerry 6710'''}) +devices.devids['''blackberry6720_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub60'''], '''blackberry6720_ver1''', '''BlackBerry6720''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':160,'''max_deck_size''':32768,'''model_name''':'''BlackBerry 6720'''}) +devices.devids['''blackberry6720_ver1_sub360'''] = devclass(devices.devids['''blackberry6720_ver1'''], '''blackberry6720_ver1_sub360''', '''BlackBerry6720/3.6.0''', False, None) +devices.devids['''blackberry6720_ver1_sub400'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry6720_ver1_sub400''', '''BlackBerry6720/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40,'''model_name''':'''BlackBerry 6720''','''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/6720/4.0.0.rdf'''}) +devices.devids['''blackberry6750_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub60'''], '''blackberry6750_ver1''', '''BlackBerry6750''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':160,'''model_name''':'''BlackBerry 6750'''}) +devices.devids['''blackberry6750_ver1_sub6750361'''] = devclass(devices.devids['''blackberry6750_ver1'''], '''blackberry6750_ver1_sub6750361''', '''BlackBerry6750/3.6.1''', False, None) +devices.devids['''blackberry6750_ver1_sub400'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry6750_ver1_sub400''', '''BlackBerry6750/4.0.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/5.0.3.3''', False, {'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':160,'''max_data_rate''':384,'''max_deck_size''':32768,'''model_name''':'''BlackBerry 6750''','''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/6750/4.0.0.rdf'''}) +devices.devids['''blackberry7100_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry7100_ver1''', '''BlackBerry7100''', True, {'''colors''':65536,'''columns''':26,'''has_qwerty_keyboard''':False,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':260,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':240,'''max_image_width''':240,'''model_name''':'''BlackBerry 7100''','''resolution_height''':260,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''rows''':18,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7100_240x260/4.0.0.rdf''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':260,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':260,'''wallpaper_preferred_width''':240}) +devices.devids['''blackberry7100_ver1_sub380'''] = devclass(devices.devids['''blackberry7100_ver1'''], '''blackberry7100_ver1_sub380''', '''BlackBerry7100/3.8.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7100_ver1_sub400'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry7100_ver1_sub400''', '''BlackBerry7100/4.0.0''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''model_name''':'''BlackBerry 7100 v4''','''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':260,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':260,'''wallpaper_preferred_width''':240}) +devices.devids['''blackberry7100_ver1_sub400midp'''] = devclass(devices.devids['''blackberry7100_ver1_sub400'''], '''blackberry7100_ver1_sub400midp''', '''BlackBerry7100/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''blackberry7100_ver1_sub400mozilla'''] = devclass(devices.devids['''blackberry7100_ver1_sub400'''], '''blackberry7100_ver1_sub400mozilla''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; PPC; 240x320) BlackBerry7100/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''blackberry7100_ver1_sub402'''] = devclass(devices.devids['''blackberry7100_ver1_sub400'''], '''blackberry7100_ver1_sub402''', '''BlackBerry7100/4.0.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7210_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry7210_ver1''', '''BlackBerry7210''', True, {'''colors''':65536,'''columns''':26,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':131072,'''max_image_width''':240,'''model_name''':'''BlackBerry 7210''','''resolution_width''':240,'''rows''':10,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7210/3.7.1.rdf''','''wap_push_support''':True}) +devices.devids['''blackberry7100i_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry7100i_ver1''', '''BlackBerry7100i/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''colors''':65536,'''columns''':26,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''has_qwerty_keyboard''':False,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':260,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':32768,'''max_image_height''':240,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''BlackBerry 7100i''','''multipart_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':260,'''resolution_width''':240,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':18,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7100i/4.1.0.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''blackberry7210_ver1_sub370'''] = devclass(devices.devids['''blackberry7210_ver1'''], '''blackberry7210_ver1_sub370''', '''BlackBerry7210/3.7.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7210_ver1_sub371'''] = devclass(devices.devids['''blackberry7210_ver1'''], '''blackberry7210_ver1_sub371''', '''BlackBerry7210/3.7.1''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7130_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry7130_ver1''', '''BlackBerry7130''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':26,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''gif_animated''':True,'''has_qwerty_keyboard''':False,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':260,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':32768,'''max_image_height''':240,'''max_image_width''':235,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''BlackBerry 7130''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':260,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':32,'''ringtone_wav''':True,'''rows''':18,'''screensaver''':True,'''sender''':True,'''sp_midi''':True,'''tiff''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7130/4.1.03.rdf''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':260,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''blackberry7130_ver1_sub410'''] = devclass(devices.devids['''blackberry7130_ver1'''], '''blackberry7130_ver1_sub410''', '''BlackBerry7130/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/1''', False, {'''max_data_rate''':200}) +devices.devids['''blackberry7220_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry7220_ver1''', '''BlackBerry7220''', True, {'''colors''':65536,'''columns''':26,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''jpg''':True,'''max_deck_size''':32768,'''max_image_width''':240,'''model_name''':'''BlackBerry 7220''','''resolution_width''':240,'''rows''':10,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7220/3.7.1.rdf''','''wap_push_support''':True}) +devices.devids['''blackberry7220_ver1_sub370'''] = devclass(devices.devids['''blackberry7220_ver1'''], '''blackberry7220_ver1_sub370''', '''BlackBerry7220/3.7.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7220_ver1_sub371'''] = devclass(devices.devids['''blackberry7220_ver1'''], '''blackberry7220_ver1_sub371''', '''BlackBerry7220/3.7.1''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7230_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry7230_ver1''', '''BlackBerry7230''', True, {'''colors''':65536,'''columns''':26,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':131072,'''max_image_width''':240,'''model_name''':'''BlackBerry 7230''','''oma_support''':True,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':10,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7230/3.7.0.rdf''','''uaprof2''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7230/3.7.1.rdf''','''uaprof3''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7230/4.0.0.rdf''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':240,'''wap_push_support''':True}) +devices.devids['''blackberry7230_ver1_sub7230'''] = devclass(devices.devids['''blackberry7230_ver1'''], '''blackberry7230_ver1_sub7230''', '''blackberry 7230''', False, None) +devices.devids['''blackberry7230_ver1_sub370'''] = devclass(devices.devids['''blackberry7230_ver1'''], '''blackberry7230_ver1_sub370''', '''BlackBerry7230/3.7.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7230_ver1_sub371'''] = devclass(devices.devids['''blackberry7230_ver1'''], '''blackberry7230_ver1_sub371''', '''BlackBerry7230/3.7.1''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7230_ver1_sub373'''] = devclass(devices.devids['''blackberry7230_ver1'''], '''blackberry7230_ver1_sub373''', '''BlackBerry7230/3.7.3''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7230_ver1_sub400'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry7230_ver1_sub400''', '''BlackBerry7230/4.0.0''', False, {'''colors''':65536,'''columns''':26,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':131072,'''max_image_width''':235,'''model_name''':'''BlackBerry 7230 v4''','''oma_support''':True,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':10,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':240}) +devices.devids['''blackberry7230_ver1_sub400midp'''] = devclass(devices.devids['''blackberry7230_ver1_sub400'''], '''blackberry7230_ver1_sub400midp''', '''BlackBerry7230/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''blackberry7230_ver1_sub400midpnospace'''] = devclass(devices.devids['''blackberry7230_ver1_sub400'''], '''blackberry7230_ver1_sub400midpnospace''', '''BlackBerry7230/4.0.0 Profile/MIDP-2.0Configuration/CLDC-1.1''', False, None) +devices.devids['''blackberry7230_ver1_sub402'''] = devclass(devices.devids['''blackberry7230_ver1_sub400'''], '''blackberry7230_ver1_sub402''', '''BlackBerry7230/4.0.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''ringtone_spmidi''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7230/4.0.2.rdf'''}) +devices.devids['''blackberry7250_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry7250_ver1''', '''BlackBerry7250''', True, {'''colors''':65536,'''columns''':26,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':140,'''max_image_width''':240,'''model_name''':'''BlackBerry 7250''','''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''rows''':10,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7250/4.0.0.rdf''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''blackberry7250_ver1_sub400'''] = devclass(devices.devids['''blackberry7250_ver1'''], '''blackberry7250_ver1_sub400''', '''BlackBerry7250/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''blackberry7250_ver1_sub4005033'''] = devclass(devices.devids['''blackberry7250_ver1'''], '''blackberry7250_ver1_sub4005033''', '''BlackBerry7250/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/5.0.3.3''', False, {'''max_data_rate''':384}) +devices.devids['''blackberry7250_ver1_sub402'''] = devclass(devices.devids['''blackberry7250_ver1'''], '''blackberry7250_ver1_sub402''', '''BlackBerry7250/4.0.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''blackberry7280_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry7280_ver1''', '''BlackBerry7280''', True, {'''colors''':65536,'''columns''':26,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':32768,'''max_image_width''':240,'''model_name''':'''BlackBerry 7280''','''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''rows''':10,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7280/3.7.0.rdf''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':240,'''wap_push_support''':True}) +devices.devids['''blackberry7280_ver1_sub370'''] = devclass(devices.devids['''blackberry7280_ver1'''], '''blackberry7280_ver1_sub370''', '''BlackBerry7280/3.7.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7280_ver1_sub371'''] = devclass(devices.devids['''blackberry7280_ver1'''], '''blackberry7280_ver1_sub371''', '''BlackBerry7280/3.7.1''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7280_ver1_sub3715033'''] = devclass(devices.devids['''blackberry7280_ver1'''], '''blackberry7280_ver1_sub3715033''', '''BlackBerry7280/3.7.1 UP.Browser/5.0.3.3''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7280_ver1_sub380'''] = devclass(devices.devids['''blackberry7280_ver1'''], '''blackberry7280_ver1_sub380''', '''BlackBerry7280/3.8.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7280_ver1_sub400'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry7280_ver1_sub400''', '''BlackBerry7280/4.0.0''', False, {'''colors''':65536,'''columns''':26,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':131072,'''max_image_width''':235,'''model_name''':'''BlackBerry 7280 v4''','''oma_support''':True,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''rows''':10,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7280/4.0.0.rdf''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':240}) +devices.devids['''blackberry7280_ver1_sub400midp'''] = devclass(devices.devids['''blackberry7280_ver1_sub400'''], '''blackberry7280_ver1_sub400midp''', '''BlackBerry7280/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7290_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry7290_ver1''', '''BlackBerry7290''', True, {'''bmp''':True,'''colors''':65536,'''columns''':26,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':32768,'''max_image_width''':240,'''mms_max_height''':480,'''mms_max_size''':107250,'''mms_max_width''':640,'''model_name''':'''BlackBerry 7290''','''oma_support''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''rows''':10,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7290/3.8.0.rdf''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':240,'''wml_make_phone_call_string''':'''none'''}) +devices.devids['''blackberry7290_ver1_sub380'''] = devclass(devices.devids['''blackberry7290_ver1'''], '''blackberry7290_ver1_sub380''', '''BlackBerry7290/3.8.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7290_ver1_sub3805033'''] = devclass(devices.devids['''blackberry7290_ver1'''], '''blackberry7290_ver1_sub3805033''', '''BlackBerry7290/3.8.0 UP.Browser/5.0.3.3''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7290_ver1_submozillappc'''] = devclass(devices.devids['''blackberry7290_ver1'''], '''blackberry7290_ver1_submozillappc''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; PPC; 240x320) BlackBerry7290/3.8.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7290_ver1_submoz48nt5'''] = devclass(devices.devids['''blackberry7290_ver1'''], '''blackberry7290_ver1_submoz48nt5''', '''Mozilla/4.8 [en] (Windows NT 5.0; U) BlackBerry7290/3.8.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7290_ver1_sub400'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry7290_ver1_sub400''', '''BlackBerry7290/4.0.0''', False, {'''colors''':65536,'''columns''':26,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':131072,'''max_image_width''':235,'''mms_max_height''':480,'''mms_max_size''':107250,'''mms_max_width''':640,'''model_name''':'''BlackBerry 7290 v4''','''oma_support''':True,'''receiver''':True,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''rows''':10,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''blackberry7290_ver1_sub400midp'''] = devclass(devices.devids['''blackberry7290_ver1_sub400'''], '''blackberry7290_ver1_sub400midp''', '''BlackBerry7290/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''blackberry7290_ver1_sub410'''] = devclass(devices.devids['''blackberry7290_ver1_sub400'''], '''blackberry7290_ver1_sub410''', '''BlackBerry7290/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/124''', False, {'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':307200,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mms_wbxml''':True,'''mms_wml''':True,'''mms_wmlc''':True,'''ringtone_spmidi''':True,'''sender''':True}) +devices.devids['''blackberry7510_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry7510_ver1''', '''BlackBerry7510''', True, {'''colors''':65536,'''columns''':26,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':32768,'''max_image_width''':240,'''model_name''':'''BlackBerry 7510''','''oma_support''':True,'''resolution_width''':240,'''rows''':10,'''wap_push_support''':True}) +devices.devids['''blackberry7510_ver1_sub371'''] = devclass(devices.devids['''blackberry7510_ver1'''], '''blackberry7510_ver1_sub371''', '''BlackBerry7510/3.7.1''', False, None) +devices.devids['''blackberry7510_ver1_sub372'''] = devclass(devices.devids['''blackberry7510_ver1'''], '''blackberry7510_ver1_sub372''', '''BlackBerry7510/3.7.2''', False, None) +devices.devids['''blackberry7510_ver1_sub5033'''] = devclass(devices.devids['''blackberry7510_ver1'''], '''blackberry7510_ver1_sub5033''', '''BlackBerry7510/3.7.2 UP.Browser/5.0.3.3''', False, None) +devices.devids['''blackberry7510_ver1_sub400'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry7510_ver1_sub400''', '''BlackBerry7510/4.0.0''', False, {'''jpg''':True,'''max_data_rate''':9,'''model_name''':'''BlackBerry 7510 v4''','''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7510/4.0.0.rdf'''}) +devices.devids['''blackberry7510_ver1_sub4005033'''] = devclass(devices.devids['''blackberry7510_ver1'''], '''blackberry7510_ver1_sub4005033''', '''BlackBerry7510/4.0.0 UP.Browser/5.0.3.3''', False, None) +devices.devids['''blackberry7520_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry7520_ver1''', '''BlackBerry7520''', True, {'''colors''':65536,'''columns''':26,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':140,'''max_image_width''':240,'''model_name''':'''BlackBerry 7520''','''multipart_support''':True,'''oma_support''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':240,'''ringtone_midi_monophonic''':True,'''rows''':10,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7520/4.0.0.rdf''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''blackberry7520_ver1_sub5033'''] = devclass(devices.devids['''blackberry7520_ver1'''], '''blackberry7520_ver1_sub5033''', '''BlackBerry7520/4.0.0 UP.Browser/5.0.3.3''', False, {'''max_data_rate''':9}) +devices.devids['''blackberry7520_ver1_submidp'''] = devclass(devices.devids['''blackberry7520_ver1'''], '''blackberry7520_ver1_submidp''', '''BlackBerry7520/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''blackberry7730_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry7730_ver1''', '''BlackBerry7730''', True, {'''colors''':65536,'''columns''':26,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':240,'''max_image_width''':240,'''model_name''':'''BlackBerry 7730''','''oma_support''':True,'''resolution_height''':240,'''resolution_width''':240,'''screensaver''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7730/3.7.0.rdf''','''uaprof2''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7730/3.7.1.rdf''','''wallpaper''':True,'''wap_push_support''':True}) +devices.devids['''blackberry7730_ver1_sub370'''] = devclass(devices.devids['''blackberry7730_ver1'''], '''blackberry7730_ver1_sub370''', '''BlackBerry7730/3.7.0''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7730_ver1_sub371'''] = devclass(devices.devids['''blackberry7730_ver1'''], '''blackberry7730_ver1_sub371''', '''BlackBerry7730/3.7.1''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7730_ver1_sub373'''] = devclass(devices.devids['''blackberry7730_ver1'''], '''blackberry7730_ver1_sub373''', '''BlackBerry7730/3.7.3''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7730_ver1_sub400'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry7730_ver1_sub400''', '''BlackBerry7730/4.0.0''', False, {'''colors''':65536,'''columns''':26,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':32768,'''max_image_height''':240,'''max_image_width''':235,'''model_name''':'''BlackBerry 7730''','''oma_support''':True,'''resolution_height''':240,'''resolution_width''':240,'''ringtone_midi_monophonic''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7730/4.0.0.rdf''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''blackberry7730_ver1_sub400midp'''] = devclass(devices.devids['''blackberry7730_ver1_sub400'''], '''blackberry7730_ver1_sub400midp''', '''BlackBerry7730/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7730_ver1_sub400midpnospace'''] = devclass(devices.devids['''blackberry7730_ver1_sub400'''], '''blackberry7730_ver1_sub400midpnospace''', '''BlackBerry7730/4.0.0 Profile/MIDP-2.0Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7750_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry7750_ver1''', '''BlackBerry7750''', True, {'''colors''':65536,'''columns''':26,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':240,'''max_image_width''':235,'''midi_monophonic''':True,'''model_name''':'''BlackBerry 7750''','''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':240,'''resolution_width''':240,'''ringtone_midi_monophonic''':True,'''rows''':16,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7750/4.0.0.rdf''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''blackberry7750_ver1_sub371'''] = devclass(devices.devids['''blackberry7750_ver1'''], '''blackberry7750_ver1_sub371''', '''BlackBerry7750/3.7.1''', False, {'''max_data_rate''':384}) +devices.devids['''blackberry7750_ver1_sub5033'''] = devclass(devices.devids['''blackberry7750_ver1'''], '''blackberry7750_ver1_sub5033''', '''BlackBerry7750/3.7.1 UP.Browser/5.0.3.3''', False, {'''max_data_rate''':384}) +devices.devids['''blackberry7750_ver1_sub400'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry7750_ver1_sub400''', '''BlackBerry7750/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''model_name''':'''BlackBerry 7750''','''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7750/4.0.0.rdf'''}) +devices.devids['''blackberry7750_ver1_sub400midp5033'''] = devclass(devices.devids['''blackberry7750_ver1_sub400'''], '''blackberry7750_ver1_sub400midp5033''', '''BlackBerry7750/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/5.0.3.3''', False, {'''max_data_rate''':384}) +devices.devids['''blackberry7750_ver1_sub4005033'''] = devclass(devices.devids['''blackberry7750_ver1_sub400'''], '''blackberry7750_ver1_sub4005033''', '''BlackBerry7750/4.0.0 UP.Browser/5.0.3.3''', False, {'''max_data_rate''':384}) +devices.devids['''blackberry7780_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry7780_ver1''', '''BlackBerry7780''', True, {'''colors''':65536,'''columns''':26,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':32768,'''max_image_height''':220,'''max_image_width''':240,'''model_name''':'''BlackBerry 7780''','''resolution_height''':240,'''resolution_width''':240,'''ringtone_midi_monophonic''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''blackberry7780_ver1_sub371'''] = devclass(devices.devids['''blackberry7780_ver1'''], '''blackberry7780_ver1_sub371''', '''BlackBerry7780/3.7.1''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry7780_ver1_sub400'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry7780_ver1_sub400''', '''BlackBerry7780/4.0.0''', False, {'''max_data_rate''':40,'''model_name''':'''BlackBerry 7780''','''oma_support''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7780/4.0.0.rdf'''}) +devices.devids['''blackberry7780_ver1_sub400midp'''] = devclass(devices.devids['''blackberry7780_ver1_sub400'''], '''blackberry7780_ver1_sub400midp''', '''BlackBerry7780/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''blackberry8100_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry8100_ver1''', '''BlackBerry8100''', True, {'''aac''':True,'''amr''':True,'''colors''':65536,'''has_qwerty_keyboard''':False,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_data_rate''':200,'''max_image_height''':260,'''max_image_width''':234,'''midi_polyphonic''':True,'''model_name''':'''BlackBerry Pearl 8100''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''picture''':True,'''picture_jpg''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':260,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/8100/4.2.0.rdf''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_frame_rate''':24,'''video_max_height''':240,'''video_max_width''':320,'''video_mov''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':260,'''wallpaper_preferred_width''':240,'''wav''':True}) +devices.devids['''blackberry8100_sub42020111'''] = devclass(devices.devids['''blackberry8100_ver1'''], '''blackberry8100_sub42020111''', '''BlackBerry8100/4.2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/1''', False, {'''max_data_rate''':200}) +devices.devids['''blackberry8120_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry8120_ver1''', '''BlackBerry8120/4.3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''RIM''','''colors''':65536,'''columns''':26,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':260,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':32768,'''max_image_height''':240,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''BlackBerry 8120''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':260,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':18,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/8120/4.3.0.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wifi''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''blackberry8300_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry8300_ver1''', '''BlackBerry8300/4.2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/136''', True, {'''aac''':True,'''ajax_support_getelementbyid''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':32,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':32768,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''BlackBerry 8300 (Curve)''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/8300/4.2.2.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''blackberry8320_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry8320_ver1''', '''BlackBerry8320/4.2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/100''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':32,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':32768,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':8320,'''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/8320/4.2.2.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wifi''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''blackberry8700_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry8700_ver1''', '''BlackBerry8700/4.1.0''', True, {'''ajax_support_getelementbyid''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':32,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''gif_animated''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':32768,'''max_image_height''':220,'''max_image_width''':315,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''BlackBerry 8700''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':16,'''screensaver''':True,'''sender''':True,'''sp_midi''':True,'''svgt_1_1''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/8700/4.1.03.rdf''','''video''':True,'''video_mp4''':True,'''video_sqcif''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':240,'''wallpaper_max_width''':320,'''wallpaper_png''':True,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''blackberry8700_sub302410119'''] = devclass(devices.devids['''blackberry8700_ver1'''], '''blackberry8700_sub302410119''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; PPC; 240x320) BlackBerry8700/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/119''', False, {'''max_data_rate''':200}) +devices.devids['''blackberry8700_sub302410154'''] = devclass(devices.devids['''blackberry8700_ver1'''], '''blackberry8700_sub302410154''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; PPC; 240x320) BlackBerry8700/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/154''', False, {'''max_data_rate''':200}) +devices.devids['''blackberry8700c_ver1'''] = devclass(devices.devids['''blackberry8700_ver1'''], '''blackberry8700c_ver1''', '''BlackBerry8700c''', True, {'''model_name''':'''BlackBerry 8700c'''}) +devices.devids['''blackberry8700r_ver1'''] = devclass(devices.devids['''blackberry8700_ver1'''], '''blackberry8700r_ver1''', '''BlackBerry8700r''', True, {'''model_name''':'''BlackBerry 8700r'''}) +devices.devids['''blackberry8700f_ver1'''] = devclass(devices.devids['''blackberry8700_ver1'''], '''blackberry8700f_ver1''', '''BlackBerry8700f''', True, {'''model_name''':'''BlackBerry 8700f'''}) +devices.devids['''blackberry8700v_ver1'''] = devclass(devices.devids['''blackberry8700_ver1'''], '''blackberry8700v_ver1''', '''BlackBerry8700v''', True, {'''model_name''':'''BlackBerry 8700v'''}) +devices.devids['''blackberry8703_ver1'''] = devclass(devices.devids['''blackberry8700_ver1'''], '''blackberry8703_ver1''', '''BlackBerry8703''', True, {'''model_name''':'''BlackBerry 8703'''}) +devices.devids['''blackberry8703e_ver1'''] = devclass(devices.devids['''blackberry8703_ver1'''], '''blackberry8703e_ver1''', '''BlackBerry8703e''', True, {'''colors''':65536,'''columns''':32,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''BlackBerry 8703e (Verizon Wireless)''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/8703e/4.1.03.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''blackberry8703e_ver1_sub410'''] = devclass(devices.devids['''blackberry8703e_ver1'''], '''blackberry8703e_ver1_sub410''', '''BlackBerry8703e/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/105''', False, {'''max_data_rate''':384}) +devices.devids['''blackberry8707_ver1'''] = devclass(devices.devids['''blackberry8700_ver1'''], '''blackberry8707_ver1''', '''BlackBerry8707''', True, {'''amr''':True,'''colors''':65536,'''columns''':32,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''BlackBerry 8707''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/8707/4.1.03.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''blackberry8707_sub4102011128'''] = devclass(devices.devids['''blackberry8707_ver1'''], '''blackberry8707_sub4102011128''', '''BlackBerry8707/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/128''', False, {'''max_data_rate''':9}) +devices.devids['''blackberry8707_sub4102011153'''] = devclass(devices.devids['''blackberry8707_ver1'''], '''blackberry8707_sub4102011153''', '''BlackBerry8707/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/153''', False, {'''max_data_rate''':9}) +devices.devids['''blackberry8707v_ver1'''] = devclass(devices.devids['''blackberry8700_ver1'''], '''blackberry8707v_ver1''', '''BlackBerry8707v''', True, {'''model_name''':'''BlackBerry 8707v'''}) +devices.devids['''blackberry8800_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry8800_ver1''', '''BlackBerry8800''', True, {'''ajax_support_getelementbyid''':True,'''bmp''':True,'''colors''':65536,'''gif''':True,'''gif_animated''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':1048576,'''max_image_height''':240,'''max_image_width''':315,'''midi_polyphonic''':True,'''model_name''':'''BlackBerry 8800''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''sender''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/8800/4.2.1.rdf''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_frame_rate''':24,'''video_max_height''':240,'''video_max_width''':320,'''video_mp4''':True,'''video_preferred_height''':240,'''video_preferred_width''':320,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320,'''wallpaper_wbmp''':True}) +devices.devids['''blackberry8800_ver1_sub421102'''] = devclass(devices.devids['''blackberry8800_ver1'''], '''blackberry8800_ver1_sub421102''', '''BlackBerry8800/4.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/102''', False, {'''max_data_rate''':200}) +devices.devids['''blackberry8820_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry8820_ver1''', '''BlackBerry8820''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':32,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''BlackBerry 8820''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/8820/4.2.2.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''blackberry8820_ver1_sub422'''] = devclass(devices.devids['''blackberry8820_ver1'''], '''blackberry8820_ver1_sub422''', '''BlackBerry8820/4.2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/119''', False, {'''max_data_rate''':200,'''wifi''':True}) +devices.devids['''blackberry8830_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry8830_ver1''', '''BlackBerry8830/4.2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/105''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':32,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':32768,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':8830,'''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/8830/4.2.2.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''blackberry_charm_ver1'''] = devclass(devices.devids['''blackberry_generic_ver3_sub70'''], '''blackberry_charm_ver1''', '''BlackBerryCharm''', True, {'''colors''':65536,'''columns''':35,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':352,'''max_image_width''':324,'''model_name''':'''BlackBerry Charm''','''resolution_height''':352,'''resolution_width''':324,'''rows''':22,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/Charm/3.8.0.rdf''','''wap_push_support''':True}) +devices.devids['''blackberry_charm_ver1_sub380'''] = devclass(devices.devids['''blackberry_charm_ver1'''], '''blackberry_charm_ver1_sub380''', '''BlackBerryCharm/3.8.0''', False, {'''max_data_rate''':9}) +devices.devids['''ms_mobile_browser_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''ms_mobile_browser_ver1''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; Smartphone;)''', False, {'''can_skip_aligned_link_row''':True,'''chtml_table_support''':True,'''colors''':4096,'''columns''':15,'''device_claims_web_support''':True,'''device_os''':'''Windows Mobile OS''','''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''html_wi_imode_html_1''':True,'''html_wi_imode_html_2''':True,'''html_wi_imode_html_3''':True,'''https_support''':True,'''jpg''':True,'''max_deck_size''':16384,'''max_image_height''':180,'''max_image_width''':176,'''mobile_browser''':'''Microsoft Mobile Explorer''','''preferred_markup''':'''html_web_3_2''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':7,'''streaming_video''':True,'''streaming_wmv''':True,'''video''':True,'''video_max_height''':144,'''video_max_width''':176,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_wmv''':True,'''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_format_as_css_property''':True,'''xhtml_support_level''':3}) +devices.devids['''spv_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''spv_ver1''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; Smartphone; 176x220)''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':24,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':179,'''j2me_canvas_width''':176,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':10485760,'''j2me_left_softkey_code''':21,'''j2me_middle_softkey_code''':23,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':40,'''max_deck_size''':9437184,'''max_image_height''':200,'''max_image_width''':176,'''max_object_size''':9437184,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':105,'''mms_max_size''':102400,'''mms_max_width''':140,'''mms_midi_monophonic''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''MPX200''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/mpx200/Profile/mpx200.rdf''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True,'''wta_phonebook''':True,'''wta_voice_call''':True}) +devices.devids['''spv_ver1_subnospace'''] = devclass(devices.devids['''spv_ver1'''], '''spv_ver1_subnospace''', '''Mozilla/2.0 (compatible; MSIE 3.02; WindowsCE; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''spv_ver1_submotmpx200'''] = devclass(devices.devids['''spv_ver1'''], '''spv_ver1_submotmpx200''', '''MOT-MPX200''', False, None) +devices.devids['''spv_ver1_submotompx200'''] = devclass(devices.devids['''spv_ver1'''], '''spv_ver1_submotompx200''', '''Motorola-MPX200''', False, None) +devices.devids['''spv_ver1_subbfp'''] = devclass(devices.devids['''spv_ver1'''], '''spv_ver1_subbfp''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; *bfp*; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''spv_ver1_subsda'''] = devclass(devices.devids['''spv_ver1'''], '''spv_ver1_subsda''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; Smartphone; 176x220; Smartphone; SDA/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''columns''':10,'''j2me_cldc_1_1''':True,'''max_data_rate''':40,'''mms_3gpp''':True,'''mms_bmp''':True,'''mms_max_height''':1200,'''mms_max_size''':300000,'''mms_max_width''':1200,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''model_name''':'''SDA''','''mp3''':True,'''png''':True,'''ringtone_mp3''':True,'''rows''':25,'''uaprof''':'''http://www.htcmms.com.tw/tmo/sda-1.0.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True}) +devices.devids['''spv_ver1_subsdat68'''] = devclass(devices.devids['''spv_ver1_subsda'''], '''spv_ver1_subsdat68''', '''EricssonT68/R101 (;; ;; ;; Smartphone; SDA/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_sub401sda'''] = devclass(devices.devids['''spv_ver1_subsda'''], '''ms_mobile_browser_ver1_sub401sda''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; SDA/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_sub402sda'''] = devclass(devices.devids['''spv_ver1_subsda'''], '''ms_mobile_browser_ver1_sub402sda''', '''Mozilla/4.0 (compatible; MSIE 4.02; Windows CE; Smartphone; SDA/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, {'''max_data_rate''':40}) +devices.devids['''spv_ver1_subsda402176220'''] = devclass(devices.devids['''spv_ver1_subsda'''], '''spv_ver1_subsda402176220''', '''Mozilla/2.0 (compatible; MSIE 4.02; Windows CE; Smartphone; 176x220; Smartphone; SDA/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, {'''max_data_rate''':40}) +devices.devids['''spv_ver1_subsdamidp20'''] = devclass(devices.devids['''spv_ver1_subsda'''], '''spv_ver1_subsdamidp20''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; Smartphone; SDA/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, {'''max_data_rate''':40}) +devices.devids['''spv_ver1_subsdamidp20cldc11'''] = devclass(devices.devids['''spv_ver1_subsda'''], '''spv_ver1_subsdamidp20cldc11''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; SDA/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''spv_ver1_subsda20'''] = devclass(devices.devids['''spv_ver1_subsda'''], '''spv_ver1_subsda20''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; SDA/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_sub240320'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''ms_mobile_browser_ver1_sub240320''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; 240x320)''', False, {'''max_image_height''':320,'''max_image_width''':240,'''resolution_height''':320,'''resolution_width''':240}) +devices.devids['''ms_mobile_browser_ver1_subce240320ppc'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''ms_mobile_browser_ver1_subce240320ppc''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; 240x320; PPC)''', False, None) +devices.devids['''ms_mobile_browser_ver1_subceppc240320'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''ms_mobile_browser_ver1_subceppc240320''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''ppc_2002_3_0_11171_emulator'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''ppc_2002_3_0_11171_emulator''', '''Mozilla/2.0 (compatible ; MSIE 3.02; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''mda_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''mda_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; MDA Compact/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', True, {'''bmp''':True,'''brand_name''':'''T-Mobile''','''has_pointing_device''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mld''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MDA Compact''','''mp3''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':True,'''wallpaper_colors''':12,'''wav''':True}) +devices.devids['''mda_vario_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''mda_vario_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; MDA Vario/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', True, {'''brand_name''':'''T-Mobile''','''has_pointing_device''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':'''MDA Vario''','''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':True,'''wifi''':True}) +devices.devids['''anexteksp230_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce240320ppc'''], '''anexteksp230_ver1''', '''AnexTekSP230 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', True, {'''brand_name''':'''AnexTek''','''colors''':65536,'''directdownload_support''':True,'''model_name''':'''SP230''','''streaming_video''':True,'''streaming_video_max_bit_rate''':128000,'''streaming_wmv''':True,'''video''':True,'''video_wmv''':True}) +devices.devids['''dallab_dp900_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce240320ppc'''], '''dallab_dp900_ver1''', '''DALLAB-DP900''', True, {'''brand_name''':'''Dallab''','''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''model_name''':'''DP900'''}) +devices.devids['''dallab_dp900_ver1_sub240320'''] = devclass(devices.devids['''dallab_dp900_ver1'''], '''dallab_dp900_ver1_sub240320''', '''DALLAB-DP900/(2004.08.17)Ver1.0.1/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0/ (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''ms_mobile_browser_ver1_submsie401240320'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''ms_mobile_browser_ver1_submsie401240320''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''HP''','''built_in_back_button_support''':True,'''chtml_make_phone_call_string''':'''tel:''','''colors''':65536,'''connectionless_service_indication''':True,'''directdownload_support''':True,'''has_qwerty_keyboard''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_max_height''':320,'''mms_max_size''':51200,'''mms_max_width''':240,'''model_name''':'''iPAQ HX4700''','''mp3''':True,'''png''':True,'''receiver''':True,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''sender''':True,'''unique''':False,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wap_push_support''':True,'''wav''':True,'''wml_make_phone_call_string''':'''wtai://wp/mc;''','''wta_voice_call''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;'''}) +devices.devids['''hp_ipaq_h5450series'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''hp_ipaq_h5450series''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; HP iPAQ h5450)''', True, {'''brand_name''':'''HP''','''model_name''':'''iPAQ H5450 series'''}) +devices.devids['''hp_ipaq_h5450series_subppc'''] = devclass(devices.devids['''hp_ipaq_h5450series'''], '''hp_ipaq_h5450series_subppc''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; HP iPAQ h5450; PPC; 240x320)''', False, None) +devices.devids['''hp_ipaq_h6300series'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''hp_ipaq_h6300series''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; HP iPAQ h6300)''', True, {'''brand_name''':'''HP''','''model_name''':'''iPAQ H6300 series'''}) +devices.devids['''hp_ipaq_h6300series_subppc'''] = devclass(devices.devids['''hp_ipaq_h6300series'''], '''hp_ipaq_h6300series_subppc''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; HP iPAQ h6300; PPC; 240x320)''', False, {'''wallpaper_colors''':12}) +devices.devids['''hp_ipaq_hw6500_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''hp_ipaq_hw6500_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x240; HP iPAQ hw6500)''', True, {'''brand_name''':'''HP''','''directdownload_support''':True,'''max_image_height''':240,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''iPAQ HW6500''','''mp3''':True,'''resolution_height''':240,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''video''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wav''':True}) +devices.devids['''hp_ipaq_hw6500_ver1_subhpipaq'''] = devclass(devices.devids['''hp_ipaq_hw6500_ver1'''], '''hp_ipaq_hw6500_ver1_subhpipaq''', '''HP iPAQ hw6500/1.0 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x240)''', False, None) +devices.devids['''hp_ipaq_hw6500_ver1_submozilla'''] = devclass(devices.devids['''hp_ipaq_hw6500_ver1'''], '''hp_ipaq_hw6500_ver1_submozilla''', '''HP iPAQ hw6500/Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x240; HP iPAQ hw6500)''', False, None) +devices.devids['''hp_ipaq_hw6510_ver1'''] = devclass(devices.devids['''hp_ipaq_hw6500_ver1'''], '''hp_ipaq_hw6510_ver1''', '''HP iPAQ hw6510''', True, {'''model_name''':'''iPAQ HW6510'''}) +devices.devids['''hp_ipaq_hw6515_ver1'''] = devclass(devices.devids['''hp_ipaq_hw6500_ver1'''], '''hp_ipaq_hw6515_ver1''', '''HP iPAQ hw6515''', True, {'''model_name''':'''iPAQ HW6515'''}) +devices.devids['''hp_ipaq_hw6515_ver1_submsieua'''] = devclass(devices.devids['''hp_ipaq_hw6515_ver1'''], '''hp_ipaq_hw6515_ver1_submsieua''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x240)''', False, None) +devices.devids['''hp_ipaq_hw6900_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''hp_ipaq_hw6900_ver1''', '''HPiPAQhw6900''', True, {'''brand_name''':'''HP''','''colors''':65536,'''gif_animated''':False,'''html_wi_oma_xhtmlmp_1_0''':True,'''max_image_height''':220,'''max_image_width''':224,'''model_name''':'''iPAQ HW6900''','''png''':True,'''resolution_height''':240,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_vcodec_h263_0''':True,'''wallpaper''':True,'''wifi''':True}) +devices.devids['''hp_ipaq_hw6900_ver1sub10'''] = devclass(devices.devids['''hp_ipaq_hw6900_ver1'''], '''hp_ipaq_hw6900_ver1sub10''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x240; HPiPAQhw6900/1.0)''', False, None) +devices.devids['''hp_ipaq_hw6915_ver1'''] = devclass(devices.devids['''hp_ipaq_hw6900_ver1'''], '''hp_ipaq_hw6915_ver1''', '''HPiPAQhw6915''', True, {'''brand_name''':'''HP''','''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''model_name''':'''iPAQ HW6915''','''png''':True,'''resolution_height''':240,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_wbmp''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_preferred_height''':240,'''video_preferred_width''':240,'''video_vcodec_h263_0''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_wbmp''':True}) +devices.devids['''hp_ipaq_hw6915_ver1sub10'''] = devclass(devices.devids['''hp_ipaq_hw6915_ver1'''], '''hp_ipaq_hw6915_ver1sub10''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x240; HPiPAQhw6915/1.0)''', False, None) +devices.devids['''ms_mobile_browser_ver1_submsie401240320nospace'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''ms_mobile_browser_ver1_submsie401240320nospace''', '''Mozilla/4.0(compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''ms_mobile_browser_ver1_submsie401240320401'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''ms_mobile_browser_ver1_submsie401240320401''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320) 4.01''', False, None) +devices.devids['''ms_mobile_browser_ver1_submsie401240320401ppcpe'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''ms_mobile_browser_ver1_submsie401240320401ppcpe''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPCPE; 240x320)''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':40,'''max_deck_size''':3000,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':300000,'''mms_max_width''':1200,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MDA Compact''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''ringtone''':True,'''ringtone_mp3''':True,'''rows''':36,'''sender''':True,'''uaprof''':'''http://www.htcmms.com.tw/tmo/mdacp-1.0.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''xda2_ver1'''] = devclass(devices.devids['''generic'''], '''xda2_ver1''', '''XDA2''', False, {'''j2me_bits_per_pixel''':16,'''j2me_btapi''':True,'''j2me_cldc_1_0''':True,'''j2me_clear_key_code''':8,'''j2me_heap_size''':67108864,'''j2me_jtwi''':True,'''j2me_left_softkey_code''':6,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_right_softkey_code''':7,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''j2me_wmapi_1_0''':True}) +devices.devids['''ms_mobile_browser_ver1_sub402'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''ms_mobile_browser_ver1_sub402''', '''Mozilla/2.0 (compatible; MSIE 4.02; Windows CE; Default)''', False, None) +devices.devids['''htc_3100_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''htc_3100_ver1''', '''HTC-3100/1.2 Mozilla/4.0 (compatible; MSIE 5.5; Windows CE; Smartphone; 240x320)''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':10,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''3100 (Star Trek)''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':25,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Strk-1.0.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''htc_8100_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''htc_8100_ver1''', '''HTC-8100''', False, {'''brand_name''':'''HTC''','''model_name''':8100,'''resolution_height''':320,'''resolution_width''':240}) +devices.devids['''htc_8100_ver1_1'''] = devclass(devices.devids['''htc_8100_ver1'''], '''htc_8100_ver1_1''', '''HTC-8100/1.2 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''htc_8125_ver1'''] = devclass(devices.devids['''htc_8100_ver1'''], '''htc_8125_ver1''', '''HTC-8125''', True, {'''aac''':True,'''amr''':True,'''colors''':65536,'''max_image_height''':240,'''max_image_width''':240,'''model_name''':'''Cingular 8125''','''mp3''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':False,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':True,'''wallpaper''':True,'''wav''':True}) +devices.devids['''htc_8500_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''htc_8500_ver1''', '''HTC-8500''', True, {'''brand_name''':'''HTC''','''has_pointing_device''':True,'''model_name''':8500,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True}) +devices.devids['''htc_8500_ver1_sub240320'''] = devclass(devices.devids['''htc_8500_ver1'''], '''htc_8500_ver1_sub240320''', '''HTC-8500/1.2 Mozilla/4.0 (compatible; MSIE 5.5; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''htc_8900_Pilgrim'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''htc_8900_Pilgrim''', '''HTC-8900/1.2 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', True, {'''ajax_manipulate_css''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''brand_name''':'''HTC''','''gif''':True,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''mobile_browser_version''':'''7.6''','''model_name''':'''8900/Pilgrim/Tilt''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':240,'''resolution_width''':320,'''wbmp''':True}) +devices.devids['''htc_p4550_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''htc_p4550_ver1''', '''HTC_P4550 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_image_height''':300,'''max_image_width''':237,'''mobile_browser_version''':'''7.6''','''model_name''':'''P4550''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''uaprof''':'''http://www.htcmms.com.tw/gen/kaiser-1.0.xml''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''htc_p4550_ver1_suborange'''] = devclass(devices.devids['''htc_p4550_ver1'''], '''htc_p4550_ver1_suborange''', '''HTC-P4550-orange/PPC; 240x320; OpVer 24.103.2.731 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)''', False, {'''max_data_rate''':40}) +devices.devids['''htc_s410_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''htc_s410_ver1''', '''HTCS410''', False, {'''brand_name''':'''HTC''','''model_name''':'''S410''','''wallpaper''':True}) +devices.devids['''htc_s620_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''htc_s620_ver1''', '''HTCS620-Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 320x240)''', False, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':10,'''has_qwerty_keyboard''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''max_deck_size''':3000,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''S620''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':25,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wav''':True,'''wifi''':True,'''wta_phonebook''':True}) +devices.devids['''dash_ver1'''] = devclass(devices.devids['''htc_s620_ver1'''], '''dash_ver1''', '''T-Mobile Dash Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 320x240)''', True, {'''bmp''':True,'''brand_name''':'''T-Mobile''','''colors''':65536,'''columns''':10,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_deck_size''':3000,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Dash''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':25,'''screensaver''':True,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://www.htcmms.com.tw/gen/Excal-1.0.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''dash_ver1_moz'''] = devclass(devices.devids['''dash_ver1'''], '''dash_ver1_moz''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) T-Mobile Dash''', False, None) +devices.devids['''htc_p3600_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''htc_p3600_ver1''', '''HTCP3600''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''has_pointing_device''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':300,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''P3600 Trinity''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':36,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Trinity-1.0.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''htcp3600_ver1_submoz'''] = devclass(devices.devids['''htc_p3600_ver1'''], '''htcp3600_ver1_submoz''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.8) PPC; 240x320; HTC_P3600/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''htcp3600_ver1_sub240320'''] = devclass(devices.devids['''htc_p3600_ver1'''], '''htcp3600_ver1_sub240320''', '''HTCP3600-Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''ms_mobile_browser_ver1_subce176220'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''ms_mobile_browser_ver1_subce176220''', '''Mozilla/2.0 (compatible; MSIE 4.02; Windows CE; Smartphone; 176x220)''', True, {'''brand_name''':'''MiTAC''','''colors''':65536,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_image_height''':200,'''max_image_width''':167,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':500,'''mms_max_size''':358400,'''mms_max_width''':500,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Mio8390''','''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''sender''':True,'''uaprof''':'''http://www.mio-tech.com.tw/download/smartphone/Mio8390r101.xml''','''wallpaper_colors''':16,'''wap_push_support''':True,'''wta_phonebook''':True}) +devices.devids['''ms_mobile_browser_ver1_subcemoz40176220'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce176220'''], '''ms_mobile_browser_ver1_subcemoz40176220''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220)''', False, {'''is_wireless_device''':True,'''max_data_rate''':40,'''unique''':False}) +devices.devids['''audiovox_smt5600_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subcemoz40176220'''], '''audiovox_smt5600_ver1''', '''AUDIOVOX-SMT5600''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Audiovox''','''directdownload_support''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SMT-5600''','''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':32000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_directdownload_size_limit''':32000,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':32000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':480,'''wallpaper_max_width''':640,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''audiovox_smt5600_ver1_subdev'''] = devclass(devices.devids['''audiovox_smt5600_ver1'''], '''audiovox_smt5600_ver1_subdev''', '''SMT5600''', False, None) +devices.devids['''audiovox_smt5600_ver1_sub176220'''] = devclass(devices.devids['''audiovox_smt5600_ver1'''], '''audiovox_smt5600_ver1_sub176220''', '''AUDIOVOX-SMT5600/Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''audiovox_smt5600_ver1_sub176220_12'''] = devclass(devices.devids['''audiovox_smt5600_ver1'''], '''audiovox_smt5600_ver1_sub176220_12''', '''AUDIOVOX-SMT5600/1.2 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''mot_q_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce176220'''], '''mot_q_ver1''', '''Mozilla/4.0 Sprint:MotoQ (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220)''', False, {'''ajax_manipulate_css''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''brand_name''':'''Motorola''','''columns''':19,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''is_wireless_device''':True,'''max_data_rate''':40,'''max_image_height''':300,'''max_image_width''':240,'''model_name''':'''Q''','''resolution_height''':320,'''resolution_width''':240,'''rows''':8}) +devices.devids['''mot_q9h_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''mot_q9h_ver1''', '''MOT-Q9/01.02.22R Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; Smartphone; 240x320) Opera 8.65''', False, {'''aac''':True,'''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':19,'''gif''':True,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':10000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Q9H''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rmf''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.motorola.com/phoneconfig/q-umts/Profile/mot-q9h.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xmf''':True}) +devices.devids['''mot_q9h_ver1_subua'''] = devclass(devices.devids['''mot_q9h_ver1'''], '''mot_q9h_ver1_subua''', '''MOT-Q9/1.0 (05.02) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':384}) +devices.devids['''ms_mobile_browser_ver1_subspvc100'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce176220'''], '''ms_mobile_browser_ver1_subspvc100''', '''SPV C100''', True, {'''brand_name''':'''Orange''','''max_image_width''':167,'''model_name''':'''C100'''}) +devices.devids['''ms_mobile_browser_ver1_subspvc100_sub181072741'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc100'''], '''ms_mobile_browser_ver1_subspvc100_sub181072741''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; SPV C100; OpVer 18.107.2.741)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subspvc200'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce176220'''], '''ms_mobile_browser_ver1_subspvc200''', '''SPV C200''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''brand_name''':'''Orange''','''columns''':36,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''max_image_height''':220,'''max_image_width''':167,'''model_name''':'''SPV C200''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''rows''':12,'''screensaver''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_aac_ltp''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://www.amobile.com.cn/ua/c200.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''wallpaper''':True,'''wav''':True}) +devices.devids['''ms_mobile_browser_ver1_subspvc200_sub60683060'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc200'''], '''ms_mobile_browser_ver1_subspvc200_sub60683060''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.8) SPV C200 /SW3.0 MSIE/6.0''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subspvc500'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce176220'''], '''ms_mobile_browser_ver1_subspvc500''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; SPV C500; OpVer 4.1.1.0)''', True, {'''brand_name''':'''Orange''','''max_data_rate''':40,'''max_image_width''':167,'''mms_3gpp''':True,'''mms_mp4''':True,'''mms_video''':True,'''model_name''':'''C500''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True}) +devices.devids['''ms_mobile_browser_ver1_subspvc500_subbfp_4110'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''ms_mobile_browser_ver1_subspvc500_subbfp_4110''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; *bfp*; Smartphone; 176x220; SPV C500; OpVer 4.1.1.0)''', False, {'''max_data_rate''':40}) +devices.devids['''mozilla_ver1_subbfp'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''mozilla_ver1_subbfp''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; SPV C500; OpVer 4.1.1.0; *bfp*)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subspvc500_sub4114'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''ms_mobile_browser_ver1_subspvc500_sub4114''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; SPV C500; OpVer 4.1.1.4)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subspvc500_sub4120'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''ms_mobile_browser_ver1_subspvc500_sub4120''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; SPV C500; OpVer 4.1.2.0)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subspvc500_sub4120smartphone'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''ms_mobile_browser_ver1_subspvc500_sub4120smartphone''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; Smartphone; 176x220; SPV C500; OpVer 4.1.2.0)''', False, {'''max_data_rate''':40}) +devices.devids['''mozilla_ver1_subspvc500_sub4125'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''mozilla_ver1_subspvc500_sub4125''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; SPV C500; OpVer 4.1.2.5)''', False, {'''max_data_rate''':40}) +devices.devids['''mozilla_ver1_subspvc500_sub4125smartphone'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''mozilla_ver1_subspvc500_sub4125smartphone''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; SPV C500; OpVer 4.1.2.5; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subspvc500_sub4125176220'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''ms_mobile_browser_ver1_subspvc500_sub4125176220''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; Smartphone; 176x220; SPV C500; OpVer 4.1.2.5)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subspvc500_sub4130'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''ms_mobile_browser_ver1_subspvc500_sub4130''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; SPV C500; OpVer 4.1.3.0)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subspvc500_sub4181'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''ms_mobile_browser_ver1_subspvc500_sub4181''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; SPV C500; OpVer 4.1.8.1)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subspvc500msie302'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''ms_mobile_browser_ver1_subspvc500msie302''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; Smartphone; 176x220; Smartphone; 176x220; SPV C500; OpVer 4.1.2.5)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subspvc500msie3024125default'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''ms_mobile_browser_ver1_subspvc500msie3024125default''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; Smartphone; 176x220; SPV C500; OpVer 4.1.2.5; Default; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subspvc500msie3024125'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''ms_mobile_browser_ver1_subspvc500msie3024125''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; Smartphone; 176x220; SPV C500; OpVer 4.1.2.5; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subspvc500msie4014221176220'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''ms_mobile_browser_ver1_subspvc500msie4014221176220''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; Smartphone; 176x220; SPV C500; OpVer 4.2.2.1)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subspvc500msie4014221'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''ms_mobile_browser_ver1_subspvc500msie4014221''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; SPV C500; OpVer 4.2.2.1)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subhtc2125'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce176220'''], '''ms_mobile_browser_ver1_subhtc2125''', '''HTC-2125/1.2 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220)''', True, {'''brand_name''':'''HTC''','''max_data_rate''':40,'''model_name''':2125,'''uaprof''':'''http://www.htcmms.com.tw/gen/tornado-2.0.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True}) +devices.devids['''ms_mobile_browser_ver1_subcemoz401176220bfp'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce176220'''], '''ms_mobile_browser_ver1_subcemoz401176220bfp''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; *bfp*)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subcemoz401bfp176220'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce176220'''], '''ms_mobile_browser_ver1_subcemoz401bfp176220''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; *bfp*; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_subspvm1000'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''ms_mobile_browser_ver1_subspvm1000''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M1000;''', True, {'''brand_name''':'''Orange''','''model_name''':'''M1000'''}) +devices.devids['''ms_mobile_browser_ver1_subspvm2000'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce240320ppc'''], '''ms_mobile_browser_ver1_subspvm2000''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M2000;''', True, {'''amr''':True,'''brand_name''':'''Orange''','''chtml_make_phone_call_string''':'''tel:''','''colors''':65536,'''connectionless_service_indication''':True,'''directdownload_support''':True,'''gif_animated''':True,'''max_image_width''':224,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_max_height''':320,'''mms_max_size''':51200,'''mms_max_width''':240,'''model_name''':'''M2000''','''mp3''':True,'''png''':True,'''receiver''':True,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''sender''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wap_push_support''':True,'''wav''':True,'''wta_voice_call''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;'''}) +devices.devids['''ms_mobile_browser_ver1_subspvm20005122131'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvm2000'''], '''ms_mobile_browser_ver1_subspvm20005122131''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M2000; OpVer 5.12.2.131)''', False, None) +devices.devids['''ms_mobile_browser_ver1_subspvm20005122141'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvm2000'''], '''ms_mobile_browser_ver1_subspvm20005122141''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M2000; OpVer 5.12.2.141)''', False, None) +devices.devids['''ms_mobile_browser_ver1_subspvm20005311124'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvm2000'''], '''ms_mobile_browser_ver1_subspvm20005311124''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M2000; OpVer 5.31.1.124)''', False, None) +devices.devids['''ms_mobile_browser_ver1_subspvm20005312120'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvm2000'''], '''ms_mobile_browser_ver1_subspvm20005312120''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M2000; OpVer 5.31.2.120)''', False, None) +devices.devids['''ms_mobile_browser_ver1_subspvm20005312138'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvm2000'''], '''ms_mobile_browser_ver1_subspvm20005312138''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M2000; OpVer 5.31.2.138)''', False, None) +devices.devids['''ms_mobile_browser_ver1_subspvm20005313135'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvm2000'''], '''ms_mobile_browser_ver1_subspvm20005313135''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M2000; OpVer 5.31.3.135)''', False, None) +devices.devids['''ms_mobile_browser_ver1_subspvm20005402223'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvm2000'''], '''ms_mobile_browser_ver1_subspvm20005402223''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M2000; OpVer 5.40.2.223)''', False, None) +devices.devids['''ms_mobile_browser_ver1_subspvm20005402223nomoz'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvm2000'''], '''ms_mobile_browser_ver1_subspvm20005402223nomoz''', '''SPV M2000; OpVer 5.12.2.131''', False, None) +devices.devids['''ms_mobile_browser_ver1_subspvm2000orange'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvm2000'''], '''ms_mobile_browser_ver1_subspvm2000orange''', '''Orange SPV M2000''', False, None) +devices.devids['''ms_mobile_browser_ver1_sub40240320'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''ms_mobile_browser_ver1_sub40240320''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; 240x320)''', False, {'''max_image_height''':300,'''max_image_width''':230,'''resolution_height''':320,'''resolution_width''':240,'''video''':True,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True}) +devices.devids['''htc_artist_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_artist_ver1''', '''HTCArtist''', True, {'''brand_name''':'''HTC''','''model_name''':'''Artist''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True}) +devices.devids['''htc_gemini_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_gemini_ver1''', '''HTCGemini''', True, {'''brand_name''':'''HTC''','''model_name''':'''Gemini''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True}) +devices.devids['''htc_prophet_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_prophet_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; i-mate JAMin PPC; 240x320; PPC; 240x320)''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''has_pointing_device''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Prophet''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':36,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/prophet-2.0.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''htc_wizard_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_wizard_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; i-mate K-JAM PPC; 240x320)''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Wizard''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':36,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Wizard-2.0.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''htc_herald_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_herald_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) T-Mobile_Atlas''', True, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''msxml2''','''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':614400,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Herald''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':36,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Herald-1.0.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''htc_p4350_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_p4350_ver1''', '''HTCP4350-Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC)''', False, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_deck_size''':3000,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':614400,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''P4350''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':36,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''htc_s710_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_s710_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) SP; 240x320; HTC_S710/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''ajax_manipulate_css''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''msxml2''','''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':10,'''gif''':True,'''has_qwerty_keyboard''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''S710''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':25,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Vox-1.0.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''htc_mteor_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_mteor_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 240x320)''', False, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':10,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_deck_size''':3000,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MTeoR''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':25,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''htc_p3300_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_p3300_ver1''', '''HTCP3300-Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''msxml2''','''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mld''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':614400,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''P3300''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':36,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_h263_0''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Artemis-1.0.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''htc_tytn_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_tytn_ver1''', '''HTCTyTN-Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_deck_size''':3000,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TyTN''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':36,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''htc_v151o_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_v151o_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.8) Vodafone/1.0/HTC_v1510/1.23.163.2''', False, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''v1510''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':36,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/voda/v1510-1.0.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''htc_v1605_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_v1605_ver1''', '''Vodafone/1.0/HTC_Mercury''', True, {'''brand_name''':'''HTC''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':'''v1605''','''ringtone_amr''':True,'''ringtone_mp3''':True,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True}) +devices.devids['''orange_spv_c600_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''orange_spv_c600_ver1''', '''SPV-C600''', True, {'''brand_name''':'''Orange''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_width''':229,'''mms_video''':True,'''model_name''':'''C600''','''receiver''':True,'''sender''':True,'''video_3gpp''':True}) +devices.devids['''orange_spv_c700_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''orange_spv_c700_ver1''', '''SPV-C700''', True, {'''brand_name''':'''Orange''','''chtml_make_phone_call_string''':'''tel:''','''colors''':65536,'''columns''':42,'''directdownload_support''':True,'''gif_animated''':False,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_width''':229,'''mms_max_height''':320,'''mms_max_size''':51200,'''mms_max_width''':240,'''model_name''':'''C700''','''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':13,'''sender''':True,'''video''':False,'''wta_voice_call''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;'''}) +devices.devids['''orange_spv_e100_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''orange_spv_e100_ver1''', '''SPV-E100''', True, {'''brand_name''':'''SPV''','''colors''':65536,'''max_image_height''':220,'''max_image_width''':176,'''model_name''':'''E100''','''resolution_height''':220,'''resolution_width''':176}) +devices.devids['''orange_spv_e650_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''orange_spv_e650_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.9) Smartphone; 240x320; SPV E650''', True, {'''bmp''':False,'''brand_name''':'''HTC''','''colors''':65536,'''gif_animated''':False,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''max_data_rate''':40,'''max_image_width''':229,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp4''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SPV E650''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_web_3_2''','''receiver''':True,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_qcif''':True,'''streaming_video_sqcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/vox-1.0.xml''','''video_3gpp''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wav''':True}) +devices.devids['''htc_artist_ver1_sub111204'''] = devclass(devices.devids['''htc_artist_ver1'''], '''htc_artist_ver1_sub111204''', '''HTCArtist/111204 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''htc_p3300_ver1_subua'''] = devclass(devices.devids['''htc_p3300_ver1'''], '''htc_p3300_ver1_subua''', '''HTC_P3300 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)''', False, {'''max_data_rate''':40}) +devices.devids['''htc_p3300_ver1_subua2'''] = devclass(devices.devids['''htc_p3300_ver1'''], '''htc_p3300_ver1_subua2''', '''HTC P3300/1.28.621.1 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, {'''max_data_rate''':40}) +devices.devids['''vodafone_qtek_9100'''] = devclass(devices.devids['''htc_v1605_ver1'''], '''vodafone_qtek_9100''', '''Vodafone/1.0/HTC_Mercury/1.20.161.6/Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; MIDP-2.0 Configuration/CLDC-1.1; PPC; 240x320)''', False, None) +devices.devids['''orange_spv_e200_ver1'''] = devclass(devices.devids['''orange_spv_e100_ver1'''], '''orange_spv_e200_ver1''', '''SPV-E200''', True, {'''model_name''':'''E200'''}) +devices.devids['''orange_spv_e650_ver1sub22103'''] = devclass(devices.devids['''orange_spv_e650_ver1'''], '''orange_spv_e650_ver1sub22103''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.9) Smartphone; 240x320; SPV E650; OpVer 22.103.2.731''', False, {'''max_data_rate''':40}) +devices.devids['''htc_prophet_ver1_subvoda'''] = devclass(devices.devids['''htc_prophet_ver1'''], '''htc_prophet_ver1_subvoda''', '''Vodafone/1.0/HTC_prophet/2.15.3.113/Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, {'''max_data_rate''':40}) +devices.devids['''mozilla_ver1_subppc240320'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''mozilla_ver1_subppc240320''', '''Mozilla/4.1 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''orange_spv_c700_ver1_sub142620'''] = devclass(devices.devids['''orange_spv_c700_ver1'''], '''orange_spv_c700_ver1_sub142620''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 240x320; SPV C700; OpVer 14.2.62.0)''', False, None) +devices.devids['''orange_spv_c600_ver1_sub111103'''] = devclass(devices.devids['''orange_spv_c600_ver1'''], '''orange_spv_c600_ver1_sub111103''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 240x320; SPV C600; OpVer 11.1.10.3)''', False, None) +devices.devids['''orange_spv_c600_ver1_sub40mbwiz112213'''] = devclass(devices.devids['''orange_spv_c600_ver1'''], '''orange_spv_c600_ver1_sub40mbwiz112213''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; mbwiz; Smartphone; 240x320; SPV C600; OpVer 11.2.21.3)''', False, None) +devices.devids['''orange_spv_c600_ver1_sub40112225'''] = devclass(devices.devids['''orange_spv_c600_ver1'''], '''orange_spv_c600_ver1_sub40112225''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 240x320; SPV C600; OpVer 11.2.22.5)''', False, None) +devices.devids['''htc_gemini_ver1_sub131169'''] = devclass(devices.devids['''htc_gemini_ver1'''], '''htc_gemini_ver1_sub131169''', '''HTCGemini/131169 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''htc_gemini_ver1_sub131178'''] = devclass(devices.devids['''htc_gemini_ver1'''], '''htc_gemini_ver1_sub131178''', '''HTCGemini/131178 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''htc_gemini_ver1_sub140239'''] = devclass(devices.devids['''htc_gemini_ver1'''], '''htc_gemini_ver1_sub140239''', '''HTCGemini/140239 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''ms_mobile_browser_ver1_subspvm500'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''ms_mobile_browser_ver1_subspvm500''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M500; OpVer 6.06.3.123)''', True, {'''brand_name''':'''Orange''','''model_name''':'''M500''','''wallpaper_colors''':12}) +devices.devids['''ms_mobile_browser_ver1_subspvm500_sub_6063143'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvm500'''], '''ms_mobile_browser_ver1_subspvm500_sub_6063143''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M500; OpVer 6.06.3.143)''', False, None) +devices.devids['''ms_mobile_browser_ver1_subspvm600'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''ms_mobile_browser_ver1_subspvm600''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; SPV M600; Configuration/CLDC-1.1)''', True, {'''amr''':True,'''brand_name''':'''Orange''','''colors''':65536,'''j2me_cldc_1_1''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''M600''','''mp3''':True,'''png''':True,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''video_3gpp''':True,'''video_vcodec_h263_0''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wav''':True}) +devices.devids['''ms_mobile_browser_ver1_subspvm650'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvm600'''], '''ms_mobile_browser_ver1_subspvm650''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M650; OpVer 21.125.2.731)''', True, {'''brand_name''':'''Orange''','''model_name''':'''M650'''}) +devices.devids['''o2xdaii240320PPC_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce240320ppc'''], '''o2xdaii240320PPC_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; O2 Xda II;PPC;240x320)''', True, {'''brand_name''':'''O2''','''model_name''':'''Xda II''','''wallpaper_colors''':12}) +devices.devids['''o2xdaatomlife'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce240320ppc'''], '''o2xdaatomlife''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) o2 Xda comet''', False, {'''bmp''':True,'''brand_name''':'''O2''','''colors''':65536,'''columns''':16,'''gif''':True,'''has_pointing_device''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1200,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''XdaAtomLife''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':36,'''sender''':True,'''table_support''':True,'''uaprof''':'''http://www.seeo2.com/uaprofile/uaprof-atomlife.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''o2xdaii240320PPC_ver1_submini'''] = devclass(devices.devids['''o2xdaii240320PPC_ver1'''], '''o2xdaii240320PPC_ver1_submini''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; O2 Xda 2mini; PPC; 240x320)''', False, None) +devices.devids['''o2xdaii240320PPC_ver1_subppc'''] = devclass(devices.devids['''o2xdaii240320PPC_ver1'''], '''o2xdaii240320PPC_ver1_subppc''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; O2 Xda 2s;PPC;240x320; PPC; 240x320)''', False, None) +devices.devids['''ms_mobile_browser_ver1_sub40240320_sub41240320'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''ms_mobile_browser_ver1_sub40240320_sub41240320''', '''Mozilla/4.0 (compatible; MSIE 4.1; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''ms_mobile_browser_ver1_subie60240320'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''ms_mobile_browser_ver1_subie60240320''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; 240x320)''', False, None) +devices.devids['''psion_netbook_pro_ppc_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce240320ppc'''], '''psion_netbook_pro_ppc_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE)''', True, {'''brand_name''':'''Psion''','''model_name''':'''NetBook Pro'''}) +devices.devids['''mitsu_generic'''] = devclass(devices.devids['''generic'''], '''mitsu_generic''', '''Mitsu''', False, {'''brand_name''':'''Mitsubishi''','''card_title_support''':False}) +devices.devids['''mitsu_ver1a_generic'''] = devclass(devices.devids['''mitsu_generic'''], '''mitsu_ver1a_generic''', '''Mitsu/1.1.A''', False, {'''max_deck_size''':8192}) +devices.devids['''mitsu_ver2a_generic'''] = devclass(devices.devids['''mitsu_generic'''], '''mitsu_ver2a_generic''', '''Mitsu/1.2.A''', False, {'''max_deck_size''':2500}) +devices.devids['''mitsu_ver2b_generic'''] = devclass(devices.devids['''mitsu_ver2a_generic'''], '''mitsu_ver2b_generic''', '''Mitsu/1.2.B''', False, None) +devices.devids['''mitsu_ver2c_generic'''] = devclass(devices.devids['''mitsu_ver2b_generic'''], '''mitsu_ver2c_generic''', '''Mitsu/1.2.C''', False, None) +devices.devids['''mitsu_ver3a_generic'''] = devclass(devices.devids['''mitsu_ver2c_generic'''], '''mitsu_ver3a_generic''', '''Mitsu/1.3.A''', False, None) +devices.devids['''mitsu_ver3c_generic'''] = devclass(devices.devids['''mitsu_ver3a_generic'''], '''mitsu_ver3c_generic''', '''Mitsu/1.3.C''', False, None) +devices.devids['''mitsu_ver20_generic'''] = devclass(devices.devids['''mitsu_ver3c_generic'''], '''mitsu_ver20_generic''', '''Mitsu/2.0''', False, None) +devices.devids['''mitsu_t250_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mitsu_t250_ver1''', '''T250 UP''', True, {'''brand_name''':'''Mitsubishi''','''model_name''':'''T250'''}) +devices.devids['''mitsu_t250_ver1_sub4120axxxx'''] = devclass(devices.devids['''mitsu_t250_ver1'''], '''mitsu_t250_ver1_sub4120axxxx''', '''T250 UP/4.1.20a UP.Browser/4.1.20a-XXXX''', False, None) +devices.devids['''mitsu_mondo_ver1'''] = devclass(devices.devids['''mitsu_ver1a_generic'''], '''mitsu_mondo_ver1''', '''Mitsu/1.1.A (Mondo)''', True, {'''model_name''':'''Mondo'''}) +devices.devids['''mitsu_mt350_ver1'''] = devclass(devices.devids['''mitsu_ver3a_generic'''], '''mitsu_mt350_ver1''', '''Mitsu/1.3.A (M350)''', True, {'''model_name''':'''M350'''}) +devices.devids['''mitsu_mt350_ver1_sub11'''] = devclass(devices.devids['''mitsu_mt350_ver1'''], '''mitsu_mt350_ver1_sub11''', '''Mitsu/1.3.A (M350) MMP/1.1''', False, None) +devices.devids['''mitsu_mt560_ver2'''] = devclass(devices.devids['''mitsu_ver2a_generic'''], '''mitsu_mt560_ver2''', '''Mitsu/1.2.B (MT560)''', True, {'''max_deck_size''':20480,'''model_name''':'''MT560'''}) +devices.devids['''mitsu_mt560_ver2_submmp11'''] = devclass(devices.devids['''mitsu_mt560_ver2'''], '''mitsu_mt560_ver2_submmp11''', '''Mitsu/1.2.B (MT560) MMP/1.1''', False, None) +devices.devids['''mitsu_eclipse_ver1'''] = devclass(devices.devids['''mitsu_ver1a_generic'''], '''mitsu_eclipse_ver1''', '''Mitsu/1.2 (Eclipse) MMP/1.1''', True, {'''ascii_support''':True,'''bmp''':True,'''built_in_back_button_support''':True,'''card_title_support''':True,'''colors''':256,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''downloadfun_support''':True,'''expiration_date''':True,'''gif''':True,'''jpg''':True,'''max_image_height''':107,'''max_image_width''':120,'''model_name''':'''Trium Eclipse''','''png''':True,'''resolution_height''':143,'''resolution_width''':120,'''ringtone''':True,'''ringtone_compactmidi''':True,'''ringtone_digiplug''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''softkey_support''':True,'''utf8_support''':True,'''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_df_size_limit''':30000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':120,'''wallpaper_max_width''':120,'''wallpaper_png''':True,'''wallpaper_preferred_height''':110,'''wallpaper_preferred_width''':120,'''wap_push_support''':True}) +devices.devids['''mitsu_eclipse_ver1_sub12ammp11'''] = devclass(devices.devids['''mitsu_eclipse_ver1'''], '''mitsu_eclipse_ver1_sub12ammp11''', '''Mitsu/1.2.A (Eclipse) MMP/1.1''', False, None) +devices.devids['''mitsu_eclipse_ver1_sub12bmmp11'''] = devclass(devices.devids['''mitsu_eclipse_ver1'''], '''mitsu_eclipse_ver1_sub12bmmp11''', '''Mitsu/1.2.B (Eclipse) MMP/1.1''', False, None) +devices.devids['''mitsu_eclipse_ver1_sub12a'''] = devclass(devices.devids['''mitsu_eclipse_ver1'''], '''mitsu_eclipse_ver1_sub12a''', '''Mitsu/1.2.A (Eclipse)''', False, None) +devices.devids['''mitsu_eclipse_ver1_sub12b'''] = devclass(devices.devids['''mitsu_eclipse_ver1'''], '''mitsu_eclipse_ver1_sub12b''', '''Mitsu/1.2.B (Eclipse)''', False, None) +devices.devids['''mitsu_trium110_ver1'''] = devclass(devices.devids['''generic'''], '''mitsu_trium110_ver1''', '''Mitsu Trium110''', True, {'''brand_name''':'''Mitsubishi''','''model_name''':'''Trium 110'''}) +devices.devids['''mitsu_triumodisseym6b_ver1'''] = devclass(devices.devids['''generic'''], '''mitsu_triumodisseym6b_ver1''', '''Mitsu Trium Odissey M6b''', True, {'''brand_name''':'''Mitsubishi''','''model_name''':'''Trium Odissey M6b'''}) +devices.devids['''mitsu_mt330_ver1'''] = devclass(devices.devids['''mitsu_ver2c_generic'''], '''mitsu_mt330_ver1''', '''Mitsu/1.2.C (MT330) MMP/1.1''', True, {'''bmp''':True,'''colors''':4096,'''compactmidi''':True,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':4096,'''max_image_height''':69,'''max_image_width''':128,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':92,'''mms_max_size''':51200,'''mms_max_width''':128,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''M330''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':92,'''resolution_width''':128,'''sender''':True,'''uaprof''':'''http://www.mitsubishi-telecom.com/profiles/m330.xml''','''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''mitsu_mt330_ver1_subnommp'''] = devclass(devices.devids['''mitsu_mt330_ver1'''], '''mitsu_mt330_ver1_subnommp''', '''Mitsu/1.2.C (MT330)''', False, {'''max_data_rate''':40}) +devices.devids['''mitsu_mt330_ver1_subot531'''] = devclass(devices.devids['''mitsu_mt330_ver1'''], '''mitsu_mt330_ver1_subot531''', '''Mitsu/1.2.C (OT531)''', False, {'''max_data_rate''':40}) +devices.devids['''mitsu_m750_ver1'''] = devclass(devices.devids['''mitsu_ver3a_generic'''], '''mitsu_m750_ver1''', '''Mitsu/1.3.A (M750)''', True, {'''model_name''':'''M750'''}) +devices.devids['''mitsu_m172_ver1'''] = devclass(devices.devids['''mitsu_mt330_ver1'''], '''mitsu_m172_ver1''', '''Mitsu/1.3.A (M172)''', True, {'''max_data_rate''':40,'''max_image_height''':69,'''max_image_width''':128,'''model_name''':'''M172'''}) +devices.devids['''mitsu_m172_ver1_sub11'''] = devclass(devices.devids['''mitsu_m172_ver1'''], '''mitsu_m172_ver1_sub11''', '''Mitsu/1.3.A (M172) MMP/1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mitsu_m520_ver1'''] = devclass(devices.devids['''generic'''], '''mitsu_m520_ver1''', '''Mitsu-M520''', True, {'''brand_name''':'''Mitsubishi''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''M520'''}) +devices.devids['''mitsu_m520_ver1_sub-10'''] = devclass(devices.devids['''mitsu_m520_ver1'''], '''mitsu_m520_ver1_sub-10''', '''Mitsu-M520/(2004.12.2)VER_EN_05.33/WAP1.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mitsu_m120770_ver1'''] = devclass(devices.devids['''mitsu_m520_ver1'''], '''mitsu_m120770_ver1''', '''Mitsu-M120770/(2003.12.2)VER_EN_05.23/WAP1.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''bmp''':True,'''brand_name''':'''Mitsubishi''','''colors''':4096,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''max_deck_size''':10000,'''model_name''':'''M120770''','''preferred_markup''':'''wml_1_3''','''resolution_height''':92,'''resolution_width''':128,'''wap_push_support''':True,'''wml_1_3''':True}) +devices.devids['''mitsu_m800_ver1'''] = devclass(devices.devids['''generic'''], '''mitsu_m800_ver1''', '''Mitsu-M800''', True, {'''brand_name''':'''Mitsubishi''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':'''M800'''}) +devices.devids['''mitsu_m800_ver1_sub-11'''] = devclass(devices.devids['''mitsu_m800_ver1'''], '''mitsu_m800_ver1_sub-11''', '''Mitsu-M800/(2005.01.18)VER_04.06.27/WAP1.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mitsu_m900_ver1'''] = devclass(devices.devids['''mitsu_ver20_generic'''], '''mitsu_m900_ver1''', '''Mitsu/2.0 (M900) Profile/MIDP-2.0 Configuration/CLDC-1.0''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''model_name''':'''M900'''}) +devices.devids['''sony_generic'''] = devclass(devices.devids['''generic'''], '''sony_generic''', '''Sony''', False, {'''brand_name''':'''Sony'''}) +devices.devids['''nokia_toolkit_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_toolkit_ver1''', '''Nokia-WAP-Toolkit/1''', False, None) +devices.devids['''nokia_toolkit_ver1_sub12'''] = devclass(devices.devids['''nokia_toolkit_ver1'''], '''nokia_toolkit_ver1_sub12''', '''Nokia-WAP-Toolkit/1.2''', False, None) +devices.devids['''nokia_toolkit_ver1_sub13beta'''] = devclass(devices.devids['''nokia_toolkit_ver1'''], '''nokia_toolkit_ver1_sub13beta''', '''Nokia-WAP-Toolkit/1.3beta''', False, None) +devices.devids['''nokia_toolkit_ver2'''] = devclass(devices.devids['''nokia_toolkit_ver1'''], '''nokia_toolkit_ver2''', '''Nokia-WAP-Toolkit/2''', False, None) +devices.devids['''nokia_toolkit_ver2_sub20'''] = devclass(devices.devids['''nokia_toolkit_ver2'''], '''nokia_toolkit_ver2_sub20''', '''Nokia-WAP-Toolkit/2.0''', False, None) +devices.devids['''nokia_toolkit_ver2_sub21'''] = devclass(devices.devids['''nokia_toolkit_ver2'''], '''nokia_toolkit_ver2_sub21''', '''Nokia-WAP-Toolkit/2.1''', False, None) +devices.devids['''nokia_toolkit_ver3'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_toolkit_ver3''', '''Nokia-MIT-Browser/3.0''', False, None) +devices.devids['''nokia_toolkit_ver3_subrpthttpclient'''] = devclass(devices.devids['''nokia_toolkit_ver3'''], '''nokia_toolkit_ver3_subrpthttpclient''', '''Nokia-MIT-Browser/3.0 RPT-HTTPClient/0.3-3E''', False, None) +devices.devids['''nokia_mobile_browser_ver3_sub301'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_mobile_browser_ver3_sub301''', '''Nokia Mobile Browser 3.01''', False, None) +devices.devids['''nokia_mobile_browser_ver3_sub301_'''] = devclass(devices.devids['''nokia_mobile_browser_ver3_sub301'''], '''nokia_mobile_browser_ver3_sub301_''', '''Nokia Browser 3.0.1''', False, None) +devices.devids['''nokia_browser_ver3_sub301'''] = devclass(devices.devids['''nokia_mobile_browser_ver3_sub301'''], '''nokia_browser_ver3_sub301''', '''Nokia Browser 3.01''', False, None) +devices.devids['''nokia_mobile_browser_ver3_subrainbow31a'''] = devclass(devices.devids['''nokia_mobile_browser_ver3_sub301'''], '''nokia_mobile_browser_ver3_subrainbow31a''', '''Nokia Mobile Browser 3.01, Rainbow/3.1a''', False, None) +devices.devids['''nokiabrowser_ver1_sub301'''] = devclass(devices.devids['''nokia_generic'''], '''nokiabrowser_ver1_sub301''', '''NokiaBrowser 3.01''', False, None) +devices.devids['''nokia_mobile_browser_ver4'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_mobile_browser_ver4''', '''Nokia Mobile Browser 4.0''', False, {'''gif''':True,'''gif_animated''':True,'''html_wi_w3_xhtmlbasic''':True,'''xhtml_table_support''':True}) +devices.devids['''nokiainternal_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokiainternal_ver1''', '''NokiaInternal''', False, None) +devices.devids['''nokiainternal_ver1_sub0162'''] = devclass(devices.devids['''nokiainternal_ver1'''], '''nokiainternal_ver1_sub0162''', '''NokiaInternal/1.0 (01.62)''', False, None) +devices.devids['''nokiainternal_ver1_sub250'''] = devclass(devices.devids['''nokiainternal_ver1'''], '''nokiainternal_ver1_sub250''', '''NokiaInternal/1.0 (2.50)''', False, None) +devices.devids['''nokiainternal_ver2'''] = devclass(devices.devids['''nokiainternal_ver1'''], '''nokiainternal_ver2''', '''NokiaInternal/2.0''', False, None) +devices.devids['''nokiainternal_ver2_sub10'''] = devclass(devices.devids['''nokiainternal_ver2'''], '''nokiainternal_ver2_sub10''', '''NokiaInternal/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_100_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_100_ver1''', '''Nokia100''', False, None) +devices.devids['''nokia_100_ver1_sub204230_rc02'''] = devclass(devices.devids['''nokia_100_ver1'''], '''nokia_100_ver1_sub204230_rc02''', '''Nokia100/2.0 (2.0423.0_rc02) SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_1101_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_1101_ver1''', '''Nokia1101''', True, {'''can_skip_aligned_link_row''':True,'''device_os''':'''Symbian OS''','''max_image_height''':65,'''max_image_width''':96,'''model_name''':1101,'''resolution_height''':65,'''resolution_width''':96,'''rows''':4,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N1101r100.xml''','''wallpaper_gif''':True,'''wap_push_support''':True}) +devices.devids['''nokia_1101_ver1_sub305'''] = devclass(devices.devids['''nokia_1101_ver1'''], '''nokia_1101_ver1_sub305''', '''Nokia1101/1.0 (3.05)''', False, {'''max_data_rate''':9}) +devices.devids['''nokia_1112_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_1112_ver1''', '''Nokia1112''', True, {'''max_image_height''':68,'''max_image_width''':96,'''model_name''':1112,'''mp3''':True,'''resolution_height''':68,'''resolution_width''':96,'''softkey_support''':True}) +devices.devids['''nokia_1112_ver1_sub305'''] = devclass(devices.devids['''nokia_1112_ver1'''], '''nokia_1112_ver1_sub305''', '''Nokia1112/1.0 (3.05)''', False, None) +devices.devids['''nokia_1600_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_1600_ver1''', '''Nokia1600''', True, {'''amr''':True,'''colors''':65536,'''gif''':True,'''jpg''':True,'''max_image_height''':48,'''max_image_width''':96,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':1600,'''mp3''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':68,'''resolution_width''':96,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':20,'''voices''':20,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''nokia_2300_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_2300_ver1''', '''Nokia2300''', True, {'''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':2300,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''nokia_2600_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_2600_ver1''', '''Nokia2600''', True, {'''model_name''':2600,'''ringtone_voices''':16}) +devices.devids['''nokia_2610_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_2610_ver1''', '''Nokia2610''', True, {'''awb''':True,'''colors''':65536,'''j2me_cldc_1_1''':True,'''max_image_height''':128,'''model_name''':2610,'''mp3''':True,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N2610r100.xml''','''wallpaper_bmp''':True}) +devices.devids['''nokia_2610_ver1_sub0375'''] = devclass(devices.devids['''nokia_2610_ver1'''], '''nokia_2610_ver1_sub0375''', '''Nokia2610/2.0 (03.75) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_2626_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_2626_ver1''', '''Nokia2626''', True, {'''awb''':True,'''bmp''':True,'''colors''':65536,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''j2me_cldc_1_1''':True,'''max_image_height''':108,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_mp3''':True,'''mms_vcalendar''':True,'''model_name''':2626,'''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':5,'''sp_midi''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N2626r100.xml''','''wallpaper_colors''':16}) +devices.devids['''nokia_2626_ver1_sub351'''] = devclass(devices.devids['''nokia_2626_ver1'''], '''nokia_2626_ver1_sub351''', '''Nokia2626/2.0 (03.51) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_2650_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_2650_ver1''', '''Nokia2650''', True, {'''amr''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':105000,'''max_image_width''':118,'''mms_amr''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_vcard''':True,'''model_name''':2650,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_amr''':True,'''ringtone_voices''':16,'''uaprof''':'''http://nds.nokia.com/uaprof/N2650r100.xml''','''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_2650_ver1_sub517'''] = devclass(devices.devids['''nokia_2650_ver1'''], '''nokia_2650_ver1_sub517''', '''Nokia2650/1.0 (5.17) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_2651_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_2651_ver1''', '''Nokia2651''', True, {'''model_name''':2651}) +devices.devids['''nokia_2652_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_2652_ver1''', '''Nokia2652''', True, {'''amr''':True,'''colors''':65536,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''max_data_rate''':40,'''model_name''':2652,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''wml_1_2''','''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N2650r100.xml''','''uaprof2''':'''http://nds1.nds.nokia.com/uaprof/N2650r200.xml''','''uaprof3''':'''http://nds1.nds.nokia.com/uaprof/N2650r300.xml''','''wallpaper_colors''':16}) +devices.devids['''nokia_2652_ver1_sub619'''] = devclass(devices.devids['''nokia_2652_ver1'''], '''nokia_2652_ver1_sub619''', '''Nokia2652/1.0 (6.19) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_2875_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_2875_ver1''', '''Nokia2875''', True, {'''max_image_height''':160,'''model_name''':2875,'''resolution_height''':160}) +devices.devids['''nokia_2875i_ver1'''] = devclass(devices.devids['''nokia_2875_ver1'''], '''nokia_2875i_ver1''', '''Nokia2875i''', True, {'''model_name''':'''2875i'''}) +devices.devids['''nokia_3100_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_3100_ver1''', '''Nokia3100''', True, {'''amr''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_1''','''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':215040,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':65535,'''max_image_height''':140,'''max_image_width''':124,'''mms_amr''':True,'''mms_max_size''':51200,'''model_name''':3100,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_voices''':16,'''sckl_ringtone''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N3100r100.xml''','''uaprof2''':'''http://nds.nokia.com/uaprof/N3110cr100.xml''','''voices''':16,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_file_upload''':False,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_3100_ver1_sub0270'''] = devclass(devices.devids['''nokia_3100_ver1'''], '''nokia_3100_ver1_sub0270''', '''Nokia3100/1.0 (02.70) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3100b_ver1'''] = devclass(devices.devids['''nokia_3100_ver1'''], '''nokia_3100b_ver1''', '''Nokia3100b''', True, {'''awb''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_1''','''max_deck_size''':5600,'''model_name''':'''3100 US''','''ringtone_amr''':True,'''ringtone_awb''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N3100br100.xml'''}) +devices.devids['''nokia_3100b_ver1_sub0303'''] = devclass(devices.devids['''nokia_3100b_ver1'''], '''nokia_3100b_ver1_sub0303''', '''Nokia3100b/1.0 (03.03) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3108_ver1'''] = devclass(devices.devids['''nokia_3100_ver1'''], '''nokia_3108_ver1''', '''Nokia3108''', True, {'''j2me_heap_size''':552960,'''model_name''':3108}) +devices.devids['''nokia_3108_ver1_sub0250'''] = devclass(devices.devids['''nokia_3108_ver1'''], '''nokia_3108_ver1_sub0250''', '''Nokia3108/1.0 (02.50) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3110_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_3110_ver1''', '''Nokia3110''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':262144,'''columns''':18,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':32000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':309760,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':3110,'''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_xmf''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N3110cr100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':160,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''nokia_3110_ver1_sub316'''] = devclass(devices.devids['''nokia_3110_ver1'''], '''nokia_3110_ver1_sub316''', '''Nokia3110/2.0 (04.90) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_3110c_ver1'''] = devclass(devices.devids['''nokia_3110_ver1'''], '''nokia_3110c_ver1''', '''Nokia3110c''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''3110c''','''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N3110cr100.xml'''}) +devices.devids['''nokia_3110c_ver1_sub0491'''] = devclass(devices.devids['''nokia_3110c_ver1'''], '''nokia_3110c_ver1_sub0491''', '''Nokia3110c/2.0 (04.91) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_3120_ver1'''] = devclass(devices.devids['''nokia_3100_ver1'''], '''nokia_3120_ver1''', '''Nokia3120''', True, {'''bmp''':True,'''colors''':4096,'''columns''':18,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':5600,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':50000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_nokia_ringingtone''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':3120,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N3120r100.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''nokia_3120_ver1_sub05300'''] = devclass(devices.devids['''nokia_3120_ver1'''], '''nokia_3120_ver1_sub05300''', '''Nokia3120/1.0 (05.30) Profile/MIDP-1.0 Configuration/CLDC-1.00''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3120b_ver1'''] = devclass(devices.devids['''nokia_3120_ver1'''], '''nokia_3120b_ver1''', '''Nokia3120b/1.0 (05.01) Profile/MIDP-1.0 Configuration/CLDC-1.00''', False, {'''model_name''':'''3120b''','''uaprof''':'''http://nds.nokia.com/uaprof/N3120br100.xml'''}) +devices.devids['''nokia_3125_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_3125_ver1''', '''Nokia3125''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''mms_3gpp''':True,'''mms_mp4''':True,'''mms_video''':True,'''model_name''':3125,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_directdownload_size_limit''':102400,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_wmv''':False,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_3128_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_3128_ver1''', '''Nokia3128''', True, {'''colors''':65536,'''columns''':15,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''max_image_height''':128,'''model_name''':3128,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''ringtone_voices''':40,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N3128r100.xml''','''voices''':40,'''wallpaper_colors''':16,'''xhtml_support_level''':1}) +devices.devids['''nokia_3128_ver1_sub0470'''] = devclass(devices.devids['''nokia_3128_ver1'''], '''nokia_3128_ver1_sub0470''', '''Nokia3128/1.0 (04.70) Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.5 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3152_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_3152_ver1''', '''Nokia3152''', True, {'''aac''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''max_image_height''':128,'''model_name''':3152,'''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''qcelp''':True,'''resolution_height''':160,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''voices''':40,'''xhtml_support_level''':1}) +devices.devids['''nokia_3152_ver1_sub0524'''] = devclass(devices.devids['''nokia_3152_ver1'''], '''nokia_3152_ver1_sub0524''', '''Nokia3152/2.0 (05.24) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_3200_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_3200_ver1''', '''Nokia3200''', True, {'''amr''':True,'''awb''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':215040,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':105000,'''max_image_width''':124,'''mms_amr''':True,'''mms_max_size''':105000,'''mms_vcard''':True,'''model_name''':3200,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_awb''':True,'''ringtone_voices''':16,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N3200r100.xml''','''uaprof2''':'''http://nds1.nds.nokia.com/uaprof/N3200r200.xml''','''voices''':16,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_3200_ver1_sub000'''] = devclass(devices.devids['''nokia_3200_ver1'''], '''nokia_3200_ver1_sub000''', '''Nokia3200/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3200_ver1_sub00'''] = devclass(devices.devids['''nokia_3200_ver1'''], '''nokia_3200_ver1_sub00''', '''Nokia3200/1.0 () Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3205_ver1'''] = devclass(devices.devids['''nokia_3200_ver1'''], '''nokia_3205_ver1''', '''Nokia3205''', True, {'''columns''':18,'''model_name''':3205,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N3205tlsr100.xml'''}) +devices.devids['''nokia_3220_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_3220_ver1''', '''Nokia3220''', True, {'''colors''':65536,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''j2me_cldc_1_1''':True,'''max_data_rate''':200,'''max_image_width''':114,'''mms_3gpp''':True,'''mms_max_height''':480,'''mms_max_width''':640,'''mms_mp4''':True,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':3220,'''oma_support''':True,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N3220r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_directdownload_size_limit''':102400,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_wmv''':False,'''wallpaper_colors''':16}) +devices.devids['''nokia_3220_ver1_sub0329'''] = devclass(devices.devids['''nokia_3220_ver1'''], '''nokia_3220_ver1_sub0329''', '''Nokia3220/2.0 (03.29) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_3230_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp20'''], '''nokia_3230_ver1''', '''Nokia3230''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''epoc_bmp''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_aac''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_1''':True,'''j2me_h263''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_realvideo''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''j2me_storage_size''':6291456,'''j2me_wav''':True,'''jpg''':True,'''max_data_rate''':40,'''max_image_height''':188,'''max_image_width''':166,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_symbian_install''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':3230,'''mp3''':True,'''nokia_ringtone''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''picture''':True,'''picture_max_height''':193,'''picture_preferred_height''':193,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':208,'''resolution_width''':176,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rmf''':True,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''tiff''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N3230r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''xhtml_support_level''':2,'''xhtml_supports_file_upload''':False}) +devices.devids['''nokia_3230_ver1_sub104500'''] = devclass(devices.devids['''nokia_3230_ver1'''], '''nokia_3230_ver1_sub104500''', '''Nokia3230/2.0 (1.0450.0) SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3250_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_3250_ver1''', '''Nokia3250''', True, {'''aac''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''j2me_3dapi''':True,'''j2me_btapi''':True,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_loctapi''':True,'''max_data_rate''':200,'''max_image_width''':165,'''model_name''':3250,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_aac''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N3250r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':'''10 1b''','''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18}) +devices.devids['''nokia_3250_ver1_sub316'''] = devclass(devices.devids['''nokia_3250_ver1'''], '''nokia_3250_ver1_sub316''', '''Nokia3250/2.0 (3.16) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_3300_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_3300_ver1''', '''Nokia3300''', True, {'''columns''':18,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_aac''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':378880,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':65535,'''mms_max_size''':46080,'''model_name''':3300,'''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''sckl_ringtone''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N3300r200.xml''','''video_3gpp''':True,'''video_qcif''':True,'''video_sqcif''':True,'''voices''':24,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_file_upload''':False,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_3300_ver1_sub300'''] = devclass(devices.devids['''nokia_3300_ver1'''], '''nokia_3300_ver1_sub300''', '''Nokia3300/1.0 (3.00) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3300_ver1_sub307'''] = devclass(devices.devids['''nokia_3300_ver1'''], '''nokia_3300_ver1_sub307''', '''Nokia3300/2.0 (3.07) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3300_ver2'''] = devclass(devices.devids['''nokia_3300_ver1'''], '''nokia_3300_ver2''', '''Nokia3300/2.0''', True, {'''awb''':True,'''jpg''':False,'''max_data_rate''':40,'''model_name''':'''3300 US''','''png''':False,'''ringtone_awb''':True}) +devices.devids['''nokia_3300_ver2_sub260'''] = devclass(devices.devids['''nokia_3300_ver2'''], '''nokia_3300_ver2_sub260''', '''Nokia3300/2.0 (2.60) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3300_ver2_sub420'''] = devclass(devices.devids['''nokia_3300_ver2'''], '''nokia_3300_ver2_sub420''', '''Nokia3300/2.0 (4.20) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3320_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_3320_ver1''', '''Nokia3320''', True, {'''max_image_height''':36,'''model_name''':3320,'''preferred_markup''':'''wml_1_3''','''sckl_groupgraphic''':True,'''sckl_ringtone''':True,'''wallpaper_gif''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''nokia_3320_ver1_sub206'''] = devclass(devices.devids['''nokia_3320_ver1'''], '''nokia_3320_ver1_sub206''', '''Nokia3320/1.2.1 (2.06)''', False, None) +devices.devids['''nokia_3320_ver1_sub0304'''] = devclass(devices.devids['''nokia_3320_ver1'''], '''nokia_3320_ver1_sub0304''', '''Nokia3320/1.2.1 (03.04)''', False, None) +devices.devids['''nokia_3320_ver1_subnpc1'''] = devclass(devices.devids['''nokia_3320_ver1'''], '''nokia_3320_ver1_subnpc1''', '''NOKIA-NPC-1''', False, {'''model_name''':'''3320 (South America)'''}) +devices.devids['''nokia_3330_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_3330_ver1''', '''Nokia3330''', True, {'''max_deck_size''':2800,'''max_image_height''':36,'''model_name''':3330,'''wallpaper_gif''':True}) +devices.devids['''nokia_3330_ver1_sub'''] = devclass(devices.devids['''nokia_3330_ver1'''], '''nokia_3330_ver1_sub''', '''Nokia3330/1.0''', False, None) +devices.devids['''nokia_3330_ver1_sub230'''] = devclass(devices.devids['''nokia_3330_ver1'''], '''nokia_3330_ver1_sub230''', '''Nokia3330/1.0 (02.30)''', False, None) +devices.devids['''nokia_3330e_ver1'''] = devclass(devices.devids['''nokia_3330_ver1'''], '''nokia_3330e_ver1''', '''Nokia3330e''', True, {'''max_image_height''':36,'''model_name''':'''3330e'''}) +devices.devids['''nokia_3350_ver1'''] = devclass(devices.devids['''nokia_generic_series30'''], '''nokia_3350_ver1''', '''Nokia3350''', True, {'''max_image_height''':51,'''model_name''':3350}) +devices.devids['''nokia_3350_ver1_sub0501'''] = devclass(devices.devids['''nokia_3350_ver1'''], '''nokia_3350_ver1_sub0501''', '''Nokia3350/1.0 (05.01)''', False, None) +devices.devids['''nokia_3360_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_3360_ver1''', '''Nokia3360''', True, {'''max_image_height''':36,'''model_name''':3360,'''preferred_markup''':'''wml_1_3''','''sckl_groupgraphic''':True,'''sckl_ringtone''':True,'''wallpaper_gif''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''nokia_3360_ver1_sub0'''] = devclass(devices.devids['''nokia_3360_ver1'''], '''nokia_3360_ver1_sub0''', '''Nokia3360/1.2.1 ()''', False, None) +devices.devids['''nokia_3360_ver1_sub104'''] = devclass(devices.devids['''nokia_3360_ver1'''], '''nokia_3360_ver1_sub104''', '''Nokia3360/1.2.1 (1.04)''', False, None) +devices.devids['''nokia_3395_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_3395_ver1''', '''Nokia3395''', True, {'''model_name''':3395}) +devices.devids['''nokia_3395_ver1_sub300'''] = devclass(devices.devids['''nokia_3395_ver1'''], '''nokia_3395_ver1_sub300''', '''Nokia3395/1.0 (03.00)''', False, None) +devices.devids['''nokia_3410_ver1'''] = devclass(devices.devids['''nokia_generic_series30'''], '''nokia_3410_ver1''', '''Nokia3410''', True, {'''iso8859_support''':True,'''j2me_bits_per_pixel''':1,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':167936,'''j2me_max_jar_size''':51200,'''j2me_midp_1_0''':True,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''j2me_storage_size''':153600,'''j2me_wmapi_1_0''':True,'''max_deck_size''':100000,'''model_name''':3410,'''wallpaper_preferred_height''':65}) +devices.devids['''nokia_3410_ver1_sub'''] = devclass(devices.devids['''nokia_3410_ver1'''], '''nokia_3410_ver1_sub''', '''Nokia3410/1.0''', False, None) +devices.devids['''nokia_3410_ver1_sub03'''] = devclass(devices.devids['''nokia_3410_ver1'''], '''nokia_3410_ver1_sub03''', '''Nokia3410/1.0 (03.)''', False, None) +devices.devids['''nokia_3410_ver1_sub0306'''] = devclass(devices.devids['''nokia_3410_ver1'''], '''nokia_3410_ver1_sub0306''', '''Nokia3410/1.0 (03.06)''', False, None) +devices.devids['''nokia_3410_ver1_subgui'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nokia_3410_ver1_subgui''', '''Nokia3410/4.0 UP.Browser/6.2.0.1.185 (GUI) MMP/2.0''', True, {'''brand_name''':'''Nokia''','''j2me_bits_per_pixel''':1,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':167936,'''j2me_max_jar_size''':51200,'''j2me_midp_1_0''':True,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''j2me_storage_size''':153600,'''j2me_wmapi_1_0''':True,'''max_image_height''':45,'''max_image_width''':96,'''model_name''':'''3410 CDMA''','''resolution_height''':65,'''resolution_width''':96,'''rows''':4}) +devices.devids['''nokia_3500_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_3500_ver1''', '''Nokia3500''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':262144,'''columns''':18,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':32000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':309760,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''3500c''','''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_xmf''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N3500cr100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''nokia_3500_ver1_sub1'''] = devclass(devices.devids['''nokia_3500_ver1'''], '''nokia_3500_ver1_sub1''', '''Nokia3500/2.0 (05.50) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_3510_ver1'''] = devclass(devices.devids['''nokia_generic_series30'''], '''nokia_3510_ver1''', '''Nokia3510''', True, {'''bmp''':True,'''max_deck_size''':32200,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':288,'''mms_max_size''':30000,'''mms_max_width''':352,'''mms_midi_monophonic''':True,'''mms_nokia_operatorlogo''':True,'''mms_nokia_ringingtone''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':3510,'''multipart_support''':True,'''receiver''':True,'''ringtone_voices''':16,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N3510r100.xml'''}) +devices.devids['''nokia_3510_ver1_sub291'''] = devclass(devices.devids['''nokia_3510_ver1'''], '''nokia_3510_ver1_sub291''', '''Nokia3510/1.0 (2.91)''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3510i_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_3510i_ver1''', '''Nokia3510i''', True, {'''iso8859_support''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''jpg''':False,'''max_data_rate''':40,'''max_deck_size''':65535,'''max_image_height''':45,'''max_image_width''':96,'''mms_max_size''':46080,'''model_name''':'''3510i''','''picture_preferred_height''':65,'''picture_preferred_width''':96,'''png''':False,'''resolution_height''':65,'''resolution_width''':96,'''ringtone_voices''':16,'''rows''':4,'''screensaver_preferred_height''':65,'''screensaver_preferred_width''':96,'''uaprof''':'''http://nds.nokia.com/uaprof/N3510ir100.xml''','''wallpaper_colors''':8,'''wallpaper_jpg''':True,'''wallpaper_max_height''':65,'''wallpaper_max_width''':95,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''xhtml_supports_file_upload''':False}) +devices.devids['''nokia_3510i_ver1_sub'''] = devclass(devices.devids['''nokia_3510i_ver1'''], '''nokia_3510i_ver1_sub''', '''Nokia3510i/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3510i_ver1_sub200'''] = devclass(devices.devids['''nokia_3510i_ver1'''], '''nokia_3510i_ver1_sub200''', '''Nokia3510i/1.0 (02.00) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''jpg''':True,'''max_data_rate''':40,'''png''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':65,'''wallpaper_max_width''':95}) +devices.devids['''nokia_3510i_ver1_sub0500'''] = devclass(devices.devids['''nokia_3510i_ver1_sub'''], '''nokia_3510i_ver1_sub0500''', '''Nokia3510i/1.0 (05.00) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40,'''wallpaper_jpg''':True,'''wallpaper_max_height''':65,'''wallpaper_max_width''':95}) +devices.devids['''nokia_3510i_ver1_sub19401'''] = devclass(devices.devids['''nokia_3510i_ver1'''], '''nokia_3510i_ver1_sub19401''', '''Nokia3510i/1.9 (04.01) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3560_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_3560_ver1''', '''Nokia3560''', True, {'''bmp''':True,'''colors''':4096,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''directdownload_support''':True,'''gif''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':204800,'''j2me_max_jar_size''':65536,'''j2me_midp_1_0''':True,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''j2me_storage_size''':614400,'''jpg''':True,'''max_deck_size''':5600,'''max_image_height''':45,'''max_image_width''':96,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':3560,'''nokia_ringtone''':True,'''png''':True,'''resolution_height''':65,'''resolution_width''':96,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':4,'''rows''':4,'''sckl_groupgraphic''':True,'''sckl_ringtone''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N3520_N3560r100.xml''','''voices''':4,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_3''':True}) +devices.devids['''nokia_3560_ver1_sub0102'''] = devclass(devices.devids['''nokia_3560_ver1'''], '''nokia_3560_ver1_sub0102''', '''Nokia3560/1.0 (01.02) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':9}) +devices.devids['''nokia_3520_ver1'''] = devclass(devices.devids['''nokia_3560_ver1'''], '''nokia_3520_ver1''', '''Nokia3520''', True, {'''model_name''':3520}) +devices.devids['''nokia_3585_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_3585_ver1''', '''Nokia3585''', True, {'''model_name''':3585}) +devices.devids['''nokia_3585i_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_3585i_ver1''', '''Nokia3585i''', True, {'''colors''':4,'''j2me_cldc_1_0''':True,'''max_image_width''':96,'''model_name''':'''3585i''','''resolution_height''':65,'''resolution_width''':96}) +devices.devids['''nokia_3587i_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_3587i_ver1''', '''Nokia3587i''', True, {'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''max_image_height''':48,'''max_image_width''':96,'''model_name''':'''3587i''','''picture_preferred_height''':45,'''picture_preferred_width''':96,'''resolution_height''':65,'''resolution_width''':96,'''ringtone_voices''':16,'''screensaver_preferred_height''':65,'''screensaver_preferred_width''':96,'''voices''':16,'''wallpaper_preferred_height''':45,'''wallpaper_preferred_width''':96}) +devices.devids['''nokia_3587_ver1'''] = devclass(devices.devids['''nokia_3587i_ver1'''], '''nokia_3587_ver1''', '''Nokia3587''', True, {'''max_image_height''':48,'''model_name''':3587}) +devices.devids['''nokia_3587_ver1_sub'''] = devclass(devices.devids['''nokia_3587_ver1'''], '''nokia_3587_ver1_sub''', '''Nokia/3587''', False, None) +devices.devids['''nokia_3590_ver1'''] = devclass(devices.devids['''nokia_3510_ver1'''], '''nokia_3590_ver1''', '''Nokia3590''', True, {'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_bits_per_pixel''':1,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':143360,'''j2me_max_jar_size''':30720,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''j2me_storage_size''':235520,'''max_deck_size''':2800,'''model_name''':3590,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''uaprof''':'''http://nds.nokia.com/uaprof/N3590r100.xml''','''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_support_level''':0,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_3590_ver1_sub10'''] = devclass(devices.devids['''nokia_3590_ver1'''], '''nokia_3590_ver1_sub10''', '''Nokia3590/1.0()''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3590_ver1_sub6'''] = devclass(devices.devids['''nokia_3590_ver1'''], '''nokia_3590_ver1_sub6''', '''Nokia3590/1.0(6)''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3590_ver1_sub603'''] = devclass(devices.devids['''nokia_3590_ver1'''], '''nokia_3590_ver1_sub603''', '''Nokia3590/1.0(6.03)''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3595_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_3595_ver1''', '''Nokia3595''', True, {'''columns''':15,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''j2me_wmapi_1_0''':True,'''max_deck_size''':2800,'''max_image_width''':96,'''mms_max_size''':46080,'''model_name''':3595,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':65,'''resolution_width''':96,'''ringtone_voices''':16,'''uaprof''':'''http://nds.nokia.com/uaprof/N3595r100.xml''','''wallpaper_preferred_height''':65,'''wallpaper_preferred_width''':96,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_3595_ver1_sub10'''] = devclass(devices.devids['''nokia_3595_ver1'''], '''nokia_3595_ver1_sub10''', '''Nokia3595/1.0 () Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3595_ver1_sub700'''] = devclass(devices.devids['''nokia_3595_ver1'''], '''nokia_3595_ver1_sub700''', '''Nokia3595/1.0 (7.00) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3595i_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_3595i_ver1''', '''Nokia3595i''', True, {'''model_name''':'''3595i'''}) +devices.devids['''nokia_3600_ver1'''] = devclass(devices.devids['''nokia_generic_series60'''], '''nokia_3600_ver1''', '''Nokia3600''', True, {'''j2me_bits_per_pixel''':12,'''j2me_max_jar_size''':4194304,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''model_name''':3600,'''oma_v_1_0_forwardlock''':True,'''streaming_3gpp''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_h263_0''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False}) +devices.devids['''nokia_3600_ver1_sub0'''] = devclass(devices.devids['''nokia_3600_ver1'''], '''nokia_3600_ver1_sub0''', '''Nokia3600/1.0 (0) SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_3600_ver1_sub1'''] = devclass(devices.devids['''nokia_3600_ver1'''], '''nokia_3600_ver1_sub1''', '''Nokia3600/1.0 SymbianOS/6.1 Series60/0.9 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_3610_ver1'''] = devclass(devices.devids['''nokia_generic_series30'''], '''nokia_3610_ver1''', '''Nokia3610''', True, {'''colors''':4,'''model_name''':3610}) +devices.devids['''nokia_3610_ver1_sub0508'''] = devclass(devices.devids['''nokia_3610_ver1'''], '''nokia_3610_ver1_sub0508''', '''Nokia3610/1.0 (05.08)''', False, None) +devices.devids['''nokia_3620_ver1'''] = devclass(devices.devids['''nokia_generic_series60'''], '''nokia_3620_ver1''', '''Nokia3620''', True, {'''colors''':65536,'''j2me_bits_per_pixel''':16,'''j2me_max_jar_size''':4194304,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''model_name''':3620,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_colors''':16}) +devices.devids['''nokia_3620_ver1_sub300'''] = devclass(devices.devids['''nokia_3620_ver1'''], '''nokia_3620_ver1_sub300''', '''Nokia3620/1.0 (3.00) SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_3630_ver1'''] = devclass(devices.devids['''nokia_generic_series60'''], '''nokia_3630_ver1''', '''Nokia3630''', True, {'''model_name''':3630,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_3650_ver1'''] = devclass(devices.devids['''nokia_generic_series60'''], '''nokia_3650_ver1''', '''Nokia3650''', True, {'''columns''':15,'''j2me_bits_per_pixel''':12,'''j2me_max_jar_size''':4194304,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''max_data_rate''':40,'''max_image_width''':172,'''model_name''':3650,'''oma_v_1_0_forwardlock''':True,'''rows''':6,'''streaming_video_max_audio_bit_rate''':6000,'''streaming_video_max_bit_rate''':26000,'''streaming_video_max_frame_rate''':25,'''streaming_video_max_video_bit_rate''':20000,'''uaprof''':'''http://nds.nokia.com/uaprof/N3650r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':358400,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False}) +devices.devids['''nokia_3650_ver1_sub00'''] = devclass(devices.devids['''nokia_3650_ver1'''], '''nokia_3650_ver1_sub00''', '''Nokia3650/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3650_ver1_sub09nocldc'''] = devclass(devices.devids['''nokia_3650_ver1'''], '''nokia_3650_ver1_sub09nocldc''', '''Nokia3650/1.0 SymbianOS/6.1 Series60/0.9 Profile/MIDP-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3650_ver1_subsemicolon'''] = devclass(devices.devids['''nokia_3650_ver1'''], '''nokia_3650_ver1_subsemicolon''', '''Nokia3650/1.0 (;; ;; ;; ;)''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3650_ver1_sub450'''] = devclass(devices.devids['''nokia_3650_ver1'''], '''nokia_3650_ver1_sub450''', '''Nokia3650/4.50 SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3650_ver1_sub413'''] = devclass(devices.devids['''nokia_3650_ver1'''], '''nokia_3650_ver1_sub413''', '''Nokia3650/1.0 (4.13) SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3650_ver1_sub004400231620145'''] = devclass(devices.devids['''nokia_3650_ver1'''], '''nokia_3650_ver1_sub004400231620145''', '''Nokia3650/1.0 SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0 004400231620145''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3650_ver1_subv11'''] = devclass(devices.devids['''nokia_3650_ver1'''], '''nokia_3650_ver1_subv11''', '''Nokia3650/1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3650_ver1_subcldp'''] = devclass(devices.devids['''nokia_3650_ver1'''], '''nokia_3650_ver1_subcldp''', '''Nokia3650/1.0 SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDP-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3650_ver1_subwapag'''] = devclass(devices.devids['''nokia_3650_ver1'''], '''nokia_3650_ver1_subwapag''', '''Nokia3650/1.0 RealAgent/Wapag-Simulator SymbianOS/6.1 Series60/1.2 Profile''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3650_up_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nokia_3650_up_ver1''', '''Nokia3650/1.0 UP.Browser/6.2''', False, {'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':65536,'''columns''':15,'''epoc_bmp''':True,'''max_image_height''':144,'''max_image_width''':176,'''model_name''':'''3650 UP.Browser''','''resolution_height''':144,'''resolution_width''':176,'''rows''':6,'''tiff''':True}) +devices.devids['''nokia_3650_up_ver1_sub6221208'''] = devclass(devices.devids['''nokia_3650_up_ver1'''], '''nokia_3650_up_ver1_sub6221208''', '''Nokia3650/1.0 UP.Browser/6.2.2.1.208 (GUI) MMP/1.0''', False, None) +devices.devids['''nokia_3660_ver1'''] = devclass(devices.devids['''nokia_generic_series60'''], '''nokia_3660_ver1''', '''Nokia3660''', True, {'''colors''':65536,'''columns''':15,'''j2me_bits_per_pixel''':16,'''j2me_max_jar_size''':4194304,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''max_data_rate''':40,'''mms_max_size''':107250,'''model_name''':3660,'''oma_v_1_0_forwardlock''':True,'''rows''':6,'''streaming_video_max_audio_bit_rate''':6000,'''streaming_video_max_bit_rate''':26000,'''streaming_video_max_frame_rate''':25,'''streaming_video_max_video_bit_rate''':20000,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_colors''':16}) +devices.devids['''nokia_3660_ver1_sub454'''] = devclass(devices.devids['''nokia_3660_ver1'''], '''nokia_3660_ver1_sub454''', '''Nokia3660/1.0 (4.54) SymbianOS/6.1 Series60/0.9 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_5070_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_5070_ver1''', '''Nokia5070''', True, {'''awb''':True,'''bmp''':True,'''colors''':65536,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':32000,'''max_image_height''':140,'''max_image_width''':128,'''mms_3gpp''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':5070,'''mp3''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N5070r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':160,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''nokia_5070_ver1_sub0421'''] = devclass(devices.devids['''nokia_5070_ver1'''], '''nokia_5070_ver1_sub0421''', '''Nokia5070/2.0 (04.21) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_5100_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_5100_ver1''', '''Nokia5100''', True, {'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_screen_height''':160,'''jpg''':False,'''max_data_rate''':40,'''max_deck_size''':65535,'''mms_max_size''':46080,'''model_name''':5100,'''png''':False,'''ringtone_amr''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N5100r100.xml''','''xhtml_supports_file_upload''':False}) +devices.devids['''nokia_5100_ver1_sub'''] = devclass(devices.devids['''nokia_5100_ver1'''], '''nokia_5100_ver1_sub''', '''Nokia5100/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_5100_ver1_sub302'''] = devclass(devices.devids['''nokia_5100_ver1'''], '''nokia_5100_ver1_sub302''', '''Nokia5100/1.0 (3.02) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_5100_ver2'''] = devclass(devices.devids['''nokia_5100_ver1'''], '''nokia_5100_ver2''', '''Nokia5100/2.0''', True, {'''columns''':18,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''max_data_rate''':40,'''max_deck_size''':32200,'''model_name''':'''5100 US''','''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_format_as_css_property''':True,'''xhtml_marquee_as_css_property''':True,'''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_5100_ver2_sub'''] = devclass(devices.devids['''nokia_5100_ver2'''], '''nokia_5100_ver2_sub''', '''Nokia5100/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_5140_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_5140_ver1''', '''Nokia5140''', True, {'''j2me_amr''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_1''':True,'''max_data_rate''':200,'''max_deck_size''':131072,'''mms_3gpp''':True,'''mms_mp4''':True,'''mms_video''':True,'''model_name''':5140,'''ringtone_voices''':16,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':153600,'''video_max_frame_rate''':15,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False}) +devices.devids['''nokia_5140_ver1_sub'''] = devclass(devices.devids['''nokia_5140_ver1'''], '''nokia_5140_ver1_sub''', '''Nokia5140/2.0''', False, None) +devices.devids['''nokia_5140_ver1_sub305'''] = devclass(devices.devids['''nokia_5140_ver1'''], '''nokia_5140_ver1_sub305''', '''Nokia5140/2.0 (3.05) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_5140i_ver1'''] = devclass(devices.devids['''nokia_5140_ver1'''], '''nokia_5140i_ver1''', '''Nokia5140i''', True, {'''model_name''':'''5140i''','''ringtone_mp3''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_5140i_ver1_sub'''] = devclass(devices.devids['''nokia_5140i_ver1'''], '''nokia_5140i_ver1_sub''', '''Nokia5140i/1.0''', False, None) +devices.devids['''nokia_5140i_ver1_sub324'''] = devclass(devices.devids['''nokia_5140i_ver1'''], '''nokia_5140i_ver1_sub324''', '''Nokia5140i/1.0 (3.24) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_5200_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_5200_ver1''', '''Nokia5200''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''j2me_cldc_1_1''':True,'''j2me_screen_height''':160,'''max_data_rate''':200,'''max_deck_size''':32000,'''max_image_height''':140,'''max_image_width''':117,'''mms_3gpp''':True,'''mms_max_height''':960,'''mms_max_size''':309760,'''mms_max_width''':1280,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':5200,'''mp3''':True,'''resolution_height''':160,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''streaming_video''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N5200r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':10,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wav''':True}) +devices.devids['''nokia_5200_ver1_sub0370'''] = devclass(devices.devids['''nokia_5200_ver1'''], '''nokia_5200_ver1_sub0370''', '''Nokia5200/2.0 (03.70) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_5210_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_5210_ver1''', '''Nokia5210''', True, {'''callericon''':True,'''connectionless_service_indication''':True,'''max_image_height''':36,'''model_name''':5210,'''utf8_support''':True,'''wallpaper_gif''':True,'''wap_push_support''':True}) +devices.devids['''nokia_5210_ver1_sub'''] = devclass(devices.devids['''nokia_5210_ver1'''], '''nokia_5210_ver1_sub''', '''Nokia5210/1.0''', False, None) +devices.devids['''nokia_5210_ver1_subxxx'''] = devclass(devices.devids['''nokia_5210_ver1'''], '''nokia_5210_ver1_subxxx''', '''Nokia5210/1.0 ()''', False, None) +devices.devids['''nokia_5210e_ver1'''] = devclass(devices.devids['''nokia_5210_ver1'''], '''nokia_5210e_ver1''', '''Nokia5210e''', True, {'''max_image_height''':36,'''model_name''':'''5210e'''}) +devices.devids['''nokia_5300_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_5300_ver1''', '''Nokia5300''', True, {'''aac''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''columns''':15,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''j2me_cldc_1_1''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':200,'''max_deck_size''':32000,'''max_image_height''':300,'''max_image_width''':240,'''mms_3gpp''':True,'''mms_max_height''':960,'''mms_max_size''':309760,'''mms_max_width''':1280,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':5300,'''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rmf''':True,'''rows''':16,'''streaming_video''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N5300r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':10,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''xmf''':True}) +devices.devids['''nokia_5300_ver1_sub0350'''] = devclass(devices.devids['''nokia_5300_ver1'''], '''nokia_5300_ver1_sub0350''', '''Nokia5300/2.0 (03.50) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_5310expressmusic_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_5310expressmusic_ver1''', '''Nokia5310XpressMusic/2.0 (03.60) Profile/MIDP-2.1 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':262144,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_1''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':32000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':309760,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''5310 XpressMusic''','''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N5310XpressMusicVFr100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''nokia_5610d_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_5610d_ver1''', '''Nokia5610d-1/2.0 (04.20) Profile/MIDP-2.1 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_1''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':131072,'''max_image_height''':300,'''max_image_width''':226,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''5610 XpressMusic''','''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N5610r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''nokia_5500_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_5500_ver1''', '''Nokia5500''', True, {'''aac''':True,'''colors''':262144,'''columns''':17,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''j2me_cldc_1_1''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':208,'''max_data_rate''':200,'''max_image_height''':188,'''max_image_width''':208,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''model_name''':5500,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':208,'''resolution_width''':208,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_voices''':64,'''rows''':13,'''uaprof''':'''http://nds.nokia.com/uaprof/N5500dr100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_5500d_ver1'''] = devclass(devices.devids['''nokia_5500_ver1'''], '''nokia_5500d_ver1''', '''Nokia5500d''', False, {'''max_image_width''':197}) +devices.devids['''nokia_5500_ver1_sub314'''] = devclass(devices.devids['''nokia_5500_ver1'''], '''nokia_5500_ver1_sub314''', '''Nokia5500d/2.0(03.14) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_5510_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_5510_ver1''', '''Nokia5510''', True, {'''max_image_height''':36,'''model_name''':5510,'''wallpaper_gif''':True}) +devices.devids['''nokia_5510_ver1_sub'''] = devclass(devices.devids['''nokia_5510_ver1'''], '''nokia_5510_ver1_sub''', '''Nokia5510/1.0''', False, None) +devices.devids['''nokia_5510_ver1_sub342'''] = devclass(devices.devids['''nokia_5510_ver1'''], '''nokia_5510_ver1_sub342''', '''Nokia5510/1.0 (03.42)''', False, None) +devices.devids['''nokia_5555_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_5555_ver1''', '''Nokia5555''', True, {'''model_name''':5555}) +devices.devids['''nokia_5555_ver1_sub0251'''] = devclass(devices.devids['''nokia_5555_ver1'''], '''nokia_5555_ver1_sub0251''', '''Nokia5555/1.0 (02.51)''', False, None) +devices.devids['''nokia_5700_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_5700_ver1''', '''Nokia5700''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':262144,'''columns''':17,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''epoc_bmp''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''2_0''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':357000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':5700,'''mp3''':True,'''multipart_support''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rmf''':True,'''rows''':13,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N5700r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_vcodec_h264''':'''10 1b 11 12''','''video_wmv''':False,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''nokia_5700_ver1_sub1'''] = devclass(devices.devids['''nokia_5700_ver1'''], '''nokia_5700_ver1_sub1''', '''Nokia5700/1.00 Series60/3.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_5700_ver1_sub_safari'''] = devclass(devices.devids['''nokia_5700_ver1'''], '''nokia_5700_ver1_sub_safari''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Nokia5700/3.27; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''has_pointing_device''':False,'''max_data_rate''':200,'''mobile_browser''':'''Safari''','''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320,'''xhtml_display_accesskey''':False,'''xhtml_format_as_attribute''':False,'''xhtml_honors_bgcolor''':True,'''xhtml_support_level''':4,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_forms_in_table''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True}) +devices.devids['''nokia_6010_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_6010_ver1''', '''Nokia6010''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''max_image_height''':65,'''max_image_width''':96,'''model_name''':6010,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':65,'''resolution_width''':96,'''wallpaper_preferred_height''':45,'''wallpaper_preferred_width''':96,'''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_6010_ver1_sub818'''] = devclass(devices.devids['''nokia_6010_ver1'''], '''nokia_6010_ver1_sub818''', '''Nokia6010/1.0 (8.18) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_6010_ver1_sub862'''] = devclass(devices.devids['''nokia_6010_ver1'''], '''nokia_6010_ver1_sub862''', '''Nokia6010/1.0 (8.62) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_6010_ver1_sub862google10'''] = devclass(devices.devids['''nokia_6010_ver1'''], '''nokia_6010_ver1_sub862google10''', '''Nokia6010/1.0 (8.62) Profile/MIDP-1.0 Configuration/CLDC-1.0 (Google WAP Proxy/1.0)''', False, None) +devices.devids['''nokia_6012_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_6012_ver1''', '''Nokia6012''', True, {'''max_image_width''':96,'''model_name''':6012,'''picture_preferred_height''':45,'''picture_preferred_width''':96,'''resolution_height''':65,'''resolution_width''':96,'''screensaver_preferred_height''':65,'''screensaver_preferred_width''':96,'''wallpaper_preferred_height''':45,'''wallpaper_preferred_width''':96}) +devices.devids['''nokia_6020_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6020_ver1''', '''Nokia6020''', True, {'''colors''':65536,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''j2me_amr''':True,'''j2me_cldc_1_1''':True,'''j2me_h263''':True,'''j2me_jtwi''':True,'''j2me_storage_size''':3670016,'''max_data_rate''':40,'''max_deck_size''':102400,'''max_image_width''':118,'''mms_3gpp''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':6020,'''mp3''':True,'''oma_v_1_0_combined_delivery''':False,'''ringtone_amr''':True,'''ringtone_mp3''':False,'''ringtone_voices''':16,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6020r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wallpaper_colors''':16}) +devices.devids['''nokia_6020_ver1_sub0352'''] = devclass(devices.devids['''nokia_6020_ver1'''], '''nokia_6020_ver1_sub0352''', '''Nokia6020/2.0 (03.52) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6021_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6021_ver1''', '''Nokia6021''', True, {'''colors''':65536,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''j2me_cldc_1_1''':True,'''max_data_rate''':40,'''max_deck_size''':102400,'''max_image_height''':128,'''max_image_width''':118,'''mms_3gpp''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':6021,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_voices''':16,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6021r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''nokia_6021_ver1_subp379c'''] = devclass(devices.devids['''nokia_6021_ver1'''], '''nokia_6021_ver1_subp379c''', '''Nokia6021/2.0 (p3.79c) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6030_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6030_ver1''', '''Nokia6030''', True, {'''j2me_cldc_1_1''':True,'''max_data_rate''':40,'''model_name''':6030,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''uaprof''':'''http://nds.nokia.com/uaprof/N6030r100.xml''','''voices''':16}) +devices.devids['''nokia_6030_ver1_suby341'''] = devclass(devices.devids['''nokia_6030_ver1'''], '''nokia_6030_ver1_suby341''', '''Nokia6030/2.0 (y3.41) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6030b_ver1'''] = devclass(devices.devids['''nokia_6030_ver1'''], '''nokia_6030b_ver1''', '''Nokia6030b''', True, {'''awb''':True,'''j2me_cldc_1_1''':True,'''mms_mp3''':True,'''model_name''':'''6030 US''','''mp3''':True,'''ringtone_awb''':True,'''ringtone_mp3''':False,'''uaprof''':'''http://nds.nokia.com/uaprof/N6030br100.xml''','''wallpaper_colors''':16}) +devices.devids['''nokia_6030b_ver1_subm335'''] = devclass(devices.devids['''nokia_6030b_ver1'''], '''nokia_6030b_ver1_subm335''', '''Nokia6030b/2.0 (m3.35) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40,'''streaming_3gpp''':False,'''streaming_video''':False}) +devices.devids['''nokia_6060_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6060_ver1''', '''Nokia6060''', True, {'''colors''':65536,'''j2me_cldc_1_1''':True,'''max_data_rate''':40,'''max_image_height''':128,'''model_name''':6060,'''mp3''':True,'''resolution_height''':160,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6060r100.xml''','''wallpaper_colors''':16}) +devices.devids['''nokia_6060_ver1_subk361'''] = devclass(devices.devids['''nokia_6060_ver1'''], '''nokia_6060_ver1_subk361''', '''Nokia6060/2.0 (k3.61) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6061_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6061_ver1''', '''Nokia6061''', True, {'''awb''':True,'''colors''':65536,'''j2me_cldc_1_1''':True,'''j2me_screen_height''':160,'''max_image_height''':128,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_mp3''':True,'''mms_vcalendar''':True,'''model_name''':6061,'''mp3''':True,'''resolution_height''':160,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''uaprof''':'''http://nds.nokia.com/uaprof/N6061r100.xml''','''wallpaper_colors''':16}) +devices.devids['''nokia_6061_ver1_sub410'''] = devclass(devices.devids['''nokia_6061_ver1'''], '''nokia_6061_ver1_sub410''', '''Nokia6061/2.0 (4.10) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6070_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6070_ver1''', '''Nokia6070''', True, {'''awb''':True,'''colors''':65536,'''j2me_cldc_1_1''':True,'''max_data_rate''':200,'''max_image_height''':128,'''max_image_width''':118,'''model_name''':6070,'''mp3''':True,'''resolution_height''':160,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':24,'''wallpaper_colors''':16}) +devices.devids['''nokia_6070_ver1_sub20'''] = devclass(devices.devids['''nokia_6070_ver1'''], '''nokia_6070_ver1_sub20''', '''Nokia6070/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_6070_ver1_sub200320'''] = devclass(devices.devids['''nokia_6070_ver1'''], '''nokia_6070_ver1_sub200320''', '''Nokia6070/2.0 (03.20) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6080_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6080_ver1''', '''Nokia6080''', True, {'''awb''':True,'''colors''':65536,'''max_data_rate''':200,'''max_image_height''':160,'''model_name''':6080,'''mp3''':True,'''resolution_height''':160,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N6080r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_sqcif''':True,'''video_wmv''':False}) +devices.devids['''nokia_6085_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6085_ver1''', '''Nokia6085''', True, {'''aac''':True,'''awb''':True,'''bmp''':True,'''built_in_camera''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''j2me_cldc_1_1''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_data_rate''':200,'''max_deck_size''':131072,'''max_image_height''':140,'''max_image_width''':128,'''mms_3gpp''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':6085,'''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_xmf''':True,'''streaming_video''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6085r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':10,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wav''':True,'''xmf''':True}) +devices.devids['''nokia_6085_ver1_sub0369'''] = devclass(devices.devids['''nokia_6085_ver1'''], '''nokia_6085_ver1_sub0369''', '''Nokia6085/1.0 (1.00) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6085_ver1_sub0370'''] = devclass(devices.devids['''nokia_6085_ver1'''], '''nokia_6085_ver1_sub0370''', '''Nokia6085/2.0 (03.70) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6086_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6086_ver1''', '''Nokia6086''', True, {'''brand_name''':'''Nokia''','''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''j2me_cldc_1_1''':True,'''max_data_rate''':200,'''max_image_height''':140,'''max_image_width''':118,'''model_name''':6086,'''resolution_height''':160,'''resolution_width''':128,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6086r100.xml''','''video_vcodec_h264''':10}) +devices.devids['''nokia_6086_ver1_subp0342'''] = devclass(devices.devids['''nokia_6086_ver1'''], '''nokia_6086_ver1_subp0342''', '''Nokia6086/2.0 (p03.42) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6100_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_6100_ver1''', '''Nokia6100''', True, {'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65535,'''mms_jpeg_progressive''':True,'''mms_max_size''':46080,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':4,'''model_name''':6100,'''png''':False,'''ringtone_voices''':16,'''uaprof''':'''http://nds.nokia.com/uaprof/N6100r100.xml''','''xhtml_supports_file_upload''':False}) +devices.devids['''nokia_6100_ver1_sub__'''] = devclass(devices.devids['''nokia_6100_ver1'''], '''nokia_6100_ver1_sub__''', '''Nokia6100/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6100_ver1_sub00'''] = devclass(devices.devids['''nokia_6100_ver1'''], '''nokia_6100_ver1_sub00''', '''Nokia6100/1.0 () Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6100_ver1_sub0295'''] = devclass(devices.devids['''nokia_6100_ver1'''], '''nokia_6100_ver1_sub0295''', '''Nokia6100/1.0 (02.95) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6100_ver1_sub0300'''] = devclass(devices.devids['''nokia_6100_ver1'''], '''nokia_6100_ver1_sub0300''', '''Nokia6100/1.0 (03.00) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6100_ver1_sub309'''] = devclass(devices.devids['''nokia_6100_ver1'''], '''nokia_6100_ver1_sub309''', '''Nokia6100/1.0(3.09)''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6100_ver1_sub0310'''] = devclass(devices.devids['''nokia_6100_ver1'''], '''nokia_6100_ver1_sub0310''', '''Nokia6100/1.0 (03.10) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6100a_ver1'''] = devclass(devices.devids['''nokia_6100_ver1'''], '''nokia_6100a_ver1''', '''Nokia6100A''', False, {'''model_name''':'''6100A''','''uaprof''':'''http://nds.nokia.com/uaprof/N6100r100.xml'''}) +devices.devids['''nokia_6100a_ver1_sub201'''] = devclass(devices.devids['''nokia_6100a_ver1'''], '''nokia_6100a_ver1_sub201''', '''Nokia6100A/1.0 (02.01) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6101_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6101_ver1''', '''Nokia6101''', True, {'''awb''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''max_data_rate''':200,'''max_image_height''':160,'''max_image_width''':118,'''model_name''':6101,'''mp3''':True,'''resolution_height''':160,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''screensaver_max_height''':160,'''screensaver_preferred_height''':160,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6101r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_frame_rate''':12,'''video_mp4''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':24,'''wallpaper_max_height''':160,'''wallpaper_preferred_height''':160}) +devices.devids['''nokia_6101_ver1_sub0334'''] = devclass(devices.devids['''nokia_6101_ver1'''], '''nokia_6101_ver1_sub0334''', '''Nokia6101/2.0 (03.34) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6101_ver1_sub0335'''] = devclass(devices.devids['''nokia_6101_ver1'''], '''nokia_6101_ver1_sub0335''', '''Nokia6101/2.0 (03.35) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6101_ver1_sub0336'''] = devclass(devices.devids['''nokia_6101_ver1'''], '''nokia_6101_ver1_sub0336''', '''Nokia6101/2.0 (03.36) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6101_ver1_sub0338'''] = devclass(devices.devids['''nokia_6101_ver1'''], '''nokia_6101_ver1_sub0338''', '''Nokia6101/2.0 (03.38) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6101_ver1_sub0450'''] = devclass(devices.devids['''nokia_6101_ver1'''], '''nokia_6101_ver1_sub0450''', '''Nokia6101/2.0 (04.50) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6102_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6102_ver1''', '''Nokia6102''', True, {'''awb''':True,'''colors''':65536,'''j2me_cldc_1_1''':True,'''max_image_height''':140,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''model_name''':6102,'''mp3''':True,'''picture_max_height''':140,'''picture_preferred_height''':140,'''resolution_height''':160,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''screensaver_max_height''':160,'''screensaver_preferred_height''':160,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6102r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_max_height''':160,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':160,'''video_preferred_width''':128,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':24,'''wallpaper_colors''':16,'''wallpaper_max_height''':140,'''wallpaper_preferred_height''':140}) +devices.devids['''nokia_6102_ver1_sub0338'''] = devclass(devices.devids['''nokia_6102_ver1'''], '''nokia_6102_ver1_sub0338''', '''Nokia6102/2.0 (03.38) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6103_ver1'''] = devclass(devices.devids['''nokia_6101_ver1'''], '''nokia_6103_ver1''', '''Nokia6103''', True, {'''model_name''':6103,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6103r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_6103_ver1_sub20'''] = devclass(devices.devids['''nokia_6103_ver1'''], '''nokia_6103_ver1_sub20''', '''Nokia6103/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6103_ver1_sub0461'''] = devclass(devices.devids['''nokia_6103_ver1'''], '''nokia_6103_ver1_sub0461''', '''Nokia6103/2.0 (04.61) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6108_ver1'''] = devclass(devices.devids['''nokia_6100_ver1'''], '''nokia_6108_ver1''', '''Nokia6108''', True, {'''j2me_cldc_1_0''':True,'''jpg''':True,'''model_name''':6108,'''oma_v_1_0_forwardlock''':True,'''picture_max_height''':128,'''picture_max_width''':128,'''picture_preferred_height''':128,'''picture_preferred_width''':128,'''png''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6108r100.xml'''}) +devices.devids['''nokia_6108_ver1_sub0193'''] = devclass(devices.devids['''nokia_6108_ver1'''], '''nokia_6108_ver1_sub0193''', '''Nokia6108/1.0 (01.93) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6108_ver1_sub0240'''] = devclass(devices.devids['''nokia_6108_ver1'''], '''nokia_6108_ver1_sub0240''', '''Nokia6108/1.0 (02.40) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6110_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_6110_ver1''', '''Nokia6110''', False, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':262144,'''columns''':17,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''epoc_bmp''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''2_0''','''gif''':True,'''has_pointing_device''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_deck_size''':357000,'''max_image_height''':320,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''6110 Navigator''','''mp3''':True,'''multipart_support''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rmf''':True,'''rows''':13,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6110Navigatorr100-3G.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':4,'''xmf''':True}) +devices.devids['''nokia_6110_ver1_submoz'''] = devclass(devices.devids['''nokia_6110_ver1'''], '''nokia_6110_ver1_submoz''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Nokia6110Navigator/3.51; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':1800}) +devices.devids['''nokia_6110_ver1_submoz358'''] = devclass(devices.devids['''nokia_6110_ver1'''], '''nokia_6110_ver1_submoz358''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Nokia6110Navigator/3.58; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':1800}) +devices.devids['''nokia_6111_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6111_ver1''', '''Nokia6111''', True, {'''colors''':262144,'''j2me_cldc_1_1''':True,'''max_data_rate''':200,'''max_image_height''':128,'''max_image_width''':118,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_rmf''':True,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':6111,'''picture_max_height''':160,'''picture_preferred_height''':160,'''resolution_height''':160,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_voices''':64,'''ringtone_xmf''':True,'''screensaver_max_height''':160,'''screensaver_preferred_height''':160,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6111r100.xml''','''uaprof2''':'''http://nds1.nds.nokia.com/uaprof/N6111r200.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18,'''wallpaper_max_height''':160,'''wallpaper_preferred_height''':160}) +devices.devids['''nokia_6111_ver1_sub0341'''] = devclass(devices.devids['''nokia_6111_ver1'''], '''nokia_6111_ver1_sub0341''', '''Nokia6111/2.0 (03.41) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6111_ver1_sub0345'''] = devclass(devices.devids['''nokia_6111_ver1'''], '''nokia_6111_ver1_sub0345''', '''Nokia6111/2.0 (03.45) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6120c_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_6120c_ver1''', '''Nokia6120c''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_xhr_type''':'''standard''','''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''columns''':17,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''epoc_bmp''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''2_0''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':357000,'''max_image_height''':300,'''max_image_width''':229,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''6120c''','''mp3''':True,'''multipart_support''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rmf''':True,'''rows''':13,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6120c-1r100-CV2G.xml''','''uaprof2''':'''http://nds1.nds.nokia.com/uaprof/N6120c-1r100-CV3G.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''nokia_6120c_ver1_sub1'''] = devclass(devices.devids['''nokia_6120c_ver1'''], '''nokia_6120c_ver1_sub1''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Nokia6120c/3.46; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''ajax_manipulate_css''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''max_data_rate''':200,'''max_image_width''':233}) +devices.devids['''nokia_6120c_ver1_sub2'''] = devclass(devices.devids['''nokia_6120c_ver1'''], '''nokia_6120c_ver1_sub2''', '''Nokia6120c/1.00 Series60/3.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6120c_ver1_sub370'''] = devclass(devices.devids['''nokia_6120c_ver1'''], '''nokia_6120c_ver1_sub370''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Nokia6120c/3.70; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6120c_ver1_sub383'''] = devclass(devices.devids['''nokia_6120c_ver1'''], '''nokia_6120c_ver1_sub383''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Nokia6120c/3.83; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6120c_ver1_sub_opera8'''] = devclass(devices.devids['''nokia_6120c_ver1'''], '''nokia_6120c_ver1_sub_opera8''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Series 60/03.70; 9730) Opera 8.65 [en]''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6121_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_6121_ver1''', '''Nokia6121''', True, {'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''2_0''','''j2me_cldc_1_1''':True,'''max_image_height''':240,'''max_image_width''':240,'''model_name''':'''6121c''','''resolution_height''':320,'''resolution_width''':240,'''uaprof''':'''http://nds.nokia.com/uaprof/N6121cr100.xml''','''video_vcodec_h264''':'''10 1b 11 12'''}) +devices.devids['''nokia_6121c_ver1_sub1'''] = devclass(devices.devids['''nokia_6121_ver1'''], '''nokia_6121c_ver1_sub1''', '''Nokia6121c/1.00 Series60/3.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''nokia_6125_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_6125_ver1''', '''Nokia6125''', True, {'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_image_height''':128,'''model_name''':6125,'''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':160,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''streaming_3gpp''':True,'''streaming_video''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':24,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':160,'''xhtml_support_level''':4}) +devices.devids['''nokia_6125_ver1_sub200372'''] = devclass(devices.devids['''nokia_6125_ver1'''], '''nokia_6125_ver1_sub200372''', '''Nokia6125/1.0 (1.00) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6125_ver1_sub20'''] = devclass(devices.devids['''nokia_6125_ver1'''], '''nokia_6125_ver1_sub20''', '''Nokia6125/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_6125_ver1_sub200371'''] = devclass(devices.devids['''nokia_6125_ver1'''], '''nokia_6125_ver1_sub200371''', '''Nokia6125/2.0 (03.71) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6126_ver1'''] = devclass(devices.devids['''nokia_6125_ver1'''], '''nokia_6126_ver1''', '''Nokia6126''', True, {'''aac''':True,'''awb''':True,'''bmp''':True,'''built_in_camera''':True,'''colors''':262144,'''columns''':15,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''j2me_cldc_1_1''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_deck_size''':32000,'''max_image_height''':300,'''max_image_width''':240,'''mms_3gpp''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1024,'''mms_mp4''':True,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':6126,'''mp3''':True,'''nokia_edition''':3,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':False,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':16,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6126r101.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':24,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''nokia_6126_ver1_sub200561'''] = devclass(devices.devids['''nokia_6126_ver1'''], '''nokia_6126_ver1_sub200561''', '''Nokia6126/2.0 (05.61) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6131_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6131_ver1''', '''Nokia6131''', True, {'''aac''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''max_image_height''':300,'''max_image_width''':218,'''model_name''':6131,'''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6131r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18}) +devices.devids['''nokia_6131_ver1_sub20'''] = devclass(devices.devids['''nokia_6131_ver1'''], '''nokia_6131_ver1_sub20''', '''Nokia6131/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6131_ver1_sub200370'''] = devclass(devices.devids['''nokia_6131_ver1'''], '''nokia_6131_ver1_sub200370''', '''Nokia6131/2.0 (03.70) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6136_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6136_ver1''', '''Nokia6136''', True, {'''aac''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''max_data_rate''':200,'''max_image_height''':128,'''max_image_width''':117,'''model_name''':6136,'''mp3''':True,'''resolution_height''':160,'''ringtone_aac''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18}) +devices.devids['''nokia_6136_ver1_sub19'''] = devclass(devices.devids['''nokia_6136_ver1'''], '''nokia_6136_ver1_sub19''', '''Nokia6136/1.0 (1.00) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6136_ver1_sub20'''] = devclass(devices.devids['''nokia_6136_ver1'''], '''nokia_6136_ver1_sub20''', '''Nokia6136/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_6151_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6151_ver1''', '''Nokia6151''', True, {'''aac''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''max_data_rate''':384,'''max_image_height''':128,'''max_image_width''':118,'''model_name''':6151,'''mp3''':True,'''resolution_height''':160,'''ringtone_aac''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''uaprof''':'''http://nds.nokia.com/uaprof/N6151r101.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18}) +devices.devids['''nokia_6151_ver1_sub0355'''] = devclass(devices.devids['''nokia_6151_ver1'''], '''nokia_6151_ver1_sub0355''', '''Nokia6151/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_6151_ver1_sub0356'''] = devclass(devices.devids['''nokia_6151_ver1'''], '''nokia_6151_ver1_sub0356''', '''Nokia6151/2.0 (03.56) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_6152_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6152_ver1''', '''Nokia6152''', True, {'''aac''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':2097152,'''j2me_jtwi''':True,'''j2me_max_jar_size''':512000,'''max_image_height''':128,'''model_name''':6152,'''mp3''':True,'''qcelp''':True,'''resolution_height''':160,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''voices''':40}) +devices.devids['''nokia_6152_ver1_sub0524'''] = devclass(devices.devids['''nokia_6152_ver1'''], '''nokia_6152_ver1_sub0524''', '''Nokia6152/2.0 (05.24) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6155_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6155_ver1''', '''Nokia6155''', True, {'''j2me_cldc_1_1''':True,'''max_image_height''':128,'''model_name''':6155,'''resolution_height''':160}) +devices.devids['''nokia_6155_ver1_sub0524'''] = devclass(devices.devids['''nokia_6155_ver1'''], '''nokia_6155_ver1_sub0524''', '''Nokia6155/2.0 (05.24) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6155i_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6155i_ver1''', '''Nokia6155i''', True, {'''aac''':True,'''j2me_cldc_1_1''':True,'''max_image_height''':128,'''model_name''':'''6155i''','''mp3''':True,'''qcelp''':True,'''resolution_height''':160,'''ringtone_aac''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':40,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper_max_height''':160,'''wallpaper_preferred_height''':160}) +devices.devids['''nokia_6155i_ver1_sub0524'''] = devclass(devices.devids['''nokia_6155i_ver1'''], '''nokia_6155i_ver1_sub0524''', '''Nokia6155i/2.0 (05.24) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6165i_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6165i_ver1''', '''Nokia6165i''', True, {'''model_name''':'''6165i'''}) +devices.devids['''nokia_6170_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6170_ver1''', '''Nokia6170''', True, {'''colors''':65536,'''j2me_amr''':True,'''j2me_cldc_1_1''':True,'''j2me_h263''':True,'''j2me_mpeg4''':True,'''j2me_screen_height''':160,'''max_data_rate''':200,'''max_deck_size''':4194304,'''max_image_height''':115,'''max_image_width''':118,'''mms_3gpp''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_mp4''':True,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':6170,'''mp3''':True,'''resolution_height''':160,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_acodec_amr''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6170r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_wmv''':False,'''voices''':40,'''wallpaper_colors''':16}) +devices.devids['''nokia_6170_ver1_sub0314'''] = devclass(devices.devids['''nokia_6170_ver1'''], '''nokia_6170_ver1_sub0314''', '''Nokia6170/2.0 (03.14) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6170_ver1_sub03152'''] = devclass(devices.devids['''nokia_6170_ver1'''], '''nokia_6170_ver1_sub03152''', '''Nokia6170/2.0 (03.152) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6200_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_6200_ver1''', '''Nokia6200''', True, {'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''max_deck_size''':2800,'''mms_max_height''':480,'''mms_max_size''':45000,'''mms_max_width''':640,'''model_name''':6200,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_voices''':16,'''xhtml_format_as_css_property''':True,'''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_6200_ver1_sub00'''] = devclass(devices.devids['''nokia_6200_ver1'''], '''nokia_6200_ver1_sub00''', '''Nokia6200/1.0 () Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_6200_ver1_sub305'''] = devclass(devices.devids['''nokia_6200_ver1'''], '''nokia_6200_ver1_sub305''', '''Nokia6200/1.0 (3.05) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_6210_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_6210_ver1''', '''Nokia6210''', True, {'''callericon''':True,'''max_data_rate''':40,'''max_image_height''':41,'''max_image_width''':96,'''model_name''':6210,'''resolution_height''':52,'''resolution_width''':96,'''rows''':4,'''wml_make_phone_call_string''':'''none'''}) +devices.devids['''nokia_6210_ver1_sub'''] = devclass(devices.devids['''nokia_6210_ver1'''], '''nokia_6210_ver1_sub''', '''Nokia6210/1.0''', False, None) +devices.devids['''nokia_6210_ver1_sub29'''] = devclass(devices.devids['''nokia_6210_ver1'''], '''nokia_6210_ver1_sub29''', '''Nokia6210/1.0 (02.9)''', False, None) +devices.devids['''nokia_6210_ver1_sub300'''] = devclass(devices.devids['''nokia_6210_ver1'''], '''nokia_6210_ver1_sub300''', '''Nokia6210/1.0 (03.00)''', False, None) +devices.devids['''nokia_6210e_ver1'''] = devclass(devices.devids['''nokia_6210_ver1'''], '''nokia_6210e_ver1''', '''Nokia6210e''', True, {'''model_name''':'''6210e'''}) +devices.devids['''nokia_6215i_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_6215i_ver1''', '''Nokia6215i''', True, {'''colors''':262144,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''6215i''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''verizon_nokia_6215i_ver1'''] = devclass(devices.devids['''nokia_6215i_ver1'''], '''verizon_nokia_6215i_ver1''', '''nok6215v1''', True, {'''model_name''':'''6215i (Verizon Wireless)''','''oma_v_1_0_forwardlock''':True}) +devices.devids['''nokia_6220_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_6220_ver1''', '''Nokia6220''', True, {'''amr''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':240640,'''j2me_wmapi_1_0''':True,'''max_data_rate''':200,'''max_image_width''':124,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_max_size''':105000,'''mms_mp4''':True,'''mms_vcard''':True,'''mms_video''':True,'''model_name''':6220,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_voices''':16,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6220r300.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':98304,'''video_max_frame_rate''':15,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_wmv''':False,'''voices''':16,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_6220_ver1_subj2me'''] = devclass(devices.devids['''nokia_6220_ver1'''], '''nokia_6220_ver1_subj2me''', '''Nokia6220/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6220_ver1_sub509'''] = devclass(devices.devids['''nokia_6220_ver1'''], '''nokia_6220_ver1_sub509''', '''Nokia6220/2.0 (5.09) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6225_ver1'''] = devclass(devices.devids['''nokia_6220_ver1'''], '''nokia_6225_ver1''', '''Nokia6225''', True, {'''model_name''':6225,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_6225i_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nokia_6225i_ver1''', '''Nokia6225i''', True, {'''brand_name''':'''Nokia''','''model_name''':'''6225i'''}) +devices.devids['''nokia_6225i_ver1_subh200v0900nep'''] = devclass(devices.devids['''nokia_6225i_ver1'''], '''nokia_6225i_ver1_subh200v0900nep''', '''Nokia6225i/1.0 (H200V0900.nep) UP.Browser/6.2.2.1.c.1.105 (GUI) MMP/2.0''', False, None) +devices.devids['''nokia_6230_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6230_ver1''', '''Nokia6230''', True, {'''colors''':65536,'''j2me_aac''':True,'''j2me_amr''':True,'''j2me_btapi''':True,'''j2me_cldc_1_1''':True,'''j2me_h263''':True,'''j2me_jtwi''':True,'''j2me_mmapi_1_1''':True,'''j2me_mp3''':True,'''max_data_rate''':200,'''max_deck_size''':153600,'''max_image_height''':128,'''max_image_width''':120,'''max_no_of_bookmarks''':50,'''mms_3gpp''':True,'''mms_mp4''':True,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':6230,'''mp3''':True,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_max_audio_bit_rate''':4750,'''streaming_video_max_bit_rate''':14750,'''streaming_video_max_frame_rate''':5,'''streaming_video_max_video_bit_rate''':10000,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':176,'''streaming_video_qcif_max_width''':144,'''streaming_video_sqcif''':True,'''streaming_video_sqcif_max_height''':128,'''streaming_video_sqcif_max_width''':96,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6230r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':102400,'''video_max_frame_rate''':15,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_wmv''':False,'''voices''':24,'''wallpaper_colors''':16}) +devices.devids['''nokia_6230_ver1_sub0219'''] = devclass(devices.devids['''nokia_6230_ver1'''], '''nokia_6230_ver1_sub0219''', '''Nokia6230/2.0 (02.19) Profile/MIDP-2.0 Configuration//CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6230_ver1_sub0220'''] = devclass(devices.devids['''nokia_6230_ver1'''], '''nokia_6230_ver1_sub0220''', '''Nokia6230/2.0 (02.20) Profile/MIDP-2.0 Configuration//CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6230_ver1_sub00'''] = devclass(devices.devids['''nokia_6230_ver1'''], '''nokia_6230_ver1_sub00''', '''Nokia6230/2.0 WAP/1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6230i_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6230i_ver1''', '''Nokia6230i''', True, {'''aac''':True,'''awb''':True,'''colors''':65536,'''j2me_aac''':True,'''j2me_amr''':True,'''j2me_btapi''':True,'''j2me_canvas_height''':176,'''j2me_canvas_width''':208,'''j2me_cldc_1_1''':True,'''j2me_h263''':True,'''j2me_heap_size''':2097152,'''j2me_jtwi''':True,'''j2me_max_jar_size''':524288,'''j2me_mmapi_1_1''':True,'''j2me_mp3''':True,'''j2me_mp4''':True,'''j2me_mpeg4''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':208,'''j2me_storage_size''':33554432,'''max_data_rate''':200,'''max_deck_size''':4194304,'''max_image_height''':170,'''max_image_width''':188,'''mms_3gpp''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_rmf''':True,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':'''6230i''','''mp3''':True,'''picture_max_height''':170,'''picture_max_width''':208,'''picture_preferred_height''':170,'''picture_preferred_width''':208,'''resolution_height''':208,'''resolution_width''':208,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_voices''':64,'''ringtone_xmf''':True,'''screensaver_max_height''':208,'''screensaver_max_width''':208,'''screensaver_preferred_height''':208,'''screensaver_preferred_width''':208,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6230ir100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':5242880,'''video_max_frame_rate''':15,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_max_height''':208,'''wallpaper_max_width''':208,'''wallpaper_preferred_height''':208,'''wallpaper_preferred_width''':208,'''xmf''':True}) +devices.devids['''nokia_6230i_ver1_sub0312'''] = devclass(devices.devids['''nokia_6230i_ver1'''], '''nokia_6230i_ver1_sub0312''', '''Nokia6230i/2.0 (03.12) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6230i_ver1_sub0320'''] = devclass(devices.devids['''nokia_6230i_ver1'''], '''nokia_6230i_ver1_sub0320''', '''Nokia6230i/2.0 (03.20) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6233_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6233_ver1''', '''Nokia6233''', True, {'''aac''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''max_data_rate''':384,'''max_image_height''':300,'''max_image_width''':218,'''model_name''':6233,'''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''streaming_3gpp''':True,'''streaming_video''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6233r200.xml''','''uaprof2''':'''http://nds1.nds.nokia.com/uaprof/N6233r100_3G.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''nokia_6233_ver1_sub20'''] = devclass(devices.devids['''nokia_6233_ver1'''], '''nokia_6233_ver1_sub20''', '''Nokia6233/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_6233_ver1_sub200338'''] = devclass(devices.devids['''nokia_6233_ver1'''], '''nokia_6233_ver1_sub200338''', '''Nokia6233/2.0 (03.38) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_6234_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6234_ver1''', '''Nokia6234''', True, {'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''j2me_cldc_1_1''':True,'''max_data_rate''':384,'''max_image_height''':300,'''max_image_width''':240,'''model_name''':6234,'''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_3gpp''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N6234r501.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18}) +devices.devids['''nokia_6234_ver1_sub_ver10'''] = devclass(devices.devids['''nokia_6234_ver1'''], '''nokia_6234_ver1_sub_ver10''', '''Nokia6234/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_6234_ver1_sub200350'''] = devclass(devices.devids['''nokia_6234_ver1'''], '''nokia_6234_ver1_sub200350''', '''Nokia6234/2.0 (03.50) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_6235_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6235_ver1''', '''Nokia6235''', True, {'''j2me_cldc_1_1''':True,'''model_name''':6235,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':24}) +devices.devids['''nokia_6235_ver1_subs100v0800nep'''] = devclass(devices.devids['''nokia_6235_ver1'''], '''nokia_6235_ver1_subs100v0800nep''', '''Nokia6235/1.0 (S100V0800.nep) UP.Browser/6.2.3.2 MMP/2.0''', False, {'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2'''}) +devices.devids['''nokia_6235_ver1_sub0524'''] = devclass(devices.devids['''nokia_6235_ver1'''], '''nokia_6235_ver1_sub0524''', '''Nokia6235/2.0 (05.24) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6235i_ver1'''] = devclass(devices.devids['''nokia_6235_ver1'''], '''nokia_6235i_ver1''', '''Nokia6235i''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''6235i'''}) +devices.devids['''nokia_6235i_ver1_sub0524'''] = devclass(devices.devids['''nokia_6235i_ver1'''], '''nokia_6235i_ver1_sub0524''', '''Nokia6235i/2.0 (05.24) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia6236i_ver1_usa'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nokia6236i_ver1_usa''', '''NOKIA-6236i''', True, {'''brand_name''':'''Nokia''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':128,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':24,'''mms_mp3''':True,'''mms_qcelp''':True,'''model_name''':'''6236i (Verizon)''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':307200,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':24,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':307200,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':307200,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''verizon_nokia6236i_ver1_sub6232'''] = devclass(devices.devids['''nokia6236i_ver1_usa'''], '''verizon_nokia6236i_ver1_sub6232''', '''NOKIA-6236i UP.Browser/6.2.3.2 MMP/2.0''', False, None) +devices.devids['''verizon_nokia6236i_ver1'''] = devclass(devices.devids['''nokia6236i_ver1_usa'''], '''verizon_nokia6236i_ver1''', '''nok6236v1''', True, {'''model_name''':'''6236i (Verizon Wireless)''','''nokia_ringtone''':False,'''ringtone_amr''':False,'''ringtone_mp3''':True}) +devices.devids['''nokia_6250_ver1'''] = devclass(devices.devids['''nokia_6210_ver1'''], '''nokia_6250_ver1''', '''Nokia6250''', True, {'''max_image_height''':39,'''model_name''':6250}) +devices.devids['''nokia_6250_ver1_sub'''] = devclass(devices.devids['''nokia_6250_ver1'''], '''nokia_6250_ver1_sub''', '''Nokia6250/1.0''', False, None) +devices.devids['''nokia_6250_ver1_sub300'''] = devclass(devices.devids['''nokia_6250_ver1'''], '''nokia_6250_ver1_sub300''', '''Nokia6250/1.0 (03.00)''', False, None) +devices.devids['''nokia_6255_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6255_ver1''', '''Nokia6255''', True, {'''colors''':65536,'''j2me_aac''':True,'''j2me_cldc_1_1''':True,'''j2me_mp3''':True,'''j2me_screen_height''':160,'''max_image_height''':115,'''mms_3gpp''':True,'''mms_video''':True,'''model_name''':6255,'''resolution_height''':160,'''ringtone_amr''':True,'''ringtone_voices''':40,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_acodec_amr''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':False,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_wmv''':False,'''voices''':40,'''wallpaper_colors''':16}) +devices.devids['''nokia_6255_ver1_sub524'''] = devclass(devices.devids['''nokia_6255_ver1'''], '''nokia_6255_ver1_sub524''', '''Nokia6255/2.0 (05.24) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6255i_ver1'''] = devclass(devices.devids['''nokia_6255_ver1'''], '''nokia_6255i_ver1''', '''Nokia6255i''', True, {'''model_name''':'''6255i''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False}) +devices.devids['''nokia_6255i_ver1_subn10004w2123'''] = devclass(devices.devids['''nokia_6255i_ver1'''], '''nokia_6255i_ver1_subn10004w2123''', '''Nokia6255i/1.0 (N100_04w21_23.nbr) UP.Browser/6.2.3.2.h.1.102 (GUI) MMP/2.0''', False, None) +devices.devids['''nokia_6255i_ver1_suby12huang'''] = devclass(devices.devids['''nokia_6255i_ver1'''], '''nokia_6255i_ver1_suby12huang''', '''Nokia6255i/1.0 (y12huang) UP.Browser/6.2.3.2.h.1.102 (GUI) MMP/2.0''', False, None) +devices.devids['''nokia_6256i_ver1'''] = devclass(devices.devids['''nokia_6255_ver1'''], '''nokia_6256i_ver1''', '''NOKIA-6256i''', False, {'''model_name''':'''6256i''','''qcelp''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True}) +devices.devids['''nokia_6256i_ver1_sub6232'''] = devclass(devices.devids['''nokia_6256i_ver1'''], '''nokia_6256i_ver1_sub6232''', '''NOKIA-6256i UP.Browser/6.2.3.2 MMP/2.0''', False, None) +devices.devids['''verizon_nokia6256i_ver1'''] = devclass(devices.devids['''nokia_6256i_ver1'''], '''verizon_nokia6256i_ver1''', '''nok6256v1''', True, {'''directdownload_support''':False,'''model_name''':'''6256i (Verizon Wireless)''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False}) +devices.devids['''nokia_6260_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp20'''], '''nokia_6260_ver1''', '''Nokia6260''', True, {'''aac''':True,'''colors''':65536,'''j2me_aac''':True,'''j2me_bits_per_pixel''':16,'''j2me_h263''':True,'''j2me_heap_size''':29360128,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_realmedia''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''j2me_storage_size''':4823449,'''j2me_wav''':True,'''max_data_rate''':40,'''max_image_height''':193,'''max_image_width''':171,'''mms_max_size''':107250,'''mms_vcalendar''':True,'''model_name''':6260,'''picture''':True,'''picture_max_height''':193,'''picture_preferred_height''':193,'''ringtone_aac''':True,'''ringtone_voices''':48,'''rows''':9,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6260r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':48,'''wallpaper_colors''':16,'''xhtml_supports_file_upload''':False}) +devices.devids['''nokia_6260_ver1_sub204320'''] = devclass(devices.devids['''nokia_6260_ver1'''], '''nokia_6260_ver1_sub204320''', '''Nokia6260/2.0 (2.0432.0) SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6260_ver1_sub304360ch'''] = devclass(devices.devids['''nokia_6260_ver1'''], '''nokia_6260_ver1_sub304360ch''', '''Nokia6260/2.0 (3.0436.0ch) SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6265_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6265_ver1''', '''Nokia6265''', True, {'''aac''':True,'''colors''':262144,'''max_image_height''':300,'''max_image_width''':240,'''model_name''':6265,'''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_max_frame_rate''':15,'''video_mp4''':True,'''video_qcif''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18}) +devices.devids['''nokia_6265_ver1_subhl100v0401_vivnep'''] = devclass(devices.devids['''nokia_6265_ver1'''], '''nokia_6265_ver1_subhl100v0401_vivnep''', '''Nokia6265/2.0 (HL100V0401_viv.nep) UP.Browser/6.2.3.8 MMP/2.0''', False, {'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2'''}) +devices.devids['''nokia_6265i_ver1'''] = devclass(devices.devids['''nokia_6265_ver1'''], '''nokia_6265i_ver1''', '''Nokia6265i''', True, {'''model_name''':'''6265i''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_6265i_sub20hl100v1200'''] = devclass(devices.devids['''nokia_6265i_ver1'''], '''nokia_6265i_sub20hl100v1200''', '''Nokia6265i/2.0 (HL100V1200.nep) UP.Browser/6.2.3.8 MMP/2.0''', False, None) +devices.devids['''nokia_6270_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6270_ver1''', '''Nokia6270''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':18,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':131072,'''max_image_height''':300,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':6270,'''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':5,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6270r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':18,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''nokia_6270_ver1_sub0353'''] = devclass(devices.devids['''nokia_6270_ver1'''], '''nokia_6270_ver1_sub0353''', '''Nokia6270/2.0 (03.53) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6270_ver1_sub0365'''] = devclass(devices.devids['''nokia_6270_ver1'''], '''nokia_6270_ver1_sub0365''', '''Nokia6270/2.0 (03.65) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6267_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6267_ver1''', '''Nokia6267''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':262144,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_1''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':131072,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':6267,'''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N6267r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_vcodec_h264''':10,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''nokia_6267_ver1_sub1'''] = devclass(devices.devids['''nokia_6267_ver1'''], '''nokia_6267_ver1_sub1''', '''Nokia6267/2.0 Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_6275_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6275_ver1''', '''Nokia6275''', True, {'''aac''':True,'''awb''':True,'''colors''':262144,'''columns''':15,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_deck_size''':131072,'''max_image_height''':211,'''max_image_width''':218,'''mms_3gpp''':True,'''mms_max_height''':1218,'''mms_max_size''':300000,'''mms_max_width''':1616,'''mms_rmf''':True,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':6275,'''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':16,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''uaprof''':'''http://mms.movilnet.com.ve/NOKIA6275.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True,'''xhtml_support_level''':3}) +devices.devids['''nokia_6275_sub20bl100v0400'''] = devclass(devices.devids['''nokia_6275_ver1'''], '''nokia_6275_sub20bl100v0400''', '''Nokia6275/2.0 (BL100V0400.nep) UP.Browser/6.2.3.8 MMP/2.0''', False, None) +devices.devids['''nokia_6275i_ver1'''] = devclass(devices.devids['''nokia_6275_ver1'''], '''nokia_6275i_ver1''', '''Nokia6275i''', True, {'''model_name''':'''6275i''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_6280_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6280_ver1''', '''Nokia6280''', True, {'''aac''':True,'''awb''':True,'''colors''':262144,'''columns''':15,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''j2me_3dapi''':True,'''j2me_btapi''':True,'''j2me_canvas_height''':320,'''j2me_canvas_width''':240,'''j2me_cldc_1_1''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':384,'''max_deck_size''':131072,'''max_image_height''':211,'''max_image_width''':218,'''mms_3gpp''':True,'''mms_max_height''':1218,'''mms_max_size''':300000,'''mms_max_width''':1616,'''mms_rmf''':True,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':6280,'''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_3gpp''':False,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':16,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_max_bit_rate''':16000,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''streaming_video_sqcif''':True,'''streaming_video_sqcif_max_height''':96,'''streaming_video_sqcif_max_width''':128,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6280r100.xml''','''uaprof2''':'''http://nds1.nds.nokia.com/uaprof/N6280r600_3G.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True}) +devices.devids['''nokia_6280_ver1_sub0311'''] = devclass(devices.devids['''nokia_6280_ver1'''], '''nokia_6280_ver1_sub0311''', '''Nokia6280/2.0 (03.11) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_6282_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6282_ver1''', '''Nokia6282''', True, {'''brand_name''':'''Nokia''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''jpg''':True,'''max_data_rate''':384,'''max_image_height''':240,'''max_image_width''':240,'''model_name''':6282,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''wbmp''':True}) +devices.devids['''nokia_6282_ver1_sub0354'''] = devclass(devices.devids['''nokia_6282_ver1'''], '''nokia_6282_ver1_sub0354''', '''Nokia6282/2.0 (03.54) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6288_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6288_ver1''', '''Nokia6288''', True, {'''aac''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''columns''':15,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''j2me_cldc_1_1''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':384,'''max_deck_size''':131072,'''max_image_height''':300,'''max_image_width''':240,'''mms_3gpp''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':6288,'''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_3gpp''':False,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':16,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6288r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h264''':10,'''video_wmv''':False,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True}) +devices.devids['''nokia_6288_ver1_sub0592'''] = devclass(devices.devids['''nokia_6288_ver1'''], '''nokia_6288_ver1_sub0592''', '''Nokia6288/2.0 (05.92) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_6290_ver1'''] = devclass(devices.devids['''nokia_generic_series60'''], '''nokia_6290_ver1''', '''Nokia6290''', True, {'''aac''':True,'''colors''':2097152,'''columns''':15,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''2_0''','''html_web_3_2''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':300,'''max_image_width''':240,'''model_name''':6290,'''mp3''':True,'''preferred_markup''':'''html_web_3_2''','''resolution_height''':320,'''resolution_width''':240,'''rows''':16,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6290r100-2G.xml''','''uaprof2''':'''http://nds1.nds.nokia.com/uaprof/N6290r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_real_media_10''':True,'''video_real_media_9''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''xmf''':True}) +devices.devids['''nokia_6290_ver1_sub302'''] = devclass(devices.devids['''nokia_6290_ver1'''], '''nokia_6290_ver1_sub302''', '''Nokia6290/1.00 Series60/3.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6290_ver1_sub303'''] = devclass(devices.devids['''nokia_6290_ver1'''], '''nokia_6290_ver1_sub303''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Nokia6290/3.03; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''has_pointing_device''':True,'''max_data_rate''':200,'''xhtml_display_accesskey''':False,'''xhtml_format_as_attribute''':False,'''xhtml_support_level''':4}) +devices.devids['''nokia_6300_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6300_ver1''', '''Nokia6300''', True, {'''aac''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_javascript''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':16777216,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':300,'''max_image_width''':218,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':309760,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':6300,'''mp3''':True,'''nokia_ringtone''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_mp3''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6300r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':10,'''video_wmv''':False,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xmf''':True}) +devices.devids['''nokia_6300_ver1_sub0479'''] = devclass(devices.devids['''nokia_6300_ver1'''], '''nokia_6300_ver1_sub0479''', '''Nokia6300X/2.0 (03.50) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6300_ver1_sub20p'''] = devclass(devices.devids['''nokia_6300_ver1'''], '''nokia_6300_ver1_sub20p''', '''Nokia6300/2.0 (p) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6300_ver1_sub0470'''] = devclass(devices.devids['''nokia_6300_ver1'''], '''nokia_6300_ver1_sub0470''', '''Nokia6300/2.0 (04.70) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6301_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6301_ver1''', '''Nokia6301''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':262144,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_1''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':32000,'''max_image_height''':300,'''max_image_width''':226,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':309760,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':6301,'''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N6301r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''nokia_6301_ver1_subua'''] = devclass(devices.devids['''nokia_6301_ver1'''], '''nokia_6301_ver1_subua''', '''Nokia6301/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6305i_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_6305i_ver1''', '''Nokia6305i''', True, {'''colors''':262144,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''6305i''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wml_1_1''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''verizon_nokia6305i_ver1'''] = devclass(devices.devids['''nokia_6305i_ver1'''], '''verizon_nokia6305i_ver1''', '''nok6305v1''', True, {'''gif_animated''':True,'''model_name''':'''6305i (Verizon Wireless)''','''oma_v_1_0_forwardlock''':True}) +devices.devids['''nokia_6305i_verizon_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nokia_6305i_verizon_ver1''', '''NOKIA-6305i/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':16777216,'''columns''':12,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':65535,'''max_image_height''':200,'''max_image_width''':176,'''model_name''':'''6305i (Verizon)''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''rows''':6,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vtext.com/nokia/6305/6305v1.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''xhtml_support_level''':3}) +devices.devids['''nokia_6560_ver1'''] = devclass(devices.devids['''nokia_generic_series30'''], '''nokia_6560_ver1''', '''Nokia6560''', True, {'''bmp''':True,'''colors''':4096,'''columns''':18,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':219136,'''j2me_max_jar_size''':65536,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''j2me_storage_size''':398336,'''jpg''':True,'''max_deck_size''':5600,'''max_image_height''':96,'''max_image_width''':128,'''model_name''':6560,'''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_voices''':16,'''rows''':5,'''sckl_groupgraphic''':True,'''sckl_ringtone''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6560r100.xml''','''wallpaper_colors''':12,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''xhtml_table_support''':True}) +devices.devids['''nokia_6560_ver1_sub'''] = devclass(devices.devids['''nokia_6560_ver1'''], '''nokia_6560_ver1_sub''', '''Nokia6560/1.0''', False, {'''max_data_rate''':9}) +devices.devids['''nokia_6560_ver1_sub0101'''] = devclass(devices.devids['''nokia_6560_ver1'''], '''nokia_6560_ver1_sub0101''', '''Nokia6560/1.0 (01.01) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':9}) +devices.devids['''nokia_6560_ver1_sub0124'''] = devclass(devices.devids['''nokia_6560_ver1'''], '''nokia_6560_ver1_sub0124''', '''Nokia6560/1.0 (01.24) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':9}) +devices.devids['''nokia_6310_ver1'''] = devclass(devices.devids['''nokia_generic_series30'''], '''nokia_6310_ver1''', '''Nokia6310''', True, {'''callericon''':True,'''columns''':15,'''iso8859_support''':True,'''model_name''':6310,'''ringtone_voices''':16,'''utf8_support''':True,'''wta_voice_call''':True}) +devices.devids['''nokia_6310_ver1_sub'''] = devclass(devices.devids['''nokia_6310_ver1'''], '''nokia_6310_ver1_sub''', '''Nokia6310/1.0''', False, None) +devices.devids['''nokia_6310_ver1_sub0240'''] = devclass(devices.devids['''nokia_6310_ver1'''], '''nokia_6310_ver1_sub0240''', '''Nokia6310/1.0 (02.40)''', False, None) +devices.devids['''nokia_6310i_ver1'''] = devclass(devices.devids['''nokia_6310_ver1'''], '''nokia_6310i_ver1''', '''Nokia6310i''', True, {'''j2me_bits_per_pixel''':1,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':146432,'''j2me_max_jar_size''':30720,'''j2me_midp_1_0''':True,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''j2me_storage_size''':182272,'''max_deck_size''':32200,'''model_name''':'''6310i''','''ringtone_mp3''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N6310r100.xml'''}) +devices.devids['''nokia_6310i_ver1_sub'''] = devclass(devices.devids['''nokia_6310i_ver1'''], '''nokia_6310i_ver1_sub''', '''Nokia6310i/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6310i_ver1_sub00'''] = devclass(devices.devids['''nokia_6310i_ver1'''], '''nokia_6310i_ver1_sub00''', '''Nokia6310i/1.0 () Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6310i_ver1_sub0305noNokia'''] = devclass(devices.devids['''nokia_6310i_ver1'''], '''nokia_6310i_ver1_sub0305noNokia''', '''6310i/1.0 (03.05) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6315i_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_6315i_ver1''', '''Nokia6315i''', True, {'''colors''':262144,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''6315i''','''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''verizon_nokia_6315i_ver1'''] = devclass(devices.devids['''nokia_6315i_ver1'''], '''verizon_nokia_6315i_ver1''', '''nok6315v1''', True, {'''model_name''':'''6315i (Verizon Wireless)''','''oma_v_1_0_forwardlock''':True,'''ringtone_qcelp''':True}) +devices.devids['''nokia_6340_ver1'''] = devclass(devices.devids['''nokia_generic_series30'''], '''nokia_6340_ver1''', '''Nokia6340/1.2.1''', True, {'''model_name''':6340}) +devices.devids['''nokia_6340_ver1_sub8012'''] = devclass(devices.devids['''nokia_6340_ver1'''], '''nokia_6340_ver1_sub8012''', '''Nokia6340/1.2.1 (8.01.2)''', False, None) +devices.devids['''nokia_6340i_ver1'''] = devclass(devices.devids['''nokia_6340_ver1'''], '''nokia_6340i_ver1''', '''Nokia6340i''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''6340i'''}) +devices.devids['''nokia_6340i_ver1_sub8010'''] = devclass(devices.devids['''nokia_6340i_ver1'''], '''nokia_6340i_ver1_sub8010''', '''Nokia6340i/1.2.1 (8.01.0) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_6500_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6500_ver1''', '''Nokia6500''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_1''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':131072,'''max_image_height''':300,'''max_image_width''':226,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':6500,'''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N6500cr101.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_vcodec_h264''':10,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''nokia_6500_ver1_sub0453'''] = devclass(devices.devids['''nokia_6500_ver1'''], '''nokia_6500_ver1_sub0453''', '''Nokia6500/1.0 (04.53)''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_6500_ver1_sub0452'''] = devclass(devices.devids['''nokia_6500_ver1'''], '''nokia_6500_ver1_sub0452''', '''Nokia6500c/2.0 Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_6500s_ver1'''] = devclass(devices.devids['''nokia_6500_ver1'''], '''nokia_6500s_ver1''', '''Nokia6500s/2.0 Profile/MIDP-2.1 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':131072,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''6500s''','''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6500sr100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''nokia_6500s_ver1_subua'''] = devclass(devices.devids['''nokia_6500s_ver1'''], '''nokia_6500s_ver1_subua''', '''Nokia6500s-1/2.0 (shk3.56_p) Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_6510_ver1'''] = devclass(devices.devids['''nokia_generic_series30'''], '''nokia_6510_ver1''', '''Nokia6510''', True, {'''ascii_support''':False,'''callericon''':True,'''model_name''':6510}) +devices.devids['''nokia_6510_ver1_sub'''] = devclass(devices.devids['''nokia_6510_ver1'''], '''nokia_6510_ver1_sub''', '''Nokia6510/1.0''', False, None) +devices.devids['''nokia_6510_ver1_sub322'''] = devclass(devices.devids['''nokia_6510_ver1'''], '''nokia_6510_ver1_sub322''', '''Nokia6510/1.0 (03.22)''', False, None) +devices.devids['''nokia_6590_ver1'''] = devclass(devices.devids['''nokia_generic_series30'''], '''nokia_6590_ver1''', '''Nokia6590''', True, {'''callericon''':True,'''colors''':4096,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''max_deck_size''':2800,'''model_name''':6590,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''uaprof''':'''http://nds.nokia.com/uaprof/N6590r200.xml''','''wallpaper_colors''':12,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_support_level''':1,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_6590_ver1_sub10'''] = devclass(devices.devids['''nokia_6590_ver1'''], '''nokia_6590_ver1_sub10''', '''Nokia6590/1.0(None)''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6590_ver1_sub3020'''] = devclass(devices.devids['''nokia_6590_ver1'''], '''nokia_6590_ver1_sub3020''', '''6590/1.0(30.20)''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6590_ver1_sub3032'''] = devclass(devices.devids['''nokia_6590_ver1'''], '''nokia_6590_ver1_sub3032''', '''6590/1.0(30.32)''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6590_ver1_sub3034'''] = devclass(devices.devids['''nokia_6590_ver1'''], '''nokia_6590_ver1_sub3034''', '''Nokia6590/1.0(30.34)''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_660_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_660_ver1''', '''Nokia660''', False, None) +devices.devids['''nokia_6600_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp20'''], '''nokia_6600_ver1''', '''Nokia6600''', True, {'''colors''':65536,'''j2me_bits_per_pixel''':16,'''j2me_heap_size''':3145728,'''j2me_jtwi''':True,'''j2me_mpeg4''':True,'''j2me_realvideo''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''max_deck_size''':900000,'''max_image_width''':172,'''mms_max_size''':107250,'''mms_mp3''':False,'''mms_vcalendar''':True,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''model_name''':6600,'''mp3''':False,'''ringtone_3gpp''':True,'''ringtone_mp3''':False,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6600r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_directdownload_size_limit''':153600,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''xhtml_supports_file_upload''':False}) +devices.devids['''nokia_6600_ver1_substar'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_substar''', '''Nokia6600/*''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_empty'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_empty''', '''Nokia6600/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub00'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub00''', '''Nokia6600/1.0 SymbianOS''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_subsymb61'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_subsymb61''', '''Nokia6600/1.0 SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_subsymb7021'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_subsymb7021''', '''Nokia6600/1.0 SymbianOS/7.0 Series60/2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_subsymb70s20'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_subsymb70s20''', '''Nokia6600/1.0 SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_subsymb70s21'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_subsymb70s21''', '''Nokia6600/1.0 SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub2330'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub2330''', '''Nokia6600/1.0 (2.33.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub2350'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub2350''', '''Nokia6600/1.0 (2.35.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub2360'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub2360''', '''Nokia6600/1.0 (2.36.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub2390'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub2390''', '''Nokia6600/1.0 (2.39.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub2410'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub2410''', '''Nokia6600/1.0 (2.41.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub2430'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub2430''', '''Nokia6600/1.0 (2.43.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub2450'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub2450''', '''Nokia6600/1.0 (2.45.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub2470'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub2470''', '''Nokia6600/1.0 (2.47.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub2491'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub2491''', '''Nokia6600/1.0 (2.49.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub2500'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub2500''', '''Nokia6600/1.0 (2.50.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub2510'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub2510''', '''Nokia6600/1.0 (2.51.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub34_91'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub34_91''', '''Nokia6600/1.0 (3.4.9.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub3371'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub3371''', '''Nokia6600/1.0 (3.37.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub3373'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub3373''', '''Nokia6600/1.0 (3.37.3) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub3380'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub3380''', '''Nokia6600/1.0 (3.38.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub3401'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub3401''', '''Nokia6600/1.0 (3.40.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub3403'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub3403''', '''Nokia6600/1.0 (3.40.3) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub3410'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub3410''', '''Nokia6600/1.0 (3.41.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub3411'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub3411''', '''Nokia6600/1.0 (3.41.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub3421'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub3421''', '''Nokia6600/1.0 (3.42.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub3421upbrowser'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub3421upbrowser''', '''Nokia6600/1.0 (3.42.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.4.100 (GUI) MMP/2.0''', False, {'''max_data_rate''':40,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''xhtml_support_level''':1}) +devices.devids['''nokia_6600_ver1_sub3441'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub3441''', '''Nokia6600/1.0 (3.44.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub3480'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub3480''', '''Nokia6600/1.0 (3.48.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub3491'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub3491''', '''Nokia6600/1.0 (3.49.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub3492'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub3492''', '''Nokia6600/1.0 (3.49.2) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub4030'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub4030''', '''Nokia6600/1.0 (4.03.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub4031'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub4031''', '''Nokia6600/1.0 (4.03.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub4040'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub4040''', '''Nokia6600/2.0 (4.04.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub4050'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub4050''', '''Nokia6600/1.0 (4.05.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub4052'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub4052''', '''Nokia6600/1.0 (4.05.2) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub4070'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub4070''', '''Nokia6600/1.0 (4.07.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub4091'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub4091''', '''Nokia6600/1.0(4.09.1)''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub4091symbianos2'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub4091symbianos2''', '''Nokia6600/1.0 (4.09.1) SymbianOS/2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub4091symbian70s'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub4091symbian70s''', '''Nokia6600/1.0 (4.09.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub4091symbian70'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub4091symbian70''', '''Nokia6600/1.0 (4.09.1) SymbianOS/7.0 Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub4091space'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub4091space''', '''Nokia6600/1.0 (4.09.1) SymbianOS/7.0 Series 60/2.0 Profile/ MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub4170'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub4170''', '''Nokia6600/1.0 (4.17.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub5170'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub5170''', '''Nokia6600/1.0 (5.17.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub5180'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub5180''', '''Nokia6600/1.0 (5.18.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub5220'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub5220''', '''Nokia6600/1.0 (5.22.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub5230'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub5230''', '''Nokia6600/1.0 (5.23.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub5241'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub5241''', '''Nokia6600/1.0 (5.24.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub5270'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub5270''', '''Nokia6600/1.0 (5.27.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sublbe'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sublbe''', '''Nokia6600/1.0 SymbianOS/6.1 (compatible; LBE)''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_sub104091'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_sub104091''', '''Nokia 6600/1.0 (4.09.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6600_ver1_subMinimo'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''nokia_6600_ver1_subMinimo''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series60/2.0 Nokia6600/4.06.0 Profile/MIDP-2.0 Configuration/CLDC-1.5)''', False, {'''max_data_rate''':40,'''preferred_markup''':'''html_web_4_0'''}) +devices.devids['''nokia_6610_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_6610_ver1''', '''Nokia6610''', True, {'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''jpg''':False,'''max_deck_size''':65535,'''model_name''':6610,'''png''':False,'''ringtone_amr''':False,'''ringtone_voices''':32,'''uaprof''':'''http://nds.nokia.com/uaprof/N6610r100.xml''','''xhtml_supports_file_upload''':False}) +devices.devids['''nokia_6610_ver1_sub00'''] = devclass(devices.devids['''nokia_6610_ver1'''], '''nokia_6610_ver1_sub00''', '''Nokia6610/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6610_ver1_sub309'''] = devclass(devices.devids['''nokia_6610_ver1'''], '''nokia_6610_ver1_sub309''', '''Nokia6610/1.0 (3.09) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6610_ver2'''] = devclass(devices.devids['''nokia_6610_ver1'''], '''nokia_6610_ver2''', '''Nokia6610/1.0 r200''', False, {'''max_data_rate''':40,'''mms_max_size''':46080}) +devices.devids['''nokia_6610_ver2_sub418'''] = devclass(devices.devids['''nokia_6610_ver2'''], '''nokia_6610_ver2_sub418''', '''Nokia6610/1.0 (4.18) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6610i_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_6610i_ver1''', '''Nokia6610I''', True, {'''columns''':16,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''max_deck_size''':65535,'''max_image_width''':124,'''mms_max_size''':46080,'''model_name''':'''6610i''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_voices''':16,'''rows''':8,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6610ir100.xml''','''voices''':16,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_file_upload''':False,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_6610i_ver1_sub'''] = devclass(devices.devids['''nokia_6610i_ver1'''], '''nokia_6610i_ver1_sub''', '''Nokia6610I/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6610i_ver1_sub310'''] = devclass(devices.devids['''nokia_6610i_ver1'''], '''nokia_6610i_ver1_sub310''', '''Nokia6610I/1.0 (3.10) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6610i_ver1_sublower'''] = devclass(devices.devids['''nokia_6610i_ver1'''], '''nokia_6610i_ver1_sublower''', '''Nokia6610i''', False, None) +devices.devids['''nokia_6620_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp20'''], '''nokia_6620_ver1''', '''Nokia6620''', True, {'''aac''':True,'''colors''':65536,'''columns''':15,'''j2me_bits_per_pixel''':16,'''j2me_mpeg4''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''mms_max_size''':107250,'''mms_vcalendar''':True,'''model_name''':6620,'''ringtone_aac''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6620r200.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''xhtml_supports_file_upload''':False}) +devices.devids['''nokia_6620_ver1_sub115'''] = devclass(devices.devids['''nokia_6620_ver1'''], '''nokia_6620_ver1_sub115''', '''Nokia6620/1.0 (1.15) SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6620_ver1_sub2014'''] = devclass(devices.devids['''nokia_6620_ver1'''], '''nokia_6620_ver1_sub2014''', '''Nokia6620/2.0 (2.01.4) SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6630_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp20'''], '''nokia_6630_ver1''', '''Nokia6630''', True, {'''aac''':True,'''colors''':65536,'''j2me_3dapi''':True,'''j2me_aac''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_1''':True,'''j2me_h263''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_realmedia''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''j2me_storage_size''':10485760,'''j2me_wav''':True,'''max_data_rate''':384,'''max_image_height''':193,'''max_image_width''':166,'''mms_max_size''':307200,'''mms_vcalendar''':True,'''model_name''':6630,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':208,'''resolution_width''':176,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''rows''':9,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6630r100.xml''','''uaprof2''':'''http://nds1.nds.nokia.com/uaprof/N6630r100-VFKK3G.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''xhtml_marquee_as_css_property''':True,'''xhtml_supports_css_cell_table_coloring''':True}) +devices.devids['''nokia_6630_ver1_submoz1253'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1_submoz1253''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series60/2.6 Nokia6630/1.25.3 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6630_ver1_sub'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1_sub''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series60/2.6 Nokia6630''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6630_ver1_sub2372'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1_sub2372''', '''Nokia6630/2.37.2 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6630_ver1_sub10'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1_sub10''', '''Nokia6630/1.0''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6630_ver1_sub1501'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1_sub1501''', '''Nokia6630/1.0 (1.50.1) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6630_ver1_sub2397'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1_sub2397''', '''Nokia6630/1.0 (2.39.7) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6630_ver1voda23981'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1voda23981''', '''Vodafone/1.0/V702NK/NKJ001 Series60/2.6 Nokia6630/2.39.81 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6630_ver1_sub4060'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1_sub4060''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series60/2.6 Nokia6630/4.06.0 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6630_ver1voda4060'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1voda4060''', '''Vodafone/1.0/V702NK/NKJ001 Series60/2.6 Nokia6630/4.06.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6630_ver1voda239129'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1voda239129''', '''Vodafone/1.0/V702NK/NKJ001 Series60/2.6 Nokia6630/2.39.129 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6630_ver1voda239126'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1voda239126''', '''Vodafone/1.0/V702NK/NKJ001 Series60/2.6 Nokia6630/2.39.126 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6630_ver1voda239126imei'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1voda239126imei''', '''Vodafone/1.0/V702NK/NKJ001/IMEI/SNXXXXXXXXXXXXXXX Series60/2.6 Nokia6630/2.39.126 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6630_ver1_sub404374'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1_sub404374''', '''Nokia6630/2.0 (4.0437.4) SymbianOS/7.0s Series60/2.1Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6638_ver1'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6638_ver1''', '''Nokia6638''', True, {'''compactmidi''':True,'''model_name''':6638,'''uaprof''':'''http://device.sprintpcs.com/Nokia/NOKTESTSKU/L1250006.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_6638_ver1_sub4060'''] = devclass(devices.devids['''nokia_6638_ver1'''], '''nokia_6638_ver1_sub4060''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series60/2.7 Nokia6638/4.06.0 Profile/MIDP-2.0 Configuration/CLDC-1.5)''', False, {'''max_data_rate''':9}) +devices.devids['''nokia_6650_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_6650_ver1''', '''Nokia6650''', True, {'''amr''':True,'''built_in_camera''':True,'''columns''':25,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''expiration_date''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':838656,'''j2me_screen_height''':160,'''max_data_rate''':384,'''max_deck_size''':115000,'''max_image_height''':115,'''max_no_of_bookmarks''':30,'''max_url_length_in_requests''':256,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_mp4''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''model_name''':6650,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''ringtone_amr''':True,'''ringtone_voices''':24,'''rows''':7,'''uaprof''':'''http://nds.nokia.com/uaprof/N6650r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':102400,'''video_max_frame_rate''':15,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':24,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_file_upload''':False,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_6650_ver1_subnoversion'''] = devclass(devices.devids['''nokia_6650_ver1'''], '''nokia_6650_ver1_subnoversion''', '''Nokia6650/1.0 Profile/MIDP-1.0Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6650_ver1_sub02'''] = devclass(devices.devids['''nokia_6650_ver1'''], '''nokia_6650_ver1_sub02''', '''Nokia6650/1.0 (02) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6650_ver1_sub1101'''] = devclass(devices.devids['''nokia_6650_ver1'''], '''nokia_6650_ver1_sub1101''', '''Nokia6650/1.0 (1.101) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6650_ver1_sub1220'''] = devclass(devices.devids['''nokia_6650_ver1'''], '''nokia_6650_ver1_sub1220''', '''Nokia6650/1.0 (12.20) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6650_ver1_subj2me'''] = devclass(devices.devids['''nokia_6650_ver1'''], '''nokia_6650_ver1_subj2me''', '''Nokia6650/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6650_ver2'''] = devclass(devices.devids['''nokia_6650_ver1'''], '''nokia_6650_ver2''', '''Nokia6650/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6650_ver2_sub0412'''] = devclass(devices.devids['''nokia_6650_ver2'''], '''nokia_6650_ver2_sub0412''', '''Nokia6650/2.0 (04.12) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6650_ver2_subntm'''] = devclass(devices.devids['''nokia_6650_ver2'''], '''nokia_6650_ver2_subntm''', '''Nokia6650/2.0 (NTM) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6650x_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_6650x_ver1''', '''Nokia6650x''', False, None) +devices.devids['''nokia_6650x_ver1_sub00'''] = devclass(devices.devids['''nokia_6650x_ver1'''], '''nokia_6650x_ver1_sub00''', '''Nokia6650x/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_6651_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_6651_ver1''', '''Nokia6651''', True, {'''amr''':True,'''columns''':25,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_3gpp''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_h263''':True,'''j2me_heap_size''':524288,'''j2me_max_jar_size''':307200,'''j2me_mmapi_1_0''':True,'''j2me_screen_height''':160,'''j2me_storage_size''':8388608,'''j2me_wmapi_1_0''':True,'''max_data_rate''':384,'''max_image_height''':115,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_mp4''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''model_name''':6651,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''ringtone_amr''':True,'''ringtone_voices''':24,'''rows''':7,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6651r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_wmv''':False,'''voices''':24,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_6651_ver1_sub0305'''] = devclass(devices.devids['''nokia_6651_ver1'''], '''nokia_6651_ver1_sub0305''', '''Nokia6651/2.0 (03.05) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6670_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp20'''], '''nokia_6670_ver1''', '''Nokia6670''', True, {'''aac''':True,'''colors''':65536,'''j2me_aac''':True,'''j2me_bits_per_pixel''':16,'''j2me_h263''':True,'''j2me_heap_size''':8388608,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_realvideo''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''j2me_storage_size''':41943040,'''max_deck_size''':4194304,'''max_image_width''':166,'''mms_max_size''':100000,'''mms_vcalendar''':True,'''model_name''':6670,'''ringtone_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6670r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''xhtml_supports_file_upload''':False}) +devices.devids['''nokia_6670_ver1_sub304170ch'''] = devclass(devices.devids['''nokia_6670_ver1'''], '''nokia_6670_ver1_sub304170ch''', '''Nokia6670/2.0 (3.0417.0ch) Symbian OS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6680_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp20'''], '''nokia_6680_ver1''', '''Nokia6680''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':262144,'''columns''':15,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''epoc_bmp''':True,'''gif''':True,'''imelody''':True,'''j2me_aac''':True,'''j2me_bits_per_pixel''':18,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_h263''':True,'''j2me_jtwi''':True,'''j2me_midp_1_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_realvideo''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''j2me_storage_size''':10485760,'''j2me_wav''':True,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':4194304,'''max_image_height''':188,'''max_image_width''':166,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_symbian_install''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':6680,'''mp3''':True,'''nokia_ringtone''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_max_height''':193,'''picture_preferred_height''':193,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':208,'''resolution_width''':176,'''ringtone''':True,'''ringtone_3gpp''':False,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':48,'''ringtone_wav''':True,'''rmf''':True,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6680r100.xml''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':180,'''wav''':True,'''wbmp''':True,'''xhtml_support_level''':3}) +devices.devids['''nokia_6680_ver1_sub1501'''] = devclass(devices.devids['''nokia_6680_ver1'''], '''nokia_6680_ver1_sub1501''', '''Nokia6680/1.0 (1.50.1) Series60/2.6 Profile/MIDP-2.0''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6680_ver1_sub204021'''] = devclass(devices.devids['''nokia_6680_ver1'''], '''nokia_6680_ver1_sub204021''', '''Nokia6680/1.0 (2.04.021) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6680_ver1_sub30435'''] = devclass(devices.devids['''nokia_6680_ver1'''], '''nokia_6680_ver1_sub30435''', '''Nokia6680/1.0 (3.04.35) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6680_ver1_sub40407'''] = devclass(devices.devids['''nokia_6680_ver1'''], '''nokia_6680_ver1_sub40407''', '''Nokia6680/1.0 (4.04.07) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6680_ver1_sub7023119'''] = devclass(devices.devids['''nokia_6680_ver1'''], '''nokia_6680_ver1_sub7023119''', '''nokia6680 UP.Browser/7.0.2.3.119 (GUI) MMP/2.0 Push/PO''', False, {'''html_wi_oma_xhtmlmp_1_0''':True,'''max_data_rate''':200,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':3}) +devices.devids['''nokia_6681_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp20'''], '''nokia_6681_ver1''', '''Nokia6681''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''colors''':16777216,'''columns''':15,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''epoc_bmp''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':357000,'''max_image_height''':188,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_symbian_install''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':6681,'''mp3''':True,'''multipart_support''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_max_height''':193,'''picture_preferred_height''':193,'''png''':True,'''receiver''':True,'''resolution_height''':208,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rmf''':True,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N6681r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''nokia_6681_ver1_sub2300'''] = devclass(devices.devids['''nokia_6681_ver1'''], '''nokia_6681_ver1_sub2300''', '''Nokia6681/1.0 (2.30.0) Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6681_ver1_sub53701'''] = devclass(devices.devids['''nokia_6681_ver1'''], '''nokia_6681_ver1_sub53701''', '''Nokia6681/2.0 (5.37.01) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6682_ver1'''] = devclass(devices.devids['''nokia_6681_ver1'''], '''nokia_6682_ver1''', '''Nokia6682''', True, {'''aac''':True,'''colors''':262144,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''j2me_cldc_1_1''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''mms_max_size''':307200,'''mms_vcalendar''':True,'''model_name''':6682,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''ringtone_aac''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6682r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':24}) +devices.devids['''nokia_6682_ver1_sub2300'''] = devclass(devices.devids['''nokia_6682_ver1'''], '''nokia_6682_ver1_sub2300''', '''Nokia6682/1.0 (2.30.0) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6708_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_6708_ver1''', '''Nokia6708''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':20,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':208,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':300,'''max_image_width''':208,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':6708,'''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':208,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_wav''':True,'''rmf''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''tiff''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6708r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''nokia_6708_ver1_sub100'''] = devclass(devices.devids['''nokia_6708_ver1'''], '''nokia_6708_ver1_sub100''', '''Nokia6708/2.0 (V1.0.0) SymbianOS/7.0 UIQ/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6800_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_6800_ver1''', '''Nokia6800''', True, {'''has_qwerty_keyboard''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_wmapi_1_0''':True,'''jpg''':False,'''max_data_rate''':40,'''max_deck_size''':65536,'''mms_max_size''':46080,'''model_name''':6800,'''png''':False,'''xhtml_supports_file_upload''':False}) +devices.devids['''nokia_6800_ver1_sub196'''] = devclass(devices.devids['''nokia_6800_ver1'''], '''nokia_6800_ver1_sub196''', '''Nokia6800/1.0 (1.96) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_6800_ver2'''] = devclass(devices.devids['''nokia_6800_ver1'''], '''nokia_6800_ver2''', '''Nokia6800/2.0''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''jpg''':True,'''max_data_rate''':40,'''mms_max_height''':480,'''mms_max_size''':45000,'''mms_max_width''':640,'''model_name''':'''6800 US''','''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6800r200.xml''','''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_6800_ver2_subnoversion'''] = devclass(devices.devids['''nokia_6800_ver2'''], '''nokia_6800_ver2_subnoversion''', '''Nokia6800/2.0 () Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6800_ver2_sub413'''] = devclass(devices.devids['''nokia_6800_ver2'''], '''nokia_6800_ver2_sub413''', '''Nokia6800/2.0 (4.13) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6810_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_6810_ver1''', '''Nokia6810''', True, {'''amr''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':235520,'''max_data_rate''':200,'''mms_amr''':True,'''mms_max_height''':480,'''mms_max_size''':103000,'''mms_max_width''':640,'''mms_vcard''':True,'''model_name''':6810,'''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_mp3''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6810r100.xml''','''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_6810_ver1_sub329'''] = devclass(devices.devids['''nokia_6810_ver1'''], '''nokia_6810_ver1_sub329''', '''Nokia6810/2.0 (3.29) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6820_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_6820_ver1''', '''Nokia6820''', True, {'''amr''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_3gpp''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':235520,'''max_data_rate''':200,'''max_deck_size''':4194304,'''max_image_width''':118,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_max_height''':480,'''mms_max_size''':103000,'''mms_max_width''':640,'''mms_mp4''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''model_name''':6820,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_amr''':True,'''ringtone_voices''':24,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6820r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':153600,'''video_max_frame_rate''':15,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_oma_size_limit''':102400,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_wmv''':False,'''voices''':16,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_6820_ver1_sub311'''] = devclass(devices.devids['''nokia_6820_ver1'''], '''nokia_6820_ver1_sub311''', '''Nokia6820/2.0 (3.11) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6820b_ver1'''] = devclass(devices.devids['''nokia_6820_ver1'''], '''nokia_6820b_ver1''', '''Nokia6820b''', True, {'''model_name''':'''6820b''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_6822_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6822_ver1''', '''Nokia6822''', True, {'''colors''':65536,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''j2me_amr''':True,'''j2me_cldc_1_1''':True,'''j2me_h263''':True,'''j2me_max_jar_size''':143360,'''j2me_storage_size''':5138022,'''max_data_rate''':40,'''max_deck_size''':4194304,'''max_image_width''':118,'''mms_3gpp''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':6822,'''ringtone_amr''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6822r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wallpaper_colors''':16}) +devices.devids['''nokia_6822_ver1_sub438'''] = devclass(devices.devids['''nokia_6822_ver1'''], '''nokia_6822_ver1_sub438''', '''Nokia6822/2.0 (4.38) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7110_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_7110_ver1''', '''Nokia7110/1.0 (04''', True, {'''callericon''':True,'''max_image_height''':44,'''max_image_width''':96,'''model_name''':7110,'''proportional_font''':True,'''resolution_height''':44,'''resolution_width''':96,'''rows''':4,'''table_support''':False,'''wml_make_phone_call_string''':'''none'''}) +devices.devids['''nokia_7110_ver1_sub7110'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''nokia_7110_ver1_sub7110''', '''Nokia7110''', False, None) +devices.devids['''nokia_7110_ver1_subdeckit10'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''nokia_7110_ver1_subdeckit10''', '''Nokia7110 (DeckIt/1.0)''', False, None) +devices.devids['''what_is_this_ver3'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''what_is_this_ver3''', '''Nokia7110/1.0_(01.11)''', False, None) +devices.devids['''what_is_this_ver4'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''what_is_this_ver4''', '''Nokia7110/1.0 (30.05)''', False, None) +devices.devids['''nokia_7110_suspectx_ver1'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''nokia_7110_suspectx_ver1''', '''Nokia7110/1.0''', False, None) +devices.devids['''nokia_7110_suspectxx_ver1'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''nokia_7110_suspectxx_ver1''', '''Nokia7110/1.0 (1.23)''', False, None) +devices.devids['''nokia_7110_ver1_subng10'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''nokia_7110_ver1_subng10''', '''Nokia7110 (compatible; NG/1.0)''', False, None) +devices.devids['''nokia_7110_ver1_subaplpi05j'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''nokia_7110_ver1_subaplpi05j''', '''Nokia7110/1.0 (04.76) aplpi.com v0.5j''', False, None) +devices.devids['''nokia_7110_ver1_subhandy05'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''nokia_7110_ver1_subhandy05''', '''Nokia7110/1.0 (04.76) handy.de v0.5''', False, None) +devices.devids['''nokia_7110_ver1_submobone105'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''nokia_7110_ver1_submobone105''', '''Nokia7110/1.0 (04.84; mostly compatible; Mobone 1.05)''', False, None) +devices.devids['''nokia_7110_ver1_submobonewbmp2gif100'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''nokia_7110_ver1_submobonewbmp2gif100''', '''Nokia7110/1.0 (mostly compatible; Mobone WBMP2GIF 1.00)''', False, None) +devices.devids['''nokia_7110_ver1_sub480'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''nokia_7110_ver1_sub480''', '''Nokia7110/1.0 (4.80)''', False, None) +devices.devids['''nokia_7110_ver1_sub467'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''nokia_7110_ver1_sub467''', '''Nokia7110/1.0 (04.67)''', False, None) +devices.devids['''nokia_7110_ver1_subv013'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''nokia_7110_ver1_subv013''', '''Nokia 7110 v0.13''', False, None) +devices.devids['''nokia_7110_ver1_sub494'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''nokia_7110_ver1_sub494''', '''Nokia7110/1.0 (04.94)''', False, None) +devices.devids['''nokia_7110_ver2'''] = devclass(devices.devids['''nokia_7110_ver1_sub494'''], '''nokia_7110_ver2''', '''Nokia7110/1.0 (05''', False, None) +devices.devids['''nokia_7160_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_7160_ver1''', '''Nokia7160''', True, {'''callericon''':True,'''model_name''':7160,'''sckl_groupgraphic''':True,'''sckl_ringtone''':True}) +devices.devids['''nokia_7160_ver1_sub104'''] = devclass(devices.devids['''nokia_7160_ver1'''], '''nokia_7160_ver1_sub104''', '''Nokia7160/1.1 (01.04)''', False, None) +devices.devids['''nokia_7160_ver1_subnsw5_ver1'''] = devclass(devices.devids['''nokia_7160_ver1'''], '''nokia_7160_ver1_subnsw5_ver1''', '''NOKIA-NSW-5''', False, None) +devices.devids['''nokia_7190_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_7190_ver1''', '''Nokia7190''', True, {'''model_name''':7190}) +devices.devids['''nokia_7190_ver1_sub11'''] = devclass(devices.devids['''nokia_7190_ver1'''], '''nokia_7190_ver1_sub11''', '''Nokia7190/1.1 ()''', False, None) +devices.devids['''nokia_7200_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_7200_ver1''', '''Nokia7200''', True, {'''amr''':True,'''colors''':65536,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_3gpp''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_mpeg4''':True,'''max_data_rate''':40,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_max_size''':105000,'''mms_mp4''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''model_name''':7200,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_amr''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N7200r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':102400,'''video_max_frame_rate''':15,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_7200_ver1_subp3040'''] = devclass(devices.devids['''nokia_7200_ver1'''], '''nokia_7200_ver1_subp3040''', '''Nokia7200/2.0 (p3.040) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7210_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_7210_ver1''', '''Nokia7210''', True, {'''colors''':4096,'''columns''':18,'''gif''':True,'''iso8859_support''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65535,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':288,'''mms_max_size''':32768,'''mms_max_width''':352,'''mms_midi_monophonic''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':7210,'''nokia_ringtone''':True,'''png''':False,'''preferred_markup''':'''wml_1_1''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':5,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N7210r100.xml''','''uaprof2''':'''http://nds.nokia.com/uaprof/N7210r200.xml''','''utf8_support''':True,'''wml_1_1''':True,'''xhtml_support_level''':-1,'''xhtml_supports_file_upload''':False}) +devices.devids['''nokia_7210_ver1_sub'''] = devclass(devices.devids['''nokia_7210_ver1'''], '''nokia_7210_ver1_sub''', '''Nokia7210/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7210_ver1_sub00'''] = devclass(devices.devids['''nokia_7210_ver1'''], '''nokia_7210_ver1_sub00''', '''Nokia7210/1.0 ()''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7210_ver1_sub192'''] = devclass(devices.devids['''nokia_7210_ver1'''], '''nokia_7210_ver1_sub192''', '''Nokia7210/1.0 (01.92)''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7210_ver1_sub201'''] = devclass(devices.devids['''nokia_7210_ver1'''], '''nokia_7210_ver1_sub201''', '''Nokia7210/1.0 (2.01) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7250_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_7250_ver1''', '''Nokia7250''', True, {'''built_in_camera''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''max_deck_size''':65535,'''mms_jpeg_progressive''':True,'''mms_max_size''':46080,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':4,'''model_name''':7250,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N7250r100.xml''','''xhtml_supports_file_upload''':False}) +devices.devids['''nokia_7250_ver1_sub00'''] = devclass(devices.devids['''nokia_7250_ver1'''], '''nokia_7250_ver1_sub00''', '''Nokia7250/1.0 () Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7250_ver1_sub205'''] = devclass(devices.devids['''nokia_7250_ver1'''], '''nokia_7250_ver1_sub205''', '''Nokia7250/1.0 (2.05) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7250i_ver1'''] = devclass(devices.devids['''nokia_7250_ver1'''], '''nokia_7250i_ver1''', '''Nokia7250I''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_image_width''':124,'''model_name''':'''7250i''','''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N7250ir100.xml''','''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_file_upload''':False,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_7250i_ver1_sub306'''] = devclass(devices.devids['''nokia_7250i_ver1'''], '''nokia_7250i_ver1_sub306''', '''Nokia7250I/1.0 (3.06) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7260_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_7260_ver1''', '''Nokia7260''', True, {'''colors''':65536,'''j2me_aac''':True,'''j2me_amr''':True,'''j2me_cldc_1_1''':True,'''j2me_h263''':True,'''j2me_heap_size''':1048576,'''j2me_jtwi''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_storage_size''':33554432,'''max_data_rate''':200,'''max_image_width''':118,'''model_name''':7260,'''wallpaper_colors''':16}) +devices.devids['''nokia_7260_ver1_sub0331'''] = devclass(devices.devids['''nokia_7260_ver1'''], '''nokia_7260_ver1_sub0331''', '''Nokia7260/2.0 (03.31) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_7270_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_7270_ver1''', '''Nokia7270''', True, {'''aac''':True,'''colors''':65536,'''j2me_amr''':True,'''j2me_cldc_1_1''':True,'''j2me_h263''':True,'''j2me_heap_size''':1048576,'''j2me_screen_height''':160,'''j2me_storage_size''':33554432,'''max_data_rate''':200,'''max_deck_size''':32200,'''max_image_height''':120,'''mms_3gpp''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':7270,'''mp3''':True,'''resolution_height''':160,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N7270r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':16}) +devices.devids['''nokia_7270_ver1_sub0318'''] = devclass(devices.devids['''nokia_7270_ver1'''], '''nokia_7270_ver1_sub0318''', '''Nokia7270/2.0 (03.18) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7280_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_7280_ver1''', '''Nokia7280''', True, {'''amr''':True,'''colors''':65536,'''columns''':21,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''directdownload_support''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':131072,'''max_image_height''':96,'''max_image_width''':208,'''max_length_of_password''':20,'''max_length_of_username''':32,'''max_no_of_bookmarks''':50,'''max_no_of_connection_settings''':10,'''max_object_size''':102400,'''max_url_length_bookmark''':255,'''max_url_length_cached_page''':255,'''max_url_length_homepage''':93,'''max_url_length_in_requests''':255,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':7280,'''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''nokiaring''':False,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picturemessage''':False,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':104,'''resolution_width''':208,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_directdownload_size_limit''':102400,'''ringtone_inline_size_limit''':102400,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_oma_size_limit''':102400,'''ringtone_spmidi''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N7280r200.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':102400,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':102400,'''wallpaper_jpg''':True,'''wallpaper_max_height''':104,'''wallpaper_max_width''':208,'''wallpaper_oma_size_limit''':102400,'''wallpaper_png''':True,'''wallpaper_preferred_height''':104,'''wallpaper_preferred_width''':208,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_format_as_css_property''':True,'''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_support_level''':1,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_7280_ver1_sub0321'''] = devclass(devices.devids['''nokia_7280_ver1'''], '''nokia_7280_ver1_sub0321''', '''Nokia7280/2.0 (03.21) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7360_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_7360_ver1''', '''Nokia7360''', True, {'''colors''':65536,'''j2me_cldc_1_1''':True,'''max_data_rate''':200,'''max_image_height''':128,'''model_name''':7360,'''resolution_height''':160,'''ringtone_aac''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':16}) +devices.devids['''nokia_7360_ver1_sub0320'''] = devclass(devices.devids['''nokia_7360_ver1'''], '''nokia_7360_ver1_sub0320''', '''Nokia7360/2.0 (03.20) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_7370_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_7370_ver1''', '''Nokia7370''', True, {'''aac''':True,'''ajax_manipulate_css''':False,'''ajax_support_getelementbyid''':False,'''ajax_support_inner_html''':False,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''none''','''awb''':True,'''colors''':262144,'''j2me_cldc_1_1''':True,'''max_data_rate''':200,'''max_image_height''':300,'''max_image_width''':240,'''model_name''':7370,'''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18}) +devices.devids['''nokia_7370_ver1_sub0351'''] = devclass(devices.devids['''nokia_7370_ver1'''], '''nokia_7370_ver1_sub0351''', '''Nokia7370/2.0 (03.51) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_7373_ver1'''] = devclass(devices.devids['''nokia_7370_ver1'''], '''nokia_7373_ver1''', '''Nokia7373''', True, {'''aac''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''columns''':15,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''j2me_cldc_1_1''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':200,'''max_deck_size''':32000,'''max_image_height''':300,'''max_image_width''':218,'''mms_3gpp''':True,'''mms_max_height''':960,'''mms_max_size''':309760,'''mms_max_width''':1280,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':7373,'''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':16,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N7373r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''nokia_7373_ver1_sub0390'''] = devclass(devices.devids['''nokia_7373_ver1'''], '''nokia_7373_ver1_sub0390''', '''Nokia7373/2.0 (03.90) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_7380_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_7380_ver1''', '''Nokia7380''', True, {'''aac''':True,'''awb''':True,'''j2me_cldc_1_1''':True,'''max_data_rate''':40,'''max_image_height''':146,'''max_image_width''':104,'''model_name''':7380,'''mp3''':True,'''resolution_height''':208,'''resolution_width''':104,'''ringtone_aac''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''voices''':64}) +devices.devids['''nokia_7380_ver1_sub0376'''] = devclass(devices.devids['''nokia_7380_ver1'''], '''nokia_7380_ver1_sub0376''', '''Nokia7380/2.0 (03.76) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_7380_ver1_sub0380'''] = devclass(devices.devids['''nokia_7380_ver1'''], '''nokia_7380_ver1_sub0380''', '''Nokia7380/2.0 (03.80) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_7390_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_7390_ver1''', '''Nokia7390''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':131072,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':7390,'''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N7390r201.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_vcodec_h264''':10,'''video_wmv''':False,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''nokia_7390_ver1_sub1'''] = devclass(devices.devids['''nokia_7390_ver1'''], '''nokia_7390_ver1_sub1''', '''Nokia7390/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_ngage_ver1'''] = devclass(devices.devids['''nokia_generic_series60'''], '''nokia_ngage_ver1''', '''NokiaN-Gage/1.0 SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', True, {'''aac''':True,'''j2me_bits_per_pixel''':12,'''j2me_max_jar_size''':4194304,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''max_data_rate''':40,'''model_name''':'''N-Gage''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''ringtone_aac''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''streaming_video_max_audio_bit_rate''':6000,'''streaming_video_max_bit_rate''':26000,'''streaming_video_max_frame_rate''':25,'''streaming_video_max_video_bit_rate''':20000,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':153600,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_wmv''':False}) +devices.devids['''nokia_ngage_ver1_sub00'''] = devclass(devices.devids['''nokia_ngage_ver1'''], '''nokia_ngage_ver1_sub00''', '''NokiaN-Gage/1.0 SymbianOS/6.1 Series60/1.2Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_ngage_ver1_sub403'''] = devclass(devices.devids['''nokia_ngage_ver1'''], '''nokia_ngage_ver1_sub403''', '''NokiaN-Gage/1.0 (4.03) SymbianOS/6.1 Series60/0.9 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_ngageqd_ver1'''] = devclass(devices.devids['''nokia_ngage_ver1'''], '''nokia_ngageqd_ver1''', '''NokiaN-GageQD''', True, {'''j2me_heap_size''':16777216,'''j2me_midp_2_0''':True,'''j2me_wav''':True,'''max_image_width''':172,'''mms_vcalendar''':True,'''model_name''':'''N-Gage QD''','''oma_v_1_0_combined_delivery''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NNGageQDr100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_ngageqd_ver1_sub'''] = devclass(devices.devids['''nokia_ngageqd_ver1'''], '''nokia_ngageqd_ver1_sub''', '''NokiaN-GageQD/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_ngageqd_ver1_sub00'''] = devclass(devices.devids['''nokia_ngageqd_ver1'''], '''nokia_ngageqd_ver1_sub00''', '''NokiaN-GageQD/1.0 SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_ngageqd_ver1_sub09'''] = devclass(devices.devids['''nokia_ngageqd_ver1'''], '''nokia_ngageqd_ver1_sub09''', '''NokiaN-GageQD/1.0 (0) SymbianOS/6.1 Series60/0.9 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_ngageqd_ver1_sub0'''] = devclass(devices.devids['''nokia_ngageqd_ver1'''], '''nokia_ngageqd_ver1_sub0''', '''NokiaN-GageQD/2.0 (0) SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_ngageqd_ver1_sub307'''] = devclass(devices.devids['''nokia_ngageqd_ver1'''], '''nokia_ngageqd_ver1_sub307''', '''NokiaN-GageQD/2.0 (3.07) SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_ngageqd_ver2'''] = devclass(devices.devids['''nokia_ngageqd_ver1'''], '''nokia_ngageqd_ver2''', '''NokiaN-GageQD/2.0''', False, {'''max_data_rate''':40,'''model_name''':'''N-Gage QD''','''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NNGageQDr200.xml'''}) +devices.devids['''nokia_7600_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_7600_ver1''', '''Nokia7600''', True, {'''amr''':True,'''colors''':65536,'''columns''':25,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_3gpp''':True,'''j2me_aac''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':128,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':1048576,'''j2me_max_jar_size''':356352,'''j2me_mp3''':True,'''j2me_screen_height''':160,'''j2me_wmapi_1_0''':True,'''max_data_rate''':384,'''max_deck_size''':105000,'''max_image_height''':160,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_max_height''':480,'''mms_max_size''':105000,'''mms_max_width''':640,'''mms_mp4''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''model_name''':7600,'''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''rows''':7,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_max_audio_bit_rate''':12200,'''streaming_video_max_bit_rate''':57200,'''streaming_video_max_frame_rate''':15,'''streaming_video_max_video_bit_rate''':45000,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':176,'''streaming_video_qcif_max_width''':144,'''streaming_video_sqcif''':True,'''streaming_video_sqcif_max_height''':128,'''streaming_video_sqcif_max_width''':96,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N7600r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':102400,'''video_max_frame_rate''':15,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_max_height''':160,'''wallpaper_preferred_height''':160,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_7600_ver1_subp0231'''] = devclass(devices.devids['''nokia_7600_ver1'''], '''nokia_7600_ver1_subp0231''', '''Nokia7600/2.0 (p02.31) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7610_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp20'''], '''nokia_7610_ver1''', '''Nokia7610''', True, {'''aac''':True,'''colors''':65536,'''j2me_bits_per_pixel''':16,'''j2me_heap_size''':8388608,'''j2me_mpeg4''':True,'''j2me_realaudio''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''max_data_rate''':40,'''max_image_width''':172,'''mms_max_size''':107250,'''mms_vcalendar''':True,'''model_name''':7610,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_max_audio_bit_rate''':6000,'''streaming_video_max_bit_rate''':26000,'''streaming_video_max_frame_rate''':25,'''streaming_video_max_video_bit_rate''':20000,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N7610r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_directdownload_size_limit''':307200,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''xhtml_supports_file_upload''':False}) +devices.devids['''nokia_7610_ver1_sub304170'''] = devclass(devices.devids['''nokia_7610_ver1'''], '''nokia_7610_ver1_sub304170''', '''Nokia7610 (3.0417.0) SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7610_ver2'''] = devclass(devices.devids['''nokia_7610_ver1'''], '''nokia_7610_ver2''', '''Nokia7610/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7610_ver1_sub20304170ch'''] = devclass(devices.devids['''nokia_7610_ver1'''], '''nokia_7610_ver1_sub20304170ch''', '''Nokia7610/2.0 (3.0417.0ch) SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7610_ver1_sub304250'''] = devclass(devices.devids['''nokia_7610_ver1'''], '''nokia_7610_ver1_sub304250''', '''Nokia7610/2.0 (3.0425.0) SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7650_ver1'''] = devclass(devices.devids['''nokia_generic_series60'''], '''nokia_7650_ver1''', '''Nokia7650''', True, {'''bmp''':True,'''break_list_of_links_with_br_element_recommended''':True,'''colors''':4096,'''columns''':15,'''connectionless_service_load''':True,'''epoc_bmp''':True,'''expiration_date''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':False,'''html_wi_w3_xhtmlbasic''':True,'''insert_br_element_after_widget_recommended''':True,'''j2me_bits_per_pixel''':12,'''j2me_max_jar_size''':4194304,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''j2me_wav''':True,'''jpg''':True,'''max_data_rate''':40,'''max_image_height''':188,'''max_image_width''':161,'''mms_nokia_3dscreensaver''':True,'''model_name''':7650,'''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':208,'''resolution_width''':176,'''rows''':6,'''tiff''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N7650r100.xml''','''utf8_support''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wbmp''':True,'''xhtml_support_level''':0}) +devices.devids['''nokia_7650_ver1_sub'''] = devclass(devices.devids['''nokia_7650_ver1'''], '''nokia_7650_ver1_sub''', '''Nokia7650/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7650_ver1_sub09'''] = devclass(devices.devids['''nokia_7650_ver1'''], '''nokia_7650_ver1_sub09''', '''Nokia7650/1.0 SymbianOS/6.1 Series60/0.9''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7650_ver1_sub09otaclient'''] = devclass(devices.devids['''nokia_7650_ver1'''], '''nokia_7650_ver1_sub09otaclient''', '''Nokia7650/1.0 SymbianOS/6.1 Series60/0.9 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_7700_ver1'''] = devclass(devices.devids['''nokia_generic_series90_dp20'''], '''nokia_7700_ver1''', '''Nokia7700''', True, {'''j2me_aac''':True,'''j2me_bits_per_pixel''':16,'''j2me_btapi''':True,'''j2me_midp_2_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_realaudio''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':640,'''j2me_wav''':True,'''max_data_rate''':200,'''max_image_width''':640,'''model_name''':7700,'''oma_v_1_0_forwardlock''':True,'''ringtone_aac''':True,'''ringtone_mp3''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_max_audio_bit_rate''':6000,'''streaming_video_max_bit_rate''':26000,'''streaming_video_max_frame_rate''':25,'''streaming_video_max_video_bit_rate''':20000,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False}) +devices.devids['''nokia_7700_ver1_sub'''] = devclass(devices.devids['''nokia_7700_ver1'''], '''nokia_7700_ver1_sub''', '''Nokia7700/1.0''', False, None) +devices.devids['''nokia_7700_ver1_submoz2040'''] = devclass(devices.devids['''nokia_7700_ver1'''], '''nokia_7700_ver1_submoz2040''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series90/1.0 Nokia7700/2.04.0 Profile/MIDP-2.0 Configuration/CLDC-1.0)''', False, None) +devices.devids['''nokia_7710_ver1'''] = devclass(devices.devids['''nokia_generic_series90_dp20'''], '''nokia_7710_ver1''', '''Nokia7710''', True, {'''awb''':True,'''colors''':65536,'''columns''':15,'''j2me_aac''':True,'''j2me_bits_per_pixel''':16,'''j2me_btapi''':True,'''j2me_h263''':True,'''j2me_midp_2_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_realvideo''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':640,'''j2me_storage_size''':83886080,'''j2me_wav''':True,'''max_data_rate''':40,'''max_deck_size''':357000,'''max_image_height''':320,'''max_image_width''':640,'''mms_max_size''':500000,'''mms_vcalendar''':True,'''model_name''':7710,'''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''resolution_height''':320,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''rows''':6,'''svgt_1_1''':True,'''svgt_1_1_plus''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N7710r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_max_height''':200,'''wallpaper_max_width''':640}) +devices.devids['''nokia_7710_ver1_sub'''] = devclass(devices.devids['''nokia_7710_ver1'''], '''nokia_7710_ver1_sub''', '''Nokia7710/1.0''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_7710_ver1_submoz2070'''] = devclass(devices.devids['''nokia_7710_ver1'''], '''nokia_7710_ver1_submoz2070''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series90/1.1 Nokia7710/2.07.0 Profile/MIDP-2.0 Configuration/CLDC-1.0)''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_7900_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_7900_ver1''', '''Nokia7900/2.0''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':262144,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_1''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':131072,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':7900,'''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N7900r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''nokia_7900_ver1_subua'''] = devclass(devices.devids['''nokia_7900_ver1'''], '''nokia_7900_ver1_subua''', '''Nokia7900/2.0 (nd3.30_p) Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_7500_ver1'''] = devclass(devices.devids['''nokia_7900_ver1'''], '''nokia_7500_ver1''', '''Nokia7500/2.0 (03.41) Profile/MIDP-2.1 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':262144,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':32768,'''max_image_height''':300,'''max_image_width''':231,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':309760,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':7500,'''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N7500r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''nokia_8310_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_8310_ver1''', '''Nokia8310''', True, {'''ascii_support''':True,'''callericon''':True,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''max_data_rate''':40,'''max_deck_size''':8192,'''max_image_height''':36,'''model_name''':8310,'''preferred_markup''':'''wml_1_3''','''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''nokia_8310_ver1_sub'''] = devclass(devices.devids['''nokia_8310_ver1'''], '''nokia_8310_ver1_sub''', '''Nokia8310/1.0''', False, None) +devices.devids['''nokia_8310_ver1_sub10'''] = devclass(devices.devids['''nokia_8310_ver1'''], '''nokia_8310_ver1_sub10''', '''Nokia8310/1.0 ()''', False, None) +devices.devids['''nokia_8310_ver1_sub0305'''] = devclass(devices.devids['''nokia_8310_ver1'''], '''nokia_8310_ver1_sub0305''', '''Nokia8310/1.0 (03.05)''', False, None) +devices.devids['''nokia_8310_ver1_sub0453msie401'''] = devclass(devices.devids['''nokia_8310_ver1'''], '''nokia_8310_ver1_sub0453msie401''', '''Nokia8310/1.0 (04.53) (compatible; MSIE 4.01; ; Default)''', False, None) +devices.devids['''nokia_8310_ver1_sub0471'''] = devclass(devices.devids['''nokia_8310_ver1'''], '''nokia_8310_ver1_sub0471''', '''Nokia8310/1.0 (04.71)''', False, None) +devices.devids['''nokia_8310_ver1_sub0505'''] = devclass(devices.devids['''nokia_8310_ver1'''], '''nokia_8310_ver1_sub0505''', '''Nokia8310/1.0 (05.05)''', False, None) +devices.devids['''nokia_8310e_ver1'''] = devclass(devices.devids['''nokia_8310_ver1'''], '''nokia_8310e_ver1''', '''Nokia8310e''', True, {'''max_image_height''':36,'''model_name''':'''8310e'''}) +devices.devids['''nokia_8390_ver1'''] = devclass(devices.devids['''nokia_8310_ver1'''], '''nokia_8390_ver1''', '''Nokia8390''', True, {'''max_image_height''':36,'''model_name''':8390}) +devices.devids['''nokia_8390_ver1_sub'''] = devclass(devices.devids['''nokia_8390_ver1'''], '''nokia_8390_ver1_sub''', '''Nokia8390/1.0''', False, None) +devices.devids['''nokia_8390_ver1_sub10'''] = devclass(devices.devids['''nokia_8390_ver1'''], '''nokia_8390_ver1_sub10''', '''Nokia8390/1.0 ()''', False, None) +devices.devids['''nokia_8390_ver1_sub700'''] = devclass(devices.devids['''nokia_8390_ver1'''], '''nokia_8390_ver1_sub700''', '''Nokia8390/1.0 (7.00)''', False, None) +devices.devids['''nokia_8600_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_8600_ver1''', '''Nokia8600''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':16777216,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':False,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':32000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':614400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''8600 Luna''','''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N8600dr100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_vcodec_h264''':10,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''nokia_8600_ver1_subua'''] = devclass(devices.devids['''nokia_8600_ver1'''], '''nokia_8600_ver1_subua''', '''Nokia8600 Luna/2.0 (03.52) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_8800_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_8800_ver1''', '''Nokia8800''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':18,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':208,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':4194304,'''max_image_height''':188,'''max_image_width''':188,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''8800 Sirocco Edition''','''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':208,'''resolution_width''':208,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N8800SIr101.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_wmv''':False,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':208,'''wallpaper_preferred_width''':208,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''nokia_8800_ver1_sub0328'''] = devclass(devices.devids['''nokia_8800_ver1'''], '''nokia_8800_ver1_sub0328''', '''Nokia8800/2.0 (03.28) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_8800e_ver1'''] = devclass(devices.devids['''nokia_8800_ver1'''], '''nokia_8800e_ver1''', '''Nokia8800e/''', False, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_1''','''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':131072,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''8800 Arte''','''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N8800e-1r100.xml''','''uaprof2''':'''http://nds.nokia.com/uaprof/N8800e-1r101.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''nokia_8801_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_8801_ver1''', '''Nokia8801''', True, {'''model_name''':8801}) +devices.devids['''nokia_8855_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_8855_ver1''', '''Nokia8855''', True, {'''max_image_height''':36,'''model_name''':8855,'''wallpaper_gif''':True}) +devices.devids['''nokia_8855_ver1_sub00'''] = devclass(devices.devids['''nokia_8855_ver1'''], '''nokia_8855_ver1_sub00''', '''Nokia8855/1.0 ()''', False, None) +devices.devids['''nokia_8890_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_8890_ver1''', '''Nokia8890''', True, {'''model_name''':8890}) +devices.devids['''nokia_8910_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_8910_ver1''', '''Nokia8910''', True, {'''connectionless_service_indication''':True,'''max_image_height''':36,'''model_name''':8910,'''preferred_markup''':'''wml_1_3''','''wallpaper_gif''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_supports_file_upload''':False}) +devices.devids['''nokia_8910_ver1_sub'''] = devclass(devices.devids['''nokia_8910_ver1'''], '''nokia_8910_ver1_sub''', '''Nokia8910/1.0''', False, None) +devices.devids['''nokia_8910_ver1_sub0304'''] = devclass(devices.devids['''nokia_8910_ver1'''], '''nokia_8910_ver1_sub0304''', '''Nokia8910/1.0 (03.04)''', False, None) +devices.devids['''nokia_8910i_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_8910i_ver1''', '''Nokia8910i''', True, {'''amr''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''max_data_rate''':40,'''max_deck_size''':65535,'''max_image_height''':45,'''max_image_width''':96,'''mms_max_size''':46080,'''model_name''':'''8910i''','''picture_preferred_height''':45,'''picture_preferred_width''':96,'''resolution_height''':65,'''resolution_width''':96,'''rows''':4,'''screensaver_preferred_height''':65,'''screensaver_preferred_width''':96,'''wallpaper_preferred_height''':45,'''wallpaper_preferred_width''':96}) +devices.devids['''nokia_8910i_ver1_sub'''] = devclass(devices.devids['''nokia_8910i_ver1'''], '''nokia_8910i_ver1_sub''', '''Nokia8910i/1.0''', False, None) +devices.devids['''nokia_8910i_ver1_sub0253'''] = devclass(devices.devids['''nokia_8910i_ver1'''], '''nokia_8910i_ver1_sub0253''', '''Nokia8910i/1.0 (02.53) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_9110_ver1'''] = devclass(devices.devids['''nokia_generic_series80'''], '''nokia_9110_ver1''', '''Nokia9110''', True, {'''columns''':30,'''gif''':False,'''jpg''':False,'''max_image_width''':640,'''model_name''':9110,'''png''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wrap_mode_support''':False}) +devices.devids['''nokia_9110_ver1_sub'''] = devclass(devices.devids['''nokia_9110_ver1'''], '''nokia_9110_ver1_sub''', '''Nokia9110/1.0''', False, None) +devices.devids['''nokia_9210_ver1'''] = devclass(devices.devids['''nokia_generic_series80'''], '''nokia_9210_ver1''', '''Nokia9210''', True, {'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_width''':490,'''max_length_of_password''':20,'''max_url_length_bookmark''':255,'''max_url_length_cached_page''':255,'''max_url_length_homepage''':255,'''max_url_length_in_requests''':1022,'''model_name''':9210,'''resolution_height''':165,'''resolution_width''':490,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_wmv''':False}) +devices.devids['''nokia_9210_ver1_sub'''] = devclass(devices.devids['''nokia_9210_ver1'''], '''nokia_9210_ver1_sub''', '''Nokia9210/1.0''', False, None) +devices.devids['''nokia_9210_ver1_sub60'''] = devclass(devices.devids['''nokia_9210_ver1'''], '''nokia_9210_ver1_sub60''', '''Nokia9210/1.0 Symbian-Crystal/6.0''', False, None) +devices.devids['''nokia_9210_ver1_sub60space'''] = devclass(devices.devids['''nokia_9210_ver1'''], '''nokia_9210_ver1_sub60space''', '''Nokia 9210/Symbian Crystal 6.0''', False, None) +devices.devids['''nokia_9210_ver2'''] = devclass(devices.devids['''nokia_9210_ver1'''], '''nokia_9210_ver2''', '''Nokia9210/2.0''', False, None) +devices.devids['''nokia_9210_ver1_sub20'''] = devclass(devices.devids['''nokia_9210_ver2'''], '''nokia_9210_ver1_sub20''', '''Nokia9210/2.0 Symbian-Crystal/6.1 Nokia/2.1''', False, None) +devices.devids['''nokia_9210c_ver1'''] = devclass(devices.devids['''nokia_9210_ver2'''], '''nokia_9210c_ver1''', '''Nokia9210c''', True, {'''model_name''':'''9210c'''}) +devices.devids['''nokia_9210c_ver1_subc10'''] = devclass(devices.devids['''nokia_9210c_ver1'''], '''nokia_9210c_ver1_subc10''', '''Nokia9210c/1.0 Symbian-Crystal/6.0''', False, None) +devices.devids['''nokia_9210i_ver1'''] = devclass(devices.devids['''nokia_9210_ver2'''], '''nokia_9210i_ver1''', '''Nokia9210i''', True, {'''model_name''':'''9210i''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_9210i_ver1_subi10'''] = devclass(devices.devids['''nokia_9210i_ver1'''], '''nokia_9210i_ver1_subi10''', '''Nokia9210i/1.0 Symbian-Crystal/6.0''', False, None) +devices.devids['''nokia_9210i_ver1_subi10_'''] = devclass(devices.devids['''nokia_9210i_ver1'''], '''nokia_9210i_ver1_subi10_''', '''Nokia 9210i/1.0 Symbian Crystal/6.0''', False, None) +devices.devids['''nokia_9290_ver1'''] = devclass(devices.devids['''nokia_9210_ver1'''], '''nokia_9290_ver1''', '''Nokia9290''', True, {'''model_name''':9290,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_9290_ver1_sub60'''] = devclass(devices.devids['''nokia_9290_ver1'''], '''nokia_9290_ver1_sub60''', '''Nokia9290/Symbian-Crystal/6.0 (1.00)''', False, None) +devices.devids['''nokia_9300_ver1'''] = devclass(devices.devids['''nokia_generic_series80_dp20'''], '''nokia_9300_ver1''', '''Nokia9300''', True, {'''aac''':True,'''awb''':True,'''colors''':65536,'''j2me_aac''':True,'''j2me_bits_per_pixel''':16,'''j2me_btapi''':True,'''j2me_h263''':True,'''j2me_heap_size''':20971520,'''j2me_midp_2_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_screen_height''':200,'''j2me_screen_width''':640,'''j2me_storage_size''':83886080,'''j2me_wav''':True,'''max_data_rate''':200,'''max_deck_size''':4194304,'''max_image_width''':640,'''mms_max_size''':100000,'''mms_vcalendar''':True,'''model_name''':9300,'''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''ringtone_aac''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N9300r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_9300_ver1_sub449'''] = devclass(devices.devids['''nokia_9300_ver1'''], '''nokia_9300_ver1_sub449''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series80/2.0 Nokia9300/4.49 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_9300_ver1_sub522'''] = devclass(devices.devids['''nokia_9300_ver1'''], '''nokia_9300_ver1_sub522''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series80/2.0 Nokia9300/05.22 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_9300i_ver1'''] = devclass(devices.devids['''nokia_generic_series80_dp20'''], '''nokia_9300i_ver1''', '''Nokia9300i''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':65536,'''columns''':29,'''epoc_bmp''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':200,'''j2me_screen_width''':640,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':357000,'''max_image_height''':180,'''max_image_width''':640,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':300000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_symbian_install''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''9300i''','''mp3''':True,'''nokia_ringtone''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':200,'''resolution_width''':640,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rmf''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N9300ir100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''nokia_9300i_ver1_sub550202011'''] = devclass(devices.devids['''nokia_9300i_ver1'''], '''nokia_9300i_ver1_sub550202011''', '''Nokia9300i/5.50 Serie80/20 Profile/MIDP-2.0 Configuration/CLDC-1-1''', False, {'''max_data_rate''':200,'''wifi''':True}) +devices.devids['''nokia_9300i_ver1_submozilla'''] = devclass(devices.devids['''nokia_9300i_ver1'''], '''nokia_9300i_ver1_submozilla''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series80/2.0 Nokia9300i Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, {'''max_data_rate''':200,'''wifi''':True}) +devices.devids['''nokia_9500_ver1'''] = devclass(devices.devids['''nokia_generic_series80_dp20'''], '''nokia_9500_ver1''', '''Nokia9500''', True, {'''aac''':True,'''awb''':True,'''colors''':65536,'''j2me_aac''':True,'''j2me_bits_per_pixel''':16,'''j2me_btapi''':True,'''j2me_heap_size''':20971520,'''j2me_midp_2_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_screen_height''':200,'''j2me_screen_width''':640,'''j2me_wav''':True,'''max_data_rate''':200,'''max_deck_size''':4194304,'''max_image_width''':640,'''mms_max_size''':300000,'''mms_vcalendar''':True,'''model_name''':9500,'''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''ringtone_aac''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N9500r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_9500_ver1_moz4110'''] = devclass(devices.devids['''nokia_9500_ver1'''], '''nokia_9500_ver1_moz4110''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series80/2.0 Nokia9500/4.11.0 Profile/MIDP-2.0 Configuration/CLDC-1.0)''', False, {'''max_data_rate''':200,'''wifi''':True}) +devices.devids['''nokia_uptext_generic'''] = devclass(devices.devids['''uptext_generic'''], '''nokia_uptext_generic''', '''NOKIA_RUNNING_UPBROWSER4''', False, {'''brand_name''':'''Nokia'''}) +devices.devids['''nokia_6015_ver1'''] = devclass(devices.devids['''nokia_uptext_generic'''], '''nokia_6015_ver1''', '''Nokia6015''', True, {'''colors''':4096,'''j2me_heap_size''':239616,'''j2me_max_jar_size''':77824,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''max_image_height''':48,'''max_image_width''':96,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':6015,'''oma_v_1_0_forwardlock''':True,'''resolution_height''':65,'''resolution_width''':96,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''screensaver_colors''':12,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':65,'''screensaver_max_width''':96,'''screensaver_png''':True,'''screensaver_preferred_height''':65,'''screensaver_preferred_width''':96,'''sp_midi''':True,'''voices''':16,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':65,'''wallpaper_max_width''':96,'''wallpaper_png''':True,'''wallpaper_preferred_height''':65,'''wallpaper_preferred_width''':96,'''wallpaper_wbmp''':True}) +devices.devids['''nokia_6015_ver1_subm100v0300nep'''] = devclass(devices.devids['''nokia_6015_ver1'''], '''nokia_6015_ver1_subm100v0300nep''', '''Nokia6015/1.0 (M100V0300.nep) UP.Browser/4.1.26l1.c.2.100''', False, None) +devices.devids['''nokia_series20_uptext_generic'''] = devclass(devices.devids['''nokia_uptext_generic'''], '''nokia_series20_uptext_generic''', '''NOKIA_SERIES20_RUNNING_UPBROWSER4''', False, {'''columns''':10,'''gif''':True,'''max_deck_size''':2868,'''max_image_height''':30,'''max_image_width''':84,'''max_length_of_password''':20,'''max_length_of_username''':32,'''max_no_of_bookmarks''':15,'''max_no_of_connection_settings''':5,'''max_url_length_bookmark''':255,'''max_url_length_cached_page''':128,'''max_url_length_homepage''':100,'''max_url_length_in_requests''':538,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''resolution_height''':48,'''resolution_width''':84,'''rows''':3,'''wta_phonebook''':True}) +devices.devids['''nokia_series30_uptext_generic'''] = devclass(devices.devids['''nokia_series20_uptext_generic'''], '''nokia_series30_uptext_generic''', '''NOKIA_SERIES30_RUNNING_UPBROWSER4''', False, {'''columns''':11,'''max_image_height''':45,'''max_image_width''':96,'''resolution_height''':65,'''resolution_width''':96,'''rows''':4}) +devices.devids['''nokia_opwv62_generic'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nokia_opwv62_generic''', '''NOKIA_RUNNING_UPBROWSER6''', False, {'''brand_name''':'''Nokia'''}) +devices.devids['''nokia_series40_opwv62_generic'''] = devclass(devices.devids['''nokia_opwv62_generic'''], '''nokia_series40_opwv62_generic''', '''NOKIA_SERIES40_RUNNING_UPBROWSER6''', False, {'''callericon''':True,'''colors''':4096,'''columns''':18,'''directdownload_support''':True,'''ems''':True,'''j2me_bits_per_pixel''':12,'''j2me_heap_size''':204800,'''j2me_max_jar_size''':65536,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''max_deck_size''':32768,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':288,'''mms_max_size''':32768,'''mms_max_width''':352,'''mms_midi_monophonic''':True,'''mms_nokia_operatorlogo''':True,'''mms_nokia_ringingtone''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mms_wbxml''':True,'''mms_wml''':True,'''mms_wmlc''':True,'''nokiaring''':True,'''nokiavcal''':True,'''nokiavcard''':True,'''operatorlogo''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':16,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':94,'''picture_max_width''':126,'''picture_png''':True,'''picture_preferred_height''':94,'''picture_preferred_width''':126,'''picture_wbmp''':True,'''picturemessage''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':4,'''rows''':9,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''sender''':True,'''sp_midi''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wap_push_support''':False}) +devices.devids['''nokia_3155_ver1'''] = devclass(devices.devids['''nokia_series40_opwv62_generic'''], '''nokia_3155_ver1''', '''Nokia3155''', True, {'''aac''':True,'''amr''':True,'''model_name''':3155,'''mp3''':True,'''qcelp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':40,'''sckl_groupgraphic''':True,'''sckl_ringtone''':True,'''voices''':40}) +devices.devids['''nokia_3155i_ver1'''] = devclass(devices.devids['''nokia_series40_opwv62_generic'''], '''nokia_3155i_ver1''', '''Nokia3155i''', True, {'''aac''':True,'''amr''':True,'''model_name''':'''3155i''','''mp3''':True,'''qcelp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':40,'''voices''':40}) +devices.devids['''nokia_npd_4aw_ver1'''] = devclass(devices.devids['''nokia_uptext_generic'''], '''nokia_npd_4aw_ver1''', '''NOKIA-NPD-4AW''', False, None) +devices.devids['''nokia_3155i_ver1_subq125_04w47_11nbr'''] = devclass(devices.devids['''nokia_3155i_ver1'''], '''nokia_3155i_ver1_subq125_04w47_11nbr''', '''Nokia3155i/2.0 (Q125_04w47_11.nbr) UP.Browser/6.2.3.8.d.1.100 (GUI) MMP/2.0''', False, None) +devices.devids['''nokia_3155_ver1_subq125_04w47_13nbr'''] = devclass(devices.devids['''nokia_3155_ver1'''], '''nokia_3155_ver1_subq125_04w47_13nbr''', '''Nokia3155/2.0 (Q125_04w47_13.nbr) UP.Browser/6.2.3.8.d.1.102 (GUI) MMP/2.0''', False, None) +devices.devids['''nokia_npd_4aw_ver1_subb105v0200nep0'''] = devclass(devices.devids['''nokia_npd_4aw_ver1'''], '''nokia_npd_4aw_ver1_subb105v0200nep0''', '''NOKIA-NPD-4AW/V B105V0200.nep.0 UP.Browser/4.1.26l1''', False, None) +devices.devids['''nokia__nhp_2ax_ver1'''] = devclass(devices.devids['''nokia_uptext_generic'''], '''nokia__nhp_2ax_ver1''', '''NOKIA-NHP-2AX''', False, None) +devices.devids['''nokia__nhp_2ax_ver1_suba100v0201'''] = devclass(devices.devids['''nokia__nhp_2ax_ver1'''], '''nokia__nhp_2ax_ver1_suba100v0201''', '''NOKIA-NHP-2AX/V A100V0201.nep.0 UP.Browser/4.1.26l1''', False, None) +devices.devids['''nokia_5125_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_5125_ver1''', '''Nokia5125''', True, {'''max_image_height''':36,'''model_name''':5125,'''sckl_groupgraphic''':True,'''sckl_ringtone''':True,'''wallpaper_gif''':True}) +devices.devids['''nokia_5125_ver1_subnsc1nx'''] = devclass(devices.devids['''nokia_5125_ver1'''], '''nokia_5125_ver1_subnsc1nx''', '''NOKIA-NSC-1NX''', False, None) +devices.devids['''nokia_8260_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_8260_ver1''', '''Nokia8260''', True, {'''max_image_height''':36,'''model_name''':8260,'''sckl_groupgraphic''':True,'''sckl_ringtone''':True,'''wallpaper_gif''':True}) +devices.devids['''nokia_8260_ver1_subnsw'''] = devclass(devices.devids['''nokia_8260_ver1'''], '''nokia_8260_ver1_subnsw''', '''NOKIA-NSW-4DX''', False, None) +devices.devids['''nokia_8265_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_8265_ver1''', '''Nokia8265''', True, {'''max_image_height''':36,'''model_name''':8265,'''sckl_groupgraphic''':True,'''sckl_ringtone''':True,'''wallpaper_gif''':True}) +devices.devids['''nokia_8265_ver1_subnpw'''] = devclass(devices.devids['''nokia_8265_ver1'''], '''nokia_8265_ver1_subnpw''', '''NOKIA-NPW-3''', False, None) +devices.devids['''nokia_8265_ver1_sub1036'''] = devclass(devices.devids['''nokia_8265_ver1'''], '''nokia_8265_ver1_sub1036''', '''Nokia8265/1.2.1 (10.36)''', False, None) +devices.devids['''nokia_8860_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_8860_ver1''', '''Nokia8860''', True, {'''max_image_height''':36,'''model_name''':8860,'''sckl_groupgraphic''':True,'''sckl_ringtone''':True,'''wallpaper_gif''':True}) +devices.devids['''nokia_8860_ver1_nsw6'''] = devclass(devices.devids['''nokia_8860_ver1'''], '''nokia_8860_ver1_nsw6''', '''NOKIA-NSW-6''', False, None) +devices.devids['''nokia_rh10_ver1'''] = devclass(devices.devids['''nokia_series20_uptext_generic'''], '''nokia_rh10_ver1''', '''NOKIA-RH-10/V''', True, {'''max_image_height''':36,'''model_name''':8280,'''nokiaring''':True,'''sckl_groupgraphic''':True,'''sckl_ringtone''':True,'''wallpaper_gif''':True}) +devices.devids['''nokia_rh10_ver1_sub8280'''] = devclass(devices.devids['''nokia_rh10_ver1'''], '''nokia_rh10_ver1_sub8280''', '''Nokia8280''', False, None) +devices.devids['''nokia_rh10_ver1_subc100v0401'''] = devclass(devices.devids['''nokia_rh10_ver1'''], '''nokia_rh10_ver1_subc100v0401''', '''NOKIA-RH-10/V C100v0401.nep.0 UP.Browser/4.1.26l1''', False, None) +devices.devids['''nokia_rh17_ver1'''] = devclass(devices.devids['''nokia_uptext_generic'''], '''nokia_rh17_ver1''', '''NOKIA-RH-17/V''', True, {'''columns''':9,'''max_image_height''':48,'''max_image_width''':96,'''model_name''':'''2280/2285''','''resolution_height''':65,'''resolution_width''':96,'''rows''':6}) +devices.devids['''nokia_rh17_ver1_subf100v0201'''] = devclass(devices.devids['''nokia_rh17_ver1'''], '''nokia_rh17_ver1_subf100v0201''', '''NOKIA-RH-17/V F100V0201.nep.0 UP.Browser/4.1.26l1''', False, None) +devices.devids['''nokia_rh27_ver1'''] = devclass(devices.devids['''nokia_series40_opwv62_generic'''], '''nokia_rh27_ver1''', '''NOKIA-RH-27/V''', True, {'''amr''':True,'''max_data_rate''':9,'''model_name''':'''6225 (US)''','''oma_support''':True,'''oma_v_1_0_forwardlock''':False,'''qcelp''':True,'''ringtone_amr''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':16,'''uaprof''':'''http://device.sprintpcs.com/Nokia/NOK6225SPR/H125V1000.rdf'''}) +devices.devids['''nokia_rh27_ver1_subh12503w241601'''] = devclass(devices.devids['''nokia_rh27_ver1'''], '''nokia_rh27_ver1_subh12503w241601''', '''NOKIA-RH-27/V H125_03w24_16_01.nbr.0 UP.Browser/6.2.2.1.c.1.100 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''nokia_rh27_ver1_subh100c0006nep0'''] = devclass(devices.devids['''nokia_rh27_ver1'''], '''nokia_rh27_ver1_subh100c0006nep0''', '''NOKIA-RH-27/V H100C0006.nep.0 UP.Browser/6.2.2.1.c.1.102 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''nokia_rh_3_ver1'''] = devclass(devices.devids['''nokia_series30_uptext_generic'''], '''nokia_rh_3_ver1''', '''NOKIA-RH-3''', True, {'''model_name''':2285,'''wallpaper_gif''':True}) +devices.devids['''nokia_rh_3_ver1_subg105v1100nep0'''] = devclass(devices.devids['''nokia_rh_3_ver1'''], '''nokia_rh_3_ver1_subg105v1100nep0''', '''NOKIA-RH-3/V G105V1100.nep.0 UP.Browser/4.1.26l1''', False, None) +devices.devids['''nokia_3530_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_3530_ver1''', '''Nokia3530''', True, {'''model_name''':3530,'''ringtone_voices''':16}) +devices.devids['''nokia_rh_34_ver1'''] = devclass(devices.devids['''nokia_series40_opwv62_generic'''], '''nokia_rh_34_ver1''', '''NOKIA-RH-34''', True, {'''colors''':262144,'''j2me_cldc_1_0''':True,'''max_image_height''':128,'''model_name''':'''6585 (US)''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''ringtone_voices''':16,'''wallpaper_colors''':18}) +devices.devids['''Nokia_6585_ver1_sub00'''] = devclass(devices.devids['''nokia_rh_34_ver1'''], '''Nokia_6585_ver1_sub00''', '''Nokia6585''', False, None) +devices.devids['''nokia_rh_34_ver1_subh100v0603nep0'''] = devclass(devices.devids['''nokia_rh_34_ver1'''], '''nokia_rh_34_ver1_subh100v0603nep0''', '''NOKIA-RH-34/V H100V0603.nep.0 UP.Browser/6.2.2.1.c.1.102 (GUI) MMP/2.0''', False, None) +devices.devids['''nokia_1100_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_1100_ver1''', '''Nokia1100''', True, {'''gif''':True,'''midi_monophonic''':True,'''model_name''':1100,'''ringtone_midi_monophonic''':True,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':65,'''wallpaper_preferred_width''':96}) +devices.devids['''nokia_1100b_ver1'''] = devclass(devices.devids['''nokia_series30_uptext_generic'''], '''nokia_1100b_ver1''', '''Nokia1100b''', True, {'''callericon''':True,'''model_name''':'''1100b''','''nokiaring''':True,'''operatorlogo''':True,'''picturemessage''':True,'''wallpaper_gif''':True}) +devices.devids['''nokia_1100b_ver1_sub36'''] = devclass(devices.devids['''nokia_1100b_ver1'''], '''nokia_1100b_ver1_sub36''', '''NOKIA-RH-36''', False, None) +devices.devids['''nokia_1100bx_ver1_sub36x'''] = devclass(devices.devids['''nokia_1100b_ver1'''], '''nokia_1100bx_ver1_sub36x''', '''NOKIA-RH-36X''', False, None) +devices.devids['''nokia_rh_3p_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''nokia_rh_3p_ver1''', '''NOKIA-RH-3P''', False, None) +devices.devids['''nokia_rh_3p_ver1_subg101v0600nep0'''] = devclass(devices.devids['''nokia_rh_3p_ver1'''], '''nokia_rh_3p_ver1_subg101v0600nep0''', '''NOKIA-RH-3P/V G101V0600.nep.0 UP.Browser/4.1.26l1''', False, None) +devices.devids['''nokia_2220_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_2220_ver1''', '''Nokia2220''', True, {'''max_image_height''':36,'''model_name''':2220,'''sckl_groupgraphic''':True,'''sckl_ringtone''':True,'''wallpaper_gif''':True}) +devices.devids['''nokia_2220_ver1_subrh40'''] = devclass(devices.devids['''nokia_2220_ver1'''], '''nokia_2220_ver1_subrh40''', '''NOKIA-RH-40''', False, None) +devices.devids['''nokia_2220_ver1_subrh42'''] = devclass(devices.devids['''nokia_2220_ver1'''], '''nokia_2220_ver1_subrh42''', '''NOKIA-RH-42''', False, None) +devices.devids['''nokia_2260_ver1'''] = devclass(devices.devids['''nokia_generic_series20'''], '''nokia_2260_ver1''', '''Nokia2260''', True, {'''max_image_height''':36,'''model_name''':2260,'''sckl_groupgraphic''':True,'''sckl_ringtone''':True,'''wallpaper_gif''':True}) +devices.devids['''nokia_2260_ver1_subrh39'''] = devclass(devices.devids['''nokia_2260_ver1'''], '''nokia_2260_ver1_subrh39''', '''NOKIA-RH-39''', False, None) +devices.devids['''nokia_2260_ver1_subrh41'''] = devclass(devices.devids['''nokia_2260_ver1'''], '''nokia_2260_ver1_subrh41''', '''NOKIA-RH-41''', False, None) +devices.devids['''nokia_3586_ver1'''] = devclass(devices.devids['''nokia_uptext_generic'''], '''nokia_3586_ver1''', '''Nokia3586''', True, {'''model_name''':3586}) +devices.devids['''nokia_3586i_ver1'''] = devclass(devices.devids['''nokia_uptext_generic'''], '''nokia_3586i_ver1''', '''NOKIA-RH-44/V''', True, {'''model_name''':'''3586i''','''receiver''':True}) +devices.devids['''nokia_3586i_ver1_sub100v0102'''] = devclass(devices.devids['''nokia_3586i_ver1'''], '''nokia_3586i_ver1_sub100v0102''', '''NOKIA-RH-44/V D100V0102.nep.0 UP.Browser/4.1.26l1''', False, None) +devices.devids['''nokia_rh46_ver1'''] = devclass(devices.devids['''nokia_opwv62_generic'''], '''nokia_rh46_ver1''', '''NOKIA-RH-46/V''', False, None) +devices.devids['''nokia_rh46_ver1_subj100c0007'''] = devclass(devices.devids['''nokia_rh46_ver1'''], '''nokia_rh46_ver1_subj100c0007''', '''NOKIA-RH-46/V J100C0007.nep.0 UP.Browser/6.2.2.1.c.1.102 (GUI) MMP/2.0''', False, None) +devices.devids['''nokia_rh48_ver1'''] = devclass(devices.devids['''nokia_series40_opwv62_generic'''], '''nokia_rh48_ver1''', '''NOKIA-RH-48''', True, {'''columns''':16,'''imelody''':True,'''max_deck_size''':4096,'''model_name''':3105,'''nokia_voice_call''':True,'''ringtone_imelody''':True,'''ringtone_voices''':16,'''rows''':8,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N3105tlsr100.xml''','''wta_phonebook''':True}) +devices.devids['''nokia_rh48_ver1_subj100c0007'''] = devclass(devices.devids['''nokia_rh48_ver1'''], '''nokia_rh48_ver1_subj100c0007''', '''NOKIA-RH-48/V J100C0007.nep.0 UP.Browser/6.2.2.1.c.1.102 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''nokia_3205spr_ver1'''] = devclass(devices.devids['''nokia_3205_ver1'''], '''nokia_3205spr_ver1''', '''NOKIA-RM-11''', True, {'''model_name''':'''3205 SPR''','''uaprof''':'''http://device.sprintpcs.com/Nokia/NOK3205SPR/H125V1003.rdf'''}) +devices.devids['''nokia_3205_ver1_subh102v0300'''] = devclass(devices.devids['''nokia_3205_ver1'''], '''nokia_3205_ver1_subh102v0300''', '''NOKIA-RM-11/V H102V0300.nep.0 UP.Browser/6.2.2.1.c.1.102 (GUI) MMP/2.0''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_2112_ver1'''] = devclass(devices.devids['''nokia_uptext_generic'''], '''nokia_2112_ver1''', '''Nokia2112''', True, {'''model_name''':2112}) +devices.devids['''nokia_2112_ver1_subo100v0300nep'''] = devclass(devices.devids['''nokia_2112_ver1'''], '''nokia_2112_ver1_subo100v0300nep''', '''Nokia2112/1.0 (O100V0300.nep) UP.Browser/4.1.26l1''', False, None) +devices.devids['''nokia_3205i_ver1'''] = devclass(devices.devids['''nokia_series40_opwv62_generic'''], '''nokia_3205i_ver1''', '''Nokia3205i''', True, {'''amr''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_video''':True,'''model_name''':'''3205i''','''nokia_voice_call''':True,'''ringtone_amr''':True,'''ringtone_voices''':16,'''uaprof''':'''http://device.telusmobility.com/nokia/nokia3205.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False}) +devices.devids['''nokia_3205i_ver1_subh200v0800nep'''] = devclass(devices.devids['''nokia_3205i_ver1'''], '''nokia_3205i_ver1_subh200v0800nep''', '''Nokia3205i/1.0 (H200V0800.nep) UP.Browser/6.2.2.1.c.1.105 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''nokia_1220_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_1220_ver1''', '''Nokia1220''', True, {'''brand_name''':'''Nokia''','''model_name''':1220}) +devices.devids['''nokia_1108_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_1108_ver1''', '''Nokia1108''', True, {'''brand_name''':'''Nokia''','''model_name''':1108,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''nokia_1110_ver1'''] = devclass(devices.devids['''nokia_1108_ver1'''], '''nokia_1110_ver1''', '''Nokia1110''', True, {'''brand_name''':'''Nokia''','''model_name''':1110}) +devices.devids['''nokia_1110i_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_1110i_ver1''', '''Nokia1110i''', True, {'''brand_name''':'''Nokia''','''max_image_height''':65,'''max_image_width''':96,'''model_name''':'''1110i''','''resolution_height''':65,'''resolution_width''':96,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True}) +devices.devids['''nokia_2100_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_2100_ver1''', '''Nokia2100''', True, {'''brand_name''':'''Nokia''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':2100,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''nokia_3210_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_3210_ver1''', '''Nokia3210''', True, {'''brand_name''':'''Nokia''','''model_name''':3210,'''wap_push_support''':True}) +devices.devids['''nokia_3310_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_3310_ver1''', '''Nokia3310''', True, {'''brand_name''':'''Nokia''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':3310,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''nokia_402_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_402_ver1''', '''Nokia402''', True, {'''brand_name''':'''Nokia''','''model_name''':402}) +devices.devids['''nokia_5110_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_5110_ver1''', '''Nokia5110''', True, {'''brand_name''':'''Nokia''','''model_name''':5110}) +devices.devids['''nokia_5130_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_5130_ver1''', '''Nokia5130''', True, {'''brand_name''':'''Nokia''','''model_name''':5130}) +devices.devids['''nokia_5146_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_5146_ver1''', '''Nokia5146''', True, {'''brand_name''':'''Nokia''','''model_name''':5146}) +devices.devids['''nokia_6130_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_6130_ver1''', '''Nokia6130''', True, {'''brand_name''':'''Nokia''','''model_name''':6130}) +devices.devids['''nokia_6133_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6133_ver1''', '''Nokia6133''', True, {'''brand_name''':'''Nokia''','''colors''':262144,'''columns''':15,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_image_height''':300,'''max_image_width''':240,'''model_name''':6133,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':16,'''wallpaper_colors''':32,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320,'''wbmp''':True}) +devices.devids['''nokia_6133_ver1_sub0520'''] = devclass(devices.devids['''nokia_6133_ver1'''], '''nokia_6133_ver1_sub0520''', '''Nokia6133/2.0 (05.20)''', False, None) +devices.devids['''nokia_6150_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_6150_ver1''', '''Nokia6150''', True, {'''brand_name''':'''Nokia''','''model_name''':6150}) +devices.devids['''nokia_6320i_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_6320i_ver1''', '''Nokia6320i''', True, {'''brand_name''':'''Nokia''','''model_name''':'''6320i'''}) +devices.devids['''nokia_8210_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_8210_ver1''', '''Nokia8210''', True, {'''brand_name''':'''Nokia''','''model_name''':8210}) +devices.devids['''nokia_8290_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_8290_ver1''', '''Nokia8290''', True, {'''brand_name''':'''Nokia''','''model_name''':8290}) +devices.devids['''nokia_8810_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_8810_ver1''', '''Nokia8810''', True, {'''brand_name''':'''Nokia''','''model_name''':8810}) +devices.devids['''nokia_8850_ver1'''] = devclass(devices.devids['''generic'''], '''nokia_8850_ver1''', '''Nokia8850''', True, {'''brand_name''':'''Nokia''','''model_name''':8850}) +devices.devids['''nokia_6015i_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_6015i_ver1''', '''Nokia6015i''', True, {'''access_key_support''':True,'''built_in_back_button_support''':True,'''card_title_support''':False,'''deck_prefetch_support''':True,'''elective_forms_recommended''':False,'''max_image_height''':45,'''max_image_width''':96,'''menu_with_list_of_links_recommended''':False,'''menu_with_select_element_recommended''':True,'''model_name''':'''6015i''','''numbered_menus''':True,'''opwv_wml_extensions_support''':True,'''picture_preferred_height''':45,'''picture_preferred_width''':96,'''resolution_height''':65,'''resolution_width''':96,'''screensaver_preferred_height''':65,'''screensaver_preferred_width''':96,'''time_to_live_support''':True,'''times_square_mode_support''':True,'''wallpaper_preferred_height''':45,'''wallpaper_preferred_width''':96,'''wizards_recommended''':True}) +devices.devids['''nokia_6015i_ver1_subm101v0400nep'''] = devclass(devices.devids['''nokia_6015i_ver1'''], '''nokia_6015i_ver1_subm101v0400nep''', '''Nokia6015i/1.0 (M101V0400.nep) UP.Browser/4.1.26l1.c.2.100''', False, None) +devices.devids['''nokia_e50_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_e50_ver1''', '''NokiaE50''', True, {'''aac''':True,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''j2me_cldc_1_1''':True,'''max_data_rate''':200,'''max_image_height''':320,'''max_image_width''':229,'''model_name''':'''E50''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':320,'''resolution_width''':240,'''ringtone_voices''':48,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NE50-1r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_colors''':18,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''nokia_e50_ver1_sub130062711'''] = devclass(devices.devids['''nokia_e50_ver1'''], '''nokia_e50_ver1_sub130062711''', '''NokiaE50-2/1.00.0 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_e50_ver1_sub130062710'''] = devclass(devices.devids['''nokia_e50_ver1'''], '''nokia_e50_ver1_sub130062710''', '''NokiaE50-1/3.0 (06.27.1.0) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_e50_ver1_subsafari413'''] = devclass(devices.devids['''nokia_e50_ver1'''], '''nokia_e50_ver1_subsafari413''', '''Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 es50''', False, {'''ajax_manipulate_css''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''has_pointing_device''':True,'''max_data_rate''':200,'''xhtml_display_accesskey''':False,'''xhtml_format_as_attribute''':False,'''xhtml_support_level''':4}) +devices.devids['''nokia_e51_ver1'''] = devclass(devices.devids['''nokia_e50_ver1'''], '''nokia_e51_ver1''', '''Mozilla/5.0(SymbianOS/9.2; U; Series60/3.1 NokiaE51/1.00.000; Profile/MIDP-2.0 Configuration/CLDC-1.1;)AppleWebKit/413(KHTML,like Gecko)Safari/413''', False, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_xhr_type''':'''standard''','''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''2_0''','''max_data_rate''':1800,'''model_name''':'''E51''','''resolution_height''':320,'''resolution_width''':240,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NE51-1r100.xml''','''wifi''':True}) +devices.devids['''nokia_e60_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_e60_ver1''', '''NokiaE60''', True, {'''aac''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''j2me_3dapi''':True,'''j2me_canvas_height''':416,'''j2me_canvas_width''':352,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_loctapi''':True,'''j2me_screen_height''':416,'''j2me_screen_width''':352,'''max_data_rate''':384,'''max_image_height''':380,'''max_image_width''':352,'''model_name''':'''E60''','''oma_v_1_0_combined_delivery''':False,'''oma_v_1_0_separate_delivery''':False,'''resolution_height''':416,'''resolution_width''':352,'''ringtone_aac''':True,'''ringtone_voices''':48,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NE60-1r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':48,'''wallpaper_colors''':24,'''wallpaper_preferred_height''':288,'''wallpaper_preferred_width''':352}) +devices.devids['''nokia_e60_ver1_sub3006w019'''] = devclass(devices.devids['''nokia_e60_ver1'''], '''nokia_e60_ver1_sub3006w019''', '''NokiaE60-1/1.00.0 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_e60_ver1_sub3006w020'''] = devclass(devices.devids['''nokia_e60_ver1'''], '''nokia_e60_ver1_sub3006w020''', '''NokiaE60-1/3.0 (06w02.0) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_e60_ver1_sub30106100203'''] = devclass(devices.devids['''nokia_e60_ver1'''], '''nokia_e60_ver1_sub30106100203''', '''NokiaE60-1/3.0 (1.0610.02.03) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_e61_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_e61_ver1''', '''NokiaE61''', True, {'''aac''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''has_qwerty_keyboard''':True,'''j2me_3dapi''':True,'''j2me_canvas_height''':240,'''j2me_canvas_width''':320,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_loctapi''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''max_data_rate''':384,'''max_image_height''':220,'''max_image_width''':309,'''model_name''':'''E61''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_max_width''':231,'''picture_preferred_width''':231,'''resolution_height''':240,'''resolution_width''':320,'''ringtone_aac''':True,'''ringtone_voices''':48,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NE61-1r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':48,'''wallpaper_colors''':24,'''wallpaper_max_height''':0,'''wallpaper_max_width''':0,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320,'''wifi''':True}) +devices.devids['''nokia_e61_ver1_sub30106100403'''] = devclass(devices.devids['''nokia_e61_ver1'''], '''nokia_e61_ver1_sub30106100403''', '''NokiaE61-1/1.00.0 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_e61_ver1_submozilla40'''] = devclass(devices.devids['''nokia_e61_ver1'''], '''nokia_e61_ver1_submozilla40''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series60/3.0 NokiaE61-1/05w38.2 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_e61_ver1_sub30106100404'''] = devclass(devices.devids['''nokia_e61_ver1'''], '''nokia_e61_ver1_sub30106100404''', '''NokiaE61-1/3.0 (1.0610.04.04) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_e61_ver1_submozilla50_sub2'''] = devclass(devices.devids['''nokia_e61_ver1'''], '''nokia_e61_ver1_submozilla50_sub2''', '''Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 es61''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_e61i_ver1'''] = devclass(devices.devids['''nokia_e61_ver1'''], '''nokia_e61i_ver1''', '''NokiaE61i''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_xhr_type''':'''standard''','''colors''':262144,'''columns''':28,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''html_web_4_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''max_image_height''':220,'''max_image_width''':309,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_vcalendar''':True,'''model_name''':'''E61i''','''resolution_height''':240,'''resolution_width''':320,'''ringtone_aac''':True,'''ringtone_amr''':True,'''rows''':12,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NE61i-1r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''xhtml_support_level''':4}) +devices.devids['''nokia_e61i_ver1_sub10006331500'''] = devclass(devices.devids['''nokia_e61i_ver1'''], '''nokia_e61i_ver1_sub10006331500''', '''NokiaE61i-1/3.0 (1.00.0633.15.00) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_e61i_ver1_safari'''] = devclass(devices.devids['''nokia_e61i_ver1'''], '''nokia_e61i_ver1_safari''', '''Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 es61i''', False, {'''has_pointing_device''':True,'''max_data_rate''':384,'''wifi''':True,'''xhtml_display_accesskey''':False,'''xhtml_format_as_attribute''':False,'''xhtml_support_level''':4}) +devices.devids['''nokia_e62_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_e62_ver1''', '''NokiaE62''', True, {'''aac''':True,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''has_qwerty_keyboard''':True,'''j2me_cldc_1_1''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_data_rate''':200,'''max_image_height''':240,'''max_image_width''':320,'''model_name''':'''E62''','''resolution_height''':240,'''resolution_width''':320,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False}) +devices.devids['''nokia_e62_sub3020618'''] = devclass(devices.devids['''nokia_e62_ver1'''], '''nokia_e62_sub3020618''', '''NokiaE62-1/3.0 (2.0618.06.17); SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, None) +devices.devids['''nokia_e65_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_e65_ver1''', '''NokiaE65-1''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''amr''':True,'''au''':True,'''bmp''':False,'''colors''':16777216,'''columns''':16,'''epoc_bmp''':True,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''gif''':True,'''gif_animated''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':357000,'''max_image_height''':210,'''max_image_width''':229,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''E65''','''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rmf''':True,'''rows''':12,'''sp_midi''':True,'''tiff''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NE65-1r100.xml''','''uaprof2''':'''http://nds1.nds.nokia.com/uaprof/NE65-1r100-VF3GDRM10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_real_media_10''':True,'''video_real_media_9''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':48,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True,'''wbmp''':True,'''wifi''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''nokia_e65_ver1101063316'''] = devclass(devices.devids['''nokia_e65_ver1'''], '''nokia_e65_ver1101063316''', '''NokiaE65-1/3.0 (1.01.0633.16.00) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 DRM 1.0''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_e65_sub106331801'''] = devclass(devices.devids['''nokia_e65_ver1'''], '''nokia_e65_sub106331801''', '''NokiaE65-1/3.0 (1.0633.18.01) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_e65_sub106331802'''] = devclass(devices.devids['''nokia_e65_ver1'''], '''nokia_e65_sub106331802''', '''NokiaE65-1 Orange/1.0 (1.0633.18.02) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_e65_ver1_subsafari413'''] = devclass(devices.devids['''nokia_e65_ver1'''], '''nokia_e65_ver1_subsafari413''', '''Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 es65''', False, {'''max_data_rate''':384,'''wifi''':True,'''xhtml_display_accesskey''':False,'''xhtml_format_as_attribute''':False,'''xhtml_support_level''':4}) +devices.devids['''nokia_e70_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_e70_ver1''', '''NokiaE70''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_xhr_type''':'''standard''','''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''has_qwerty_keyboard''':True,'''j2me_3dapi''':True,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_loctapi''':True,'''max_data_rate''':384,'''max_image_height''':380,'''max_image_width''':352,'''model_name''':'''E70''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':416,'''resolution_width''':352,'''ringtone_aac''':True,'''ringtone_voices''':48,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NE70-1r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':48,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':288,'''wallpaper_preferred_width''':352,'''wifi''':True}) +devices.devids['''nokia_e70_ver1_sub30'''] = devclass(devices.devids['''nokia_e70_ver1'''], '''nokia_e70_ver1_sub30''', '''NokiaE70-1/3.0 (06w02.0) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_e70_ver1_sub30106100506'''] = devclass(devices.devids['''nokia_e70_ver1'''], '''nokia_e70_ver1_sub30106100506''', '''NokiaE70-1/3.0 (1.0610.05.06); SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_e70_ver1_safari'''] = devclass(devices.devids['''nokia_e70_ver1'''], '''nokia_e70_ver1_safari''', '''Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 es70''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_e90_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp20'''], '''nokia_e90_ver1''', '''NokiaE90''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''columns''':21,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''epoc_bmp''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':True,'''fl_wallpaper''':False,'''flash_lite_version''':'''2_0''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':357000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''E90 Communicator''','''mp3''':True,'''multipart_support''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_3gpp''':False,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rmf''':True,'''rows''':18,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NE90-1r100.xml''','''uaprof2''':'''http://nds1.nds.nokia.com/uaprof/ne90-1r100-vf3g.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_preferred_height''':800,'''video_preferred_width''':352,'''video_vcodec_h264''':'''10 1b 11 12''','''video_wmv''':False,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''nokia_e90_ver1_safari'''] = devclass(devices.devids['''nokia_e90_ver1'''], '''nokia_e90_ver1_safari''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE-90-1/07.02.4.1; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':1800,'''wifi''':True}) +devices.devids['''nokia_e90_ver1_safari_sub72240'''] = devclass(devices.devids['''nokia_e90_ver1'''], '''nokia_e90_ver1_safari_sub72240''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE90-1/07.22.4.0; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':1800,'''wifi''':True}) +devices.devids['''nokia_e90_ver1_safari_sub72403'''] = devclass(devices.devids['''nokia_e90_ver1'''], '''nokia_e90_ver1_safari_sub72403''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE90-1/07.24.0.3; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':1800,'''wifi''':True}) +devices.devids['''nokia_e90_ver1_safari_sub82403'''] = devclass(devices.devids['''nokia_e90_ver1'''], '''nokia_e90_ver1_safari_sub82403''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE90-1/08.24.0.3; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':1800,'''wifi''':True}) +devices.devids['''nokia_n70_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp20'''], '''nokia_n70_ver1''', '''NokiaN70''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''awb''':True,'''colors''':262144,'''columns''':15,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''max_data_rate''':384,'''max_deck_size''':357000,'''max_image_height''':188,'''max_image_width''':165,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_symbian_install''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''N70''','''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_max_height''':193,'''picture_preferred_height''':193,'''receiver''':True,'''resolution_height''':208,'''resolution_width''':176,'''ringtone''':True,'''ringtone_3gpp''':False,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rmf''':True,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/NN70-1r100.xml''','''uaprof2''':'''http://nds1.nds.nokia.com/uaprof/NN70-1r100-VF2G-VF3G.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':208,'''wap_push_support''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''nokia_n70_sub1'''] = devclass(devices.devids['''nokia_n70_ver1'''], '''nokia_n70_sub1''', '''Nokia N70''', False, None) +devices.devids['''nokia_n70_ver1_sub'''] = devclass(devices.devids['''nokia_n70_ver1'''], '''nokia_n70_ver1_sub''', '''NokiaN70-1/''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_n70_ver1_sub1052601'''] = devclass(devices.devids['''nokia_n70_ver1'''], '''nokia_n70_ver1_sub1052601''', '''NokiaN70-1/1.0526.0.1 Series60/2.8 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200,'''video_directdownload_size_limit''':5242880}) +devices.devids['''nokia_n70_ver1_sub2052901sn'''] = devclass(devices.devids['''nokia_n70_ver1'''], '''nokia_n70_ver1_sub2052901sn''', '''NokiaN70-1/2.0529.0.1/SNXXXXXXXXXXXXXXX Series60/2.8 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_n70_ver1_sub_opera1'''] = devclass(devices.devids['''nokia_n70_ver1'''], '''nokia_n70_ver1_sub_opera1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Opera 8.65; Nokia N70/5.0609.2.0.1; 9399) Opera 8.65 [en]''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_n71_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_n71_ver1''', '''NokiaN71''', True, {'''aac''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''j2me_3dapi''':True,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_loctapi''':True,'''max_data_rate''':384,'''max_image_height''':320,'''max_image_width''':240,'''model_name''':'''N71''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_max_width''':231,'''picture_preferred_width''':231,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_aac''':True,'''ringtone_voices''':64,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NN71-1r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18}) +devices.devids['''nokia_n71_ver1_sub20613'''] = devclass(devices.devids['''nokia_n71_ver1'''], '''nokia_n71_ver1_sub20613''', '''NokiaN71-1/2.0613 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_n72_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp20'''], '''nokia_n72_ver1''', '''NokiaN72''', True, {'''aac''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''j2me_3dapi''':True,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_loctapi''':True,'''max_data_rate''':200,'''model_name''':'''N72''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''picture''':True,'''picture_max_height''':193,'''picture_preferred_height''':193,'''ringtone_aac''':True,'''ringtone_voices''':64,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18}) +devices.devids['''nokia_n72_ver1_sub'''] = devclass(devices.devids['''nokia_n72_ver1'''], '''nokia_n72_ver1_sub''', '''NokiaN72-1''', False, None) +devices.devids['''nokia_n72_ver1_sub20625202'''] = devclass(devices.devids['''nokia_n72_ver1'''], '''nokia_n72_ver1_sub20625202''', '''NokiaN72/2.0625.2.0.2 Series60/2.8 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_n73_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_n73_ver1''', '''NokiaN73''', True, {'''aac''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''j2me_3dapi''':True,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_loctapi''':True,'''max_data_rate''':384,'''max_image_height''':300,'''max_image_width''':229,'''model_name''':'''N73''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_max_width''':231,'''picture_preferred_width''':231,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_aac''':True,'''ringtone_voices''':64,'''uaprof''':'''http://nds.nokia.com/uaprof/NN73-1r100.xml''','''uaprof2''':'''http://nds1.nds.nokia.com/uaprof/NN73r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''nokia_n73_ver1_sub3000000'''] = devclass(devices.devids['''nokia_n73_ver1'''], '''nokia_n73_ver1_sub3000000''', '''NokiaN73/3.0000.0.0 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_n73_ver1_sub2020623008b'''] = devclass(devices.devids['''nokia_n73_ver1'''], '''nokia_n73_ver1_sub2020623008b''', '''NokiaN73-1/2.0 (2.0623.0.0.8) S60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''ajax_support_javascript''':True,'''max_data_rate''':384}) +devices.devids['''nokia_n75_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_n75_ver1''', '''NokiaN75''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':16777216,'''columns''':15,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''epoc_bmp''':True,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':357000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''N75''','''mp3''':True,'''multipart_support''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/NN75-3r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''nokia_n75_ver1_sub1'''] = devclass(devices.devids['''nokia_n75_ver1'''], '''nokia_n75_ver1_sub1''', '''NokiaN75-3/0.0630.0.0.3 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''video_vcodec_h264''':'''none'''}) +devices.devids['''nokia_n76_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_n76_ver1''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN76''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_javascript''':True,'''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':16777216,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''epoc_bmp''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''2_0''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':357000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''N76''','''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rmf''':True,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''tiff''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NN76-1r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''video_wmv''':False,'''wallpaper_colors''':24,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320,'''wap_push_support''':True,'''wav''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''nokia_n76_ver1_subua'''] = devclass(devices.devids['''nokia_n76_ver1'''], '''nokia_n76_ver1_subua''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN76-1/10.0.032 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_n76_ver1_sub100035'''] = devclass(devices.devids['''nokia_n76_ver1'''], '''nokia_n76_ver1_sub100035''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN76-1/10.0.035 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_n77_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_n77_ver1''', '''NokiaN77-1''', True, {'''aac''':True,'''colors''':16777216,'''columns''':15,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''html_web_4_0''':True,'''j2me_cldc_1_1''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':384,'''max_image_height''':300,'''max_image_width''':240,'''mms_3gpp2''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_vcalendar''':True,'''model_name''':'''N77''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':320,'''resolution_width''':240,'''ringtone_aac''':True,'''ringtone_voices''':64,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NN77-1r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''video_wmv''':False,'''wallpaper_colors''':24,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''xmf''':True}) +devices.devids['''nokia_n77_ver1_sub20720101'''] = devclass(devices.devids['''nokia_n77_ver1'''], '''nokia_n77_ver1_sub20720101''', '''NokiaN77-1/2.0720.1.0.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_n80_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_n80_ver1''', '''NokiaN80-1''', True, {'''aac''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''j2me_3dapi''':True,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_loctapi''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':380,'''max_image_width''':341,'''model_name''':'''N80''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':416,'''resolution_width''':352,'''ringtone_aac''':True,'''ringtone_voices''':64,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NN80-1r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18,'''wallpaper_max_height''':300,'''wallpaper_max_width''':352,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wifi''':True,'''xhtml_marquee_as_css_property''':True}) +devices.devids['''nokia_n80_ver1_sub1055207'''] = devclass(devices.devids['''nokia_n80_ver1'''], '''nokia_n80_ver1_sub1055207''', '''NokiaN80-1/1.0552.0.7 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_n80_ver1_sub303061108'''] = devclass(devices.devids['''nokia_n80_ver1'''], '''nokia_n80_ver1_sub303061108''', '''NokiaN80-1/3.0 (3.0611.0.8) Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_n80_ver1_submozilla50'''] = devclass(devices.devids['''nokia_n80_ver1'''], '''nokia_n80_ver1_submozilla50''', '''Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''has_pointing_device''':True,'''max_data_rate''':384,'''unique''':False,'''wifi''':True,'''wml_1_1''':False,'''xhtml_display_accesskey''':False,'''xhtml_format_as_attribute''':False}) +devices.devids['''nokia_n81_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_n81_ver1''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN81-1/1.00 Profile/MIDP-2.0 Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_xhr_type''':'''standard''','''amr''':True,'''au''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':16777216,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''epoc_bmp''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''2_0''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':357000,'''max_image_height''':300,'''max_image_width''':233,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''N81''','''mp3''':True,'''multipart_support''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/NN81-1r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wifi''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''nokia_n90_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp20'''], '''nokia_n90_ver1''', '''NokiaN90-1''', True, {'''aac''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''html_web_3_2''':True,'''html_web_4_0''':True,'''j2me_cldc_1_1''':True,'''max_data_rate''':384,'''max_deck_size''':4194304,'''max_image_height''':416,'''max_image_width''':340,'''mms_midi_polyphonic_voices''':64,'''model_name''':'''N90''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':416,'''resolution_width''':352,'''ringtone_aac''':True,'''ringtone_voices''':64,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':416,'''wallpaper_preferred_width''':352}) +devices.devids['''nokia_n90_ver1_sub2052314'''] = devclass(devices.devids['''nokia_n90_ver1'''], '''nokia_n90_ver1_sub2052314''', '''NokiaN90-1/2.0523.1.4 Series60/2.8 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_n90_ver1_sub2052414'''] = devclass(devices.devids['''nokia_n90_ver1'''], '''nokia_n90_ver1_sub2052414''', '''NokiaN90-1/2.0524.1.4 Series60/2.8 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_n91_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_n91_ver1''', '''NokiaN91-1''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':262144,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''epoc_bmp''':True,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':357000,'''max_image_height''':188,'''max_image_width''':165,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''N91''','''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':False,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':208,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NN91-1r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_real_media_10''':True,'''video_real_media_9''':True,'''video_vcodec_h264''':'''10 1b''','''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wifi''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''nokia_n91_ver1_sub10538102'''] = devclass(devices.devids['''nokia_n91_ver1'''], '''nokia_n91_ver1_sub10538102''', '''NokiaN91-1/1.0538.1.02 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_n91_ver1_sub3006wk04'''] = devclass(devices.devids['''nokia_n91_ver1'''], '''nokia_n91_ver1_sub3006wk04''', '''NokiaN91-1/3.0 (06wk04) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_n91_ver1_sub3010000115'''] = devclass(devices.devids['''nokia_n91_ver1'''], '''nokia_n91_ver1_sub3010000115''', '''NokiaN91-1/3.0 (1.00.001.15) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-13G''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_n91_ver1_submoz'''] = devclass(devices.devids['''nokia_n91_ver1'''], '''nokia_n91_ver1_submoz''', '''Mozilla/5.0 (SymbianOS/9.1; U; [en]; SymbianOS/9.1 Series60/3.0) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_n91_ver2_sub300060'''] = devclass(devices.devids['''nokia_n91_ver1'''], '''nokia_n91_ver2_sub300060''', '''NokiaN91-2/3.0 (3.00.060) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_n92_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_n92_ver1''', '''NokiaN92''', True, {'''aac''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''j2me_3dapi''':True,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_loctapi''':True,'''max_data_rate''':384,'''max_image_height''':380,'''max_image_width''':352,'''model_name''':'''N92''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':416,'''resolution_width''':352,'''ringtone_aac''':True,'''ringtone_voices''':64,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':288,'''wallpaper_preferred_width''':352,'''wifi''':True}) +devices.devids['''nokia_n92_ver1_sub20637003'''] = devclass(devices.devids['''nokia_n92_ver1'''], '''nokia_n92_ver1_sub20637003''', '''NokiaN92-1/2.0 (2.0637.0.0.3) S60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_n93_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_n93_ver1''', '''NokiaN93''', True, {'''aac''':True,'''colors''':262144,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''j2me_cldc_1_1''':True,'''max_data_rate''':384,'''max_image_height''':320,'''max_image_width''':240,'''model_name''':'''N93''','''resolution_height''':320,'''resolution_width''':240,'''ringtone_aac''':True,'''ringtone_voices''':64,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NN93-1r100.xml''','''uaprof2''':'''http://nds1.nds.nokia.com/uaprof/NN93r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_colors''':18,'''wifi''':True}) +devices.devids['''nokia_n93_ver1_sub100025'''] = devclass(devices.devids['''nokia_n93_ver1'''], '''nokia_n93_ver1_sub100025''', '''NokiaN93-1/10.0.025 SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_n93i_ver1'''] = devclass(devices.devids['''nokia_n93_ver1'''], '''nokia_n93i_ver1''', '''NokiaN93i''', True, {'''columns''':15,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''1_1''','''html_web_4_0''':True,'''j2me_cldc_1_1''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':384,'''max_deck_size''':357000,'''max_image_height''':300,'''max_image_width''':233,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''model_name''':'''N93i''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''ringtone_rmf''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NN93i-1r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wifi''':True}) +devices.devids['''nokia_n93i_ver1_sub110009'''] = devclass(devices.devids['''nokia_n93i_ver1'''], '''nokia_n93i_ver1_sub110009''', '''NokiaN93i-1/11.0.009 SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''wifi''':True}) +devices.devids['''nokia_n95_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_n95_ver1''', '''NokiaN95''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''ems''':True,'''epoc_bmp''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''2_0''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':357000,'''max_image_height''':300,'''max_image_width''':229,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':64,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''N95''','''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rmf''':True,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''tiff''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NN95-1r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_real_media_10''':True,'''video_real_media_9''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':24,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wav''':True,'''wifi''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''nokia_n95_ver1_sub100014'''] = devclass(devices.devids['''nokia_n95_ver1'''], '''nokia_n95_ver1_sub100014''', '''Mozilla/5.0 (Symbianos/9.2; U; Series60/3.1 NokiaN95/10.0.014; Profile/MIDP-2.0 Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''has_pointing_device''':True,'''max_data_rate''':1800,'''wifi''':True,'''xhtml_display_accesskey''':False,'''xhtml_format_as_attribute''':False}) +devices.devids['''nokia_n95_ver1_sub_mozilla'''] = devclass(devices.devids['''nokia_n95_ver1'''], '''nokia_n95_ver1_sub_mozilla''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95''', False, {'''max_data_rate''':1800,'''wifi''':True}) +devices.devids['''nokia_n95_ver1_sub_mozilla_b'''] = devclass(devices.devids['''nokia_n95_ver1'''], '''nokia_n95_ver1_sub_mozilla_b''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95/11.0.026; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':1800,'''wifi''':True}) +devices.devids['''nokia_n95_ver1_sub_mozilla_c'''] = devclass(devices.devids['''nokia_n95_ver1'''], '''nokia_n95_ver1_sub_mozilla_c''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95/12.0.013; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':1800,'''wifi''':True}) +devices.devids['''nokia_n95_ver1_sub_8gb'''] = devclass(devices.devids['''nokia_n95_ver1'''], '''nokia_n95_ver1_sub_8gb''', '''Mozilla/5.0 (SymbianOS/9.2 U; Series60/3.1 NokiaN95_8GB/10.0.007; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', True, {'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''2_0''','''j2me_cldc_1_1''':True,'''max_data_rate''':1800,'''model_name''':'''Nokia N95, 8GB''','''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NN95_8GB-1r100.xml''','''wifi''':True}) +devices.devids['''nokia_thr880i_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''nokia_thr880i_ver1''', '''NokiaTHR880i''', True, {'''bmp''':True,'''colors''':4096,'''columns''':18,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':108,'''max_image_width''':128,'''model_name''':'''THR880i''','''nokia_voice_call''':True,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':128,'''resolution_width''':128,'''rows''':5,'''softkey_support''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/NTHR880ir100.xml''','''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''nokia_thr880i_ver1_sub219'''] = devclass(devices.devids['''nokia_thr880i_ver1'''], '''nokia_thr880i_ver1_sub219''', '''NokiaTHR880i/1.0 (2.19)''', False, {'''max_data_rate''':40}) +devices.devids['''sie_platform65_generic'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_platform65_generic''', '''Siemens_Platform_65''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''built_in_camera''':True,'''colors''':65536,'''directdownload_support''':True,'''ems''':True,'''ems_imelody''':True,'''ems_variablesizedpictures''':True,'''imelody''':True,'''inline_support''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':1572864,'''j2me_jtwi''':True,'''j2me_left_softkey_code''':1,'''j2me_loctapi''':True,'''j2me_max_jar_size''':358400,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':130,'''j2me_screen_width''':130,'''j2me_storage_size''':11534336,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_deck_size''':13000,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':16,'''picture_df_size_limit''':512000,'''picture_directdownload_size_limit''':512000,'''picture_gif''':True,'''picture_inline_size_limit''':512000,'''picture_jpg''':True,'''picture_png''':True,'''picture_resize''':'''stretch''','''picture_wbmp''':True,'''receiver''':True,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':512000,'''ringtone_directdownload_size_limit''':512000,'''ringtone_imelody''':True,'''ringtone_inline_size_limit''':512000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_df_size_limit''':512000,'''screensaver_directdownload_size_limit''':512000,'''screensaver_gif''':True,'''screensaver_inline_size_limit''':512000,'''screensaver_jpg''':True,'''screensaver_png''':True,'''screensaver_resize''':'''stretch''','''screensaver_wbmp''':True,'''sender''':True,'''siemens_logo_height''':80,'''siemens_logo_width''':128,'''siemens_ota''':True,'''sp_midi''':True,'''svgt_1_1''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':102400,'''video_max_height''':96,'''video_max_width''':128,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_vcodec_h263_0''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':512000,'''wallpaper_directdownload_size_limit''':512000,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':512000,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_resize''':'''stretch''','''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sie_platform75_generic'''] = devclass(devices.devids['''sie_platform65_generic'''], '''sie_platform75_generic''', '''Siemens_Platform_75''', False, {'''max_image_height''':156,'''max_image_width''':132,'''resolution_height''':176,'''resolution_width''':132}) +devices.devids['''sie_sx1_ver1'''] = devclass(devices.devids['''nokia_generic_series60'''], '''sie_sx1_ver1''', '''SIE-SX1''', True, {'''brand_name''':'''Siemens''','''colors''':65536,'''columns''':15,'''downloadfun_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_btapi''':True,'''j2me_left_softkey_code''':1,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_storage_size''':2097152,'''max_image_height''':165,'''max_image_width''':161,'''model_name''':'''SX1''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':220,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''rows''':6,'''screensaver_max_height''':132,'''screensaver_preferred_height''':132,'''video_acodec_amr''':True,'''video_df_size_limit''':153600,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''voices''':40,'''wallpaper_colors''':16,'''wallpaper_max_height''':132,'''wallpaper_max_width''':176,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''sie_sx1_ver1_sub10'''] = devclass(devices.devids['''sie_sx1_ver1'''], '''sie_sx1_ver1_sub10''', '''SIE-SX1/1.0 SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''sie_sx1_ver1_sub10_'''] = devclass(devices.devids['''sie_sx1_ver1'''], '''sie_sx1_ver1_sub10_''', '''SIE-SX1/1.0 SymbianOS6.1 Series60/1.2 Profile/MIDP-1.0''', False, None) +devices.devids['''sie_sx1_ver1_sub11'''] = devclass(devices.devids['''sie_sx1_ver1'''], '''sie_sx1_ver1_sub11''', '''SIE-SX1/1.1 SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''sie_sx1_ver1_subopwv'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_sx1_ver1_subopwv''', '''SIE-SX1/00 UP.Browser/7''', False, {'''amr''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''columns''':15,'''max_image_height''':136,'''max_image_width''':176,'''mms_vcard''':True,'''model_name''':'''SX1 UP.Browser''','''rows''':6,'''wav''':True}) +devices.devids['''sie_sx1_ver1_sub7001132'''] = devclass(devices.devids['''sie_sx1_ver1_subopwv'''], '''sie_sx1_ver1_sub7001132''', '''SIE-SX1/00 UP.Browser/7.0.0.1.132 (GUI) MMP/2.0''', False, None) +devices.devids['''sie_sx56_ver1'''] = devclass(devices.devids['''generic'''], '''sie_sx56_ver1''', '''SIE-SX56''', True, {'''brand_name''':'''Siemens''','''colors''':4096,'''ems''':True,'''max_image_height''':240,'''max_image_width''':240,'''model_name''':'''SX56''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_wav''':True,'''rows''':4,'''screensaver''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''wallpaper''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''sie_sx65_ver1'''] = devclass(devices.devids['''generic'''], '''sie_sx65_ver1''', '''SIE-SX65''', True, {'''amr''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''max_image_height''':176,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SX65''','''resolution_height''':176,'''resolution_width''':132,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''sie_sx66_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_submsie401240320'''], '''sie_sx66_ver1''', '''SIE-SX66''', True, {'''brand_name''':'''Siemens''','''colors''':65536,'''columns''':23,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_deck_size''':99999999,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':250000,'''mms_max_width''':1200,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SX66-NAFTA''','''mp3''':True,'''receiver''':True,'''rows''':99,'''sender''':True,'''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?DeviceID=SX66''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wallpaper_colors''':16,'''wap_push_support''':True,'''wav''':True}) +devices.devids['''sie_sx66_ver1_sub01'''] = devclass(devices.devids['''sie_sx66_ver1'''], '''sie_sx66_ver1_sub01''', '''SIE-SX66/01''', False, {'''max_data_rate''':9}) +devices.devids['''sie_2128_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_2128_ver1''', '''SIE-2128''', True, {'''brand_name''':'''Siemens''','''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''ems_imelody''':True,'''ems_variablesizedpictures''':True,'''imelody''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':2,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':153600,'''j2me_left_softkey_code''':1,'''j2me_max_jar_size''':71680,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':64,'''j2me_screen_width''':101,'''j2me_storage_size''':122880,'''j2me_wav''':True,'''max_image_height''':58,'''max_image_width''':97,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':2128,'''resolution_height''':64,'''resolution_width''':101,'''ringtone''':True,'''ringtone_df_size_limit''':16384,'''ringtone_directdownload_size_limit''':16384,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_df_size_limit''':8192,'''screensaver_gif''':True,'''screensaver_max_height''':64,'''screensaver_max_width''':101,'''siemens_ota''':True,'''sp_midi''':True,'''voices''':16,'''wav''':True}) +devices.devids['''sie_2128_ver1_sub11'''] = devclass(devices.devids['''sie_2128_ver1'''], '''sie_2128_ver1_sub11''', '''SIE-2128/11 UP.Browser/5.0.3.3 (GUI)''', False, None) +devices.devids['''sie_2128_ver1_sub12'''] = devclass(devices.devids['''sie_2128_ver1'''], '''sie_2128_ver1_sub12''', '''SIE-2128/12 UP.Browser/5.0.3.3 (GUI)''', False, None) +devices.devids['''sie_2128_ver1_sub17'''] = devclass(devices.devids['''sie_2128_ver1'''], '''sie_2128_ver1_sub17''', '''SIE-2128/17 UP.Browser/5.0.3.3 (GUI)''', False, None) +devices.devids['''sie_2128_ver1_sub18'''] = devclass(devices.devids['''sie_2128_ver1'''], '''sie_2128_ver1_sub18''', '''SIE-2128/18 UP.Browser/5.0.3.3 (GUI)''', False, None) +devices.devids['''sie_2128_ver1_sub24'''] = devclass(devices.devids['''sie_2128_ver1'''], '''sie_2128_ver1_sub24''', '''SIE-2128/24 UP.Browser/5.0.3.3 (GUI)''', False, None) +devices.devids['''sie_3118_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_3118_ver1''', '''SIE-3118''', True, {'''brand_name''':'''Siemens''','''downloadfun_support''':True,'''ems''':True,'''ems_imelody''':True,'''ems_variablesizedpictures''':True,'''ems_version''':1,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':2400,'''max_image_height''':48,'''max_image_width''':101,'''midi_monophonic''':True,'''model_name''':3118,'''resolution_height''':64,'''resolution_width''':101,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''siemens_logo_height''':46,'''siemens_ota''':True,'''siemens_screensaver_height''':64,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_max_height''':64,'''wallpaper_max_width''':101}) +devices.devids['''sie_3118_ver1_sub13'''] = devclass(devices.devids['''sie_3118_ver1'''], '''sie_3118_ver1_sub13''', '''SIE-3118/13 UP.Browser/5.0.2.3.100 (GUI)''', False, None) +devices.devids['''sie_3118_ver1_sub17'''] = devclass(devices.devids['''sie_3118_ver1'''], '''sie_3118_ver1_sub17''', '''SIE-3118/17 UP.Browser/5.0.2.3.100 (GUI)''', False, None) +devices.devids['''sie_3618_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_3618_ver1''', '''SIE-3618''', True, {'''brand_name''':'''Siemens''','''model_name''':3618}) +devices.devids['''sie_3618_ver1_sub01'''] = devclass(devices.devids['''sie_3618_ver1'''], '''sie_3618_ver1_sub01''', '''SIE-3618/01 UP.Browser/5.0.1.1.102 (GUI)''', False, None) +devices.devids['''sie_6618_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_6618_ver1''', '''SIE-6618''', True, {'''brand_name''':'''Siemens''','''model_name''':6618}) +devices.devids['''sie_6618_ver1_sub01'''] = devclass(devices.devids['''sie_6618_ver1'''], '''sie_6618_ver1_sub01''', '''SIE-6618/01 UP.Browser/5.0.1.1.102 (GUI)''', False, None) +devices.devids['''sie_6688_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sie_6688_ver1''', '''SIE-6688''', True, {'''brand_name''':'''Siemens''','''model_name''':6688}) +devices.devids['''sie_6688_ver1_sub31'''] = devclass(devices.devids['''sie_6688_ver1'''], '''sie_6688_ver1_sub31''', '''SIE-6688/3.1 UP/4.1.19i''', False, None) +devices.devids['''sie_opera_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_opera_ver1''', '''SIE-OPERA''', False, None) +devices.devids['''sie_opera_ver1_sub5031105'''] = devclass(devices.devids['''sie_opera_ver1'''], '''sie_opera_ver1_sub5031105''', '''SIE-OPERA UP.Browser/5.0.3.1.105 (GUI)''', False, None) +devices.devids['''sie_xelibri1_ver1'''] = devclass(devices.devids['''generic'''], '''sie_xelibri1_ver1''', '''SIE-Xelibri 1''', True, {'''brand_name''':'''Siemens''','''model_name''':'''Xelibri 1'''}) +devices.devids['''sie_xelibri2_ver1'''] = devclass(devices.devids['''generic'''], '''sie_xelibri2_ver1''', '''SIE-Xelibri 2''', True, {'''brand_name''':'''Siemens''','''model_name''':'''Xelibri 2'''}) +devices.devids['''sie_xelibri3_ver1'''] = devclass(devices.devids['''generic'''], '''sie_xelibri3_ver1''', '''SIE-Xelibri 3''', True, {'''brand_name''':'''Siemens''','''model_name''':'''Xelibri 3'''}) +devices.devids['''sie_xelibri4_ver1'''] = devclass(devices.devids['''generic'''], '''sie_xelibri4_ver1''', '''SIE-Xelibri 4''', True, {'''brand_name''':'''Siemens''','''model_name''':'''Xelibri 4'''}) +devices.devids['''sie_al21_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_al21_ver1''', '''SIE-AL21''', True, {'''brand_name''':'''Siemens''','''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_image_height''':130,'''max_image_width''':130,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''AL21''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':130,'''resolution_width''':130,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_gif''':True,'''uaprof''':'''http://communicationmarket.siemens.de/portal/UAProf/UAP.aspx?device=AL21''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':130,'''wallpaper_preferred_width''':130,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sie_al21_sub0761073102'''] = devclass(devices.devids['''sie_al21_ver1'''], '''sie_al21_sub0761073102''', '''SIE-AL21/07 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3.102 (GUI)''', False, {'''max_data_rate''':9}) +devices.devids['''sie_a31_ver1'''] = devclass(devices.devids['''generic'''], '''sie_a31_ver1''', '''SIE-A31''', True, {'''brand_name''':'''Siemens''','''colors''':65536,'''gif''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A31''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''sie_a40_ver1'''] = devclass(devices.devids['''generic'''], '''sie_a40_ver1''', '''SIE-A40''', True, {'''brand_name''':'''Siemens''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A40''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sie_a50_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_a50_ver1''', '''SIE-A50''', True, {'''brand_name''':'''Siemens''','''colors''':65536,'''ems''':True,'''gif''':True,'''jpg''':True,'''max_deck_size''':2800,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A50''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sie_a50_ver1_sub01'''] = devclass(devices.devids['''sie_a50_ver1'''], '''sie_a50_ver1_sub01''', '''SIE-A50/01 UP.Browser/5.0.2.3.100 (GUI)''', False, None) +devices.devids['''sie_a52_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_a52_ver1''', '''SIE-A52''', True, {'''brand_name''':'''Siemens''','''ems''':True,'''max_image_height''':44,'''max_image_width''':101,'''model_name''':'''A52''','''resolution_height''':64,'''resolution_width''':101,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_gif''':True}) +devices.devids['''sie_a55_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_a55_ver1''', '''SIE-A55''', True, {'''brand_name''':'''Siemens''','''downloadfun_support''':True,'''ems''':True,'''max_image_height''':48,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A55''','''resolution_height''':64,'''resolution_width''':101,'''ringtone''':True,'''ringtone_df_size_limit''':16384,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':5,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_df_size_limit''':16384,'''screensaver_max_height''':64,'''screensaver_max_width''':101,'''screensaver_preferred_height''':64,'''screensaver_preferred_width''':101,'''siemens_ota''':True,'''siemens_screensaver_height''':64,'''sp_midi''':True,'''voices''':4,'''wallpaper_gif''':True}) +devices.devids['''sie_a55_ver1_sub00'''] = devclass(devices.devids['''sie_a55_ver1'''], '''sie_a55_ver1_sub00''', '''SIE-A55/00 UP.Browser/5.0.3.3 (GUI)''', False, None) +devices.devids['''sie_a55a_ver1'''] = devclass(devices.devids['''sie_a55_ver1'''], '''sie_a55a_ver1''', '''SIE-A55A''', True, {'''brand_name''':'''Siemens''','''model_name''':'''A55A'''}) +devices.devids['''sie_a55a_ver1_sub05'''] = devclass(devices.devids['''sie_a55a_ver1'''], '''sie_a55a_ver1_sub05''', '''SIE-A55A/05 UP.Browser/5.0.3.3 (GUI)''', False, None) +devices.devids['''sie_a55a_ver1_sub07'''] = devclass(devices.devids['''sie_a55a_ver1'''], '''sie_a55a_ver1_sub07''', '''SIE-A55A/07 UP.Browser/5.0.3.3 (GUI)''', False, None) +devices.devids['''sie_a57_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_a57_ver1''', '''SIE-A57''', True, {'''brand_name''':'''Siemens''','''max_image_height''':64,'''max_image_width''':101,'''model_name''':'''A57''','''resolution_height''':64,'''resolution_width''':101,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':5,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sie_a57_ver1_sub00'''] = devclass(devices.devids['''sie_a57_ver1'''], '''sie_a57_ver1_sub00''', '''SIE-A57/00 UP.Browser/5.0.3.3.1.e.4 (GUI)''', False, None) +devices.devids['''sie_a60_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_a60_ver1''', '''SIE-A60''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':4096,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''ems_imelody''':True,'''ems_variablesizedpictures''':True,'''html_web_4_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':53248,'''max_image_height''':80,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A60''','''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_df_size_limit''':8192,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':7,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_df_size_limit''':8192,'''screensaver_gif''':True,'''screensaver_max_height''':80,'''screensaver_max_width''':101,'''siemens_logo_height''':46,'''siemens_ota''':True,'''sp_midi''':True,'''uaprof''':'''http://communication-market.siemens.de/UAProf/A60_14.xml''','''uaprof2''':'''http://communication-market.siemens.de/UAProf/A60_20.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':8192,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':101,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''sie_a60_ver1_sub10'''] = devclass(devices.devids['''sie_a60_ver1'''], '''sie_a60_ver1_sub10''', '''SIE-A60/10 UP.Browser/6.1.0.5.c.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_a62_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_a62_ver1''', '''SIE-A62''', True, {'''brand_name''':'''Siemens''','''colors''':4096,'''directdownload_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':53248,'''max_image_height''':60,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A62''','''picture''':True,'''picture_colors''':12,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':80,'''picture_max_width''':101,'''picture_png''':True,'''picture_preferred_height''':80,'''picture_preferred_width''':101,'''picture_wbmp''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_colors''':12,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':80,'''screensaver_max_width''':101,'''screensaver_png''':True,'''screensaver_preferred_height''':80,'''screensaver_preferred_width''':101,'''screensaver_wbmp''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':101,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''sie_a62_ver1_sub02'''] = devclass(devices.devids['''sie_a62_ver1'''], '''sie_a62_ver1_sub02''', '''SIE-A62/02 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0''', False, None) +devices.devids['''sie_af51_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_af51_ver1''', '''SIE-AF51''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''downloadfun_support''':True,'''html_web_4_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''max_deck_size''':2800,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''AF51''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':8192,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''ringtone_wav''':True,'''rows''':3,'''screensaver''':True,'''sender''':True,'''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?device=AF51''','''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':8192,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':130,'''wallpaper_preferred_width''':130,'''wav''':True}) +devices.devids['''sie_af51_ver1_sub07'''] = devclass(devices.devids['''sie_af51_ver1'''], '''sie_af51_ver1_sub07''', '''SIE-AF51/07 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3.102 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_a75_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''sie_a75_ver1''', '''SIE-A75''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':4096,'''ems''':True,'''gif_animated''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':60,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A75''','''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':80,'''screensaver_max_width''':101,'''screensaver_png''':True,'''screensaver_preferred_height''':80,'''screensaver_preferred_width''':101,'''sp_midi''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':101,'''wallpaper_png''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101,'''wav''':True}) +devices.devids['''sie_a75_ver1_sub19'''] = devclass(devices.devids['''sie_a75_ver1'''], '''sie_a75_ver1_sub19''', '''SIE-A75/19 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.5.c.6 (GUI) MMP/1.0''', False, None) +devices.devids['''sie_a76_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_a76_ver1''', '''SIE-A76''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':4096,'''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_image_height''':80,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A76''','''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''preferred_markup''':'''wml_1_2''','''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wml_1_2''':True}) +devices.devids['''sie_a76_ver1_sub346105c6'''] = devclass(devices.devids['''sie_a76_ver1'''], '''sie_a76_ver1_sub346105c6''', '''SIE-A76/34 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.5.c.6 (GUI) MMP/1.0''', False, None) +devices.devids['''sie_ap75_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''sie_ap75_ver1''', '''SIE-AP75''', True, {'''brand_name''':'''Siemens''','''colors''':65536,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''AP75''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sie_a75_ver1_sub6107'''] = devclass(devices.devids['''sie_a75_ver1'''], '''sie_a75_ver1_sub6107''', '''SIE-AP75/6.1.0.7''', False, None) +devices.devids['''sie_a70_ver1'''] = devclass(devices.devids['''sie_platform75_generic'''], '''sie_a70_ver1''', '''SIE-A70''', True, {'''max_image_height''':64,'''max_image_width''':101,'''model_name''':'''A70''','''resolution_height''':64,'''resolution_width''':101,'''ringtone_voices''':32,'''voices''':32}) +devices.devids['''sie_a71_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_a71_ver1''', '''SIE-A71''', True, {'''brand_name''':'''Siemens''','''ems''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':64,'''max_image_width''':101,'''model_name''':'''A71''','''resolution_height''':64,'''resolution_width''':101,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32}) +devices.devids['''sie_a71_ver1_sub19'''] = devclass(devices.devids['''sie_a71_ver1'''], '''sie_a71_ver1_sub19''', '''SIE-A71/19 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.5.c.6 (GUI) MMP/1.0''', False, None) +devices.devids['''sie_c3i_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sie_c3i_ver1''', '''SIE-C3I/1.0 UP/4''', True, {'''brand_name''':'''Siemens''','''colors''':65536,'''columns''':16,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''max_deck_size''':1800,'''max_image_height''':42,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C35''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':56,'''resolution_width''':97,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':3,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''xhtml_support_level''':1}) +devices.devids['''sie_c3i_ver1_sub418c'''] = devclass(devices.devids['''sie_c3i_ver1'''], '''sie_c3i_ver1_sub418c''', '''SIE-C3I/1.0 UP/4.1.8c''', False, None) +devices.devids['''sie_c3i_ver1_sub418c_bis'''] = devclass(devices.devids['''sie_c3i_ver1'''], '''sie_c3i_ver1_sub418c_bis''', '''SIE-C3I/1.0 UP/4.1.8c UP.Browser/4.1.8c-XXXX''', False, None) +devices.devids['''sie_ic35_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sie_ic35_ver1''', '''SIE-IC35''', True, {'''brand_name''':'''Siemens''','''model_name''':'''IC35'''}) +devices.devids['''sie_ic35_ver1_sub'''] = devclass(devices.devids['''sie_ic35_ver1'''], '''sie_ic35_ver1_sub''', '''SIE-IC35/1.0''', False, None) +devices.devids['''sie_ic35_ver1_sub10'''] = devclass(devices.devids['''sie_ic35_ver1'''], '''sie_ic35_ver1_sub10''', '''SIE-IC35/1.0, SIE-IC35/1.0''', False, None) +devices.devids['''sie_op410_ver1'''] = devclass(devices.devids['''generic'''], '''sie_op410_ver1''', '''SIE-OP410''', False, None) +devices.devids['''sie_op600_ver1'''] = devclass(devices.devids['''generic'''], '''sie_op600_ver1''', '''SIE-OP600''', True, {'''brand_name''':'''Siemens''','''model_name''':'''OP600'''}) +devices.devids['''sie_p35_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sie_p35_ver1''', '''SIE-P35/1.0 UP/4''', True, {'''brand_name''':'''Siemens''','''model_name''':'''P35'''}) +devices.devids['''sie_p35_ver1_sub412a'''] = devclass(devices.devids['''sie_p35_ver1'''], '''sie_p35_ver1_sub412a''', '''SIE-P35/1.0 UP/4.1.2a''', False, None) +devices.devids['''sie_p35_ver1_sub412_a'''] = devclass(devices.devids['''sie_p35_ver1'''], '''sie_p35_ver1_sub412_a''', '''SIE-P35/1.0 UP/4.1.2.a''', False, None) +devices.devids['''sie_p51_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sie_p51_ver1''', '''SIE-P51''', True, {'''brand_name''':'''BenQ-Siemens''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''P51''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''sie_s35_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sie_s35_ver1''', '''SIE-S35/1.0 UP/4''', True, {'''brand_name''':'''Siemens''','''max_image_height''':40,'''max_image_width''':101,'''model_name''':'''S35''','''resolution_height''':54,'''resolution_width''':101}) +devices.devids['''sie_s35_ver1_sub418c'''] = devclass(devices.devids['''sie_s35_ver1'''], '''sie_s35_ver1_sub418c''', '''SIE-S35/1.0 UP/4.1.8c''', False, None) +devices.devids['''sie_s35_ver1_sub418c_bis'''] = devclass(devices.devids['''sie_s35_ver1'''], '''sie_s35_ver1_sub418c_bis''', '''SIE-S35/1.0 UP/4.1.8c UP.Browser/4.1.8c-XXXX''', False, None) +devices.devids['''sie_u35_ver1'''] = devclass(devices.devids['''generic'''], '''sie_u35_ver1''', '''SIE-U35''', True, {'''brand_name''':'''Siemens''','''model_name''':'''U35'''}) +devices.devids['''sie_u35_ver1_sub4116'''] = devclass(devices.devids['''sie_u35_ver1'''], '''sie_u35_ver1_sub4116''', '''SIE-U35/2.0 UP/4.1.16m''', False, None) +devices.devids['''sie_s40_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sie_s40_ver1''', '''SIE-S40''', True, {'''brand_name''':'''Siemens''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S40''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sie_s40_ver1_sub210'''] = devclass(devices.devids['''sie_s40_ver1'''], '''sie_s40_ver1_sub210''', '''SIE-S40/2.10 UP/4.1.16r UP.Browser/4.1.16r-XXXX''', False, None) +devices.devids['''sie_c45_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_c45_ver1''', '''SIE-C45/00 UP.Browser/5''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''downloadfun_support''':True,'''ems''':True,'''ems_version''':1,'''imelody''':True,'''max_deck_size''':2800,'''max_image_height''':64,'''max_image_width''':101,'''midi_monophonic''':True,'''model_name''':'''C45''','''resolution_height''':64,'''resolution_width''':101,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''siemens_logo_height''':46,'''siemens_ota''':True,'''siemens_screensaver_height''':64,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_df_size_limit''':2000,'''wallpaper_gif''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':100}) +devices.devids['''sie_c45_ver1_sub00'''] = devclass(devices.devids['''sie_c45_ver1'''], '''sie_c45_ver1_sub00''', '''SIE-C45/00 UP.Browser/5.0.1.1.102 (GUI)''', False, None) +devices.devids['''sie_c45_ver1_sub31'''] = devclass(devices.devids['''sie_c45_ver1'''], '''sie_c45_ver1_sub31''', '''SIE-C45/31 UP.Browser/5.0.2.2 (GUI)''', False, {'''ems_imelody''':True,'''ems_variablesizedpictures''':True}) +devices.devids['''sie_c45_ver1_sub33'''] = devclass(devices.devids['''sie_c45_ver1_sub31'''], '''sie_c45_ver1_sub33''', '''SIE-C45/33 UP.Browser/5.0.2.3.100 (GUI)''', False, None) +devices.devids['''sie_me45_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_me45_ver1''', '''SIE-ME45/00 UP.Browser/5''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''downloadfun_support''':True,'''ems''':True,'''ems_version''':1,'''imelody''':True,'''max_deck_size''':2800,'''max_image_height''':64,'''max_image_width''':101,'''midi_monophonic''':True,'''model_name''':'''ME45''','''resolution_height''':64,'''resolution_width''':101,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''siemens_logo_height''':46,'''siemens_ota''':True,'''siemens_screensaver_height''':64,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_df_size_limit''':2000,'''wallpaper_gif''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':100}) +devices.devids['''sie_me45_ver1_sub00'''] = devclass(devices.devids['''sie_me45_ver1'''], '''sie_me45_ver1_sub00''', '''SIE-ME45/00 UP.Browser/5.0.2.1.100 (GUI)''', False, None) +devices.devids['''sie_me45_ver1_sub21'''] = devclass(devices.devids['''sie_me45_ver1'''], '''sie_me45_ver1_sub21''', '''SIE-ME45/21 UP.Browser/5.0.2.1.103 (GUI)''', False, {'''ems_imelody''':True,'''ems_variablesizedpictures''':True}) +devices.devids['''sie_me45_ver1_sub23'''] = devclass(devices.devids['''sie_me45_ver1_sub21'''], '''sie_me45_ver1_sub23''', '''SIE-ME45/23 UP.Browser/5.0.2.2 (GUI)''', False, None) +devices.devids['''sie_me45i_ver1'''] = devclass(devices.devids['''sie_me45_ver1_sub21'''], '''sie_me45i_ver1''', '''SIE-ME45i''', True, {'''model_name''':'''ME45i'''}) +devices.devids['''sie_me45i_ver1_sub045031105'''] = devclass(devices.devids['''sie_me45i_ver1'''], '''sie_me45i_ver1_sub045031105''', '''SIE-ME45i/04 UP.Browser/5.0.3.1.105 (GUI)''', False, None) +devices.devids['''sie_mc35_ver1'''] = devclass(devices.devids['''generic'''], '''sie_mc35_ver1''', '''SIE-MC35''', True, {'''brand_name''':'''Siemens''','''model_name''':'''MC35'''}) +devices.devids['''sie_me75_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_me75_ver1''', '''SIE-ME75''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':262144,'''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':2800,'''max_image_height''':176,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''ME75''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''resolution_height''':176,'''resolution_width''':132,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':176,'''screensaver_max_width''':132,'''screensaver_preferred_height''':176,'''screensaver_preferred_width''':132,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_frame_rate''':12,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':176,'''wallpaper_max_width''':132,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132}) +devices.devids['''sie_me75_ver1_sub19'''] = devclass(devices.devids['''sie_me75_ver1'''], '''sie_me75_ver1_sub19''', '''SIE-ME75/19 UP.Browser/7.0.2.2.d.7(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_s45_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_s45_ver1''', '''SIE-S45/00 UP.Browser/5''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''downloadfun_support''':True,'''ems''':True,'''ems_version''':1,'''imelody''':True,'''max_deck_size''':2800,'''max_image_height''':64,'''max_image_width''':101,'''midi_monophonic''':True,'''model_name''':'''S45''','''resolution_height''':64,'''resolution_width''':101,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''siemens_logo_height''':46,'''siemens_ota''':True,'''siemens_screensaver_height''':64,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_df_size_limit''':2000,'''wallpaper_gif''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':100}) +devices.devids['''sie_s45_ver1_sub00_102'''] = devclass(devices.devids['''sie_s45_ver1'''], '''sie_s45_ver1_sub00_102''', '''SIE-S45/00 UP.Browser/5.0.1.1.102 (GUI)''', False, None) +devices.devids['''sie_s45_ver1_sub00up5012'''] = devclass(devices.devids['''sie_s45_ver1'''], '''sie_s45_ver1_sub00up5012''', '''SIE-S45/00 UP/5.0.1.2 (GUI) UP.Browser/5.0.1.2 (GUI)-XXXX''', False, None) +devices.devids['''sie_s45_ver1_sub00_5012'''] = devclass(devices.devids['''sie_s45_ver1'''], '''sie_s45_ver1_sub00_5012''', '''SIE-S45/00 UP.Browser/5.0.1.2 (GUI)''', False, None) +devices.devids['''sie_s45_ver1_sub21'''] = devclass(devices.devids['''sie_s45_ver1'''], '''sie_s45_ver1_sub21''', '''SIE-S45/21 UP.Browser/5''', False, {'''ems_imelody''':True,'''ems_variablesizedpictures''':True}) +devices.devids['''sie_s45_ver1_sub21_5012'''] = devclass(devices.devids['''sie_s45_ver1_sub21'''], '''sie_s45_ver1_sub21_5012''', '''SIE-S45/21 UP.Browser/5.0.1.2 (GUI)''', False, None) +devices.devids['''sie_s45_ver1_sub_opwv'''] = devclass(devices.devids['''sie_s45_ver1'''], '''sie_s45_ver1_sub_opwv''', '''SIE-S45/4.0 UP.Browser/5.0.1.2 (GUI)''', False, None) +devices.devids['''sie_s45_ver1_opwvxxxx'''] = devclass(devices.devids['''sie_s45_ver1'''], '''sie_s45_ver1_opwvxxxx''', '''SIE-S45/4.0 UP/5.0.1.2 (GUI) UP.Browser/5.0.1.2 (GUI)-XXXX''', False, None) +devices.devids['''sie_s45_ver1_sub6221208'''] = devclass(devices.devids['''sie_s45_ver1_sub21'''], '''sie_s45_ver1_sub6221208''', '''SIE-S45/00 UP.Browser/6.2.2.1.208 (GUI) MMP/1.0''', False, {'''html_wi_oma_xhtmlmp_1_0''':True,'''mobile_browser_version''':'''6.2''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':2}) +devices.devids['''sie_s45i_ver1'''] = devclass(devices.devids['''sie_s45_ver1_sub21'''], '''sie_s45i_ver1''', '''SIE-S45i''', True, {'''model_name''':'''S45i'''}) +devices.devids['''sie_s45i_ver1_sub02'''] = devclass(devices.devids['''sie_s45i_ver1'''], '''sie_s45i_ver1_sub02''', '''SIE-S45i/02 UP.Browser/5.0.3.1.105 (GUI)''', False, None) +devices.devids['''sie_sl42i_ver1'''] = devclass(devices.devids['''generic'''], '''sie_sl42i_ver1''', '''SIE-SL42i''', True, {'''brand_name''':'''Siemens''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''SL42i'''}) +devices.devids['''sie_sl45_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sie_sl45_ver1''', '''SIE-SL45''', True, {'''brand_name''':'''Siemens''','''max_deck_size''':1800,'''midi_monophonic''':True,'''model_name''':'''SL45''','''ringtone_midi_monophonic''':True}) +devices.devids['''sie_sl45_ver1_sub4119i'''] = devclass(devices.devids['''sie_sl45_ver1'''], '''sie_sl45_ver1_sub4119i''', '''SIE-SL45/3.1 UP/4.1.19i''', False, None) +devices.devids['''sie_sl45_ver1_sub4119iuppercase'''] = devclass(devices.devids['''sie_sl45_ver1'''], '''sie_sl45_ver1_sub4119iuppercase''', '''SIE-SL45/3.1 UP/4.1.19I''', False, None) +devices.devids['''sie_sl45_ver1_sub4119ixxxx'''] = devclass(devices.devids['''sie_sl45_ver1'''], '''sie_sl45_ver1_sub4119ixxxx''', '''SIE-SL45/3.1 UP/4.1.19i UP.Browser/4.1.19i-XXXX''', False, None) +devices.devids['''sie_sl45i_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sie_sl45i_ver1''', '''SIE-SLIK/3.1 UP/4''', True, {'''brand_name''':'''Siemens''','''colors''':65536,'''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SL45i''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sie_sl45i_ver1_sub4119i'''] = devclass(devices.devids['''sie_sl45i_ver1'''], '''sie_sl45i_ver1_sub4119i''', '''SIE-SLIK/3.1 UP/4.1.19i''', False, None) +devices.devids['''sie_sl45i_ver1_sub4119iup'''] = devclass(devices.devids['''sie_sl45i_ver1'''], '''sie_sl45i_ver1_sub4119iup''', '''SIE-SLIK/3.1 UP/4.1.19i UP.Browser/4.1.19i-XXXX''', False, None) +devices.devids['''sie_slck_ver1_sub4119i'''] = devclass(devices.devids['''sie_sl45i_ver1'''], '''sie_slck_ver1_sub4119i''', '''SIE-SLCK/3.1 UP/4.1.19i''', False, None) +devices.devids['''sie_slck_ver1_sub4119ixxxx'''] = devclass(devices.devids['''sie_slck_ver1_sub4119i'''], '''sie_slck_ver1_sub4119ixxxx''', '''SIE-SLCK/3.1 UP/4.1.19i UP.Browser/4.1.19i-XXXX''', False, None) +devices.devids['''sie_slin_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sie_slin_ver1''', '''SIE-SLIN''', True, {'''brand_name''':'''Siemens''','''model_name''':'''SLIN'''}) +devices.devids['''sie_slin_ver1_sub4119ixxxx'''] = devclass(devices.devids['''sie_slin_ver1'''], '''sie_slin_ver1_sub4119ixxxx''', '''SIE-SLIN/3.1 UP/4.1.19i UP.Browser/4.1.19i-XXXX''', False, None) +devices.devids['''sl45i_ver1'''] = devclass(devices.devids['''sie_sl45i_ver1'''], '''sl45i_ver1''', '''SL45i''', False, None) +devices.devids['''sl45i_ver1_subnoversion'''] = devclass(devices.devids['''sie_sl45i_ver1'''], '''sl45i_ver1_subnoversion''', '''SL45i Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''sl45i_ver1_sub001'''] = devclass(devices.devids['''sie_sl45i_ver1'''], '''sl45i_ver1_sub001''', '''SL45i/00.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''sie_s46_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_s46_ver1''', '''SIE-S46''', True, {'''brand_name''':'''Siemens''','''model_name''':'''S46'''}) +devices.devids['''sie_s46_ver1_sub07'''] = devclass(devices.devids['''sie_s46_ver1'''], '''sie_s46_ver1_sub07''', '''SIE-S46/07 UP.Browser/5.0.2.1.103 (GUI)''', False, None) +devices.devids['''sie_m50_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_m50_ver1''', '''SIE-M50/00 UP.Browser/5 (GUI)''', True, {'''brand_name''':'''Siemens''','''downloadfun_support''':True,'''ems''':True,'''ems_imelody''':True,'''ems_variablesizedpictures''':True,'''ems_version''':1,'''imelody''':True,'''j2me_bits_per_pixel''':2,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':153600,'''j2me_left_softkey_code''':1,'''j2me_max_jar_size''':71680,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':64,'''j2me_screen_width''':101,'''j2me_storage_size''':204800,'''max_deck_size''':2800,'''max_image_height''':48,'''max_image_width''':101,'''midi_monophonic''':True,'''model_name''':'''M50''','''resolution_height''':64,'''resolution_width''':101,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''siemens_logo_height''':46,'''siemens_ota''':True,'''siemens_screensaver_height''':64,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_max_height''':64,'''wallpaper_max_width''':101}) +devices.devids['''sie_m50_ver1_sub07'''] = devclass(devices.devids['''sie_m50_ver1'''], '''sie_m50_ver1_sub07''', '''SIE-M50/07 UP.Browser/5.0.2.2 (GUI)''', False, None) +devices.devids['''sie_m50_ver1_sub_noversion'''] = devclass(devices.devids['''sie_m50_ver1'''], '''sie_m50_ver1_sub_noversion''', '''M50''', False, None) +devices.devids['''sie_m50_ver1_sub09j2me'''] = devclass(devices.devids['''sie_m50_ver1_sub_noversion'''], '''sie_m50_ver1_sub09j2me''', '''M50/09 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''sie_mt50_ver1'''] = devclass(devices.devids['''sie_m50_ver1'''], '''sie_mt50_ver1''', '''SIE-MT50/00 UP.Browser/5 (GUI)''', True, {'''max_image_height''':48,'''max_image_width''':101,'''model_name''':'''MT50'''}) +devices.devids['''sie_mt50_ver1_sub00'''] = devclass(devices.devids['''sie_mt50_ver1'''], '''sie_mt50_ver1_sub00''', '''SIE-MT50/0.0 UP''', False, None) +devices.devids['''sie_mt50_ver1_sub04'''] = devclass(devices.devids['''sie_mt50_ver1'''], '''sie_mt50_ver1_sub04''', '''SIE-MT50/04 UP.Browser/5.0.2.2 (GUI)''', False, None) +devices.devids['''sie_mt50_ver1_sub07'''] = devclass(devices.devids['''sie_mt50_ver1'''], '''sie_mt50_ver1_sub07''', '''SIE-MT50/07 UP.Browser/5.0.2.2 (GUI)''', False, None) +devices.devids['''sie_mt50_ver1_sub09'''] = devclass(devices.devids['''sie_mt50_ver1'''], '''sie_mt50_ver1_sub09''', '''SIE-MT50/09 UP.Browser/5.0.2.3.100 (GUI)''', False, None) +devices.devids['''sie_mt50_ver1_sub18old'''] = devclass(devices.devids['''sie_mt50_ver1'''], '''sie_mt50_ver1_sub18old''', '''MT50/18 UP.Browser/5.0.2.3.100 (GUI)''', False, None) +devices.devids['''sie_mt50_ver1_sub07j2me'''] = devclass(devices.devids['''sie_mt50_ver1'''], '''sie_mt50_ver1_sub07j2me''', '''MT50/07 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''sie_m50i_ver1'''] = devclass(devices.devids['''sie_m50_ver1'''], '''sie_m50i_ver1''', '''SIE-M50I/00 UP.Browser/5 (GUI)''', True, {'''max_image_height''':48,'''max_image_width''':101,'''model_name''':'''M50I'''}) +devices.devids['''sie_m50i_ver1_sub08'''] = devclass(devices.devids['''sie_m50i_ver1'''], '''sie_m50i_ver1_sub08''', '''SIE-M50I/08 UP.Browser/5.0.2.3.100 (GUI)''', False, None) +devices.devids['''sie_cl50_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_cl50_ver1''', '''SIE-CL50''', True, {'''brand_name''':'''Siemens''','''model_name''':'''CL50'''}) +devices.devids['''sie_cl50_ver1_sub00'''] = devclass(devices.devids['''sie_cl50_ver1'''], '''sie_cl50_ver1_sub00''', '''SIE-CL50/00''', False, None) +devices.devids['''sie_c55_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_c55_ver1''', '''SIE-C55''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''ems_imelody''':True,'''ems_variablesizedpictures''':True,'''imelody''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':2,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':153600,'''j2me_left_softkey_code''':1,'''j2me_max_jar_size''':71680,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':64,'''j2me_screen_width''':101,'''j2me_storage_size''':384000,'''max_deck_size''':15360,'''max_image_height''':58,'''max_image_width''':97,'''max_object_size''':8092,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''C55''','''resolution_height''':64,'''resolution_width''':101,'''ringtone''':True,'''ringtone_df_size_limit''':8192,'''ringtone_directdownload_size_limit''':8192,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_df_size_limit''':8192,'''screensaver_gif''':True,'''screensaver_max_height''':64,'''screensaver_max_width''':101,'''siemens_ota''':True,'''sp_midi''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_df_size_limit''':15360,'''wallpaper_directdownload_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':15360,'''wallpaper_max_height''':64,'''wallpaper_max_width''':101,'''wallpaper_preferred_height''':64,'''wallpaper_preferred_width''':101,'''wav''':True}) +devices.devids['''sie_c55_ver1_sub02'''] = devclass(devices.devids['''sie_c55_ver1'''], '''sie_c55_ver1_sub02''', '''SIE-C55/02 UP.Browser/5.0.3.3 (GUI)''', False, None) +devices.devids['''c55_ver1_subj2me'''] = devclass(devices.devids['''sie_c55_ver1'''], '''c55_ver1_subj2me''', '''C55/(null) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''c55_ver1_subj2me2'''] = devclass(devices.devids['''sie_c55_ver1'''], '''c55_ver1_subj2me2''', '''C55/(null) Profile/MIDP-1.0 Configuration/CLDC-1.0, C55/(null) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''sie_m55_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_m55_ver1''', '''SIE-M55''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':4096,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':573440,'''j2me_left_softkey_code''':1,'''j2me_max_jar_size''':71680,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':80,'''j2me_screen_width''':101,'''j2me_storage_size''':1677721,'''j2me_wav''':True,'''max_deck_size''':53248,'''max_image_height''':66,'''max_image_width''':96,'''max_object_size''':15360,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':16,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''M55''','''receiver''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':8192,'''ringtone_directdownload_size_limit''':10240,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':3,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_df_size_limit''':8192,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':80,'''screensaver_max_width''':101,'''screensaver_png''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://communication-market.siemens.de/UAProf/M55_01.xml''','''uaprof2''':'''http://communication-market.siemens.de/UAProf/M55_07.xml''','''uaprof3''':'''http://communication-market.siemens.de/UAProf/M55_11.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':8192,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':101,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''sie_m55_ver1_sub00'''] = devclass(devices.devids['''sie_m55_ver1'''], '''sie_m55_ver1_sub00''', '''SIE-M55/00 UP.Browser/6.1.0.5.c.1 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_m55_ver1_sub007001139'''] = devclass(devices.devids['''sie_m55_ver1'''], '''sie_m55_ver1_sub007001139''', '''SIE-M55/00 UP.Browser/7.0.0.1.139 (GUI) MMP/2.0''', False, {'''max_data_rate''':40,'''xhtml_support_level''':3}) +devices.devids['''sie_m55c_ver1'''] = devclass(devices.devids['''sie_m55_ver1'''], '''sie_m55c_ver1''', '''SIE-M55C''', True, {'''model_name''':'''M55C'''}) +devices.devids['''sie_m55c_ver1_sub07'''] = devclass(devices.devids['''sie_m55c_ver1'''], '''sie_m55c_ver1_sub07''', '''SIE-M55C/07 UP.Browser/6.1.0.5.c.5 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_m55i_ver1'''] = devclass(devices.devids['''sie_m55_ver1'''], '''sie_m55i_ver1''', '''SIE-M55i''', False, None) +devices.devids['''sie_m55i_ver1_sub11'''] = devclass(devices.devids['''sie_m55i_ver1'''], '''sie_m55i_ver1_sub11''', '''SIE-M55i/11 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_m56_ver1'''] = devclass(devices.devids['''sie_m55_ver1'''], '''sie_m56_ver1''', '''SIE-M56''', True, {'''model_name''':'''M56''','''uaprof''':'''http://communication-market.siemens.de/UAProf/M56_04.xml'''}) +devices.devids['''sie_m56_ver1_sub04'''] = devclass(devices.devids['''sie_m56_ver1'''], '''sie_m56_ver1_sub04''', '''SIE-M56/04 UP.Browser/6.1.0.5.c.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_m56_ver1_sub06'''] = devclass(devices.devids['''sie_m56_ver1'''], '''sie_m56_ver1_sub06''', '''SIE-M56/06 UP.Browser/6.1.0.5.c.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_m56_ver1_sub07'''] = devclass(devices.devids['''sie_m56_ver1'''], '''sie_m56_ver1_sub07''', '''SIE-M56/07 UP.Browser/6.1.0.5.c.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_s55_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_s55_ver1''', '''SIE-S55''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''columns''':16,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':8,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':373760,'''j2me_left_softkey_code''':1,'''j2me_max_jar_size''':71680,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':80,'''j2me_screen_width''':101,'''j2me_storage_size''':1048576,'''max_deck_size''':53248,'''max_image_height''':66,'''max_image_width''':96,'''max_object_size''':15360,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''S55''','''receiver''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':8192,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://communication-market.siemens.de/UAProf/S55_06.xml''','''uaprof2''':'''http://communication-market.siemens.de/UAProf/S55_20.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_df_size_limit''':8192,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':101,'''wallpaper_png''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101,'''wav''':True}) +devices.devids['''sie_s55_ver1_sub001'''] = devclass(devices.devids['''sie_s55_ver1'''], '''sie_s55_ver1_sub001''', '''SIE-S55/00 UP.Browser/6.1.0.1.149 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_s55_ver1_sub_noversion'''] = devclass(devices.devids['''sie_s55_ver1'''], '''sie_s55_ver1_sub_noversion''', '''S55''', False, None) +devices.devids['''sie_s55_ver1_sub05cldc'''] = devclass(devices.devids['''sie_s55_ver1'''], '''sie_s55_ver1_sub05cldc''', '''S55/05 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_s55_ver1_sub11cldc'''] = devclass(devices.devids['''sie_s55_ver1'''], '''sie_s55_ver1_sub11cldc''', '''S55/11 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_s55_ver1_subv7'''] = devclass(devices.devids['''sie_s55_ver1'''], '''sie_s55_ver1_subv7''', '''SIE-S55 UP.Browser/7''', False, {'''max_data_rate''':40,'''xhtml_support_level''':3}) +devices.devids['''sie_s55_ver1_subv7001139'''] = devclass(devices.devids['''sie_s55_ver1_subv7'''], '''sie_s55_ver1_subv7001139''', '''SIE-S55/00 UP.Browser/7.0.0.1.139 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_s55_ver1_subv7001c3'''] = devclass(devices.devids['''sie_s55_ver1_subv7'''], '''sie_s55_ver1_subv7001c3''', '''SIE-S55/00 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_s55i_ver1'''] = devclass(devices.devids['''sie_s55_ver1'''], '''sie_s55i_ver1''', '''SIE-S55i''', True, {'''model_name''':'''S55i'''}) +devices.devids['''sie_s55i_ver1_sub91'''] = devclass(devices.devids['''sie_s55i_ver1'''], '''sie_s55i_ver1_sub91''', '''SIE-S55i/91 UP.Browser/6.1.0.5.c.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sl50_ver1'''] = devclass(devices.devids['''generic'''], '''sie_sl50_ver1''', '''SIE-SL50''', True, {'''brand_name''':'''Siemens''','''max_image_height''':112,'''max_image_width''':64,'''model_name''':'''SL50''','''resolution_height''':112,'''resolution_width''':64}) +devices.devids['''sie_sl55_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_sl55_ver1''', '''SIE-SL55''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':4096,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':373760,'''j2me_left_softkey_code''':1,'''j2me_max_jar_size''':71680,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':80,'''j2me_screen_width''':101,'''j2me_storage_size''':1677721,'''max_deck_size''':53248,'''max_image_height''':80,'''max_image_width''':96,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''SL55''','''receiver''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':65536,'''ringtone_directdownload_size_limit''':8192,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':7,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':80,'''screensaver_max_width''':101,'''screensaver_png''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://communication-market.siemens.de/UAProf/SL55_02.xml''','''uaprof2''':'''http://communication-market.siemens.de/UAProf/SL55_14.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':8192,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':101,'''wallpaper_png''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101}) +devices.devids['''sie_sl55_ver1_sub00c1'''] = devclass(devices.devids['''sie_sl55_ver1'''], '''sie_sl55_ver1_sub00c1''', '''SIE-SL55/00 UP.Browser/6.1.0.5.c.1 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sl56_ver1'''] = devclass(devices.devids['''sie_sl55_ver1'''], '''sie_sl56_ver1''', '''SIE-SL56''', True, {'''model_name''':'''SL56''','''uaprof''':'''http://communication-market.siemens.de/UAProf/SL56_10.xml'''}) +devices.devids['''sie_sl56_ver1_sub05'''] = devclass(devices.devids['''sie_sl56_ver1'''], '''sie_sl56_ver1_sub05''', '''SIE-SL56/05 UP.Browser/6.1.0.5.c.5 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sl5c_ver1'''] = devclass(devices.devids['''sie_sl55_ver1'''], '''sie_sl5c_ver1''', '''SIE-SL5C''', True, {'''model_name''':'''SL5C''','''uaprof''':'''http://communication-market.siemens.de/UAProf/SL5C_09.xml'''}) +devices.devids['''sie_sl5c_ver1_sub09'''] = devclass(devices.devids['''sie_sl5c_ver1'''], '''sie_sl5c_ver1_sub09''', '''SIE-SL5C/09 UP.Browser/6.1.0.5.c.4 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sl5e_ver1'''] = devclass(devices.devids['''sie_sl55_ver1'''], '''sie_sl5e_ver1''', '''SIE-SL5E''', True, {'''model_name''':'''SL5E'''}) +devices.devids['''sie_sl5e_ver1_sub16'''] = devclass(devices.devids['''sie_sl5e_ver1'''], '''sie_sl5e_ver1_sub16''', '''SIE-SL5E/16 UP.Browser/6.1.0.5.c.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sl5e_ver1_sub1610'''] = devclass(devices.devids['''sie_sl5e_ver1'''], '''sie_sl5e_ver1_sub1610''', '''SIE-SL5E/16 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_st55_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_st55_ver1''', '''SIE-ST55''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''columns''':15,'''directdownload_support''':True,'''ems''':True,'''imelody''':True,'''inline_support''':True,'''max_deck_size''':51200,'''max_image_height''':160,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':51200,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''ST55''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_directdownload_size_limit''':16340,'''ringtone_imelody''':True,'''ringtone_inline_size_limit''':16340,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':4,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://communication-market.siemens.de/UAProf/ST55_01.xml''','''voices''':4,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''sie_st55_ver1_sub6106d2100'''] = devclass(devices.devids['''sie_st55_ver1'''], '''sie_st55_ver1_sub6106d2100''', '''SIE-ST55/1.0 UP.Browser/6.1.0.6.d.2.100 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_x55i_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_x55i_ver1''', '''SIE-X55i''', False, None) +devices.devids['''sie_x55i_ver1_sub6105c4'''] = devclass(devices.devids['''sie_x55i_ver1'''], '''sie_x55i_ver1_sub6105c4''', '''SIE-X55i FULLPOWER! UP.Browser/6.1.0.5.c.4 (GUI) MMP/1.0''', False, None) +devices.devids['''sie_a56_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sie_a56_ver1''', '''SIE-A56''', True, {'''brand_name''':'''Siemens''','''downloadfun_support''':True,'''ems''':True,'''max_image_height''':48,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A56''','''resolution_height''':64,'''resolution_width''':101,'''ringtone''':True,'''ringtone_df_size_limit''':16384,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':4,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_df_size_limit''':16384,'''screensaver_max_height''':64,'''screensaver_max_width''':101,'''screensaver_preferred_height''':64,'''screensaver_preferred_width''':101,'''siemens_ota''':True,'''siemens_screensaver_height''':64,'''sp_midi''':True,'''voices''':4}) +devices.devids['''sie_a56_ver1_sub14'''] = devclass(devices.devids['''sie_a56_ver1'''], '''sie_a56_ver1_sub14''', '''SIE-A56/14 UP.Browser/5.0.3.3.1.e.2 (GUI)''', False, None) +devices.devids['''sie_a56i_ver1'''] = devclass(devices.devids['''sie_a56_ver1'''], '''sie_a56i_ver1''', '''SIE-A56i''', True, {'''j2me_bits_per_pixel''':2,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':153600,'''j2me_left_softkey_code''':1,'''j2me_max_jar_size''':71680,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':64,'''j2me_screen_width''':101,'''j2me_storage_size''':122880,'''max_image_height''':48,'''max_image_width''':101,'''model_name''':'''A56i'''}) +devices.devids['''sie_a56i_ver1_sub02'''] = devclass(devices.devids['''sie_a56i_ver1'''], '''sie_a56i_ver1_sub02''', '''SIE-A56i/02 UP.Browser/5.0.3.3.1.e.4 (GUI)''', False, None) +devices.devids['''sie_a56i_ver1_sub03'''] = devclass(devices.devids['''sie_a56i_ver1'''], '''sie_a56i_ver1_sub03''', '''SIE-A56i/03 UP.Browser/5.0.3.3.1.e.4 (GUI)''', False, None) +devices.devids['''sie_c56_ver1'''] = devclass(devices.devids['''sie_c55_ver1'''], '''sie_c56_ver1''', '''SIE-C56''', True, {'''model_name''':'''C56'''}) +devices.devids['''sie_c56_ver1_sub14'''] = devclass(devices.devids['''sie_c56_ver1'''], '''sie_c56_ver1_sub14''', '''SIE-C56/14 UP.Browser/5.0.3.3.1.e.2 (GUI)''', False, None) +devices.devids['''sie_s56_ver1'''] = devclass(devices.devids['''sie_s55_ver1'''], '''sie_s56_ver1''', '''SIE-S56''', True, {'''model_name''':'''S56'''}) +devices.devids['''sie_s56_ver1_sub02'''] = devclass(devices.devids['''sie_s56_ver1'''], '''sie_s56_ver1_sub02''', '''SIE-S56/02 UP.Browser/6.1.0.5.c.2 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_m46_ver1'''] = devclass(devices.devids['''sie_me45_ver1'''], '''sie_m46_ver1''', '''SIE-M46''', True, {'''j2me_bits_per_pixel''':2,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':153600,'''j2me_left_softkey_code''':1,'''j2me_max_jar_size''':71680,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':64,'''j2me_screen_width''':101,'''j2me_storage_size''':204800,'''model_name''':'''M46'''}) +devices.devids['''sie_m46_ver1_sub12'''] = devclass(devices.devids['''sie_m46_ver1'''], '''sie_m46_ver1_sub12''', '''SIE-M46/12 UP.Browser/5.0.2.3.100 (GUI)''', False, None) +devices.devids['''sie_s57_ver1'''] = devclass(devices.devids['''sie_s55_ver1'''], '''sie_s57_ver1''', '''SIE-S57''', True, {'''model_name''':'''S57'''}) +devices.devids['''sie_s57_ver1_sub08'''] = devclass(devices.devids['''sie_s57_ver1'''], '''sie_s57_ver1_sub08''', '''SIE-S57/08 UP.Browser/6.1.0.5.c.1 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_s57c_ver1'''] = devclass(devices.devids['''sie_s57_ver1'''], '''sie_s57c_ver1''', '''SIE-S57C''', False, {'''uaprof''':'''http://communication-market.siemens.de/UAProf/S57C_06.xml''','''uaprof2''':'''http://communication-market.siemens.de/UAProf/S57C_18.xml'''}) +devices.devids['''sie_s57c_ver1_sub06'''] = devclass(devices.devids['''sie_s57c_ver1'''], '''sie_s57c_ver1_sub06''', '''SIE-S57C/06 UP.Browser/6.1.0.5.121 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_c60_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_c60_ver1''', '''SIE-C60''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''built_in_camera''':True,'''colors''':4096,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':778240,'''j2me_left_softkey_code''':1,'''j2me_max_jar_size''':71680,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':80,'''j2me_screen_width''':101,'''j2me_storage_size''':1887436,'''max_deck_size''':53248,'''max_image_height''':80,'''max_image_width''':96,'''max_object_size''':8192,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':16,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''C60''','''receiver''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':8192,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':3,'''sender''':True,'''siemens_logo_height''':46,'''siemens_ota''':True,'''siemens_screensaver_height''':80,'''sp_midi''':True,'''uaprof''':'''http://communication-market.siemens.de/UAProf/C60_10.xml''','''uaprof2''':'''http://communication-market.siemens.de/UAProf/C60_14.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':8192,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':101,'''wallpaper_png''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101,'''wav''':True}) +devices.devids['''sie_c60_ver1_sub00'''] = devclass(devices.devids['''sie_c60_ver1'''], '''sie_c60_ver1_sub00''', '''SIE-C60/00 UP.Browser/6.1.0.5.c.5 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_c60_ver1_sub1210'''] = devclass(devices.devids['''sie_c60_ver1'''], '''sie_c60_ver1_sub1210''', '''SIE-C60/12 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_c61_ver1'''] = devclass(devices.devids['''sie_c60_ver1'''], '''sie_c61_ver1''', '''SIE-C61''', True, {'''mms_vcalendar''':True,'''model_name''':'''C61''','''uaprof''':'''http://communication-market.siemens.de/UAProf/C61_11.xml'''}) +devices.devids['''sie_c61_ver1_sub07'''] = devclass(devices.devids['''sie_c61_ver1'''], '''sie_c61_ver1_sub07''', '''SIE-C61/07 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.5.c.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_c62_ver1'''] = devclass(devices.devids['''sie_platform65_generic'''], '''sie_c62_ver1''', '''SIE-C62''', True, {'''colors''':4096,'''columns''':18,'''downloadfun_support''':True,'''max_deck_size''':3000,'''max_image_height''':128,'''max_image_width''':128,'''mms_max_height''':120,'''mms_max_size''':50000,'''mms_max_width''':160,'''model_name''':'''C62''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_voices''':40,'''rows''':7,'''uaprof''':'''http://communication-market.siemens.de/UAProf/C62_90.xml''','''wallpaper_colors''':12,'''wallpaper_df_size_limit''':16384,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wta_phonebook''':True}) +devices.devids['''sie_c62_ver1_sub32'''] = devclass(devices.devids['''sie_c62_ver1'''], '''sie_c62_ver1_sub32''', '''SIE-C62/32''', False, {'''max_data_rate''':40}) +devices.devids['''sie_c62_ver1_sub53'''] = devclass(devices.devids['''sie_c62_ver1'''], '''sie_c62_ver1_sub53''', '''SIE-C62/53''', False, {'''max_data_rate''':40}) +devices.devids['''sie_c62_ver1_sub83'''] = devclass(devices.devids['''sie_c62_ver1'''], '''sie_c62_ver1_sub83''', '''SIE-C62/83''', False, {'''max_data_rate''':40,'''max_deck_size''':5000}) +devices.devids['''sie_cf61_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_cf61_ver1''', '''SIE-CF61''', True, {'''aac''':True,'''brand_name''':'''BenQ-Siemens''','''colors''':262144,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''CF61''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''sie_cf61_ver1_sub100'''] = devclass(devices.devids['''sie_cf61_ver1'''], '''sie_cf61_ver1_sub100''', '''BenQ-CF61/1.00/WAP2.0/MIDP2.0/CLDC1.0 UP.Browser/6.3.0.4.c.1.102 (GUI) MMP/2.0''', False, None) +devices.devids['''sie_cf62_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_cf62_ver1''', '''SIE-CF62''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''downloadfun_support''':True,'''ems''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_left_softkey_code''':1,'''j2me_max_jar_size''':71680,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':130,'''j2me_screen_width''':130,'''j2me_storage_size''':1572864,'''j2me_wav''':True,'''max_deck_size''':53248,'''max_image_height''':130,'''max_image_width''':130,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''CF62''','''oma_v_1_0_combined_delivery''':False,'''oma_v_1_0_forwardlock''':False,'''oma_v_1_0_separate_delivery''':False,'''receiver''':True,'''resolution_height''':130,'''resolution_width''':130,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':8192,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':32,'''ringtone_wav''':True,'''rows''':3,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':8,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':130,'''screensaver_max_width''':130,'''screensaver_png''':True,'''screensaver_preferred_height''':130,'''screensaver_preferred_width''':130,'''sender''':True,'''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?CF62,11''','''voices''':32,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':8192,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':130,'''wallpaper_max_width''':130,'''wallpaper_png''':True,'''wallpaper_preferred_height''':130,'''wallpaper_preferred_width''':130,'''wav''':True}) +devices.devids['''sie_cf62_ver1_sub04'''] = devclass(devices.devids['''sie_cf62_ver1'''], '''sie_cf62_ver1_sub04''', '''SIE-CF62/04 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_cf6c_ver1'''] = devclass(devices.devids['''sie_cf62_ver1'''], '''sie_cf6c_ver1''', '''SIE-CF6C''', True, {'''model_name''':'''CF6C'''}) +devices.devids['''sie_cf62t_ver1'''] = devclass(devices.devids['''sie_cf62_ver1'''], '''sie_cf62t_ver1''', '''SIE-CF62T''', True, {'''model_name''':'''CF62T'''}) +devices.devids['''sie_cf75_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_cf75_ver1''', '''SIE-CF75''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''columns''':18,'''directdownload_support''':True,'''ems''':True,'''gif_animated''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':1572864,'''j2me_jpg''':True,'''j2me_loctapi''':True,'''j2me_max_jar_size''':358400,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_png''':True,'''j2me_wmapi_1_0''':True,'''max_deck_size''':13000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''CF75''','''oma_support''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':36,'''ringtone_wav''':True,'''rows''':8,'''screensaver''':True,'''screensaver_max_height''':64,'''screensaver_max_width''':96,'''screensaver_preferred_height''':64,'''screensaver_preferred_width''':96,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''voices''':36,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':176,'''wallpaper_max_width''':132,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sie_cf75_ver1_sub07'''] = devclass(devices.devids['''sie_cf75_ver1'''], '''sie_cf75_ver1_sub07''', '''SIE-CF75/07 UP.Browser/7.0.2.2.d.5(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_cf76_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''sie_cf76_ver1''', '''SIE-CF76''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''model_name''':'''CF76''','''mp3''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''sender''':True}) +devices.devids['''sie_cf76_ver1_sub7022d7'''] = devclass(devices.devids['''sie_cf76_ver1'''], '''sie_cf76_ver1_sub7022d7''', '''SIE-CF76/14 UP.Browser/7.0.2.2.d.7(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''xhtml_support_level''':3}) +devices.devids['''siemens_cf110_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''siemens_cf110_ver1''', '''SIE-C110''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_image_height''':110,'''max_image_width''':130,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''CF110''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':130,'''resolution_width''':130,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''smf''':True,'''sp_midi''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''siemens_cf110_ver1_sub07'''] = devclass(devices.devids['''siemens_cf110_ver1'''], '''siemens_cf110_ver1_sub07''', '''SIE-C110/07 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3.102 (GUI) MMP/1.0''', False, None) +devices.devids['''sie_mc60_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_mc60_ver1''', '''SIE-MC60''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':4096,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':778240,'''j2me_left_softkey_code''':1,'''j2me_max_jar_size''':71680,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':80,'''j2me_screen_width''':101,'''j2me_storage_size''':1887436,'''j2me_wav''':True,'''max_deck_size''':53248,'''max_image_height''':66,'''max_image_width''':96,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':False,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''MC60''','''receiver''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_df_size_limit''':8192,'''ringtone_directdownload_size_limit''':10240,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':3,'''sender''':True,'''uaprof''':'''http://communication-market.siemens.de/UAProf/MC60_10.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':8192,'''wallpaper_directdownload_size_limit''':10240,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':101,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''sie_mc60_ver1_sub00'''] = devclass(devices.devids['''sie_mc60_ver1'''], '''sie_mc60_ver1_sub00''', '''SIE-MC60/00 UP.Browser/6.1.0.5.c.5 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_mc60_ver1_sub007001154eng'''] = devclass(devices.devids['''sie_mc60_ver1'''], '''sie_mc60_ver1_sub007001154eng''', '''SIE-MC60/00 UP.Browser/7.0.0.1.154eng (GUI) MMP/2.0''', False, {'''html_wi_oma_xhtmlmp_1_0''':True,'''max_data_rate''':40,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':3}) +devices.devids['''sie_mc60_ver1_sub05'''] = devclass(devices.devids['''sie_mc60_ver1'''], '''sie_mc60_ver1_sub05''', '''SIE-MC60/05 UP.Browser/6.1.0.5.c.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_mc60_ver1_sub06'''] = devclass(devices.devids['''sie_mc60_ver1'''], '''sie_mc60_ver1_sub06''', '''SIE-MC60/06 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_mc6c_ver1'''] = devclass(devices.devids['''sie_mc60_ver1'''], '''sie_mc6c_ver1''', '''SIE-MC6C''', True, {'''model_name''':'''MC6C''','''uaprof''':'''http://communication-market.siemens.de/UAProf/MC6C_07.xml'''}) +devices.devids['''sie_mc6c_ver1_sub07'''] = devclass(devices.devids['''sie_mc6c_ver1'''], '''sie_mc6c_ver1_sub07''', '''SIE-MC6C/07 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_qcist60_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_qcist60_ver1''', '''QCI-MJ2/''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''columns''':15,'''directdownload_support''':True,'''ems''':True,'''imelody''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_h263''':True,'''j2me_left_softkey_code''':1,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mpeg4''':True,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':160,'''j2me_screen_width''':120,'''j2me_storage_size''':5242880,'''max_deck_size''':51200,'''max_image_height''':160,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':51200,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''ST60''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_directdownload_size_limit''':16340,'''ringtone_imelody''':True,'''ringtone_inline_size_limit''':16340,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':4,'''rows''':8,'''sender''':True,'''sp_midi''':True,'''voices''':4,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''sie_qcist60_ver1_sub61073'''] = devclass(devices.devids['''sie_qcist60_ver1'''], '''sie_qcist60_ver1_sub61073''', '''QCI-MJ2/1.0 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0''', False, None) +devices.devids['''sie_st60_ver1'''] = devclass(devices.devids['''sie_qcist60_ver1'''], '''sie_st60_ver1''', '''SIE-ST60''', False, {'''ringtone_wav''':True,'''uaprof''':'''http://communication-market.siemens.de/UAProf/ST60_01.xml'''}) +devices.devids['''sie_st60_ver1_sub61073'''] = devclass(devices.devids['''sie_st60_ver1'''], '''sie_st60_ver1_sub61073''', '''SIE-ST60/1.0 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_z60_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_z60_ver1''', '''SIE-Z60''', True, {'''brand_name''':'''Siemens''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''Z60'''}) +devices.devids['''sie_z60_ver1_sub20'''] = devclass(devices.devids['''sie_z60_ver1'''], '''sie_z60_ver1_sub20''', '''SIE-Z60/20 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0''', False, None) +devices.devids['''sie_a65_ver1'''] = devclass(devices.devids['''sie_platform65_generic'''], '''sie_a65_ver1''', '''SIE-A65''', True, {'''colors''':4096,'''downloadfun_support''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''max_deck_size''':53248,'''max_image_height''':64,'''max_image_width''':99,'''mms_max_size''':51200,'''model_name''':'''A65''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':80,'''resolution_width''':101,'''ringtone_df_size_limit''':8192,'''rows''':3,'''uaprof''':'''http://communication-market.siemens.de/UAProf/A65_05.xml''','''voices''':16,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':8192,'''wallpaper_max_height''':80,'''wallpaper_max_width''':101,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''xhtml_support_level''':1}) +devices.devids['''sie_a65_ver1_sub04'''] = devclass(devices.devids['''sie_a65_ver1'''], '''sie_a65_ver1_sub04''', '''SIE-A65/04 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_a65c_ver1'''] = devclass(devices.devids['''sie_a65_ver1'''], '''sie_a65c_ver1''', '''SIE-A65C''', True, {'''model_name''':'''A65-China'''}) +devices.devids['''sie_a65c_ver1_sub06'''] = devclass(devices.devids['''sie_a65c_ver1'''], '''sie_a65c_ver1_sub06''', '''SIE-A65C/06 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_c65_ver1'''] = devclass(devices.devids['''sie_platform65_generic'''], '''sie_c65_ver1''', '''SIE-C65''', True, {'''columns''':18,'''max_deck_size''':1048576,'''max_image_height''':128,'''max_image_width''':130,'''model_name''':'''C65''','''oma_support''':True,'''picture_preferred_height''':130,'''picture_preferred_width''':130,'''resolution_height''':130,'''resolution_width''':130,'''rows''':5,'''screensaver_preferred_height''':130,'''screensaver_preferred_width''':130,'''siemens_logo_height''':53,'''siemens_logo_width''':130,'''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?C65,00''','''wallpaper_preferred_height''':130,'''wallpaper_preferred_width''':130}) +devices.devids['''sie_cfx65_ver1'''] = devclass(devices.devids['''sie_c65_ver1'''], '''sie_cfx65_ver1''', '''SIE-CFX65''', True, {'''max_deck_size''':200000,'''max_image_height''':130,'''mmf''':True,'''mobile_browser''':'''Teleca-Obigo''','''model_name''':'''CFX65''','''picture_max_height''':160,'''picture_max_width''':128,'''picture_preferred_height''':160,'''picture_preferred_width''':128,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_mmf''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''sie_c65_ver1_sub00'''] = devclass(devices.devids['''sie_c65_ver1'''], '''sie_c65_ver1_sub00''', '''SIE-C65/00 UP.Browser/7.0.0.1.139 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_cfx65_ver1_sub04'''] = devclass(devices.devids['''sie_cfx65_ver1'''], '''sie_cfx65_ver1_sub04''', '''SIE-CFX65/04''', False, {'''max_data_rate''':40}) +devices.devids['''sie_cfx65_ver1_sub4030'''] = devclass(devices.devids['''sie_cfx65_ver1'''], '''sie_cfx65_ver1_sub4030''', '''SIE-CFX65/4.030 Obigo/Q03C1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_cfx65_ver1_sub9'''] = devclass(devices.devids['''sie_cfx65_ver1'''], '''sie_cfx65_ver1_sub9''', '''SIE-CFX65/9 Obigo/Q03C1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_c6c_ver1'''] = devclass(devices.devids['''sie_c65_ver1'''], '''sie_c6c_ver1''', '''SIE-C6C''', True, {'''model_name''':'''C65-China''','''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?device=C6C'''}) +devices.devids['''sie_c6c_ver1_sub16'''] = devclass(devices.devids['''sie_c6c_ver1'''], '''sie_c6c_ver1_sub16''', '''SIE-C6C/16 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_c6c_ver1_sub25'''] = devclass(devices.devids['''sie_c6c_ver1'''], '''sie_c6c_ver1_sub25''', '''SIE-C6C/25 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_c6v_ver1'''] = devclass(devices.devids['''sie_c65_ver1'''], '''sie_c6v_ver1''', '''SIE-C6V''', True, {'''model_name''':'''C65-Vodafone'''}) +devices.devids['''sie_c6v_ver1_sub00'''] = devclass(devices.devids['''sie_c6v_ver1'''], '''sie_c6v_ver1_sub00''', '''SIE-C6V/00 UP.Browser/7.0.0.1.132 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_c6v_ver1_sub05'''] = devclass(devices.devids['''sie_c6v_ver1'''], '''sie_c6v_ver1_sub05''', '''SIE-C6V/05 UP.Browser/7.0.0.1.181 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_ct65_ver1'''] = devclass(devices.devids['''sie_c65_ver1'''], '''sie_ct65_ver1''', '''SIE-CT65''', True, {'''model_name''':'''CT65'''}) +devices.devids['''sie_cv6_ver1'''] = devclass(devices.devids['''sie_c65_ver1'''], '''sie_cv6_ver1''', '''SIE-CV6''', True, {'''model_name''':'''CV65'''}) +devices.devids['''sie_cx65_ver1'''] = devclass(devices.devids['''sie_platform65_generic'''], '''sie_cx65_ver1''', '''SIE-CX65''', True, {'''columns''':18,'''connectionless_service_load''':True,'''j2me_h263''':True,'''j2me_mmapi_1_0''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':132,'''max_image_height''':156,'''max_image_width''':130,'''model_name''':'''CX65''','''oma_support''':True,'''oma_v_1_0_separate_delivery''':False,'''resolution_height''':176,'''resolution_width''':132,'''rows''':8,'''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?device=CX65''','''wallpaper_max_height''':176,'''wallpaper_max_width''':132,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132}) +devices.devids['''sie_cx65_ver1_sub7001111'''] = devclass(devices.devids['''sie_cx65_ver1'''], '''sie_cx65_ver1_sub7001111''', '''SIE-CX65/00 UP.Browser/7.0.0.1.111 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_cx6c_ver1'''] = devclass(devices.devids['''sie_cx65_ver1'''], '''sie_cx6c_ver1''', '''SIE-CX6C''', True, {'''model_name''':'''CX65-China''','''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?device=CX6C&v=08'''}) +devices.devids['''sie_cx6c_ver1_sub04'''] = devclass(devices.devids['''sie_cx6c_ver1'''], '''sie_cx6c_ver1_sub04''', '''SIE-CX6C/04 UP.Browser/7.0.0.1.181 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_cx6v_ver1'''] = devclass(devices.devids['''sie_cx65_ver1'''], '''sie_cx6v_ver1''', '''SIE-CX6V''', True, {'''model_name''':'''CX65-Vodafone''','''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?CX6V,03'''}) +devices.devids['''sie_cx6v_ver1_sub7001121'''] = devclass(devices.devids['''sie_cx6v_ver1'''], '''sie_cx6v_ver1_sub7001121''', '''SIE-CX6V/00 UP.Browser/7.0.0.1.121 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_cxt65_ver1'''] = devclass(devices.devids['''sie_cx65_ver1'''], '''sie_cxt65_ver1''', '''SIE-CXT65''', True, {'''model_name''':'''CXT65'''}) +devices.devids['''sie_c66_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_c66_ver1''', '''SIE-C66''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''columns''':18,'''connectionless_service_load''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':110,'''max_image_width''':130,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''C66-NAFTA''','''receiver''':True,'''resolution_height''':130,'''resolution_width''':130,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_wav''':True,'''rows''':5,'''sender''':True,'''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?device=C66''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''sie_c66_ver1_sub34'''] = devclass(devices.devids['''sie_c66_ver1'''], '''sie_c66_ver1_sub34''', '''SIE-C66/34 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_ct66_ver1'''] = devclass(devices.devids['''sie_c66_ver1'''], '''sie_ct66_ver1''', '''SIE-CT66''', True, {'''model_name''':'''CT66'''}) +devices.devids['''sie_cv66_ver1'''] = devclass(devices.devids['''sie_c66_ver1'''], '''sie_cv66_ver1''', '''SIE-CV66''', True, {'''model_name''':'''CV66'''}) +devices.devids['''sie_cx70_ver1'''] = devclass(devices.devids['''sie_platform65_generic'''], '''sie_cx70_ver1''', '''SIE-CX70''', True, {'''columns''':18,'''max_image_height''':156,'''max_image_width''':132,'''mms_mp4''':True,'''model_name''':'''CX70''','''oma_support''':True,'''picture_preferred_height''':176,'''picture_preferred_width''':132,'''resolution_height''':176,'''resolution_width''':132,'''ringtone_mmf''':True,'''rows''':8,'''screensaver_preferred_height''':176,'''screensaver_preferred_width''':132,'''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?device=CX70&v=25''','''video_mp4''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132}) +devices.devids['''sie_cx70_ver1_sub7001181a'''] = devclass(devices.devids['''sie_cx70_ver1'''], '''sie_cx70_ver1_sub7001181a''', '''SIE-CX70/00 UP.Browser/7.0.0.1.181a (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_cx7v_ver1'''] = devclass(devices.devids['''sie_cx70_ver1'''], '''sie_cx7v_ver1''', '''SIE-CX7V''', True, {'''model_name''':'''CX70-Vodafone'''}) +devices.devids['''sie_cx7v_ver1_sub25'''] = devclass(devices.devids['''sie_cx7v_ver1'''], '''sie_cx7v_ver1_sub25''', '''SIE-CX7V/25 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_cxt70_ver1'''] = devclass(devices.devids['''sie_cx70_ver1'''], '''sie_cxt70_ver1''', '''SIE-CXT70''', True, {'''model_name''':'''CXT70'''}) +devices.devids['''sie_m65_ver1'''] = devclass(devices.devids['''sie_platform65_generic'''], '''sie_m65_ver1''', '''SIE-M65''', True, {'''columns''':18,'''connectionless_service_load''':True,'''j2me_h263''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':132,'''max_deck_size''':524288,'''max_image_height''':156,'''max_image_width''':132,'''mms_mp4''':True,'''model_name''':'''M65''','''oma_support''':True,'''picture_preferred_height''':176,'''picture_preferred_width''':132,'''resolution_height''':176,'''resolution_width''':132,'''rows''':8,'''screensaver_preferred_height''':176,'''screensaver_preferred_width''':132,'''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?device=M65''','''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132}) +devices.devids['''sie_m65_ver1_sub00'''] = devclass(devices.devids['''sie_m65_ver1'''], '''sie_m65_ver1_sub00''', '''SIE-M65/00 UP.Browser/7.0.0.1.132 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_m65_ver1_sub04'''] = devclass(devices.devids['''sie_m65_ver1'''], '''sie_m65_ver1_sub04''', '''SIE-M65/04 UP.Browser/7.0.0.1.181 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_m65_ver1_sub50'''] = devclass(devices.devids['''sie_m65_ver1'''], '''sie_m65_ver1_sub50''', '''SIE-M65/50 UP.Browser/7.0.2.2.d.3(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_m65i_ver1'''] = devclass(devices.devids['''sie_m65_ver1'''], '''sie_m65i_ver1''', '''SIE-M65i''', True, {'''model_name''':'''M65i'''}) +devices.devids['''sie_m65_ver1_sub04cldc'''] = devclass(devices.devids['''sie_m65_ver1'''], '''sie_m65_ver1_sub04cldc''', '''SIE-M65/04 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_m6c_ver1'''] = devclass(devices.devids['''sie_m65_ver1'''], '''sie_m6c_ver1''', '''SIE-M6C''', True, {'''model_name''':'''M65C'''}) +devices.devids['''sie_m6c_ver1_sub12'''] = devclass(devices.devids['''sie_m6c_ver1'''], '''sie_m6c_ver1_sub12''', '''SIE-M6C/12 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_m6c_ver1_sub43'''] = devclass(devices.devids['''sie_m6c_ver1'''], '''sie_m6c_ver1_sub43''', '''SIE-M6C/43 UP.Browser/7.0.2.2.d.1.100(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_m6v_ver1'''] = devclass(devices.devids['''sie_m65_ver1'''], '''sie_m6v_ver1''', '''SIE-M6V''', True, {'''model_name''':'''M65-Vodafone'''}) +devices.devids['''sie_m6v_ver1_sub7001132'''] = devclass(devices.devids['''sie_m6v_ver1'''], '''sie_m6v_ver1_sub7001132''', '''SIE-M6V/00 UP.Browser/7.0.0.1.132 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_m6v_ver1_sub07'''] = devclass(devices.devids['''sie_m6v_ver1'''], '''sie_m6v_ver1_sub07''', '''SIE-M6V/07 UP.Browser/7.0.0.1.181 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_mt65_ver1'''] = devclass(devices.devids['''sie_m65_ver1'''], '''sie_mt65_ver1''', '''SIE-MT65''', True, {'''model_name''':'''MT65'''}) +devices.devids['''sie_s65_ver1'''] = devclass(devices.devids['''sie_platform65_generic'''], '''sie_s65_ver1''', '''SIE-S65''', True, {'''columns''':18,'''j2me_3dapi''':True,'''j2me_3gpp''':True,'''j2me_audio_capture_enabled''':True,'''j2me_btapi''':True,'''j2me_canvas_height''':176,'''j2me_canvas_width''':132,'''j2me_clear_key_code''':12,'''j2me_middle_softkey_code''':26,'''j2me_mmapi_1_1''':True,'''j2me_mpeg4''':True,'''j2me_photo_capture_enabled''':True,'''j2me_return_key_code''':12,'''j2me_screen_height''':176,'''j2me_screen_width''':132,'''j2me_video_capture_enabled''':True,'''max_deck_size''':524288,'''max_image_height''':156,'''max_image_width''':132,'''mms_mp4''':True,'''model_name''':'''S65''','''oma_support''':True,'''picture_preferred_height''':176,'''picture_preferred_width''':132,'''resolution_height''':176,'''resolution_width''':132,'''rows''':8,'''screensaver_preferred_height''':176,'''screensaver_preferred_width''':132,'''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?device=S65''','''video_mp4''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132}) +devices.devids['''sie_s65_ver1_sub7001121'''] = devclass(devices.devids['''sie_s65_ver1'''], '''sie_s65_ver1_sub7001121''', '''SIE-S65/00 UP.Browser/7.0.0.1.121 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_s65_ver1_sub7001132'''] = devclass(devices.devids['''sie_s65_ver1'''], '''sie_s65_ver1_sub7001132''', '''SIE-S65/00 UP.Browser/7.0.0.1.132 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_s65_ver1_sub7001167a'''] = devclass(devices.devids['''sie_s65_ver1'''], '''sie_s65_ver1_sub7001167a''', '''SIE-S65/00 UP.Browser/7.0.0.1.167a (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_s6c_ver1'''] = devclass(devices.devids['''sie_s65_ver1'''], '''sie_s6c_ver1''', '''SIE-S6C''', True, {'''model_name''':'''S6C'''}) +devices.devids['''sie_s6c_ver1_sub12'''] = devclass(devices.devids['''sie_s6c_ver1'''], '''sie_s6c_ver1_sub12''', '''SIE-S6C/12 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_s6v_ver1'''] = devclass(devices.devids['''sie_s65_ver1'''], '''sie_s6v_ver1''', '''SIE-S6V''', True, {'''model_name''':'''S65-Vodafone'''}) +devices.devids['''sie_s6v_ver1_sub23'''] = devclass(devices.devids['''sie_s6v_ver1'''], '''sie_s6v_ver1_sub23''', '''SIE-S6V/23 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_s66_ver1'''] = devclass(devices.devids['''sie_platform65_generic'''], '''sie_s66_ver1''', '''SIE-S66''', True, {'''columns''':18,'''connectionless_service_load''':True,'''max_image_height''':156,'''max_image_width''':132,'''mms_mp4''':True,'''model_name''':'''S66''','''resolution_height''':176,'''resolution_width''':132,'''rows''':8,'''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?device=S66''','''video_mp4''':True}) +devices.devids['''sie_s66_ver1_sub34'''] = devclass(devices.devids['''sie_s66_ver1'''], '''sie_s66_ver1_sub34''', '''SIE-S66/34 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sf65_ver1'''] = devclass(devices.devids['''generic'''], '''sie_sf65_ver1''', '''SIE-SF65''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''columns''':16,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':130200,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''SF65''','''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':8,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?SF65,00''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sie_sf65_ver1_sub00'''] = devclass(devices.devids['''sie_sf65_ver1'''], '''sie_sf65_ver1_sub00''', '''SIE-SF65 ObigoInternetBrowser/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sf65_ver2'''] = devclass(devices.devids['''sie_sf65_ver1'''], '''sie_sf65_ver2''', '''SIE-SF65v2''', True, {'''connectionoriented_confirmed_service_indication''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''mms_max_size''':102400,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''SF65v2''','''oma_support''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?SF65v2,00''','''xhtml_support_level''':1}) +devices.devids['''sie_sf65_ver2_sub00'''] = devclass(devices.devids['''sie_sf65_ver2'''], '''sie_sf65_ver2_sub00''', '''SIE-SF65v2 ObigoInternetBrowser/Q03C''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sk65_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_sk65_ver1''', '''SIE-SK65''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''columns''':18,'''connectionless_service_load''':True,'''directdownload_support''':True,'''ems''':True,'''has_qwerty_keyboard''':True,'''inline_support''':True,'''j2me_3dapi''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_btapi''':True,'''j2me_canvas_height''':176,'''j2me_canvas_width''':132,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':5242880,'''j2me_jtwi''':True,'''j2me_left_softkey_code''':1,'''j2me_max_jar_size''':358400,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mpeg4''':True,'''j2me_right_softkey_code''':4,'''j2me_screen_height''':176,'''j2me_screen_width''':132,'''j2me_storage_size''':11534336,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_deck_size''':32768,'''max_image_height''':156,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SK65''','''oma_support''':True,'''receiver''':True,'''resolution_height''':176,'''resolution_width''':132,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?SK65,00''','''uaprof2''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/Siemens%20SK65/3.8.0.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132,'''wav''':True}) +devices.devids['''sie_sk65_ver1_sub00'''] = devclass(devices.devids['''sie_sk65_ver1'''], '''sie_sk65_ver1_sub00''', '''SIE-SK65/00 UP.Browser/7.0.0.1.154eng (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sk65_ver1_subberry380'''] = devclass(devices.devids['''sie_sk65_ver1'''], '''sie_sk65_ver1_subberry380''', '''BlackBerrySiemens SK65/3.8.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sk65_ver1_sub30'''] = devclass(devices.devids['''sie_sk65_ver1'''], '''sie_sk65_ver1_sub30''', '''SIE-SK65/30 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sk6r_ver1'''] = devclass(devices.devids['''sie_sk65_ver1'''], '''sie_sk6r_ver1''', '''SIE-SK6R''', True, {'''model_name''':'''SK6R''','''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?device=SK6R'''}) +devices.devids['''sie_sk6r_ver1_sub30'''] = devclass(devices.devids['''sie_sk6r_ver1'''], '''sie_sk6r_ver1_sub30''', '''SIE-SK6R/30 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sl65_ver1'''] = devclass(devices.devids['''sie_platform65_generic'''], '''sie_sl65_ver1''', '''SIE-SL65''', True, {'''columns''':18,'''connectionless_service_load''':True,'''max_deck_size''':524288,'''max_image_height''':128,'''max_image_width''':128,'''mms_mp4''':True,'''model_name''':'''SL65''','''oma_support''':True,'''picture_preferred_height''':130,'''picture_preferred_width''':130,'''resolution_height''':130,'''resolution_width''':130,'''rows''':5,'''screensaver_preferred_height''':130,'''screensaver_preferred_width''':130,'''uaprof''':'''https://communication-market.siemens.de/portal/UAProf/UAP.aspx?SL65,00''','''video_mp4''':True,'''wallpaper_preferred_height''':130,'''wallpaper_preferred_width''':130}) +devices.devids['''sie_sl65_ver1_sub7001139'''] = devclass(devices.devids['''sie_sl65_ver1'''], '''sie_sl65_ver1_sub7001139''', '''SIE-SL65/00 UP.Browser/7.0.0.1.139 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sl65_ver1_sub7001181'''] = devclass(devices.devids['''sie_sl65_ver1'''], '''sie_sl65_ver1_sub7001181''', '''SIE-SL65/00 UP.Browser/7.0.0.1.181 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sl6c_ver1'''] = devclass(devices.devids['''sie_sl65_ver1'''], '''sie_sl6c_ver1''', '''SIE-SL6C''', True, {'''model_name''':'''SL65-China''','''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?device=SL6C'''}) +devices.devids['''sie_sl6c_ver1_sub16'''] = devclass(devices.devids['''sie_sl6c_ver1'''], '''sie_sl6c_ver1_sub16''', '''SIE-SL6C/16 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sie_sp65_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_sp65_ver1''', '''SIE-SP65''', True, {'''brand_name''':'''Siemens''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':'''SP65''','''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':35,'''wallpaper_preferred_width''':96}) +devices.devids['''sie_sp65_ver1_sub47'''] = devclass(devices.devids['''sie_sp65_ver1'''], '''sie_sp65_ver1_sub47''', '''SIE-SP65/47 UP.Browser/7.0.2.2.d.1(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_s68_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_s68_ver1''', '''SIE-S68''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':262144,'''compactmidi''':True,'''evrc''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_image_height''':176,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''S68''','''mp3''':True,'''oma_support''':True,'''qcelp''':True,'''resolution_height''':176,'''resolution_width''':132,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''screensaver''':True,'''sp_midi''':True,'''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?device=S68''','''video''':True,'''video_3gpp''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132,'''wav''':True,'''xmf''':True}) +devices.devids['''sie_s68_ver1_sub22'''] = devclass(devices.devids['''sie_s68_ver1'''], '''sie_s68_ver1_sub22''', '''SIE-S68/22 UP.Browser/7.1.0.e.12(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.1.0.e.12 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sie_s81_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_s81_ver1''', '''SIE-S81''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Siemens''','''colors''':262144,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S81''','''mp3''':True,'''oma_support''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''sie_s88_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_s88_ver1''', '''SIE-S88''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Siemens''','''colors''':262144,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':176,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S88''','''mp3''':True,'''oma_support''':True,'''resolution_height''':176,'''resolution_width''':132,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''streaming_3gpp''':True,'''streaming_video''':True,'''uaprof''':'''http://uap.benq.com/mb_s88/benq_s88_v3_300k.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':176,'''wallpaper_max_width''':132,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132}) +devices.devids['''sie_c70_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_c70_ver1''', '''SIE-C70''', True, {'''brand_name''':'''Siemens''','''directdownload_support''':True,'''max_image_height''':130,'''max_image_width''':130,'''model_name''':'''C70''','''resolution_height''':130,'''resolution_width''':130,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':130,'''screensaver_max_width''':130,'''screensaver_png''':True,'''screensaver_preferred_height''':130,'''screensaver_preferred_width''':130,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':130,'''wallpaper_max_width''':130,'''wallpaper_png''':True,'''wallpaper_preferred_height''':130,'''wallpaper_preferred_width''':130}) +devices.devids['''sie_c72_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_c72_ver1''', '''SIE-C72''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''directdownload_support''':True,'''ems''':True,'''gif_animated''':True,'''j2me_bmp''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_gif''':True,'''j2me_heap_size''':1572864,'''j2me_jpg''':True,'''j2me_jtwi''':True,'''j2me_loctapi''':True,'''j2me_max_jar_size''':358400,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_png''':True,'''j2me_wmapi_1_0''':True,'''max_deck_size''':10240,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C72''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''video''':True,'''video_3gpp''':True,'''video_max_frame_rate''':12,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wav''':True}) +devices.devids['''sie_c72_ver1_sub13'''] = devclass(devices.devids['''sie_c72_ver1'''], '''sie_c72_ver1_sub13''', '''SIE-C72/13 UP.Browser/7.0.2.2.d.7(GUI) MMP/2.0 Profile/MIDP-2.0''', False, None) +devices.devids['''sie_c72_ver1_sub16'''] = devclass(devices.devids['''sie_c72_ver1'''], '''sie_c72_ver1_sub16''', '''SIE-C72/16 UP.Browser/7.0.2.2.d.7(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_c81_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_c81_ver1''', '''SIE-C81''', True, {'''aac''':True,'''brand_name''':'''Siemens''','''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':50000,'''max_image_height''':176,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C81''','''mp3''':True,'''resolution_height''':176,'''resolution_width''':132,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''sie_c81_ver1_sub37710e18'''] = devclass(devices.devids['''sie_c81_ver1'''], '''sie_c81_ver1_sub37710e18''', '''SIE-C81/37 UP.Browser/7.1.0.e.18(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_ax72_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_ax72_ver1''', '''SIE-AX72''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''directdownload_support''':True,'''gif_animated''':True,'''imelody''':True,'''inline_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''AX72''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''smf''':True,'''sp_midi''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sie_ax72_ver1_sub02'''] = devclass(devices.devids['''sie_ax72_ver1'''], '''sie_ax72_ver1_sub02''', '''SIE-AX72/02 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3.102 (GUI) MMP/1.0''', False, None) +devices.devids['''sie_ax75_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sie_ax75_ver1''', '''SIE-AX75''', True, {'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':65536,'''directdownload_support''':True,'''gif_animated''':True,'''inline_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':108,'''max_image_width''':128,'''model_name''':'''AX75''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sie_ax75_ver1_sub11'''] = devclass(devices.devids['''sie_ax75_ver1'''], '''sie_ax75_ver1_sub11''', '''SIE-AX75/11 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3.102 (GUI) MMP/1.0''', False, None) +devices.devids['''sie_c75_ver1'''] = devclass(devices.devids['''sie_platform75_generic'''], '''sie_c75_ver1''', '''SIE-C75''', True, {'''model_name''':'''C75'''}) +devices.devids['''sie_c75_ver1_sub117022d5'''] = devclass(devices.devids['''sie_c75_ver1'''], '''sie_c75_ver1_sub117022d5''', '''SIE-C75/11 UP.Browser/7.0.2.2.d.5(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_c75_ver1_sub247022d7'''] = devclass(devices.devids['''sie_c75_ver1'''], '''sie_c75_ver1_sub247022d7''', '''SIE-C75/24 UP.Browser/7.0.2.2.d.7(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_s75_ver1'''] = devclass(devices.devids['''sie_platform75_generic'''], '''sie_s75_ver1''', '''SIE-S75''', True, {'''colors''':262144,'''gif_animated''':True,'''j2me_heap_size''':2621440,'''j2me_mmapi_1_0''':True,'''model_name''':'''S75''','''screensaver_max_height''':64,'''screensaver_max_width''':96,'''screensaver_preferred_height''':64,'''screensaver_preferred_width''':96,'''video_mp4''':True,'''wallpaper_colors''':18,'''wallpaper_max_height''':176,'''wallpaper_max_width''':132,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132}) +devices.devids['''sie_s75_ver1_sub10'''] = devclass(devices.devids['''sie_s75_ver1'''], '''sie_s75_ver1_sub10''', '''SIE-S75/10 UP.Browser/7.1.0.e.7(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_sl75_ver1'''] = devclass(devices.devids['''sie_platform75_generic'''], '''sie_sl75_ver1''', '''SIE-SL75''', True, {'''colors''':262144,'''gif_animated''':True,'''j2me_heap_size''':26219520,'''j2me_mmapi_1_0''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''SL75''','''png''':False,'''ringtone_voices''':64,'''video_mp4''':True,'''wallpaper_colors''':18}) +devices.devids['''sie_sl75_ver1_sub10'''] = devclass(devices.devids['''sie_sl75_ver1'''], '''sie_sl75_ver1_sub10''', '''SIE-SL75/10 UP.Browser/7.1.0.e.7(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_sl75_ver1_sub00'''] = devclass(devices.devids['''sie_sl75_ver1'''], '''sie_sl75_ver1_sub00''', '''SIE-SL75 ObigoInternetBrowser/2.0''', False, None) +devices.devids['''sie_sl91_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_sl91_ver1''', '''SIE-SL91''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':16777216,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':10240,'''max_image_height''':320,'''max_image_width''':236,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SL91''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''screensaver''':True,'''sender''':True,'''sp_midi''':True,'''streaming_video''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_real_media_8''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':72,'''wallpaper''':True}) +devices.devids['''sie_sl91_ver1_sub7001181'''] = devclass(devices.devids['''sie_sl91_ver1'''], '''sie_sl91_ver1_sub7001181''', '''BenQ-SL91/01 UP.Browser/7.0.0.1.181 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.1.1.k.4 (GUI) MMP/2.0''', False, None) +devices.devids['''sie_sg75_ver1'''] = devclass(devices.devids['''sie_platform75_generic'''], '''sie_sg75_ver1''', '''SIE-SG75''', True, {'''colors''':262144,'''max_image_height''':220,'''max_image_width''':176,'''model_name''':'''SG75''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_mp3''':True,'''wallpaper_colors''':18}) +devices.devids['''sie_sg75_ver1_sub10'''] = devclass(devices.devids['''sie_sg75_ver1'''], '''sie_sg75_ver1_sub10''', '''SIE-SG75/10 UP.Browser/7.1.0.e.7(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_cl71_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sie_cl71_ver1''', '''SIE-CL71''', True, {'''aac''':True,'''brand_name''':'''BenQ-Siemens''','''colors''':262144,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''CL71''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''sie_cl75_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sie_cl75_ver1''', '''SIE-CL75''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':65535,'''columns''':15,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':51200,'''max_image_height''':130,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''CL75''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':18,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':160,'''picture_max_width''':128,'''picture_png''':True,'''picture_preferred_height''':160,'''picture_preferred_width''':128,'''picture_wbmp''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':5,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sie_cl75_ver1_sub016237'''] = devclass(devices.devids['''sie_cl75_ver1'''], '''sie_cl75_ver1_sub016237''', '''Siemens-CL75/1.0 UP.Browser/6.2.3.7 (GUI) MMP/2.0''', False, None) +devices.devids['''sie_cl75_ver1_sub016239d1'''] = devclass(devices.devids['''sie_cl75_ver1'''], '''sie_cl75_ver1_sub016239d1''', '''SIE-CL75/01 UP.Browser/6.2.3.9.d.1 (GUI) MMP/2.0''', False, None) +devices.devids['''sie_cl91_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sie_cl91_ver1''', '''SIE-CL91''', True, {'''aac''':True,'''brand_name''':'''BenQ-Siemens''','''colors''':16777216,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''CL91''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''sie_cx75_ver1'''] = devclass(devices.devids['''sie_platform75_generic'''], '''sie_cx75_ver1''', '''SIE-CX75''', True, {'''model_name''':'''CX75''','''ringtone_mp3''':True}) +devices.devids['''sie_cx75_ver1_sub00'''] = devclass(devices.devids['''sie_cx75_ver1'''], '''sie_cx75_ver1_sub00''', '''SIE-CX75/00 UP.Browser/7.0.2.2.d.2(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_sxg75_ver1'''] = devclass(devices.devids['''sie_platform75_generic'''], '''sie_sxg75_ver1''', '''SIE-SXG75''', True, {'''colors''':262144,'''gif_animated''':True,'''j2me_heap_size''':26219520,'''j2me_mmapi_1_0''':True,'''max_image_height''':300,'''max_image_width''':240,'''model_name''':'''SXG75''','''png''':False,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''smf''':True,'''video_mp4''':True,'''wallpaper_colors''':18,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''xhtml_support_level''':3}) +devices.devids['''sie_sxg75_ver1_sub08'''] = devclass(devices.devids['''sie_sxg75_ver1'''], '''sie_sxg75_ver1_sub08''', '''SIE-SXG75/08 UP.Browser/7.0.0.1.181 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.1.1.2.108 (GUI) MMP/2.0''', False, None) +devices.devids['''sie_m75_ver1'''] = devclass(devices.devids['''sie_platform75_generic'''], '''sie_m75_ver1''', '''SIE-M75''', True, {'''model_name''':'''M75'''}) +devices.devids['''sie_m75_ver1_sub00'''] = devclass(devices.devids['''sie_m75_ver1'''], '''sie_m75_ver1_sub00''', '''SIE-M75/00 UP.Browser/7.0.2.2.d.3(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_m81_ver1'''] = devclass(devices.devids['''sie_platform75_generic'''], '''sie_m81_ver1''', '''SIE-M81''', True, {'''colors''':262144,'''max_image_height''':176,'''model_name''':'''M81''','''wallpaper_colors''':18}) +devices.devids['''sie_ef51_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_ef51_ver1''', '''SIE-EF51''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':262144,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''EF51''','''mp3''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''smf''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sie_ef81_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_ef81_ver1''', '''SIE-EF81''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Siemens''','''colors''':262144,'''columns''':18,'''compactmidi''':True,'''evrc''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_deck_size''':50000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''EF81''','''mp3''':True,'''oma_support''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':8,'''screensaver''':True,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''svgt_1_1''':True,'''uaprof''':'''http://communication-market.siemens.de/portal/UAProf/UAP.aspx?DeviceID=EF81''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True,'''xmf''':True}) +devices.devids['''sie_ef81_ver1_sub12'''] = devclass(devices.devids['''sie_ef81_ver1'''], '''sie_ef81_ver1_sub12''', '''SIE-EF81/12 UP.Browser/7.0.0.1.181 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.1.1.3.h (GUI) MMP/2.0''', False, {'''max_data_rate''':384}) +devices.devids['''sie_ef91_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_ef91_ver1''', '''SIE-EF91''', True, {'''aac''':True,'''brand_name''':'''Siemens''','''colors''':262144,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''EF91''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''smf''':True,'''svgt_1_1''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''sie_e71_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_e71_ver1''', '''SIE-E71''', True, {'''aac''':True,'''brand_name''':'''Siemens''','''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':320,'''max_image_width''':236,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''E71''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''video''':True,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''sie_e71_ver1_sub'''] = devclass(devices.devids['''sie_e71_ver1'''], '''sie_e71_ver1_sub''', '''SIE-E71F/28 UP.Browser/7.1.0.e.24(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.1.0.e.24 (GUI) MMP/2.0''', False, None) +devices.devids['''sie_el71_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sie_el71_ver1''', '''SIE-EL71''', True, {'''aac''':True,'''brand_name''':'''BenQ-Siemens''','''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''EL71''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''svgt_1_1''':True,'''video''':True,'''video_acodec_aac''':True,'''video_qcif''':True,'''video_real_media_8''':True,'''video_sqcif''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''sie_el71_ver1_sub00710e15'''] = devclass(devices.devids['''sie_el71_ver1'''], '''sie_el71_ver1_sub00710e15''', '''SIE-ELF1/00 UP.Browser/7.1.0.e.15(GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.1.0.e.15 (GUI) MMP/2.0''', False, None) +devices.devids['''se47_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''se47_ver1''', '''SE47''', False, None) +devices.devids['''se47_ver1_sub4126'''] = devclass(devices.devids['''se47_ver1'''], '''se47_ver1_sub4126''', '''SE47/1.0.14 UP.Browser/4.1.26l''', False, None) +devices.devids['''sec02_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec02_ver1''', '''SEC02 UP.Browser/4''', False, None) +devices.devids['''sec02_ver1_sub4122b'''] = devclass(devices.devids['''sec02_ver1'''], '''sec02_ver1_sub4122b''', '''SEC02 UP.Browser/4.1.22b''', False, None) +devices.devids['''samsung_spha540_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_spha540_ver1''', '''SEC-SPHA540 UP.Browser/4''', False, None) +devices.devids['''samsung_spha540_ver1_sub4126'''] = devclass(devices.devids['''samsung_spha540_ver1'''], '''samsung_spha540_ver1_sub4126''', '''SEC-SPHA540 UP.Browser/4.1.26l''', False, None) +devices.devids['''samsung_spha620_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_spha620_ver1''', '''Samsung-SPHA620''', True, {'''brand_name''':'''Samsung''','''model_name''':'''A620'''}) +devices.devids['''samsung_spha680_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_spha680_ver1''', '''Samsung-SPHA680''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''directdownload_support''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_canvas_height''':131,'''j2me_canvas_width''':128,'''j2me_heap_size''':262144,'''j2me_jpg''':True,'''j2me_max_jar_size''':131072,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_wbmp''':True,'''jpg''':True,'''max_deck_size''':131072,'''max_image_height''':131,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''model_name''':'''A680''','''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''qcelp''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''rows''':9,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_jpg''':True,'''screensaver_max_height''':110,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':110,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-A680/XC15.rdf''','''voices''':32,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':110,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':110,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True}) +devices.devids['''samsung_spha680_ver1_sub20'''] = devclass(devices.devids['''samsung_spha680_ver1'''], '''samsung_spha680_ver1_sub20''', '''Samsung-SPHA680 AU-MIC/2.0 MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_spha680_ver1_sub20a680'''] = devclass(devices.devids['''samsung_spha680_ver1'''], '''samsung_spha680_ver1_sub20a680''', '''Samsung-SPHA680 AU-MIC-A680/2.0 MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsungspha700_ver1'''] = devclass(devices.devids['''generic'''], '''samsungspha700_ver1''', '''Samsung-SPHA700''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''directdownload_support''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_3gpp''':True,'''j2me_aac''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':185,'''j2me_canvas_width''':176,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_h263''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mpeg4''':True,'''j2me_realvideo''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':65536,'''max_image_height''':185,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''MM-A700''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''qcelp''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':131072,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''rows''':10,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':131072,'''screensaver_max_height''':165,'''screensaver_max_width''':176,'''screensaver_preferred_height''':165,'''screensaver_preferred_width''':176,'''screensaver_wbmp''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_max_bit_rate''':131072,'''streaming_video_max_frame_rate''':15,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''streaming_video_sqcif_max_height''':96,'''streaming_video_sqcif_max_width''':128,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''streaming_wmv''':False,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-A700/XG23.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_qcelp''':True,'''video_max_frame_rate''':25,'''video_max_height''':220,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':131072,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':165,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':165,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''samsungspha700_ver1_subaumica700'''] = devclass(devices.devids['''samsungspha700_ver1'''], '''samsungspha700_ver1_subaumica700''', '''Samsung-SPHA700 AU-MIC-A700/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_spha740_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_spha740_ver1''', '''Samsung-SPHA740''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''directdownload_support''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''A740''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''qcelp''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':131072,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''rows''':9,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':131072,'''screensaver_jpg''':True,'''screensaver_max_height''':110,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':110,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-A740/XK12.rdf''','''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':131072,'''wallpaper_jpg''':True,'''wallpaper_max_height''':110,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':110,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''xhtml_support_level''':1}) +devices.devids['''samsung_spha740_ver1_sub20'''] = devclass(devices.devids['''samsung_spha740_ver1'''], '''samsung_spha740_ver1_sub20''', '''Samsung-SPHA740 AU-MIC-A740/2.0 MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_spha760_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_spha760_ver1''', '''Samsung-SPHA760''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''directdownload_support''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_image_height''':110,'''max_image_width''':128,'''mobile_browser''':'''Teleca-Obigo''','''model_name''':'''SPH-A760''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':131072,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''rows''':9,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':131072,'''screensaver_jpg''':True,'''screensaver_max_height''':110,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':110,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':131072,'''wallpaper_jpg''':True,'''wallpaper_max_height''':110,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':110,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wml_1_2''':True,'''xhtml_support_level''':1}) +devices.devids['''samsung_spha760_ver1_subaumic20'''] = devclass(devices.devids['''samsung_spha760_ver1'''], '''samsung_spha760_ver1_subaumic20''', '''Samsung-SPHA760 AU-MIC/2.0 MMP/2.0''', False, None) +devices.devids['''samsung_spha790_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_spha790_ver1''', '''Samsung-SPHA790''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''A790''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':False,'''ringtone_mp3''':True,'''rows''':9,'''screensaver_directdownload_size_limit''':102400,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-A790/XK26.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_directdownload_size_limit''':102400,'''wap_push_support''':True,'''wml_1_2''':True,'''xhtml_support_level''':1}) +devices.devids['''samsung_spha790_ver1_subaumic20'''] = devclass(devices.devids['''samsung_spha790_ver1'''], '''samsung_spha790_ver1_subaumic20''', '''Samsung-SPHA790 AU-MIC-A790/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''verizon_samsung_spha790_ver1'''] = devclass(devices.devids['''samsung_spha790_ver1'''], '''verizon_samsung_spha790_ver1''', '''sama790''', True, {'''amr''':False,'''gif_animated''':True,'''model_name''':'''SPH-A790 (Verizon Wireless)''','''mp3''':False,'''oma_v_1_0_forwardlock''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':False,'''ringtone_qcelp''':True,'''screensaver_directdownload_size_limit''':102400,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''voices''':16,'''wallpaper_directdownload_size_limit''':102400,'''wallpaper_jpg''':True}) +devices.devids['''verizon_samsung_spha795_ver1'''] = devclass(devices.devids['''samsung_spha790_ver1'''], '''verizon_samsung_spha795_ver1''', '''sama795''', True, {'''amr''':False,'''gif_animated''':True,'''model_name''':'''SPH-A795 (Verizon Wireless)''','''mp3''':False,'''oma_v_1_0_forwardlock''':True,'''ringtone_amr''':False,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':False,'''ringtone_qcelp''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''voices''':16,'''wallpaper_jpg''':True}) +devices.devids['''samsung_spha800_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_spha800_ver1''', '''Samsung-SPHA800''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':280,'''max_image_width''':220,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''A800''','''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':320,'''resolution_width''':240,'''rows''':9,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-A800/YD11.rdf''','''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_spha800_ver1_sub1'''] = devclass(devices.devids['''samsung_spha800_ver1'''], '''samsung_spha800_ver1_sub1''', '''Samsung-SPHA800 AU-MIC-A800/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_spha820_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_spha820_ver1''', '''Samsung-SPHA820''', True, {'''brand_name''':'''Samsung''','''model_name''':'''A820'''}) +devices.devids['''samsung_spha820_ver1_sub6225'''] = devclass(devices.devids['''samsung_spha820_ver1'''], '''samsung_spha820_ver1_sub6225''', '''SPH-A820 UP.Browser/6.2.2.5 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_spha840_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_spha840_ver1''', '''Samsung-SPHA840''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''directdownload_support''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''SPH-A840''','''png''':True,'''qcelp''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''rows''':9,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':131072,'''screensaver_max_height''':110,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':110,'''screensaver_preferred_width''':128,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-A840/YH09.rdf''','''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':131072,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':110,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':110,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True}) +devices.devids['''samsung_spha840_ver1_sub1'''] = devclass(devices.devids['''samsung_spha840_ver1'''], '''samsung_spha840_ver1_sub1''', '''Samsung-SPHA840 AU-MIC-A840/2.0 MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_spha850_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_spha850_ver1''', '''Samsung-SPHA850''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SPH-A850'''}) +devices.devids['''samsung_scha850_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_scha850_ver1''', '''SCH-A850''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':160,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':32,'''mms_mp3''':False,'''mms_qcelp''':False,'''model_name''':'''SCH-A850''','''mp3''':False,'''oma_v_1_0_forwardlock''':True,'''qcelp''':False,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':125000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':False,'''ringtone_qcelp''':False,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':125000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':125000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_scha850_ver1_sub_6232'''] = devclass(devices.devids['''samsung_scha850_ver1'''], '''samsung_scha850_ver1_sub_6232''', '''SCH-A850 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''verizon_samsung_scha850_ver1'''] = devclass(devices.devids['''samsung_scha850_ver1'''], '''verizon_samsung_scha850_ver1''', '''sama850''', True, {'''directdownload_support''':False,'''model_name''':'''SCH-A850 (Verizon Wireless)''','''ringtone_qcelp''':True}) +devices.devids['''samsung_scha870_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_scha870_ver1''', '''SCH-A870 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SCH-A870''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':12,'''screensaver''':True,'''sender''':True,'''uaprof''':'''http://device.telusmobility.com/samsung/scha870-0.rdf''','''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wbmp''':True,'''xhtml_support_level''':3}) +devices.devids['''verizon_samsungA870_ver1'''] = devclass(devices.devids['''samsung_scha870_ver1'''], '''verizon_samsungA870_ver1''', '''sama870''', True, {'''model_name''':'''SCH-A870 (Verizon Wireless)''','''ringtone_mp3''':False}) +devices.devids['''samsung_spha880_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_spha880_ver1''', '''Samsung-SPHA880''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''gif''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':185,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''A880''','''mp3''':True,'''png''':True,'''qcelp''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':64,'''rows''':9,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':165,'''screensaver_max_width''':176,'''screensaver_preferred_height''':165,'''screensaver_preferred_width''':176,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-A880/YC24.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':165,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':165,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wml_1_2''':True}) +devices.devids['''samsung_spha880_ver1_sub6225'''] = devclass(devices.devids['''samsung_spha880_ver1'''], '''samsung_spha880_ver1_sub6225''', '''SPH-A880 UP.Browser/6.2.2.5 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_spha880_ver1sub_1'''] = devclass(devices.devids['''samsung_spha880_ver1'''], '''samsung_spha880_ver1sub_1''', '''Samsung-SPHA880 AU-MIC-A880/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_a890_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_a890_ver1''', '''SCH-A890''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':False,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':160,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':64,'''mms_mp3''':False,'''mms_qcelp''':False,'''model_name''':'''SCH-A890''','''mp3''':False,'''oma_v_1_0_forwardlock''':True,'''qcelp''':False,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_directdownload_size_limit''':325000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':False,'''ringtone_qcelp''':False,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':325000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':325000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':184,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_a890_ver1_sub6232'''] = devclass(devices.devids['''samsung_a890_ver1'''], '''samsung_a890_ver1_sub6232''', '''SCH-A890 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_a890_ver1_sub6232comma'''] = devclass(devices.devids['''samsung_a890_ver1'''], '''samsung_a890_ver1_sub6232comma''', '''SCH-A890 UP.Browser/6.2.3.2 (GUI) MMP/2.0,30''', False, None) +devices.devids['''verizon_samsung_a890_ver1'''] = devclass(devices.devids['''samsung_a890_ver1'''], '''verizon_samsung_a890_ver1''', '''sama890''', True, {'''directdownload_support''':False,'''gif_animated''':True,'''model_name''':'''SCH-A890 (Verizon Wireless)''','''ringtone_qcelp''':True}) +devices.devids['''samsung_scha930_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_scha930_ver1''', '''SCH-A930''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCH-A930''','''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''sch_a930_ver1'''] = devclass(devices.devids['''samsung_scha930_ver1'''], '''sch_a930_ver1''', '''SCH-A930 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''sch_r400_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_r400_ver1''', '''SCH-R400 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', True, {'''brand_name''':'''Samsung''','''can_skip_aligned_link_row''':True,'''columns''':17,'''max_image_height''':200,'''max_image_width''':176,'''model_name''':'''SCH-R400''','''resolution_height''':220,'''resolution_width''':176,'''rows''':7}) +devices.devids['''sch_r500_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_r500_ver1''', '''SCH-R500 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':12,'''compactmidi''':True,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':16384,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':332800,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''model_name''':'''SCH-R500''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.alltel.net/uaprof/samsung/r500/r500.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''verizon_samsungA930_ver1'''] = devclass(devices.devids['''samsung_scha930_ver1'''], '''verizon_samsungA930_ver1''', '''sama930''', True, {'''model_name''':'''SCH-A930 (Verizon Wireless)'''}) +devices.devids['''samsung_spha900_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_spha900_ver1''', '''Samsung-SPHA900''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_max_jar_size''':289055,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':300,'''max_image_width''':232,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''A900''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''rows''':6,'''streaming_3gpp''':False,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-A900P/ZH03.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_format_as_css_property''':True,'''xhtml_support_level''':2}) +devices.devids['''samsung_spha900_ver1_subaumic2'''] = devclass(devices.devids['''samsung_spha900_ver1'''], '''samsung_spha900_ver1_subaumic2''', '''Samsung-SPHA900 AU-MIC-A900/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_spha900_ver1_subapha900'''] = devclass(devices.devids['''samsung_spha900_ver1'''], '''samsung_spha900_ver1_subapha900''', '''Samsung-APHA900 AU-MIC-A900/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_spha900_ver1_suba900p'''] = devclass(devices.devids['''samsung_spha900_ver1'''], '''samsung_spha900_ver1_suba900p''', '''Samsung-SPHA900P AU-MIC-A900P/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_a920_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_a920_ver1''', '''Samsung-SPHA920''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''directdownload_support''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''A920''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':9,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_png''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''softkey_support''':True,'''streaming_3gpp''':False,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-A920/YK12.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''samsung_a920_ver1_submidp'''] = devclass(devices.devids['''samsung_a920_ver1'''], '''samsung_a920_ver1_submidp''', '''Samsung-SPHA920 AU-MIC-A920/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_spha940_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_spha940_ver1''', '''Samsung-SPHA940''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''A940''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''rows''':6,'''softkey_support''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_wmv''':False,'''table_support''':True,'''video''':False,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True}) +devices.devids['''samsung_spha940_ver1_subaumic20'''] = devclass(devices.devids['''samsung_spha940_ver1'''], '''samsung_spha940_ver1_subaumic20''', '''Samsung-SPHA940 AU-MIC-A940/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.2''', False, None) +devices.devids['''samsung_spha950_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_spha950_ver1''', '''SCH-A950''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''gif_animated''':True,'''j2me_midp_1_0''':True,'''max_image_height''':164,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SCH-A950''','''mp3''':True,'''picture_colors''':18,'''picture_jpg''':True,'''picture_max_height''':220,'''picture_max_width''':176,'''picture_png''':True,'''picture_preferred_height''':220,'''picture_preferred_width''':176,'''resolution_height''':184,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':184,'''screensaver_max_width''':176,'''screensaver_png''':True,'''screensaver_preferred_height''':184,'''screensaver_preferred_width''':176,'''screensaver_wbmp''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':184,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':184,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True}) +devices.devids['''samsung_spha950_ver1_sub6232'''] = devclass(devices.devids['''samsung_spha950_ver1'''], '''samsung_spha950_ver1_sub6232''', '''SCH-A950 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''verizon_samsung_spha950_ver1'''] = devclass(devices.devids['''samsung_spha950_ver1'''], '''verizon_samsung_spha950_ver1''', '''sama950''', True, {'''directdownload_support''':False,'''mmf''':False,'''model_name''':'''SCH-A950 (Verizon Wireless)''','''mp3''':False,'''ringtone_mmf''':False,'''ringtone_mp3''':False,'''ringtone_qcelp''':True}) +devices.devids['''samsung_a970_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_a970_ver1''', '''SCH-A970''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':False,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':160,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':64,'''mms_mp3''':False,'''mms_qcelp''':False,'''model_name''':'''SCH-A970''','''mp3''':False,'''oma_v_1_0_forwardlock''':True,'''qcelp''':False,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_directdownload_size_limit''':325000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':False,'''ringtone_qcelp''':False,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':325000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':325000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':184,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_a970_ver1_sub6232'''] = devclass(devices.devids['''samsung_a970_ver1'''], '''samsung_a970_ver1_sub6232''', '''SCH-A970 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''verizon_samsungA970_ver1'''] = devclass(devices.devids['''samsung_a970_ver1'''], '''verizon_samsungA970_ver1''', '''sama970''', True, {'''directdownload_support''':False,'''model_name''':'''SCH-A970 (Verizon Wireless)'''}) +devices.devids['''samsung_scha990_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_scha990_ver1''', '''SCH-A990 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''brand_name''':'''Samsung''','''can_skip_aligned_link_row''':True,'''colors''':262144,'''columns''':24,'''gif''':True,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':300,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCH-A990''','''resolution_height''':240,'''resolution_width''':320,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':72,'''rows''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''verizon_samsung_scha990_ver1'''] = devclass(devices.devids['''samsung_scha990_ver1'''], '''verizon_samsung_scha990_ver1''', '''sama990''', True, {'''model_name''':'''SCH-A990 (Verizon Wireless)'''}) +devices.devids['''sec_c100g_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sec_c100g_ver1''', '''SEC-SGHC100G''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''gif''':True,'''inline_support''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':32768,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-C100G''','''png''':True,'''ringtone''':True,'''ringtone_df_size_limit''':30720,'''ringtone_directdownload_size_limit''':30720,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''sp_midi''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':15360,'''wallpaper_directdownload_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':15360,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':100,'''wallpaper_preferred_width''':128}) +devices.devids['''sec_c100g_ver1_subc10jiwi1test'''] = devclass(devices.devids['''sec_c100g_ver1'''], '''sec_c100g_ver1_subc10jiwi1test''', '''SEC-SGHC100G/1.0/C10JIWI1_Test UP.Browser/5.0.5.1 (GUI)''', False, None) +devices.devids['''sec_c100g_ver1_subc10jhda1'''] = devclass(devices.devids['''sec_c100g_ver1'''], '''sec_c100g_ver1_subc10jhda1''', '''SEC-SGHC100G/1.0/C10JHDA1 UP.Browser/5.0.5.1 (GUI)''', False, None) +devices.devids['''sec_c110_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sec_c110_ver1''', '''SEC-SGHC110''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':112,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':307200,'''j2me_max_jar_size''':102400,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':False,'''max_deck_size''':1400,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-C110''','''nokia_voice_call''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':16,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/c110_10.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_png''':True}) +devices.devids['''sec_c110_ver1_sub10'''] = devclass(devices.devids['''sec_c110_ver1'''], '''sec_c110_ver1_sub10''', '''SEC-SGHC110/1.0 UP.Browser/6.2.0.1.155 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sec_c120_ver1'''] = devclass(devices.devids['''generic'''], '''sec_c120_ver1''', '''SEC-SGHC120''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''max_deck_size''':1400,'''max_image_height''':108,'''max_image_width''':120,'''midi_monophonic''':True,'''model_name''':'''SGH-C120''','''nokia_voice_call''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':16}) +devices.devids['''sec_c130_ver1'''] = devclass(devices.devids['''generic'''], '''sec_c130_ver1''', '''SEC-SGHC130''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':51200,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-C130''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/c130_11.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_c130_ver1_sub10'''] = devclass(devices.devids['''sec_c130_ver1'''], '''sec_c130_ver1_sub10''', '''SEC-SGHC130/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sec_c140_ver1'''] = devclass(devices.devids['''sec_c130_ver1'''], '''sec_c140_ver1''', '''SEC-SGHC140/1.0''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':4000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''model_name''':'''SGH-C140''','''nokia_voice_call''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''screensaver_gif''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/c140_10.xml''','''wallpaper_jpg''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_sgh_c160_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_c160_ver1''', '''SAMSUNG-SGH-C160/1.0''', True, {'''ascii_support''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''https_support''':True,'''max_data_rate''':40,'''max_deck_size''':16384,'''max_image_height''':118,'''max_image_width''':123,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_png''':True,'''model_name''':'''SGH-C160''','''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''picture_max_height''':128,'''picture_max_width''':128,'''picture_preferred_height''':128,'''picture_preferred_width''':128,'''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''rows''':14,'''screensaver_gif''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''smf''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-C160.xml''','''utf8_support''':True,'''video_max_height''':128,'''video_max_width''':128,'''video_preferred_height''':128,'''video_preferred_width''':128,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sec_c160l_ver1'''] = devclass(devices.devids['''generic'''], '''sec_c160l_ver1''', '''SEC-SGHC160L''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''ems''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-C160L''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''sender''':True,'''uaprof''':'''http://www.gsmarena.com/samsung_c160-1922.php''','''uaprof2''':'''http://www.areamobile.de/datenblatt/Samsung/SGH-C160/1154_4.html''','''wallpaper''':True}) +devices.devids['''samsung_sgh_c165_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_c165_ver1''', '''SAMSUNG-SGH-C165/1.0 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':16384,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-C165''','''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':14,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-C165.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''sec_c166_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sec_c166_ver1''', '''SAMSUNG-SGH-C166''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''gif''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':16384,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''model_name''':'''C166''','''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':14,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-C166.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''sec_c166_ver1_sub1'''] = devclass(devices.devids['''sec_c166_ver1'''], '''sec_c166_ver1_sub1''', '''SAMSUNG-SGH-C166/1.0 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sec_c170_ver1'''] = devclass(devices.devids['''generic'''], '''sec_c170_ver1''', '''SEC-SGHC170''', True, {'''ascii_support''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_unconfirmed_service_indication''':True,'''gif''':True,'''https_support''':True,'''imelody''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':4000,'''max_image_height''':118,'''max_image_width''':123,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_png''':True,'''model_name''':'''SGH-C170''','''picture_max_height''':128,'''picture_max_width''':128,'''picture_preferred_height''':128,'''picture_preferred_width''':128,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''smf''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/c170_10.xml''','''utf8_support''':True,'''video_max_height''':128,'''video_max_width''':128,'''video_preferred_height''':128,'''video_preferred_width''':128,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_1''':True,'''xhtml_table_support''':True}) +devices.devids['''sec_c200_ver1'''] = devclass(devices.devids['''generic'''], '''sec_c200_ver1''', '''SEC-SGHC200''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''ems''':True,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_storage_size''':512000,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':108,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':51200,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-C200''','''nokia_voice_call''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':6,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/c200.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_c207_ver1'''] = devclass(devices.devids['''generic'''], '''sec_c207_ver1''', '''SEC-SGHC207''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':1400,'''max_image_height''':108,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':51200,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':40,'''mms_mmf''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-C207''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''rows''':6,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_c207l_ver1'''] = devclass(devices.devids['''sec_c207_ver1'''], '''sec_c207l_ver1''', '''SEC-SGHC207L''', True, {'''model_name''':'''SGH-C207L''','''uaprof''':'''http://wap.samsungmobile.com/uaprof/c207l.xml'''}) +devices.devids['''sec_c210_ver1'''] = devclass(devices.devids['''generic'''], '''sec_c210_ver1''', '''SEC-SGHC210''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-C210''','''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sec_c230_ver1'''] = devclass(devices.devids['''generic'''], '''sec_c230_ver1''', '''SEC-SGHC230''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':51200,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-C230''','''nokia_voice_call''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/c230_10.xml''','''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_c230_ver1_sub10'''] = devclass(devices.devids['''sec_c230_ver1'''], '''sec_c230_ver1_sub10''', '''SEC-SGHC230/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sec_c230_ver1_subc10'''] = devclass(devices.devids['''sec_c230_ver1'''], '''sec_c230_ver1_subc10''', '''SEC-SGHC230C/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_c238_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_sgh_c238_ver1''', '''SAMSUNG-SGH-C238''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''ems''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-C238''','''preferred_markup''':'''wml_1_2''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''voices''':40,'''wallpaper_colors''':16,'''wml_1_2''':True}) +devices.devids['''samsung_sgh_c238_ver1_sub10245'''] = devclass(devices.devids['''samsung_sgh_c238_ver1'''], '''samsung_sgh_c238_ver1_sub10245''', '''SAMSUNG-SGH-C238/RAINBOW 3.0/WAP1.2 Profile/MIDP-2.0 Configuration/CLDC-1.0*MzU2NzU4MDAwMDUyMDc5''', False, None) +devices.devids['''sec_c260l_ver1'''] = devclass(devices.devids['''generic'''], '''sec_c260l_ver1''', '''SEC-SGHC260L''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''ems''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''SGH-C260L''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''sender''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sec_c260l_ver0'''] = devclass(devices.devids['''sec_c260l_ver1'''], '''sec_c260l_ver0''', '''SEC-SGHC260/1.0''', False, None) +devices.devids['''sec_c300_ver1'''] = devclass(devices.devids['''generic'''], '''sec_c300_ver1''', '''SEC-SGHC300''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''connectionless_service_indication''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':False,'''imelody''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':4000,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':51200,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':64,'''mms_wbmp''':True,'''model_name''':'''SGH-C300''','''oma_v_1_0_forwardlock''':True,'''png''':False,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''sender''':True,'''smf''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/c300_10.xml''','''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sec_c300_ver1_sub301'''] = devclass(devices.devids['''sec_c300_ver1'''], '''sec_c300_ver1_sub301''', '''SEC-SGHC300/1.0 RAINBOW/3.01''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_c400_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_sgh_c400_ver1''', '''SAMSUNG-SGH-C400''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C400''','''preferred_markup''':'''wml_1_2''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wml_1_2''':True}) +devices.devids['''samsung_sgh_c400_ver1_sub10'''] = devclass(devices.devids['''samsung_sgh_c400_ver1'''], '''samsung_sgh_c400_ver1_sub10''', '''SAMSUNG-SGH-C400/1.0''', False, None) +devices.devids['''samsung_sgh_c406_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_sgh_c406_ver1''', '''SAMSUNG-SGH-C406''', True, {'''brand_name''':'''Samsung''','''colors''':65000,'''ems''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-C406''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''sender''':True}) +devices.devids['''samsung_sgh_c406_ver1_sub_10'''] = devclass(devices.devids['''samsung_sgh_c406_ver1'''], '''samsung_sgh_c406_ver1_sub_10''', '''SAMSUNG-SGH-C406/1.0''', False, None) +devices.devids['''samsung_sgh_c417_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_c417_ver1''', '''SAMSUNG-SGH-C417/C417UCFG6 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':16384,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''C417''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-C417.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_sgh_c420l_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_c420l_ver1''', '''SAMSUNG-SGH-C420L''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':16384,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-C420L''','''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''rows''':14,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''samsung_sgh_c420l_ver1_sub1'''] = devclass(devices.devids['''samsung_sgh_c420l_ver1'''], '''samsung_sgh_c420l_ver1_sub1''', '''SAMSUNG-SGH-C420L/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_c510v_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_c510v_ver1''', '''SamsungSGHC510V''', True, {'''amr''':True,'''ascii_support''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_unconfirmed_service_indication''':True,'''https_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':8000,'''max_image_height''':150,'''max_image_width''':123,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_png''':True,'''model_name''':'''SGH-C510V''','''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''picture_max_height''':160,'''picture_max_width''':128,'''picture_preferred_height''':160,'''picture_preferred_width''':128,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':6,'''screensaver''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/c510_10.xml''','''utf8_support''':True,'''video_max_height''':160,'''video_max_width''':128,'''video_preferred_height''':160,'''video_preferred_width''':128,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''xhtml_table_support''':True}) +devices.devids['''samsung_c510v_ver1i_subvodafone'''] = devclass(devices.devids['''samsung_c510v_ver1'''], '''samsung_c510v_ver1i_subvodafone''', '''Vodafone/1.0/SamsungSGHC510V''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_c510v_ver1_subvodafoneopwv'''] = devclass(devices.devids['''samsung_c510v_ver1'''], '''samsung_c510v_ver1_subvodafoneopwv''', '''Vodafone/1.0/SamsungSGHC510V/C510XXGC7/Browser/Openwave/6.2.3''', False, {'''max_data_rate''':40}) +devices.devids['''sec_d307_ver1'''] = devclass(devices.devids['''generic'''], '''sec_d307_ver1''', '''SEC-SGHD307''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''gif''':True,'''has_qwerty_keyboard''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':165,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-D307''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''sec_d307_ver1_sub06'''] = devclass(devices.devids['''sec_d307_ver1'''], '''sec_d307_ver1_sub06''', '''SEC-SGHD307, TSS/2.5, REV0.6''', False, None) +devices.devids['''sec_d307_ver1_sub14'''] = devclass(devices.devids['''sec_d307_ver1'''], '''sec_d307_ver1_sub14''', '''SEC-SGHD307, TSS/2.5, REV1.4''', False, None) +devices.devids['''sec_d357_ver1'''] = devclass(devices.devids['''generic'''], '''sec_d357_ver1''', '''SEC-SGHD357''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''gif''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''D357''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''sec_d357_ver1_sub14'''] = devclass(devices.devids['''sec_d357_ver1'''], '''sec_d357_ver1_sub14''', '''SEC-SGHD357, TSS/2.5, Rev 1.4''', False, None) +devices.devids['''sec_sghd407_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''sec_sghd407_ver1''', '''SEC-SGHD407/1.0 TSS/2.5''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10240,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':768,'''mms_max_size''':307200,'''mms_max_width''':1024,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''D407''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/d407_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''sec_d410_ver1'''] = devclass(devices.devids['''generic'''], '''sec_d410_ver1''', '''SEC-SGHD410''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':17,'''directdownload_support''':True,'''ems''':True,'''gif''':True,'''imelody''':True,'''inline_support''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':1400,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':102400,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''model_name''':'''SGH-D410''','''nokia_voice_call''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':30720,'''ringtone_directdownload_size_limit''':30720,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/D410.xml''','''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wml_1_3''':True}) +devices.devids['''sec_d410_ver1_sub25'''] = devclass(devices.devids['''sec_d410_ver1'''], '''sec_d410_ver1_sub25''', '''SEC-SGHD410/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''sec_d410c_ver1'''] = devclass(devices.devids['''sec_d410_ver1'''], '''sec_d410c_ver1''', '''SEC-SGHD410C''', True, {'''amr''':True,'''colors''':65536,'''max_deck_size''':30720,'''mms_max_height''':480,'''mms_max_width''':640,'''mms_wbmp''':True,'''model_name''':'''SGH-D410C''','''uaprof''':'''http://wap.samsungmobile.com/uaprof/d410c.xml''','''wta_phonebook''':True}) +devices.devids['''sec_d415_ver1'''] = devclass(devices.devids['''sec_d410_ver1'''], '''sec_d415_ver1''', '''SEC-SGHD415''', True, {'''j2me_bits_per_pixel''':18,'''j2me_canvas_height''':204,'''j2me_canvas_width''':176,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':262144,'''j2me_max_jar_size''':174080,'''j2me_midi''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''model_name''':'''SGH-D415'''}) +devices.devids['''sec_d415_ver1_subtss101'''] = devclass(devices.devids['''sec_d415_ver1'''], '''sec_d415_ver1_subtss101''', '''SEC-SGHD415-D415UVDE2-TSS1.01''', False, None) +devices.devids['''sec_d415_ver1_subuvdj3'''] = devclass(devices.devids['''sec_d415_ver1'''], '''sec_d415_ver1_subuvdj3''', '''SEC-SGHD415-D415UVDJ3-TSS1.01''', False, None) +devices.devids['''sec_d415_ver1_subsaratov'''] = devclass(devices.devids['''sec_d415_ver1'''], '''sec_d415_ver1_subsaratov''', '''SEC-SGHD415-Saratov -TSS1.01''', False, None) +devices.devids['''sec_d418_ver1'''] = devclass(devices.devids['''sec_d410_ver1'''], '''sec_d418_ver1''', '''SEC-SGHD418''', True, {'''colors''':65536,'''j2me_bits_per_pixel''':18,'''j2me_canvas_height''':204,'''j2me_canvas_width''':176,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':262144,'''j2me_max_jar_size''':174080,'''j2me_midi''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_deck_size''':30720,'''model_name''':'''SGH-D418''','''uaprof''':'''http://wap.samsungmobile.com/uaprof/d418.xml'''}) +devices.devids['''sec_d428_ver1'''] = devclass(devices.devids['''generic'''], '''sec_d428_ver1''', '''SEC-SGHD428''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':30720,'''max_image_height''':165,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''model_name''':'''D428''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/d428_10.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_3''':True}) +devices.devids['''sec_d710_ver1'''] = devclass(devices.devids['''generic'''], '''sec_d710_ver1''', '''SEC-SGHD710''', False, None) +devices.devids['''sec_d710_ver1_sub10'''] = devclass(devices.devids['''sec_d710_ver1'''], '''sec_d710_ver1_sub10''', '''SEC-SGHD710/1.0 SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''samsung_e100_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''samsung_e100_ver1''', '''SAMSUNG-SGH-E100/T2 UP.Browser/6''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':491520,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_data_rate''':40,'''max_deck_size''':102400,'''max_image_height''':120,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':160,'''mms_max_size''':81920,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E100''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':30720,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E100.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':15360,'''wallpaper_directdownload_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':15360,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':126,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_e100_ver1_sub6106'''] = devclass(devices.devids['''samsung_e100_ver1'''], '''samsung_e100_ver1_sub6106''', '''SAMSUNG-SGH-E100/T2 UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e108_ver1'''] = devclass(devices.devids['''samsung_e100_ver1'''], '''samsung_e108_ver1''', '''SAMSUNG-SGH-E108''', True, {'''model_name''':'''SGH-E108''','''ringtone_imelody''':True,'''uaprof''':'''http://wap.samsungmobile.com.cn/uaprof/SGH-E108.xml'''}) +devices.devids['''samsung_e108_ver1_sub6106mmp1'''] = devclass(devices.devids['''samsung_e108_ver1'''], '''samsung_e108_ver1_sub6106mmp1''', '''SAMSUNG-SGH-E108/T2 UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':9}) +devices.devids['''sec_e105_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e105_ver1''', '''SEC-SGHE105-E1''', True, {'''brand_name''':'''Samsung''','''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':140,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':184320,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''model_name''':'''E105''','''wallpaper_jpg''':True,'''wallpaper_preferred_height''':35,'''wallpaper_preferred_width''':96}) +devices.devids['''sec_e105_ver1_sube15uvwh3'''] = devclass(devices.devids['''sec_e105_ver1'''], '''sec_e105_ver1_sube15uvwh3''', '''SEC-SGHE105-E15UVWH3-NW.Browser3.01''', False, None) +devices.devids['''samsung_e250_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e250_ver1''', '''SAMSUNG-SGH-E250''', True, {'''aac''':True,'''amr''':True,'''bmp''':False,'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''gif_animated''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':49152,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':307200,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E250''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E250.xml''','''uaprof2''':'''http://wap.samsungmobile.com/uaprof/SGH-E250-ORANGE.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_sgh_e200_ver1'''] = devclass(devices.devids['''samsung_e250_ver1'''], '''samsung_sgh_e200_ver1''', '''SAMSUNG-SGH-E200/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':49152,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''model_name''':'''SGH-E200''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':20,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E200.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_e250_ver1_subvoda'''] = devclass(devices.devids['''samsung_e250_ver1'''], '''samsung_e250_ver1_subvoda''', '''Vodafone/1.0/SAMSUNG-SGH-E250V/BUGB2/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e250_ver162331101'''] = devclass(devices.devids['''samsung_e250_ver1'''], '''samsung_e250_ver162331101''', '''SAMSUNG-SGH-E250-ORANGE/E250BVGA2 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e360_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e360_ver1''', '''SAMSUNG-SGH-E360''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''E360''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E360.xml''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':False,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_e258_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e258_ver1''', '''SAMSUNG-SGH-E258''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':16384,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E258''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':20,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E258.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_e258_ver1_subua'''] = devclass(devices.devids['''samsung_e258_ver1'''], '''samsung_e258_ver1_subua''', '''SAMSUNG-SGH-E258/1.0/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1/*MzUzNDY0MDEwOTA1NTUz UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e360_ver1_submidp2ege623c1101'''] = devclass(devices.devids['''samsung_e360_ver1'''], '''samsung_e360_ver1_submidp2ege623c1101''', '''SAMSUNG-SGH-E360/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e360_ver1_submidp2623c1101mmp20'''] = devclass(devices.devids['''samsung_e360_ver1'''], '''samsung_e360_ver1_submidp2623c1101mmp20''', '''SAMSUNG-SGH-E360/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e370_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e370_ver1''', '''SAMSUNG-SGH-E370''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_data_rate''':200,'''max_deck_size''':16384,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E370''','''oma_support''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''rows''':16,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E370.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':False,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_e370_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_e370_ver1'''], '''samsung_e370_ver1_sub6233c1101''', '''SAMSUNG-SGH-E370/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e376_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e376_ver1''', '''SAMSUNG-SGH-E376''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_image_height''':140,'''max_image_width''':128,'''model_name''':'''E376''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_mp3''':True,'''ringtone_voices''':40}) +devices.devids['''samsung_e376_ver1_sub_6233c'''] = devclass(devices.devids['''samsung_e376_ver1'''], '''samsung_e376_ver1_sub_6233c''', '''SAMSUNG-SGH-E376/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_e380_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e380_ver1''', '''SAMSUNG-SGH-E380''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-E380''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':False,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''samsung_e390_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e390_ver1''', '''SAMSUNG-SGH-E390''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_deck_size''':49152,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':307200,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E390''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64}) +devices.devids['''samsung_e740_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e740_ver1''', '''SAMSUNG-SGH-E740/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':49152,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E740''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':20,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E740.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''sec_i300_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''sec_i300_ver1''', '''SEC-SGHI300''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_data_rate''':40,'''max_image_height''':320,'''max_image_width''':240,'''model_name''':'''SGH-I300''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_directdownload_size_limit''':307200,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_df_size_limit''':307200,'''screensaver_gif''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_directdownload_size_limit''':307200,'''video_max_frame_rate''':15,'''video_mp4''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_directdownload_size_limit''':307200,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wml_1_2''':True}) +devices.devids['''sec_i310_ver1'''] = devclass(devices.devids['''generic'''], '''sec_i310_ver1''', '''SEC-SGHI310''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':240,'''max_image_width''':320,'''mmf''':True,'''mms_video''':True,'''model_name''':'''I310''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wav''':True,'''wml_1_2''':True,'''xhtml_support_level''':3}) +devices.devids['''sec_i320_ver1'''] = devclass(devices.devids['''generic'''], '''sec_i320_ver1''', '''SEC-SGHI320''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':33,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_deck_size''':10240,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-I320''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':12,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/i320_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_i320_ver1_sub10'''] = devclass(devices.devids['''sec_i320_ver1'''], '''sec_i320_ver1_sub10''', '''SEC-SGHI320/1.0 jBrowser/4.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sec_i505_ver1'''] = devclass(devices.devids['''generic'''], '''sec_i505_ver1''', '''SEC-SGHi505''', False, None) +devices.devids['''samsung_i600_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''samsung_i600_ver1''', '''SAMSUNG-SGH-i600''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''ems''':True,'''gif''':True,'''gif_animated''':False,'''has_qwerty_keyboard''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_data_rate''':384,'''max_image_height''':200,'''max_image_width''':312,'''mms_video''':True,'''model_name''':'''i600''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''sender''':True,'''streaming_3gpp''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-i600.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320,'''wifi''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_i601_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''samsung_i601_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.8) SAMSUNG-SGH-i601/WM534''', False, {'''brand_name''':'''Samsung''','''columns''':11,'''max_image_height''':200,'''max_image_width''':320,'''model_name''':'''i601''','''resolution_height''':240,'''resolution_width''':320,'''rows''':2}) +devices.devids['''samsung_i620_ver1'''] = devclass(devices.devids['''samsung_i600_ver1'''], '''samsung_i620_ver1''', '''SAMSUNG-SGH-i620v''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':33,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''has_qwerty_keyboard''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_deck_size''':3000,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-I620V''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':12,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/i620v_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_i600_ver1_Orange'''] = devclass(devices.devids['''samsung_i600_ver1'''], '''samsung_i600_ver1_Orange''', '''SAMSUNG-SGH-i600ORANGE/1.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.8)''', False, {'''max_data_rate''':1800}) +devices.devids['''samsung_i600_ver1_subbufi1'''] = devclass(devices.devids['''samsung_i600_ver1'''], '''samsung_i600_ver1_subbufi1''', '''SAMSUNG-SGH-I600/1.0/BUFI1 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220)''', False, {'''max_data_rate''':1800}) +devices.devids['''samsung_i607_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''samsung_i607_ver1''', '''SAMSUNG-SGH-I607/I607''', False, {'''ascii_support''':True,'''brand_name''':'''Samsung''','''built_in_camera''':True,'''columns''':11,'''directdownload_support''':True,'''has_qwerty_keyboard''':True,'''max_data_rate''':1800,'''max_image_height''':200,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':240,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''model_name''':'''I607 BlackJack''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''rows''':2,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':2400,'''screensaver_max_width''':320,'''screensaver_png''':True,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''streaming_wmv''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/i607_10.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':240,'''wallpaper_max_width''':320,'''wallpaper_png''':True,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320,'''wap_push_support''':True,'''wifi''':True}) +devices.devids['''samsung_i607_ver1_subfg1'''] = devclass(devices.devids['''samsung_i607_ver1'''], '''samsung_i607_ver1_subfg1''', '''SAMSUNG-SGH-I607/I607FG1 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 320x240)''', False, {'''max_data_rate''':1800}) +devices.devids['''sec_i700_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''sec_i700_ver1''', '''SEC-SGHI700''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''model_name''':'''SGH-I700''','''mp3''':True,'''ringtone''':True,'''ringtone_mp3''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False}) +devices.devids['''sec_i700_ver1_sub700'''] = devclass(devices.devids['''sec_i700_ver1'''], '''sec_i700_ver1_sub700''', '''SEC-SGHI700, SEC-SGHI700''', False, None) +devices.devids['''sec_i700_ver1_sub700700'''] = devclass(devices.devids['''sec_i700_ver1'''], '''sec_i700_ver1_sub700700''', '''SEC-SGHI700, SEC-SGHI700, SEC-SGHI700''', False, None) +devices.devids['''sph_e119_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sph_e119_ver1''', '''SPH-E119''', False, None) +devices.devids['''sph_e119_ver1_sub20'''] = devclass(devices.devids['''sph_e119_ver1'''], '''sph_e119_ver1_sub20''', '''SPH-E119 UP.Browser/6.2.2.5 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_e217_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_e217_ver1''', '''SEC-SGHE217''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-E217'''}) +devices.devids['''samsung_e300_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_e300_ver1''', '''SEC-SGHE300''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''ems''':True,'''gif''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':144,'''j2me_canvas_width''':128,'''j2me_heap_size''':524288,'''j2me_max_jar_size''':102400,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''model_name''':'''SGH-E300''','''nokia_voice_call''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e300.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_e310_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_e310_ver1''', '''SEC-SGHE310''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':144,'''j2me_canvas_width''':128,'''j2me_heap_size''':524288,'''j2me_max_jar_size''':102400,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':112,'''max_image_width''':125,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E310''','''nokia_voice_call''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':6,'''sender''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e310_10.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1,'''xhtml_table_support''':True}) +devices.devids['''samsung_e310_ver1_sub'''] = devclass(devices.devids['''samsung_e310_ver1'''], '''samsung_e310_ver1_sub''', '''SEC-SGHE310/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e310_ver1_sub25'''] = devclass(devices.devids['''samsung_e310_ver1'''], '''samsung_e310_ver1_sub25''', '''SEC-SGHE310/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e310c_ver1'''] = devclass(devices.devids['''samsung_e310_ver1'''], '''samsung_e310c_ver1''', '''SEC-SGHE310C''', False, None) +devices.devids['''samsung_e310c_ver1_sub10'''] = devclass(devices.devids['''samsung_e310c_ver1'''], '''samsung_e310c_ver1_sub10''', '''SEC-SGHE310C/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sec_e317_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e317_ver1''', '''SEC-SGHE317''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''connectionoriented_confirmed_service_indication''':True,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''E317''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e317.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1,'''xhtml_table_support''':True}) +devices.devids['''sec_e315_ver1'''] = devclass(devices.devids['''sec_e317_ver1'''], '''sec_e315_ver1''', '''SEC-SGHE315''', True, {'''amr''':True,'''directdownload_support''':True,'''model_name''':'''E315''','''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_mmf''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e315_10.xml''','''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sec_e316_ver1'''] = devclass(devices.devids['''sec_e317_ver1'''], '''sec_e316_ver1''', '''SEC-SGHE316''', True, {'''directdownload_support''':True,'''model_name''':'''SGH-E316''','''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_mmf''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e316.xml'''}) +devices.devids['''sec_e317_ver1_subdg3'''] = devclass(devices.devids['''sec_e317_ver1'''], '''sec_e317_ver1_subdg3''', '''SEC-SGHE317-E315UVDG3-TSS1.01''', False, None) +devices.devids['''sec_e315_ver1sub01'''] = devclass(devices.devids['''sec_e315_ver1'''], '''sec_e315_ver1sub01''', '''SEC-SGHE315-E315UVDH1-TSS1.01''', False, None) +devices.devids['''sec_e315_ver1subec3'''] = devclass(devices.devids['''sec_e315_ver1'''], '''sec_e315_ver1subec3''', '''SEC-SGHE315-E315UVEC3-TSS1.01''', False, None) +devices.devids['''sec_e318_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e318_ver1''', '''SEC-SGHE318''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':61440,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''model_name''':'''E318''','''nokia_voice_call''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e318.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''sec_e320_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e320_ver1''', '''SEC-SGHE320''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''html_web_3_2''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''model_name''':'''E320''','''nokia_voice_call''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e320_10.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_e320_ver1_sub10'''] = devclass(devices.devids['''sec_e320_ver1'''], '''sec_e320_ver1_sub10''', '''SEC-SGHE320/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sec_e320_ver1_subminus'''] = devclass(devices.devids['''sec_e320_ver1'''], '''sec_e320_ver1_subminus''', '''SAMSUNG-SGH-E320''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e350_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e350_ver1''', '''SAMSUNG-SGH-E350''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''directdownload_support''':True,'''gif_animated''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_image_height''':120,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''E350''','''mp3''':True,'''oma_support''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':False,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_e350_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_e350_ver1'''], '''samsung_e350_ver1_sub6233c1101''', '''SAMSUNG-SGH-E350/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_sgh_e350e_ver1'''] = devclass(devices.devids['''samsung_e350_ver1'''], '''samsung_sgh_e350e_ver1''', '''SAMSUNG-SGH-E350E''', True, {'''j2me_cldc_1_1''':True,'''max_data_rate''':40,'''max_image_height''':120,'''max_image_width''':128,'''model_name''':'''SGH-E350E''','''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False}) +devices.devids['''samsung_sgh_e350e_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_sgh_e350e_ver1'''], '''samsung_sgh_e350e_ver1_sub6233c1101''', '''SAMSUNG-SGH-E350E/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_sgh_e350v_ver1'''] = devclass(devices.devids['''samsung_e350_ver1'''], '''samsung_sgh_e350v_ver1''', '''SAMSUNG-SGH-E350V''', True, {'''j2me_cldc_1_1''':True,'''max_image_height''':120,'''max_image_width''':128,'''model_name''':'''SGH-E350V''','''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False}) +devices.devids['''samsung_sgh_v350e_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_sgh_e350v_ver1'''], '''samsung_sgh_v350e_ver1_sub6233c1101''', '''SAMSUNG-SGH-E350V/BUEG3/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_sgh_e351_ver1'''] = devclass(devices.devids['''samsung_e350_ver1'''], '''samsung_sgh_e351_ver1''', '''SAMSUNG-SGH-E351''', True, {'''max_image_height''':120,'''max_image_width''':128,'''model_name''':'''SGH-E351''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_voices''':16,'''screensaver''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':128}) +devices.devids['''samsung_sgh_e351l_ver1'''] = devclass(devices.devids['''samsung_sgh_e351_ver1'''], '''samsung_sgh_e351l_ver1''', '''SAMSUNG-SGH-E351L''', True, {'''max_image_height''':120,'''max_image_width''':128,'''model_name''':'''SGH-E351L''','''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False}) +devices.devids['''samsung_e356_ver1'''] = devclass(devices.devids['''samsung_e350_ver1'''], '''samsung_e356_ver1''', '''SAMSUNG-SGH-E356''', True, {'''colors''':65536,'''max_image_height''':120,'''max_image_width''':128,'''model_name''':'''SGH-E356''','''receiver''':True,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False}) +devices.devids['''samsung_e356_ver1_sub10'''] = devclass(devices.devids['''samsung_e356_ver1'''], '''samsung_e356_ver1_sub10''', '''SAMSUNG-SGH-E356/1.0''', False, None) +devices.devids['''samsung_mits_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_mits_ver1''', '''Samsung_MITs/i550''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':64000,'''max_image_height''':300,'''max_image_width''':320,'''midi_monophonic''':True,'''model_name''':'''SPH-i550''','''png''':True,'''preferred_markup''':'''wml_1_2''','''resolution_height''':320,'''resolution_width''':320,'''rows''':9,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-i550/XE07.rdf''','''wap_push_support''':True,'''wml_1_2''':True}) +devices.devids['''samsung_mits_ver1_sub_10'''] = devclass(devices.devids['''samsung_mits_ver1'''], '''samsung_mits_ver1_sub_10''', '''Samsung_MITs/i550 BTB_Browser/v1.0''', False, {'''max_data_rate''':9}) +devices.devids['''sec_j600_ver1'''] = devclass(devices.devids['''generic'''], '''sec_j600_ver1''', '''SEC-SGHJ600/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':512000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-J600''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_gif''':True,'''picture_jpg''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':1536000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''rows''':6,'''screensaver''':True,'''screensaver_directdownload_size_limit''':1536000,'''screensaver_gif''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/j600_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':1536000,'''video_max_frame_rate''':30,'''video_max_height''':288,'''video_max_width''':352,'''video_mp4''':True,'''video_preferred_height''':288,'''video_preferred_width''':352,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':1536000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wbmp''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''sec_j600e_ver1'''] = devclass(devices.devids['''sec_j600_ver1'''], '''sec_j600e_ver1''', '''SEC-SGHJ600E''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':121,'''model_name''':'''SGH-J600E''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_voices''':64,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/j600e_11.xml''','''wallpaper_colors''':10,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sec_j600e_ver1_suborange'''] = devclass(devices.devids['''sec_j600e_ver1'''], '''sec_j600e_ver1_suborange''', '''SEC-SGHJ600E-ORANGE/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sphm610_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_sphm610_ver1''', '''Samsung-SPHM610 AU-MIC-M610/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':64000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''M610''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''rows''':9,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-M610/ZJ29.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''sec_sphn300_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_sphn300_ver1''', '''SEC-SPHN300''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SPH-N300'''}) +devices.devids['''sec_sphn300_ver1_sub4122b1'''] = devclass(devices.devids['''sec_sphn300_ver1'''], '''sec_sphn300_ver1_sub4122b1''', '''SEC-SPHN300 UP.Browser/4.1.22b1''', False, None) +devices.devids['''sec_n362_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_n362_ver1''', '''SEC-N362''', False, None) +devices.devids['''sec_n362_ver1_sub4126'''] = devclass(devices.devids['''sec_n362_ver1'''], '''sec_n362_ver1_sub4126''', '''SEC-N362_WK26 UP.Browser/4.1.26l''', False, None) +devices.devids['''sec_n392_xe25_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_n392_xe25_ver1''', '''SEC-N392_XE25''', False, None) +devices.devids['''sec_n392_xe25_ver1_sub4126'''] = devclass(devices.devids['''sec_n392_xe25_ver1'''], '''sec_n392_xe25_ver1_sub4126''', '''SEC-N392_XE25 UP.Browser/4.1.26l''', False, None) +devices.devids['''sec_schn170_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_schn170_ver1''', '''SEC-schn170''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SCH-N170'''}) +devices.devids['''sec_schn170_ver1_sub4122b1'''] = devclass(devices.devids['''sec_schn170_ver1'''], '''sec_schn170_ver1_sub4122b1''', '''SEC-schn170 UP.Browser/4.1.22b1''', False, None) +devices.devids['''sgh_n700_ver1'''] = devclass(devices.devids['''generic'''], '''sgh_n700_ver1''', '''SEC-SGHN700''', True, {'''brand_name''':'''Samsung''','''max_image_height''':64,'''max_image_width''':128,'''model_name''':'''SGH-N700''','''preferred_markup''':'''wml_1_2''','''resolution_height''':64,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wml_1_2''':True}) +devices.devids['''sgh_p300'''] = devclass(devices.devids['''generic'''], '''sgh_p300''', '''SEC-SGHP300''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_image_height''':176,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-P300''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':220,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''sgh_p300_ver1'''] = devclass(devices.devids['''sgh_p300'''], '''sgh_p300_ver1''', '''SEC-SGHP300/1.0 TSS/2.5''', False, None) +devices.devids['''samsung_p500_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_p500_ver1''', '''SAMSUNG-SGH-P500''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''max_data_rate''':40,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-P500''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''wallpaper_colors''':16,'''wap_push_support''':True}) +devices.devids['''samsung_p510_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_p510_ver1''', '''SEC-SGHP510''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':10,'''directdownload_support''':True,'''ems''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':102400,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102000,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''model_name''':'''SGH-P510''','''nokia_voice_call''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':16,'''picture_gif''':True,'''picture_jpg''':True,'''picture_png''':True,'''picture_preferred_height''':160,'''picture_preferred_width''':128,'''picture_resize''':'''stretch''','''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':16,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''screensaver_resize''':'''stretch''','''screensaver_wbmp''':True,'''sender''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/resolutionP510_UAProf.xml''','''uaprof2''':'''http://wap.samsungmobile.com/uaprof/P510_UAProf.xml''','''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wallpaper_resize''':'''stretch''','''wallpaper_wbmp''':True}) +devices.devids['''samsung_p510_ver1_sub006226'''] = devclass(devices.devids['''samsung_p510_ver1'''], '''samsung_p510_ver1_sub006226''', '''SEC-SGHP510 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_p510_ver1_sub6226'''] = devclass(devices.devids['''samsung_p510_ver1'''], '''samsung_p510_ver1_sub6226''', '''SEC-SGHP510/1.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_p518_ver1'''] = devclass(devices.devids['''samsung_p510_ver1'''], '''samsung_p518_ver1''', '''SEC-SGHP518''', True, {'''model_name''':'''SGH-P518'''}) +devices.devids['''samsung_p730_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_p730_ver1''', '''SEC-SGHP730''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''connectionoriented_confirmed_service_indication''':True,'''ems''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_bits_per_pixel''':18,'''j2me_canvas_height''':195,'''j2me_canvas_width''':176,'''j2me_heap_size''':524288,'''j2me_max_jar_size''':174080,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mmf''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':102400,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''model_name''':'''SGH-P730''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':8,'''sender''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/p730.xml''','''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wta_phonebook''':True,'''xhtml_table_support''':True}) +devices.devids['''samsung_p730_ver1_sub10'''] = devclass(devices.devids['''samsung_p730_ver1'''], '''samsung_p730_ver1_sub10''', '''SEC-SGHP730/1.0''', False, {'''directdownload_support''':True,'''max_data_rate''':40}) +devices.devids['''samsung_p730_ver1_subtss25'''] = devclass(devices.devids['''samsung_p730_ver1'''], '''samsung_p730_ver1_subtss25''', '''SEC-SGHP730/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''sec_p730c_ver1'''] = devclass(devices.devids['''samsung_p730_ver1'''], '''sec_p730c_ver1''', '''SEC-SGHP730C''', True, {'''model_name''':'''SGH-P730C'''}) +devices.devids['''sec_p730c_ver1_sub10'''] = devclass(devices.devids['''sec_p730c_ver1'''], '''sec_p730c_ver1_sub10''', '''SEC-SGHP730C/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sec_p735_ver1'''] = devclass(devices.devids['''samsung_p730_ver1'''], '''sec_p735_ver1''', '''SEC-SGHP735''', True, {'''columns''':17,'''max_image_height''':210,'''max_image_width''':168,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_max_size''':300000,'''mms_video''':True,'''model_name''':'''SGH-P735''','''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''wml_1_3''','''ringtone_amr''':True,'''ringtone_imelody''':True,'''rows''':6,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/p735_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wap_push_support''':True,'''wml_1_3''':True}) +devices.devids['''sec_p735_ver1_subvdi6'''] = devclass(devices.devids['''sec_p735_ver1'''], '''sec_p735_ver1_subvdi6''', '''SEC-SGHP735-P735UVDI6-TSS1.01''', False, None) +devices.devids['''sec_p735_ver1_subvdj2'''] = devclass(devices.devids['''sec_p735_ver1'''], '''sec_p735_ver1_subvdj2''', '''SEC-SGHP735-P735UVDJ2-TSS1.01''', False, None) +devices.devids['''samsung_p738_ver1'''] = devclass(devices.devids['''samsung_p730_ver1'''], '''samsung_p738_ver1''', '''SEC-SGHP738''', True, {'''model_name''':'''SGH-P738'''}) +devices.devids['''samsung_p850_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_p850_ver1''', '''SAMSUNG-SGH-P850''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''ems''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_image_height''':320,'''max_image_width''':240,'''model_name''':'''SGH-P850''','''mp3''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''sender''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''samsung_q100_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_p850_ver1'''], '''samsung_q100_ver1_sub6233c1101''', '''SAMSUNG-SGH-P850/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_q100_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_q100_ver1''', '''SEC-SGHQ100/1.0 UP.Browser/4.1.24c''', True, {'''brand_name''':'''Samsung''','''max_deck_size''':1400,'''max_image_height''':96,'''max_image_width''':128,'''model_name''':'''SGH-Q100''','''nokia_voice_call''':True,'''resolution_height''':128,'''resolution_width''':128}) +devices.devids['''samsung_q100_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_q100_ver1'''], '''samsung_q100_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-Q100/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''sec_q100_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sec_q100_ver1''', '''SEC-SGHQ100/1.0 UP.Browser/5''', False, None) +devices.devids['''sec_q100_ver1_sub00'''] = devclass(devices.devids['''sec_q100_ver1'''], '''sec_q100_ver1_sub00''', '''SEC-SGHQ100/1.0 UP.Browser/5.0.3.542 (GUI)''', False, None) +devices.devids['''samsung_t200_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''samsung_t200_ver1''', '''SAMSUNG-SGH-T200''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''ems''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-T200''','''nokia_ringtone''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':12,'''voices''':16,'''wallpaper_colors''':16}) +devices.devids['''samsung_t200_ver1_sub10'''] = devclass(devices.devids['''samsung_t200_ver1'''], '''samsung_t200_ver1_sub10''', '''SAMSUNG-SGH-T200/1.0 UP.Browser/5.0.4.3 (GUI)''', False, None) +devices.devids['''sgh_t209_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sgh_t209_ver1''', '''SAMSUNG-SGH-T209''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':16384,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''T209''','''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-T209.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''sgh_t209_ver1_subua'''] = devclass(devices.devids['''sgh_t209_ver1'''], '''sgh_t209_ver1_subua''', '''SAMSUNG-SGH-T209R/T209UVFG1 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sgh_t709_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sgh_t709_ver1''', '''SAMSUNG-SGH-T709''', True, {'''brand_name''':'''Samsung''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':165,'''max_image_width''':176,'''model_name''':'''T709''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''wbmp''':True}) +devices.devids['''sgh_t709_ver1_subt709uvff6'''] = devclass(devices.devids['''sgh_t709_ver1'''], '''sgh_t709_ver1_subt709uvff6''', '''SAMSUNG-SGH-T709/T709UVFF6 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''sch_u340_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_u340_ver1''', '''SCH-U340 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':12,'''compactmidi''':True,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':128000,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''model_name''':'''SCH-U340''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.alltel.net/uaprof/samsung/u340/u340.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''sch_u340c_ver1'''] = devclass(devices.devids['''sch_u340_ver1'''], '''sch_u340c_ver1''', '''SCH-U340C UP.Browser/6.2.3.8 (GUI) MMP/2.0''', False, {'''model_name''':'''SCH-U340'''}) +devices.devids['''samsung_schu420_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_schu420_ver1''', '''SCH-U420 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', True, {'''brand_name''':'''Samsung''','''can_skip_aligned_link_row''':True,'''colors''':262144,'''ems''':True,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCH-U420''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''sender''':True,'''voices''':64}) +devices.devids['''sch_u520_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_u520_ver1''', '''SCH-U520 UP.Browser/6.2.3.8.f.1.100 (GUI) MMP/2.0''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':12,'''compactmidi''':True,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':16384,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp2''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':332800,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''model_name''':'''SCH-U520''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.alltel.net/uaprof/samsung/u520/u520.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''sch_u540_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''sch_u540_ver1''', '''SCH-U540/1.0 NetFront/3.0.22.2.5 (GUI) MMP/2.0''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':11,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':9,'''max_image_height''':200,'''max_image_width''':176,'''model_name''':'''SCH-U540''','''multipart_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''rows''':12,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vtext.com/sch/u540/u540v1.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''samsung_sgh_u700_vodafone_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_sgh_u700_vodafone_ver1''', '''SAMSUNG-SGH-U700-Vodafone/BUGE7 SHP/VPP/R5 NetFront/3.4 Qtv5.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':3600,'''max_deck_size''':5000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':307200,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-U700V''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/U700VUAProf2G.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sch_u700_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''sch_u700_ver1''', '''SCH-U700/1.0 NetFront /3.0.22.2.7 (GUI) MMP/2.0''', True, {'''brand_name''':'''Samsung''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''model_name''':'''SCH-U700''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''wbmp''':True}) +devices.devids['''samsung_u740_verizon'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_u740_verizon''', '''SCH-U740''', True, {'''brand_name''':'''Samsung''','''has_qwerty_keyboard''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''max_image_height''':165,'''max_image_width''':176,'''model_name''':'''SCH-U740''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''uaprof''':'''http://uaprof.vtext.com/sch/u740/u740v1.xml'''}) +devices.devids['''samsung_u740_verizon_sub6232'''] = devclass(devices.devids['''samsung_u740_verizon'''], '''samsung_u740_verizon_sub6232''', '''SCH-U740 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_u900'''] = devclass(devices.devids['''generic'''], '''samsung_u900''', '''SCH-U900/1.0 NetFront /3.0.22.2.9 (GUI) MMP/2.0''', True, {'''brand_name''':'''Samsung''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''model_name''':'''SCH-U900''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''wbmp''':True}) +devices.devids['''sch_w109_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_w109_ver1''', '''SCH-W109''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':12,'''connectionless_service_load''':True,'''j2me_midp_1_0''':True,'''max_image_height''':165,'''max_image_width''':176,'''midi_monophonic''':True,'''model_name''':'''SCH-W109''','''resolution_height''':220,'''resolution_width''':176,'''rows''':15,'''uaprof''':'''http://uaprof.uni-wise.com/uaprof/SAM/SAM-W109.xml'''}) +devices.devids['''sch_w109_ver1_sub20'''] = devclass(devices.devids['''sch_w109_ver1'''], '''sch_w109_ver1_sub20''', '''SCH-W109 UP.Browser/6.2.2.5 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_x100_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''samsung_x100_ver1''', '''SAMSUNG-SGH-X100''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':491520,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':102400,'''max_image_height''':96,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':81920,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X100''','''oma_v_1_0_forwardlock''':False,'''picture''':True,'''picture_preferred_height''':90,'''picture_preferred_width''':121,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':14,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-X100.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':98,'''wallpaper_preferred_width''':121,'''wallpaper_wbmp''':True}) +devices.devids['''samsung_w579_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_w579_ver1''', '''SCH-W579 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', True, {'''brand_name''':'''Samsung''','''model_name''':'''W579'''}) +devices.devids['''samsung_x100_ver1_sub6106'''] = devclass(devices.devids['''samsung_x100_ver1'''], '''samsung_x100_ver1_sub6106''', '''SAMSUNG-SGH-X100/PEARL UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x100_ver1_sub6106mmp10'''] = devclass(devices.devids['''samsung_x100_ver1'''], '''samsung_x100_ver1_sub6106mmp10''', '''SAMSUNG-SGH-X100/PEARL UP.Browser/6.1.0.6 (GUI) MMP/1.0P/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x100_ver1_suba6106'''] = devclass(devices.devids['''samsung_x100_ver1'''], '''samsung_x100_ver1_suba6106''', '''SAMSUNG-SGH-X100A/Pearl UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x100_ver1_sub6106space'''] = devclass(devices.devids['''samsung_x100_ver1'''], '''samsung_x100_ver1_sub6106space''', '''SAMSUNG SGH-X100 UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sec_x100_ver1_nodash'''] = devclass(devices.devids['''samsung_x100_ver1'''], '''sec_x100_ver1_nodash''', '''SEC-SGHX100''', False, None) +devices.devids['''sec_x105_ver1'''] = devclass(devices.devids['''generic'''], '''sec_x105_ver1''', '''SEC-SGHX105''', True, {'''brand_name''':'''Samsung''','''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':112,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':184320,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''max_image_height''':72,'''max_image_width''':128,'''model_name''':'''X105''','''resolution_height''':97,'''resolution_width''':128,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':97,'''wallpaper_preferred_width''':128}) +devices.devids['''sec_x105_ver1_sub301'''] = devclass(devices.devids['''sec_x105_ver1'''], '''sec_x105_ver1_sub301''', '''SEC-SGHX105 NW.Browser3.01''', False, None) +devices.devids['''sec_x105_ver1_subvdb1'''] = devclass(devices.devids['''sec_x105_ver1'''], '''sec_x105_ver1_subvdb1''', '''SEC-SGHX105-X105UVDB1-NW.Browser3.01''', False, None) +devices.devids['''samsung_x108_ver1'''] = devclass(devices.devids['''samsung_x100_ver1'''], '''samsung_x108_ver1''', '''SAMSUNG-SGH-X108''', True, {'''max_deck_size''':4096,'''model_name''':'''SGH-X108''','''ringtone_imelody''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-X100.xml''','''uaprof2''':'''http://wap.samsungmobile.com.cn/uaprof/SGH-X108.xml'''}) +devices.devids['''sec_x120_ver1'''] = devclass(devices.devids['''generic'''], '''sec_x120_ver1''', '''SEC-SGHX120''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X120''','''nokia_voice_call''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x120_10.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1,'''xhtml_table_support''':True}) +devices.devids['''sec_x120_ver1_sub10'''] = devclass(devices.devids['''sec_x120_ver1'''], '''sec_x120_ver1_sub10''', '''SEC-SGHX120/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x166_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_x166_ver1''', '''SAMSUNG-SGH-X166''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''SGH-X166''','''preferred_markup''':'''wml_1_2''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''wml_1_2''':True}) +devices.devids['''samsung_x166_subsec166'''] = devclass(devices.devids['''samsung_x166_ver1'''], '''samsung_x166_subsec166''', '''SEC-SGHX166''', False, None) +devices.devids['''samsung_x166_sub10'''] = devclass(devices.devids['''samsung_x166_ver1'''], '''samsung_x166_sub10''', '''SEC-SGHX166/1.0''', False, None) +devices.devids['''sec_schx199_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_schx199_ver1''', '''SEC-schx199''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SCH-X199'''}) +devices.devids['''sec_schx199_ver1_sub4126l'''] = devclass(devices.devids['''sec_schx199_ver1'''], '''sec_schx199_ver1_sub4126l''', '''SEC-schx199 UP.Browser/4.1.26l''', False, None) +devices.devids['''sec_x200_ver1'''] = devclass(devices.devids['''generic'''], '''sec_x200_ver1''', '''SEC-SGHX200''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-X200''','''preferred_markup''':'''wml_1_2''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wml_1_2''':True}) +devices.devids['''sec_x200_ver1_sub10'''] = devclass(devices.devids['''sec_x200_ver1'''], '''sec_x200_ver1_sub10''', '''SEC-SGHX200/1.0''', False, None) +devices.devids['''sec_x210_ver1'''] = devclass(devices.devids['''sec_x200_ver1'''], '''sec_x210_ver1''', '''SEC-SGHX210''', True, {'''model_name''':'''SGH-X210''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_voices''':40,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''sec_x210_ver1_sub10'''] = devclass(devices.devids['''sec_x210_ver1'''], '''sec_x210_ver1_sub10''', '''SEC-SGHX210/1.0''', False, None) +devices.devids['''samsung_x400_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_x400_ver1''', '''SAMSUNG-SGH-X400''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':10,'''directdownload_support''':True,'''gif''':True,'''imelody''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':144,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':184320,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_data_rate''':40,'''max_deck_size''':4096,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-X400''','''preferred_markup''':'''wml_1_2''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_df_size_limit''':30720,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':16,'''sp_midi''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':15360,'''wallpaper_directdownload_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':15360,'''wallpaper_preferred_height''':18,'''wallpaper_preferred_width''':128,'''wml_1_2''':True}) +devices.devids['''sec_x400_ver1'''] = devclass(devices.devids['''samsung_x400_ver1'''], '''sec_x400_ver1''', '''SEC-SGHX400''', False, None) +devices.devids['''sec_x400_ver1_dash'''] = devclass(devices.devids['''samsung_x400_ver1'''], '''sec_x400_ver1_dash''', '''SEC-SGH-X400''', False, None) +devices.devids['''sec_x426_ver1'''] = devclass(devices.devids['''generic'''], '''sec_x426_ver1''', '''SEC-SGHX426''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':10,'''ems''':True,'''ems_odi''':True,'''ems_version''':'''4.3''','''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':140,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':184320,'''j2me_max_jar_size''':102400,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':1400,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-X426''','''nokia_voice_call''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':16,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x426.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wml_1_2''':True}) +devices.devids['''sec_x427_ver1'''] = devclass(devices.devids['''sec_x426_ver1'''], '''sec_x427_ver1''', '''SEC-SGHX427''', True, {'''gif_animated''':True,'''jpg''':True,'''model_name''':'''X427''','''ringtone_amr''':False,'''ringtone_directdownload_size_limit''':20480,'''screensaver_jpg''':True,'''wallpaper_jpg''':True}) +devices.devids['''sec_x427m_ver1'''] = devclass(devices.devids['''sec_x427_ver1'''], '''sec_x427m_ver1''', '''SEC-SGHX427m''', True, {'''model_name''':'''SGH-X427m'''}) +devices.devids['''sec_x427m_ver1_subM'''] = devclass(devices.devids['''sec_x427m_ver1'''], '''sec_x427m_ver1_subM''', '''SEC-SGHX427M''', False, None) +devices.devids['''sec_x475_ver1'''] = devclass(devices.devids['''generic'''], '''sec_x475_ver1''', '''SEC-SGHX475''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':1400,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''model_name''':'''X475''','''nokia_voice_call''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':8,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x475_10.xml''','''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_3''':True}) +devices.devids['''sec_x490_ver1'''] = devclass(devices.devids['''generic'''], '''sec_x490_ver1''', '''SEC-SGHX490''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''gif_animated''':True,'''html_wi_w3_xhtmlbasic''':True,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''X490''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_x495_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_x495_ver1''', '''SAMSUNG-SGH-X495''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''gif_animated''':True,'''inline_support''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':120,'''max_image_width''':128,'''model_name''':'''X495''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_x495_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_x495_ver1'''], '''samsung_x495_ver1_sub6233c1101''', '''SAMSUNG-SGH-X495/X495UVEF2 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.102 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_x495_ver1_sub106233c1101'''] = devclass(devices.devids['''samsung_x495_ver1'''], '''samsung_x495_ver1_sub106233c1101''', '''SAMSUNG-SGH-X495/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_x497_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_x497_ver1''', '''SAMSUNG-SGH-X497''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''gif_animated''':True,'''inline_support''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''X497''','''mp3''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-X497.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_x497_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_x497_ver1'''], '''samsung_x497_ver1_sub6233c1101''', '''SAMSUNG-SGH-X497/X497UCEG3 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x500_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_x500_ver1''', '''SAMSUNG-SGH-X500''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''inline_support''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':8100,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-X500''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_directdownload_size_limit''':102400,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':102400,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_x500_ver1_sub'''] = devclass(devices.devids['''samsung_x500_ver1'''], '''samsung_x500_ver1_sub''', '''SEC-SGHX500/1.0 TSS/2.5''', False, None) +devices.devids['''samsung_x510_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_x510_ver1''', '''SEC-SGHX510''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':4000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X510''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':6,'''screensaver''':True,'''screensaver_jpg''':True,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x510_10.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_x510_ver1_sub'''] = devclass(devices.devids['''samsung_x510_ver1'''], '''samsung_x510_ver1_sub''', '''SEC-SGHX510/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x510_ver1_sub_rain301'''] = devclass(devices.devids['''samsung_x510_ver1'''], '''samsung_x510_ver1_sub_rain301''', '''SEC-SGHX510/1.0 RAINBOW/3.01''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sghx530_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''samsung_sghx530_ver1''', '''SEC-SGHX530/1.0''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':4000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X530''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x530_10.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_x540_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_x540_ver1''', '''SAMSUNG-SGH-X540''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':10240,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-X540''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''sender''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''samsung_x540_sub10cldc11'''] = devclass(devices.devids['''samsung_x540_ver1'''], '''samsung_x540_sub10cldc11''', '''SAMSUNG-SGH-X540/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_x600_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''samsung_x600_ver1''', '''SAMSUNG-SGH-X600''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''ems''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':491520,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''j2me_wmapi_1_0''':True,'''max_deck_size''':102400,'''max_image_height''':96,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':81920,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X600''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':14,'''sender''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-X600.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_sgh_x550_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_x550_ver1''', '''SAMSUNG-SGH-X550/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':16384,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X550''','''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''rows''':14,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-X550.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''samsung_x600_ver1_subk36106'''] = devclass(devices.devids['''samsung_x600_ver1'''], '''samsung_x600_ver1_subk36106''', '''SAMSUNG-SGH-X600/K3 UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x600_ver1_subk36106midp'''] = devclass(devices.devids['''samsung_x600_ver1'''], '''samsung_x600_ver1_subk36106midp''', '''SAMSUNG-SGH-X600/K3 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x600_ver1_sub61061d1'''] = devclass(devices.devids['''samsung_x600_ver1'''], '''samsung_x600_ver1_sub61061d1''', '''SAMSUNG-SGH-X600/K3 UP.Browser/6.1.0.6 (GUI) MMP/1.01.01.0 UP.Browser/6.1.0.6.1.d.1 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x600_ver1_subshort'''] = devclass(devices.devids['''samsung_x600_ver1'''], '''samsung_x600_ver1_subshort''', '''SEC-SGHX600''', False, None) +devices.devids['''samsung_x600a_ver1'''] = devclass(devices.devids['''samsung_x600_ver1'''], '''samsung_x600a_ver1''', '''SAMSUNG-SGH-X600A''', True, {'''model_name''':'''SGH-X600A'''}) +devices.devids['''samsung_x600a_ver1_sub10'''] = devclass(devices.devids['''samsung_x600a_ver1'''], '''samsung_x600a_ver1_sub10''', '''SAMSUNG-SGH-X600A/K3 UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x686_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_x686_ver1''', '''SEC-SGHX686''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':8100,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':307200,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X686''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x686_10.xml''','''video''':True,'''video_3gpp''':True,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_x686_ver1sub10'''] = devclass(devices.devids['''samsung_x686_ver1'''], '''samsung_x686_ver1sub10''', '''SEC-SGHX686/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_schx609_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_schx609_ver1''', '''SEC-schx609 UP.Browser/4.1.26l''', True, {'''brand_name''':'''Samsung''','''colors''':66536,'''ems''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SCH-X609''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''voices''':40,'''wallpaper_colors''':16}) +devices.devids['''sec_x610_ver1'''] = devclass(devices.devids['''generic'''], '''sec_x610_ver1''', '''SEC-SGHX610''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':1400,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X610''','''nokia_voice_call''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x610.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_x610_ver1_sub10'''] = devclass(devices.devids['''sec_x610_ver1'''], '''sec_x610_ver1_sub10''', '''SEC-SGHX610/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x619_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_x619_ver1''', '''SAMSUNG-SGH-X619''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-X619''','''mp3''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''voices''':64,'''wallpaper_colors''':16,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_x619_ver1_sub'''] = devclass(devices.devids['''samsung_x619_ver1'''], '''samsung_x619_ver1_sub''', '''SEC-schx619 UP.Browser/4.1.261''', False, None) +devices.devids['''samsung_sgh_x620_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_x620_ver1''', '''SAMSUNG-SGH-X620''', True, {'''brand_name''':'''Samsung''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':16384,'''model_name''':'''SGH-X620''','''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_sgh_x620_ver1_sub20'''] = devclass(devices.devids['''samsung_sgh_x620_ver1'''], '''samsung_sgh_x620_ver1_sub20''', '''SAMSUNG-SGH-X620/1.0 Profile/MIDP-2.0Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI)MMP/2.0''', False, None) +devices.devids['''samsung_sgh_x620_ver1_subsamsung'''] = devclass(devices.devids['''samsung_sgh_x620_ver1'''], '''samsung_sgh_x620_ver1_subsamsung''', '''SAMSUNG-SAMSUNG SGH-X620/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_sgh_x620c_ver1_sub20'''] = devclass(devices.devids['''samsung_sgh_x620_ver1'''], '''samsung_sgh_x620c_ver1_sub20''', '''SAMSUNG-SGH-X620C/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_x630_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_x630_ver1''', '''SAMSUNG-SGH-X630''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':8100,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':307200,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''X630''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''rows''':6,'''sender''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x630_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wbmp''':True,'''wml_1_2''':True,'''xhtml_support_level''':2}) +devices.devids['''samsung_x636_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_x636_ver1''', '''SAMSUNG-SGH-X636''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''X636''','''picture''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''rows''':8,'''sender''':True,'''sp_midi''':True,'''wallpaper''':True,'''wml_1_2''':True}) +devices.devids['''samsung_x636_ver1_sub20_6233c'''] = devclass(devices.devids['''samsung_x636_ver1'''], '''samsung_x636_ver1_sub20_6233c''', '''SAMSUNG-SGH-X636/1.0 Profile/MIDP-2.0Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI)MMP/2.0''', False, None) +devices.devids['''samsung_x636_ver1_sub20'''] = devclass(devices.devids['''samsung_x636_ver1'''], '''samsung_x636_ver1_sub20''', '''SAMSUNG-SGH-X636/1.0''', False, None) +devices.devids['''samsung_sgh_x640_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_x640_ver1''', '''SAMSUNG-SGH-X640''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':184320,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':97280,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X640''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':14,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''uaprof''':'''http://wap.samsungmobile.com.cn/uaprof/SGH-X640.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':126,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':126,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_sgh_x640_ver1_sub6226'''] = devclass(devices.devids['''samsung_sgh_x640_ver1'''], '''samsung_sgh_x640_ver1_sub6226''', '''SAMSUNG-SGH-X640/1.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_sgh_x640_ver1_sub6226midp20'''] = devclass(devices.devids['''samsung_sgh_x640_ver1'''], '''samsung_sgh_x640_ver1_sub6226midp20''', '''SAMSUNG-SGH-X640/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_sgh_x640c_ver1_sub6226'''] = devclass(devices.devids['''samsung_sgh_x640_ver1'''], '''samsung_sgh_x640c_ver1_sub6226''', '''SAMSUNG-SGH-X640C/1.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_sgh_x650_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_x650_ver1''', '''SAMSUNG-SGH-X650''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':184320,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-X650''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':False,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''samsung_sgh_x650_midp2'''] = devclass(devices.devids['''samsung_sgh_x650_ver1'''], '''samsung_sgh_x650_midp2''', '''SAMSUNG-SGH-X650/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_sgh_x670_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_x670_ver1''', '''SAMSUNG-SGH-X670''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':16384,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''X670''','''oma_support''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':16,'''sender''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-X670.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_sgh_x670_ver1_sub10'''] = devclass(devices.devids['''samsung_sgh_x670_ver1'''], '''samsung_sgh_x670_ver1_sub10''', '''SAMSUNG-SGH-X670/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x608_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''samsung_x608_ver1''', '''SAMSUNG-SGH-X608''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':81920,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X608''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':14,'''sender''':True,'''uaprof''':'''http://wap.samsungmobile.com.cn/uaprof/SGH-X608.xml''','''voices''':40,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''samsung_sgh_x656_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_x656_ver1''', '''SAMSUNG-SGH-X656''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''imelody''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':184320,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-X656''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''samsung_sgh_x656_ver1_sub1020'''] = devclass(devices.devids['''samsung_sgh_x656_ver1'''], '''samsung_sgh_x656_ver1_sub1020''', '''SAMSUNG-SGH-X656/1.0 Profile/MIDP-2.0''', False, None) +devices.devids['''samsung_sgh_x700_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_x700_ver1''', '''SAMSUNG-SGH-X700''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-X700''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':102400,'''video_max_frame_rate''':15,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_sgh_x700_ver1_subun'''] = devclass(devices.devids['''samsung_sgh_x700_ver1'''], '''samsung_sgh_x700_ver1_subun''', '''SAMSUNG-SGH-X700/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Untrusted/1.0''', False, None) +devices.devids['''samsung_sgh_x700_ver1_sub20'''] = devclass(devices.devids['''samsung_sgh_x700_ver1'''], '''samsung_sgh_x700_ver1_sub20''', '''SAMSUNG-SGH-X700/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_x659_ver1_sub'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_x659_ver1_sub''', '''SEC-schx659 UP.Browser/4.1.26l''', True, {'''brand_name''':'''Samsung''','''colors''':66536,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCH-X659''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''voices''':40,'''wallpaper_colors''':16}) +devices.devids['''samsung_x660_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_x660_ver1''', '''SAMSUNG-SGH-X660''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''X660''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x660_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''samsung_x660_ver1_sub10'''] = devclass(devices.devids['''samsung_x660_ver1'''], '''samsung_x660_ver1_sub10''', '''SEC-SGHX660/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x660_ver1_subej3'''] = devclass(devices.devids['''samsung_x660_ver1'''], '''samsung_x660_ver1_subej3''', '''SEC-SGHX660/EJ3 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x660v_ver1'''] = devclass(devices.devids['''samsung_x660_ver1'''], '''samsung_x660v_ver1''', '''SAMSUNG-SGH-X660V''', True, {'''model_name''':'''SGH-X660-Vodafone''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''samsung_x660v_ver1_subb10uei2'''] = devclass(devices.devids['''samsung_x660v_ver1'''], '''samsung_x660v_ver1_subb10uei2''', '''Vodafone/1.0/SamsungSGHX660V/X660BUEI2/Browser/TSS/2.5 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x660v_ver1_sub10buek4'''] = devclass(devices.devids['''samsung_x660v_ver1'''], '''samsung_x660v_ver1_sub10buek4''', '''Vodafone/1.0/SamsungSGHX660V/X660BUEK4/Browser/TSS/2.5 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x660v_ver1_subaeek4'''] = devclass(devices.devids['''samsung_x660v_ver1'''], '''samsung_x660v_ver1_subaeek4''', '''Vodafone/SamsungSGHX660V/X660AEEK4/Browser/TSS/2.5 Profile/MIDP-2.0 Configuration/CLDC-1.0-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x680v_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_x680v_ver1''', '''SAMSUNG-SGH-X680V''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''connectionoriented_confirmed_service_indication''':True,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':20480,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-X680-Vodafone''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''picture_directdownload_size_limit''':307200,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':307200,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_directdownload_size_limit''':307200,'''screensaver_gif''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''softkey_support''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x680_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':307200,'''video_max_frame_rate''':15,'''video_mp4''':False,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':307200,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''samsung_x680v_ver1_sub10'''] = devclass(devices.devids['''samsung_x680v_ver1'''], '''samsung_x680v_ver1_sub10''', '''Vodafone/1.0/SamsungSGHX680V''', True, {'''max_data_rate''':40}) +devices.devids['''samsung_x680_ver1'''] = devclass(devices.devids['''samsung_x680v_ver1'''], '''samsung_x680_ver1''', '''SEC-SGHX680/1.0 TSS/2.5''', False, {'''max_data_rate''':200,'''model_name''':'''SGH-X680''','''ringtone_directdownload_size_limit''':307200,'''screensaver''':True,'''screensaver_directdownload_size_limit''':307200,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''video_directdownload_size_limit''':307200,'''video_max_frame_rate''':15,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''wallpaper_directdownload_size_limit''':307200,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':174,'''wallpaper_preferred_width''':173}) +devices.devids['''sec_x810_ver1'''] = devclass(devices.devids['''generic'''], '''sec_x810_ver1''', '''SEC-SGHX810''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-X810''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''sp_midi''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''sec_x810_ver1sub32'''] = devclass(devices.devids['''sec_x810_ver1'''], '''sec_x810_ver1sub32''', '''SEC-SGHX810/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sec_x830_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''sec_x830_ver1''', '''SEC-SGHX830''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':128,'''max_deck_size''':10000,'''max_image_height''':256,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-X830''','''mp3''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':256,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sec_x830_ver1_uavariation'''] = devclass(devices.devids['''sec_x830_ver1'''], '''sec_x830_ver1_uavariation''', '''SAMSUNG-SGH-X830''', False, None) +devices.devids['''sec_x910_ver1'''] = devclass(devices.devids['''generic'''], '''sec_x910_ver1''', '''SEC-SGHX910''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''connectionoriented_confirmed_service_indication''':True,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':165,'''max_image_width''':176,'''midi_monophonic''':True,'''mmf''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':102400,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''model_name''':'''X910''','''nokia_voice_call''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x910_10.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xhtml_table_support''':True}) +devices.devids['''sch_n330_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_n330_ver1''', '''SCH-N330 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''brand_name''':'''Samsung''','''max_data_rate''':9,'''model_name''':'''SCH-N330''','''uaprof''':'''http://uaprof.vtext.com/sch/n330/n330v1.xml'''}) +devices.devids['''sec_schn370_wap_dl_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_schn370_wap_dl_ver1''', '''SEC-schn370_WAP_DL''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SCH-N370'''}) +devices.devids['''sec_schn370_wap_dl_ver1_sub4126b'''] = devclass(devices.devids['''sec_schn370_wap_dl_ver1'''], '''sec_schn370_wap_dl_ver1_sub4126b''', '''SEC-schn370_WAP_DL UP.Browser/4.1.26b''', False, None) +devices.devids['''sec_spha460_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_spha460_ver1''', '''SEC-spha460''', True, {'''brand_name''':'''Samsung''','''colors''':4,'''greyscale''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SPH-A460''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''voices''':16}) +devices.devids['''sec_spha460_ver1_sub4126c4'''] = devclass(devices.devids['''sec_spha460_ver1'''], '''sec_spha460_ver1_sub4126c4''', '''SEC-spha460 UP.Browser/4.1.26c4''', False, None) +devices.devids['''samsung_a110_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_a110_ver1''', '''SAMSUNG-SGH-A110/1.0 UP.Browser/4''', True, {'''brand_name''':'''Samsung''','''columns''':16,'''max_image_height''':50,'''max_image_width''':122,'''model_name''':'''SGH-A110''','''resolution_height''':64,'''resolution_width''':128,'''rows''':4}) +devices.devids['''samsung_a110_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_a110_ver1'''], '''samsung_a110_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-A110/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_a110_ver1_sub4119g'''] = devclass(devices.devids['''samsung_a110_ver1'''], '''samsung_a110_ver1_sub4119g''', '''SAMSUNG-SGH-A110/1.0 UP/4.1.19g UP.Browser/4''', False, None) +devices.devids['''samsung_a200_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_a200_ver1''', '''SAMSUNG-SGH-A200/1.0 UP/4''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-A200''','''wallpaper_gif''':True}) +devices.devids['''samsung_a200_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_a200_ver1'''], '''samsung_a200_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-A200/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_a200_ver1_sub4119k'''] = devclass(devices.devids['''samsung_a200_ver1'''], '''samsung_a200_ver1_sub4119k''', '''SAMSUNG-SGH-A200/1.0 UP/4.1.19k''', False, None) +devices.devids['''sec_scha220_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_scha220_ver1''', '''SEC-SCHA220''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SCH-A220'''}) +devices.devids['''sec_scha220_ver1_sub4126'''] = devclass(devices.devids['''sec_scha220_ver1'''], '''sec_scha220_ver1_sub4126''', '''SEC-SCHA220 UP.Browser/4.1.26l''', False, None) +devices.devids['''samsung_sth_a255_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_sth_a255_ver1''', '''SAMSUNG-STH-A255''', False, None) +devices.devids['''samsung_sth_a255_ver1_sub4126'''] = devclass(devices.devids['''samsung_sth_a255_ver1'''], '''samsung_sth_a255_ver1_sub4126''', '''SAMSUNG-STH-A255/1.0 UP.Browser/4.1.26b''', False, None) +devices.devids['''samsung_a300_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_a300_ver1''', '''SAMSUNG-SGH-A300/1.0 UP/4''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''max_image_height''':30,'''max_image_width''':122,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-A300''','''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':4,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_a300_ver1_sub4119k'''] = devclass(devices.devids['''samsung_a300_ver1'''], '''samsung_a300_ver1_sub4119k''', '''SAMSUNG-SGH-A300/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_a300_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_a300_ver1'''], '''samsung_a300_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-A300/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_a301_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_a301_ver1''', '''SAMSUNG-SGH-A301/1.0 UP/4''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-A301'''}) +devices.devids['''samsung_a301_ver1_sub4119k'''] = devclass(devices.devids['''samsung_a301_ver1'''], '''samsung_a301_ver1_sub4119k''', '''SAMSUNG-SGH-A301/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''sec_a310_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_a310_ver1''', '''SEC-scha310''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SCH-A310'''}) +devices.devids['''sec_a310_ver1_sub41263'''] = devclass(devices.devids['''sec_a310_ver1'''], '''sec_a310_ver1_sub41263''', '''SEC-scha310 UP.Browser/4.1.26c3''', False, None) +devices.devids['''samsung_a400_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_a400_ver1''', '''SAMSUNG-SGH-A400/1.0 UP/4''', True, {'''brand_name''':'''Samsung''','''max_image_height''':64,'''max_image_width''':120,'''model_name''':'''SGH-A400''','''resolution_height''':96,'''resolution_width''':120}) +devices.devids['''samsung_a400_ver1_sub4119k'''] = devclass(devices.devids['''samsung_a400_ver1'''], '''samsung_a400_ver1_sub4119k''', '''SAMSUNG-SGH-A400/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_a400_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_a400_ver1'''], '''samsung_a400_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-A400/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_sgh_a517_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_a517_ver1''', '''SAMSUNG-SGH-A517/A517UCGE3 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':49152,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-A517''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':14,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-A517.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''sec_a530_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_a530_ver1''', '''SEC-scha530''', False, None) +devices.devids['''sec_a530_ver1_sub4126l'''] = devclass(devices.devids['''sec_a530_ver1'''], '''sec_a530_ver1_sub4126l''', '''SEC-scha530 UP.Browser/4.1.26l''', False, None) +devices.devids['''sec_scha561_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_scha561_ver1''', '''SEC-scha561''', False, None) +devices.devids['''sec_scha561_ver1_sub4126'''] = devclass(devices.devids['''sec_scha561_ver1'''], '''sec_scha561_ver1_sub4126''', '''SEC-scha561 UP.Browser/4.1.26l''', False, None) +devices.devids['''sch_a650_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_a650_ver1''', '''SCH-A650''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':7,'''directdownload_support''':True,'''downloadfun_support''':False,'''j2me_midp_1_0''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCH-A650''','''picture''':True,'''picture_colors''':16,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':160,'''picture_max_width''':128,'''picture_preferred_height''':160,'''picture_preferred_width''':128,'''picture_wbmp''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':10,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''uaprof''':'''http://device.telusmobility.com/samsung/scha650.rdf''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''sch_a650_ver1_sub20'''] = devclass(devices.devids['''sch_a650_ver1'''], '''sch_a650_ver1_sub20''', '''SCH-A650 UP.Browser/6.2.2.3.d.2.100 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''sec_scha655_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_scha655_ver1''', '''SEC-scha655''', True, {'''brand_name''':'''Samsung''','''max_image_height''':160,'''max_image_width''':120,'''model_name''':'''SCH-A655''','''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''wallpaper''':True}) +devices.devids['''sec_scha655_ver1_sub4126'''] = devclass(devices.devids['''sec_scha655_ver1'''], '''sec_scha655_ver1_sub4126''', '''SEC-scha655 UP.Browser/4.1.26l''', False, None) +devices.devids['''sch_a670_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_a670_ver1''', '''SCH-A670''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_service_load''':True,'''downloadfun_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':204800,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':False,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SCH-A670''','''qcelp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':97280,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':False,'''ringtone_voices''':16,'''rows''':12,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':97280,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''uaprof''':'''http://device.telusmobility.com/samsung/scha670.rdf''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':97280,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''sch_a670_ver1_sub20'''] = devclass(devices.devids['''sch_a670_ver1'''], '''sch_a670_ver1_sub20''', '''SCH-A670 UP.Browser/6.2.2.6 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''sec_scha670_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_scha670_ver1''', '''SEC-scha670''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SCH-A670 UP4'''}) +devices.devids['''sec_scha670_ver1_sub4127'''] = devclass(devices.devids['''sec_scha670_ver1'''], '''sec_scha670_ver1_sub4127''', '''SEC-scha670 UP.Browser/4.1.27a''', False, None) +devices.devids['''verizon_sch_a670_ver1'''] = devclass(devices.devids['''sch_a670_ver1'''], '''verizon_sch_a670_ver1''', '''sama670''', True, {'''gif_animated''':True,'''model_name''':'''SCH-A670 (Verizon Wireless)''','''ringtone_qcelp''':True}) +devices.devids['''samsung_sgh_a737_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_sgh_a737_ver1''', '''SAMSUNG-SGH-A737/UCGG1 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':5000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':614400,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-A737''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/A737UAProf.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sch_a790_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_a790_ver1''', '''SCH-A790''', False, None) +devices.devids['''sch_a790_ver1_sub20'''] = devclass(devices.devids['''sch_a790_ver1'''], '''sch_a790_ver1_sub20''', '''SCH-A790 UP.Browser/6.2.2.4 (GUI) MMP/2.0''', False, None) +devices.devids['''au_mic_ver1'''] = devclass(devices.devids['''generic'''], '''au_mic_ver1''', '''AU-MIC''', False, None) +devices.devids['''samsung_n400us_ver1'''] = devclass(devices.devids['''au_mic_ver1'''], '''samsung_n400us_ver1''', '''AU-MIC/1.1.4.020722 MMP/2.0''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''compactmidi''':True,'''directdownload_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':96,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':64,'''max_image_height''':102,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''1.0''','''model_name''':'''N400 (Sprint USA)''','''png''':True,'''qcelp''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_compactmidi''':True,'''ringtone_directdownload_size_limit''':32768,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':16,'''rows''':9,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':32768,'''screensaver_jpg''':True,'''screensaver_max_height''':80,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':80,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-N400/VH27.rdf''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':32768,'''wallpaper_jpg''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wml_1_2''':True}) +devices.devids['''samsung_n400_ver1_sub116'''] = devclass(devices.devids['''samsung_n400us_ver1'''], '''samsung_n400_ver1_sub116''', '''AU-MIC/1.1.6 MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''au_mic_ver2'''] = devclass(devices.devids['''au_mic_ver1'''], '''au_mic_ver2''', '''AU-MIC/2''', False, None) +devices.devids['''au_mic_ver1_sub20'''] = devclass(devices.devids['''au_mic_ver1'''], '''au_mic_ver1_sub20''', '''AU-MIC/2.0''', False, None) +devices.devids['''au_mic_ver2_sub20'''] = devclass(devices.devids['''au_mic_ver2'''], '''au_mic_ver2_sub20''', '''AU-MIC/2.0 MMP/2.0''', True, {'''ascii_support''':True,'''brand_name''':'''Samsung''','''colors''':4096,'''columns''':17,'''compactmidi''':True,'''connectionless_service_indication''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''directdownload_support''':True,'''iso8859_support''':True,'''j2me_bits_per_pixel''':12,'''j2me_canvas_height''':131,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_gif''':True,'''j2me_gif89a''':True,'''j2me_heap_size''':189440,'''j2me_jpg''':True,'''j2me_max_jar_size''':65536,'''j2me_midp_1_0''':True,'''j2me_screen_height''':131,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':65536,'''max_image_height''':131,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''model_name''':'''A500 (Sprint USA)''','''png''':True,'''qcelp''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_compactmidi''':True,'''ringtone_directdownload_size_limit''':65536,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':16,'''rows''':9,'''screensaver_colors''':12,'''screensaver_directdownload_size_limit''':65536,'''screensaver_gif''':True,'''screensaver_max_height''':146,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':146,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-A500/VE31.rdf''','''utf8_support''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_directdownload_size_limit''':65536,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':112,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':112,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True}) +devices.devids['''sec_spha500_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_spha500_ver1''', '''SEC-spha500''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SPH-A500'''}) +devices.devids['''sec_spha500_ver1_sub4126'''] = devclass(devices.devids['''sec_spha500_ver1'''], '''sec_spha500_ver1_sub4126''', '''SEC-spha500 UP.Browser/4.1.26l''', False, None) +devices.devids['''sec_spha505_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_spha505_ver1''', '''SEC-spha505''', False, None) +devices.devids['''sec_spha505_ver1_sub4126'''] = devclass(devices.devids['''sec_spha505_ver1'''], '''sec_spha505_ver1_sub4126''', '''SEC-spha505 UP.Browser/4.1.26l''', False, None) +devices.devids['''sec_spha520_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_spha520_ver1''', '''SEC-SPHA520''', False, None) +devices.devids['''sec_spha520_ver1_sub4126'''] = devclass(devices.devids['''sec_spha520_ver1'''], '''sec_spha520_ver1_sub4126''', '''SEC-SPHA520 UP.Browser/4.1.26l''', False, None) +devices.devids['''samsung_a600_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_a600_ver1''', '''SCH-A600''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_service_load''':True,'''downloadfun_support''':True,'''ems''':True,'''j2me_midp_1_0''':True,'''max_image_height''':120,'''max_image_width''':120,'''midi_monophonic''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':204800,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SCH-A600''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':12,'''sender''':True,'''uaprof''':'''http://device.telusmobility.com/samsung/scha600.rdf''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':112,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_a600_ver1_sub6223d1105'''] = devclass(devices.devids['''samsung_a600_ver1'''], '''samsung_a600_ver1_sub6223d1105''', '''SCH-A600 UP.Browser/6.2.2.3.d.1.105 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''sec_scha605_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_scha605_ver1''', '''SEC-scha605''', False, None) +devices.devids['''sec_scha605_ver1_sub4126'''] = devclass(devices.devids['''sec_scha605_ver1'''], '''sec_scha605_ver1_sub4126''', '''SEC-scha605 UP.Browser/4.1.26l''', False, None) +devices.devids['''sec_scha610_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_scha610_ver1''', '''SEC-scha610''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCH-A610''','''oma_v_1_0_forwardlock''':True,'''png''':True,'''qcelp''':False,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':False,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''sec_scha610_ver1_sub4127'''] = devclass(devices.devids['''sec_scha610_ver1'''], '''sec_scha610_ver1_sub4127''', '''SEC-scha610 UP.Browser/4.1.27a''', False, None) +devices.devids['''verizon_sec_scha610_ver1'''] = devclass(devices.devids['''sec_scha610_ver1'''], '''verizon_sec_scha610_ver1''', '''sama610''', True, {'''model_name''':'''SCH-A610 (Verizon Wireless)''','''ringtone_qcelp''':True}) +devices.devids['''samsung_spha660_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_spha660_ver1''', '''Samsung-SPHA660''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_canvas_height''':131,'''j2me_canvas_width''':128,'''j2me_heap_size''':317440,'''j2me_jpg''':True,'''j2me_max_jar_size''':131072,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':131,'''j2me_screen_width''':128,'''j2me_wbmp''':True,'''jpg''':True,'''max_image_height''':131,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''model_name''':'''A660''','''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''qcelp''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-A660/XA28.rdf''','''voices''':32,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_spha660_ver1_sub20'''] = devclass(devices.devids['''samsung_spha660_ver1'''], '''samsung_spha660_ver1_sub20''', '''Samsung-SPHA660 AU-MIC/2.0 MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_a800_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''samsung_a800_ver1''', '''SAMSUNG-SGH-A800''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''ems''':True,'''gif''':True,'''jpg''':True,'''max_deck_size''':32768,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-A800''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_a800_ver1_sub5033'''] = devclass(devices.devids['''samsung_a800_ver1'''], '''samsung_a800_ver1_sub5033''', '''SAMSUNG-SGH-A800/1.0 UP.Browser/5.0.3.3 (GUI)''', False, None) +devices.devids['''samsung_a800_ver1_sub5033_'''] = devclass(devices.devids['''samsung_a800_ver1'''], '''samsung_a800_ver1_sub5033_''', '''SAMSUNG-SGH-A800/1.0_UP.Browser/5.0.3.3_(GUI)''', False, None) +devices.devids['''sec_c100_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sec_c100_ver1''', '''SEC-SGHC100''', True, {'''brand_name''':'''Samsung''','''ems''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':112,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':307200,'''j2me_max_jar_size''':102400,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''max_deck_size''':32768,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-C100''','''preferred_markup''':'''wml_1_2''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sec_c100_ver1_sub10'''] = devclass(devices.devids['''sec_c100_ver1'''], '''sec_c100_ver1_sub10''', '''SEC-SGHC100/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''sec_c100_ver1_sub5051'''] = devclass(devices.devids['''sec_c100_ver1'''], '''sec_c100_ver1_sub5051''', '''SEC-SGHC100/1.0 UP.Browser/5.0.5.1 (GUI)''', False, None) +devices.devids['''sec_c108_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sec_c108_ver1''', '''SEC-SGHC108''', True, {'''brand_name''':'''Samsung''','''j2me_midp_1_0''':True,'''model_name''':'''SGH-C108''','''screensaver_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''sec_c108_ver1_sub6201155'''] = devclass(devices.devids['''sec_c108_ver1'''], '''sec_c108_ver1_sub6201155''', '''SEC-SGHC108/1.0 UP.Browser/6.2.0.1.155 (GUI) MMP/1.0''', False, None) +devices.devids['''sec_c108t_ver1'''] = devclass(devices.devids['''sec_c108_ver1'''], '''sec_c108t_ver1''', '''SEC-SGHC108t''', True, {'''model_name''':'''SGH-C108t'''}) +devices.devids['''sec_c225_ver1'''] = devclass(devices.devids['''generic'''], '''sec_c225_ver1''', '''SEC-SGHC225-C225UVDH1-NW.Browser3.01''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''gif''':True,'''jpg''':True,'''max_image_height''':108,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-C225''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_sghc240_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''samsung_sghc240_ver1''', '''SAMSUNG-SGH-C240/1.0''', False, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':1400,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':51200,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-C240''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-C240.xml''','''wap_push_support''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_sghc250_ver1'''] = devclass(devices.devids['''samsung_sghc240_ver1'''], '''sec_sghc250_ver1''', '''SEC-SGHC250/1.0''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':4000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''model_name''':'''SGH-C250''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''screensaver''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/c250_10.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_d100_ver1'''] = devclass(devices.devids['''generic'''], '''sec_d100_ver1''', '''SEC-SGHD100''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':1400,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':51200,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''model_name''':'''SGH-D100''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/d100.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_3''':True}) +devices.devids['''samsung_d500_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_d500_ver1''', '''SAMSUNG-SGH-D500''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''directdownload_support''':True,'''imelody''':True,'''j2me_bits_per_pixel''':18,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':573440,'''j2me_max_jar_size''':307200,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_storage_size''':83886080,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':4194304,'''max_image_height''':144,'''max_image_width''':161,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-D500''','''mp3''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':1000000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':16,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_preferred_height''':144,'''screensaver_preferred_width''':176,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-D500.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':1024000,'''video_max_frame_rate''':15,'''video_mp4''':False,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':1000000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_d500_ver1_sub10'''] = devclass(devices.devids['''samsung_d500_ver1'''], '''samsung_d500_ver1_sub10''', '''SAMSUNG-SGH-D500/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_d500_ver1_sub6226'''] = devclass(devices.devids['''samsung_d500_ver1'''], '''samsung_d500_ver1_sub6226''', '''SAMSUNG-SGH-D500/1.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_directdownload_size_limit''':1000000,'''video_max_frame_rate''':15,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True}) +devices.devids['''samsung_d500_ver1_sub6233'''] = devclass(devices.devids['''samsung_d500_ver1'''], '''samsung_d500_ver1_sub6233''', '''SAMSUNG-SGH-D500/1.0 UP.Browser/6.2.3.3 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_d500_ver1_subsimple'''] = devclass(devices.devids['''samsung_d500_ver1'''], '''samsung_d500_ver1_subsimple''', '''SEC-SGHD500''', False, None) +devices.devids['''samsung_d500_ver1_subtss25'''] = devclass(devices.devids['''samsung_d500_ver1'''], '''samsung_d500_ver1_subtss25''', '''SEC-SGHD500/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_d500_ver1_sub106233c1101'''] = devclass(devices.devids['''samsung_d500_ver1'''], '''samsung_d500_ver1_sub106233c1101''', '''SAMSUG-SGH-D500/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_d500c_ver1'''] = devclass(devices.devids['''samsung_d500_ver1'''], '''samsung_sgh_d500c_ver1''', '''SAMSUNG-SGH-D500C''', True, {'''max_image_width''':161,'''model_name''':'''SGH-D500C''','''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-D500C.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False}) +devices.devids['''samsung_sgh_d500c_ver1_sub20'''] = devclass(devices.devids['''samsung_sgh_d500c_ver1'''], '''samsung_sgh_d500c_ver1_sub20''', '''SAMSUNG-SGH-D500C/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_d500e_ver1'''] = devclass(devices.devids['''samsung_d500_ver1'''], '''samsung_d500e_ver1''', '''SAMSUNG-SGH-D500E''', True, {'''max_data_rate''':200,'''model_name''':'''SGH-D500E''','''picture_directdownload_size_limit''':1000000,'''screensaver_directdownload_size_limit''':1000000,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-D500.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_directdownload_size_limit''':1000000,'''video_mp4''':False,'''video_wmv''':False}) +devices.devids['''samsung_d500e_ver1_sub6233'''] = devclass(devices.devids['''samsung_d500e_ver1'''], '''samsung_d500e_ver1_sub6233''', '''SAMSUNG-SGH-D500E/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_d508_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_d508_ver1''', '''SAMSUNG-SGH-D508''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':40,'''max_deck_size''':16384,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-D508''','''oma_support''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':16,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-D508.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':173,'''wallpaper_preferred_width''':174}) +devices.devids['''samsung_sgh_d510_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_d510_ver1''', '''SAMSUNG-SGH-D510''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_image_height''':144,'''max_image_width''':162,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-D510''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_sgh_d510_ver1_sub106233c1101'''] = devclass(devices.devids['''samsung_sgh_d510_ver1'''], '''samsung_sgh_d510_ver1_sub106233c1101''', '''SAMSUNG-SGH-D510/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_d600_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_d600_ver1''', '''SAMSUNG-SGH-D600''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':8,'''directdownload_support''':True,'''j2me_3gpp''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':320,'''j2me_canvas_width''':240,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_clear_key_code''':-8,'''j2me_heap_size''':2306867,'''j2me_http''':True,'''j2me_https''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':-6,'''j2me_max_jar_size''':512000,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp4''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':-7,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''j2me_select_key_code''':-5,'''j2me_storage_size''':4194304,'''j2me_wmapi_1_0''':True,'''j2me_wmapi_1_1''':True,'''max_data_rate''':40,'''max_deck_size''':16384,'''max_image_height''':320,'''max_image_width''':228,'''model_name''':'''SGH-D600''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':1024000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''rows''':28,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':1024000,'''screensaver_gif''':True,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-D600E.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':1024000,'''video_max_frame_rate''':30,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':1024000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''samsung_d600_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_d600_ver1'''], '''samsung_d600_ver1_sub6233c1101''', '''SAMSUNG-SGH-D600/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_d600_ver1_sub6233c1101nospace'''] = devclass(devices.devids['''samsung_d600_ver1'''], '''samsung_d600_ver1_sub6233c1101nospace''', '''SAMSUNG-SCH-D600/1.0 profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101(GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_d600e_ver1'''] = devclass(devices.devids['''samsung_d600_ver1'''], '''samsung_d600e_ver1''', '''SAMSUNG-SGH-D600E''', True, {'''aac''':True,'''amr''':True,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':200,'''max_deck_size''':16384,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-D600E''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True}) +devices.devids['''samsung_d600e_ver1_sube6233c1101'''] = devclass(devices.devids['''samsung_d600e_ver1'''], '''samsung_d600e_ver1_sube6233c1101''', '''SAMSUNG-SGH-D600E/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_d608_ver1'''] = devclass(devices.devids['''samsung_d600_ver1'''], '''samsung_sgh_d608_ver1''', '''SAMSUNG-SGH-D608''', True, {'''model_name''':'''SGH-D608''','''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''sec_d720_ver1'''] = devclass(devices.devids['''nokia_generic_series60'''], '''sec_d720_ver1''', '''SEC-SGHD720''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''gif''':True,'''gif_animated''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':357000,'''max_image_height''':176,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-D720''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rmf''':True,'''screensaver''':True,'''screensaver_directdownload_size_limit''':1024000,'''screensaver_gif''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''tiff''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/d720_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_directdownload_size_limit''':1024000,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True}) +devices.devids['''sec_d730_ver1'''] = devclass(devices.devids['''nokia_generic_series60'''], '''sec_d730_ver1''', '''SEC-SGHD730''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''j2me_midp_2_0''':True,'''max_image_height''':208,'''model_name''':'''SGH-D730''','''mp3''':True,'''ringtone_awb''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_wmv''':False,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':129}) +devices.devids['''sec_d730_ver1_sub_20'''] = devclass(devices.devids['''sec_d730_ver1'''], '''sec_d730_ver1_sub_20''', '''SEC-SGHD730 SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''samsung_sgh_d730_ver1'''] = devclass(devices.devids['''sec_d730_ver1'''], '''samsung_sgh_d730_ver1''', '''SAMSUNG-SGH-D730''', False, {'''max_data_rate''':40}) +devices.devids['''sec_d800_ver1'''] = devclass(devices.devids['''generic'''], '''sec_d800_ver1''', '''SEC-SGHD800''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-D800''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/d800_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''sec_d800_ver1_sub-11'''] = devclass(devices.devids['''sec_d800_ver1'''], '''sec_d800_ver1_sub-11''', '''SEC-SGHD800/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sec_sghd807_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''sec_sghd807_ver1''', '''SEC-SGHD807/1.0 TSS/2.5''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10240,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''D807''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/d807_10.xml''','''video''':True,'''video_3gpp''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_sgh_d820_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_d820_ver1''', '''SAMSUNG-SGH-D820''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':8,'''directdownload_support''':True,'''gif_animated''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':200,'''max_deck_size''':16384,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-D820''','''mp3''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''rows''':28,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-D820.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''samsung_sgh_d820_ver1_sub20'''] = devclass(devices.devids['''samsung_sgh_d820_ver1'''], '''samsung_sgh_d820_ver1_sub20''', '''SAMSUNG-SGH-D820/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_d840_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_d840_ver1''', '''SAMSUNG-SGH-D840''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''connectionoriented_confirmed_service_indication''':True,'''gif_animated''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':200,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':320,'''mms_max_size''':307200,'''mms_max_width''':240,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-D840''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/d840_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_preferred_height''':320,'''video_preferred_width''':240,'''video_qcif''':True,'''video_sqcif''':False,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True}) +devices.devids['''samsung_sgh_d840_sub10322011'''] = devclass(devices.devids['''samsung_sgh_d840_ver1'''], '''samsung_sgh_d840_sub10322011''', '''SEC-SGHD840/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_d900_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_d900_ver1''', '''SAMSUNG-SGH-D900''', True, {'''aac''':True,'''amr''':True,'''ascii_support''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''https_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':200,'''max_deck_size''':16384,'''max_image_height''':310,'''max_image_width''':234,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-D900''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':28,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-D900.xml''','''uaprof2''':'''http://wap.samsungmobile.com/uaprof/SGH-D900-FD.xml''','''utf8_support''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_max_height''':320,'''video_max_width''':240,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True}) +devices.devids['''samsung_d900_ver1_sub10'''] = devclass(devices.devids['''samsung_d900_ver1'''], '''samsung_d900_ver1_sub10''', '''SAMSUNG-SGH-D900/1.0''', False, {'''max_data_rate''':200}) +devices.devids['''samsung_d900_ver1_sub6233c1101ibm45'''] = devclass(devices.devids['''samsung_d900_ver1'''], '''samsung_d900_ver1_sub6233c1101ibm45''', '''SAMSUNG-SGH-D900/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 (via IBM WBI 4.5)''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_d900_ver1_subb0fi26233c1101'''] = devclass(devices.devids['''samsung_d900_ver1'''], '''samsung_d900_ver1_subb0fi26233c1101''', '''SAMSUNG-SGH-D900/D900BOFI2 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_d900_ver1_subnf'''] = devclass(devices.devids['''samsung_d900_ver1'''], '''samsung_sgh_d900_ver1_subnf''', '''SAMSUNG-SEC-SGHD900/1.0 NetFront/3.2''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_d900orange_ver1'''] = devclass(devices.devids['''samsung_d900_ver1'''], '''samsung_d900orange_ver1''', '''SAMSUNG-SGH-D900-ORANGE''', True, {'''model_name''':'''SGH-D900 (Orange)''','''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''samsung_d900orange_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_d900orange_ver1'''], '''samsung_d900orange_ver1_sub6233c1101''', '''SAMSUNG-SGH-D900-ORANGE/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40,'''max_image_width''':234}) +devices.devids['''samsung_e330_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e330_ver1''', '''SAMSUNG-SGH-E330''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''ems''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':563200,'''j2me_max_jar_size''':184320,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':194560,'''max_image_height''':120,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':97280,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E330''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':False,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':14,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E330.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_e330_ver1_sub6226'''] = devclass(devices.devids['''samsung_e330_ver1'''], '''samsung_e330_ver1_sub6226''', '''SAMSUNG-SGH-E330/1.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e330c_ver1'''] = devclass(devices.devids['''samsung_e330_ver1'''], '''samsung_e330c_ver1''', '''SAMSUNG-SGH-E330C''', True, {'''model_name''':'''SGH-E330C'''}) +devices.devids['''samsung_e330c_ver1_sub6226'''] = devclass(devices.devids['''samsung_e330c_ver1'''], '''samsung_e330c_ver1_sub6226''', '''SAMSUNG-SGH-E330C/1.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e330n_ver1'''] = devclass(devices.devids['''samsung_e330_ver1'''], '''samsung_e330n_ver1''', '''SAMSUNG-SGH-E330N''', True, {'''max_image_width''':120,'''model_name''':'''SGH-E330N'''}) +devices.devids['''samsung_e330n_ver1_sub6226'''] = devclass(devices.devids['''samsung_e330n_ver1'''], '''samsung_e330n_ver1_sub6226''', '''SAMSUNG-SGH-E330N/1.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_e335_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_e335_ver1''', '''SAMSUNG-SGH-E335''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_data_rate''':40,'''max_deck_size''':16384,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':97280,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''E335''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':14,'''sender''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E335.xml''','''voices''':40,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True}) +devices.devids['''samsung_sgh_e335_ver1_subvec4'''] = devclass(devices.devids['''samsung_sgh_e335_ver1'''], '''samsung_sgh_e335_ver1_subvec4''', '''SAMSUNG-SGH-E335/E335UVEC4 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_e335_ver1_subvec5'''] = devclass(devices.devids['''samsung_sgh_e335_ver1'''], '''samsung_sgh_e335_ver1_subvec5''', '''SAMSUNG-SGH-E335/E335UVEC5 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_e335_ver1_subvee1'''] = devclass(devices.devids['''samsung_sgh_e335_ver1'''], '''samsung_sgh_e335_ver1_subvee1''', '''SAMSUNG-SGH-E335/E335UVEE1 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_e338_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_e338_ver1''', '''SAMSUNG-SGH-E338''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_data_rate''':40,'''max_deck_size''':16384,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':97280,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E338''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':14,'''sender''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E338.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_sgh_e340_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_e340_ver1''', '''SAMSUNG-SGH-E340''', True, {'''brand_name''':'''Samsung''','''directdownload_support''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-E340''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':1048576,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':8,'''screensaver_directdownload_size_limit''':1048576,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_directdownload_size_limit''':1048576,'''video_max_frame_rate''':10,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_directdownload_size_limit''':1048576,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_sgh_e340_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_sgh_e340_ver1'''], '''samsung_sgh_e340_ver1_sub6233c1101''', '''SAMSUNG-SGH-E340/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_e340_ver1_sub6233c1102'''] = devclass(devices.devids['''samsung_sgh_e340_ver1'''], '''samsung_sgh_e340_ver1_sub6233c1102''', '''SAMSUNG-SGH-E340/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.102 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_e340e_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_sgh_e340_ver1'''], '''samsung_sgh_e340e_ver1_sub6233c1101''', '''SAMSUNG-SGH-E340E/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sec_e400_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e400_ver1''', '''SEC-SGHE400''', True, {'''brand_name''':'''Samsung''','''connectionless_service_indication''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':128,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':184320,'''j2me_max_jar_size''':102400,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':144,'''j2me_screen_width''':128,'''model_name''':'''SGH-E400''','''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wap_push_support''':True}) +devices.devids['''sec_e420_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e420_ver1''', '''SEC-SGHE420''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''SGH-E420''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wml_1_2''':True,'''xhtml_support_level''':1}) +devices.devids['''sec_e490_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e490_ver1''', '''SEC-SGHE490''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''E490''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_mp4''':False,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wml_1_2''':True,'''xhtml_support_level''':2}) +devices.devids['''sec_e500_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sec_e500_ver1''', '''SEC-SGHE500''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''ems''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':200,'''max_image_width''':176,'''mms_video''':True,'''model_name''':'''SGH-E500''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':173,'''wallpaper_max_width''':174,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sec_e500_ver1_sub6233c'''] = devclass(devices.devids['''sec_e500_ver1'''], '''sec_e500_ver1_sub6233c''', '''SAMSUNG-SGH-E500/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':200}) +devices.devids['''sec_e530_ver1'''] = devclass(devices.devids['''sec_e500_ver1'''], '''sec_e530_ver1''', '''SEC-SGHE530''', True, {'''aac''':True,'''amr''':True,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''directdownload_support''':True,'''gif''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':204,'''j2me_canvas_width''':176,'''j2me_heap_size''':512000,'''j2me_max_record_store_size''':4096,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_wmapi_1_0''':True,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':8000,'''max_image_width''':169,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':307200,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E530''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':307200,'''ringtone_imelody''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''screensaver''':True,'''screensaver_directdownload_size_limit''':307200,'''screensaver_gif''':True,'''screensaver_preferred_height''':144,'''screensaver_preferred_width''':176,'''softkey_support''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e530_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':307200,'''video_max_frame_rate''':25,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_vcodec_h263_0''':True,'''video_wmv''':False,'''wallpaper_directdownload_size_limit''':307200,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wta_phonebook''':True}) +devices.devids['''sec_e530_ver1_subtss25'''] = devclass(devices.devids['''sec_e530_ver1'''], '''sec_e530_ver1_subtss25''', '''SEC-SGHE530/1.0 TSS/2.5''', False, {'''max_data_rate''':40,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':174,'''wallpaper_preferred_width''':173}) +devices.devids['''sec_e530c_ver1'''] = devclass(devices.devids['''sec_e530_ver1'''], '''sec_e530c_ver1''', '''SEC-SGHE530C''', True, {'''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''directdownload_support''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':307200,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E530C''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e530c_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''sec_e530c_ver1_subtss25'''] = devclass(devices.devids['''sec_e530c_ver1'''], '''sec_e530c_ver1_subtss25''', '''SEC-SGHE530C/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e590_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e590_ver1''', '''SAMSUNG-SGH-E590''', True, {'''brand_name''':'''Samsung''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''model_name''':'''SGH-E590''','''oma_v_1_0_forwardlock''':True,'''ringtone''':True,'''ringtone_directdownload_size_limit''':262144,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_oma_size_limit''':262144,'''ringtone_voices''':64,'''screensaver_gif''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':220}) +devices.devids['''samsung_e590_ver1_sub106233c1101'''] = devclass(devices.devids['''samsung_e590_ver1'''], '''samsung_e590_ver1_sub106233c1101''', '''SAMSUNG-SGH-E590/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':200}) +devices.devids['''sec_e600_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e600_ver1''', '''SEC-SGHE600''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionless_service_indication''':True,'''directdownload_support''':True,'''gif''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':112,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_clear_key_code''':8,'''j2me_heap_size''':262144,'''j2me_max_jar_size''':102400,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':144,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''model_name''':'''SGH-E600''','''nokia_voice_call''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':64,'''rows''':6,'''sender''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_e600c_ver1'''] = devclass(devices.devids['''sec_e600_ver1'''], '''sec_e600c_ver1''', '''SEC-SGHE600C''', True, {'''model_name''':'''SGH-E600C''','''uaprof''':'''http://wap.samsungmobile.com/uaprof/e600c.xml'''}) +devices.devids['''sec_e608_ver1'''] = devclass(devices.devids['''sec_e600_ver1'''], '''sec_e608_ver1''', '''SEC-SGHE608''', True, {'''max_deck_size''':30720,'''max_image_height''':124,'''midi_polyphonic''':True,'''model_name''':'''SGH-E608''','''resolution_height''':144,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e608.xml'''}) +devices.devids['''sec_e610_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e610_ver1''', '''SEC-SGHE610''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':165,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':178,'''mms_max_size''':102400,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''model_name''':'''E610''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e610_10.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_table_support''':True}) +devices.devids['''sec_e618_ver1'''] = devclass(devices.devids['''sec_e610_ver1'''], '''sec_e618_ver1''', '''SEC-SGHE618''', True, {'''max_image_height''':165,'''max_image_width''':176,'''model_name''':'''SGH-E618'''}) +devices.devids['''samsung_e620_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_e620_ver1''', '''SAMSUNG-SGH-E620''', True, {'''bmp''':False,'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':8000,'''max_image_height''':144,'''max_image_width''':176,'''model_name''':'''SGH-E620''','''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_directdownload_size_limit''':307200,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_preferred_width''':176,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e620_10.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':307200,'''video_max_frame_rate''':25,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_honors_bgcolor''':True,'''xhtml_support_level''':1,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''samsung_e620_ver1_subshort'''] = devclass(devices.devids['''samsung_e620_ver1'''], '''samsung_e620_ver1_subshort''', '''SEC-SGHE620''', False, None) +devices.devids['''samsung_e620_ver1_subtss25'''] = devclass(devices.devids['''samsung_e620_ver1'''], '''samsung_e620_ver1_subtss25''', '''SEC-SGHE620/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e630_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e630_ver1''', '''SAMSUNG-SGH-E630''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''ems''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':563200,'''j2me_max_jar_size''':184320,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''j2me_wmapi_1_0''':True,'''max_deck_size''':194560,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':97280,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E630''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':64,'''rows''':14,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E630.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_e630_ver1_sub10'''] = devclass(devices.devids['''samsung_e630_ver1'''], '''samsung_e630_ver1_sub10''', '''SAMSUNG-SGH-E630/1.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e630_ver1_submidp'''] = devclass(devices.devids['''samsung_e630_ver1'''], '''samsung_e630_ver1_submidp''', '''SAMSUNG-SGH-E630/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e635_ver1'''] = devclass(devices.devids['''samsung_e630_ver1'''], '''samsung_e635_ver1''', '''SAMSUNG-SGH-E635''', True, {'''model_name''':'''SGH-E635'''}) +devices.devids['''samsung_e638_ver1'''] = devclass(devices.devids['''samsung_e630_ver1'''], '''samsung_e638_ver1''', '''SAMSUNG-SGH-E638''', True, {'''directdownload_support''':True,'''max_data_rate''':40,'''model_name''':'''SGH-E638'''}) +devices.devids['''samsung_e640_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e640_ver1''', '''SAMSUNG-SGH-E640''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''E640''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''samsung_sgh_e640_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_e640_ver1'''], '''samsung_sgh_e640_ver1_sub6233c1101''', '''SAMSUNG-SGH-E640/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_e630c_ver1'''] = devclass(devices.devids['''samsung_e630_ver1'''], '''samsung_e630c_ver1''', '''SAMSUNG-SGH-E630C''', True, {'''model_name''':'''SGH-E630C'''}) +devices.devids['''samsung_e630c_ver1_sub6226'''] = devclass(devices.devids['''samsung_e630c_ver1'''], '''samsung_e630c_ver1_sub6226''', '''SAMSUNG-SGH-E630C/1.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e700_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e700_ver1''', '''SAMSUNG-SGH-E700''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':140,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':491520,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_data_rate''':40,'''max_deck_size''':102400,'''max_image_height''':120,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':81920,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':40,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E700''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':30000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''rows''':8,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E700.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':15360,'''wallpaper_directdownload_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':15360,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':126,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_e700_ver1_subshort'''] = devclass(devices.devids['''samsung_e700_ver1'''], '''samsung_e700_ver1_subshort''', '''SEC-SGHE700''', False, None) +devices.devids['''samsung_e700_ver1_substar'''] = devclass(devices.devids['''samsung_e700_ver1'''], '''samsung_e700_ver1_substar''', '''SAMSUNG-SGH-E700/*''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e700_ver1_subnoversion'''] = devclass(devices.devids['''samsung_e700_ver1'''], '''samsung_e700_ver1_subnoversion''', '''SAMSUNG-SGH-E700/BSI''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e700_ver1_sub6106'''] = devclass(devices.devids['''samsung_e700_ver1'''], '''samsung_e700_ver1_sub6106''', '''SAMSUNG-SGH-E700/BSI UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e700_ver1_sub6106nospace'''] = devclass(devices.devids['''samsung_e700_ver1'''], '''samsung_e700_ver1_sub6106nospace''', '''SAMSUNG-SGH-E700/BSI UP.Browser/6.1.0.6(GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e700_ver1_subolympic'''] = devclass(devices.devids['''samsung_e700_ver1'''], '''samsung_e700_ver1_subolympic''', '''SAMSUNG-SGH-E700-OLYMPIC2004/1.0 UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e700_ver1_sube700'''] = devclass(devices.devids['''samsung_e700_ver1'''], '''samsung_e700_ver1_sube700''', '''SEC-SGHE700, SEC-SGHE700''', False, None) +devices.devids['''samsung_e700_ver1_subtss25'''] = devclass(devices.devids['''samsung_e700_ver1'''], '''samsung_e700_ver1_subtss25''', '''SEC-SGHE700/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e700_ver2'''] = devclass(devices.devids['''samsung_e700_ver1'''], '''samsung_e700_ver2''', '''SAMSUNG-SGH-E700/BSI UP.Browser/6.2''', False, {'''max_data_rate''':40,'''xhtml_format_as_css_property''':True,'''xhtml_marquee_as_css_property''':True}) +devices.devids['''samsung_e700_ver2_sub6226mmp1'''] = devclass(devices.devids['''samsung_e700_ver2'''], '''samsung_e700_ver2_sub6226mmp1''', '''SAMSUNG-SGH-E700/BSI UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e700_ver2_sub6233midp'''] = devclass(devices.devids['''samsung_e700_ver2'''], '''samsung_e700_ver2_sub6233midp''', '''SAMSUNG-SGH-E700/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e700a_ver1'''] = devclass(devices.devids['''samsung_e700_ver1'''], '''samsung_e700a_ver1''', '''SAMSUNG-SGH-E700A''', True, {'''model_name''':'''SGH-E700A'''}) +devices.devids['''samsung_e700a_ver1_sub10'''] = devclass(devices.devids['''samsung_e700a_ver1'''], '''samsung_e700a_ver1_sub10''', '''SAMSUNG-SGH-E700A/BSI UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e708_ver1'''] = devclass(devices.devids['''samsung_e700_ver1'''], '''samsung_e708_ver1''', '''SAMSUNG-SGH-E708''', True, {'''max_deck_size''':4096,'''model_name''':'''SGH-E708''','''ringtone_imelody''':True,'''uaprof''':'''http://wap.samsungmobile.com.cn/uaprof/SGH-E708.xml'''}) +devices.devids['''samsung_e708_ver1_sub'''] = devclass(devices.devids['''samsung_e708_ver1'''], '''samsung_e708_ver1_sub''', '''SAMSUNG-SGH-E708/1.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_e708_sub1'''] = devclass(devices.devids['''samsung_e708_ver1'''], '''samsung_e708_sub1''', '''SamsungE708''', False, None) +devices.devids['''samsung_e708_sub1010'''] = devclass(devices.devids['''samsung_e708_ver1'''], '''samsung_e708_sub1010''', '''SamsungE708 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':9}) +devices.devids['''sec_e710_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e710_ver1''', '''SEC-SGHE710''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''directdownload_support''':True,'''ems''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':144,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':262144,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E710''','''mp3''':True,'''nokia_voice_call''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':65536,'''picture_gif''':True,'''picture_jpg''':True,'''picture_preferred_height''':118,'''picture_preferred_width''':120,'''picture_wbmp''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':30720,'''ringtone_directdownload_size_limit''':30720,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e710_00.xml''','''uaprof2''':'''http://wap.samsungmobile.com/uaprof/e710_10.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':126,'''wallpaper_max_width''':118,'''wallpaper_preferred_height''':125,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_table_support''':True}) +devices.devids['''sec_e710_ver1_sub10'''] = devclass(devices.devids['''sec_e710_ver1'''], '''sec_e710_ver1_sub10''', '''SEC-SGHE710/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sec_e710_ver1_sub25'''] = devclass(devices.devids['''sec_e710_ver1'''], '''sec_e710_ver1_sub25''', '''SEC-SGHE710/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_e710i_ver1'''] = devclass(devices.devids['''sec_e710_ver1'''], '''samsung_sgh_e710i_ver1''', '''SEC-SGHE710i''', True, {'''model_name''':'''SGH-E710i'''}) +devices.devids['''sec_e715_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e715_ver1''', '''SEC-SGHE715''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''connectionoriented_confirmed_service_indication''':True,'''ems''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':144,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':262144,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':7000,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''E715''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e715.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wta_phonebook''':True,'''xhtml_table_support''':True}) +devices.devids['''sec_e720_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e720_ver1''', '''SEC-SGHE720''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':200,'''max_image_width''':169,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':307200,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''E720''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e720_00.xml''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':173,'''wallpaper_preferred_width''':174,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_e720_ver1_sub25'''] = devclass(devices.devids['''sec_e720_ver1'''], '''sec_e720_ver1_sub25''', '''SEC-SGHE720/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''sec_e720c_ver1'''] = devclass(devices.devids['''sec_e720_ver1'''], '''sec_e720c_ver1''', '''SEC-SGHE720C''', True, {'''max_image_width''':169,'''model_name''':'''SGH-E720C''','''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e720c_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''samsung_sgh_e730_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_e730_ver1''', '''SAMSUNG-SGH-E730''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''gif_animated''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_deck_size''':16384,'''max_image_height''':200,'''max_image_width''':168,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-E730''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_directdownload_size_limit''':1024000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':5,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':1024000,'''screensaver_gif''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':1024000,'''video_max_frame_rate''':15,'''video_mp4''':False,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':1024000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_sgh_e730_ver1_sub20'''] = devclass(devices.devids['''samsung_sgh_e730_ver1'''], '''samsung_sgh_e730_ver1_sub20''', '''SAMSUNG-SGH-E730/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_sgh_e730_ver1_sub6233c1102'''] = devclass(devices.devids['''samsung_sgh_e730_ver1'''], '''samsung_sgh_e730_ver1_sub6233c1102''', '''SAMSUNG-SGH-E730/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.102 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_sgh_e738_ver1'''] = devclass(devices.devids['''samsung_sgh_e730_ver1'''], '''samsung_sgh_e738_ver1''', '''SAMSUNG-SGH-E738''', True, {'''model_name''':'''SGH-E738''','''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False}) +devices.devids['''samsung_sgh_e750_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_e750_ver1''', '''SAMSUNG-SGH-E750''', True, {'''brand_name''':'''Samsung''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''model_name''':'''SGH-E750''','''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True}) +devices.devids['''samsung_sgh_e750_ver1_sub20'''] = devclass(devices.devids['''samsung_sgh_e750_ver1'''], '''samsung_sgh_e750_ver1_sub20''', '''SAMSUNG-SGH-E750/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_e760_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e760_ver1''', '''SAMSUNG-SGH-E760''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_image_height''':200,'''max_image_width''':168,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-E760''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':1024000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':6,'''screensaver''':True,'''screensaver_directdownload_size_limit''':1024000,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':1024000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_e760_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_e760_ver1'''], '''samsung_e760_ver1_sub6233c1101''', '''SAMSUNG-SGH-E760/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_e800_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e800_ver1''', '''SAMSUNG-SGH-E800''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':140,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':563200,'''j2me_max_jar_size''':184320,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':194560,'''max_image_height''':120,'''max_image_width''':120,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':97280,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E800''','''picture''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':64,'''rows''':16,'''sender''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E800.xml''','''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':100000,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':100000,'''wallpaper_jpg''':True,'''wallpaper_oma_size_limit''':100000,'''wallpaper_png''':True,'''wallpaper_preferred_height''':129,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''samsung_e800_ver1_sub6233midp'''] = devclass(devices.devids['''samsung_e800_ver1'''], '''samsung_e800_ver1_sub6233midp''', '''SAMSUNG-SGH-E800/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e800c_ver1'''] = devclass(devices.devids['''samsung_e800_ver1'''], '''samsung_e800c_ver1''', '''SAMSUNG-SGH-E800C''', True, {'''model_name''':'''SGH-E800C'''}) +devices.devids['''samsung_e800c_ver1_sub10'''] = devclass(devices.devids['''samsung_e800c_ver1'''], '''samsung_e800c_ver1_sub10''', '''SAMSUNG-SGH-E800C/1.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e800n_ver1'''] = devclass(devices.devids['''samsung_e800_ver1'''], '''samsung_e800n_ver1''', '''SAMSUNG-SGH-E800N''', True, {'''max_image_width''':120,'''model_name''':'''SGH-E800N'''}) +devices.devids['''samsung_e808_ver1'''] = devclass(devices.devids['''samsung_e800_ver1'''], '''samsung_e808_ver1''', '''SAMSUNG-SGH-E808''', True, {'''model_name''':'''SGH-E808''','''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E808.xml'''}) +devices.devids['''sec_e810_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e810_ver1''', '''SEC-SGHE810''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''built_in_camera''':True,'''colors''':65536,'''directdownload_support''':True,'''gif''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':144,'''j2me_canvas_width''':128,'''j2me_heap_size''':524288,'''j2me_max_jar_size''':102400,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':114,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':114,'''mms_max_size''':100000,'''mms_max_width''':128,'''mms_mp3''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E810''','''mp3''':True,'''picture''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':20000,'''ringtone_directdownload_size_limit''':20000,'''ringtone_imelody''':True,'''ringtone_inline_size_limit''':20000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_oma_size_limit''':20000,'''ringtone_voices''':64,'''rows''':8,'''sender''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':100000,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':100000,'''wallpaper_jpg''':True,'''wallpaper_oma_size_limit''':100000,'''wallpaper_preferred_height''':129,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wap_push_support''':True}) +devices.devids['''sec_e810_ver1_sub10'''] = devclass(devices.devids['''sec_e810_ver1'''], '''sec_e810_ver1_sub10''', '''SEC-SGHE810/1.0''', False, None) +devices.devids['''sec_e810c_ver1'''] = devclass(devices.devids['''sec_e810_ver1'''], '''sec_e810c_ver1''', '''SEC-SGHE810C''', True, {'''model_name''':'''SGH-E810C'''}) +devices.devids['''sec_e810c_ver1_sub10'''] = devclass(devices.devids['''sec_e810c_ver1'''], '''sec_e810c_ver1_sub10''', '''SEC-SGHE810C/1.0''', False, None) +devices.devids['''samsung_e820_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_e820_ver1''', '''SAMSUNG-SGH-E820''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':563200,'''j2me_max_jar_size''':184320,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_data_rate''':40,'''max_deck_size''':194560,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':False,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':97280,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E820''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':64,'''rows''':16,'''sender''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E820.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_e820_ver1_sub'''] = devclass(devices.devids['''samsung_e820_ver1'''], '''samsung_e820_ver1_sub''', '''SAMSUNG-SGH-E820/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e820_ver1_sub6226'''] = devclass(devices.devids['''samsung_e820_ver1'''], '''samsung_e820_ver1_sub6226''', '''SAMSUNG-SGH-E820/1.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e820_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_e820_ver1'''], '''samsung_e820_ver1_sub6233c1101''', '''SAMSUNG-SGH-E820/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e820_ver1_subsece850'''] = devclass(devices.devids['''samsung_e820_ver1'''], '''samsung_e820_ver1_subsece850''', '''SEC-SGHE820''', False, None) +devices.devids['''samsung_e820n_ver1'''] = devclass(devices.devids['''samsung_e820_ver1'''], '''samsung_e820n_ver1''', '''SAMSUNG-SGH-E820N''', True, {'''model_name''':'''SGH-E820N'''}) +devices.devids['''sec_e850_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e850_ver1''', '''SEC-SGHE850''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''model_name''':'''SGH-E850''','''nokia_voice_call''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e850_10.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_e870_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_e870_ver1''', '''SEC-SGHE870''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''E870''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_e870_ver1_subnetfront32'''] = devclass(devices.devids['''samsung_e870_ver1'''], '''samsung_e870_ver1_subnetfront32''', '''SEC-SGHE870/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sec_e880_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e880_ver1''', '''SEC-SGHE880''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':307200,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Samsung''','''mobile_browser_version''':'''2.0''','''model_name''':'''E880''','''mp3''':True,'''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':6,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e880_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_e880_ver1_sub25'''] = devclass(devices.devids['''sec_e880_ver1'''], '''sec_e880_ver1_sub25''', '''SEC-SGHE880/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''sec_e890_ver1'''] = devclass(devices.devids['''sec_e880_ver1'''], '''sec_e890_ver1''', '''SAMSUNG-SGH-E890''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':16384,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''model_name''':'''SGH-E890''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_mp3''':True,'''rows''':28,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''sec_e890_ver1_sub1'''] = devclass(devices.devids['''sec_e890_ver1'''], '''sec_e890_ver1_sub1''', '''SAMSUNG-SGH-E890/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''sec_e910_ver1'''] = devclass(devices.devids['''generic'''], '''sec_e910_ver1''', '''SEC-SGHE910''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262000,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''jpg''':True,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''E910''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''sp_midi''':True,'''xhtml_support_level''':2}) +devices.devids['''sec_i519_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_i519_ver1''', '''SEC-schi519''', False, None) +devices.devids['''sec_i519_ver1_sub41264'''] = devclass(devices.devids['''sec_i519_ver1'''], '''sec_i519_ver1_sub41264''', '''SEC-schi519 UP.Browser/4.1.26c4''', False, None) +devices.devids['''samsung_n100_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_n100_ver1''', '''SAMSUNG-SGH-N100/1.0 UP/4''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-N100'''}) +devices.devids['''samsung_n100_ver1_sub4119j'''] = devclass(devices.devids['''samsung_n100_ver1'''], '''samsung_n100_ver1_sub4119j''', '''SAMSUNG-SGH-N100/1.0 UP/4.1.19j UP.Browser/4.1.19j-XXXX''', False, None) +devices.devids['''samsung_n100_ver1_sub4119k'''] = devclass(devices.devids['''samsung_n100_ver1'''], '''samsung_n100_ver1_sub4119k''', '''SAMSUNG-SGH-N100/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_n100_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_n100_ver1'''], '''samsung_n100_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-N100/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_n105_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_n105_ver1''', '''SAMSUNG-SGH-N105''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-N105'''}) +devices.devids['''samsung_n105_ver1_sub4119k'''] = devclass(devices.devids['''samsung_n105_ver1'''], '''samsung_n105_ver1_sub4119k''', '''SAMSUNG-SGH-N105/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_n105_ver1_sub4119n'''] = devclass(devices.devids['''samsung_n105_ver1'''], '''samsung_n105_ver1_sub4119n''', '''SAMSUNG-SGH-N105/1.0 UP/4.1.19n''', False, None) +devices.devids['''sec_n171_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_n171_ver1''', '''SEC-schn171''', False, None) +devices.devids['''sec_n171_ver1_sub4122b1'''] = devclass(devices.devids['''sec_n171_ver1'''], '''sec_n171_ver1_sub4122b1''', '''SEC-schn171 UP/4.1.22b UP.Browser/4.1.22b1 UP.Browser/4.1.22b-XXXX''', False, None) +devices.devids['''sec_n181_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_n181_ver1''', '''SEC-N181''', False, None) +devices.devids['''sec_n181_ver1_sub41264'''] = devclass(devices.devids['''sec_n181_ver1'''], '''sec_n181_ver1_sub41264''', '''SEC-N181 UP.Browser/4.1.26c4''', False, None) +devices.devids['''sec_n182_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_n182_ver1''', '''SEC-N182''', False, None) +devices.devids['''sec_n182_ver1_sub41264'''] = devclass(devices.devids['''sec_n182_ver1'''], '''sec_n182_ver1_sub41264''', '''SEC-N182 UP.Browser/4.1.26c4''', False, None) +devices.devids['''samsung_n188_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_n188_ver1''', '''SAMSUNG-SGH-N188/1.0 UP/4''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-N188'''}) +devices.devids['''samsung_n188_ver1_sub4119j'''] = devclass(devices.devids['''samsung_n188_ver1'''], '''samsung_n188_ver1_sub4119j''', '''SAMSUNG-SGH-N188/1.0 UP/4.1.19j UP.Browser/4.1.19j-XXXX''', False, None) +devices.devids['''samsung_n188_ver1_sub4119k'''] = devclass(devices.devids['''samsung_n188_ver1'''], '''samsung_n188_ver1_sub4119k''', '''SAMSUNG-SGH-N188/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_n188_ver1_sub4119knobrowser'''] = devclass(devices.devids['''samsung_n188_ver1'''], '''samsung_n188_ver1_sub4119knobrowser''', '''SAMSUNG-SGH-N188/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_n200_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_n200_ver1''', '''SAMSUNG-SGH-N200''', False, None) +devices.devids['''samsung_n200_ver1_sub4119k'''] = devclass(devices.devids['''samsung_n200_ver1'''], '''samsung_n200_ver1_sub4119k''', '''SAMSUNG-SGH-N200/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_n255_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_n255_ver1''', '''SEC-schn255''', False, None) +devices.devids['''samsung_n255_ver1_sub4126l'''] = devclass(devices.devids['''samsung_n255_ver1'''], '''samsung_n255_ver1_sub4126l''', '''SEC-schn255 UP.Browser/4.1.26l''', False, None) +devices.devids['''samsung_n288_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_n288_ver1''', '''SAMSUNG-SGH-N288''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-N288'''}) +devices.devids['''samsung_n288_ver1_sub4119'''] = devclass(devices.devids['''samsung_n288_ver1'''], '''samsung_n288_ver1_sub4119''', '''SAMSUNG-SGH-N288/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_n300_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_n300_ver1''', '''SAMSUNG-SGH-N300 UP/4''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-N300'''}) +devices.devids['''samsung_n300_ver1_sub4119k'''] = devclass(devices.devids['''samsung_n300_ver1'''], '''samsung_n300_ver1_sub4119k''', '''SAMSUNG-SGH-N300 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''sec_n350_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sec_n350_ver1''', '''SEC-SGHN350/1.0 UP.Browser/5 (GUI)''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-N350'''}) +devices.devids['''sec_n350_ver1_sub501'''] = devclass(devices.devids['''sec_n350_ver1'''], '''sec_n350_ver1_sub501''', '''SEC-SGHN350/1.0 UP.Browser/5.0.1 (GUI)''', False, None) +devices.devids['''sec_n350_ver1_sub5017'''] = devclass(devices.devids['''sec_n350_ver1'''], '''sec_n350_ver1_sub5017''', '''SEC-SGHN350/1.0 UP.Browser/5.0.1.7 (GUI)''', False, None) +devices.devids['''sec_n350_ver1_sub503490'''] = devclass(devices.devids['''sec_n350_ver1'''], '''sec_n350_ver1_sub503490''', '''SEC-SGHN350/1.0 UP.Browser/5.0.3.490 (GUI)''', False, None) +devices.devids['''samsung_n400_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_n400_ver1''', '''SAMSUNG-SGH-N400 UP/4''', True, {'''brand_name''':'''Samsung''','''directdownload_support''':True,'''jpg''':True,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-N400''','''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_n400_ver1_sub4119k'''] = devclass(devices.devids['''samsung_n400_ver1'''], '''samsung_n400_ver1_sub4119k''', '''SAMSUNG-SGH-N400 UP/4.1.19k''', False, None) +devices.devids['''samsung_n400_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_n400_ver1'''], '''samsung_n400_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-N400 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_n500_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_n500_ver1''', '''SAMSUNG-SGH-N500/1.0 UP/4''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-N500'''}) +devices.devids['''samsung_n500_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_n500_ver1'''], '''samsung_n500_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-N500/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_n500_ver1_sub4119k'''] = devclass(devices.devids['''samsung_n500_ver1'''], '''samsung_n500_ver1_sub4119k''', '''SAMSUNG-SGH-N500/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_n500_ver1_sub41264'''] = devclass(devices.devids['''samsung_n500_ver1'''], '''samsung_n500_ver1_sub41264''', '''SAMSUNG-SGH-N500/1.0 UP.Browser/4.1.26c4''', False, None) +devices.devids['''samsung_n600_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_n600_ver1''', '''SAMSUNG-SGH-N600/1.0 UP/4''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-N600'''}) +devices.devids['''samsung_n600_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_n600_ver1'''], '''samsung_n600_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-N600/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_n600_ver1_sub4119k'''] = devclass(devices.devids['''samsung_n600_ver1'''], '''samsung_n600_ver1_sub4119k''', '''SAMSUNG-SGH-N600/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_n600_ver1_sub4126c4'''] = devclass(devices.devids['''samsung_n600_ver1'''], '''samsung_n600_ver1_sub4126c4''', '''SAMSUNG-SGH-N600/1.0 UP.Browser/4.1.26c4''', False, None) +devices.devids['''samsung_n620_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_n620_ver1''', '''SAMSUNG-SGH-N620/1.0 UP/4''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-N620'''}) +devices.devids['''samsung_n620_ver1_sub4119k'''] = devclass(devices.devids['''samsung_n620_ver1'''], '''samsung_n620_ver1_sub4119k''', '''SAMSUNG-SGH-N620/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_n620_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_n620_ver1'''], '''samsung_n620_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-N620/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_n620_ver1_sub4126c4'''] = devclass(devices.devids['''samsung_n620_ver1'''], '''samsung_n620_ver1_sub4126c4''', '''SAMSUNG-SGH-N620/1.0 UP.Browser/4.1.26c4''', False, None) +devices.devids['''samsung_n620_ver1_sub114119k'''] = devclass(devices.devids['''samsung_n620_ver1'''], '''samsung_n620_ver1_sub114119k''', '''SAMSUNG-SGH-N620/1.1 UP/4.1.19k''', False, None) +devices.devids['''samsung_n620e_ver1'''] = devclass(devices.devids['''samsung_n620_ver1'''], '''samsung_n620e_ver1''', '''SAMSUNG-SGH-N620E''', True, {'''model_name''':'''SGH-N620E'''}) +devices.devids['''samsung_n620e_ver1_sub4119k'''] = devclass(devices.devids['''samsung_n620e_ver1'''], '''samsung_n620e_ver1_sub4119k''', '''SAMSUNG-SGH-N620E/1.0 UP/4.1.19k''', False, None) +devices.devids['''sec_n625_ver1'''] = devclass(devices.devids['''samsung_n620_ver1'''], '''sec_n625_ver1''', '''SEC-SGHN625''', True, {'''model_name''':'''SGH-N625'''}) +devices.devids['''sec_n625_ver1_sub4126'''] = devclass(devices.devids['''sec_n625_ver1'''], '''sec_n625_ver1_sub4126''', '''SEC-SGHN625 UP.Browser/4.1.26b''', False, None) +devices.devids['''samsung_n628_ver1'''] = devclass(devices.devids['''samsung_n620_ver1'''], '''samsung_n628_ver1''', '''SAMSUNG-SGH-N628''', True, {'''model_name''':'''SGH-N628'''}) +devices.devids['''samsung_n628_ver1_sub4119'''] = devclass(devices.devids['''samsung_n628_ver1'''], '''samsung_n628_ver1_sub4119''', '''SAMSUNG-SGH-N628/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_p100_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_p100_ver1''', '''SEC-SGHP100''', True, {'''brand_name''':'''Samsung''','''directdownload_support''':True,'''max_deck_size''':53248,'''model_name''':'''SGH-P100''','''ringtone''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16}) +devices.devids['''sec_p107_ver1'''] = devclass(devices.devids['''samsung_p100_ver1'''], '''sec_p107_ver1''', '''SEC-SGHP107''', True, {'''model_name''':'''P107'''}) +devices.devids['''samsung_p108_ver1'''] = devclass(devices.devids['''samsung_p100_ver1'''], '''samsung_p108_ver1''', '''SEC-SGHP108''', True, {'''model_name''':'''SGH-P108'''}) +devices.devids['''samsung_p180_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_p180_ver1''', '''SAMSUNG-SGH-P180''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':120,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''model_name''':'''SGH-P180''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-P180-ORANGE.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_p180_ver1_suborange'''] = devclass(devices.devids['''samsung_p180_ver1'''], '''samsung_p180_ver1_suborange''', '''SAMSUNG-SGH-P180-ORANGE/P180BVGG5 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sec_p200_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sec_p200_ver1''', '''SEC-SGH-P200''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_deck_size''':8000,'''max_image_height''':200,'''max_image_width''':171,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-P200''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wifi''':True}) +devices.devids['''sec_p200_ver1_sub6233c1101'''] = devclass(devices.devids['''sec_p200_ver1'''], '''sec_p200_ver1_sub6233c1101''', '''SAMSUNG-SGH-P200-ORANGE/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''sec_p207_ver1'''] = devclass(devices.devids['''generic'''], '''sec_p207_ver1''', '''SEC-SGHP207''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''P207''','''mp3''':True,'''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/p207_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':173,'''wallpaper_preferred_width''':174,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_p207_ver1_sub11'''] = devclass(devices.devids['''sec_p207_ver1'''], '''sec_p207_ver1_sub11''', '''SEC-SGHP207, TSS/2.5, Rev1.1''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_p260_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_p260_ver1''', '''SEC-SGH-P260''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_image_height''':220,'''max_image_width''':182,'''model_name''':'''P260''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-P260-ORANGE.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wifi''':True}) +devices.devids['''samsung_p260_ver1_subbvgc3'''] = devclass(devices.devids['''samsung_p260_ver1'''], '''samsung_p260_ver1_subbvgc3''', '''SAMSUNG-SGH-P260-ORANGE/P260BVGC3 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_p400_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''samsung_p400_ver1''', '''SEC-SGHP400''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionless_service_indication''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''directdownload_support''':True,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':144,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':184320,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':288,'''mms_max_size''':51200,'''mms_max_width''':352,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''model_name''':'''SGH-P400''','''nokia_voice_call''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/p400_00.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':110,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''xhtml_support_level''':1}) +devices.devids['''samsung_p400_ver1_sub0'''] = devclass(devices.devids['''samsung_p400_ver1'''], '''samsung_p400_ver1_sub0''', '''SEC-SGHP400, SEC-SGHP400''', False, None) +devices.devids['''samsung_p400_ver1_sub25'''] = devclass(devices.devids['''samsung_p400_ver1'''], '''samsung_p400_ver1_sub25''', '''SEC-SGHP400/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_p400_ver1_sub2525'''] = devclass(devices.devids['''samsung_p400_ver1'''], '''samsung_p400_ver1_sub2525''', '''SEC-SGHP400/2.5 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_p400_ver6226'''] = devclass(devices.devids['''samsung_p400_ver1'''], '''samsung_p400_ver6226''', '''SEC-SGHP400/1.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''html_wi_oma_xhtmlmp_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':2400,'''max_image_height''':128,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':1}) +devices.devids['''samsung_p400_ver2_sub6233c1101'''] = devclass(devices.devids['''samsung_p400_ver6226'''], '''samsung_p400_ver2_sub6233c1101''', '''SAMSUNG-SGH-P400/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_p400_ver2_sub6221'''] = devclass(devices.devids['''samsung_p400_ver6226'''], '''samsung_p400_ver2_sub6221''', '''SEC-SGHP400/1.0 UP.Browser/6.2.2.1 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_p408_ver1'''] = devclass(devices.devids['''samsung_p400_ver1'''], '''samsung_p408_ver1''', '''SEC-SGHP408''', True, {'''model_name''':'''SGH-P408'''}) +devices.devids['''sec_p700_ver1'''] = devclass(devices.devids['''generic'''], '''sec_p700_ver1''', '''SEC-SGHP700''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''ems''':True,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':1400,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':102400,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''model_name''':'''SGH-P700''','''nokia_voice_call''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/p700.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sec_p716_ver1'''] = devclass(devices.devids['''generic'''], '''sec_p716_ver1''', '''SEC-SGHP716''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''connectionoriented_confirmed_service_indication''':True,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':165,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':102400,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''model_name''':'''SGH-P716''','''nokia_voice_call''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/p716_10.xml''','''wallpaper_jpg''':True,'''wallpaper_preferred_height''':174,'''wallpaper_preferred_width''':173,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1,'''xhtml_table_support''':True}) +devices.devids['''sec_p716_ver1_sub25'''] = devclass(devices.devids['''sec_p716_ver1'''], '''sec_p716_ver1_sub25''', '''SEC-SGHP716/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''sec_p777_ver1'''] = devclass(devices.devids['''generic'''], '''sec_p777_ver1''', '''SEC-SGHP777''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''P777''','''mp3''':True,'''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/p777_10.xml''','''uaprof2''':'''http://wap.samsungmobile.com/uaprof/p777_12.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_table_support''':True}) +devices.devids['''sec_p777_ver1_sub25'''] = devclass(devices.devids['''sec_p777_ver1'''], '''sec_p777_ver1_sub25''', '''SEC-SGHP777/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''sec_p777_ver1_sub20'''] = devclass(devices.devids['''sec_p777_ver1'''], '''sec_p777_ver1_sub20''', '''SEC-SGHP777, TSS/2.5, Rev 2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sec_p777_ver1_sub20nospace'''] = devclass(devices.devids['''sec_p777_ver1'''], '''sec_p777_ver1_sub20nospace''', '''SEC-SGHP777, TSS/2.5, Rev2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sec_p906_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sec_p906_ver1''', '''SEC-SGHP906''', True, {'''brand_name''':'''Samsung''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-P906''','''mp3''':True,'''streaming_video''':True}) +devices.devids['''sec_p906_sub6233c1101'''] = devclass(devices.devids['''sec_p906_ver1'''], '''sec_p906_sub6233c1101''', '''SAMSUNG-SGH-P906/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''sgh_p920_ver1'''] = devclass(devices.devids['''generic'''], '''sgh_p920_ver1''', '''SAMSUNG-SGHP920''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':320,'''max_image_width''':240,'''model_name''':'''SGH-P920''','''mp3''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''sender''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wml_1_2''':True,'''xhtml_support_level''':3}) +devices.devids['''sgh_p920_ver1_sub_120'''] = devclass(devices.devids['''sgh_p920_ver1'''], '''sgh_p920_ver1_sub_120''', '''SAMSUNG-SGH-P920/1.0 SHP/VPP/R5 NetFront/3.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sgh_p930_ver1'''] = devclass(devices.devids['''sgh_p920_ver1'''], '''sgh_p930_ver1''', '''SAMSUNG-SGH-P930/1.0''', False, {'''max_data_rate''':1800}) +devices.devids['''samsung_q105_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_q105_ver1''', '''SEC-SGHQ105''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-Q105'''}) +devices.devids['''samsung_q105_ver1_sub4124'''] = devclass(devices.devids['''samsung_q105_ver1'''], '''samsung_q105_ver1_sub4124''', '''SEC-SGHQ105/1.0 UP.Browser/4.1.24c''', False, None) +devices.devids['''samsung_q105_ver1_sub4126c4'''] = devclass(devices.devids['''samsung_q105_ver1'''], '''samsung_q105_ver1_sub4126c4''', '''SEC-SGHQ105/1.0 UP.Browser/4.1.26c4''', False, None) +devices.devids['''samsung_q200_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_q200_ver1''', '''SEC-SGHQ200''', True, {'''brand_name''':'''Samsung''','''max_image_height''':96,'''max_image_width''':90,'''model_name''':'''SGH-Q200''','''resolution_height''':128}) +devices.devids['''samsung_q200_ver1_sub4124c'''] = devclass(devices.devids['''samsung_q200_ver1'''], '''samsung_q200_ver1_sub4124c''', '''SEC-SGHQ200/1.0 UP.Browser/4.1.24c''', False, None) +devices.devids['''samsung_q200_ver1_sub4124i'''] = devclass(devices.devids['''samsung_q200_ver1'''], '''samsung_q200_ver1_sub4124i''', '''SEC-SGHQ200/1.0 UP.Browser/4.1.24i''', False, None) +devices.devids['''samsung_q200_ver1_sub41264'''] = devclass(devices.devids['''samsung_q200_ver1'''], '''samsung_q200_ver1_sub41264''', '''SEC-SGHQ200/1.0 UP.Browser/4.1.26c4''', False, None) +devices.devids['''samsung_r200_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_r200_ver1''', '''SAMSUNG-SGH-R200/1.0 UP/4''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-R200'''}) +devices.devids['''samsung_r200_ver1_sub4119k'''] = devclass(devices.devids['''samsung_r200_ver1'''], '''samsung_r200_ver1_sub4119k''', '''SAMSUNG-SGH-R200/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_r200_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_r200_ver1'''], '''samsung_r200_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-R200/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_r200s_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_r200s_ver1''', '''SAMSUNG-SGH-R200S/1.0 UP/4''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-R200S''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_r200s_ver1_sub4119k'''] = devclass(devices.devids['''samsung_r200s_ver1'''], '''samsung_r200s_ver1_sub4119k''', '''SAMSUNG-SGH-R200S/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_r200s_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_r200s_ver1'''], '''samsung_r200s_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-R200S/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_sgh_r210_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_sgh_r210_ver1''', '''SAMSUNG-SGH-R210''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-R210'''}) +devices.devids['''samsung_sgh_r210_ver1_sub4119'''] = devclass(devices.devids['''samsung_sgh_r210_ver1'''], '''samsung_sgh_r210_ver1_sub4119''', '''SAMSUNG-SGH-R210/2.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_r210s_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_r210s_ver1''', '''SAMSUNG-SGH-R210S/1.0 UP/4''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''jpg''':True,'''max_deck_size''':2984,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-R210S''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_r210s_ver1_sub4119'''] = devclass(devices.devids['''samsung_r210s_ver1'''], '''samsung_r210s_ver1_sub4119''', '''SAMSUNG-SGH-R210S/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_r210s_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_r210s_ver1'''], '''samsung_r210s_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-R210S/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_r220_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_r220_ver1''', '''SAMSUNG-SGH-R220''', True, {'''brand_name''':'''Samsung''','''columns''':12,'''max_image_height''':48,'''max_image_width''':128,'''model_name''':'''SGH-R220''','''resolution_height''':64,'''resolution_width''':128,'''rows''':4}) +devices.devids['''samsung_r220_ver1_sub4119k'''] = devclass(devices.devids['''samsung_r220_ver1'''], '''samsung_r220_ver1_sub4119k''', '''SAMSUNG-SGH-R220/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_r220_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_r220_ver1'''], '''samsung_r220_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-R220/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_r225_ver1'''] = devclass(devices.devids['''samsung_r220_ver1'''], '''samsung_r225_ver1''', '''SAMSUNG-SGH-R225m''', True, {'''max_image_height''':48,'''max_image_width''':128,'''model_name''':'''SGH-R225m'''}) +devices.devids['''samsung_s100_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''samsung_s100_ver1''', '''SEC-SGHS100''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''connectionless_service_indication''':True,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''gif''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':144,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':184320,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-S100''','''nokia_ringtone''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_df_size_limit''':30000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''sp_midi''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':15360,'''wallpaper_directdownload_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':15360,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':129,'''wallpaper_preferred_width''':128,'''wap_push_support''':True}) +devices.devids['''samsung_s100_ver1_sub10'''] = devclass(devices.devids['''samsung_s100_ver1'''], '''samsung_s100_ver1_sub10''', '''SEC-SGHS100/1.0 UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, None) +devices.devids['''samsung_s105_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_s105_ver1''', '''SEC-SGHS105''', True, {'''brand_name''':'''Samsung''','''ems''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':144,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':184320,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''model_name''':'''S105'''}) +devices.devids['''samsung_s105_ver1_sub301'''] = devclass(devices.devids['''samsung_s105_ver1'''], '''samsung_s105_ver1_sub301''', '''SEC-SGHS105 NW.Browser3.01''', False, None) +devices.devids['''sec_s108_ver1'''] = devclass(devices.devids['''samsung_s100_ver1'''], '''sec_s108_ver1''', '''SEC-SGHS108''', True, {'''model_name''':'''SGH-S108'''}) +devices.devids['''samsung_s200_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_s200_ver1''', '''SEC-SGHS200''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''connectionless_service_indication''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''gif''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':128,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':174080,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':144,'''j2me_screen_width''':128,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-S200''','''nokiaring''':True,'''nokiavcal''':True,'''nokiavcard''':True,'''operatorlogo''':True,'''picturemessage''':True,'''resolution_height''':144,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':3,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_max_height''':144,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wap_push_support''':True}) +devices.devids['''sec_s208_ver1'''] = devclass(devices.devids['''samsung_s200_ver1'''], '''sec_s208_ver1''', '''SEC-SGHS208''', True, {'''model_name''':'''SGH-S208'''}) +devices.devids['''samsung_s300_ver1'''] = devclass(devices.devids['''samsung_s100_ver1'''], '''samsung_s300_ver1''', '''SEC-SGHS300''', True, {'''j2me_canvas_height''':112,'''j2me_screen_height''':128,'''jpg''':True,'''max_deck_size''':15360,'''max_image_height''':96,'''max_image_width''':128,'''mobile_browser_version''':'''6.2''','''model_name''':'''SGH-S300''','''resolution_height''':128,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper_max_height''':110,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''xhtml_support_level''':1}) +devices.devids['''samsung_s300_ver1_sub106106'''] = devclass(devices.devids['''samsung_s300_ver1'''], '''samsung_s300_ver1_sub106106''', '''SEC-SGHS300/1.0 UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, None) +devices.devids['''samsung_s300_ver2'''] = devclass(devices.devids['''samsung_s300_ver1'''], '''samsung_s300_ver2''', '''SEC-SGHS300/1.0 UP.Browser/6.2''', False, {'''xhtml_format_as_css_property''':True,'''xhtml_marquee_as_css_property''':True}) +devices.devids['''samsung_s300_ver2_sub106201155'''] = devclass(devices.devids['''samsung_s300_ver2'''], '''samsung_s300_ver2_sub106201155''', '''SEC-SGHS300/1.0 UP.Browser/6.2.0.1.155 (GUI) MMP/1.0''', False, None) +devices.devids['''sec_s300m_ver1'''] = devclass(devices.devids['''samsung_s300_ver1'''], '''sec_s300m_ver1''', '''SEC-SGHS300M''', True, {'''max_deck_size''':102400,'''max_image_height''':96,'''max_image_width''':128,'''model_name''':'''SGH-S300M'''}) +devices.devids['''samsung_s307_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_s307_ver1''', '''SEC-SGHS307''', True, {'''brand_name''':'''Samsung''','''directdownload_support''':True,'''gif''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':112,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':184320,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_image_height''':108,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-S307''','''preferred_markup''':'''wml_1_2''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wml_1_2''':True}) +devices.devids['''sec_s308_ver1'''] = devclass(devices.devids['''samsung_s307_ver1'''], '''sec_s308_ver1''', '''SEC-SGHS308''', True, {'''model_name''':'''SGH-S308'''}) +devices.devids['''samsung_s500_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''samsung_s500_ver1''', '''SAMSUNG-SGH-S500''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':False,'''inline_support''':True,'''max_data_rate''':40,'''max_deck_size''':32768,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''SGH-S500''','''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_df_size_limit''':30000,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':8,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-S500.xml''','''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_df_size_limit''':15360,'''wallpaper_directdownload_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':15360,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':126,'''wallpaper_preferred_width''':128,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_s500_ver1_sub5051'''] = devclass(devices.devids['''samsung_s500_ver1'''], '''samsung_s500_ver1_sub5051''', '''SAMSUNG-SGH-S500/SHARK UP.Browser/5.0.5.1 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_s500_ver1_sub5042'''] = devclass(devices.devids['''samsung_s500_ver1'''], '''samsung_s500_ver1_sub5042''', '''SAMSUNG-SGH-S500/SHARK UP.Browser/5.0.4.2 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_s500_ver1_subolympic'''] = devclass(devices.devids['''samsung_s500_ver1'''], '''samsung_sgh_s500_ver1_subolympic''', '''SAMSUNG-SGH-S500-OLYMPIC2004/1.0 UP.Browser/5.0.5.1 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_spha400_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_spha400_ver1''', '''SEC-spha400 UP.Browser/4.1.22b1''', False, None) +devices.devids['''samsung_s508_ver1'''] = devclass(devices.devids['''samsung_s500_ver1'''], '''samsung_s508_ver1''', '''SAMSUNG-SGH-S508''', True, {'''model_name''':'''SGH-S508'''}) +devices.devids['''samsung_t100_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_t100_ver1''', '''SAMSUNG-SGH-T100/1.0 UP/4''', True, {'''brand_name''':'''Samsung''','''colors''':4096,'''columns''':16,'''max_deck_size''':8192,'''max_image_height''':120,'''max_image_width''':140,'''mmf''':True,'''model_name''':'''SGH-T100''','''nokia_ringtone''':True,'''resolution_height''':160,'''resolution_width''':140,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':8,'''voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True}) +devices.devids['''samsung_t100_ver1_subnover'''] = devclass(devices.devids['''samsung_t100_ver1'''], '''samsung_t100_ver1_subnover''', '''Samsung-SGH-T100''', False, None) +devices.devids['''samsung_t100_ver1_sub4119k'''] = devclass(devices.devids['''samsung_t100_ver1'''], '''samsung_t100_ver1_sub4119k''', '''SAMSUNG-SGH-T100/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_t100_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_t100_ver1'''], '''samsung_t100_ver1_sub4119kxxxx''', '''SAMSUNG-SGH-T100/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_t100_ver1_sub4119kxxxxnominus'''] = devclass(devices.devids['''samsung_t100_ver1'''], '''samsung_t100_ver1_sub4119kxxxxnominus''', '''SAMSUNG-SGHT100/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_t100_ver1_sub4126b'''] = devclass(devices.devids['''samsung_t100_ver1'''], '''samsung_t100_ver1_sub4126b''', '''SAMSUNG-SGHT100/1.0 UP.Browser/4.1.26b''', False, None) +devices.devids['''samsung_t100_ver1_sub4126c4'''] = devclass(devices.devids['''samsung_t100_ver1'''], '''samsung_t100_ver1_sub4126c4''', '''SAMSUNG-SGH-T100/1.0 UP.Browser/4.1.26c4''', False, None) +devices.devids['''samsung_t100_ver2'''] = devclass(devices.devids['''samsung_t100_ver1'''], '''samsung_t100_ver2''', '''SAMSUNG-SGH-T100/1.0 UP.Browser/5 (GUI)''', False, {'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''downloadfun_support''':True,'''empty_option_value_support''':False,'''ems''':True,'''expiration_date''':True,'''preferred_markup''':'''wml_1_3''','''ringtone''':True,'''ringtone_df_size_limit''':8192,'''utf8_support''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':1024,'''wallpaper_max_height''':64,'''wallpaper_max_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_t100_ver2_sub501_'''] = devclass(devices.devids['''samsung_t100_ver2'''], '''samsung_t100_ver2_sub501_''', '''SAMSUNG-SGH-T100/1.0 UP.Browser/5.0.1 (GUI)''', False, None) +devices.devids['''samsung_t100_ver2_sub501'''] = devclass(devices.devids['''samsung_t100_ver2'''], '''samsung_t100_ver2_sub501''', '''SAMSUNG-SGHT100/1.0 UP.Browser/5.0.1 (GUI)''', False, None) +devices.devids['''samsung_t108_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_t108_ver1''', '''SAMSUNG-SGHT108''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-T108'''}) +devices.devids['''samsung_t108_ver1_sub4119k'''] = devclass(devices.devids['''samsung_t108_ver1'''], '''samsung_t108_ver1_sub4119k''', '''SAMSUNG-SGHT108/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_t108_ver1_sub4119kxxxx'''] = devclass(devices.devids['''samsung_t108_ver1'''], '''samsung_t108_ver1_sub4119kxxxx''', '''SAMSUNG-SGHT108/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_t108_ver1_sub4119kbis'''] = devclass(devices.devids['''samsung_t108_ver1'''], '''samsung_t108_ver1_sub4119kbis''', '''SAMSUNG-SGH-T108/1.0 UP/4.1.19k''', False, None) +devices.devids['''samsung_t108_ver1_sub4119kxxxxbis'''] = devclass(devices.devids['''samsung_t108_ver1'''], '''samsung_t108_ver1_sub4119kxxxxbis''', '''SAMSUNG-SGH-T108/1.0 UP/4.1.19k UP.Browser/4.1.19k-XXXX''', False, None) +devices.devids['''samsung_sva_t108_ver1'''] = devclass(devices.devids['''samsung_t108_ver1'''], '''samsung_sva_t108_ver1''', '''SAMSUNG-Sva-T108+''', False, None) +devices.devids['''samsung_t309_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_t309_ver1''', '''SAMSUNG-SGH-T309''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':16384,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''T309''','''mp3''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''rows''':14,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_t309_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_t309_ver1'''], '''samsung_t309_ver1_sub6233c1101''', '''SAMSUNG-SGH-T309/T309UVEI1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_sgh-t319_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_sgh-t319_ver1''', '''SAMSUNG-SGH-T319''', True, {'''brand_name''':'''Samsung''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''model_name''':'''SGH-T319''','''oma_v_1_0_forwardlock''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''video''':False,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_sgh-t319_ver1_sub1'''] = devclass(devices.devids['''samsung_sgh-t319_ver1'''], '''samsung_sgh-t319_ver1_sub1''', '''SAMSUNG-SGH-T319/T319UVFD4 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101''', False, None) +devices.devids['''samsung_t400_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''samsung_t400_ver1''', '''SAMSUNG-SGH-T400''', True, {'''brand_name''':'''Samsung''','''directdownload_support''':True,'''model_name''':'''SGH-T400''','''ringtone''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True}) +devices.devids['''samsung_t400_ver1_sub504'''] = devclass(devices.devids['''samsung_t400_ver1'''], '''samsung_t400_ver1_sub504''', '''SAMSUNG-SGH-T400/1.0 UP.Browser/5.0.4 (GUI)''', False, None) +devices.devids['''samsung_t400_ver1_sub5031'''] = devclass(devices.devids['''samsung_t400_ver1'''], '''samsung_t400_ver1_sub5031''', '''SAMSUNG-SGH-T400/1.0 UP.Browser/5.0.3.1 (GUI)''', False, None) +devices.devids['''samsung_t400_ver1_sub5043'''] = devclass(devices.devids['''samsung_t400_ver1'''], '''samsung_t400_ver1_sub5043''', '''SAMSUNG-SGH-T400/1.0 UP.Browser/5.0.4.3 (GUI)''', False, None) +devices.devids['''samsung_t408_ver1'''] = devclass(devices.devids['''samsung_t400_ver1'''], '''samsung_t408_ver1''', '''SAMSUNG-SGH-T408''', True, {'''model_name''':'''SGH-T408'''}) +devices.devids['''samsung_t409_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_t409_ver1''', '''SAMSUNG-SGH-T409/T409UVGE3 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':16384,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''T409''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':14,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-T409.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_t410_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''samsung_t410_ver1''', '''SAMSUNG-SGH-T410''', True, {'''brand_name''':'''Samsung''','''colors''':4096,'''downloadfun_support''':True,'''mmf''':True,'''model_name''':'''SGH-T410''','''nokia_ringtone''':True,'''ringtone''':True,'''ringtone_df_size_limit''':8192,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':1024,'''wallpaper_max_height''':64,'''wallpaper_max_width''':128}) +devices.devids['''samsung_t410_ver1_sub504'''] = devclass(devices.devids['''samsung_t410_ver1'''], '''samsung_t410_ver1_sub504''', '''SAMSUNG-SGH-T410/1.0 UP.Browser/5.0.4 (GUI)''', False, None) +devices.devids['''samsung_t410_ver1_sub5051'''] = devclass(devices.devids['''samsung_t410_ver1'''], '''samsung_t410_ver1_sub5051''', '''SAMSUNG-SGH-T410/1.0 UP.Browser/5.0.5.1 (GUI)''', False, None) +devices.devids['''samsung_t500_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''samsung_t500_ver1''', '''SGH-T500''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''ems''':True,'''gif''':True,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-T500''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':8,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-T500.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True}) +devices.devids['''samsung_t500_ver1_subgen'''] = devclass(devices.devids['''samsung_t500_ver1'''], '''samsung_t500_ver1_subgen''', '''SAMSUNG-SGH-T500''', False, None) +devices.devids['''samsung_t500_ver1_sub5043'''] = devclass(devices.devids['''samsung_t500_ver1'''], '''samsung_t500_ver1_sub5043''', '''SAMSUNG-SGH-T500/1.0 UP.Browser/5.0.4.3 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_t500_ver1_sub5052c1100'''] = devclass(devices.devids['''samsung_t500_ver1'''], '''samsung_t500_ver1_sub5052c1100''', '''SAMSUNG-SGH-T500/1.0 UP.Browser/5.0.5.2.c.1.100 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_t509s_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_t509s_ver1''', '''SAMSUNG-SGH-T509S/T509UVFG2 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':16384,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':302080,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''T509''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':20,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-T509.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_t809_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_t809_ver1''', '''SAMSUNG-SGH-T809''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':300,'''max_image_width''':232,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''T809''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''samsung_sgh_t609_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_sgh_t609_ver1''', '''SAMSUNG-SGH-T609/T609UVFC8 Profile/MIDP-2.0 Configuration/CLDC-1.1 TSS/2.5''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10240,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':768,'''mms_max_size''':307200,'''mms_max_width''':1024,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''T609''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/t609_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_sgh_t619_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_t619_ver1''', '''SAMSUNG-SGH-T619/T619UVFG8 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':16384,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''T619''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':28,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-T619.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_t809_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_t809_ver1'''], '''samsung_t809_ver1_sub6233c1101''', '''SAMSUNG-SGH-T809/T809UVEJ9 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''sec_v100_ver1'''] = devclass(devices.devids['''generic'''], '''sec_v100_ver1''', '''SEC-SGHV100''', True, {'''brand_name''':'''Samsung''','''ems''':True,'''max_image_height''':165,'''max_image_width''':176,'''model_name''':'''SGH-V100''','''resolution_height''':220,'''resolution_width''':176,'''rows''':10}) +devices.devids['''sec_v100_ver1_subwg'''] = devclass(devices.devids['''sec_v100_ver1'''], '''sec_v100_ver1_subwg''', '''SEC-SGHV100-WG''', False, None) +devices.devids['''samsung_v200_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''samsung_v200_ver1''', '''SEC-SGHV200''', True, {'''brand_name''':'''Samsung''','''built_in_camera''':True,'''colors''':65536,'''columns''':10,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''gif''':True,'''jpg''':True,'''max_deck_size''':30720,'''max_image_height''':120,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':288,'''mms_max_size''':30720,'''mms_max_width''':352,'''mms_mmf''':True,'''model_name''':'''SGH-V200''','''nokia_ringtone''':True,'''nokia_voice_call''':True,'''preferred_markup''':'''wml_1_2''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_df_size_limit''':8192,'''ringtone_directdownload_size_limit''':8192,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/V200_00.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':1024,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':64,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_v200_ver1_sub5051'''] = devclass(devices.devids['''samsung_v200_ver1'''], '''samsung_v200_ver1_sub5051''', '''SEC-SGHV200/1.0 UP.Browser/5.0.5.1 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_v200_ver1_subwg'''] = devclass(devices.devids['''samsung_v200_ver1'''], '''samsung_v200_ver1_subwg''', '''SEC-SGHV200-WG''', False, None) +devices.devids['''samsung_v205_ver1'''] = devclass(devices.devids['''samsung_v200_ver1'''], '''samsung_v205_ver1''', '''SEC-SGHV205 NW.Browser3.01''', True, {'''columns''':14,'''mms_max_height''':160,'''mms_max_width''':128,'''model_name''':'''SGH-V205''','''rows''':7}) +devices.devids['''samsung_v206_ver1'''] = devclass(devices.devids['''samsung_v200_ver1'''], '''samsung_v206_ver1''', '''SEC-SGHV206''', True, {'''model_name''':'''SGH-V206''','''uaprof''':'''http://wap.samsungmobile.com/uaprof/V206_00.xml'''}) +devices.devids['''samsung_v208_ver1'''] = devclass(devices.devids['''samsung_v200_ver1'''], '''samsung_v208_ver1''', '''SEC-SGHV208''', True, {'''model_name''':'''SGH-V208'''}) +devices.devids['''sec_x140_ver1'''] = devclass(devices.devids['''generic'''], '''sec_x140_ver1''', '''SEC-SGHX140''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':1400,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':51200,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X140''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x140_10.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':108,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_sgh_x300_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_sgh_x300_ver1''', '''SAMSUNG-SGH-X300''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':1400,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':51200,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X300''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-X300.xml''','''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_sgh_x300_ver1_sub--30010'''] = devclass(devices.devids['''samsung_sgh_x300_ver1'''], '''samsung_sgh_x300_ver1_sub--30010''', '''SAMSUNG-SGH-X300/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sec_x339_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_x339_ver1''', '''SEC-schx339''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-X339'''}) +devices.devids['''sec_x339_ver1_sub4126'''] = devclass(devices.devids['''sec_x339_ver1'''], '''sec_x339_ver1_sub4126''', '''SEC-schx339 UP.Browser/4.1.26l''', False, None) +devices.devids['''sec_x359_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_x359_ver1''', '''SEC-schx359''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-X359'''}) +devices.devids['''sec_x359_ver1_sub4126'''] = devclass(devices.devids['''sec_x359_ver1'''], '''sec_x359_ver1_sub4126''', '''SEC-schx359 UP.Browser/4.1.26l''', False, None) +devices.devids['''sec_schx369_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec_schx369_ver1''', '''SEC-schx369''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-X369'''}) +devices.devids['''sec_schx369_ver1_sub4126'''] = devclass(devices.devids['''sec_schx369_ver1'''], '''sec_schx369_ver1_sub4126''', '''SEC-schx369 UP.Browser/4.1.26l''', False, None) +devices.devids['''sec_x430_ver1'''] = devclass(devices.devids['''generic'''], '''sec_x430_ver1''', '''SEC-SGHX430''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''connectionless_service_indication''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''gif''':True,'''html_wi_imode_compact_generic''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':143,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':184320,'''j2me_max_jar_size''':102400,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':102400,'''max_image_height''':75,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-X430''','''resolution_height''':100,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_3''':True}) +devices.devids['''sec_x450_ver1'''] = devclass(devices.devids['''generic'''], '''sec_x450_ver1''', '''SEC-SGHX450''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''directdownload_support''':True,'''ems''':True,'''gif''':True,'''imelody''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':144,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':262144,'''j2me_max_jar_size''':102400,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':51200,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''model_name''':'''SGH-X450''','''nokia_voice_call''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':30000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''rows''':6,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x450.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':15360,'''wallpaper_directdownload_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':15360,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':129,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_3''':True}) +devices.devids['''sec_x450_ver1_sub25'''] = devclass(devices.devids['''sec_x450_ver1'''], '''sec_x450_ver1_sub25''', '''SEC-SGHX450/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''sec_x458_ver1'''] = devclass(devices.devids['''sec_x450_ver1'''], '''sec_x458_ver1''', '''SEC-SGHX458''', True, {'''max_image_height''':120,'''max_image_width''':128,'''model_name''':'''SGH-X458'''}) +devices.devids['''samsung_x460_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''samsung_x460_ver1''', '''SAMSUNG-SGH-X460''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':102400,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':81920,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X460''','''oma_v_1_0_forwardlock''':False,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':16,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-X460.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_x460_ver1_sub10'''] = devclass(devices.devids['''samsung_x460_ver1'''], '''samsung_x460_ver1_sub10''', '''SAMSUNG-SGH-X460/1.0 UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x460c_ver1'''] = devclass(devices.devids['''samsung_x460_ver1'''], '''samsung_x460c_ver1''', '''SAMSUNG-SGH-X460C''', True, {'''model_name''':'''SGH-X460C'''}) +devices.devids['''samsung_x460c_ver1_sub10'''] = devclass(devices.devids['''samsung_x460c_ver1'''], '''samsung_x460c_ver1_sub10''', '''SAMSUNG-SGH-X460C/1.0 UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x461_ver1'''] = devclass(devices.devids['''samsung_x460_ver1'''], '''samsung_x461_ver1''', '''SAMSUNG-SGH-X461''', True, {'''model_name''':'''SGH-X461'''}) +devices.devids['''samsung_x461_ver1_sub10'''] = devclass(devices.devids['''samsung_x461_ver1'''], '''samsung_x461_ver1_sub10''', '''SAMSUNG-SGH-X461/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x467_ver1'''] = devclass(devices.devids['''samsung_x460_ver1'''], '''samsung_x467_ver1''', '''SAMSUNG-SGH-X467''', True, {'''model_name''':'''SGH-X467'''}) +devices.devids['''samsung_x467_ver1_sub10'''] = devclass(devices.devids['''samsung_x467_ver1'''], '''samsung_x467_ver1_sub10''', '''SAMSUNG-SGH-X467/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_x468_ver1'''] = devclass(devices.devids['''samsung_x460_ver1'''], '''samsung_x468_ver1''', '''SAMSUNG-SGH-X468''', True, {'''model_name''':'''SGH-X468'''}) +devices.devids['''samsung_sgh_x480_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_sgh_x480_ver1''', '''SAMSUNG-SGH-X480''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':False,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':102400,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''model_name''':'''SGH-X480''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':False,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':False,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''rows''':6,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-X480.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_sgh_x480_ver1_sub10'''] = devclass(devices.devids['''samsung_sgh_x480_ver1'''], '''samsung_sgh_x480_ver1_sub10''', '''SAMSUNG-SGH-X480/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_x480_ver1_subsec'''] = devclass(devices.devids['''samsung_sgh_x480_ver1'''], '''samsung_sgh_x480_ver1_subsec''', '''SEC-SGHX480''', False, None) +devices.devids['''samsung_sgh_x480c_ver1'''] = devclass(devices.devids['''samsung_sgh_x480_ver1'''], '''samsung_sgh_x480c_ver1''', '''SAMSUNG-SGH-X480C''', True, {'''j2me_midp_2_0''':True,'''model_name''':'''SGH-X480C'''}) +devices.devids['''samsung_sgh_x480c_ver1_sub10'''] = devclass(devices.devids['''samsung_sgh_x480c_ver1'''], '''samsung_sgh_x480c_ver1_sub10''', '''SAMSUNG-SGH-X480C/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_x481_ver1'''] = devclass(devices.devids['''samsung_sgh_x480_ver1'''], '''samsung_sgh_x481_ver1''', '''SAMSUNG-SGH-X481''', True, {'''model_name''':'''SGH-X481''','''preferred_markup''':'''wml_1_2'''}) +devices.devids['''samsung_sgh_x481_ver1_sub'''] = devclass(devices.devids['''samsung_sgh_x481_ver1'''], '''samsung_sgh_x481_ver1_sub''', '''SAMSUNG-SGH-X481/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_x486_ver1'''] = devclass(devices.devids['''samsung_sgh_x480c_ver1'''], '''samsung_sgh_x486_ver1''', '''SAMSUNG-SGH-X486''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''connectionless_service_indication''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-X486''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''screensaver''':True,'''sender''':True,'''sp_midi''':True,'''wallpaper''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''xhtml_support_level''':1}) +devices.devids['''samsung_sgh_x486_ver1_sub10'''] = devclass(devices.devids['''samsung_sgh_x486_ver1'''], '''samsung_sgh_x486_ver1_sub10''', '''SAMSUNG-SGH-X486/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sch_x839_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_x839_ver1''', '''SCH-X839''', False, None) +devices.devids['''sch_x839_ver1_sub6225'''] = devclass(devices.devids['''sch_x839_ver1'''], '''sch_x839_ver1_sub6225''', '''SCH-X839 UP.Browser/6.2.2.5 (GUI) MMP/2.0''', False, None) +devices.devids['''sch_x859_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_x859_ver1''', '''SCH-X859''', False, None) +devices.devids['''sch_x859_ver1_sub20'''] = devclass(devices.devids['''sch_x859_ver1'''], '''sch_x859_ver1_sub20''', '''SCH-X859 UP.Browser/6.2.2.5 (GUI) MMP/2.0''', False, None) +devices.devids['''sc01_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sc01_ver1''', '''SC01 UP''', True, {'''brand_name''':'''Samsung''','''columns''':16,'''model_name''':'''SCH-3500''','''resolution_height''':24,'''resolution_width''':96,'''rows''':4}) +devices.devids['''hdml_sc01_ver1_sub3102'''] = devclass(devices.devids['''sc01_ver1'''], '''hdml_sc01_ver1_sub3102''', '''UP.Browser/3.1.02-SC01''', False, None) +devices.devids['''sec03_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec03_ver1''', '''SEC03''', False, None) +devices.devids['''sec03_ver1_sub4122c1'''] = devclass(devices.devids['''sec03_ver1'''], '''sec03_ver1_sub4122c1''', '''SEC03 UP.Browser/4.1.22c1''', False, None) +devices.devids['''sec13_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sec13_ver1''', '''SEC13''', False, None) +devices.devids['''sec13_ver1_sub4122b'''] = devclass(devices.devids['''sec13_ver1'''], '''sec13_ver1_sub4122b''', '''SEC13/n150 UP.Browser/4.1.22b''', False, None) +devices.devids['''samsungxhtml_ver1'''] = devclass(devices.devids['''generic'''], '''samsungxhtml_ver1''', '''SAMSUNG-XHTML''', False, None) +devices.devids['''samsungxhtml_ver1_sub10'''] = devclass(devices.devids['''samsungxhtml_ver1'''], '''samsungxhtml_ver1_sub10''', '''Mozilla\SAMSUNG-XHTML 1.0''', False, None) +devices.devids['''samsung_z100_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_z100_ver1''', '''Mozilla/SMB3(Z100)/Samsung''', True, {'''amr''':True,'''ascii_support''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''built_in_camera''':True,'''colors''':65536,'''columns''':20,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''directdownload_support''':True,'''ems''':True,'''gif''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''iso8859_support''':True,'''j2me_bits_per_pixel''':18,'''j2me_canvas_height''':161,'''j2me_canvas_width''':176,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':716800,'''j2me_max_jar_size''':256000,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':177,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':5000,'''max_image_height''':148,'''max_image_width''':169,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''mms_wml''':True,'''model_name''':'''Z100''','''nokia_voice_call''':True,'''nokiaring''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':192,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':14,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z100UAProf.rdf''','''utf8_support''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':30720,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':False,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':16,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_table_support''':True}) +devices.devids['''samsung_z100_ver1_sub_bis'''] = devclass(devices.devids['''samsung_z100_ver1'''], '''samsung_z100_ver1_sub_bis''', '''Mozilla/SMB3(Z100)/Samsung, Mozilla/SMB3(Z100)/Samsung''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_z100_ver1_subnospace'''] = devclass(devices.devids['''samsung_z100_ver1'''], '''samsung_z100_ver1_subnospace''', '''Mozilla/SMB3(Z100)/Samsung,Mozilla/SMB3(Z100)/Samsung''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_z105_ver1'''] = devclass(devices.devids['''samsung_z100_ver1'''], '''samsung_z105_ver1''', '''Mozilla/SMB3(Z105)/Samsung''', True, {'''downloadfun_support''':True,'''max_data_rate''':384,'''max_deck_size''':225000,'''mms_mp3''':False,'''model_name''':'''SGH-Z105''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''ringtone_directdownload_size_limit''':102400,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_preferred_height''':153,'''screensaver_preferred_width''':176,'''streaming_3gpp''':True,'''streaming_video''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z105UAProf.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_aac''':True,'''video_df_size_limit''':153600,'''video_directdownload_size_limit''':1024000,'''video_max_frame_rate''':15,'''video_mp4''':False,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_directdownload_size_limit''':102400,'''wallpaper_preferred_height''':153,'''wallpaper_preferred_width''':176,'''xhtml_support_level''':2}) +devices.devids['''samsung_z105_ver1_sub3'''] = devclass(devices.devids['''samsung_z105_ver1'''], '''samsung_z105_ver1_sub3''', '''SMB3(Z105)/Samsung''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_z105_ver1_sub31'''] = devclass(devices.devids['''samsung_z105_ver1'''], '''samsung_z105_ver1_sub31''', '''SMB3.1(Z105)/Samsung''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_z105_ver1_sub31105'''] = devclass(devices.devids['''samsung_z105_ver1'''], '''samsung_z105_ver1_sub31105''', '''SMB3.1(Z105)Samsung''', False, None) +devices.devids['''samsung_z105_ver1_submozillasmb'''] = devclass(devices.devids['''samsung_z105_ver1'''], '''samsung_z105_ver1_submozillasmb''', '''Mozilla/SMB(Z105)/Samsung/''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_z105_ver1_submozilla'''] = devclass(devices.devids['''samsung_z105_ver1'''], '''samsung_z105_ver1_submozilla''', '''Mozilla/SMB3(Z105)/Samsung/''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_z105_ver1_subnourlcmp'''] = devclass(devices.devids['''samsung_z105_ver1'''], '''samsung_z105_ver1_subnourlcmp''', '''Mozilla/SMB3(Z105)/Samsung-NOURLCMP-NOMIME''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_z105_ver1_sub3g'''] = devclass(devices.devids['''samsung_z105_ver1'''], '''samsung_z105_ver1_sub3g''', '''Mozilla/SMB3(Z105)/Samsu3G''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_z105u_ver1'''] = devclass(devices.devids['''samsung_z105_ver1'''], '''samsung_z105u_ver1''', '''Mozilla/SMB3(Z105U)/Samsung''', True, {'''max_data_rate''':40,'''model_name''':'''SGH-Z105U''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':False,'''video_wmv''':False}) +devices.devids['''samsung_z107_ver1'''] = devclass(devices.devids['''samsung_z105_ver1'''], '''samsung_z107_ver1''', '''SGH-Z107''', True, {'''colors''':262144,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''max_data_rate''':384,'''max_deck_size''':344250,'''mms_mp3''':False,'''model_name''':'''Z107''','''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_amr''':False,'''ringtone_directdownload_size_limit''':262144,'''ringtone_mp3''':False,'''ringtone_voices''':64,'''rows''':7,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z107UAProf.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_directdownload_size_limit''':5120000,'''video_mp4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''xhtml_format_as_attribute''':True,'''xhtml_format_as_css_property''':True,'''xhtml_support_level''':1,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''samsung_z107_ver1_subsmb31'''] = devclass(devices.devids['''samsung_z107_ver1'''], '''samsung_z107_ver1_subsmb31''', '''SGH-Z107 SHP/VPP/R5 SMB3.1 SMM-MMS/1.1.0 profile/MIDP-2.0 configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_z107_ver1_subz107'''] = devclass(devices.devids['''samsung_z107_ver1'''], '''samsung_z107_ver1_subz107''', '''SGH-Z107 SHP/VPP/R5 SMB3.1 SMM-MMS/1.1.0 profile/MIDP-2.0 configuration/CLDC-1.0, SGH-Z107 SHP/VPP/R5 SMB3.1 SMM-MMS/1.1.0 profile/MIDP-2.0 configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_z107_ver1_subz107lotsofspaces'''] = devclass(devices.devids['''samsung_z107_ver1'''], '''samsung_z107_ver1_subz107lotsofspaces''', '''SGH-Z107 SHP/VPP/R5 SMM-MMS/1.1.0 profile/MDIP-2.0 configuration/CLD''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_z107_ver1_subnomime'''] = devclass(devices.devids['''samsung_z107_ver1'''], '''samsung_z107_ver1_subnomime''', '''SGH-Z107NOMIME''', False, None) +devices.devids['''samsung_z107_ver1_sub10'''] = devclass(devices.devids['''samsung_z107_ver1'''], '''samsung_z107_ver1_sub10''', '''SGH-Z107/1.0 SHP/VPP/R5 SMB3.1 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_z110_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''samsung_z110_ver1''', '''SGH-Z110''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':384,'''max_deck_size''':5000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':864,'''mms_max_size''':307200,'''mms_max_width''':1160,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''Z110''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':14,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''samsung_z110_ver1_submms110profile'''] = devclass(devices.devids['''samsung_z110_ver1'''], '''samsung_z110_ver1_submms110profile''', '''SGH-Z110 SHP/VPP/R5 SMB3.1 SMM-MMS/1.1.0profile/MIDP-2.0 configuration/CLDC-1.0''', False, {'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':10000000,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True}) +devices.devids['''samsung_z150_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''samsung_z150_ver1''', '''SAMSUNG-SGH-Z150''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''Z150''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z150UAProf2G.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':5000000,'''video_max_frame_rate''':15,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True}) +devices.devids['''samsung_z150_ver1_sub1011'''] = devclass(devices.devids['''samsung_z150_ver1'''], '''samsung_z150_ver1_sub1011''', '''SAMSUNG-SGH-Z150/1.0 SHP/VPP/R5 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z150_ver1_sub1013g'''] = devclass(devices.devids['''samsung_z150_ver1'''], '''samsung_z150_ver1_sub1013g''', '''SAMSUNG-SGH-Z150/1.0 SHP/VPP/R5 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-13G''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z220_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''samsung_z220_ver1''', '''SGH-Z220''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-Z220''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_directdownload_size_limit''':3000000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':3000000,'''screensaver_gif''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''video''':False,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':3000000,'''video_max_frame_rate''':30,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':3000000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_z230_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''samsung_z230_ver1''', '''SGH-Z230''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':384,'''max_deck_size''':5000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':864,'''mms_max_size''':307200,'''mms_max_width''':1152,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-Z230''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''rows''':16,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z230UAProf3G.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_directdownload_size_limit''':3000000,'''video_max_frame_rate''':15,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_z230_ver1_sub10shpvppr5'''] = devclass(devices.devids['''samsung_z230_ver1'''], '''samsung_z230_ver1_sub10shpvppr5''', '''SAMSUNG-SGH-Z230/1.0 SHP/VPP/R5 NetFront/3.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z300_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''samsung_z300_ver1''', '''SGH-Z300''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':384,'''max_deck_size''':5000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':864,'''mms_max_size''':307200,'''mms_max_width''':1152,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''Z300''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z300UAProf.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':174,'''wallpaper_preferred_width''':173}) +devices.devids['''samsung_z300_shp_ver1'''] = devclass(devices.devids['''samsung_z300_ver1'''], '''samsung_z300_shp_ver1''', '''SGH-Z300 SHP''', False, None) +devices.devids['''samsung_z300_ver1_subr5'''] = devclass(devices.devids['''samsung_z300_ver1'''], '''samsung_z300_ver1_subr5''', '''SGH-Z300 SHP/VPP/R5 SMB3.1 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z300_ver1_sub10r5smb31'''] = devclass(devices.devids['''samsung_z300_ver1'''], '''samsung_z300_ver1_sub10r5smb31''', '''SGH-Z300/1.0 SHP/VPP/R5 SMB3.1 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z308_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''samsung_z308_ver1''', '''SGH-Z308''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':20,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':864,'''mms_max_size''':307200,'''mms_max_width''':1152,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-Z308''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':16,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z308UAProf.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''sgh_z310_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sgh_z310_ver1''', '''SAMSUNG-SGH-Z310''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''Z310''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z310UAProf3G.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''xhtml_support_level''':3}) +devices.devids['''sgh_z310_ver1_sub10'''] = devclass(devices.devids['''sgh_z310_ver1'''], '''sgh_z310_ver1_sub10''', '''SAMSUNG-SGH-Z310/1.0 SHP/VPP/R5 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z360_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''samsung_z360_ver1''', '''SAMSUNG-SGH-Z360''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-Z360''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''smf''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_z360_ver1_sub10shpvppr5'''] = devclass(devices.devids['''samsung_z360_ver1'''], '''samsung_z360_ver1_sub10shpvppr5''', '''SAMSUNG-SGH-Z360/1.0 SHP/VPP/R5 NetFront/3.2 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_z500_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''samsung_z500_ver1''', '''SGH-Z500''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':280000,'''columns''':20,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_deck_size''':4194304,'''max_image_height''':165,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':300000,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''model_name''':'''Z500''','''oma_support''':True,'''oma_v_1_0_combined_delivery''':False,'''oma_v_1_0_separate_delivery''':False,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':16,'''sender''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z500UAProf2G.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_z500_ver1_subvodafone'''] = devclass(devices.devids['''samsung_z500_ver1'''], '''samsung_z500_ver1_subvodafone''', '''SGH-Z500SHP/VPP/R5''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z500_ver1_subsmb31'''] = devclass(devices.devids['''samsung_z500_ver1'''], '''samsung_z500_ver1_subsmb31''', '''SGH-Z500 SHP/VPP/R5 SMB3.1 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z500_ver1_subnocldc'''] = devclass(devices.devids['''samsung_z500_ver1'''], '''samsung_z500_ver1_subnocldc''', '''SGH-Z500 SHP/VPP/R5 SMB3.1 SMM-MMS/1.2.0 profile/MIDP-2.0''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z500_ver1_sub10'''] = devclass(devices.devids['''samsung_z500_ver1'''], '''samsung_z500_ver1_sub10''', '''SGH-Z500/1.0 SHP/VPP/R5 SMB3.1 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z500_ver1_sub10r5120'''] = devclass(devices.devids['''samsung_z500_ver1'''], '''samsung_z500_ver1_sub10r5120''', '''SAMSUNG-SGH-Z500/1.0 SHP/VPP/R5 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_zm60_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_zm60_ver1''', '''SGH-ZM60''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':220,'''max_image_width''':176,'''model_name''':'''SGH-ZM60''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''video''':False,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wml_1_2''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_zm60_ver1_subr5'''] = devclass(devices.devids['''samsung_zm60_ver1'''], '''samsung_zm60_ver1_subr5''', '''SGH-ZM60 SHP/VPP/R5 SMB3.1 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_z540_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''samsung_z540_ver1''', '''SGH-Z540''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':20,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':864,'''mms_max_size''':300000,'''mms_max_width''':1150,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''Z540''','''mp3''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':16,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z540UAProf2G.rdf''','''uaprof2''':'''http://wap.samsungmobile.com/uaprof/Z540UAProf3G.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_frame_rate''':15,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''samsung_z540_ver1_subvodafone'''] = devclass(devices.devids['''samsung_z540_ver1'''], '''samsung_z540_ver1_subvodafone''', '''SAMSUNG-SGH-Z540''', False, None) +devices.devids['''samsung_z560_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''samsung_z560_ver1''', '''SGH-Z560''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':20,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_deck_size''':1048576,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':864,'''mms_max_size''':300000,'''mms_max_width''':1150,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-Z560''','''mp3''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':16,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z560UAProf3G.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_frame_rate''':15,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''samsung_z560_ver1_sub'''] = devclass(devices.devids['''samsung_z560_ver1'''], '''samsung_z560_ver1_sub''', '''SAMSUNG-SGH-Z560''', False, None) +devices.devids['''samsung_z560_ver1_sub10shpvppr5'''] = devclass(devices.devids['''samsung_z560_ver1'''], '''samsung_z560_ver1_sub10shpvppr5''', '''SAMSUNG-SGH-Z560/1.0 SHP/VPP/R5 NetFront/3.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z560_vodafone_ver1'''] = devclass(devices.devids['''samsung_z560_ver1'''], '''samsung_z560_vodafone_ver1''', '''SAMSUNG-SGH-Z560-Vodafone''', True, {'''model_name''':'''Z560 Vodafone''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''samsung_z560_vodafone_sub10r5331202011'''] = devclass(devices.devids['''samsung_z560_vodafone_ver1'''], '''samsung_z560_vodafone_sub10r5331202011''', '''SAMSUNG-SGH-Z560-Vodafone/1.0 SHP/VPP/R5 NetFront/3.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z600_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_z600_ver1''', '''SGH-Z600''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_data_rate''':384,'''max_image_height''':208,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-Z600''','''mp3''':True,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':208,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_wbmp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_qcif''':True,'''streaming_video_sqcif''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_z800_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_z800_ver1''', '''SGH-Z800''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-Z800'''}) +devices.devids['''generic_gradiente'''] = devclass(devices.devids['''generic'''], '''generic_gradiente''', '''Gradiente''', False, {'''brand_name''':'''Gradiente'''}) +devices.devids['''gradiente_concept'''] = devclass(devices.devids['''generic_gradiente'''], '''gradiente_concept''', '''Gradiente Concept''', False, {'''colors''':256,'''max_image_height''':80,'''max_image_width''':101,'''model_name''':'''Concept GX2''','''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':8,'''screensaver''':True,'''screensaver_df_size_limit''':245760,'''wallpaper''':True,'''wallpaper_df_size_limit''':245760}) +devices.devids['''gradiente_gc300'''] = devclass(devices.devids['''generic_gradiente'''], '''gradiente_gc300''', '''Gradiente GC-300''', False, {'''colors''':65536,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''GC-300''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''sender''':True,'''wallpaper''':True,'''wallpaper_df_size_limit''':286720}) +devices.devids['''gradiente_gc370_ver1'''] = devclass(devices.devids['''generic_gradiente'''], '''gradiente_gc370_ver1''', '''Gradiente GC-370''', True, {'''amr''':True,'''colors''':65536,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''GC-370''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''gradiente_gf600'''] = devclass(devices.devids['''generic_gradiente'''], '''gradiente_gf600''', '''Gradiente GF-600''', False, {'''colors''':65536,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''GF-600''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_df_size_limit''':286720,'''sender''':True,'''wallpaper''':True,'''wallpaper_df_size_limit''':286720}) +devices.devids['''gradiente_gf760'''] = devclass(devices.devids['''generic_gradiente'''], '''gradiente_gf760''', '''Gradiente GF-760''', False, {'''colors''':262000,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''GF-760''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''sender''':True,'''wallpaper''':True}) +devices.devids['''gradiente_gf760_subobigo'''] = devclass(devices.devids['''gradiente_gf760'''], '''gradiente_gf760_subobigo''', '''Gradiente-GF760 OBIGO''', False, None) +devices.devids['''gradiente_gf910'''] = devclass(devices.devids['''generic_gradiente'''], '''gradiente_gf910''', '''Gradiente GF-910''', False, {'''colors''':262000,'''ems''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''GF-910''','''mp3''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver''':True,'''sender''':True,'''wallpaper''':True}) +devices.devids['''gradiente_gf930_ver1'''] = devclass(devices.devids['''generic_gradiente'''], '''gradiente_gf930_ver1''', '''Gradiente GF-930''', True, {'''colors''':262144,'''imelody''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''GF-930''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wav''':True}) +devices.devids['''gradiente_gf950'''] = devclass(devices.devids['''generic_gradiente'''], '''gradiente_gf950''', '''Gradiente GF-950''', True, {'''colors''':262000,'''ems''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''GF-950''','''mp3''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''sender''':True,'''video''':True,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''gradiente_gf970_ver1'''] = devclass(devices.devids['''gradiente_gf950'''], '''gradiente_gf970_ver1''', '''Gradiente GF-970''', True, {'''colors''':262000,'''ems''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''GF-970''','''mp3''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver''':True,'''sender''':True,'''video''':True,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True}) +devices.devids['''gradiente_gf970_ver1sub1'''] = devclass(devices.devids['''gradiente_gf970_ver1'''], '''gradiente_gf970_ver1sub1''', '''GF970/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', False, None) +devices.devids['''gradiente_gv230'''] = devclass(devices.devids['''generic_gradiente'''], '''gradiente_gv230''', '''Gradiente GV-230''', False, {'''colors''':4096,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''GV-230''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_wav''':True,'''wallpaper''':True}) +devices.devids['''gradiente_gv690'''] = devclass(devices.devids['''generic_gradiente'''], '''gradiente_gv690''', '''Gradiente GV-690''', False, {'''colors''':4096,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''GV-690''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_wav''':True,'''screensaver''':True,'''wallpaper''':True}) +devices.devids['''gradiente_vibe'''] = devclass(devices.devids['''generic_gradiente'''], '''gradiente_vibe''', '''Gradiente Vibe''', False, {'''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''Vibe''','''mp3''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver''':True,'''sender''':True,'''wallpaper''':True}) +devices.devids['''dmobo_m900_ver1'''] = devclass(devices.devids['''generic'''], '''dmobo_m900_ver1''', '''Dmobo M900''', True, {'''brand_name''':'''Dmobo''','''colors''':262144,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''M900''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''dopod_595_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''dopod_595_ver1''', '''Dopod 595''', True, {'''brand_name''':'''Dopod''','''colors''':65536,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':595,'''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''grundig_m131_ver1'''] = devclass(devices.devids['''generic'''], '''grundig_m131_ver1''', '''GRUNDIG M131''', True, {'''brand_name''':'''Grundig''','''colors''':65536,'''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''M131''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''grundig_m131_ver1_sub85108709'''] = devclass(devices.devids['''grundig_m131_ver1'''], '''grundig_m131_ver1_sub85108709''', '''GRUNDIG M131/85108709 Browser/1.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''grundig_gr660_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''grundig_gr660_ver1''', '''GRUNDIG GR660''', True, {'''brand_name''':'''Grundig''','''colors''':65536,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':640,'''max_image_width''':480,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''GR660''','''mp3''':True,'''resolution_height''':640,'''resolution_width''':480,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''grundig_gr660_ver1_sub'''] = devclass(devices.devids['''grundig_gr660_ver1'''], '''grundig_gr660_ver1_sub''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Grundig GR660)''', False, None) +devices.devids['''grundig_gr660_sub2225102402011401'''] = devclass(devices.devids['''grundig_gr660_ver1'''], '''grundig_gr660_sub2225102402011401''', '''Grundig GR660/2.22.5.102 Mozilla/4.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''grundig_gr980_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''grundig_gr980_ver1''', '''GRUNDIG GR980''', True, {'''brand_name''':'''Grundig''','''colors''':65536,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':640,'''max_image_width''':480,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''GR980''','''mp3''':True,'''resolution_height''':640,'''resolution_width''':480,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''grundig_gr980_ver1_sub'''] = devclass(devices.devids['''grundig_gr980_ver1'''], '''grundig_gr980_ver1_sub''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Grundig GR980)''', False, None) +devices.devids['''grundig_gr980_sub130152'''] = devclass(devices.devids['''grundig_gr980_ver1'''], '''grundig_gr980_sub130152''', '''Grundig GR980/1.30.152 Mozilla/4.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 (compatible; MSIE 4.01; Windows CE; PPC; 640X480)''', False, None) +devices.devids['''alcatel_generic_v4'''] = devclass(devices.devids['''uptext_generic'''], '''alcatel_generic_v4''', '''Alcatel UP/4''', False, {'''brand_name''':'''Alcatel''','''max_deck_size''':1800,'''resolution_height''':49,'''resolution_width''':96,'''rows''':5,'''wta_voice_call''':True}) +devices.devids['''alcatel_generic_v5'''] = devclass(devices.devids['''upgui_generic'''], '''alcatel_generic_v5''', '''Alcatel UP/5''', False, {'''brand_name''':'''Alcatel''','''colors''':16,'''greyscale''':True,'''imelody''':True,'''iso8859_support''':True,'''max_deck_size''':6656,'''max_image_height''':60,'''max_image_width''':89,'''resolution_height''':65,'''resolution_width''':96,'''rows''':6,'''wta_voice_call''':True}) +devices.devids['''alcatel_generic_v6'''] = devclass(devices.devids['''opwv_v62_generic'''], '''alcatel_generic_v6''', '''Alcatel UP/6.2''', False, {'''bmp''':True,'''brand_name''':'''Alcatel''','''colors''':4096,'''columns''':13,'''ems''':True,'''ems_imelody''':True,'''ems_variablesizedpictures''':True,'''imelody''':True,'''max_deck_size''':6656,'''max_image_height''':121,'''max_image_width''':121,'''max_object_size''':122880,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':11,'''sender''':True,'''sp_midi''':True,'''voices''':16}) +devices.devids['''alcatel_be3_ver1'''] = devclass(devices.devids['''alcatel_generic_v4'''], '''alcatel_be3_ver1''', '''Alcatel-BE3/1.0 UP/4''', True, {'''model_name''':'''One Touch DB@'''}) +devices.devids['''alcatel_be3_ver1_sub406c'''] = devclass(devices.devids['''alcatel_be3_ver1'''], '''alcatel_be3_ver1_sub406c''', '''Alcatel-BE3/1.0 UP/4.0.6c''', False, None) +devices.devids['''alcatel_be3_ver1_sub418dxxxx'''] = devclass(devices.devids['''alcatel_be3_ver1'''], '''alcatel_be3_ver1_sub418dxxxx''', '''Alcatel-BE3/1.0 UP/4.1.8d UP.Browser/4.1.8d-XXXX''', False, None) +devices.devids['''alcatel_ot153_ver1'''] = devclass(devices.devids['''generic'''], '''alcatel_ot153_ver1''', '''Alcatel-OT153''', True, {'''brand_name''':'''Alcatel''','''max_deck_size''':10000,'''max_image_height''':64,'''max_image_width''':112,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''One Touch 153''','''resolution_height''':64,'''resolution_width''':112,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16}) +devices.devids['''alcatel_ot156_ver1'''] = devclass(devices.devids['''generic'''], '''alcatel_ot156_ver1''', '''ALCATEL-OH1''', True, {'''brand_name''':'''Alcatel''','''colors''':4096,'''gif''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':80,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''One Touch 156''','''oma_v_1_0_forwardlock''':True,'''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_wbmp''':True,'''preferred_markup''':'''wml_1_2''','''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''voices''':16,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101,'''wallpaper_wbmp''':True,'''wml_1_2''':True}) +devices.devids['''alcatel_ot156_subot15'''] = devclass(devices.devids['''alcatel_ot156_ver1'''], '''alcatel_ot156_subot15''', '''Alcatel-OT156''', False, None) +devices.devids['''alcatel_ot257_ver1'''] = devclass(devices.devids['''generic'''], '''alcatel_ot257_ver1''', '''Alcatel-OT257''', True, {'''amr''':True,'''brand_name''':'''Alcatel''','''colors''':4096,'''max_image_height''':60,'''max_image_width''':102,'''model_name''':'''One Touch 257''','''mp3''':True,'''resolution_height''':80,'''resolution_width''':102,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_preferred_height''':80,'''screensaver_preferred_width''':101,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101}) +devices.devids['''alcatel_be4_ver1'''] = devclass(devices.devids['''alcatel_generic_v4'''], '''alcatel_be4_ver1''', '''Alcatel-BE4/1''', True, {'''columns''':15,'''model_name''':'''One Touch 301''','''proportional_font''':False,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_gif''':True}) +devices.devids['''alcatel_be4_ver1_sub4116mxxxx'''] = devclass(devices.devids['''alcatel_be4_ver1'''], '''alcatel_be4_ver1_sub4116mxxxx''', '''Alcatel-BE4/1.0 UP/4.1.16m UP.Browser/4.1.16m-XXXX''', False, None) +devices.devids['''alcatel_be4_ver2'''] = devclass(devices.devids['''alcatel_be4_ver1'''], '''alcatel_be4_ver2''', '''Alcatel-BE4/2''', False, None) +devices.devids['''alcatel_be4_ver2_sub4119exxxx'''] = devclass(devices.devids['''alcatel_be4_ver2'''], '''alcatel_be4_ver2_sub4119exxxx''', '''Alcatel-BE4/2.0 UP/4.1.19e UP.Browser/4.1.19e-XXXX''', False, None) +devices.devids['''alcatel_be5_ver1'''] = devclass(devices.devids['''alcatel_generic_v4'''], '''alcatel_be5_ver1''', '''Alcatel-BE5/1''', True, {'''max_image_height''':48,'''model_name''':'''One Touch 501/701''','''resolution_height''':64,'''rows''':6}) +devices.devids['''alcatel_be5_ver1_sub4119e'''] = devclass(devices.devids['''alcatel_be5_ver1'''], '''alcatel_be5_ver1_sub4119e''', '''Alcatel-BE5/1.0 UP/4.1.19e''', False, None) +devices.devids['''alcatel_be5_ver1_sub4119exxxx'''] = devclass(devices.devids['''alcatel_be5_ver1'''], '''alcatel_be5_ver1_sub4119exxxx''', '''Alcatel-BE5/1.0 UP/4.1.19e UP.Browser/4.1.19e-XXXX''', False, None) +devices.devids['''alcatel_be5_ver1_sub4119e15'''] = devclass(devices.devids['''alcatel_be5_ver1'''], '''alcatel_be5_ver1_sub4119e15''', '''Alcatel-BE5/1.5 UP/4.1.19e''', False, None) +devices.devids['''alcatel_be5_ver1_sub4119xxxx'''] = devclass(devices.devids['''alcatel_be5_ver1'''], '''alcatel_be5_ver1_sub4119xxxx''', '''Alcatel-BE5/1.5 UP/4.1.19e UP.Browser/4.1.19e-XXXX''', False, None) +devices.devids['''alcatel_be5_ver2'''] = devclass(devices.devids['''alcatel_be5_ver1'''], '''alcatel_be5_ver2''', '''Alcatel-BE5/2''', False, None) +devices.devids['''alcatel_be5_ver2_sub4119exxxx'''] = devclass(devices.devids['''alcatel_be5_ver2'''], '''alcatel_be5_ver2_sub4119exxxx''', '''Alcatel-BE5/2.0 UP/4.1.19e UP.Browser/4.1.19e-XXXX''', False, None) +devices.devids['''alcatel_bf3_ver1'''] = devclass(devices.devids['''alcatel_generic_v4'''], '''alcatel_bf3_ver1''', '''Alcatel-BF3''', True, {'''max_deck_size''':2000,'''max_image_height''':48,'''model_name''':'''One Touch 311''','''resolution_height''':65,'''rows''':6}) +devices.devids['''alcatel_bf3_ver1_sub4123a'''] = devclass(devices.devids['''alcatel_bf3_ver1'''], '''alcatel_bf3_ver1_sub4123a''', '''Alcatel-BF3/1.0 UP.Browser/4.1.23a''', False, None) +devices.devids['''alcatel_ot_c630_ver1'''] = devclass(devices.devids['''alcatel_generic_v6'''], '''alcatel_ot_c630_ver1''', '''Alcatel-OT-C630/1.0 ObigoInternetBrowser/Q03C''', True, {'''amr''':True,'''ascii_support''':True,'''brand_name''':'''Alcatel''','''colors''':65536,'''columns''':16,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''https_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':130200,'''max_image_height''':150,'''max_image_width''':123,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_png''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''One Touch C630''','''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''picture_max_height''':160,'''picture_max_width''':128,'''picture_preferred_height''':160,'''picture_preferred_width''':128,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':8,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''uaprof''':'''http://www-ccpp.tcl-ta.com/odm/ALCATEL_D6.rdf''','''utf8_support''':True,'''video_max_height''':160,'''video_max_width''':128,'''video_preferred_height''':160,'''video_preferred_width''':128,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_table_support''':True}) +devices.devids['''alcatel_bf4_ver1'''] = devclass(devices.devids['''alcatel_generic_v4'''], '''alcatel_bf4_ver1''', '''Alcatel-BF4/1.0 UP.Browser/4''', True, {'''ems''':True,'''max_data_rate''':9,'''max_deck_size''':8000,'''max_image_height''':48,'''model_name''':'''One Touch 511''','''resolution_height''':65,'''ringtone_midi_monophonic''':True,'''rows''':6,'''uaprof''':'''http://www-ccpp-mpd.alcatel.com/files/ALCATEL-BF4_2.0.rdf''','''wallpaper''':True,'''wallpaper_preferred_height''':65,'''wallpaper_preferred_width''':96}) +devices.devids['''alcatel_bf4_ver1_sub4123a'''] = devclass(devices.devids['''alcatel_bf4_ver1'''], '''alcatel_bf4_ver1_sub4123a''', '''Alcatel-BF4/1.0 UP.Browser/4.1.23a''', False, {'''max_data_rate''':9}) +devices.devids['''alcatel_bf4_ver2'''] = devclass(devices.devids['''alcatel_generic_v5'''], '''alcatel_bf4_ver2''', '''Alcatel-BF4/2.0 UP.Browser/5''', True, {'''downloadfun_support''':True,'''ems''':True,'''max_data_rate''':9,'''max_deck_size''':8000,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''One Touch 512''','''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''uaprof''':'''http://www-ccpp-mpd.alcatel.com/files/ALCATEL-BF4_2.0.rdf''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':4,'''wallpaper_gif''':True,'''wallpaper_max_height''':60,'''wallpaper_max_width''':89,'''wallpaper_wbmp''':True}) +devices.devids['''alcatel_bf4_ver2_sub501101'''] = devclass(devices.devids['''alcatel_bf4_ver2'''], '''alcatel_bf4_ver2_sub501101''', '''Alcatel-BF4/2.0 UP.Browser/5.0.1.10.1''', False, {'''max_data_rate''':9}) +devices.devids['''alcatel_bf4_ver2_sub501101100'''] = devclass(devices.devids['''alcatel_bf4_ver2'''], '''alcatel_bf4_ver2_sub501101100''', '''Alcatel-BF4/2.0 UP.Browser/5.0.1.10.1.100''', False, {'''max_data_rate''':9}) +devices.devids['''alcatel_bf5_ver1'''] = devclass(devices.devids['''alcatel_generic_v5'''], '''alcatel_bf5_ver1''', '''Alcatel-BF5''', True, {'''ems''':True,'''max_deck_size''':8000,'''max_image_height''':75,'''max_image_width''':150,'''model_name''':'''One Touch 715''','''resolution_height''':100,'''resolution_width''':150,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':9,'''uaprof''':'''http://www-ccpp-mpd.alcatel.com/files/ALCATEL-BF5_1.0.rdf''','''wallpaper_gif''':True}) +devices.devids['''alcatel_bf5_ver1_sub503'''] = devclass(devices.devids['''alcatel_bf5_ver1'''], '''alcatel_bf5_ver1_sub503''', '''Alcatel-BF5/1.0 UP.Browser/5.0.3''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_bf5_ver1_sub5031'''] = devclass(devices.devids['''alcatel_bf5_ver1'''], '''alcatel_bf5_ver1_sub5031''', '''Alcatel-BF5/1.0 UP.Browser/5.0.3.1''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_bf5_ver1_sub50312'''] = devclass(devices.devids['''alcatel_bf5_ver1'''], '''alcatel_bf5_ver1_sub50312''', '''Alcatel-BF5/1.0 UP.Browser/5.0.3.1.2''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_bg3_ver1'''] = devclass(devices.devids['''alcatel_generic_v5'''], '''alcatel_bg3_ver1''', '''Alcatel-BG3''', True, {'''colors''':4096,'''ems''':True,'''ems_imelody''':True,'''ems_variablesizedpictures''':True,'''gif''':True,'''max_deck_size''':8000,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''One Touch 331/525/526/531''','''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''uaprof''':'''http://www-ccpp-mpd.alcatel.com/files/ALCATEL-BG3_1.0.rdf''','''voices''':16,'''wallpaper_colors''':4}) +devices.devids['''alcatel_bg3_ver1_sub50312'''] = devclass(devices.devids['''alcatel_bg3_ver1'''], '''alcatel_bg3_ver1_sub50312''', '''Alcatel-BG3/1.0 UP.Browser/5.0.3.1.2''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_ot531b_ver1'''] = devclass(devices.devids['''alcatel_bg3_ver1'''], '''alcatel_ot531b_ver1''', '''Mitsu/1.2.B (OT531)''', True, {'''jpg''':True,'''max_data_rate''':40,'''max_image_height''':128,'''max_image_width''':127,'''model_name''':'''One Touch 531''','''png''':True,'''resolution_height''':141,'''resolution_width''':128}) +devices.devids['''alcatel_ot531b_ver1_sub11'''] = devclass(devices.devids['''alcatel_ot531b_ver1'''], '''alcatel_ot531b_ver1_sub11''', '''Mitsu/1.2.B (OT531) MMP/1.1''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_ot531b_ver1_sub1112c'''] = devclass(devices.devids['''alcatel_ot531b_ver1'''], '''alcatel_ot531b_ver1_sub1112c''', '''Mitsu/1.2.B (OT531) MMP/1.1 Mitsu/1.2.C (OT531) MMP/1.1''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_ot531b_ver1_sub1112caot'''] = devclass(devices.devids['''alcatel_ot531b_ver1'''], '''alcatel_ot531b_ver1_sub1112caot''', '''Mitsu/1.2.B (OT531) MMP/1.1 Mitsu/1.2.C (OT531) MMP/1.1 Alcatel ONE TOUCH''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_ot531b_ver1_sub11wg'''] = devclass(devices.devids['''alcatel_ot531b_ver1'''], '''alcatel_ot531b_ver1_sub11wg''', '''Mitsu/1.2.B (OT531) MMP/1.1-WG''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_ot531c_ver1'''] = devclass(devices.devids['''alcatel_ot531b_ver1'''], '''alcatel_ot531c_ver1''', '''Mitsu/1.2.C (OT531) MMP/1.1''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_ot531c_ver1_sub11aot'''] = devclass(devices.devids['''alcatel_ot531c_ver1'''], '''alcatel_ot531c_ver1_sub11aot''', '''Mitsu/1.2.C (OT531) MMP/1.1 Alcatel ONE TOUCH''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_bg3c_ver1'''] = devclass(devices.devids['''alcatel_generic_v5'''], '''alcatel_bg3c_ver1''', '''Alcatel-BG3-color''', True, {'''ems''':True,'''ems_imelody''':True,'''ems_variablesizedpictures''':True,'''max_deck_size''':8000,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''One Touch 332''','''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''uaprof''':'''http://www-ccpp-mpd.alcatel.com/files/ALCATEL-BG3-color_1.0.rdf''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''alcatel_bg3c_ver1_sub503311'''] = devclass(devices.devids['''alcatel_bg3c_ver1'''], '''alcatel_bg3c_ver1_sub503311''', '''Alcatel-BG3-color/1.0 UP.Browser/5.0.3.3.11''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_bh4_ver1'''] = devclass(devices.devids['''alcatel_generic_v6'''], '''alcatel_bh4_ver1''', '''Alcatel-BH4/1.0 UP.Browser/6.2''', True, {'''amr''':True,'''downloadfun_support''':True,'''max_data_rate''':40,'''max_deck_size''':131072,'''max_image_width''':120,'''mms_spmidi''':True,'''model_name''':'''One Touch 535''','''nokia_voice_call''':True,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':24,'''uaprof''':'''http://www-ccpp-mpd.alcatel.com/files/ALCATEL-BH4_1.0.rdf''','''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''xhtml_support_level''':2}) +devices.devids['''alcatel_bh4_ver1_sub61061'''] = devclass(devices.devids['''alcatel_bh4_ver1'''], '''alcatel_bh4_ver1_sub61061''', '''Alcatel-BH4/1.0 UP.Browser/6.1.0.6.1 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_bh4_ver1_sub1'''] = devclass(devices.devids['''alcatel_bh4_ver1'''], '''alcatel_bh4_ver1_sub1''', '''Alcatel-BH4/1.0 UP.Browser/6.2.ALCATEL MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_ot711_ver1'''] = devclass(devices.devids['''generic'''], '''alcatel_ot711_ver1''', '''Alcatel-OT711''', True, {'''brand_name''':'''Alcatel''','''model_name''':'''One Touch 711'''}) +devices.devids['''alcatel_bh4r_ver1'''] = devclass(devices.devids['''alcatel_generic_v6'''], '''alcatel_bh4r_ver1''', '''Alcatel-BH4R/''', True, {'''amr''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':12,'''j2me_bmp''':True,'''j2me_cldc_1_0''':True,'''j2me_gif''':True,'''j2me_imelody''':True,'''j2me_max_jar_size''':131072,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''j2me_storage_size''':1572864,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''mms_max_size''':102400,'''mms_spmidi''':True,'''model_name''':'''One Touch 735i''','''oma_v_1_0_combined_delivery''':False,'''oma_v_1_0_separate_delivery''':False,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':24,'''uaprof''':'''http://www-ccpp-mpd.alcatel.com/files/ALCATEL-BH4R_1.0.rdf''','''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''alcatel_bh4r_ver1_sub62'''] = devclass(devices.devids['''alcatel_bh4r_ver1'''], '''alcatel_bh4r_ver1_sub62''', '''Alcatel-BH4R/1.0 UP.Browser/6.2.ALCATEL MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_ot_c550_ver1'''] = devclass(devices.devids['''generic'''], '''alcatel_ot_c550_ver1''', '''Alcatel-OT-C550''', True, {'''brand_name''':'''Alcatel''','''colors''':65536,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':10000,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''One Touch C550''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''sp_midi''':True,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wml_1_2''':True,'''xhtml_support_level''':1}) +devices.devids['''alcatel_ot_c550_sub10qo3c'''] = devclass(devices.devids['''alcatel_ot_c550_ver1'''], '''alcatel_ot_c550_sub10qo3c''', '''Alcatel-OT-C550/1.0 ObigoInternetBrowser/Q03C''', False, None) +devices.devids['''alcatel_ot_c552_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''alcatel_ot_c552_ver1''', '''Alcatel-OT-C552''', True, {'''brand_name''':'''Alcatel''','''colors''':65536,'''directdownload_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':140,'''max_image_width''':128,'''model_name''':'''One Touch C552''','''resolution_height''':160,'''resolution_width''':128,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''alcatel_ot_c552_ver1_sub71'''] = devclass(devices.devids['''alcatel_ot_c552_ver1'''], '''alcatel_ot_c552_ver1_sub71''', '''Alcatel-OT-C552/1.0 UP.Browser/7.1 (GUI) MMP/2.0''', False, None) +devices.devids['''alcatel_ot_c552_ver1_sub71midp20'''] = devclass(devices.devids['''alcatel_ot_c552_ver1'''], '''alcatel_ot_c552_ver1_sub71midp20''', '''Alcatel-OT-C552/1.0 UP.Browser/7.1 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''alcatel_ot_c552a_ver1'''] = devclass(devices.devids['''alcatel_ot_c552_ver1'''], '''alcatel_ot_c552a_ver1''', '''Alcatel-OT-C552a''', False, {'''model_name''':'''One Touch C552A'''}) +devices.devids['''alcatel_ot_c552a_ver1_sub20'''] = devclass(devices.devids['''alcatel_ot_c552a_ver1'''], '''alcatel_ot_c552a_ver1_sub20''', '''Alcatel-OT-C552a/1.0 UP.Browser/7.1 (GUI) MMP/2.0''', False, None) +devices.devids['''alcatel_ot_c552a_ver1_sub7101105'''] = devclass(devices.devids['''alcatel_ot_c552a_ver1'''], '''alcatel_ot_c552a_ver1_sub7101105''', '''Alcatel-OT-C552a/1.0 UP.Browser/7.1.0.i.1.105 (GUI) MMP/2.0''', False, None) +devices.devids['''alcatel_ot_c652_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''alcatel_ot_c652_ver1''', '''Alcatel-OT-C652''', True, {'''brand_name''':'''Alcatel''','''colors''':65536,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''One Touch C652''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''rows''':9,'''screensaver''':True,'''sender''':True,'''wallpaper''':True}) +devices.devids['''alcatel_ot_c652a_ver1'''] = devclass(devices.devids['''alcatel_ot_c652_ver1'''], '''alcatel_ot_c652a_ver1''', '''Alcatel-OT-C652a''', True, {'''model_name''':'''One Touch C652a'''}) +devices.devids['''alcatel_ot_c652a_ver1_sub710i1106'''] = devclass(devices.devids['''alcatel_ot_c652a_ver1'''], '''alcatel_ot_c652a_ver1_sub710i1106''', '''Alcatel-OT-C652a/1.0 UP.Browser/7.1.0.i.1.106 (GUI) MMP/2.0''', False, None) +devices.devids['''alcatel_ot_c652a_ver1_sub71'''] = devclass(devices.devids['''alcatel_ot_c652a_ver1'''], '''alcatel_ot_c652a_ver1_sub71''', '''Alcatel-OT-C652a/1.0 UP.Browser/7.1 (GUI) MMP/2.0''', False, None) +devices.devids['''alcatel_ot_c825_ver1'''] = devclass(devices.devids['''generic'''], '''alcatel_ot_c825_ver1''', '''Alcatel-OT-C825''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Alcatel''','''colors''':262144,'''columns''':23,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':False,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':220,'''max_image_width''':168,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''One Touch C825''','''mp3''':True,'''png''':True,'''preferred_markup''':'''wml_1_2''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':8,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://www-ccpp.tcl-ta.com/files/ALCATEL-OT-C825.rdf''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':5120,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''alcatel_ot_c825_ver1_sub20'''] = devclass(devices.devids['''alcatel_ot_c825_ver1'''], '''alcatel_ot_c825_ver1_sub20''', '''Alcatel-OT-C825/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 ObigoInternetBrowser/Q03C''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_cth3_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''alcatel_cth3_ver1''', '''Alcatel-CTH3''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Alcatel''','''colors''':65536,'''columns''':15,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':309248,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''One Touch C651''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://www-ccpp-mpd.alcatel.com/files/ALCATEL-CTH3_MMS11_1.0.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''alcatel_cth3_ver1_sub10'''] = devclass(devices.devids['''alcatel_cth3_ver1'''], '''alcatel_cth3_ver1_sub10''', '''Alcatel-CTH3/1.0 UP.Browser/6.2.ALCATEL MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_otc701_ver1'''] = devclass(devices.devids['''generic'''], '''alcatel_otc701_ver1''', '''Alcatel-OT-C701''', True, {'''bmp''':True,'''brand_name''':'''Alcatel''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':122,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''One Touch C701''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_gif''':True,'''uaprof''':'''http://www-ccpp.tcl-ta.com/files/ALCATEL-OT-C701.rdf''','''video_qcif''':True,'''wallpaper_colors''':12,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''alcatel_otc701_ver1_subq0c3'''] = devclass(devices.devids['''alcatel_otc701_ver1'''], '''alcatel_otc701_ver1_subq0c3''', '''Alcatel-OT-C701/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 ObigoInternetBrowser/Q03C''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_ot_c750_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''alcatel_ot_c750_ver1''', '''Alcatel-OT-C750''', True, {'''bmp''':True,'''brand_name''':'''Alcatel''','''colors''':65536,'''columns''':15,'''directdownload_support''':True,'''max_deck_size''':309248,'''max_image_height''':140,'''max_image_width''':128,'''model_name''':'''One Touch C750''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':7,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_jpg''':True}) +devices.devids['''alcatel_e5_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''alcatel_e5_ver1''', '''Alcatel-E5''', False, None) +devices.devids['''alcatel_e5_ver1_sub20'''] = devclass(devices.devids['''alcatel_e5_ver1'''], '''alcatel_e5_ver1_sub20''', '''Alcatel-E5/1.0 UP.Browser/7.0.2 (GUI) MMP/2.0''', False, None) +devices.devids['''alcatel_elle_n1_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''alcatel_elle_n1_ver1''', '''Alcatel-ELLE-N1''', True, {'''aac''':True,'''brand_name''':'''Alcatel''','''colors''':65536,'''directdownload_support''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''GlamPhone/ELLE-N1''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':32,'''sp_midi''':True,'''voices''':32,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''alcatel_elle_n1_ver1_sub71'''] = devclass(devices.devids['''alcatel_elle_n1_ver1'''], '''alcatel_elle_n1_ver1_sub71''', '''Alcatel-ELLE-N1/1.0 UP.Browser/7.1 (GUI) MMP/2.0''', False, None) +devices.devids['''alcatel_elle_n1_ver1_sub710i1105'''] = devclass(devices.devids['''alcatel_elle_n1_ver1'''], '''alcatel_elle_n1_ver1_sub710i1105''', '''Alcatel-ELLE-N1/1.0 UP.Browser/7.1.0.i.1.105 (GUI) MMP/2.0''', False, None) +devices.devids['''alcatel_m5_ver1'''] = devclass(devices.devids['''alcatel_generic_v6'''], '''alcatel_m5_ver1''', '''Alcatel-M5''', True, {'''amr''':True,'''colors''':262144,'''columns''':19,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_deck_size''':15000,'''max_image_height''':200,'''max_image_width''':176,'''mms_3gpp''':True,'''mms_max_height''':1280,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''model_name''':'''One Touch S853''','''mp3''':True,'''oma_support''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':7,'''uaprof''':'''http://www-ccpp-mpd.alcatel.com/files/ALCATEL-M5_MMS11_1.0.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wav''':True,'''xhtml_support_level''':3}) +devices.devids['''alcatel_m5_ver1_sub71'''] = devclass(devices.devids['''alcatel_m5_ver1'''], '''alcatel_m5_ver1_sub71''', '''Alcatel-M5/1.0 UP.Browser/7.1 (GUI) MMP/2.0''', False, {'''max_data_rate''':200}) +devices.devids['''alcatel_m5_ver1_subs85310'''] = devclass(devices.devids['''alcatel_m5_ver1'''], '''alcatel_m5_ver1_subs85310''', '''Alcatel-OT-S853/1.0 UP.Browser/7.1 (GUI) MMP/2.0''', False, {'''max_data_rate''':200}) +devices.devids['''alcatel_oh1c_ver1'''] = devclass(devices.devids['''generic'''], '''alcatel_oh1c_ver1''', '''Alcatel-OH1C''', True, {'''bmp''':True,'''brand_name''':'''Alcatel''','''colors''':16384,'''columns''':14,'''gif''':True,'''imelody''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':130200,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''OH1C''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':8,'''sp_midi''':True,'''uaprof''':'''http://www-ccpp-mpd.alcatel.com/odm/OH1C_UAProf.rdf''','''wallpaper_colors''':14,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''alcatel_oh1c_ver1_sub20'''] = devclass(devices.devids['''alcatel_oh1c_ver1'''], '''alcatel_oh1c_ver1_sub20''', '''Alcatel-OH1C/1.0 ObigoInternetBrowser/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_oh2_ver1'''] = devclass(devices.devids['''generic'''], '''alcatel_oh2_ver1''', '''Alcatel-OH2''', True, {'''brand_name''':'''Alcatel''','''colors''':65536,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''One Touch 355''','''preferred_markup''':'''wml_1_2''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''voices''':16,'''wml_1_2''':True}) +devices.devids['''alcatel_oh2_ver1_sub20'''] = devclass(devices.devids['''alcatel_oh2_ver1'''], '''alcatel_oh2_ver1_sub20''', '''Alcatel-OH2/1.0 ObigoInternetBrowser/2.0''', False, None) +devices.devids['''alcatel_oh5_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''alcatel_oh5_ver1''', '''Alcatel-OH5''', True, {'''amr''':True,'''brand_name''':'''Alcatel''','''colors''':4096,'''columns''':12,'''compactmidi''':True,'''imelody''':True,'''max_deck_size''':12000,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':96,'''mms_max_size''':50000,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''One Touch 835''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':7,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://www-ccpp-mpd.alcatel.com/odm/OT835_UAProf.rdf''','''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wta_phonebook''':True}) +devices.devids['''alcatel_oh5_ver1_sub10'''] = devclass(devices.devids['''alcatel_oh5_ver1'''], '''alcatel_oh5_ver1_sub10''', '''Alcatel-OH5/1.0 UP.Browser/6.1.0.7.7 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_otc551_ver1'''] = devclass(devices.devids['''alcatel_generic_v6'''], '''alcatel_otc551_ver1''', '''Alcatel-OT-C551''', True, {'''aac''':True,'''amr''':True,'''colors''':65536,'''columns''':14,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':15000,'''max_image_height''':140,'''mms_3gpp''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_mp4''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''model_name''':'''One Touch C551''','''oma_support''':True,'''resolution_height''':160,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':7,'''uaprof''':'''http://www-ccpp-mpd.alcatel.com/files/ALCATEL-E5_cE5c_a_1.0.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''alcatel_otc551_ver1_sub71'''] = devclass(devices.devids['''alcatel_otc551_ver1'''], '''alcatel_otc551_ver1_sub71''', '''Alcatel-OT-C551/1.0 UP.Browser/7.1 (GUI) MMP/2.0''', False, {'''html_wi_oma_xhtmlmp_1_0''':True,'''max_data_rate''':40,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':3}) +devices.devids['''alcatel_th3_ver1'''] = devclass(devices.devids['''alcatel_generic_v6'''], '''alcatel_th3_ver1''', '''Alcatel-TH3''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':309248,'''mmf''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_mmf''':True,'''mms_spmidi''':True,'''mms_wav''':True,'''model_name''':'''One Touch 556/557/565''','''resolution_height''':160,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':7,'''uaprof''':'''http://www-ccpp-mpd.alcatel.com/files/ALCATEL-TH3_MMS10_1.0.rdf''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''alcatel_th3_ver1_sub10'''] = devclass(devices.devids['''alcatel_th3_ver1'''], '''alcatel_th3_ver1_sub10''', '''Alcatel-TH3/1.0 UP.Browser/6.2.ALCATEL MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_th4_ver1'''] = devclass(devices.devids['''alcatel_generic_v6'''], '''alcatel_th4_ver1''', '''Alcatel-TH4''', True, {'''colors''':65536,'''columns''':15,'''j2me_bits_per_pixel''':18,'''j2me_cldc_1_0''':True,'''j2me_jtwi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':309248,'''mms_max_height''':640,'''mms_max_size''':102400,'''model_name''':'''One Touch 756/757''','''resolution_height''':160,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''rows''':7,'''uaprof''':'''http://www-ccpp-mpd.alcatel.com/files/ALCATEL-TH4_1.0.rdf''','''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''alcatel_th4_ver1_sub'''] = devclass(devices.devids['''alcatel_th4_ver1'''], '''alcatel_th4_ver1_sub''', '''Alcatel-TH4/1.0 UP.Browser/6.2.ALCATEL MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_th4_ver1_sub6210'''] = devclass(devices.devids['''alcatel_th4_ver1'''], '''alcatel_th4_ver1_sub6210''', '''Alcatel-TH4/1.0 UP.Browser/6.2.ALCATELMMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''alcatel_th4_ver1_obigo'''] = devclass(devices.devids['''generic'''], '''alcatel_th4_ver1_obigo''', '''Alcatel-TH4/1.0 ObigoInternetBrowser/2.0''', False, None) +devices.devids['''alcot500_ver1'''] = devclass(devices.devids['''alcatel_generic_v4'''], '''alcot500_ver1''', '''AlcOT500''', True, {'''model_name''':'''One Touch 500'''}) +devices.devids['''alcot500_ver1_sub4120axxxx'''] = devclass(devices.devids['''alcot500_ver1'''], '''alcot500_ver1_sub4120axxxx''', '''AlcOT500 UP/4.1.20a UP.Browser/4.1.20a-XXXX''', False, None) +devices.devids['''mot_mib20_generic'''] = devclass(devices.devids['''generic'''], '''mot_mib20_generic''', '''MOT-MIB/2.0''', False, {'''brand_name''':'''Motorola''','''connectionless_service_indication''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''directdownload_support''':True,'''ems''':True,'''expiration_date''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''icons_on_menu_items_support''':True,'''image_as_link_support''':True,'''inline_support''':True,'''max_deck_size''':2650,'''max_object_size''':32768,'''mobile_browser''':'''Motorola Internet Browser''','''mobile_browser_version''':'''2.0''','''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''wml_1_3''','''proportional_font''':True,'''utf8_support''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_preferred_charset''':'''iso8859''','''xhtml_support_level''':0,'''xhtml_table_support''':True}) +devices.devids['''mot_mib21_generic'''] = devclass(devices.devids['''mot_mib20_generic'''], '''mot_mib21_generic''', '''MOT-MIB/2.1''', False, {'''mobile_browser_version''':'''2.1'''}) +devices.devids['''mot_mib22_generic'''] = devclass(devices.devids['''mot_mib21_generic'''], '''mot_mib22_generic''', '''MOT-MIB/2.2''', False, {'''can_skip_aligned_link_row''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':128,'''max_image_width''':128,'''mobile_browser''':'''Motorola Internet Browser''','''mobile_browser_version''':'''2.2''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':128,'''resolution_width''':128,'''xhtml_autoexpand_select''':True,'''xhtml_format_as_attribute''':True,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''tel:''','''xhtml_marquee_as_css_property''':True,'''xhtml_nowrap_mode''':True,'''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_support_level''':3,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_inline_input''':True,'''xhtml_supports_monospace_font''':True,'''xhtml_supports_table_for_layout''':True}) +devices.devids['''mot_v3r_stepler_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v3r_stepler_ver1''', '''MOT-stepLer/08.BD.B3R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''V3r''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v3r/Profile/v3r.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''mot_u15_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_u15_ver1''', '''MOT-U15/71.32.05I MIB/2.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', True, {'''brand_name''':'''Siemens''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''U15''','''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''mot_mccb_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_mccb_ver1''', '''MOT-MCCB/7568 UP.Browser/4.1.23''', False, None) +devices.devids['''mot_u15_ver1_sub711237i'''] = devclass(devices.devids['''mot_u15_ver1'''], '''mot_u15_ver1_sub711237i''', '''MOT-U15/71.12.37I MIB/2.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_timeport_260gpr_ver1'''] = devclass(devices.devids['''generic'''], '''mot_timeport_260gpr_ver1''', '''MOT-Timeport260GPRS''', True, {'''brand_name''':'''Motorola''','''model_name''':'''Timeport 260 gprs'''}) +devices.devids['''mot_timeport_260_ver1'''] = devclass(devices.devids['''generic'''], '''mot_timeport_260_ver1''', '''MOT-Timeport260''', True, {'''brand_name''':'''Motorola''','''model_name''':'''Timeport 260'''}) +devices.devids['''mot_timeport_250_ver1'''] = devclass(devices.devids['''generic'''], '''mot_timeport_250_ver1''', '''MOT-Timeport250''', True, {'''brand_name''':'''Motorola''','''model_name''':'''Timeport 250'''}) +devices.devids['''mc01_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mc01_ver1''', '''MC01 UP''', True, {'''brand_name''':'''Motorola''','''model_name''':'''T8167'''}) +devices.devids['''mcca_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mcca_ver1''', '''MCCA UP''', True, {'''brand_name''':'''Motorola''','''model_name''':'''ST7867'''}) +devices.devids['''mo01_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mo01_ver1''', '''MO01 UP''', True, {'''brand_name''':'''Motorola''','''model_name''':'''i700plus'''}) +devices.devids['''mo02_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mo02_ver1''', '''MO02''', False, None) +devices.devids['''mo02_ver1_sub4117rxxxx'''] = devclass(devices.devids['''mo02_ver1'''], '''mo02_ver1_sub4117rxxxx''', '''MO02 UP/4.1.17r UP.Browser/4.1.17r-XXXX''', False, None) +devices.devids['''mot_0102_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_0102_ver1''', '''MOT-01.02''', False, None) +devices.devids['''mot_0102_ver1_sub4125i'''] = devclass(devices.devids['''mot_0102_ver1'''], '''mot_0102_ver1_sub4125i''', '''MOT-01.02/11.03 UP.Browser/4.1.25i''', False, None) +devices.devids['''mot_c116_ver1'''] = devclass(devices.devids['''generic'''], '''mot_c116_ver1''', '''MOT-C116''', True, {'''brand_name''':'''Motorola''','''max_image_height''':64,'''max_image_width''':96,'''model_name''':'''C116''','''resolution_height''':64,'''resolution_width''':96,'''ringtone''':True,'''ringtone_midi_monophonic''':True}) +devices.devids['''mot_c118_ver1'''] = devclass(devices.devids['''generic'''], '''mot_c118_ver1''', '''MOT-C118''', True, {'''brand_name''':'''Motorola''','''max_image_height''':64,'''max_image_width''':96,'''model_name''':'''C118''','''resolution_height''':64,'''resolution_width''':96,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_preferred_height''':64,'''screensaver_preferred_width''':96,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':64,'''wallpaper_preferred_width''':96}) +devices.devids['''mot_120_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_120_ver1''', '''MOT-1.2.0''', False, {'''brand_name''':'''Motorola''','''max_image_height''':64,'''max_image_width''':96,'''model_name''':'''120E''','''resolution_height''':64,'''resolution_width''':96}) +devices.devids['''mot_120_sub120'''] = devclass(devices.devids['''mot_120_ver1'''], '''mot_120_sub120''', '''MOT-120''', False, None) +devices.devids['''mot_120_ver1_sub1103'''] = devclass(devices.devids['''mot_120_ver1'''], '''mot_120_ver1_sub1103''', '''MOT-1.2.0/11.03 UP.Browser/4.1.27a''', False, None) +devices.devids['''mot_122_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_122_ver1''', '''MOT-1.2.2''', True, {'''brand_name''':'''Motorola''','''columns''':14,'''downloadfun_support''':True,'''ems''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':1048576,'''j2me_http''':True,'''j2me_left_softkey_code''':20,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':22,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':21,'''j2me_screen_height''':160,'''j2me_screen_width''':120,'''j2me_socket''':True,'''j2me_storage_size''':1048576,'''j2me_udp''':True,'''max_image_height''':126,'''max_image_width''':112,'''model_name''':'''T720 (US)''','''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_compactmidi''':True,'''ringtone_digiplug''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':7}) +devices.devids['''mot_122_ver1_sub4125'''] = devclass(devices.devids['''mot_122_ver1'''], '''mot_122_ver1_sub4125''', '''MOT-1.2.2/11.03 UP.Browser/4.1.25i''', False, None) +devices.devids['''mot_201_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_201_ver1''', '''MOT-2.0.1''', False, None) +devices.devids['''mot_201_ver1_sub1103'''] = devclass(devices.devids['''mot_201_ver1'''], '''mot_201_ver1_sub1103''', '''MOT-2.0.1/11.03 UP.Browser/4.1.27a''', False, None) +devices.devids['''mot_222_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_222_ver1''', '''MOT-2.22.''', False, None) +devices.devids['''mot_222_ver1_sub1104'''] = devclass(devices.devids['''mot_222_ver1'''], '''mot_222_ver1_sub1104''', '''MOT-2.22./11.04 UP.Browser/4.1.25i''', False, None) +devices.devids['''mot_562_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_562_ver1''', '''MOT-5.6.2''', False, None) +devices.devids['''mot_562_ver1_sub1103'''] = devclass(devices.devids['''mot_562_ver1'''], '''mot_562_ver1_sub1103''', '''MOT-5.6.2/11.03 UP.Browser/4.1.27a''', False, None) +devices.devids['''mot_2000_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_2000_ver1''', '''MOT-2000.''', False, None) +devices.devids['''mot_2000_ver1_sub4121bxxxx'''] = devclass(devices.devids['''mot_2000_ver1'''], '''mot_2000_ver1_sub4121bxxxx''', '''MOT-2000./10.01 UP/4.1.21b UP.Browser/4.1.21b-XXXX''', False, None) +devices.devids['''mot_2001_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_2001_ver1''', '''MOT-2001.''', False, None) +devices.devids['''mot_2001_ver1_sub4121xxxx'''] = devclass(devices.devids['''mot_2001_ver1'''], '''mot_2001_ver1_sub4121xxxx''', '''MOT-2001./10.01 UP/4.1.21b UP.Browser/4.1.21b-XXXX''', False, None) +devices.devids['''mot_v60c_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_v60c_ver1''', '''MOT-2100./11.03 UP.Browser/4''', True, {'''brand_name''':'''Motorola''','''model_name''':'''60c'''}) +devices.devids['''mot_v60c_ver1_sub4124f'''] = devclass(devices.devids['''mot_v60c_ver1'''], '''mot_v60c_ver1_sub4124f''', '''MOT-2100./11.03 UP.Browser/4.1.24f''', False, None) +devices.devids['''mot_2101_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_2101_ver1''', '''MOT-2101.''', False, None) +devices.devids['''mot_2101_ver1_sub4125i'''] = devclass(devices.devids['''mot_2101_ver1'''], '''mot_2101_ver1_sub4125i''', '''MOT-2101./11.03 UP.Browser/4.1.25i''', False, None) +devices.devids['''mot_270c_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_270c_ver1''', '''MOT-2102.''', True, {'''brand_name''':'''Motorola''','''model_name''':'''270c'''}) +devices.devids['''mot_270c_ver1_sub4125i'''] = devclass(devices.devids['''mot_270c_ver1'''], '''mot_270c_ver1_sub4125i''', '''MOT-2102./11.03 UP.Browser/4.1.24f''', False, None) +devices.devids['''mot_2200_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_2200_ver1''', '''MOT-2200.''', False, None) +devices.devids['''mot_2200_ver1_sub4125'''] = devclass(devices.devids['''mot_2200_ver1'''], '''mot_2200_ver1_sub4125''', '''MOT-2200./11.03 UP.Browser/4.1.25i''', False, None) +devices.devids['''mot_2203_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_2203_ver1''', '''MOT-2203.''', False, None) +devices.devids['''mot_2203_ver1_sub4125'''] = devclass(devices.devids['''mot_2203_ver1'''], '''mot_2203_ver1_sub4125''', '''MOT-2203./11.03 UP.Browser/4.1.25i''', False, None) +devices.devids['''mot_krzr_k1c_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_krzr_k1c_ver1''', '''MOT-24.0_''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':7,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':3000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''KRZR K1c (Alltel,US)''','''mp3''':True,'''oma_support''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://www.alltel.net/uaprof/moto/k1c/k1c.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''mot_krzr_k1c_ver1_sub1'''] = devclass(devices.devids['''mot_krzr_k1c_ver1'''], '''mot_krzr_k1c_ver1_sub1''', '''MOT-24.0_/00.62 UP.Browser/6.2.3.4.c.1.123 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''mot_krzr_k1c_ver1_sub2'''] = devclass(devices.devids['''mot_krzr_k1c_ver1'''], '''mot_krzr_k1c_ver1_sub2''', '''MOT-24.1_/00.62 UP.Browser/6.2.3.4.c.1.117 (GUI) MMP/2.0''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':7,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':3000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''KRZR K1c''','''mp3''':True,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vtext.com/mot/k1c/k1cv1.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''mot_28_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_28_ver1''', '''MOT-28''', True, {'''brand_name''':'''Motorola''','''model_name''':'''i700+/i1000+'''}) +devices.devids['''mot_28_ver1_sub402'''] = devclass(devices.devids['''mot_28_ver1'''], '''mot_28_ver1_sub402''', '''MOT-28/04.02 UP/4.1.17r UP.Browser/4.1.17r-XXXX''', False, None) +devices.devids['''mot_28_ver1_sub404'''] = devclass(devices.devids['''mot_28_ver1'''], '''mot_28_ver1_sub404''', '''MOT-28/04.04 UP/4.1.17r UP.Browser/4.1.17r-XXXX''', False, None) +devices.devids['''mot_280_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_280_ver1''', '''MOT-280''', False, None) +devices.devids['''mot_280_ver1_sub000000'''] = devclass(devices.devids['''mot_280_ver1'''], '''mot_280_ver1_sub000000''', '''MOT-280/00.00.00 MIB/2.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_280_ver1_sub000000221'''] = devclass(devices.devids['''mot_280_ver1'''], '''mot_280_ver1_sub000000221''', '''MOT-280/00.00.00 MIB/2.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_30_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_30_ver1''', '''MOT-30''', False, None) +devices.devids['''mot_30_ver1_sub0405'''] = devclass(devices.devids['''mot_30_ver1'''], '''mot_30_ver1_sub0405''', '''MOT-30/04.05 UP/4.1.17r UP.Browser/4.1.17r-XXXX''', False, None) +devices.devids['''mot_ic402_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''mot_ic402_ver1''', '''Motorola-ic402 Obigo/Q04C1-1.9 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':14,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':65536,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''ic402''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''rows''':9,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Motorola/ic402/1280.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''mot_ic502_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''mot_ic502_ver1''', '''Motorola-ic502 Obigo/Q04C1-1.9 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':14,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':65536,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''ic502''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''rows''':9,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Motorola/ic502/1292.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''mot_ic902_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''mot_ic902_ver1''', '''Motorola-ic902 Obigo/Q04C1 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':20,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':524288,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''ic902''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':10,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Motorola/ic902/2610.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''mot_i85_ver1'''] = devclass(devices.devids['''generic'''], '''mot_i85_ver1''', '''MOT-I85''', True, {'''brand_name''':'''Motorola''','''model_name''':'''i85'''}) +devices.devids['''mot_32_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_32_ver1''', '''MOT-32''', True, {'''brand_name''':'''Motorola''','''columns''':15,'''j2me_bits_per_pixel''':2,'''j2me_cldc_1_0''':True,'''j2me_https''':True,'''j2me_left_softkey_code''':20,'''j2me_middle_softkey_code''':22,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':21,'''j2me_screen_height''':100,'''j2me_screen_width''':111,'''j2me_serial''':True,'''j2me_socket''':True,'''max_deck_size''':1500,'''max_image_height''':111,'''max_image_width''':101,'''model_name''':'''i85s/i50sx/i55sr''','''resolution_height''':111,'''resolution_width''':101,'''rows''':6}) +devices.devids['''mot_32_ver1_sub0001'''] = devclass(devices.devids['''mot_32_ver1'''], '''mot_32_ver1_sub0001''', '''MOT-32/00.01 UP/4.1.21b UP.Browser/4.1.21b-XXXX''', False, None) +devices.devids['''mot_37657_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_37657_ver1''', '''MOT-37657''', False, None) +devices.devids['''mot_37657_ver1_sub0bd223r'''] = devclass(devices.devids['''mot_37657_ver1'''], '''mot_37657_ver1_sub0bd223r''', '''MOT-37657/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_40_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_40_ver1''', '''MOT-40''', False, None) +devices.devids['''mot_40_ver1_sub0401'''] = devclass(devices.devids['''mot_40_ver1'''], '''mot_40_ver1_sub0401''', '''MOT-40/04.01 UP/4.1.17r UP.Browser/4.1.17r-XXXX''', False, None) +devices.devids['''mot_43_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_43_ver1''', '''MOT-43''', False, None) +devices.devids['''mot_43_ver1_sub0402'''] = devclass(devices.devids['''mot_43_ver1'''], '''mot_43_ver1_sub0402''', '''MOT-43/04.02 UP/4.1.17r UP.Browser/4.1.17r-XXXX''', False, None) +devices.devids['''mot_44_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_44_ver1''', '''MOT-44''', False, None) +devices.devids['''mot_44_ver1_sub0405'''] = devclass(devices.devids['''mot_44_ver1'''], '''mot_44_ver1_sub0405''', '''MOT-44/04.05 UP/4.1.17r UP.Browser/4.1.17r-XXXX''', False, None) +devices.devids['''mot_47_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_47_ver1''', '''MOT-47''', False, None) +devices.devids['''mot_47_ver1_sub0402'''] = devclass(devices.devids['''mot_47_ver1'''], '''mot_47_ver1_sub0402''', '''MOT-47/04.02 UP/4.1.17r UP.Browser/4.1.17r-XXXX''', False, None) +devices.devids['''mot_54_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_54_ver1''', '''MOT-54''', False, None) +devices.devids['''mot_54_ver1_sub0403'''] = devclass(devices.devids['''mot_54_ver1'''], '''mot_54_ver1_sub0403''', '''MOT-54/04.03 UP/4.1.17r UP.Browser/4.1.17r-XXXX''', False, None) +devices.devids['''mot_61_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_61_ver1''', '''MOT-61''', True, {'''brand_name''':'''Motorola''','''model_name''':'''i500+/i550+'''}) +devices.devids['''mot_61_ver1_sub0402'''] = devclass(devices.devids['''mot_61_ver1'''], '''mot_61_ver1_sub0402''', '''MOT-61/04.02 UP/4.1.17r UP.Browser/4.1.17r-XXXX''', False, None) +devices.devids['''mot_62_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_62_ver1''', '''MOT-62''', False, None) +devices.devids['''mot_62_ver1_sub0405'''] = devclass(devices.devids['''mot_62_ver1'''], '''mot_62_ver1_sub0405''', '''MOT-62/04.05 UP/4.1.17r UP.Browser/4.1.17r-XXXX''', False, None) +devices.devids['''mot_6330_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_6330_ver1''', '''MOT-6330''', False, None) +devices.devids['''mot_6330_ver1_sub0bd109r'''] = devclass(devices.devids['''mot_6330_ver1'''], '''mot_6330_ver1_sub0bd109r''', '''MOT-6330/0B.D1.09R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_70_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_70_ver1''', '''MOT-70''', False, None) +devices.devids['''mot_70_ver1_sub4121'''] = devclass(devices.devids['''mot_70_ver1'''], '''mot_70_ver1_sub4121''', '''MOT-70/00.01 UP/4.1.21b UP.Browser/4.1.21b-XXXX''', False, None) +devices.devids['''mot_72_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_72_ver1''', '''MOT-72''', True, {'''brand_name''':'''Motorola''','''j2me_bits_per_pixel''':1,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':262144,'''j2me_http''':True,'''j2me_https''':True,'''j2me_left_softkey_code''':20,'''j2me_max_jar_size''':51200,'''j2me_middle_softkey_code''':22,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':21,'''j2me_screen_height''':64,'''j2me_screen_width''':119,'''j2me_serial''':True,'''j2me_storage_size''':393216,'''j2me_udp''':True,'''max_image_height''':48,'''max_image_width''':119,'''model_name''':'''i80s''','''resolution_height''':64,'''resolution_width''':119}) +devices.devids['''mot_72_ver1_sub0101'''] = devclass(devices.devids['''mot_72_ver1'''], '''mot_72_ver1_sub0101''', '''MOT-72/01.01 UP.Browser/4.1.26b''', False, None) +devices.devids['''mot_72_ver1_sub4123'''] = devclass(devices.devids['''mot_72_ver1'''], '''mot_72_ver1_sub4123''', '''MOT-72/00.02 UP.Browser/4.1.23''', False, None) +devices.devids['''mot_74_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_74_ver1''', '''MOT-74''', False, None) +devices.devids['''mot_74_ver1_sub0004'''] = devclass(devices.devids['''mot_74_ver1'''], '''mot_74_ver1_sub0004''', '''MOT-74/00.04 UP.Browser/4.1.26m.737''', False, None) +devices.devids['''mot_76_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_76_ver1''', '''MOT-76''', True, {'''brand_name''':'''Motorola''','''j2me_bits_per_pixel''':2,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':262144,'''j2me_http''':True,'''j2me_https''':True,'''j2me_left_softkey_code''':20,'''j2me_max_jar_size''':51200,'''j2me_middle_softkey_code''':22,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':21,'''j2me_screen_height''':100,'''j2me_screen_width''':111,'''j2me_serial''':True,'''j2me_storage_size''':393216,'''j2me_udp''':True,'''max_image_height''':75,'''max_image_width''':111,'''model_name''':'''i90c''','''resolution_height''':100,'''resolution_width''':111}) +devices.devids['''mot_76_ver1_sub0001'''] = devclass(devices.devids['''mot_76_ver1'''], '''mot_76_ver1_sub0001''', '''MOT-76/00.01 UP.Browser/4.1.23''', False, None) +devices.devids['''mot_8300_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_8300_ver1''', '''MOT-8300_''', False, None) +devices.devids['''mot_8300_ver1_sub1103'''] = devclass(devices.devids['''mot_8300_ver1'''], '''mot_8300_ver1_sub1103''', '''MOT-8300_/11.03 UP.Browser/4.1.25i''', False, None) +devices.devids['''mot_85_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_85_ver1''', '''MOT-85''', True, {'''brand_name''':'''Motorola''','''colors''':256,'''j2me_bits_per_pixel''':8,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':655360,'''j2me_http''':True,'''j2me_https''':True,'''j2me_left_softkey_code''':20,'''j2me_max_jar_size''':163840,'''j2me_middle_softkey_code''':22,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':21,'''j2me_screen_height''':160,'''j2me_screen_width''':120,'''j2me_serial''':True,'''j2me_storage_size''':1572864,'''j2me_udp''':True,'''max_image_height''':120,'''max_image_width''':120,'''model_name''':'''i95cl''','''png''':True,'''resolution_height''':160,'''resolution_width''':120}) +devices.devids['''mot_85_ver1_sub0000'''] = devclass(devices.devids['''mot_85_ver1'''], '''mot_85_ver1_sub0000''', '''MOT-85/00.00 UP.Browser/4.1.26m.737''', False, None) +devices.devids['''mot_8500_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_8500_ver1''', '''MOT-8500_''', False, None) +devices.devids['''mot_8500_ver1_sub1103'''] = devclass(devices.devids['''mot_8500_ver1'''], '''mot_8500_ver1_sub1103''', '''MOT-8500_/11.03 UP.Browser/4.1.27a''', False, None) +devices.devids['''mot_8600_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_8600_ver1''', '''MOT-8600_''', False, None) +devices.devids['''mot_8600_ver1_sub1103'''] = devclass(devices.devids['''mot_8600_ver1'''], '''mot_8600_ver1_sub1103''', '''MOT-8600_/11.03 UP.Browser/4.1.25i''', False, None) +devices.devids['''mot_8610_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_8610_ver1''', '''MOT-8610_''', False, None) +devices.devids['''mot_8610_ver1_sub1103'''] = devclass(devices.devids['''mot_8610_ver1'''], '''mot_8610_ver1_sub1103''', '''MOT-8610_/11.03 UP.Browser/4.1.25i''', False, None) +devices.devids['''mot_87_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_87_ver1''', '''MOT-87''', True, {'''brand_name''':'''Motorola''','''max_image_height''':48,'''model_name''':'''i30sx''','''resolution_height''':64,'''resolution_width''':96}) +devices.devids['''mot_87_ver1_sub0003'''] = devclass(devices.devids['''mot_87_ver1'''], '''mot_87_ver1_sub0003''', '''MOT-87/00.03 UP.Browser/4.1.26b''', False, None) +devices.devids['''mot_8800_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_8800_ver1''', '''MOT-8800_''', False, {'''brand_name''':'''Motorola''','''model_name''':8800,'''uaprof''':'''http://uaprof.vtext.com/mot/a840/a840v1.xml'''}) +devices.devids['''mot_8800_ver1_sub0062'''] = devclass(devices.devids['''mot_8800_ver1'''], '''mot_8800_ver1_sub0062''', '''MOT-8800_/00.62 UP.Browser/6.2.3.2.f.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''mot_89_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_89_ver1''', '''MOT-89''', False, None) +devices.devids['''mot_89_ver1_sub0102'''] = devclass(devices.devids['''mot_89_ver1'''], '''mot_89_ver1_sub0102''', '''MOT-89/01.02 UP.Browser/4.1.26m.737''', False, None) +devices.devids['''mot_a630_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_a630_ver1''', '''MOT-A630''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':20,'''has_qwerty_keyboard''':True,'''imelody''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':143,'''j2me_canvas_width''':220,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':819200,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':176,'''j2me_screen_width''':220,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':5242880,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_image_height''':160,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''A630''','''mp3''':True,'''receiver''':True,'''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''rows''':8,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_preferred_height''':176,'''screensaver_preferred_width''':220,'''screensaver_resize''':'''fixed_ratio''','''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/a630/profile/a630.rdf''','''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':220}) +devices.devids['''mot_a630_ver1_sub0b8115i'''] = devclass(devices.devids['''mot_a630_ver1'''], '''mot_a630_ver1_sub0b8115i''', '''MOT-A630/0B.81.15I MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_a660_ver1'''] = devclass(devices.devids['''generic'''], '''mot_a660_ver1''', '''MOT-A660''', True, {'''brand_name''':'''Motorola''','''model_name''':'''A660'''}) +devices.devids['''mot_a668_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_a668_ver1''', '''MOT-A668''', True, {'''colors''':262144,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A668''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_a668_ver1_sub00'''] = devclass(devices.devids['''mot_a668_ver1'''], '''mot_a668_ver1_sub00''', '''MOT-A668/ WAP.Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_a728_ver1'''] = devclass(devices.devids['''mot_mib20_generic'''], '''mot_a728_ver1''', '''MOT-A728''', True, {'''aac''':True,'''bmp''':True,'''colors''':65536,'''gif_animated''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A728''','''mp3''':True,'''picture''':True,'''picture_bmp''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':1024,'''picture_max_width''':1280,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''screensaver''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_real_media_8''':True,'''streaming_real_media_9''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_max_audio_bit_rate''':32,'''streaming_video_max_bit_rate''':128,'''streaming_video_max_frame_rate''':12,'''streaming_video_max_video_bit_rate''':115,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''streaming_video_sqcif''':True,'''streaming_video_sqcif_max_height''':96,'''streaming_video_sqcif_max_width''':128,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''mot_a732_ver1'''] = devclass(devices.devids['''mot_mib20_generic'''], '''mot_a732_ver1''', '''MOT-A732''', True, {'''aac''':True,'''colors''':262144,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A732''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128}) +devices.devids['''mot_a760_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_a760_ver1''', '''MOT-A760''', True, {'''bmp''':True,'''colors''':4096,'''columns''':22,'''imelody''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':244,'''j2me_canvas_width''':240,'''j2me_cldc_1_0''':True,'''j2me_gif''':True,'''j2me_heap_size''':1048576,'''j2me_http''':True,'''j2me_https''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':1048576,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mp3''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''j2me_socket''':True,'''j2me_udp''':True,'''j2me_wav''':True,'''max_image_height''':200,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_wbmp''':True,'''model_name''':'''A760''','''mp3''':True,'''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''rows''':14,'''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/a760/Profile/a760.rdf''','''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''mot_a760_ver1_subezxg0053a1r'''] = devclass(devices.devids['''mot_a760_ver1'''], '''mot_a760_ver1_subezxg0053a1r''', '''MOT-A760/EZX_G_00.53.A1R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_a768_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_a768_ver1''', '''MOT-A768''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':4096,'''columns''':22,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''max_image_height''':200,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':204800,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''A768''','''mp3''':True,'''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':14,'''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/a768/Profile/a768.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wav''':True}) +devices.devids['''mot_a768_ver1_subezxg00afa2ra768g00b0a2r'''] = devclass(devices.devids['''mot_a768_ver1'''], '''mot_a768_ver1_subezxg00afa2ra768g00b0a2r''', '''MOT-A768/EZX_G_00.AF.A2R/A768_G_00.B0.A2R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_a768_ver1_subr503g0016a1r'''] = devclass(devices.devids['''mot_a768_ver1'''], '''mot_a768_ver1_subr503g0016a1r''', '''MOT-A768/R503_G_00.16.A1R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_a768i_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_a768i_ver1''', '''MOT-A768i''', False, None) +devices.devids['''mot_a768i_ver1_subr503g0015a1r'''] = devclass(devices.devids['''mot_a768i_ver1'''], '''mot_a768i_ver1_subr503g0015a1r''', '''MOT-A768i/R503_G_00.15.A1R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_a768i_ver1_subr503g0017a1r'''] = devclass(devices.devids['''mot_a768i_ver1'''], '''mot_a768i_ver1_subr503g0017a1r''', '''MOT-A768i/R503_G_00.17.A1R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''motorokr_z6_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''motorokr_z6_ver1''', '''MOTOROKR Z6/R60_G_80.32.33R Mozilla/4.0 (compatible; MSIE 6.0 Linux; MOTOROKR Z6;8.50 Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.50[zh]''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''brand_name''':'''Motorola''','''colors''':16777216,'''columns''':10,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':307200,'''mms_max_width''':1200,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MOTOROKR Z6''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':20,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/motorokrz6/Profile/motorokrz6.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_jpg''':True,'''wav''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''motorokr_e6_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''motorokr_e6_ver1''', '''MOT-MOTOROKRE6/R533_G_11.12.08P Mozilla/4.0 (compatible; MSIE 6.0; Linux; MOTOROKRE6; 781) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.00 [en]''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''brand_name''':'''Motorola''','''colors''':262144,'''columns''':22,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MOTOROKR E6''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':14,'''sender''':True,'''table_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/motorokre6/Profile/motorokre6.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wav''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''mot_i730_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_i730_ver1''', '''MOT-A-0A''', True, {'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''gif''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':1205862,'''j2me_http''':True,'''j2me_https''':True,'''j2me_left_softkey_code''':21,'''j2me_loctapi''':True,'''j2me_max_jar_size''':512000,'''j2me_middle_softkey_code''':23,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_motorola_lwt''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':130,'''j2me_screen_width''':130,'''j2me_serial''':True,'''j2me_storage_size''':2097152,'''j2me_udp''':True,'''j2me_wmapi_1_0''':True,'''jpg''':True,'''max_deck_size''':2984,'''max_image_height''':130,'''max_image_width''':130,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''i730''','''png''':True,'''resolution_height''':130,'''resolution_width''':130,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':130,'''wallpaper_preferred_width''':130}) +devices.devids['''mot_i730_ver1_sub0000'''] = devclass(devices.devids['''mot_i730_ver1'''], '''mot_i730_ver1_sub0000''', '''MOT-A-0A/00.00 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_0e_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_0e_ver1''', '''MOT-A-0E''', True, {'''brand_name''':'''Motorola''','''model_name''':'''i530'''}) +devices.devids['''mot_a_0e_ver1_sub0000'''] = devclass(devices.devids['''mot_a_0e_ver1'''], '''mot_a_0e_ver1_sub0000''', '''MOT-A-0E/00.00 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_1a_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_1a_ver1''', '''MOT-A-1A''', True, {'''brand_name''':'''Motorola''','''model_name''':'''i325'''}) +devices.devids['''mot_a_1a_ver1_sub0100'''] = devclass(devices.devids['''mot_a_1a_ver1'''], '''mot_a_1a_ver1_sub0100''', '''MOT-A-1A/01.00 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_1b_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_1b_ver1''', '''MOT-A-1B''', True, {'''brand_name''':'''Motorola''','''model_name''':'''i315'''}) +devices.devids['''mot_a_1b_ver1_sub0005'''] = devclass(devices.devids['''mot_a_1b_ver1'''], '''mot_a_1b_ver1_sub0005''', '''MOT-A-1B/00.05 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_1b_ver1_sub0001'''] = devclass(devices.devids['''mot_a_1b_ver1'''], '''mot_a_1b_ver1_sub0001''', '''MOT-A-1B/00.01 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_1b_ver1_sub0004'''] = devclass(devices.devids['''mot_a_1b_ver1'''], '''mot_a_1b_ver1_sub0004''', '''MOT-A-1B/00.04 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_1c_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''mot_a_1c_ver1''', '''MOT-A-1C''', True, {'''amr''':True,'''brand_name''':'''Motorola''','''max_deck_size''':3072,'''max_image_height''':142,'''max_image_width''':172,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''i860''','''mp3''':True,'''resolution_height''':162,'''resolution_width''':172,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_wmv''':False,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''mot_a_1c_ver1_sub0002'''] = devclass(devices.devids['''mot_a_1c_ver1'''], '''mot_a_1c_ver1_sub0002''', '''MOT-A-1C/00.02 UP.Browser/7.0.0.2.257 (GUI) MMP/2.0''', False, None) +devices.devids['''mot_a_1f_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_1f_ver1''', '''MOT-A-1F''', True, {'''brand_name''':'''Motorola''','''model_name''':'''i305'''}) +devices.devids['''mot_a_1f_ver1_sub0000'''] = devclass(devices.devids['''mot_a_1f_ver1'''], '''mot_a_1f_ver1_sub0000''', '''MOT-A-1F/00.00 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_2a_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_2a_ver1''', '''MOT-A-2A''', False, None) +devices.devids['''mot_a_2a_ver1_sub0006'''] = devclass(devices.devids['''mot_a_2a_ver1'''], '''mot_a_2a_ver1_sub0006''', '''MOT-A-2A/00.06 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_2b_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_2b_ver1''', '''MOT-A-2B''', True, {'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65000,'''gif''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':1205862,'''j2me_http''':True,'''j2me_https''':True,'''j2me_left_softkey_code''':21,'''j2me_loctapi''':True,'''j2me_max_jar_size''':512000,'''j2me_middle_softkey_code''':23,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_motorola_lwt''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':130,'''j2me_screen_width''':130,'''j2me_serial''':True,'''j2me_storage_size''':2097152,'''j2me_udp''':True,'''j2me_wmapi_1_0''':True,'''jpg''':True,'''max_deck_size''':2984,'''max_image_height''':130,'''max_image_width''':130,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''i830''','''png''':True,'''resolution_height''':130,'''resolution_width''':130,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':130,'''wallpaper_preferred_width''':130}) +devices.devids['''mot_a_2b_ver1_sub0000'''] = devclass(devices.devids['''mot_a_2b_ver1'''], '''mot_a_2b_ver1_sub0000''', '''MOT-A-2B/00.00 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_2b_ver1_sub0001'''] = devclass(devices.devids['''mot_a_2b_ver1'''], '''mot_a_2b_ver1_sub0001''', '''MOT-A-2B/00.01 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_i833_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_i833_ver1''', '''MOT-i833''', True, {'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''gif''':True,'''jpg''':True,'''max_deck_size''':2984,'''max_image_height''':130,'''max_image_width''':130,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''i833''','''png''':True,'''resolution_height''':130,'''resolution_width''':130,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''mot_i835_ver1'''] = devclass(devices.devids['''mot_i833_ver1'''], '''mot_i835_ver1''', '''MOT-i835''', True, {'''model_name''':'''i835'''}) +devices.devids['''mot_i836_ver1'''] = devclass(devices.devids['''mot_i833_ver1'''], '''mot_i836_ver1''', '''MOT-i836''', True, {'''model_name''':'''i836'''}) +devices.devids['''mot_a_2d_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_2d_ver1''', '''MOT-A-2D''', True, {'''brand_name''':'''Motorola''','''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''i285''','''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_wav''':True,'''wav''':True}) +devices.devids['''mot_a_2d_ver1_sub0002'''] = devclass(devices.devids['''mot_a_2d_ver1'''], '''mot_a_2d_ver1_sub0002''', '''MOT-A-2D/00.02 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_2e_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''mot_a_2e_ver1''', '''MOT-A-2E''', True, {'''brand_name''':'''Motorola''','''model_name''':'''i740'''}) +devices.devids['''mot_a_2f_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''mot_a_2f_ver1''', '''MOT-A-2F''', True, {'''brand_name''':'''Motorola''','''model_name''':'''i605'''}) +devices.devids['''mot_a_2f_ver1_sub0000'''] = devclass(devices.devids['''mot_a_2f_ver1'''], '''mot_a_2f_ver1_sub0000''', '''MOT-A-2F/00.00 UP.Browser/7.0.0.2.c.1.104 (GUI) MMP/2.0''', False, None) +devices.devids['''mot_a_3a_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_3a_ver1''', '''MOT-A-3A''', False, {'''brand_name''':'''Motorola'''}) +devices.devids['''mot_a_3a_ver1_sub0001'''] = devclass(devices.devids['''mot_a_3a_ver1'''], '''mot_a_3a_ver1_sub0001''', '''MOT-A-3A/00.01 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_3a_ver1_sub0003'''] = devclass(devices.devids['''mot_a_3a_ver1'''], '''mot_a_3a_ver1_sub0003''', '''MOT-A-3A/00.03 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_3b_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_3b_ver1''', '''MOT-A-3B''', True, {'''brand_name''':'''Motorola''','''model_name''':'''i265'''}) +devices.devids['''mot_a_3b_ver1_sub0003'''] = devclass(devices.devids['''mot_a_3b_ver1'''], '''mot_a_3b_ver1_sub0003''', '''MOT-A-3B/00.03 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_3d_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''mot_a_3d_ver1''', '''MOT-A-3D''', True, {'''amr''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''j2me_3dapi''':False,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_btapi''':False,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_gif''':True,'''j2me_gif89a''':True,'''j2me_h263''':True,'''j2me_heap_size''':1100,'''j2me_http''':True,'''j2me_https''':True,'''j2me_jpg''':True,'''j2me_jtwi''':False,'''j2me_loctapi''':False,'''j2me_max_record_store_size''':3072,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mmapi_1_1''':True,'''j2me_motorola_lwt''':False,'''j2me_mpeg4''':True,'''j2me_nokia_ui''':False,'''j2me_png''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_serial''':True,'''j2me_siemens_color_game''':False,'''j2me_siemens_extension''':False,'''j2me_socket''':True,'''j2me_storage_size''':2048,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wbmp''':True,'''j2me_wmapi_1_0''':True,'''j2me_wmapi_1_1''':True,'''j2me_wmapi_2_0''':True,'''jpg''':True,'''max_deck_size''':3072,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''i850''','''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''mot_a_3d_ver1_sub0003'''] = devclass(devices.devids['''mot_a_3d_ver1'''], '''mot_a_3d_ver1_sub0003''', '''MOT-A-3D/00.03 UP.Browser/7.0.0.2.c.1.104 (GUI) MMP/2.0''', False, None) +devices.devids['''mot_a_3e_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''mot_a_3e_ver1''', '''MOT-A-3E/01.01 UP.Browser/7.0.2.2.c.1.108 (GUI) MMP/2.0''', True, {'''brand_name''':'''Motorola''','''max_image_height''':220,'''max_image_width''':176,'''model_name''':'''i760''','''resolution_height''':220,'''resolution_width''':176}) +devices.devids['''mot_i855_ver1'''] = devclass(devices.devids['''mot_a_3d_ver1'''], '''mot_i855_ver1''', '''MOT-i855''', True, {'''model_name''':'''i855''','''mp3''':True,'''ringtone_mp3''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_wmv''':False}) +devices.devids['''mot_i870_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''mot_i870_ver1''', '''MOT-i870''', True, {'''amr''':True,'''brand_name''':'''Motorola''','''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':3072,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''i870''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_wmv''':False,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''mot_i875_ver1'''] = devclass(devices.devids['''mot_i870_ver1'''], '''mot_i875_ver1''', '''MOT-i875''', True, {'''model_name''':'''i875''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_i885_ver1'''] = devclass(devices.devids['''mot_i870_ver1'''], '''mot_i885_ver1''', '''MOT-i885''', True, {'''model_name''':'''i885''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_a_3f_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_3f_ver1''', '''MOT-A-3F''', True, {'''brand_name''':'''Motorola''','''model_name''':'''i355'''}) +devices.devids['''mot_a_3f_ver1_sub0000'''] = devclass(devices.devids['''mot_a_3f_ver1'''], '''mot_a_3f_ver1_sub0000''', '''MOT-A-3F/00.00 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_44_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_44_ver1''', '''MOT-A-44''', False, {'''brand_name''':'''Motorola'''}) +devices.devids['''mot_a_44_ver1_sub0001'''] = devclass(devices.devids['''mot_a_44_ver1'''], '''mot_a_44_ver1_sub0001''', '''MOT-A-44/00.01 UP.Browser/4.1.26m.737''', False, None) +devices.devids['''mot_a_4a_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_4a_ver1''', '''MOT-A-4A/01.02 UP.Browser/4.1.27a1''', False, {'''brand_name''':'''Motorola''','''model_name''':'''i355'''}) +devices.devids['''mot_a_4c_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_4c_ver1''', '''MOT-A-4C''', False, {'''brand_name''':'''Motorola'''}) +devices.devids['''mot_a_4c_ver1_sub0005'''] = devclass(devices.devids['''mot_a_4c_ver1'''], '''mot_a_4c_ver1_sub0005''', '''MOT-A-4C/00.05 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_86_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_86_ver1''', '''MOT-A-86''', True, {'''brand_name''':'''Motorola''','''max_image_height''':65,'''max_image_width''':96,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''i205''','''resolution_height''':65,'''resolution_width''':96,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True}) +devices.devids['''mot_a_86_ver1_sub0000'''] = devclass(devices.devids['''mot_a_86_ver1'''], '''mot_a_86_ver1_sub0000''', '''MOT-A-86/00.00 UP.Browser/4.1.27a1''', False, None) +devices.devids['''mot_a_5b_ver1'''] = devclass(devices.devids['''mot_i870_ver1'''], '''mot_a_5b_ver1''', '''MOT-A-5B/00.01 UP.Browser/7.0.2.2.c.1.108 (GUI) MMP/2.0''', False, {'''model_name''':'''i870'''}) +devices.devids['''mot_a_5c_ver1'''] = devclass(devices.devids['''mot_i870_ver1'''], '''mot_a_5c_ver1''', '''MOT-A-5C/00.02 UP.Browser/7.0.2.2.c.1.108 (GUI) MMP/2.0''', False, {'''model_name''':'''i870'''}) +devices.devids['''mot_a_6e_ver1'''] = devclass(devices.devids['''mot_i870_ver1'''], '''mot_a_6e_ver1''', '''MOT-A-6E/00.04 UP.Browser/7.0.2.2.c.1.108 (GUI) MMP/2.0''', False, {'''model_name''':'''i880'''}) +devices.devids['''mot_i215_ver1'''] = devclass(devices.devids['''mot_a_86_ver1'''], '''mot_i215_ver1''', '''MOT-i215''', True, {'''model_name''':'''i215'''}) +devices.devids['''mot_i415_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_i415_ver1''', '''MOT-i415''', True, {'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':114,'''j2me_screen_width''':130,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''i415''','''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''mot_i450_ver1'''] = devclass(devices.devids['''mot_i415_ver1'''], '''mot_i450_ver1''', '''MOT-i450''', True, {'''j2me_screen_height''':130,'''j2me_screen_width''':130,'''max_image_height''':130,'''max_image_width''':130,'''model_name''':'''i450''','''resolution_height''':130,'''resolution_width''':130}) +devices.devids['''mot_i455_ver1'''] = devclass(devices.devids['''mot_i415_ver1'''], '''mot_i455_ver1''', '''MOT-i455''', True, {'''model_name''':'''i455'''}) +devices.devids['''mot_a88_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a88_ver1''', '''MOT-A-88''', True, {'''brand_name''':'''Motorola''','''max_image_height''':75,'''max_image_width''':111,'''model_name''':'''i88s''','''resolution_height''':100,'''resolution_width''':111}) +devices.devids['''mot_a88_ver1_sub0003'''] = devclass(devices.devids['''mot_a88_ver1'''], '''mot_a88_ver1_sub0003''', '''MOT-A-88/00.03 UP.Browser/4.1.26m.737''', False, None) +devices.devids['''mot_a820_ver1'''] = devclass(devices.devids['''mot_mib21_generic'''], '''mot_a820_ver1''', '''MOT-A820''', True, {'''aac''':True,'''columns''':14,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_image_height''':205,'''max_image_width''':164,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''A820''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_directdownload_size_limit''':20480,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':7,'''sender''':True,'''sp_midi''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''mot_a820_ver1_sub000000'''] = devclass(devices.devids['''mot_a820_ver1'''], '''mot_a820_ver1_sub000000''', '''MOT-A820/00.00.00 MIB/2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_a830_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_a830_ver1''', '''MOT-A830''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':14,'''downloadfun_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_data_rate''':384,'''max_image_height''':205,'''max_image_width''':164,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A830''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':7,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_max_audio_bit_rate''':12200,'''streaming_video_max_bit_rate''':80000,'''streaming_video_max_frame_rate''':15,'''streaming_video_max_video_bit_rate''':68000,'''streaming_video_min_video_bit_rate''':22000,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_wmv''':False,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':205,'''wallpaper_preferred_width''':164}) +devices.devids['''mot_a830_ver1_sub05200br'''] = devclass(devices.devids['''mot_a830_ver1'''], '''mot_a830_ver1_sub05200br''', '''MOT-A830/05.20.0BR MIB/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_a835_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_a835_ver1''', '''MOT-A835''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':14,'''downloadfun_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_deck_size''':522240,'''max_image_height''':205,'''max_image_width''':164,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''A835''','''mp3''':True,'''oma_v_1_0_forwardlock''':False,'''oma_v_1_0_separate_delivery''':False,'''picture''':True,'''picture_max_height''':480,'''picture_max_width''':640,'''picture_preferred_height''':144,'''picture_preferred_width''':176,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':20480,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':7,'''screensaver''':True,'''screensaver_max_height''':480,'''screensaver_max_width''':640,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''screensaver_resize''':'''fixed_ratio''','''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/a835/Profile/a835.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':256000,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wallpaper_resize''':'''fixed_ratio''','''wallpaper_wbmp''':True}) +devices.devids['''mot_a835_ver1_sub702018i'''] = devclass(devices.devids['''mot_a835_ver1'''], '''mot_a835_ver1_sub702018i''', '''MOT-A835/70.20.18I MIB/2.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_a835_ver2'''] = devclass(devices.devids['''mot_a835_ver1'''], '''mot_a835_ver2''', '''MOT-A835/02''', False, {'''max_data_rate''':40}) +devices.devids['''mot_a835_ver2_sub020a04'''] = devclass(devices.devids['''mot_a835_ver2'''], '''mot_a835_ver2_sub020a04''', '''MOT-A835/02.0A.04 MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_a840_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_a840_ver1''', '''MOT-A840''', True, {'''brand_name''':'''Motorola''','''colors''':262144,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':220,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':64,'''mms_mp3''':True,'''mms_qcelp''':False,'''model_name''':'''A840''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''qcelp''':False,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_directdownload_size_limit''':350000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':False,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':350000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':350000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''verizon_mot_a840_ver1'''] = devclass(devices.devids['''mot_a840_ver1'''], '''verizon_mot_a840_ver1''', '''motoa840''', True, {'''model_name''':'''A840 (Verizon Wireless)'''}) +devices.devids['''mot_a845_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_a845_ver1''', '''MOT-A845''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''imelody''':True,'''j2me_aac''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_bmp''':True,'''j2me_canvas_height''':203,'''j2me_canvas_width''':176,'''j2me_cldc_1_0''':True,'''j2me_gif''':True,'''j2me_heap_size''':819200,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':5242880,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_image_height''':185,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''A845''','''mp3''':True,'''picture''':True,'''picture_bmp''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':320,'''picture_max_width''':240,'''picture_png''':True,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''rows''':11,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_max_audio_bit_rate''':12,'''streaming_video_max_bit_rate''':128,'''streaming_video_max_frame_rate''':15,'''streaming_video_max_video_bit_rate''':115,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''streaming_video_sqcif''':True,'''streaming_video_sqcif_max_height''':96,'''streaming_video_sqcif_max_width''':128,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''streaming_wmv''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/a845/Profile/a845.rdf''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''mot_a845_ver1_sub74071di'''] = devclass(devices.devids['''mot_a845_ver1'''], '''mot_a845_ver1_sub74071di''', '''MOT-A845/74.07.1DI MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_a860_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_a860_ver1''', '''MOT-A860''', True, {'''colors''':262144,'''html_wi_oma_xhtmlmp_1_0''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''model_name''':'''A860''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''xhtml_support_level''':1}) +devices.devids['''mot_a860_ver1_sub0062'''] = devclass(devices.devids['''mot_a860_ver1'''], '''mot_a860_ver1_sub0062''', '''MOT-A860/00.62 UP.Browser/6.2.3.2.f.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''mot_a890_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_a890_ver1''', '''MOT-A890''', True, {'''brand_name''':'''Motorola''','''colors''':262144,'''directdownload_support''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A890''','''resolution_height''':220,'''resolution_width''':176,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''mot_a890_ver1_sub101'''] = devclass(devices.devids['''mot_a890_ver1'''], '''mot_a890_ver1_sub101''', '''MOT-A890/1.01 UP.Browser/6.2.2.5 (GUI) MMP/1.0''', False, None) +devices.devids['''mot_af4_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_af4_ver1''', '''MOT-AF/4 UP/4''', True, {'''brand_name''':'''Motorola''','''columns''':16,'''max_deck_size''':2048,'''model_name''':'''Ti260''','''nokia_voice_call''':True,'''resolution_width''':96,'''rows''':4}) +devices.devids['''mot_af4_ver1_sub0022'''] = devclass(devices.devids['''mot_af4_ver1'''], '''mot_af4_ver1_sub0022''', '''MOT-AF/0.0.22 UP/4.0.5n''', False, None) +devices.devids['''mot_af4_ver1_sub418_4116sxxxx'''] = devclass(devices.devids['''mot_af4_ver1'''], '''mot_af4_ver1_sub418_4116sxxxx''', '''MOT-AF/4.1.8 UP/4.1.16s UP.Browser/4.1.16s-XXXX''', False, None) +devices.devids['''mot_af4_ver1_sub418_416s'''] = devclass(devices.devids['''mot_af4_ver1'''], '''mot_af4_ver1_sub418_416s''', '''MOT-AF/4.1.8 UP/4.1.16s''', False, None) +devices.devids['''mot_af4_ver1_sub419_4119ixxxx'''] = devclass(devices.devids['''mot_af4_ver1'''], '''mot_af4_ver1_sub419_4119ixxxx''', '''MOT-AF/4.1.9 UP/4.1.19i UP.Browser/4.1.19i-XXXX''', False, None) +devices.devids['''mot_artem_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_artem_ver1''', '''MOT-Artem''', False, None) +devices.devids['''mot_artem_ver1_sub0bd223r'''] = devclass(devices.devids['''mot_artem_ver1'''], '''mot_artem_ver1_sub0bd223r''', '''MOT-Artem/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_bc_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_bc_ver1''', '''MOT-BC/4.1.9 UP.Browser/4''', False, None) +devices.devids['''mot_bc_ver1_sub4123c'''] = devclass(devices.devids['''mot_bc_ver1'''], '''mot_bc_ver1_sub4123c''', '''MOT-BC/4.1.9 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_c115_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_c115_ver1''', '''MOT-C115''', True, {'''brand_name''':'''Motorola''','''gif''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''midi_monophonic''':True,'''model_name''':'''C115''','''ringtone_midi_monophonic''':True,'''screensaver''':True,'''text_imelody''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':64,'''wallpaper_preferred_width''':96}) +devices.devids['''motorola_c155_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''motorola_c155_ver1''', '''Motorola-C155''', True, {'''brand_name''':'''Motorola''','''colors''':4096,'''directdownload_support''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':64512,'''max_image_height''':48,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C155''','''resolution_height''':64,'''resolution_width''':96,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':96,'''wallpaper_max_width''':64,'''wallpaper_png''':True,'''wallpaper_preferred_height''':96,'''wallpaper_preferred_width''':64}) +devices.devids['''motorola_c155_ver1_sub10'''] = devclass(devices.devids['''motorola_c155_ver1'''], '''motorola_c155_ver1_sub10''', '''Motorola-C155 UP.Browser/6.2.2.7 (GUI) MMP/1.0''', False, None) +devices.devids['''motorola_c155_ver1_sub6227'''] = devclass(devices.devids['''motorola_c155_ver1'''], '''motorola_c155_ver1_sub6227''', '''MOT-C155 UP.Browser/6.2.2.7 (GUI) MMP/1.0''', False, None) +devices.devids['''mot_c168_ver1'''] = devclass(devices.devids['''generic'''], '''mot_c168_ver1''', '''MOT-C168''', True, {'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':14,'''directdownload_support''':True,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':5600,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':50000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''C168''','''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''rows''':6,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/C168/Profile/c168.rdf''','''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''mot_c168_ver1_sub00'''] = devclass(devices.devids['''mot_c168_ver1'''], '''mot_c168_ver1_sub00''', '''MOT-C168/ WAP.Browser/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c2_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_c2_ver1''', '''MOT-C2''', True, {'''brand_name''':'''Motorola''','''model_name''':'''V100'''}) +devices.devids['''mot_c2_ver1_sub4116'''] = devclass(devices.devids['''mot_c2_ver1'''], '''mot_c2_ver1_sub4116''', '''MOT-C2/4.1.8 UP/4.1.16''', False, None) +devices.devids['''mot_c2_ver1_sub4116s'''] = devclass(devices.devids['''mot_c2_ver1'''], '''mot_c2_ver1_sub4116s''', '''MOT-C2/4.1.8 UP/4.1.16s''', False, None) +devices.devids['''mot_c2_ver1_sub4116sxxxx'''] = devclass(devices.devids['''mot_c2_ver1'''], '''mot_c2_ver1_sub4116sxxxx''', '''MOT-C2/4.1.8 UP/4.1.16s UP.Browser/4.1.16s-XXXX''', False, None) +devices.devids['''mot_c2_ver1_sub4119i'''] = devclass(devices.devids['''mot_c2_ver1'''], '''mot_c2_ver1_sub4119i''', '''MOT-C2/4.1.9 UP/4.1.19i''', False, None) +devices.devids['''mot_c2_ver1_sub4122a'''] = devclass(devices.devids['''mot_c2_ver1'''], '''mot_c2_ver1_sub4122a''', '''MOT-C2/4.1.9 UP.Browser/4.1.22a''', False, None) +devices.devids['''mot_c200_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_c200_ver1''', '''MOT-C200''', True, {'''brand_name''':'''Motorola''','''gif''':True,'''gprtf''':True,'''midi_monophonic''':True,'''model_name''':'''C200''','''ringtone_midi_monophonic''':True,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':64,'''wallpaper_preferred_width''':98}) +devices.devids['''mot_c201_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_c201_ver1''', '''MOT-C201''', True, {'''brand_name''':'''Motorola''','''max_image_height''':64,'''max_image_width''':98,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C201''','''resolution_height''':64,'''resolution_width''':98,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True}) +devices.devids['''mot_c212_ver1'''] = devclass(devices.devids['''generic'''], '''mot_c212_ver1''', '''MOT-C212''', True, {'''brand_name''':'''Motorola''','''model_name''':'''C212'''}) +devices.devids['''mot_c257_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_c257_ver1''', '''MOT-C257''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''max_deck_size''':8192,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C257''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_jpg''':True}) +devices.devids['''mot_c257_ver1_sub0131'''] = devclass(devices.devids['''mot_c257_ver1'''], '''mot_c257_ver1_sub0131''', '''MOT-C257/0.1.31 UP.Browser/6.2.3.9.c.6 (GUI) MMP/2.0''', False, None) +devices.devids['''mot_c257_ver1_sub0132'''] = devclass(devices.devids['''mot_c257_ver1'''], '''mot_c257_ver1_sub0132''', '''MOT-C257/0.1.32 UP.Browser/6.2.3.9.c.6 (GUI) MMP/2.0''', False, None) +devices.devids['''mot_c261_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_c261_ver1''', '''MOT-C261''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''directdownload_support''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C261''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''mot_c261_ver1_sub6239c6'''] = devclass(devices.devids['''mot_c261_ver1'''], '''mot_c261_ver1_sub6239c6''', '''MOT-C261 UP.Browser/6.2.3.9.c.6 (GUI) MMP/2.0''', False, None) +devices.devids['''mot_c261_ver1_sub0140'''] = devclass(devices.devids['''mot_c261_ver1'''], '''mot_c261_ver1_sub0140''', '''MOT-C261/0.1.40 UP.Browser/6.2.3.9.c.6 (GUI) MMP/2.0''', False, None) +devices.devids['''mot_c331_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_c331_ver1''', '''MOT-C331''', True, {'''brand_name''':'''Motorola''','''j2me_midp_1_0''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C331''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''text_imelody''':True}) +devices.devids['''mot_c332_ver1'''] = devclass(devices.devids['''generic'''], '''mot_c332_ver1''', '''MOT-C332''', True, {'''brand_name''':'''Motorola''','''model_name''':'''C332'''}) +devices.devids['''mot_c350_ver1'''] = devclass(devices.devids['''mot_mib20_generic'''], '''mot_c350_ver1''', '''MOT-c350''', True, {'''colors''':4096,'''columns''':14,'''downloadfun_support''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':106496,'''max_image_height''':48,'''max_image_width''':94,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C350''','''oma_v_1_0_combined_delivery''':False,'''oma_v_1_0_forwardlock''':False,'''oma_v_1_0_separate_delivery''':False,'''resolution_height''':65,'''resolution_width''':96,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':7,'''uaprof''':'''http://motorola.handango.com/phoneconfig/c350/Profile/c350.rdf''','''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':65,'''wallpaper_max_width''':96,'''wallpaper_preferred_height''':65,'''wallpaper_preferred_width''':96}) +devices.devids['''mot_c350_ver1_subg090435r'''] = devclass(devices.devids['''mot_c350_ver1'''], '''mot_c350_ver1_subg090435r''', '''MOT-c350/G_09.04.35R MIB/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c350_ver1_subulsg091018r'''] = devclass(devices.devids['''mot_c350_ver1'''], '''mot_c350_ver1_subulsg091018r''', '''MOT-c350/ULS_G_09.10.18R MIB/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c350m_ver1'''] = devclass(devices.devids['''mot_c350_ver1'''], '''mot_c350m_ver1''', '''MOT-c350M''', True, {'''model_name''':'''C350 US'''}) +devices.devids['''mot_c350m_ver1_subag090437r'''] = devclass(devices.devids['''mot_c350m_ver1'''], '''mot_c350m_ver1_subag090437r''', '''MOT-c350M/A_G_09.04.37R MIB/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c350m_ver1_subg090423r'''] = devclass(devices.devids['''mot_c350m_ver1'''], '''mot_c350m_ver1_subg090423r''', '''MOT-c350M/G_09.04.23R MIB/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c350m_ver1_subg090478r'''] = devclass(devices.devids['''mot_c350m_ver1'''], '''mot_c350m_ver1_subg090478r''', '''MOT-c350M/G_09.04.78R MIB/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c350m_ver1_subg090478rcolumbia'''] = devclass(devices.devids['''mot_c350m_ver1'''], '''mot_c350m_ver1_subg090478rcolumbia''', '''MOT-c350M/g_09.04.78r_columbia_3mnc_fix MIB/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c350m_ver1_subltsg09102ar'''] = devclass(devices.devids['''mot_c350m_ver1'''], '''mot_c350m_ver1_subltsg09102ar''', '''MOT-c350M/LTS_G_09.10.2AR MIB/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c350m_ver1_subulshag091026r'''] = devclass(devices.devids['''mot_c350m_ver1'''], '''mot_c350m_ver1_subulshag091026r''', '''MOT-c350M/ULSHA_G_09.10.26R MIB/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c350m_ver1_subulsg09101ar'''] = devclass(devices.devids['''mot_c350m_ver1'''], '''mot_c350m_ver1_subulsg09101ar''', '''MOT-c350M/ULS_G_09.10.1AR MIB/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c350m_ver1_subulsasg091029r'''] = devclass(devices.devids['''mot_c350m_ver1'''], '''mot_c350m_ver1_subulsasg091029r''', '''MOT-c350M/ULSAS_G_09.10.29R MIB/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c350v_ver1'''] = devclass(devices.devids['''mot_c350_ver1'''], '''mot_c350v_ver1''', '''MOT-c350V''', False, None) +devices.devids['''mot_c350v_ver1_subg0908bcr'''] = devclass(devices.devids['''mot_c350v_ver1'''], '''mot_c350v_ver1_subg0908bcr''', '''MOT-c350V/G_09.08.BCR MIB/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c353_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_c353_ver1''', '''MOT-C353''', True, {'''brand_name''':'''Motorola''','''midi_polyphonic''':True,'''model_name''':'''C353''','''ringtone_voices''':16,'''text_imelody''':True}) +devices.devids['''mot_c353_ver1_sublowercase'''] = devclass(devices.devids['''mot_c353_ver1'''], '''mot_c353_ver1_sublowercase''', '''MOT-c353''', False, None) +devices.devids['''mot_c357_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''mot_c357_ver1''', '''MOT-C357''', False, None) +devices.devids['''mot_c357_ver1_sub10'''] = devclass(devices.devids['''mot_c357_ver1'''], '''mot_c357_ver1_sub10''', '''MOT-C357/1.0 UP.Browser 6.2.2.1 (GUI) MMP-2.0 /M4 3.02''', False, None) +devices.devids['''mot_c375_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c375_ver1''', '''MOT-C375''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':4096,'''columns''':14,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_imelody''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''max_image_height''':45,'''max_image_width''':96,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':480,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':40,'''mms_mp4''':True,'''mms_wbmp''':True,'''model_name''':'''C375''','''mp3''':True,'''receiver''':True,'''resolution_height''':65,'''resolution_width''':96,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''smf''':True,'''softkey_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/c375/Profile/c375.rdf''','''voices''':40,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':False,'''wav''':True}) +devices.devids['''mot_c380_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c380_ver1''', '''MOT-C380''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':16,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':819200,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':116,'''j2me_screen_width''':128,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':1887436,'''j2me_udp''':True,'''j2me_wmapi_1_0''':True,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''C380''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':False,'''picture''':True,'''picture_bmp''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':480,'''picture_max_width''':640,'''picture_preferred_height''':96,'''picture_preferred_width''':128,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_amr''':False,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''rows''':5,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''screensaver_resize''':'''fixed_ratio''','''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/c380/profile/c380.rdf''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_resize''':'''fixed_ratio''','''wallpaper_wbmp''':True}) +devices.devids['''mot_c380_ver1_sub040502'''] = devclass(devices.devids['''mot_c380_ver1'''], '''mot_c380_ver1_sub040502''', '''MOT-C380/04.05.02_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c380_ver1_sub0bd109r'''] = devclass(devices.devids['''mot_c380_ver1'''], '''mot_c380_ver1_sub0bd109r''', '''MOT-C380/0B.D1.09R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c380m_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c380m_ver1''', '''MOT-C380M''', False, None) +devices.devids['''mot_c380m_ver1_sub0bd109r'''] = devclass(devices.devids['''mot_c380m_ver1'''], '''mot_c380m_ver1_sub0bd109r''', '''MOT-C380M/0B.D1.09R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_c380p_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c380p_ver1''', '''MOT-C380P''', False, None) +devices.devids['''mot_c380p_ver1_sub0bd223r'''] = devclass(devices.devids['''mot_c380p_ver1'''], '''mot_c380p_ver1_sub0bd223r''', '''MOT-C380P/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_c380a_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c380a_ver1''', '''MOT-C380a''', False, None) +devices.devids['''mot_c380a_ver1_sub0bd223r'''] = devclass(devices.devids['''mot_c380a_ver1'''], '''mot_c380a_ver1_sub0bd223r''', '''MOT-C380a/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_c380i_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c380i_ver1''', '''MOT-C380i''', False, None) +devices.devids['''mot_c380i_ver1_sub0bd223r'''] = devclass(devices.devids['''mot_c380i_ver1'''], '''mot_c380i_ver1_sub0bd223r''', '''MOT-C380i/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_c381p_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c381p_ver1''', '''MOT-C381p''', True, {'''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''C381P''','''mp3''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''sender''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':35,'''wallpaper_preferred_width''':96}) +devices.devids['''mot_c381_ver1'''] = devclass(devices.devids['''mot_c381p_ver1'''], '''mot_c381_ver1''', '''MOT-C381''', True, {'''model_name''':'''C381''','''wallpaper''':True}) +devices.devids['''mot_c381p_ver1_sub0be312r'''] = devclass(devices.devids['''mot_c381p_ver1'''], '''mot_c381p_ver1_sub0be312r''', '''MOT-C381p/0B.E3.12R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_c384_ver1'''] = devclass(devices.devids['''generic'''], '''mot_c384_ver1''', '''MOT-C384''', False, None) +devices.devids['''mot_c385_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c385_ver1''', '''MOT-C385''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':16,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':522240,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''C385''','''mp3''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''rows''':5,'''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/c385/profile/c385.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''mot_385_ver1'''] = devclass(devices.devids['''mot_c385_ver1'''], '''mot_385_ver1''', '''MOT-385''', True, {'''max_image_height''':96,'''model_name''':385,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_385_ver1_sub0bd223r'''] = devclass(devices.devids['''mot_385_ver1'''], '''mot_385_ver1_sub0bd223r''', '''MOT-385/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c385_ver1_sub0bd109r'''] = devclass(devices.devids['''mot_c385_ver1'''], '''mot_c385_ver1_sub0bd109r''', '''MOT-C385/0B.D1.09R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c385_ver1_sub_c380'''] = devclass(devices.devids['''mot_c385_ver1'''], '''mot_c385_ver1_sub_c380''', '''MOT-c 380/0B.D2.2FR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c390_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c390_ver1''', '''MOT-C390''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':16,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_imelody''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':116,'''j2me_screen_width''':128,'''max_data_rate''':40,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':480,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''C390''','''mp3''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/c390/Profile/c390.rdf''','''voices''':40,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':False,'''wav''':True}) +devices.devids['''mot_c390_ver1_sub0ba006i'''] = devclass(devices.devids['''mot_c390_ver1'''], '''mot_c390_ver1_sub0ba006i''', '''MOT-C390/0B.A0.06I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':9}) +devices.devids['''mot_c390_ver1_sub0ba00fr221'''] = devclass(devices.devids['''mot_c390_ver1'''], '''mot_c390_ver1_sub0ba00fr221''', '''MOT-c 390/0B.A0.0FR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':9}) +devices.devids['''mot_c4_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_c4_ver1''', '''MOT-C4/4 UP/4''', True, {'''brand_name''':'''Motorola''','''columns''':16,'''max_deck_size''':2048,'''model_name''':'''V50''','''nokia_voice_call''':True,'''resolution_width''':96,'''rows''':4}) +devices.devids['''mot_c4_ver1_sub0021'''] = devclass(devices.devids['''mot_c4_ver1'''], '''mot_c4_ver1_sub0021''', '''MOT-C4/0.0.21 UP/4.0.5m''', False, None) +devices.devids['''mot_c4_ver1_sub0021xxxx'''] = devclass(devices.devids['''mot_c4_ver1'''], '''mot_c4_ver1_sub0021xxxx''', '''MOT-C4/0.0.21 UP/4.0.5m UP.Browser/4.0.5m-XXXX''', False, None) +devices.devids['''mot_c4_ver1_sub414'''] = devclass(devices.devids['''mot_c4_ver1'''], '''mot_c4_ver1_sub414''', '''MOT-C4/4.1.4 UP/4.1.16a''', False, None) +devices.devids['''mot_talkabout_v2288_ver1'''] = devclass(devices.devids['''mot_c4_ver1'''], '''mot_talkabout_v2288_ver1''', '''Talkabout V2288''', True, {'''model_name''':'''Talkabout V2288'''}) +devices.devids['''mot_v8088_ver1'''] = devclass(devices.devids['''generic'''], '''mot_v8088_ver1''', '''MOT-V8088''', True, {'''brand_name''':'''Motorola''','''model_name''':'''V8088'''}) +devices.devids['''mot_v800_ver1'''] = devclass(devices.devids['''generic'''], '''mot_v800_ver1''', '''MOT-V800''', True, {'''brand_name''':'''Motorola''','''model_name''':'''V800'''}) +devices.devids['''mot_v51_ver1'''] = devclass(devices.devids['''generic'''], '''mot_v51_ver1''', '''MOT-V51''', True, {'''brand_name''':'''Motorola''','''model_name''':'''V51'''}) +devices.devids['''mot_c400_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c400_ver1''', '''MOT-C400''', True, {'''model_name''':'''C400'''}) +devices.devids['''mot_c450_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c450_ver1''', '''MOT-C450''', True, {'''bmp''':True,'''colors''':4096,'''columns''':14,'''downloadfun_support''':True,'''imelody''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':1048576,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':20,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':22,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':21,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':1048576,'''j2me_udp''':True,'''max_data_rate''':40,'''max_image_height''':65,'''max_image_width''':96,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_wbmp''':True,'''model_name''':'''C450''','''mp3''':True,'''receiver''':True,'''resolution_height''':65,'''resolution_width''':96,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''rows''':7,'''sender''':True,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':65,'''wallpaper_max_width''':96,'''wallpaper_png''':True,'''wallpaper_preferred_height''':65,'''wallpaper_preferred_width''':96,'''wallpaper_wbmp''':True}) +devices.devids['''mot_c370_ver1'''] = devclass(devices.devids['''mot_c450_ver1'''], '''mot_c370_ver1''', '''MOT-C370''', True, {'''j2me_midp_2_0''':True,'''model_name''':'''C370'''}) +devices.devids['''mot_c450_ver1_sub0a032dr'''] = devclass(devices.devids['''mot_c450_ver1'''], '''mot_c450_ver1_sub0a032dr''', '''MOT-C450/0A.03.2DR MIB/2.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_c450_ver1_sub0a0403r'''] = devclass(devices.devids['''mot_c450_ver1'''], '''mot_c450_ver1_sub0a0403r''', '''MOT-C450/0A.04.03R MIB/2.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_c480_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c480_ver1''', '''MOT-C480''', False, None) +devices.devids['''mot_c480_ver1_sub0bd223r'''] = devclass(devices.devids['''mot_c480_ver1'''], '''mot_c480_ver1_sub0bd223r''', '''MOT-C480/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_c510_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_c510_ver1''', '''MOT-C510''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C510''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_c510_ver1_sub101'''] = devclass(devices.devids['''mot_c510_ver1'''], '''mot_c510_ver1_sub101''', '''MOT-C510/1.01 UP.Browser/6.2.2.5 (GUI) MMP/1.0''', False, None) +devices.devids['''mot_c550_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c550_ver1''', '''MOT-C550''', True, {'''bmp''':True,'''colors''':4096,'''columns''':14,'''downloadfun_support''':True,'''imelody''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':1048576,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':1048576,'''j2me_udp''':True,'''max_data_rate''':40,'''max_deck_size''':522240,'''max_image_height''':48,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_wbmp''':True,'''model_name''':'''C550''','''mp3''':True,'''receiver''':True,'''resolution_height''':65,'''resolution_width''':96,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''rows''':7,'''sender''':True,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':65,'''wallpaper_max_width''':96,'''wallpaper_png''':True,'''wallpaper_preferred_height''':65,'''wallpaper_preferred_width''':96,'''wallpaper_wbmp''':True}) +devices.devids['''mot_c550_ver1_sub0a100ei'''] = devclass(devices.devids['''mot_c550_ver1'''], '''mot_c550_ver1_sub0a100ei''', '''MOT-C550/0A.10.0EI MIB/2.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_c65_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c65_ver1''', '''MOT-C65''', False, None) +devices.devids['''mot_c65_ver1_sub0bd223r'''] = devclass(devices.devids['''mot_c65_ver1'''], '''mot_c65_ver1_sub0bd223r''', '''MOT-C65/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_c600_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c600_ver1''', '''MOT-C600''', True, {'''model_name''':'''C600'''}) +devices.devids['''mot_c650_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c650_ver1''', '''MOT-C650''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''built_in_camera''':True,'''colors''':65536,'''columns''':16,'''downloadfun_support''':True,'''imelody''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':819200,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':1887436,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':522240,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''C650''','''mp3''':True,'''oma_v_1_0_separate_delivery''':False,'''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':480,'''picture_max_width''':640,'''picture_png''':True,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''rows''':5,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''screensaver_resize''':'''fixed_ratio''','''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/c650/profile/c650.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_amr''':True,'''video_acodec_qcelp''':True,'''video_df_size_limit''':102400,'''video_max_frame_rate''':15,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_resize''':'''fixed_ratio''','''wallpaper_wbmp''':True}) +devices.devids['''mot_c650_ver1_sub031201'''] = devclass(devices.devids['''mot_c650_ver1'''], '''mot_c650_ver1_sub031201''', '''MOT-C650/03.12.01_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c650_ver1_sub0bd22fr'''] = devclass(devices.devids['''mot_c650_ver1'''], '''mot_c650_ver1_sub0bd22fr''', '''MOT-C650/0B.D2.2FR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c650_ver1_submotorola0bd223r'''] = devclass(devices.devids['''mot_c650_ver1'''], '''mot_c650_ver1_submotorola0bd223r''', '''MOT-Motorola C650/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c650_ver1_submotoe398'''] = devclass(devices.devids['''mot_c650_ver1'''], '''mot_c650_ver1_submotoe398''', '''MOT- E 398/0B.D2.32R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_c650g_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c650g_ver1''', '''MOT-C650g''', False, None) +devices.devids['''mot_c650g_ver1_sub0bd232r'''] = devclass(devices.devids['''mot_c650g_ver1'''], '''mot_c650g_ver1_sub0bd232r''', '''MOT-C650g/0B.D2.32R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_c650i_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c650i_ver1''', '''MOT-C650i''', False, None) +devices.devids['''mot_c650i_ver1_sub0bd223r'''] = devclass(devices.devids['''mot_c650i_ver1'''], '''mot_c650i_ver1_sub0bd223r''', '''MOT-C650i/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_c651_ver1'''] = devclass(devices.devids['''mot_c650_ver1'''], '''mot_c651_ver1''', '''MOT-C651''', True, {'''max_image_height''':96,'''model_name''':'''C651'''}) +devices.devids['''mot_c698p_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c698p_ver1''', '''MOT-C698p''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':220,'''max_image_width''':176,'''model_name''':'''C698p''','''resolution_height''':220,'''resolution_width''':176,'''screensaver''':True,'''wallpaper''':True}) +devices.devids['''mot_c698p_ver1_sub0b9309r'''] = devclass(devices.devids['''mot_c698p_ver1'''], '''mot_c698p_ver1_sub0b9309r''', '''MOT-C698p/0B.93.09R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_c975_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c975_ver1''', '''MOT-C975''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''colors''':65536,'''columns''':19,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':522240,'''max_image_height''':200,'''max_image_width''':165,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''C975 (Tyax)''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/C975/Profile/C975.rdf''','''uaprof2''':'''http://motorola.handango.com/phoneconfig/C975/Profile/C975_NO_BEARER.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''voices''':24,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':173,'''wallpaper_preferred_width''':174,'''wav''':True}) +devices.devids['''mot_c975_ver1_sub801202i'''] = devclass(devices.devids['''mot_c975_ver1'''], '''mot_c975_ver1_sub801202i''', '''MOT-C975/80.12.02I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''mot_c980_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_c980_ver1''', '''MOT-C980''', True, {'''colors''':4096,'''columns''':20,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':176,'''max_image_width''':220,'''model_name''':'''C980''','''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':240,'''picture_max_width''':320,'''picture_png''':True,'''picture_wbmp''':True,'''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':8,'''screensaver''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_real_media_8''':True,'''streaming_real_media_9''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_max_audio_bit_rate''':32,'''streaming_video_max_bit_rate''':128,'''streaming_video_max_frame_rate''':15,'''streaming_video_max_video_bit_rate''':96,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''streaming_video_sqcif''':True,'''streaming_video_sqcif_max_height''':96,'''streaming_video_sqcif_max_width''':128,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''streaming_wmv''':True,'''svgt_1_1''':True,'''svgt_1_1_plus''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/c980/profile/c980.rdf''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':153600,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':True,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wallpaper_resize''':'''fixed_ratio'''}) +devices.devids['''mot_c980_ver1_sub802d05i'''] = devclass(devices.devids['''mot_c980_ver1'''], '''mot_c980_ver1_sub802d05i''', '''MOT-C980/80.2D.05I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''mot_c980_ver1_sub802e2a'''] = devclass(devices.devids['''mot_c980_ver1'''], '''mot_c980_ver1_sub802e2a''', '''MOT-C980/80.2E.2A. MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''mot_c980_ver1_sub802f12i'''] = devclass(devices.devids['''mot_c980_ver1'''], '''mot_c980_ver1_sub802f12i''', '''MOT-C980/80.2F.12I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''mot_c980m_ver1'''] = devclass(devices.devids['''mot_c980_ver1'''], '''mot_c980m_ver1''', '''MOT-C980M''', True, {'''model_name''':'''C980M'''}) +devices.devids['''mot_c980m_ver1_sub832838'''] = devclass(devices.devids['''mot_c980m_ver1'''], '''mot_c980m_ver1_sub832838''', '''MOT-C980M/83.28.38. MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_canary_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_canary_ver1''', '''MOT-Canary''', False, None) +devices.devids['''mot_canary_ver1_sub021602'''] = devclass(devices.devids['''mot_canary_ver1'''], '''mot_canary_ver1_sub021602''', '''MOT-Canary/ 02.16.02/10.21.2005 MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', False, None) +devices.devids['''mot_canary_ver1_sub021703'''] = devclass(devices.devids['''mot_canary_ver1'''], '''mot_canary_ver1_sub021703''', '''MOT-Canary/SJUG1361AA 02.17.03/10.21.2005 MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', False, None) +devices.devids['''mot_cb_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_cb_ver1''', '''MOT-CB''', True, {'''brand_name''':'''Motorola''','''model_name''':'''CB''','''rows''':4}) +devices.devids['''mot_cb_ver1_sub0018_4010'''] = devclass(devices.devids['''mot_cb_ver1'''], '''mot_cb_ver1_sub0018_4010''', '''MOT-CB/0.0.18 UP/4.0.10 UP.Browser/4.0.10-XXXX''', False, None) +devices.devids['''mot_cb_ver2'''] = devclass(devices.devids['''mot_cb_ver1'''], '''mot_cb_ver2''', '''MOT-CB/4 UP/4''', False, None) +devices.devids['''mot_cb_ver2_sub415_4116f'''] = devclass(devices.devids['''mot_cb_ver2'''], '''mot_cb_ver2_sub415_4116f''', '''MOT-CB/4.1.5 UP/4.1.16f''', False, None) +devices.devids['''mot_cb_ver1_sub415fxxxx'''] = devclass(devices.devids['''mot_cb_ver1'''], '''mot_cb_ver1_sub415fxxxx''', '''MOT-CB/4.1.5 UP/4.1.16f UP.Browser/4.1.16f-XXXX''', False, None) +devices.devids['''mot_cf_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_cf_ver1''', '''MOT-CF/00 UP/4''', False, None) +devices.devids['''mot_cf_ver1_sub002631'''] = devclass(devices.devids['''mot_cf_ver1'''], '''mot_cf_ver1_sub002631''', '''MOT-CF/00.26.31 UP/4.1.16f''', False, None) +devices.devids['''mot_cf_ver1_sub001213'''] = devclass(devices.devids['''mot_cf_ver1'''], '''mot_cf_ver1_sub001213''', '''MOT-CF/00.12.13 UP/4.1.9m''', False, None) +devices.devids['''mot_d1_ver1'''] = devclass(devices.devids['''generic'''], '''mot_d1_ver1''', '''MOT-D1''', False, None) +devices.devids['''mot_d1_ver1_sub418'''] = devclass(devices.devids['''mot_d1_ver1'''], '''mot_d1_ver1_sub418''', '''MOT-D1/4.1.8 UP/4.1.16s''', False, None) +devices.devids['''mot_d3_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_d3_ver1''', '''MOT-D3/0 UP/4''', False, None) +devices.devids['''mot_d3_ver1_sub0022'''] = devclass(devices.devids['''mot_d3_ver1'''], '''mot_d3_ver1_sub0022''', '''MOT-D3/0.0.22 UP/4.0.5n''', False, None) +devices.devids['''mot_d5_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_d5_ver1''', '''MOT-D5/0 UP/4''', True, {'''brand_name''':'''Motorola''','''columns''':13,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':2048,'''max_image_height''':51,'''max_image_width''':91,'''model_name''':'''T191''','''nokia_voice_call''':True,'''resolution_height''':64,'''resolution_width''':96,'''rows''':4}) +devices.devids['''mot_d5_ver1_sub0022'''] = devclass(devices.devids['''mot_d5_ver1'''], '''mot_d5_ver1_sub0022''', '''MOT-D5/0.0.22 UP/4.0.5n''', False, None) +devices.devids['''mot_d5_ver1_sub0023'''] = devclass(devices.devids['''mot_d5_ver1'''], '''mot_d5_ver1_sub0023''', '''MOT-D5/0.0.23 UP/4.0.5o''', False, None) +devices.devids['''mot_d5_ver1_sub0023oxxxx'''] = devclass(devices.devids['''mot_d5_ver1'''], '''mot_d5_ver1_sub0023oxxxx''', '''MOT-D5/0.0.23 UP/4.0.5o UP.Browser/4.0.5o-XXXX''', False, None) +devices.devids['''mot_d5_ver1_sub416f'''] = devclass(devices.devids['''mot_d5_ver1'''], '''mot_d5_ver1_sub416f''', '''MOT-D5/4.1.5 UP/4.1.16f UP.Browser/4.1.16f-XXXX''', False, None) +devices.devids['''mot_d5_ver1_sub4123c'''] = devclass(devices.devids['''mot_d5_ver1'''], '''mot_d5_ver1_sub4123c''', '''MOT-D5/4.1.5 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_d5_ver1_sub4120i'''] = devclass(devices.devids['''mot_d5_ver1'''], '''mot_d5_ver1_sub4120i''', '''MOT-D5/4.1.5 UP/4.1.20i''', False, None) +devices.devids['''mot_d5_ver1_sub4154120ixxxx'''] = devclass(devices.devids['''mot_d5_ver1'''], '''mot_d5_ver1_sub4154120ixxxx''', '''MOT-D5/4.1.5 UP/4.1.20i UP.Browser/4.1.20i-XXXX''', False, None) +devices.devids['''mot_d5_ver1_subt1910bd223r'''] = devclass(devices.devids['''mot_d5_ver1'''], '''mot_d5_ver1_subt1910bd223r''', '''MOT-T191/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_d5_ver2'''] = devclass(devices.devids['''mot_d5_ver1'''], '''mot_d5_ver2''', '''MOT-D5''', False, None) +devices.devids['''mot_d5_ver2_sub5023'''] = devclass(devices.devids['''mot_d5_ver2'''], '''mot_d5_ver2_sub5023''', '''MOT-D5/5.0.2 UP.Browser/5.0.2.3 (GUI)''', False, None) +devices.devids['''mot_d5_ver2_sub5041'''] = devclass(devices.devids['''mot_d5_ver2'''], '''mot_d5_ver2_sub5041''', '''MOT-D5/5.0.2 UP.Browser/5.0.4.1 (GUI)''', False, None) +devices.devids['''mot_d6_ver1'''] = devclass(devices.devids['''generic'''], '''mot_d6_ver1''', '''MOT-D6''', False, None) +devices.devids['''mot_d6_ver1_sub415'''] = devclass(devices.devids['''mot_d6_ver1'''], '''mot_d6_ver1_sub415''', '''MOT-D6/4.1.5 UP/4.1.16f''', False, None) +devices.devids['''mot_d8_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_d8_ver1''', '''MOT-D8''', True, {'''brand_name''':'''Motorola''','''model_name''':'''D8'''}) +devices.devids['''mot_d8_ver1_sub418s'''] = devclass(devices.devids['''mot_d8_ver1'''], '''mot_d8_ver1_sub418s''', '''MOT-D8/4.1.8 UP/4.1.16s''', False, None) +devices.devids['''mot_d8_ver1_sub4116sxxxx'''] = devclass(devices.devids['''mot_d8_ver1'''], '''mot_d8_ver1_sub4116sxxxx''', '''MOT-D8/4.1.8 UP/4.1.16s UP.Browser/4.1.16s-XXXX''', False, None) +devices.devids['''mot_d8_ver1_sub419xxxx'''] = devclass(devices.devids['''mot_d8_ver1'''], '''mot_d8_ver1_sub419xxxx''', '''MOT-D8/4.1.9 UP/4.1.19i UP.Browser/4.1.19i-XXXX''', False, None) +devices.devids['''mot_d8_ver1_sub4123'''] = devclass(devices.devids['''mot_d8_ver1'''], '''mot_d8_ver1_sub4123''', '''MOT-D8/4.1.9 UP.Browser/4.1.23''', False, None) +devices.devids['''mot_dd_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_dd_ver1''', '''MOT-DD''', False, None) +devices.devids['''mot_dd_ver1_sub0022'''] = devclass(devices.devids['''mot_dd_ver1'''], '''mot_dd_ver1_sub0022''', '''MOT-DD/0.0.22 UP/4.0.5n''', False, None) +devices.devids['''mot_df_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_df_ver1''', '''MOT-DF''', False, None) +devices.devids['''mot_df_ver1_sub418'''] = devclass(devices.devids['''mot_df_ver1'''], '''mot_df_ver1_sub418''', '''MOT-DF/4.1.8 UP/4.1.16s''', False, None) +devices.devids['''mot_e1_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_e1_ver1''', '''MOT-E1''', False, {'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128}) +devices.devids['''mot_e1_ver1_sub418'''] = devclass(devices.devids['''mot_e1_ver1'''], '''mot_e1_ver1_sub418''', '''MOT-E1/4.1.8 UP.Browser/4.1.23''', False, None) +devices.devids['''mot_e1_ver1_sub419'''] = devclass(devices.devids['''mot_e1_ver1'''], '''mot_e1_ver1_sub419''', '''MOT-E1/4.1.9 UP/4.1.19i''', False, None) +devices.devids['''mot_babyviper_e1_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_babyviper_e1_ver1''', '''MOT-babyVIPER-E1''', False, None) +devices.devids['''mot_babyviper_e1_ver1_sub0e306fr'''] = devclass(devices.devids['''mot_babyviper_e1_ver1'''], '''mot_babyviper_e1_ver1_sub0e306fr''', '''MOT-babyVIPER-E1/0E.30.6FR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''motorola_e365_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''motorola_e365_ver1''', '''Motorola-E365''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':102400,'''max_image_height''':120,'''max_image_width''':118,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':106,'''mms_max_size''':50000,'''mms_max_width''':118,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''E365''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':False,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':8,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/e365/Profile/e365.rdf''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':120,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120,'''wta_phonebook''':True}) +devices.devids['''motorola_e365_ver1_sub6107'''] = devclass(devices.devids['''motorola_e365_ver1'''], '''motorola_e365_ver1_sub6107''', '''Motorola-E365 UP.Browser/6.1.0.7 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''motorola_e365_ver1_sub61073'''] = devclass(devices.devids['''motorola_e365_ver1'''], '''motorola_e365_ver1_sub61073''', '''Motorola-E365 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''motorola_e365_ver1_sub060'''] = devclass(devices.devids['''motorola_e365_ver1'''], '''motorola_e365_ver1_sub060''', '''Motorola-E365/0.6.0 UP.Browser/6.1.0.7 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''motorola_e365_ver1_sub61074'''] = devclass(devices.devids['''motorola_e365_ver1'''], '''motorola_e365_ver1_sub61074''', '''Motorola-E365 UP.Browser/6.1.0.7.4 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''motorola_e365_ver1_sub61074revmr4'''] = devclass(devices.devids['''motorola_e365_ver1'''], '''motorola_e365_ver1_sub61074revmr4''', '''Motorola-E365 UP.Browser/6.1.0.7.4 (GUI) MMP/1.0ion/CLDC-1.00 Rev/MR4''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e375_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_e375_ver1''', '''MOT-E375''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''model_name''':'''E375''','''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''screensaver''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''mot_e375_ver1_sub0e230er'''] = devclass(devices.devids['''mot_e375_ver1'''], '''mot_e375_ver1_sub0e230er''', '''MOT-E375/0E.23.0ER MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_e380_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_e380_ver1''', '''MOT-E380''', True, {'''amr''':True,'''bmp''':True,'''colors''':4096,'''columns''':14,'''downloadfun_support''':True,'''imelody''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':1048576,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':20,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':22,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':21,'''j2me_screen_height''':65,'''j2me_screen_width''':96,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':1048576,'''j2me_udp''':True,'''max_data_rate''':40,'''max_image_height''':65,'''max_image_width''':96,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_wbmp''':True,'''model_name''':'''E380''','''mp3''':True,'''oma_support''':False,'''oma_v_1_0_combined_delivery''':False,'''oma_v_1_0_forwardlock''':False,'''oma_v_1_0_separate_delivery''':False,'''receiver''':True,'''resolution_height''':65,'''resolution_width''':96,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''sp_midi''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':65,'''wallpaper_max_width''':96,'''wallpaper_png''':True,'''wallpaper_preferred_height''':65,'''wallpaper_preferred_width''':96,'''wav''':True}) +devices.devids['''mot_e380_ver1_sub05200br'''] = devclass(devices.devids['''mot_e380_ver1'''], '''mot_e380_ver1_sub05200br''', '''MOT-E380/05.20.0BR MIB/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_e380_ver1_sub0a0320r'''] = devclass(devices.devids['''mot_e380_ver1'''], '''mot_e380_ver1_sub0a0320r''', '''MOT-E380/0A.03.20R MIB/2.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_e390_ver1'''] = devclass(devices.devids['''mot_mib20_generic'''], '''mot_e390_ver1''', '''MOT-E390''', True, {'''aac''':True,'''bmp''':True,'''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':2097152,'''j2me_max_record_store_size''':65536,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''E390''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True}) +devices.devids['''mot_e390_ver1_sub05200br'''] = devclass(devices.devids['''mot_e390_ver1'''], '''mot_e390_ver1_sub05200br''', '''MOT-E390/05.20.0BR MIB/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_e398_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_e398_ver1''', '''MOT-E398''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''imelody''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':187,'''j2me_canvas_width''':176,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':819200,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':204,'''j2me_screen_width''':176,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':5242880,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':522240,'''max_image_height''':185,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''E398''','''mp3''':True,'''multipart_support''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':15360,'''ringtone_imelody''':True,'''ringtone_inline_size_limit''':15360,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_oma_size_limit''':15360,'''ringtone_spmidi''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''rows''':11,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':92160,'''screensaver_gif''':True,'''screensaver_inline_size_limit''':92160,'''screensaver_oma_size_limit''':92160,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''screensaver_resize''':'''crop_centered''','''screensaver_wbmp''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/e398/Profile/e398.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':15360,'''wallpaper_jpg''':True,'''wallpaper_oma_size_limit''':15360,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True}) +devices.devids['''mot_e398_ver1_sub031701'''] = devclass(devices.devids['''mot_e398_ver1'''], '''mot_e398_ver1_sub031701''', '''MOT-E398/03.17.01_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e398_ver1_sub040401'''] = devclass(devices.devids['''mot_e398_ver1'''], '''mot_e398_ver1_sub040401''', '''MOT-E398/04.04.01 MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e398_ver1_sub802407i'''] = devclass(devices.devids['''mot_e398_ver1'''], '''mot_e398_ver1_sub802407i''', '''MOT-E398/80.24.07I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e398_ver1_subrokr0e3044r'''] = devclass(devices.devids['''mot_e398_ver1'''], '''mot_e398_ver1_subrokr0e3044r''', '''MOT-E398@ROKR/0E.30.44R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e398_ver1_subrokr0e3048r'''] = devclass(devices.devids['''mot_e398_ver1'''], '''mot_e398_ver1_subrokr0e3048r''', '''MOT-E398 ROKR/0E.30.48R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e398_ver1_sub0bd109r'''] = devclass(devices.devids['''mot_e398_ver1'''], '''mot_e398_ver1_sub0bd109r''', '''MOT-e398/0B.D1.09R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e398_ver1_sub0bd223r'''] = devclass(devices.devids['''mot_e398_ver1'''], '''mot_e398_ver1_sub0bd223r''', '''MOT-E 398/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e398_ver1_submotorola0e3042r'''] = devclass(devices.devids['''mot_e398_ver1'''], '''mot_e398_ver1_submotorola0e3042r''', '''MOT-Motorola E398/0E.30.42R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e398b_ver2'''] = devclass(devices.devids['''mot_e398_ver1'''], '''mot_e398b_ver2''', '''MOT-E398B''', False, {'''model_name''':'''E398B'''}) +devices.devids['''mot_e398b_ver2_sub0e208br'''] = devclass(devices.devids['''mot_e398b_ver2'''], '''mot_e398b_ver2_sub0e208br''', '''MOT-E398B/0E.20.8BR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e398e_ver1'''] = devclass(devices.devids['''mot_e398_ver1'''], '''mot_e398e_ver1''', '''MOT-E398E''', False, {'''model_name''':'''E398E'''}) +devices.devids['''mot_e398e_sub0e306fr'''] = devclass(devices.devids['''mot_e398e_ver1'''], '''mot_e398e_sub0e306fr''', '''MOT-E398e/0E.30.6FR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e398i_ver1'''] = devclass(devices.devids['''mot_e398_ver1'''], '''mot_e398i_ver1''', '''MOT-E398I''', False, {'''model_name''':'''E398I'''}) +devices.devids['''mot_e398i_sub0e3048r221'''] = devclass(devices.devids['''mot_e398i_ver1'''], '''mot_e398i_sub0e3048r221''', '''MOT-E 398i/0E.30.48R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e398i_sub0e3048r'''] = devclass(devices.devids['''mot_e398i_ver1'''], '''mot_e398i_sub0e3048r''', '''MOT-E398i/0E.30.48R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e398u_ver1'''] = devclass(devices.devids['''mot_e398_ver1'''], '''mot_e398u_ver1''', '''MOT-E398U''', False, {'''model_name''':'''E398U'''}) +devices.devids['''mot_e398u_sub0e3048r221'''] = devclass(devices.devids['''mot_e398u_ver1'''], '''mot_e398u_sub0e3048r221''', '''MOT-E398u/0E.30.70R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e4_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_e4_ver1''', '''MOT-E4/4 UP/4''', False, None) +devices.devids['''mot_e4_ver1_sub418'''] = devclass(devices.devids['''mot_d8_ver1'''], '''mot_e4_ver1_sub418''', '''MOT-E4/4.1.8 UP/4.1.19i''', False, None) +devices.devids['''mot_e550_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_e550_ver1''', '''MOT-E550''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_image_height''':165,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''E550''','''mp3''':True,'''multipart_support''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v300R/Profile/v300R.rdf''','''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''mot_e550_ver1_sub088318i'''] = devclass(devices.devids['''mot_e550_ver1'''], '''mot_e550_ver1_sub088318i''', '''MOT-E550/08.83.18I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e610_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_e610_ver1''', '''MOT-E610''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':2097152,'''j2me_max_record_store_size''':65536,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''E610''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''voices''':32,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''mot_e610_ver1_sub101'''] = devclass(devices.devids['''mot_e610_ver1'''], '''mot_e610_ver1_sub101''', '''MOT-E610/1.01 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, None) +devices.devids['''mot_e680_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_e680_ver1''', '''MOT-E680''', True, {'''colors''':65536,'''j2me_3gpp''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_gif''':True,'''j2me_heap_size''':2097152,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':1048576,'''j2me_max_record_store_size''':102400,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':52428800,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':357000,'''max_image_height''':240,'''max_image_width''':240,'''model_name''':'''E680''','''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':480,'''picture_max_width''':640,'''picture_png''':True,'''picture_wbmp''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_max_frame_rate''':15,'''video_max_height''':240,'''video_max_width''':320,'''video_mp4''':True,'''video_preferred_height''':240,'''video_preferred_width''':320,'''video_qcif''':True,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_resize''':'''fixed_ratio''','''wallpaper_wbmp''':True}) +devices.devids['''mot_e680_ver1_subr51g0f24a1p'''] = devclass(devices.devids['''mot_e680_ver1'''], '''mot_e680_ver1_subr51g0f24a1p''', '''MOT-E680/R51_G_0F.24.A1P MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_e770_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_e770_ver1''', '''MOT-E770''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''columns''':17,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':2097152,'''j2me_max_record_store_size''':65536,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':384,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''E770''','''mp3''':True,'''picture''':True,'''picture_gif''':True,'''picture_max_height''':480,'''picture_max_width''':640,'''picture_png''':True,'''picture_preferred_height''':220,'''picture_preferred_width''':176,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':11,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':False,'''streaming_mp4''':True,'''streaming_real_media_8''':True,'''streaming_real_media_9''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_max_audio_bit_rate''':48,'''streaming_video_max_bit_rate''':128,'''streaming_video_max_frame_rate''':15,'''streaming_video_max_video_bit_rate''':96,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''streaming_video_sqcif''':True,'''streaming_video_sqcif_max_height''':96,'''streaming_video_sqcif_max_width''':128,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''mot_e770_sub858470r'''] = devclass(devices.devids['''mot_e770_ver1'''], '''mot_e770_sub858470r''', '''MOT-E770/85.84.70R MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_e770v_ver1'''] = devclass(devices.devids['''mot_e770_ver1'''], '''mot_e770v_ver1''', '''MOT-E770v''', True, {'''ajax_support_javascript''':True,'''model_name''':'''E770-Vodafone''','''streaming_3gpp''':False,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_e770v_ver1_sub854230r'''] = devclass(devices.devids['''mot_e770v_ver1'''], '''mot_e770v_ver1_sub854230r''', '''MOT-E770v/85.42.30R MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_e790_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_e790_ver1''', '''MOT-E790''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''E790''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/e790/Profile/e790.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':35,'''wallpaper_max_width''':96,'''wallpaper_png''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''mot_e790_ver1_sub1'''] = devclass(devices.devids['''mot_e790_ver1'''], '''mot_e790_ver1_sub1''', '''MOT-E790 iTunes/01.23.02_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e790_ver1_sub2'''] = devclass(devices.devids['''mot_e790_ver1'''], '''mot_e790_ver1_sub2''', '''MOT-e790/0E.30.1ER MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e790_ver1_submotor0e306fr'''] = devclass(devices.devids['''mot_e790_ver1'''], '''mot_e790_ver1_submotor0e306fr''', '''MOT-MOTOR E790/0E.30.6FR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e790_ver1_sub3'''] = devclass(devices.devids['''mot_e790_ver1'''], '''mot_e790_ver1_sub3''', '''MOT-E790/0E.30.34R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e1itunes_ver1'''] = devclass(devices.devids['''mot_e790_ver1'''], '''mot_e1itunes_ver1''', '''MOT-E1 iTunes''', True, {'''aac''':True,'''brand_name''':'''Motorola''','''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':'''ROKR E1''','''ringtone_aac''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':24,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''mot_e1itunes_ver1_sub1'''] = devclass(devices.devids['''mot_e1itunes_ver1'''], '''mot_e1itunes_ver1_sub1''', '''MOT-E1 iTunes/0E.30.42R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e1itunes_ver1_sub014202'''] = devclass(devices.devids['''mot_e1itunes_ver1'''], '''mot_e1itunes_ver1_sub014202''', '''MOT-E1 iTunes/01.42.02_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_rockre1_ver1_sub0e301er'''] = devclass(devices.devids['''mot_e1itunes_ver1'''], '''mot_rockre1_ver1_sub0e301er''', '''MOT-ROKR E1/0E.30.1ER MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_rockre1_ver1_subkhric0e3048r'''] = devclass(devices.devids['''mot_e1itunes_ver1'''], '''mot_rockre1_ver1_subkhric0e3048r''', '''MOT-E1 By Khric/0E.30.48R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_rockre1_ver1_sub000000'''] = devclass(devices.devids['''mot_e1itunes_ver1'''], '''mot_rockre1_ver1_sub000000''', '''MOT-ROKR E1 iTunes/00.00.00 MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_rockre1_ver1_subipod0e3048r'''] = devclass(devices.devids['''mot_e1itunes_ver1'''], '''mot_rockre1_ver1_subipod0e3048r''', '''MOT-ROKR E1iPOD/0E.30.48R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_verbatime1_ver1_sub0e306fr'''] = devclass(devices.devids['''mot_e1itunes_ver1'''], '''mot_verbatime1_ver1_sub0e306fr''', '''MOT-Verbatim_E1/0E.30.6FR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_rokr_e2_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_rokr_e2_ver1''', '''MOT-E2''', True, {'''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''ROKR E2''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''mot_rokr_e2_subr564g120038'''] = devclass(devices.devids['''mot_rokr_e2_ver1'''], '''mot_rokr_e2_subr564g120038''', '''MOT-ROKR E2/R564_G_12.00.38P Mozilla/4.0 (compatible; MSIE 6.0; Linux; Motorola ROKR E2; 781) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.50 [en-GB] UP.Link/1.1''', False, None) +devices.devids['''mot_rokr_e2_sub0e3048r'''] = devclass(devices.devids['''mot_rokr_e2_ver1'''], '''mot_rokr_e2_sub0e3048r''', '''MOT-ROKR E2/0E.30.48R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_e798_ver1'''] = devclass(devices.devids['''mot_e790_ver1'''], '''mot_e798_ver1''', '''MOT-E798''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':'''E798''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_e798_ver1_sub0e306fr'''] = devclass(devices.devids['''mot_e798_ver1'''], '''mot_e798_ver1_sub0e306fr''', '''MOT-E798 iTunes/0E.30.6FR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e798_ver1_sub0e301er'''] = devclass(devices.devids['''mot_e798_ver1'''], '''mot_e798_ver1_sub0e301er''', '''MOT-E798/0E.30.1ER MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e798r_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_e798r_ver1''', '''MOT-E798R''', False, None) +devices.devids['''mot_e798r_ver1_sub0e301er'''] = devclass(devices.devids['''mot_e798r_ver1'''], '''mot_e798r_ver1_sub0e301er''', '''MOT-E798R/0E.30.1ER MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_e8_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''mot_e8_ver1''', '''MOT-E8/5.1.0 UP.Browser/5''', True, {'''brand_name''':'''Motorola''','''columns''':16,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':False,'''connectionoriented_confirmed_service_indication''':False,'''connectionoriented_confirmed_service_load''':False,'''connectionoriented_unconfirmed_cache_operation''':False,'''connectionoriented_unconfirmed_service_indication''':False,'''connectionoriented_unconfirmed_service_load''':False,'''downloadfun_support''':True,'''max_deck_size''':2048,'''max_image_height''':51,'''max_image_width''':91,'''model_name''':'''T192m''','''nokia_voice_call''':True,'''resolution_width''':96,'''rows''':4,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':64,'''screensaver_max_width''':96,'''wallpaper_colors''':8,'''wallpaper_gif''':True}) +devices.devids['''mot_e8_ver1_sub501'''] = devclass(devices.devids['''mot_e8_ver1'''], '''mot_e8_ver1_sub501''', '''MOT-E8/5.0.1 UP.Browser/5.0.1.5''', False, None) +devices.devids['''mot_e815_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_e815_ver1''', '''MOT-E815''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':7,'''connectionless_service_load''':True,'''directdownload_support''':True,'''html_web_4_0''':True,'''imelody''':True,'''j2me_screen_height''':162,'''j2me_screen_width''':172,'''max_deck_size''':3000,'''max_image_height''':162,'''max_image_width''':172,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':358400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''E815''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':11,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_png''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/e815/Profile/e815.rdf''','''uaprof2''':'''http://uaprof.bellmobilite.ca/BMC_Motorola_E815_BMX171P.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':162,'''wallpaper_max_width''':172,'''wallpaper_png''':True,'''wallpaper_preferred_height''':162,'''wallpaper_preferred_width''':172,'''wav''':True}) +devices.devids['''mot_8720_ver1'''] = devclass(devices.devids['''mot_e815_ver1'''], '''mot_8720_ver1''', '''MOT-8720_''', False, None) +devices.devids['''mot_e815_ver1_sub0062'''] = devclass(devices.devids['''mot_e815_ver1'''], '''mot_e815_ver1_sub0062''', '''MOT-E815_/00.62 UP.Browser/6.2.3.4.c.1.104 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''verizon_mot_8720_ver1'''] = devclass(devices.devids['''mot_8720_ver1'''], '''verizon_mot_8720_ver1''', '''motoe815''', True, {'''brand_name''':'''Motorola''','''columns''':7,'''ems''':True,'''gif_animated''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':162,'''max_image_width''':172,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp2''':False,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':358400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':64,'''mms_mp3''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''E815 (Verizon Wireless)''','''mp3''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''rows''':11,'''sender''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''voices''':64}) +devices.devids['''mot_8720_ver1_sub0062'''] = devclass(devices.devids['''mot_8720_ver1'''], '''mot_8720_ver1_sub0062''', '''MOT-8720_/00.62 UP.Browser/6.2.3.4.c.1.102 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''mot_8720_ver1_sub6234c1104'''] = devclass(devices.devids['''mot_8720_ver1'''], '''mot_8720_ver1_sub6234c1104''', '''MOT-8720_/00.62 UP.Browser/6.2.3.4.c.1.104 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''mot_e825_ver1'''] = devclass(devices.devids['''generic'''], '''mot_e825_ver1''', '''MOT-E825''', True, {'''brand_name''':'''Motorola''','''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''model_name''':'''E825'''}) +devices.devids['''mot_e825_ver1_sub031101'''] = devclass(devices.devids['''mot_e825_ver1'''], '''mot_e825_ver1_sub031101''', '''MOT-E825/03.11.01_ MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_e895_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_e895_ver1''', '''MOT-E895''', True, {'''colors''':262144,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''E895''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True}) +devices.devids['''mot_e1000_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_e1000_ver1''', '''MOT-E1000''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''colors''':65536,'''columns''':19,'''imelody''':True,'''j2me_aac''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_bmp''':True,'''j2me_canvas_height''':308,'''j2me_canvas_width''':240,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_gif''':True,'''j2me_h263''':True,'''j2me_heap_size''':1572864,'''j2me_http''':True,'''j2me_https''':True,'''j2me_imelody''':True,'''j2me_jpg''':True,'''j2me_jtwi''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':204800,'''j2me_max_record_store_size''':524288,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_mp4''':True,'''j2me_mpeg4''':True,'''j2me_png''':True,'''j2me_realaudio''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''j2me_storage_size''':25165824,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wma''':True,'''j2me_wmapi_1_0''':True,'''j2me_xmf''':True,'''max_data_rate''':384,'''max_deck_size''':10240,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''E1000''','''mp3''':True,'''oma_v_1_0_separate_delivery''':False,'''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':320,'''picture_max_width''':240,'''picture_png''':True,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':8,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_real_media_8''':True,'''streaming_real_media_9''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_max_audio_bit_rate''':48,'''streaming_video_max_bit_rate''':128,'''streaming_video_max_frame_rate''':15,'''streaming_video_max_video_bit_rate''':96,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''streaming_wmv''':True,'''svgt_1_1''':True,'''svgt_1_1_plus''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/E1000/Profile/E1000_NO_BEARER.rdf''','''uaprof2''':'''http://motorola.handango.com/phoneconfig/E1000/Profile/E1000.rdf''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':153600,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':True,'''voices''':24,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_resize''':'''fixed_ratio''','''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''mot_e1000_ver1_subbasic'''] = devclass(devices.devids['''mot_e1000_ver1'''], '''mot_e1000_ver1_subbasic''', '''MOT-E1000-BASIC''', False, None) +devices.devids['''mot_e1000_ver1_sub000000'''] = devclass(devices.devids['''mot_e1000_ver1'''], '''mot_e1000_ver1_sub000000''', '''MOT-E1000/00.00.00 MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':384}) +devices.devids['''mot_e1000_ver1_sub020402'''] = devclass(devices.devids['''mot_e1000_ver1'''], '''mot_e1000_ver1_sub020402''', '''MOT-E1000/02.04.02 MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':384}) +devices.devids['''mot_e1000_ver1_sub800e01i'''] = devclass(devices.devids['''mot_e1000_ver1'''], '''mot_e1000_ver1_sub800e01i''', '''MOT-E1000/80.0E.01I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':384}) +devices.devids['''mot_e1000_ver1_sub_e1k_freestyle'''] = devclass(devices.devids['''mot_e1000_ver1'''], '''mot_e1000_ver1_sub_e1k_freestyle''', '''MOT-E1K FREE STYLE/83.39.27I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''mot_e1000m_ver1'''] = devclass(devices.devids['''mot_e1000_ver1'''], '''mot_e1000m_ver1''', '''MOT-E1000M''', False, {'''model_name''':'''E100M''','''uaprof''':'''http://motorola.handango.com/phoneconfig/E1000/Profile/E1000_NO_BEARER.rdf'''}) +devices.devids['''mot_e1000m_ver1_sub803f43i'''] = devclass(devices.devids['''mot_e1000m_ver1'''], '''mot_e1000m_ver1_sub803f43i''', '''MOT-E1000M/80.3F.43I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''mot_e1060_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_e1060_ver1''', '''MOT-E1060''', True, {'''bmp''':True,'''colors''':262144,'''max_data_rate''':384,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''E1060''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''voices''':24,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''mot_e1070_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_e1070_ver1''', '''MOT-E1070''', True, {'''aac''':True,'''ajax_support_javascript''':True,'''bmp''':True,'''colors''':262144,'''columns''':19,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':2097152,'''j2me_max_record_store_size''':65536,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':300,'''max_image_width''':227,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''E1070''','''mp3''':True,'''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':480,'''picture_max_width''':640,'''picture_png''':True,'''picture_preferred_height''':320,'''picture_preferred_width''':240,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':8,'''screensaver''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_real_media_8''':True,'''streaming_real_media_9''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_max_audio_bit_rate''':32,'''streaming_video_max_bit_rate''':128,'''streaming_video_max_frame_rate''':15,'''streaming_video_min_video_bit_rate''':96,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''streaming_wmv''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_resize''':'''fixed_ratio'''}) +devices.devids['''mot_e1070_ver1_sub856320r'''] = devclass(devices.devids['''mot_e1070_ver1'''], '''mot_e1070_ver1_sub856320r''', '''MOT-E1070/85.63.20R MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_e1120_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_e1120_ver1''', '''MOT-E1120''', True, {'''bmp''':True,'''colors''':262144,'''max_data_rate''':384,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''E1120''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''voices''':24,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''mot_ed_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_ed_ver1''', '''MOT-ED''', False, None) +devices.devids['''mot_ed_ver1_sub0612'''] = devclass(devices.devids['''mot_ed_ver1'''], '''mot_ed_ver1_sub0612''', '''MOT-ED/06.12 UP.Browser/5.0.2.4''', False, None) +devices.devids['''mot_ef_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_ef_ver1''', '''MOT-EF''', False, None) +devices.devids['''mot_ef_ver1_sub0612'''] = devclass(devices.devids['''mot_ef_ver1'''], '''mot_ef_ver1_sub0612''', '''MOT-EF/06.12 UP.Browser/5.0.2.4''', False, None) +devices.devids['''mot_evelyn_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_evelyn_ver1''', '''MOT-Evelyn''', False, None) +devices.devids['''mot_evelyn_ver1_sub0bd223r'''] = devclass(devices.devids['''mot_evelyn_ver1'''], '''mot_evelyn_ver1_sub0bd223r''', '''MOT-Evelyn/0B.D2.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_f0_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_f0_ver1''', '''MOT-F0''', True, {'''brand_name''':'''Motorola''','''max_deck_size''':2000,'''model_name''':'''F0'''}) +devices.devids['''mot_f0_ver1_sub418'''] = devclass(devices.devids['''mot_f0_ver1'''], '''mot_f0_ver1_sub418''', '''MOT-F0/4.1.8 UP/4.1.16s''', False, None) +devices.devids['''mot_f0_ver1_sub4184116sxxxx'''] = devclass(devices.devids['''mot_f0_ver1'''], '''mot_f0_ver1_sub4184116sxxxx''', '''MOT-F0/4.1.8 UP/4.1.16s UP.Browser/4.1.16s-XXXX''', False, None) +devices.devids['''mot_f3_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_f3_ver1''', '''MOT-F3''', True, {'''brand_name''':'''Motorola''','''columns''':6,'''max_image_height''':43,'''max_image_width''':34,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''F3''','''resolution_height''':43,'''resolution_width''':34,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':8}) +devices.devids['''mot_f4_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_f4_ver1''', '''MOT-F4''', False, None) +devices.devids['''mot_f4_ver1_sub419'''] = devclass(devices.devids['''mot_f4_ver1'''], '''mot_f4_ver1_sub419''', '''MOT-F4/4.1.9 UP/4.1.19i''', False, None) +devices.devids['''mot_f5_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_f5_ver1''', '''MOT-F5/4.1.9 UP.Browser/4''', True, {'''brand_name''':'''Motorola''','''model_name''':'''T193'''}) +devices.devids['''mot_f5_ver1_sub4123c'''] = devclass(devices.devids['''mot_f5_ver1'''], '''mot_f5_ver1_sub4123c''', '''MOT-F5/4.1.9 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_f6_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_f6_ver1''', '''MOT-F6''', True, {'''brand_name''':'''Motorola''','''colors''':4,'''columns''':18,'''gif''':True,'''greyscale''':True,'''j2me_bits_per_pixel''':2,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':661504,'''j2me_http''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':614400,'''j2me_middle_softkey_code''':23,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''j2me_socket''':True,'''j2me_storage_size''':1887436,'''j2me_udp''':True,'''max_deck_size''':5120,'''max_image_height''':240,'''max_image_width''':240,'''model_name''':'''Accompli A008/A388''','''nokia_voice_call''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':8}) +devices.devids['''mot_f6_ver1_sub002826'''] = devclass(devices.devids['''mot_f6_ver1'''], '''mot_f6_ver1_sub002826''', '''MOT-F6/00.28.26 UP.Browser/4.1.23b''', False, None) +devices.devids['''mot_f6_ver1_sub4'''] = devclass(devices.devids['''mot_f6_ver1'''], '''mot_f6_ver1_sub4''', '''MOT-F6/10 UP.Browser/4''', False, None) +devices.devids['''mot_a008gprs_ver1'''] = devclass(devices.devids['''mot_f6_ver1'''], '''mot_a008gprs_ver1''', '''MOT-A008GPRS''', True, {'''max_image_height''':240,'''max_image_width''':240,'''model_name''':'''Accompli A008 GPRS'''}) +devices.devids['''mot_f9_ver1'''] = devclass(devices.devids['''generic'''], '''mot_f9_ver1''', '''MOT-F9''', False, None) +devices.devids['''mot_f9_ver1_sub4116s'''] = devclass(devices.devids['''mot_f9_ver1'''], '''mot_f9_ver1_sub4116s''', '''MOT-F9/4.1.8 UP/4.1.16s''', False, None) +devices.devids['''mot_fe_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_fe_ver1''', '''MOT-FE/ UP.Browser/4''', False, None) +devices.devids['''mot_fe_ver1_sub0707'''] = devclass(devices.devids['''mot_fe_ver1'''], '''mot_fe_ver1_sub0707''', '''MOT-FE/07.07 UP.Browser/5.0.2.4''', False, None) +devices.devids['''mot_fe_ver1_sub201613'''] = devclass(devices.devids['''mot_fe_ver1'''], '''mot_fe_ver1_sub201613''', '''MOT-FE/20.16.13 UP.Browser/4.1.23i''', False, None) +devices.devids['''mot_i398_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_i398_ver1''', '''MOT-I398''', False, None) +devices.devids['''mot_i398_ver1_sub0e301er'''] = devclass(devices.devids['''mot_i398_ver1'''], '''mot_i398_ver1_sub0e301er''', '''MOT-I398/0E.30.1ER MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_i398_ver1_sub0e3042r'''] = devclass(devices.devids['''mot_i398_ver1'''], '''mot_i398_ver1_sub0e3042r''', '''MOT-i398/0E.30.42R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_irka_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_irka_ver1''', '''MOT-IRKA''', False, None) +devices.devids['''mot_irka_ver1_sub0e2095r'''] = devclass(devices.devids['''mot_irka_ver1'''], '''mot_irka_ver1_sub0e2095r''', '''MOT-IRKA/0E.20.95R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_k1_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_k1_ver1''', '''MOT-K1''', True, {'''ajax_support_javascript''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':200,'''max_image_width''':165,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''K1''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''rows''':11,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/k1/Profile/k1.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wav''':True}) +devices.devids['''mot_k1_ver1_sub08024ei'''] = devclass(devices.devids['''mot_k1_ver1'''], '''mot_k1_ver1_sub08024ei''', '''MOT-K1/08.02.4EI MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_k1_ver1_subk1v'''] = devclass(devices.devids['''mot_k1_ver1'''], '''mot_k1_ver1_subk1v''', '''MOT-K1v/08.22.07R MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', False, None) +devices.devids['''mot_k1m_ver1'''] = devclass(devices.devids['''mot_k1_ver1'''], '''mot_k1m_ver1''', '''Motorola-K1m Obigo/Q04C1 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':20,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':524288,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''model_name''':'''K1m''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':10,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Motorola/K1m/0370.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''mot_klgo_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_klgo_ver1''', '''MOT-KLGO''', False, None) +devices.devids['''mot_klgo_ver1_sub0e3013i'''] = devclass(devices.devids['''mot_klgo_ver1'''], '''mot_klgo_ver1_sub0e3013i''', '''MOT-KLGO/0E.30.13I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''motorola_z6c'''] = devclass(devices.devids['''opwv_v62_generic'''], '''motorola_z6c''', '''MOT-JACQU/00.62 UP.Browser/6.2.3.4.c.1.123 (GUI) MMP/2.0''', True, {'''brand_name''':'''Motorola''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''model_name''':'''RIZR Z6c''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''wbmp''':True}) +devices.devids['''mot_l2_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_l2_ver1''', '''MOT-L2''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':14,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_data_rate''':40,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''L2''','''mp3''':True,'''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':480,'''picture_max_width''':640,'''picture_png''':True,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':False,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':6,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_resize''':'''fixed_ratio''','''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/l2/Profile/l2.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_max_frame_rate''':15,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_l2_ver1_sub0a5235r'''] = devclass(devices.devids['''mot_l2_ver1'''], '''mot_l2_ver1_sub0a5235r''', '''MOT-L2/0A.52.35R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_l6_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_l6_ver1''', '''MOT-L6''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':14,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_data_rate''':40,'''max_image_height''':140,'''max_image_width''':118,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''L6''','''mp3''':True,'''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':480,'''picture_max_width''':640,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''rows''':6,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''screensaver_resize''':'''fixed_ratio''','''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/l6/Profile/l6.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_max_frame_rate''':15,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':24,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_l6_ver1_sub0a5226r'''] = devclass(devices.devids['''mot_l6_ver1'''], '''mot_l6_ver1_sub0a5226r''', '''MOT-L6/0A.52.26R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_l6_ver1_subslvr0a5226r'''] = devclass(devices.devids['''mot_l6_ver1'''], '''mot_l6_ver1_subslvr0a5226r''', '''MOT-SLVR L6/0A.52.26R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_l6_ver1_submotorola0a5226r'''] = devclass(devices.devids['''mot_l6_ver1'''], '''mot_l6_ver1_submotorola0a5226r''', '''MOT-Motorola L6/0A.52.26R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_l6i_ver1'''] = devclass(devices.devids['''mot_l6_ver1'''], '''mot_l6i_ver1''', '''MOT-L6i/0A.65.07R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':14,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''L6i''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/l6i/Profile/l6i.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''mot_l7_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_l7_ver1''', '''MOT-L7''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':262144,'''columns''':17,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':200,'''max_image_height''':200,'''max_image_width''':165,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SLVR L7''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''rows''':11,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_png''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/l7/Profile/l7.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''voices''':24,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True}) +devices.devids['''mot_l7_ver1_sub014002'''] = devclass(devices.devids['''mot_l7_ver1'''], '''mot_l7_ver1_sub014002''', '''MOT-L7/01.40.02_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_l7_ver1_sub08b754r'''] = devclass(devices.devids['''mot_l7_ver1'''], '''mot_l7_ver1_sub08b754r''', '''MOT-L7/08.B7.54R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_l7_ver1_subslvr0bd2dfr'''] = devclass(devices.devids['''mot_l7_ver1'''], '''mot_l7_ver1_subslvr0bd2dfr''', '''MOT-SLVR L7/0B.D2.2FR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_l7i_ver1'''] = devclass(devices.devids['''mot_l7_ver1'''], '''mot_l7i_ver1''', '''MOT-L7i/AAUG2103AA 08.02.06R/10.21.2005 MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', False, None) +devices.devids['''mot_l7v_ver1'''] = devclass(devices.devids['''mot_l7_ver1'''], '''mot_l7v_ver1''', '''MOT-L7v''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''L7-Vodafone''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_slv_l7c_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''mot_slv_l7c_ver1''', '''Motorola-SLV-L7c Obigo/Q04C1 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':262144,'''columns''':20,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':524288,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''L7c''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':10,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Motorola/SLV-L7c/0350.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''mot_l7v_ver1_sub08b754r'''] = devclass(devices.devids['''mot_l7v_ver1'''], '''mot_l7v_ver1_sub08b754r''', '''MOT-L7v/08.B7.54R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_l7e_ver1'''] = devclass(devices.devids['''mot_l7_ver1'''], '''mot_l7e_ver1''', '''MOT-L7e''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''L7e''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_l7e_ver1_subaaug2103aa'''] = devclass(devices.devids['''mot_l7e_ver1'''], '''mot_l7e_ver1_subaaug2103aa''', '''MOT-L7e/AAUG2103AA 08.00.12R/10.21.2005 MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_l9_ver1'''] = devclass(devices.devids['''mot_l7_ver1'''], '''mot_l9_ver1''', '''MOT-L9''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''L9''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/l7e/Profile/l7e.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''mot_l9_ver1_sub1'''] = devclass(devices.devids['''mot_l9_ver1'''], '''mot_l9_ver1_sub1''', '''MOT-L9/04.2B.02_ MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_myx_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_myx_ver1''', '''MOT-M Y X''', False, None) +devices.devids['''mot_myx_ver1_sub0bd109r'''] = devclass(devices.devids['''mot_myx_ver1'''], '''mot_myx_ver1_sub0bd109r''', '''MOT-M Y X/0B.D1.09R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_mcc7_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_mcc7_ver1''', '''MOT-MCC7''', False, None) +devices.devids['''mot_mcc7_ver1_sub4121bxxxx'''] = devclass(devices.devids['''mot_mcc7_ver1'''], '''mot_mcc7_ver1_sub4121bxxxx''', '''MOT-MCC7/7534 UP/4.1.21b UP.Browser/4.1.21b-XXXX''', False, None) +devices.devids['''mot_mcc8_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_mcc8_ver1''', '''MOT-MCC8''', False, None) +devices.devids['''mot_mcc8_ver1_sub7654'''] = devclass(devices.devids['''mot_mcc8_ver1'''], '''mot_mcc8_ver1_sub7654''', '''MOT-MCC8/7654 UP.Browser/4.1.23''', False, None) +devices.devids['''mot_p8767_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_p8767_ver1''', '''MOT-MCCA''', True, {'''brand_name''':'''Motorola''','''model_name''':'''P8767'''}) +devices.devids['''mot_mcca_ver1_sub7582'''] = devclass(devices.devids['''uptext_generic'''], '''mot_mcca_ver1_sub7582''', '''MOT-MCCA/7582 UP.Browser/4.1.23''', False, None) +devices.devids['''mot_mccc_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_mccc_ver1''', '''MOT-MCCC''', False, None) +devices.devids['''mot_mccc_ver1_sub7534'''] = devclass(devices.devids['''mot_mccc_ver1'''], '''mot_mccc_ver1_sub7534''', '''MOT-MCCC/7534 UP/4.1.21b UP.Browser/4.1.21b-XXXX''', False, None) +devices.devids['''mot_v2267_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_v2267_ver1''', '''MOT-MCCC/7574 UP.Browser/4.1.23''', True, {'''brand_name''':'''Motorola''','''model_name''':'''V2267'''}) +devices.devids['''mot_mpx100_ver1'''] = devclass(devices.devids['''generic'''], '''mot_mpx100_ver1''', '''MOT-MPx100''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''flash_lite_version''':'''1_1''','''gif''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''MPX100''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':9,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_wbmp''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_real_media_8''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''xhtml_support_level''':2}) +devices.devids['''mot_mpx220_ver1'''] = devclass(devices.devids['''generic'''], '''mot_mpx220_ver1''', '''MOT-MPx220''', True, {'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':10,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':300000,'''max_image_height''':180,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':250000,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MPX220''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_web_4_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':25,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/mpx220/Profile/mpx220.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''voices''':16,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_table_support''':True}) +devices.devids['''mot_mpx220_ver1_sub0304'''] = devclass(devices.devids['''mot_mpx220_ver1'''], '''mot_mpx220_ver1_sub0304''', '''MOT-MPx220/0.304 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220) (compatible; MSIE 4.''', False, {'''max_data_rate''':40}) +devices.devids['''mot_mpx220_ver1_sub1030'''] = devclass(devices.devids['''mot_mpx220_ver1'''], '''mot_mpx220_ver1_sub1030''', '''MOT-MPx220/1.030 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''mot_mpx220_ver1_sub2005421'''] = devclass(devices.devids['''mot_mpx220_ver1'''], '''mot_mpx220_ver1_sub2005421''', '''MOT-MPx220(2005.4.21)/SW1.400/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''ms_mobile_browser_ver1_sub240320mpx'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''ms_mobile_browser_ver1_sub240320mpx''', '''Mozilla/4.0 MPx (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''mot_p2k_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_p2k_ver1''', '''MOT-P2K-C''', False, None) +devices.devids['''mot_p2k_ver1_sub1001'''] = devclass(devices.devids['''mot_p2k_ver1'''], '''mot_p2k_ver1_sub1001''', '''MOT-P2K-C/10.01 UP/4.1.21b UP.Browser/4.1.21b-XXXX''', False, None) +devices.devids['''mot_p2k_ver1_sub1202'''] = devclass(devices.devids['''mot_p2k_ver1'''], '''mot_p2k_ver1_sub1202''', '''MOT-P2K-T/12.02 UP.Browser/4.1.21h''', False, None) +devices.devids['''mot_pan4_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_pan4_ver1''', '''MOT-PAN4_/11 UP.Browser/4''', True, {'''brand_name''':'''Motorola''','''columns''':13,'''max_deck_size''':2048,'''max_image_height''':69,'''max_image_width''':123,'''model_name''':'''T280''','''nokia_voice_call''':True,'''resolution_height''':100,'''resolution_width''':128,'''rows''':4}) +devices.devids['''mot_pan4_ver1_sub1103'''] = devclass(devices.devids['''mot_pan4_ver1'''], '''mot_pan4_ver1_sub1103''', '''MOT-PAN4_/11.03 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_pan4_ver1_sub11'''] = devclass(devices.devids['''mot_pan4_ver1'''], '''mot_pan4_ver1_sub11''', '''MOT-PAN4_/MIB1.0/v1.1''', False, None) +devices.devids['''mot_peblu3_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_peblu3_ver1''', '''MOT-Pebl_U3''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''PEBL_U3''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''mot_peblu3_ver1_sub1'''] = devclass(devices.devids['''mot_peblu3_ver1'''], '''mot_peblu3_ver1_sub1''', '''MOT-Pebl_U3/08.11.02R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_pebl_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_pebl_ver1''', '''MOT-PEBL U6''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_image_height''':200,'''max_image_width''':169,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''PEBL U6''','''mp3''':True,'''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''rows''':11,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v6/Profile/v6.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''voices''':24,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wav''':True}) +devices.devids['''mot_pebl_ver1_sub014102'''] = devclass(devices.devids['''mot_pebl_ver1'''], '''mot_pebl_ver1_sub014102''', '''MOT-PEBL U6/01.41.02 MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''mot_pebl_v6_ver1'''] = devclass(devices.devids['''mot_pebl_ver1'''], '''mot_pebl_v6_ver1''', '''MOT-PEBL V6''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''PEBL V6''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_phx4_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_phx4_ver1''', '''MOT-PHX4_/11 UP.Browser/4''', True, {'''brand_name''':'''Motorola''','''max_deck_size''':2048,'''max_image_height''':48,'''model_name''':'''V60 (US)''','''resolution_height''':64,'''resolution_width''':96}) +devices.devids['''mot_phx4_ver1_sub1103'''] = devclass(devices.devids['''mot_phx4_ver1'''], '''mot_phx4_ver1_sub1103''', '''MOT-PHX4_/11.03 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_phx4a_ver1'''] = devclass(devices.devids['''mot_phx4_ver1'''], '''mot_phx4a_ver1''', '''MOT-PHX4A''', False, None) +devices.devids['''mot_phx4a_ver1_sub1103'''] = devclass(devices.devids['''mot_phx4a_ver1'''], '''mot_phx4a_ver1_sub1103''', '''MOT-PHX4A/11.03 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_phx4h_ver1'''] = devclass(devices.devids['''mot_phx4_ver1'''], '''mot_phx4h_ver1''', '''MOT-PHX4H''', False, None) +devices.devids['''mot_phx4h_ver1_sub1103'''] = devclass(devices.devids['''mot_phx4h_ver1'''], '''mot_phx4h_ver1_sub1103''', '''MOT-PHX4H/11.03 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_phx8_ver1'''] = devclass(devices.devids['''generic'''], '''mot_phx8_ver1''', '''MOT-PHX8''', True, {'''brand_name''':'''Motorola''','''downloadfun_support''':True,'''max_deck_size''':2048,'''max_image_height''':48,'''model_name''':'''V60''','''resolution_height''':64,'''resolution_width''':96,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':64,'''screensaver_max_width''':96,'''utf8_support''':True,'''wap_push_support''':True}) +devices.devids['''mot_phx8_ver1_sub022302r'''] = devclass(devices.devids['''mot_phx8_ver1'''], '''mot_phx8_ver1_sub022302r''', '''MOT-PHX8/02.23.02R MIB/1.2''', False, None) +devices.devids['''mot_phx8a_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_phx8a_ver1''', '''MOT-PHX8A''', False, None) +devices.devids['''mot_phx8a_ver1_sub1103'''] = devclass(devices.devids['''mot_phx8a_ver1'''], '''mot_phx8a_ver1_sub1103''', '''MOT-PHX8A/11.03 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_v323i_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v323i_ver1''', '''MOT-R901_/00.62 UP.Browser/6.2.3.4.c.1.112 (GUI) MMP/2.0''', True, {'''brand_name''':'''Motorola''','''max_image_height''':200,'''max_image_width''':168,'''model_name''':'''V323i''','''resolution_height''':220,'''resolution_width''':176,'''rows''':16,'''uaprof''':'''http://uaprof.metropcs.net/UAProf/Motorola-V323i.xml'''}) +devices.devids['''mot_sap4_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_sap4_ver1''', '''MOT-SAP4_/11 UP.Browser/4''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''gif''':True,'''jpg''':True,'''max_deck_size''':2048,'''max_image_height''':48,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V66''','''nokia_voice_call''':True,'''resolution_height''':64,'''resolution_width''':96,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_sap4_ver1_sub1103'''] = devclass(devices.devids['''mot_sap4_ver1'''], '''mot_sap4_ver1_sub1103''', '''MOT-SAP4_/11.03 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_sap4a_ver1'''] = devclass(devices.devids['''mot_sap4_ver1'''], '''mot_sap4a_ver1''', '''MOT-SAP4A''', False, None) +devices.devids['''mot_sap4a_ver1_sub1103'''] = devclass(devices.devids['''mot_sap4a_ver1'''], '''mot_sap4a_ver1_sub1103''', '''MOT-SAP4A/11.03 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_sap4h_ver1'''] = devclass(devices.devids['''mot_sap4_ver1'''], '''mot_sap4h_ver1''', '''MOT-SAP4H''', False, None) +devices.devids['''mot_sap4h_ver1_sub1103'''] = devclass(devices.devids['''mot_sap4h_ver1'''], '''mot_sap4h_ver1_sub1103''', '''MOT-SAP4H/11.03 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_sap8a_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_sap8a_ver1''', '''MOT-SAP8A''', False, None) +devices.devids['''mot_sap8a_ver1_sub1103'''] = devclass(devices.devids['''mot_sap8a_ver1'''], '''mot_sap8a_ver1_sub1103''', '''MOT-SAP8A/11.03 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_t280m_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_t280m_ver1''', '''MOT-T280M/02 MIB/1.2''', True, {'''brand_name''':'''Motorola''','''columns''':13,'''connectionless_service_indication''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''downloadfun_support''':True,'''j2me_bits_per_pixel''':2,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':358400,'''j2me_http''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':65536,'''j2me_max_record_store_size''':64512,'''j2me_middle_softkey_code''':23,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':100,'''j2me_screen_width''':128,'''j2me_socket''':True,'''j2me_storage_size''':1048576,'''max_deck_size''':2048,'''max_image_height''':51,'''max_image_width''':123,'''model_name''':'''T280i''','''nokia_voice_call''':True,'''picture''':True,'''picture_gif''':True,'''picture_max_height''':78,'''picture_max_width''':128,'''resolution_height''':69,'''resolution_width''':123,'''rows''':4,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':100,'''screensaver_max_width''':128,'''utf8_support''':True,'''wap_push_support''':True}) +devices.devids['''mot_t280m_ver1_sub21300i'''] = devclass(devices.devids['''mot_t280m_ver1'''], '''mot_t280m_ver1_sub21300i''', '''MOT-T280M/02.13.00I MIB/1.2''', False, None) +devices.devids['''mot_t280m_ver2'''] = devclass(devices.devids['''mot_t280m_ver1'''], '''mot_t280m_ver2''', '''MOT-T280M/03 MIB/1.2''', False, None) +devices.devids['''mot_t280m_ver2_sub3070fi'''] = devclass(devices.devids['''mot_t280m_ver2'''], '''mot_t280m_ver2_sub3070fi''', '''MOT-T280M/03.07.0FI MIB/1.2''', False, None) +devices.devids['''mot_t280m_ver2_sub030914r'''] = devclass(devices.devids['''mot_t280m_ver2'''], '''mot_t280m_ver2_sub030914r''', '''MOT-T280M/03.09.14R MIB/1.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''motorola_t33_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''motorola_t33_ver1''', '''Motorola-T33''', True, {'''brand_name''':'''Motorola''','''model_name''':'''T33'''}) +devices.devids['''motorola_t33_ver1_sub151a'''] = devclass(devices.devids['''motorola_t33_ver1'''], '''motorola_t33_ver1_sub151a''', '''Motorola-T33/1.5.1a UP.Browser/5.0.1.7 (GUI)''', False, None) +devices.devids['''mot_t720_ver1'''] = devclass(devices.devids['''mot_mib20_generic'''], '''mot_t720_ver1''', '''MOT-T720''', True, {'''colors''':4096,'''connectionless_cache_operation''':True,'''connectionless_service_load''':True,'''downloadfun_support''':True,'''imelody''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':524288,'''j2me_http''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':204800,'''j2me_max_record_store_size''':64512,'''j2me_middle_softkey_code''':23,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':160,'''j2me_screen_width''':120,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':1048576,'''j2me_udp''':True,'''max_image_height''':110,'''max_image_width''':113,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''T720''','''picture''':True,'''picture_colors''':12,'''picture_df_size_limit''':8300,'''picture_gif''':True,'''picture_max_height''':160,'''picture_max_width''':120,'''picture_wbmp''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_df_size_limit''':8300,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_colors''':12,'''screensaver_df_size_limit''':8300,'''screensaver_gif''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':120,'''screensaver_wbmp''':True,'''sp_midi''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':120,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120,'''wallpaper_wbmp''':True}) +devices.devids['''mot_t720_ver1_sub80r'''] = devclass(devices.devids['''mot_t720_ver1'''], '''mot_t720_ver1_sub80r''', '''MOT-T720/.80R MIB/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_t720_ver1_sub321r'''] = devclass(devices.devids['''mot_t720_ver1'''], '''mot_t720_ver1_sub321r''', '''MOT-T720/3.21R MIB/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_t720_ver1_sub05'''] = devclass(devices.devids['''mot_t720_ver1'''], '''mot_t720_ver1_sub05''', '''MOT-T720/05''', False, None) +devices.devids['''mot_t720_ver1_sub05051di'''] = devclass(devices.devids['''mot_t720_ver1'''], '''mot_t720_ver1_sub05051di''', '''MOT-T720/05.05.1DI MIB/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_t720g_ver1'''] = devclass(devices.devids['''mot_t720_ver1'''], '''mot_t720g_ver1''', '''MOT-T720/G''', True, {'''model_name''':'''T720g'''}) +devices.devids['''mot_t720g_ver1_sub050143r'''] = devclass(devices.devids['''mot_t720g_ver1'''], '''mot_t720g_ver1_sub050143r''', '''MOT-T720/G_05.01.43R MIB/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_t720g_ver1_sub0c0b38r'''] = devclass(devices.devids['''mot_t720g_ver1'''], '''mot_t720g_ver1_sub0c0b38r''', '''MOT-T720/G_0C.0B.38R MIB/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_t720g_ver1_sub0a020ci'''] = devclass(devices.devids['''mot_t720g_ver1'''], '''mot_t720g_ver1_sub0a020ci''', '''MOT-T720/g_0a.02.0ci MIB/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_t720m_ver1'''] = devclass(devices.devids['''mot_mib20_generic'''], '''mot_t720m_ver1''', '''MOT-T720M''', False, None) +devices.devids['''mot_t720m_ver1_subg050620r'''] = devclass(devices.devids['''mot_t720m_ver1'''], '''mot_t720m_ver1_subg050620r''', '''MOT-T720M/G_05.06.20R MIB/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_t720i_ver1'''] = devclass(devices.devids['''mot_t720_ver1'''], '''mot_t720i_ver1''', '''MOT-T720i''', True, {'''model_name''':'''T720i'''}) +devices.devids['''mot_t721_ver1'''] = devclass(devices.devids['''generic'''], '''mot_t721_ver1''', '''MOT-T721''', True, {'''brand_name''':'''Motorola''','''model_name''':'''T721'''}) +devices.devids['''mot_t722_ver1'''] = devclass(devices.devids['''generic'''], '''mot_t722_ver1''', '''MOT-T722''', True, {'''brand_name''':'''Motorola''','''colors''':4096,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''T722''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120}) +devices.devids['''mot_t722i_ver1'''] = devclass(devices.devids['''mot_t722_ver1'''], '''mot_t722i_ver1''', '''MOT-T722i''', True, {'''model_name''':'''T722i'''}) +devices.devids['''mot_t725e_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_t725e_ver1''', '''MOT-T725E''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':20,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':120,'''max_image_width''':120,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_wbmp''':True,'''model_name''':'''T725E''','''mp3''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':24,'''rows''':8,'''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/t725e/profile/t725e.rdf''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120}) +devices.devids['''mot_t725e_ver1_sub0803b0r'''] = devclass(devices.devids['''mot_t725e_ver1'''], '''mot_t725e_ver1_sub0803b0r''', '''MOT-T725E/08.03.B0R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_t725_ver1'''] = devclass(devices.devids['''mot_t720_ver1'''], '''mot_t725_ver1''', '''MOT-T725''', True, {'''model_name''':'''T725''','''ringtone_voices''':40,'''wallpaper_colors''':8}) +devices.devids['''mot_t732_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_t732_ver1''', '''MOT-T732.''', False, None) +devices.devids['''mot_t732_ver1_sub1103'''] = devclass(devices.devids['''mot_t732_ver1'''], '''mot_t732_ver1_sub1103''', '''MOT-T732./11.03 UP.Browser/4.1.25i''', False, None) +devices.devids['''mot_ta02_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_ta02_ver1''', '''MOT-TA02''', True, {'''brand_name''':'''Motorola''','''colors''':4,'''connectionless_service_indication''':True,'''ems''':True,'''gif''':True,'''greyscale''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':2048,'''max_image_height''':48,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C330/C333/C336''','''resolution_height''':64,'''resolution_width''':96,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''sp_midi''':True,'''voices''':16,'''wallpaper_gif''':True,'''wap_push_support''':True}) +devices.devids['''mot_ta02_ver1_sub0206060000i.fr01'''] = devclass(devices.devids['''mot_ta02_ver1'''], '''mot_ta02_ver1_sub0206060000i.fr01''', '''MOT-ta02/_02_06060000I.FR01 MIB/1.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_ta02_ver1_sub06031fr'''] = devclass(devices.devids['''mot_ta02_ver1'''], '''mot_ta02_ver1_sub06031fr''', '''MOT-TA02/06.03.1FR MIB/1.2.1''', False, None) +devices.devids['''mot_ta02_ver1_sub060317i'''] = devclass(devices.devids['''mot_ta02_ver1'''], '''mot_ta02_ver1_sub060317i''', '''MOT-ta02/06.03.17i MIB/1.2.1''', False, None) +devices.devids['''mot_u10_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_u10_ver1''', '''MOT-U10''', False, None) +devices.devids['''mot_u10_ver1_sub713207'''] = devclass(devices.devids['''mot_u10_ver1'''], '''mot_u10_ver1_sub713207''', '''MOT-U10/71.32.07. MIB/2.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v60m_ver3'''] = devclass(devices.devids['''mot_phx8_ver1'''], '''mot_v60m_ver3''', '''MOT-V60M/03''', True, {'''ems''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':48,'''model_name''':'''V60i''','''ringtone''':True,'''ringtone_imelody''':True,'''text_imelody''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True}) +devices.devids['''mot_v60m_ver3_sub030730r'''] = devclass(devices.devids['''mot_v60m_ver3'''], '''mot_v60m_ver3_sub030730r''', '''MOT-V60M/03.07.30R MIB/1.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v66m_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_v66m_ver1''', '''MOT-V66M''', True, {'''brand_name''':'''Motorola''','''downloadfun_support''':True,'''max_deck_size''':2000,'''midi_monophonic''':True,'''model_name''':'''V66M''','''ringtone_midi_monophonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':64,'''screensaver_max_width''':96,'''utf8_support''':True,'''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wap_push_support''':True}) +devices.devids['''mot_v66m_ver1_sub021300i'''] = devclass(devices.devids['''mot_v66m_ver1'''], '''mot_v66m_ver1_sub021300i''', '''MOT-V66M/02.13.00I MIB/1.2''', False, None) +devices.devids['''mot_v66m_ver3'''] = devclass(devices.devids['''mot_v66m_ver1'''], '''mot_v66m_ver3''', '''MOT-V66M/03''', True, {'''ems''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''V66i''','''ringtone''':True,'''ringtone_imelody''':True}) +devices.devids['''mot_v66m_ver3_sub030710i'''] = devclass(devices.devids['''mot_v66m_ver3'''], '''mot_v66m_ver3_sub030710i''', '''MOT-V66M/03.07.10I MIB/1.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v66m_ver5'''] = devclass(devices.devids['''mot_v66m_ver3'''], '''mot_v66m_ver5''', '''MOT-V66M/05''', False, None) +devices.devids['''mot_v66m_ver5_sub050512i'''] = devclass(devices.devids['''mot_v66m_ver5'''], '''mot_v66m_ver5_sub050512i''', '''MOT-V66M/05.05.12I MIB/1.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v70_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_v70_ver1''', '''MOT-V70 UP.Browser/4''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''gif''':True,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':2048,'''max_image_height''':51,'''max_image_width''':91,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V70''','''resolution_height''':64,'''resolution_width''':96,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v70_ver1_sub4123c'''] = devclass(devices.devids['''mot_v70_ver1'''], '''mot_v70_ver1_sub4123c''', '''MOT-V708_/11.03 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_v70_ver1_sub70a'''] = devclass(devices.devids['''mot_v70_ver1'''], '''mot_v70_ver1_sub70a''', '''MOT-V70A_/11.03 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_v70_ver1_sub708a'''] = devclass(devices.devids['''mot_v70_ver1'''], '''mot_v70_ver1_sub708a''', '''MOT-V708A/11.03 UP.Browser/4.1.23c''', False, None) +devices.devids['''mot_v80_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v80_ver1''', '''MOT-V80''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':20,'''imelody''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':187,'''j2me_canvas_width''':176,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':819200,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':5242880,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':522240,'''max_image_height''':185,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''V80''','''mp3''':True,'''multipart_support''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':22,'''rows''':8,'''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v80/profile/v80.rdf''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''mot_v80_ver1_sub0b0934r'''] = devclass(devices.devids['''mot_v80_ver1'''], '''mot_v80_ver1_sub0b0934r''', '''MOT-V80/0B.09.34R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v80_ver1_submotorola0e0325r'''] = devclass(devices.devids['''mot_v80_ver1'''], '''mot_v80_ver1_submotorola0e0325r''', '''MOT-Motorola V80/0E.03.26R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v101_ver1'''] = devclass(devices.devids['''generic'''], '''mot_v101_ver1''', '''MOT-V101''', True, {'''brand_name''':'''Motorola''','''model_name''':'''V101'''}) +devices.devids['''mot_v120_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_v120_ver1''', '''MOT-V120''', True, {'''brand_name''':'''Motorola''','''max_image_height''':48,'''max_image_width''':96,'''model_name''':'''V120''','''resolution_height''':64,'''resolution_width''':96,'''text_imelody''':True}) +devices.devids['''mot_v120x_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_v120x_ver1''', '''MOT-V120X''', False, None) +devices.devids['''mot_v120x_ver1_sub1103'''] = devclass(devices.devids['''mot_v120x_ver1'''], '''mot_v120x_ver1_sub1103''', '''MOT-V120X/11.03 UP.Browser/4.1.25i''', False, None) +devices.devids['''mot_v150_ver1'''] = devclass(devices.devids['''mot_mib20_generic'''], '''mot_v150_ver1''', '''MOT-v150''', True, {'''colors''':4096,'''downloadfun_support''':True,'''max_image_height''':65,'''max_image_width''':96,'''model_name''':'''V150''','''resolution_height''':65,'''resolution_width''':96,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_df_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_max_height''':65,'''wallpaper_max_width''':96,'''wallpaper_preferred_height''':65,'''wallpaper_preferred_width''':96}) +devices.devids['''mot_v150_ver1_subag09090cr'''] = devclass(devices.devids['''mot_v150_ver1'''], '''mot_v150_ver1_subag09090cr''', '''MOT-v150/A_G_09.09.0CR MIB/2.0''', False, None) +devices.devids['''mot_v150_ver1_subg09090ar'''] = devclass(devices.devids['''mot_v150_ver1'''], '''mot_v150_ver1_subg09090ar''', '''MOT-v150/G_09.09.0AR MIB/2.0''', False, None) +devices.devids['''mot_v170_ver1'''] = devclass(devices.devids['''mot_mib20_generic'''], '''mot_v170_ver1''', '''MOT-V170''', True, {'''bmp''':True,'''colors''':4096,'''max_image_height''':48,'''model_name''':'''V170''','''resolution_height''':64,'''resolution_width''':96,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_colors''':12,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''mot_v171_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v171_ver1''', '''MOT-V171''', True, {'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':4096,'''directdownload_support''':True,'''max_deck_size''':64512,'''max_image_height''':48,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V171''','''resolution_height''':64,'''resolution_width''':96,'''ringtone''':True,'''ringtone_directdownload_size_limit''':250000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_colors''':12,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':96,'''screensaver_max_width''':64,'''screensaver_preferred_height''':96,'''screensaver_preferred_width''':64,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':96,'''wallpaper_max_width''':64,'''wallpaper_png''':True,'''wallpaper_preferred_height''':64,'''wallpaper_preferred_width''':96}) +devices.devids['''mot_v171_ver1_sub6227'''] = devclass(devices.devids['''mot_v171_ver1'''], '''mot_v171_ver1_sub6227''', '''MOT-V171 UP.Browser/6.2.2.7 (GUI) MMP/1.0''', False, None) +devices.devids['''mot_v172_ver1'''] = devclass(devices.devids['''mot_v171_ver1'''], '''mot_v172_ver1''', '''MOT-V172''', True, {'''ems''':True,'''max_image_height''':48,'''model_name''':'''V172''','''receiver''':True,'''ringtone_voices''':32,'''rows''':3,'''sender''':True}) +devices.devids['''mot_v173_ver1'''] = devclass(devices.devids['''mot_v171_ver1'''], '''mot_v173_ver1''', '''MOT-V173''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':67,'''j2me_screen_width''':98,'''max_image_height''':48,'''model_name''':'''V173'''}) +devices.devids['''mot_v173_ver1_sub6227'''] = devclass(devices.devids['''mot_v173_ver1'''], '''mot_v173_ver1_sub6227''', '''MOT-V173 UP.Browser/6.2.2.7 (GUI) MMP/1.0''', False, None) +devices.devids['''mot_v177_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v177_ver1''', '''MOT-V177''', False, {'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':15,'''imelody''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':8192,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''MOT-V177''','''nokia_voice_call''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':10,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v177/profile/v177.rdf''','''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v177_ver1_sub6239c6'''] = devclass(devices.devids['''mot_v177_ver1'''], '''mot_v177_ver1_sub6239c6''', '''MOT-V177 UP.Browser/6.2.3.9.c.6 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v180_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v180_ver1''', '''MOT-V180''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':16,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':99,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':819200,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':1887436,'''j2me_udp''':True,'''j2me_wmapi_1_0''':True,'''max_deck_size''':522240,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''V180''','''mp3''':True,'''multipart_support''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':512000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''rows''':5,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':512000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v180/profile/v180.rdf''','''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':512000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''mot_v180_ver1_sub0bd109r'''] = devclass(devices.devids['''mot_v180_ver1'''], '''mot_v180_ver1_sub0bd109r''', '''MOT-V180/0B.D1.09R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v180ens_ver1'''] = devclass(devices.devids['''mot_v180_ver1'''], '''mot_v180ens_ver1''', '''MOT-V180ENS''', False, None) +devices.devids['''mot_v180ens_ver1_sub0bd132r'''] = devclass(devices.devids['''mot_v180ens_ver1'''], '''mot_v180ens_ver1_sub0bd132r''', '''MOT-V180ENS/0B.D1.32R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v180ens_ver1_sub0bd22br'''] = devclass(devices.devids['''mot_v180ens_ver1'''], '''mot_v180ens_ver1_sub0bd22br''', '''MOT-V180ENS/0B.D2.2BR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v185_ver1'''] = devclass(devices.devids['''mot_v180_ver1'''], '''mot_v185_ver1''', '''MOT-V185''', True, {'''max_image_height''':96,'''model_name''':'''V185'''}) +devices.devids['''mot_v185_ver1_sub0bd11er'''] = devclass(devices.devids['''mot_v185_ver1'''], '''mot_v185_ver1_sub0bd11er''', '''MOT-V185/0B.D1.1ER MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v186_ver1'''] = devclass(devices.devids['''mot_v180_ver1'''], '''mot_v186_ver1''', '''MOT-V186''', True, {'''max_image_height''':96,'''model_name''':'''V186''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False}) +devices.devids['''mot_v186_ver1_sub08300ar'''] = devclass(devices.devids['''mot_v186_ver1'''], '''mot_v186_ver1_sub08300ar''', '''MOT-V186/08.30.0AR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v188_ver1'''] = devclass(devices.devids['''mot_v180_ver1'''], '''mot_v188_ver1''', '''MOT-V188''', True, {'''max_image_height''':96,'''mms_gif_animated''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':24,'''model_name''':'''V188''','''picture_colors''':16}) +devices.devids['''mot_v188_ver1_sub0bd230r'''] = devclass(devices.devids['''mot_v188_ver1'''], '''mot_v188_ver1_sub0bd230r''', '''MOT-V188/0B.D2.30R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v190_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v190_ver1''', '''MOT-V190''', True, {'''bmp''':True,'''colors''':65536,'''columns''':20,'''downloadfun_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V190''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''rows''':8,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':120,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':120,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':120,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120}) +devices.devids['''mot_v190_ver1_sub014002'''] = devclass(devices.devids['''mot_v190_ver1'''], '''mot_v190_ver1_sub014002''', '''MOT-V190/01.40.02_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_v191_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v191_ver1''', '''MOT-V191''', True, {'''colors''':65536,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''V191''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v191_ver1_sub0a5245r'''] = devclass(devices.devids['''mot_v191_ver1'''], '''mot_v191_ver1_sub0a5245r''', '''MOT-V191/0A.52.45R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_v200_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_v200_ver1''', '''MOT-v200.''', True, {'''brand_name''':'''Motorola''','''model_name''':'''V200'''}) +devices.devids['''mot_v200_ver1_sub1001'''] = devclass(devices.devids['''mot_v200_ver1'''], '''mot_v200_ver1_sub1001''', '''MOT-v200./10.01 UP/4.1.21b UP.Browser/4.1.21b-XXXX''', False, None) +devices.devids['''mot_v220_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v220_ver1''', '''MOT-V220''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':16,'''imelody''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':99,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':819200,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':1887436,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_deck_size''':522240,'''max_image_height''':96,'''max_image_width''':118,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''V220''','''mp3''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':100000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''rows''':5,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v220/profile/v220.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':100000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''mot_v220_ver1_sub0bd017r'''] = devclass(devices.devids['''mot_v220_ver1'''], '''mot_v220_ver1_sub0bd017r''', '''MOT-V220/0B.D0.17R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v220_ver1_subrn'''] = devclass(devices.devids['''mot_v220_ver1'''], '''mot_v220_ver1_subrn''', '''MotorolaV220rn''', False, None) +devices.devids['''mot_v220ens_ver1'''] = devclass(devices.devids['''mot_v220_ver1'''], '''mot_v220ens_ver1''', '''MOT-V220ENS''', False, None) +devices.devids['''mot_v220ens_ver1_sub0bd132r'''] = devclass(devices.devids['''mot_v220ens_ver1'''], '''mot_v220ens_ver1_sub0bd132r''', '''MOT-V220ENS/0B.D1.32R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v226_ver1'''] = devclass(devices.devids['''mot_v220_ver1'''], '''mot_v226_ver1''', '''MOT-V226''', True, {'''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V226''','''mp3''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''screensaver''':True,'''screensaver_jpg''':True,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wav''':True}) +devices.devids['''mot_v226_sub0bd11ar'''] = devclass(devices.devids['''mot_v226_ver1'''], '''mot_v226_sub0bd11ar''', '''MOT-V226/0B.D1.1AR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v235_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v235_ver1''', '''MOT-V235''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''model_name''':'''V235''','''mp3''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v235_ver1_sub011801'''] = devclass(devices.devids['''mot_v235_ver1'''], '''mot_v235_ver1_sub011801''', '''MOT-V235/01.18.01_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_v237_ver1'''] = devclass(devices.devids['''mot_v235_ver1'''], '''mot_v237_ver1''', '''MOT-V237''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':'''V237''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_v237_ver1_sub'''] = devclass(devices.devids['''mot_v237_ver1'''], '''mot_v237_ver1_sub''', '''MOT-V237/08.D0.11R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''verizon_mot_v260_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''verizon_mot_v260_ver1''', '''motov260''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':128,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':64,'''mms_mp3''':True,'''mms_qcelp''':False,'''model_name''':'''V260 (Verizon Wireless)''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''qcelp''':False,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':350000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':False,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':350000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':350000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':False,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v276_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v276_ver1''', '''MOT-V276''', True, {'''brand_name''':'''Motorola''','''colors''':262144,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':128,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':64,'''mms_mp3''':False,'''mms_qcelp''':True,'''model_name''':'''V276''','''mp3''':False,'''oma_v_1_0_forwardlock''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':350000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':False,'''ringtone_qcelp''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':350000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':350000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''verizon_mot_v276_ver1'''] = devclass(devices.devids['''mot_v276_ver1'''], '''verizon_mot_v276_ver1''', '''motov276''', True, {'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V276 (Verizon Wireless)''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':False,'''wallpaper_png''':False}) +devices.devids['''mot_v280_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v280_ver1''', '''MOT-V280''', True, {'''colors''':262144,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V280''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v280_ver1_sub0a501fr'''] = devclass(devices.devids['''mot_v280_ver1'''], '''mot_v280_ver1_sub0a501fr''', '''MOT-V280/0A.50.1FR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_v290_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''mot_v290_ver1''', '''MOT-V290''', True, {'''brand_name''':'''Motorola''','''colors''':262144,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V290''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v290_ver1_sub6107'''] = devclass(devices.devids['''mot_v290_ver1'''], '''mot_v290_ver1_sub6107''', '''MOT-V290/6.1.0.7 UP.Browser/6.1.0.7.4 (GUI) MMP/1.0''', False, None) +devices.devids['''mot_v295_ver1'''] = devclass(devices.devids['''mot_v290_ver1'''], '''mot_v295_ver1''', '''MOT-V295''', True, {'''model_name''':'''V295'''}) +devices.devids['''mot_v365_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v365_ver1''', '''MOT-V365''', True, {'''amr''':True,'''bmp''':True,'''epoc_bmp''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V365''','''resolution_height''':220,'''resolution_width''':176,'''screensaver''':True,'''sp_midi''':True,'''tiff''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wav''':True}) +devices.devids['''mot_v365_ver1_sub08cc0fr'''] = devclass(devices.devids['''mot_v365_ver1'''], '''mot_v365_ver1_sub08cc0fr''', '''MOT-V365/08.CC.0FR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_v365_ver1_sub08cc13r'''] = devclass(devices.devids['''mot_v365_ver1'''], '''mot_v365_ver1_sub08cc13r''', '''MOT-V365/08.CC.13R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_v380_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v380_ver1''', '''MOT-V380''', True, {'''model_name''':'''V380'''}) +devices.devids['''mot_v265_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v265_ver1''', '''MOT-PCC_1/00.62 UP.Browser/6.2.3.1.206 (GUI) MMP/2.0''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V265''','''mp3''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''verizon_mot_v265_ver1'''] = devclass(devices.devids['''mot_v265_ver1'''], '''verizon_mot_v265_ver1''', '''motov265''', True, {'''gif_animated''':True,'''mms_3gpp2''':True,'''model_name''':'''V265 (Verizon Wireless)'''}) +devices.devids['''mot_v26x_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v26x_ver1''', '''MOT-V26X_''', False, None) +devices.devids['''mot_v26x_ver1_sub6232'''] = devclass(devices.devids['''mot_v26x_ver1'''], '''mot_v26x_ver1_sub6232''', '''MOT-V26X_/00.62 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''mot_v3c_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v3c_ver1''', '''MOT-V3c''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':12,'''imelody''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_deck_size''':3000,'''max_image_height''':161,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':358400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''RAZR V3c''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':143360,'''ringtone_directdownload_size_limit''':143360,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''rows''':16,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_df_size_limit''':15360,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''screensaver_wbmp''':True,'''sender''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True}) +devices.devids['''verizon_mot_v3c_ver1'''] = devclass(devices.devids['''mot_v3c_ver1'''], '''verizon_mot_v3c_ver1''', '''motov3''', True, {'''aac''':False,'''amr''':False,'''gif_animated''':True,'''mms_amr''':False,'''mms_mp3''':False,'''mms_wav''':False,'''model_name''':'''RAZR V3c (Verizon Wireless)''','''mp3''':False,'''ringtone_aac''':False,'''ringtone_amr''':False,'''ringtone_mp3''':False,'''ringtone_qcelp''':False,'''ringtone_wav''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_png''':False}) +devices.devids['''mot_v325_verizon_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v325_verizon_ver1''', '''MOT-MLNBT/00.62 UP.Browser/6.2.3.4.e.1.100 (GUI) MMP/2.0''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':7,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':3000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':358400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''V325''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vtext.com/mot/v325/v325v1.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''mot_v300_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v300_ver1''', '''MOT-V300''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''built_in_camera''':True,'''colors''':65536,'''columns''':20,'''downloadfun_support''':True,'''imelody''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':182,'''j2me_canvas_width''':176,'''j2me_cldc_1_0''':True,'''j2me_datefield_broken''':True,'''j2me_heap_size''':819200,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':5242880,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':522240,'''max_image_height''':185,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':24,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''V300''','''mp3''':True,'''multipart_support''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':143360,'''ringtone_directdownload_size_limit''':143360,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v300/profile/v300.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_df_size_limit''':102400,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''mot_v300_ver1_sub05200br'''] = devclass(devices.devids['''mot_v300_ver1'''], '''mot_v300_ver1_sub05200br''', '''MOT-V300/05.20.0BR MIB/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v300_ver1_sub0b0803i'''] = devclass(devices.devids['''mot_v300_ver1'''], '''mot_v300_ver1_sub0b0803i''', '''MOT-V300/0B.08.03I MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v300_ver1_sub0e4075r'''] = devclass(devices.devids['''mot_v300_ver1'''], '''mot_v300_ver1_sub0e4075r''', '''MOT-V300/0E.40.75R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v303_ver1'''] = devclass(devices.devids['''mot_v300_ver1'''], '''mot_v303_ver1''', '''MOT-V303''', True, {'''model_name''':'''V303''','''rows''':4,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_v303_ver1_sub0b089fr'''] = devclass(devices.devids['''mot_v303_ver1'''], '''mot_v303_ver1_sub0b089fr''', '''MOT-V303/0B.08.9FR MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v325_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v325_ver1''', '''MOT-V325''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':220,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':72,'''mms_mp3''':False,'''mms_qcelp''':True,'''model_name''':'''V325''','''mp3''':False,'''oma_v_1_0_forwardlock''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_directdownload_size_limit''':350000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':False,'''ringtone_qcelp''':True,'''ringtone_voices''':72,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':350000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v325/Profile/v325.rdf''','''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':350000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''mot_v330_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v330_ver1''', '''MOT-V330''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''V330''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v330/Profile/v330.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''mot_v330_ver1_sub08180fr'''] = devclass(devices.devids['''mot_v330_ver1'''], '''mot_v330_ver1_sub08180fr''', '''MOT-V330/08.18.0FR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v333_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v333_ver1''', '''MOT-V333''', True, {'''model_name''':'''V333'''}) +devices.devids['''mot_v360_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v360_ver1''', '''MOT-V360''', True, {'''aac''':True,'''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_image_height''':200,'''max_image_width''':165,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V360''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':24,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':176,'''screensaver_max_width''':220,'''screensaver_png''':True,'''screensaver_preferred_height''':176,'''screensaver_preferred_width''':176,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v360/Profile/v360.rdf''','''video_3gpp''':True,'''video_qcif''':True,'''video_sqcif''':True,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''mot_v360_ver1_sub08a00ei'''] = devclass(devices.devids['''mot_v360_ver1'''], '''mot_v360_ver1_sub08a00ei''', '''MOT-V360/08.A0.0EI MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v360_ver1_sub08b705r'''] = devclass(devices.devids['''mot_v360_ver1'''], '''mot_v360_ver1_sub08b705r''', '''MOT-V360/08.B7.05R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40,'''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True}) +devices.devids['''mot_v360_ver1_sub08b786r'''] = devclass(devices.devids['''mot_v360_ver1'''], '''mot_v360_ver1_sub08b786r''', '''MOT-V360/08.B7.86R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v360i_ver1'''] = devclass(devices.devids['''mot_v360_ver1'''], '''mot_v360i_ver1''', '''MOT-V360i''', True, {'''model_name''':'''V360i'''}) +devices.devids['''mot_v360i_ver1_sub042401'''] = devclass(devices.devids['''mot_v360_ver1'''], '''mot_v360i_ver1_sub042401''', '''MOT-V360i/04.24.01_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v360v_ver1'''] = devclass(devices.devids['''mot_v360_ver1'''], '''mot_v360v_ver1''', '''MOT-V360v''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''V360-Vodafone'''}) +devices.devids['''mot_v360v_ver1_sub014101'''] = devclass(devices.devids['''mot_v360v_ver1'''], '''mot_v360v_ver1_sub014101''', '''MOT-V360v/01.41.01_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v360v_ver1_sub08b713r'''] = devclass(devices.devids['''mot_v360v_ver1'''], '''mot_v360v_ver1_sub08b713r''', '''MOT-V360v/08.B7.13R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v361_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v361_ver1''', '''MOT-V361''', True, {'''brand_name''':'''Motorola''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''model_name''':'''V361''','''wallpaper_jpg''':True,'''wallpaper_preferred_height''':173,'''wallpaper_preferred_width''':174}) +devices.devids['''motorola_v361_ver1_sub08b786r'''] = devclass(devices.devids['''mot_v361_ver1'''], '''motorola_v361_ver1_sub08b786r''', '''Mot-v361/08.b7.86r Mib/2.2.1 Profile/midp-2.0 Configuration/cldc-1.1''', False, None) +devices.devids['''mot_v361_ver1_sub042502'''] = devclass(devices.devids['''mot_v361_ver1'''], '''mot_v361_ver1_sub042502''', '''MOT-V361/04.25.02_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', False, None) +devices.devids['''mot_v398_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v398_ver1''', '''MOT-V398''', False, None) +devices.devids['''mot_v398_ver1_sub0e2095r'''] = devclass(devices.devids['''mot_v398_ver1'''], '''mot_v398_ver1_sub0e2095r''', '''MOT-V398/0E.20.95R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v400_ver1'''] = devclass(devices.devids['''mot_v300_ver1'''], '''mot_v400_ver1''', '''MOT-V400''', True, {'''model_name''':'''V400''','''uaprof''':'''http://motorola.handango.com/phoneconfig/v400/Profile/v400.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_v400_ver1_sub0b0874r'''] = devclass(devices.devids['''mot_v400_ver1'''], '''mot_v400_ver1_sub0b0874r''', '''V400 MOT-V400/0B.08.74R MIB/2.2 Profile/MIDP-2.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v400_ver1_sub0b089fr'''] = devclass(devices.devids['''mot_v400_ver1'''], '''mot_v400_ver1_sub0b089fr''', '''MOT-V400/0B.08.9FR MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v500_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v500_ver1''', '''MOT-V500''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':20,'''imelody''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':182,'''j2me_canvas_width''':176,'''j2me_cldc_1_0''':True,'''j2me_datefield_broken''':True,'''j2me_heap_size''':819200,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':5242880,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':522240,'''max_image_height''':185,'''max_image_width''':165,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''V500''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':143360,'''ringtone_directdownload_size_limit''':143360,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''rows''':8,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_png''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v500/profile/v500.rdf''','''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''mot_v500_ver1_sub05200br20'''] = devclass(devices.devids['''mot_v500_ver1'''], '''mot_v500_ver1_sub05200br20''', '''MOT-V500/05.20.0BR MIB/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v500_ver1_sub0b082ai'''] = devclass(devices.devids['''mot_v500_ver1'''], '''mot_v500_ver1_sub0b082ai''', '''MOT-V500/0B.08.2AI MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v500_ver1_subminar0e660er221'''] = devclass(devices.devids['''mot_v500_ver1'''], '''mot_v500_ver1_subminar0e660er221''', '''MOT-V500 by MINAR/0E.66.0ER MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v500_ver1_submotorola0b0938r'''] = devclass(devices.devids['''mot_v500_ver1'''], '''mot_v500_ver1_submotorola0b0938r''', '''MOT-Motorola V500/0B.09.38R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v501_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v501_ver1''', '''MOT-V501''', True, {'''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V501''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''rows''':8,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':35,'''wallpaper_preferred_width''':96}) +devices.devids['''mot_v501_ver1_sub0b0938r'''] = devclass(devices.devids['''mot_v501_ver1'''], '''mot_v501_ver1_sub0b0938r''', '''MOT-V501/0B.09.38R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v540_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v540_ver1''', '''MOT-V540''', True, {'''amr''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':185,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V540''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_png''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''mot_v540_ver1_sub081840r'''] = devclass(devices.devids['''mot_v540_ver1'''], '''mot_v540_ver1_sub081840r''', '''MOT-V540/08.18.40R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v560_ver1'''] = devclass(devices.devids['''mot_v500_ver1'''], '''mot_v560_ver1''', '''MOT-V560''', True, {'''model_name''':'''V560'''}) +devices.devids['''mot_v505_ver1'''] = devclass(devices.devids['''mot_v500_ver1'''], '''mot_v505_ver1''', '''MOT-V505''', True, {'''model_name''':'''V505'''}) +devices.devids['''mot_v505_ver1_sub0b094ar'''] = devclass(devices.devids['''mot_v505_ver1'''], '''mot_v505_ver1_sub0b094ar''', '''MOT-V505/0B.09.4AR MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v505_ver1_sub0b094dr'''] = devclass(devices.devids['''mot_v505_ver1'''], '''mot_v505_ver1_sub0b094dr''', '''MOT-V505/0B.09.4DR MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v525_ver1'''] = devclass(devices.devids['''mot_v500_ver1'''], '''mot_v525_ver1''', '''MOT-V525''', True, {'''au''':True,'''mms_mp4''':True,'''mms_video''':True,'''model_name''':'''V525''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_v525_ver1_sub0b0919r'''] = devclass(devices.devids['''mot_v525_ver1'''], '''mot_v525_ver1_sub0b0919r''', '''MOT-V525/0B.09.19R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v525m_ver1'''] = devclass(devices.devids['''mot_v525_ver1'''], '''mot_v525m_ver1''', '''MOT-V525M''', True, {'''model_name''':'''V525M''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_v525m_ver1_sub0b0919r'''] = devclass(devices.devids['''mot_v525m_ver1'''], '''mot_v525m_ver1_sub0b0919r''', '''MOT-V525M/0B.09.19R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v535_ver1'''] = devclass(devices.devids['''mot_v300_ver1'''], '''mot_v535_ver1''', '''MOT-V535''', True, {'''max_data_rate''':40,'''model_name''':'''V535''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_df_size_limit''':153600,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_v535_ver1_sub0e660br'''] = devclass(devices.devids['''mot_v535_ver1'''], '''mot_v535_ver1_sub0e660br''', '''MOT-V535/0E.66.0BR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v536_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v536_ver1''', '''MOT-V536''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''V536''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':11,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v536/Profile/v536.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''mot_v536_ver1_sub08180dr'''] = devclass(devices.devids['''mot_v536_ver1'''], '''mot_v536_ver1_sub08180dr''', '''MOT-V536/08.18.0DR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v545_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v545_ver1''', '''MOT-V545''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''V545''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/V545/Profile/V545.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''mot_v545_ver1_sub0e6604r'''] = devclass(devices.devids['''mot_v545_ver1'''], '''mot_v545_ver1_sub0e6604r''', '''MOT-V545/0E.66.04R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v547_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v547_ver1''', '''MOT-V547''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_deck_size''':522240,'''max_image_height''':200,'''max_image_width''':165,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''V547''','''mp3''':True,'''multipart_support''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v547/Profile/v547.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''mot_v547_ver1_sub081715r'''] = devclass(devices.devids['''mot_v547_ver1'''], '''mot_v547_ver1_sub081715r''', '''MOT-V547/08.17.15R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v550_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v550_ver1''', '''MOT-V550''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':20,'''imelody''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':819200,'''j2me_http''':True,'''j2me_https''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_socket''':True,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':522240,'''max_image_height''':185,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''V550''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v550/Profile/v550.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''mot_v550_ver1_sub0e6511r'''] = devclass(devices.devids['''mot_v550_ver1'''], '''mot_v550_ver1_sub0e6511r''', '''MOT-V550/0E.65.11R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v551_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v551_ver1''', '''MOT-V551''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''V551''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':102400,'''ringtone_directdownload_size_limit''':102400,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':24,'''rows''':11,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v551/Profile/v551.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_df_size_limit''':102400,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':102400,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''mot_v551_ver1_sub010203'''] = devclass(devices.devids['''mot_v551_ver1'''], '''mot_v551_ver1_sub010203''', '''MOT-V551/01.02.03 MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v551j_ver1'''] = devclass(devices.devids['''mot_v551_ver1'''], '''mot_v551j_ver1''', '''MOT-V551J''', False, None) +devices.devids['''mot_v551j_ver1_sub08180dr'''] = devclass(devices.devids['''mot_v551j_ver1'''], '''mot_v551j_ver1_sub08180dr''', '''MOT-V551J/08.18.0DR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v555_ver1'''] = devclass(devices.devids['''mot_v551_ver1'''], '''mot_v555_ver1''', '''MOT-V555''', True, {'''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_image_height''':220,'''max_image_width''':176,'''model_name''':'''V555''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''rows''':8,'''screensaver''':True,'''sender''':True,'''wallpaper''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v555_ver1_sub08160cr'''] = devclass(devices.devids['''mot_v555_ver1'''], '''mot_v555_ver1_sub08160cr''', '''MOT-V555/08.16.0CR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v557_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v557_ver1''', '''MOT-V557''', True, {'''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_deck_size''':522240,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V557''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_png''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''mot_v557_ver1_sub010c02'''] = devclass(devices.devids['''mot_v557_ver1'''], '''mot_v557_ver1_sub010c02''', '''MOT-V557/01.0C.02 MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_v557_ver1_sub082600r'''] = devclass(devices.devids['''mot_v557_ver1'''], '''mot_v557_ver1_sub082600r''', '''MOT-V557/08.26.00R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_v557p_ver1'''] = devclass(devices.devids['''mot_v557_ver1'''], '''mot_v557p_ver1''', '''MOT-V557p''', False, None) +devices.devids['''mot_v557p_ver1_sub08270dr'''] = devclass(devices.devids['''mot_v557p_ver1'''], '''mot_v557p_ver1_sub08270dr''', '''MOT-V557p/08.27.0DR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_v6_ver1'''] = devclass(devices.devids['''mot_pebl_v6_ver1'''], '''mot_v6_ver1''', '''MOT-V6''', False, None) +devices.devids['''mot_v6_ver1_sub088342i'''] = devclass(devices.devids['''mot_v6_ver1'''], '''mot_v6_ver1_sub088342i''', '''MOT-V6/08.83.42I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''mot_v600_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v600_ver1''', '''MOT-V600''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''built_in_camera''':True,'''colors''':65536,'''columns''':20,'''downloadfun_support''':True,'''imelody''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':182,'''j2me_canvas_width''':176,'''j2me_cldc_1_0''':True,'''j2me_datefield_broken''':True,'''j2me_heap_size''':819200,'''j2me_http''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':5242880,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':384,'''max_deck_size''':522240,'''max_image_height''':161,'''max_image_width''':165,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''V600''','''mp3''':True,'''multipart_support''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':143360,'''ringtone_directdownload_size_limit''':143360,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''rows''':8,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''screensaver_wbmp''':True,'''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v600/profile/v600.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_acodec_qcelp''':True,'''video_df_size_limit''':102400,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''mot_v3_ver1'''] = devclass(devices.devids['''mot_v600_ver1'''], '''mot_v3_ver1''', '''MOT-V3''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':200,'''max_image_width''':227,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''model_name''':'''RAZR V3''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':11,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v3/Profile/v3.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_vcodec_mpeg4''':False,'''video_wmv''':False,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''mot_v600_ver1_sub05200br'''] = devclass(devices.devids['''mot_v600_ver1'''], '''mot_v600_ver1_sub05200br''', '''MOT-V600/05.20.0BR MIB/2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v3_ver1_sub0e403errazr'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v3_ver1_sub0e403errazr''', '''MOT-V3 RAZR/0E.40.3ER MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v3_ver1_sub0e4079r'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v3_ver1_sub0e4079r''', '''MOT-V3/0E.40.79R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v3b_ver1'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v3b_ver1''', '''MOT-V3b''', True, {'''model_name''':'''RAZR V3 BLK''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_v3i_ver1'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v3i_ver1''', '''MOT-V3i''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''RAZR V3i''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v3i/Profile/v3i.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':18,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''mot_v3r_ver1'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v3r_ver1''', '''MOT-V3r''', True, {'''model_name''':'''RAZR V3r''','''ringtone_voices''':40,'''video_mp4''':True}) +devices.devids['''mot_v3v_ver1'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v3v_ver1''', '''MOT-V3v''', True, {'''model_name''':'''RAZR V3-Vodafone''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_v3mobigo_ver1'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v3mobigo_ver1''', '''Motorola-V3m Obigo/Q04C1 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':20,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':524288,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''RAZR V3m''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':10,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Motorola/V3m/0430.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''mot_v3_ver1_metropcs'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v3_ver1_metropcs''', '''MOT-NCR_0/00.62 UP.Browser/6.2.3.4.c.1.115 (GUI) MMP/2.0''', True, {'''brand_name''':'''Motorola''','''max_data_rate''':40,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''model_name''':'''RAZR V3m (Metro PCS)'''}) +devices.devids['''mot_v3m_ver1'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v3m_ver1''', '''MOT-GATW''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''model_name''':'''RAZR V3m (Verizon Wireless)''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_vcodec_h264''':'''10 1b 11''','''video_wmv''':False,'''xhtml_support_level''':3}) +devices.devids['''mot_v9m_ver1'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v9m_ver1''', '''Motorola-V9m Obigo/Q04C1 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':20,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':524288,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''RAZR V9m (Sprint)''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':10,'''softkey_support''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Motorola/V9m/2680.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''mot_v3x_ver1'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v3x_ver1''', '''MOT-RAZRV3x''', True, {'''ajax_support_javascript''':True,'''colors''':262144,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''max_image_height''':300,'''max_image_width''':220,'''model_name''':'''RAZR V3x''','''oma_v_1_0_separate_delivery''':False,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''softkey_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/razrv3xx/Profile/RAZRV3xx.rdf''','''uaprof2''':'''http://motorola.handango.com/phoneconfig/razrv3x/Profile/razrv3x_NO_BEARER.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''xhtml_support_level''':3}) +devices.devids['''mot_v3x_ver1_sub8598'''] = devclass(devices.devids['''mot_v3x_ver1'''], '''mot_v3x_ver1_sub8598''', '''MOT-RAZRV3x/85.98.E0R MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''uaprof''':'''http://motorola.handango.com/phoneconfig/razrv3x/Profile/razrv3x.rdf'''}) +devices.devids['''mot_v3x_ver1_sub012a01'''] = devclass(devices.devids['''mot_v3x_ver1'''], '''mot_v3x_ver1_sub012a01''', '''MOT-RAZRV3x/01.2A.01 MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''mot_v3xr_ver1_sub862220ropera800'''] = devclass(devices.devids['''mot_v3x_ver1'''], '''mot_v3xr_ver1_sub862220ropera800''', '''MOT-RAZRV3xR/86.22.20R BER2.2 Mozilla/4.0 (compatible; MSIE 6.0; Synergy; 1742) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.00 [es]''', False, {'''max_data_rate''':384}) +devices.devids['''mot_v3xr_ver1_sub862500rv3xr'''] = devclass(devices.devids['''mot_v3x_ver1'''], '''mot_v3xr_ver1_sub862500rv3xr''', '''MOT-RAZRV3xR/86.25.00R BER2.2 Mozilla/4.0 (compatible; MSIE 6.0; 1787) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.00 [es]''', False, {'''max_data_rate''':384}) +devices.devids['''mot_v3xv_ver1'''] = devclass(devices.devids['''mot_v3x_ver1'''], '''mot_v3xv_ver1''', '''MOT-RAZRV3xv''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''RAZR V3x-Vodafone''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_v3xx_ver1'''] = devclass(devices.devids['''mot_v3x_ver1'''], '''mot_v3xx_ver1''', '''MOT-RAZRV3xx''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''colors''':65536,'''columns''':19,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1024,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''RAZR V3xx''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':8,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':False,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://motorola.handango.com/phoneconfig/V3XX/Profile/V3XX.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1,'''xmf''':True}) +devices.devids['''mot_v3b_ver1_sub0ea421r'''] = devclass(devices.devids['''mot_v3b_ver1'''], '''mot_v3b_ver1_sub0ea421r''', '''MOT-V3b/0E.A4.21R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v3e_ver1'''] = devclass(devices.devids['''mot_v3i_ver1'''], '''mot_v3e_ver1''', '''MOT-V3E''', True, {'''model_name''':'''RAZR V3e''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':18}) +devices.devids['''mot_v3iitunes_ver1_sub08b41ci'''] = devclass(devices.devids['''mot_v3i_ver1'''], '''mot_v3iitunes_ver1_sub08b41ci''', '''MOT-V3i_iTunes/08.B4.1CI MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v3iitunes_ver1_sub08b42fr'''] = devclass(devices.devids['''mot_v3i_ver1'''], '''mot_v3iitunes_ver1_sub08b42fr''', '''MOT-V3i_iTunes/08.B4.2FR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v3i_ver1_sub042501'''] = devclass(devices.devids['''mot_v3i_ver1'''], '''mot_v3i_ver1_sub042501''', '''MOT-V3i/04.25.01_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v3i_ver1_sub012402'''] = devclass(devices.devids['''mot_v3i_ver1'''], '''mot_v3i_ver1_sub012402''', '''MOT-V3ire/01.24.02_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v3v_ver1_sub0e4208r'''] = devclass(devices.devids['''mot_v3v_ver1'''], '''mot_v3v_ver1_sub0e4208r''', '''MOT-V3v/0E.42.08R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v3r_ver1_sub042501'''] = devclass(devices.devids['''mot_v3r_ver1'''], '''mot_v3r_ver1_sub042501''', '''MOT-V3r/04.25.01_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v3re_ver1_sub012402'''] = devclass(devices.devids['''mot_v3r_ver1'''], '''mot_v3re_ver1_sub012402''', '''MOT-V3re/01.24.02 MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v3xx_sub968053r'''] = devclass(devices.devids['''mot_v3xx_ver1'''], '''mot_v3xx_sub968053r''', '''MOT-RAZRV3xx/96.80.53R BER2.2 Mozilla/4.0 (compatible; MSIE 6.0; 11073071) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.00 [pt]''', False, {'''max_data_rate''':9}) +devices.devids['''mot_v3m_ver1_sub6234c1112'''] = devclass(devices.devids['''mot_v3m_ver1'''], '''mot_v3m_ver1_sub6234c1112''', '''MOT-GATW_/00.62 UP.Browser/6.2.3.4.c.1.112 (GUI) MMP/2.0''', False, {'''max_data_rate''':40,'''video_vcodec_h263_3''':True,'''video_vcodec_h264''':'''10 1b 11''','''video_vcodec_mpeg4''':True}) +devices.devids['''mot_v600_ver1_subv600'''] = devclass(devices.devids['''mot_v600_ver1'''], '''mot_v600_ver1_subv600''', '''MotV600''', False, None) +devices.devids['''mot_v3e_ver1_uavariation'''] = devclass(devices.devids['''mot_v3e_ver1'''], '''mot_v3e_ver1_uavariation''', '''MOT-V3e''', False, None) +devices.devids['''mot_v3xv_ver1_sub856a60r'''] = devclass(devices.devids['''mot_v3xv_ver1'''], '''mot_v3xv_ver1_sub856a60r''', '''MOT-RAZRV3xv/85.6A.60R MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''mot_v600i_ver1'''] = devclass(devices.devids['''mot_v600_ver1'''], '''mot_v600i_ver1''', '''MOT-V600i''', False, None) +devices.devids['''mot_v600i_ver1_sub0e6523r'''] = devclass(devices.devids['''mot_v600i_ver1'''], '''mot_v600i_ver1_sub0e6523r''', '''MOT-V600i/0E.65.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v620_ver1'''] = devclass(devices.devids['''mot_v600_ver1'''], '''mot_v620_ver1''', '''MOT-V620''', True, {'''model_name''':'''V620''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_v620_ver1_sub051101'''] = devclass(devices.devids['''mot_v620_ver1'''], '''mot_v620_ver1_sub051101''', '''MOT-V620/05.11.01_ MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_sule_v620_ver1_sub0e6515r'''] = devclass(devices.devids['''mot_v620_ver1'''], '''mot_sule_v620_ver1_sub0e6515r''', '''MOT-SuLe V620/0E.65.25R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v620m_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v620m_ver1''', '''MOT-v620M''', False, None) +devices.devids['''mot_v620m_ver1_sub802f3b'''] = devclass(devices.devids['''mot_v620m_ver1'''], '''mot_v620m_ver1_sub802f3b''', '''MOT-v620M/80.2F.3B. MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_v635_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v635_ver1''', '''MOT-V635''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':262144,'''columns''':20,'''imelody''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':819200,'''j2me_http''':True,'''j2me_https''':True,'''j2me_jpg''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':102400,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':5242880,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_image_height''':185,'''max_image_width''':165,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''V635''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''rows''':8,'''screensaver''':True,'''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v635/Profile/V635.rdf''','''uaprof2''':'''http://motorola.handango.com/phoneconfig/E990/Profile/E990.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':174,'''wallpaper_preferred_width''':173,'''wav''':True}) +devices.devids['''mot_v635_ver1_sub084611r'''] = devclass(devices.devids['''mot_v635_ver1'''], '''mot_v635_ver1_sub084611r''', '''MOT-V635/08.46.11R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v690_ver1'''] = devclass(devices.devids['''generic'''], '''mot_v690_ver1''', '''MOT-V690''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''directdownload_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_image_height''':130,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V690''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''voices''':40}) +devices.devids['''mot_v690_ver1_sub00'''] = devclass(devices.devids['''mot_v690_ver1'''], '''mot_v690_ver1_sub00''', '''MOT-V690/ WAP.Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v690_ver1_sub10'''] = devclass(devices.devids['''mot_v690_ver1'''], '''mot_v690_ver1_sub10''', '''MOT-V690 CMCSWB/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v710_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v710_ver1''', '''MOT-V710''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':7,'''compactmidi''':True,'''html_web_4_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':142,'''max_image_width''':172,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':256000,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''V710''','''mp3''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':162,'''resolution_width''':172,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':11,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://device.telusmobility.com/motorola/v710.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wav''':True}) +devices.devids['''verizon_mot_8700_ver1'''] = devclass(devices.devids['''mot_v710_ver1'''], '''verizon_mot_8700_ver1''', '''motov710''', True, {'''brand_name''':'''Motorola''','''colors''':262144,'''columns''':15,'''directdownload_support''':True,'''gif_animated''':True,'''max_image_height''':162,'''max_image_width''':172,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V710 (Verizon Wireless)''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':5,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_png''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''mot_8700_ver1'''] = devclass(devices.devids['''verizon_mot_8700_ver1'''], '''mot_8700_ver1''', '''MOT-8700_''', False, None) +devices.devids['''mot_v710_ver1_sub0062'''] = devclass(devices.devids['''mot_v710_ver1'''], '''mot_v710_ver1_sub0062''', '''MOT-V710/00.62 UP.Browser/6.2.3.2.f.1.104 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''mot_8700_ver1_sub6232'''] = devclass(devices.devids['''mot_8700_ver1'''], '''mot_8700_ver1_sub6232''', '''MOT-8700_/00.62 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''mot_v730_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_v730_ver1''', '''MOT-V730''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V730''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v730_ver1_sub10'''] = devclass(devices.devids['''mot_v730_ver1'''], '''mot_v730_ver1_sub10''', '''MOT-V730/1.0 MIB1.2/v1.0''', False, None) +devices.devids['''mot_v8_ver1'''] = devclass(devices.devids['''mot_l7_ver1'''], '''mot_v8_ver1''', '''MOT-V8''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''SLVR V8''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_v8_ver1_sub08b723r'''] = devclass(devices.devids['''mot_v8_ver1'''], '''mot_v8_ver1_sub08b723r''', '''MOT-V8/08.B7.23R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v8xx_ver1'''] = devclass(devices.devids['''mot_v8_ver1'''], '''mot_v8xx_ver1''', '''motorazrV8''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':320,'''max_image_width''':233,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':307200,'''mms_max_width''':1200,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''RAZR V8''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/motorazrV8/Profile/motorazrv8.rdf''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''mot_v8xx_ver1_subr601g80'''] = devclass(devices.devids['''mot_v8xx_ver1'''], '''mot_v8xx_ver1_subr601g80''', '''motorazrV8/R601_G_80.xx.yyP Mozilla/4.0 (compatible; MSIE 6.0 Linux; Motorola V8;nnn) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.50''', False, {'''max_data_rate''':40}) +devices.devids['''mot_v810_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v810_ver1''', '''MOT-V810''', True, {'''brand_name''':'''Motorola''','''midi_polyphonic''':True,'''model_name''':'''V810''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''mot_v810_ver1_sub622'''] = devclass(devices.devids['''mot_v810_ver1'''], '''mot_v810_ver1_sub622''', '''MOT-V810/6.2.2 UP.Browser/6.2.2.4 (GUI) MMP/2.0 M4-MMS/3.01''', False, None) +devices.devids['''mot_v810_ver1_sub622m4'''] = devclass(devices.devids['''mot_v810_ver1'''], '''mot_v810_ver1_sub622m4''', '''MOT-V810/6.2.2 UP.Browser/6.2.2.4 (GUI) MMP/2.0M4-MMS/3.01''', False, None) +devices.devids['''mot_v860_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v860_ver1''', '''MOT-V860''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V860''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v860_ver1_sub10'''] = devclass(devices.devids['''mot_v860_ver1'''], '''mot_v860_ver1_sub10''', '''MOT-V860/1.0 MIB1.2/v1.0''', False, None) +devices.devids['''mot_v868_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_v868_ver1''', '''MOT-V868''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V868''','''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''voices''':40,'''wallpaper_colors''':16}) +devices.devids['''mot_v868_ver1_sub10'''] = devclass(devices.devids['''mot_v868_ver1'''], '''mot_v868_ver1_sub10''', '''MOT-V868/1.0 MIB1.2/v1.0''', False, None) +devices.devids['''mot_v870_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v870_ver1''', '''MOT-V870''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V870''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v870_ver1_sub101'''] = devclass(devices.devids['''mot_v870_ver1'''], '''mot_v870_ver1_sub101''', '''MOT-V870/1.01 UP.Browser/6.2.2.1 (GUI) MMP/1.0''', False, None) +devices.devids['''mot_v872_ver1'''] = devclass(devices.devids['''mot_v870_ver1'''], '''mot_v872_ver1''', '''MOT-V872''', True, {'''brand_name''':'''Motorola''','''max_data_rate''':40,'''model_name''':'''V872''','''wallpaper_preferred_height''':160}) +devices.devids['''mot_v878_ver1'''] = devclass(devices.devids['''mot_v870_ver1'''], '''mot_v878_ver1''', '''MOT-V878''', True, {'''brand_name''':'''Motorola''','''connectionless_service_indication''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''model_name''':'''V878''','''ringtone_voices''':40,'''wallpaper_preferred_height''':160,'''wap_push_support''':True}) +devices.devids['''mot_v878_ver1_sub10'''] = devclass(devices.devids['''mot_v878_ver1'''], '''mot_v878_ver1_sub10''', '''MOT-V878 CMCSWB/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v878_ver1_sub_wap10'''] = devclass(devices.devids['''mot_v878_ver1'''], '''mot_v878_ver1_sub_wap10''', '''MOT-V878/ WAP.Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v880_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v880_ver1''', '''MOT-V880''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':16,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':66560,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V880''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':15,'''voices''':64,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''mot_v880_ver1_sub101'''] = devclass(devices.devids['''mot_v880_ver1'''], '''mot_v880_ver1_sub101''', '''MOT-V880/1.01 UP.Browser/6.2.2.5 (GUI) MMP/1.0''', False, None) +devices.devids['''mot_v975_ver1'''] = devclass(devices.devids['''mot_c975_ver1'''], '''mot_v975_ver1''', '''MOT-V975''', True, {'''j2me_cldc_1_1''':True,'''max_data_rate''':384,'''max_deck_size''':4194304,'''model_name''':'''V975''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':174,'''wallpaper_preferred_width''':173}) +devices.devids['''mot_v975_ver1_sub813302i'''] = devclass(devices.devids['''mot_v975_ver1'''], '''mot_v975_ver1_sub813302i''', '''MOT-V975/81.33.02I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''mot_v975_ver1_sub823158i'''] = devclass(devices.devids['''mot_v975_ver1'''], '''mot_v975_ver1_sub823158i''', '''MOT-V975/82.31.58I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''mot_v980_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v980_ver1''', '''MOT-V980''', True, {'''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''colors''':65536,'''columns''':19,'''imelody''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_bmp''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_gif''':True,'''j2me_heap_size''':1572864,'''j2me_http''':True,'''j2me_https''':True,'''j2me_imelody''':True,'''j2me_jpg''':True,'''j2me_jtwi''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':204800,'''j2me_max_record_store_size''':65536,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_mp4''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_socket''':True,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':384,'''max_deck_size''':522240,'''max_image_height''':200,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''V980''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':8,'''sender''':True,'''sp_midi''':True,'''svgt_1_1''':True,'''svgt_1_1_plus''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/V980/Profile/V980.rdf''','''uaprof2''':'''http://motorola.handango.com/phoneconfig/V980/Profile/V980_NO_BEARER.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':153600,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True}) +devices.devids['''mot_v980_ver1_sub74071di'''] = devclass(devices.devids['''mot_v980_ver1'''], '''mot_v980_ver1_sub74071di''', '''MOT-V980/74.07.1DI MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':384}) +devices.devids['''mot_v980m_ver1'''] = devclass(devices.devids['''mot_v980_ver1'''], '''mot_v980m_ver1''', '''MOT-V980M''', True, {'''model_name''':'''V980 (Vodafone)''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_v980m_ver1_sub802f43i'''] = devclass(devices.devids['''mot_v980m_ver1'''], '''mot_v980m_ver1_sub802f43i''', '''MOT-V980M/80.2F.43I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''mot_v1050_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v1050_ver1''', '''MOT-V1050''', True, {'''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''colors''':65536,'''columns''':19,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_deck_size''':522240,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''V1050''','''mp3''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/V1050/Profile/V1050_NO_BEARER.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''mot_v1050_ver1_sub021301'''] = devclass(devices.devids['''mot_v1050_ver1'''], '''mot_v1050_ver1_sub021301''', '''MOT-V1050/02.13.01 MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''mot_v1075_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v1075_ver1''', '''MOT-V1075''', True, {'''ajax_support_javascript''':True,'''amr''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V1075''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''streaming_3gpp''':False,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''mot_v1100_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v1100_ver1''', '''MOT-V1100''', True, {'''amr''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V1100''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''streaming_video''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''mot_w200_ver1'''] = devclass(devices.devids['''mot_mib20_generic'''], '''mot_w200_ver1''', '''MOT-W200''', True, {'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''W200''','''resolution_height''':128,'''resolution_width''':128}) +devices.devids['''mot_w220_ver1'''] = devclass(devices.devids['''mot_mib20_generic'''], '''mot_w220_ver1''', '''MOT-W220''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':5600,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''W220''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/w220/Profile/w220.rdf''','''voices''':32,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True}) +devices.devids['''mot_w220_ver1_sub6302006'''] = devclass(devices.devids['''mot_w220_ver1'''], '''mot_w220_ver1_sub6302006''', '''MOT-W220/1.0 Release/6.30.2006 Browser/CMCS1.0 Software/0.280''', False, {'''max_data_rate''':40}) +devices.devids['''mot_w315_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_w315_ver1''', '''MOT-W315/1.0 UP.Browser/6.2.2.6.n.1.101 (GUI) MMP/2.0''', True, {'''brand_name''':'''Motorola''','''model_name''':'''W315''','''uaprof''':'''http://motorola.handango.com/phoneconfig/W375/Profile/W375.rdf'''}) +devices.devids['''mot_w375_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_w375_ver1''', '''MOT-W375''', True, {'''bmp''':False,'''brand_name''':'''Motorola''','''colors''':65536,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':8192,'''max_image_height''':140,'''max_image_width''':117,'''model_name''':'''W375''','''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/W375/Profile/W375.rdf''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''mot_w375_ver1sub630'''] = devclass(devices.devids['''mot_w375_ver1'''], '''mot_w375_ver1sub630''', '''MOT-W375/0.0.64 UP.Browser/6.3.0.6.c.9 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_w385_ver1'''] = devclass(devices.devids['''mot_w375_ver1'''], '''mot_w385_ver1''', '''MOT-W385m/00.62 UP.Browser/6.2.3.4.c.1.123 (GUI) MMP/2.0''', False, {'''brand_name''':'''Motorola''','''model_name''':'''W385m'''}) +devices.devids['''mot_r38_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_r38_ver1''', '''MOT-R38.0/00.62 UP.Browser/6.2.3.4.c.1.123 (GUI) MMP/2.0''', False, {'''brand_name''':'''Motorola''','''model_name''':'''R38'''}) +devices.devids['''mot_w490_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_w490_ver1''', '''MOT-W490/08.24.02R MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':'''W490'''}) +devices.devids['''mot_w510_ver1'''] = devclass(devices.devids['''mot_mib20_generic'''], '''mot_w510_ver1''', '''MOT-W510''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':False,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':144,'''max_image_width''':165,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W510''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':4,'''ringtone_wav''':True,'''rows''':11,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/w510/Profile/w510.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''mot_w510_ver1sub81012'''] = devclass(devices.devids['''mot_w510_ver1'''], '''mot_w510_ver1sub81012''', '''MOT-W510/08.10.12R MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_w800_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_w800_ver1''', '''MOT-w800''', False, None) +devices.devids['''mot_w800_ver1_sub0bd109r'''] = devclass(devices.devids['''mot_w800_ver1'''], '''mot_w800_ver1_sub0bd109r''', '''MOT-w800/0B.D1.09R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_z3_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_z3_ver1''', '''MOT-Z3''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':262144,'''columns''':17,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_deck_size''':10000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Z3''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':11,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_sqcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''svgt_1_1''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/z3/Profile/z3.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wav''':True}) +devices.devids['''mot_z3_ver1_sub080105r'''] = devclass(devices.devids['''mot_z3_ver1'''], '''mot_z3_ver1_sub080105r''', '''MOT-Z3/08.01.05R MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''mot_z3_ver1_subsjug1769ea080102r'''] = devclass(devices.devids['''mot_z3_ver1'''], '''mot_z3_ver1_subsjug1769ea080102r''', '''MOT-Z3/SJUG1769EA 08.01.02R/10.21.2005 MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_3xxx_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sagem_3xxx_ver1''', '''SAGEM-3XXX/0.0 UP.Browser/4''', True, {'''brand_name''':'''Sagem''','''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':2984,'''max_image_height''':48,'''midi_polyphonic''':True,'''model_name''':'''3XXX''','''picture''':True,'''picture_df_size_limit''':20000,'''picture_greyscale''':True,'''picture_max_height''':80,'''picture_max_width''':112,'''png''':True,'''resolution_height''':64,'''resolution_width''':96,'''ringtone_df_size_limit''':11000,'''screensaver''':True,'''screensaver_df_size_limit''':20000,'''screensaver_greyscale''':True,'''screensaver_max_height''':80,'''screensaver_max_width''':112,'''uaprof''':'''http://extranet.sagem.com/UAProfile/823044.xml''','''voices''':9,'''wallpaper''':True,'''wallpaper_df_size_limit''':20000,'''wallpaper_greyscale''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':112}) +devices.devids['''sagem_3xxx_ver1_sub4116rxxxx'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_3xxx_ver1_sub4116rxxxx''', '''SAGEM-3XXX/0.0 UP/4.1.16r UP.Browser/4.1.16r-XXXX''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_3xxx_ver1_sub4116r'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_3xxx_ver1_sub4116r''', '''SAGEM-3XXX/0.0 UP/4.1.16r''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_3xxx_ver1_sub4119is'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_3xxx_ver1_sub4119is''', '''SAGEM-3XXX/0.0 UP/4.1.19is''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_3xxx_ver1_sub4119isxxxx'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_3xxx_ver1_sub4119isxxxx''', '''SAGEM-3XXX/0.0 UP/4.1.19is UP.Browser/4.1.19is-XXXX''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_3000_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_3000_ver1''', '''SAGEM-3000''', True, {'''max_image_height''':48,'''model_name''':3000,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':8,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_3016_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_3016_ver1''', '''SAGEM-3016''', True, {'''max_image_height''':48,'''model_name''':3016,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':8,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_mw3020_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_mw3020_ver1''', '''SAGEM-mw3020''', True, {'''max_image_height''':48,'''model_name''':'''mw 3020''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':8,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_my100x_ver1'''] = devclass(devices.devids['''generic'''], '''sagem_my100x_ver1''', '''SAGEM-my100X''', True, {'''brand_name''':'''Sagem''','''max_image_height''':64,'''max_image_width''':101,'''model_name''':'''my100x''','''resolution_height''':64,'''resolution_width''':101,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True}) +devices.devids['''sagem_my3020_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_my3020_ver1''', '''SAGEM-my3020''', True, {'''max_image_height''':48,'''model_name''':'''my 3020''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':8,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_mw3022_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_mw3022_ver1''', '''SAGEM-mw3022''', True, {'''max_image_height''':48,'''model_name''':'''mw 3022''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':8,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_my3022_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_my3022_ver1''', '''SAGEM-my3022''', True, {'''max_image_height''':48,'''model_name''':'''my 3022'''}) +devices.devids['''sagem_mw3026_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_mw3026_ver1''', '''SAGEM-mw3026''', True, {'''max_image_height''':48,'''model_name''':'''mw 3026''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':8,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_my3026_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_my3026_ver1''', '''SAGEM-my3026''', True, {'''max_image_height''':48,'''model_name''':'''my 3026'''}) +devices.devids['''sagem_my3030_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_my3030_ver1''', '''SAGEM-my3030''', True, {'''max_image_height''':48,'''model_name''':'''my 3030'''}) +devices.devids['''sagem_my3032_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_my3032_ver1''', '''SAGEM-my3032''', True, {'''max_image_height''':48,'''model_name''':'''my 3032''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':8,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_my3036_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_my3036_ver1''', '''SAGEM-my3036''', True, {'''max_image_height''':48,'''model_name''':'''my3036''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_gif''':True}) +devices.devids['''sagem_my3040_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_my3040_ver1''', '''SAGEM-my3040''', True, {'''max_image_height''':48,'''model_name''':'''my 3040'''}) +devices.devids['''sagem_mw3040_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_mw3040_ver1''', '''SAGEM-mw3040''', True, {'''max_image_height''':48,'''model_name''':'''mw 3040''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':8,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_my3042_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_my3042_ver1''', '''SAGEM-my3042''', True, {'''max_image_height''':48,'''model_name''':'''my 3042''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':8,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_mw3042_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_mw3042_ver1''', '''SAGEM-mw3042''', True, {'''max_image_height''':48,'''model_name''':'''mw 3042''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':8,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_my3046_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_my3046_ver1''', '''SAGEM-my3046''', True, {'''max_image_height''':48,'''model_name''':'''my 3046'''}) +devices.devids['''sagem_mw3046_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_mw3046_ver1''', '''SAGEM-mw3046''', True, {'''max_image_height''':48,'''model_name''':'''mw 3046'''}) +devices.devids['''sagem_my3052_ver1'''] = devclass(devices.devids['''sagem_3xxx_ver1'''], '''sagem_my3052_ver1''', '''SAGEM-my3052''', True, {'''max_image_height''':48,'''model_name''':'''my 3052'''}) +devices.devids['''sagem_3xxx_ver2'''] = devclass(devices.devids['''upgui_generic'''], '''sagem_3xxx_ver2''', '''SAGEM-3XXX/1.0 UP.Browser/5''', True, {'''brand_name''':'''Sagem''','''downloadfun_support''':True,'''max_deck_size''':4096,'''model_name''':'''my3062''','''picture''':True,'''picture_bmp''':True,'''picture_jpg''':True,'''picture_max_height''':112,'''picture_max_width''':80,'''picture_png''':True,'''picture_wbmp''':True,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':112,'''screensaver_max_width''':80,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':112,'''wallpaper_max_width''':80,'''wallpaper_png''':True,'''wallpaper_wbmp''':True}) +devices.devids['''sagem_3xxx_ver2_sub5013101'''] = devclass(devices.devids['''sagem_3xxx_ver2'''], '''sagem_3xxx_ver2_sub5013101''', '''SAGEM-3XXX/1.0 UP.Browser/5.0.1.3.101 (GUI)''', False, None) +devices.devids['''sagem_co210_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sagem_co210_ver1''', '''SAGEM-CO210''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''downloadfun_support''':True,'''imelody''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''CO210''','''nokia_voice_call''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':16,'''picture_df_size_limit''':256000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':640,'''picture_max_width''':640,'''picture_png''':True,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':32768,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':8,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_df_size_limit''':256000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':640,'''screensaver_max_width''':640,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''sender''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/890054.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':256000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':640,'''wallpaper_max_width''':640,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_co210_ver1_sub10'''] = devclass(devices.devids['''sagem_co210_ver1'''], '''sagem_co210_ver1_sub10''', '''SAGEM-CO210/1.0 UP.Browser/6.1.0.6.1.c.4 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_co210_ver1_subgmobile'''] = devclass(devices.devids['''sagem_co210_ver1'''], '''sagem_co210_ver1_subgmobile''', '''G-Mobile GM1 UP.Browser/6.1.0.6.1.c.5 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_mo130_101x80_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sagem_mo130_101x80_ver1''', '''SAGEM-MO130-101x80''', False, None) +devices.devids['''sagem_mo130_101x80_ver1_sub00'''] = devclass(devices.devids['''sagem_mo130_101x80_ver1'''], '''sagem_mo130_101x80_ver1_sub00''', '''SAGEM-MO130-101x80/2.0 UP.Browser/5.0.5.5 (GUI)''', False, None) +devices.devids['''sagem_my200x_ver1'''] = devclass(devices.devids['''generic'''], '''sagem_my200x_ver1''', '''SAGEM-my200x''', False, {'''brand_name''':'''Sagem''','''colors''':4096,'''max_image_height''':80,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''my200x''','''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''sagem_my201x_ver1'''] = devclass(devices.devids['''sagem_my200x_ver1'''], '''sagem_my201x_ver1''', '''SAGEM-my201''', True, {'''bmp''':True,'''colors''':4096,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''downloadfun_support''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_image_height''':60,'''max_image_width''':94,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''my201x''','''nokia_voice_call''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':12,'''picture_df_size_limit''':38000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':96,'''picture_max_width''':128,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''preferred_markup''':'''wml_1_2''','''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_df_size_limit''':11000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_df_size_limit''':64000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':96,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''softkey_support''':True,'''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':38000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':96,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True}) +devices.devids['''sagem_my201x_ver1_sub'''] = devclass(devices.devids['''sagem_my201x_ver1'''], '''sagem_my201x_ver1_sub''', '''SAGEM-my201/1.0 UP.Browser/5.0.5.6 (GUI)''', False, None) +devices.devids['''sagem_my202c_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sagem_my202c_ver1''', '''SAGEM-my202C''', True, {'''bmp''':False,'''brand_name''':'''Sagem''','''colors''':65536,'''gif''':True,'''gif_animated''':False,'''html_wi_oma_xhtmlmp_1_0''':False,'''html_wi_w3_xhtmlbasic''':False,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':118,'''model_name''':'''my202C''','''png''':False,'''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''uaprof''':'''http://extranet.sagem.com/UAProfile/896618.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sagem_my202c_ver15056'''] = devclass(devices.devids['''sagem_my202c_ver1'''], '''sagem_my202c_ver15056''', '''SAGEM-my202C/Orange1.0 UP.Browser/5.0.5.6 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_my202x_ver1'''] = devclass(devices.devids['''sagem_my201x_ver1'''], '''sagem_my202x_ver1''', '''SAGEM-my202x''', True, {'''model_name''':'''my202x''','''receiver''':True,'''sender''':True}) +devices.devids['''sagem_my212x_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sagem_my212x_ver1''', '''Sagem-my212X''', True, {'''bmp''':False,'''brand_name''':'''Sagem''','''colors''':65536,'''gif''':True,'''gif_animated''':False,'''html_wi_oma_xhtmlmp_1_0''':False,'''html_wi_w3_xhtmlbasic''':False,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':94,'''model_name''':'''my212x''','''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''uaprof''':'''http://extranet.sagem.com/UAProfile/897102.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sagem_my212x_ver1_sub5056'''] = devclass(devices.devids['''sagem_my212x_ver1'''], '''sagem_my212x_ver1_sub5056''', '''Sagem-my212X/Orange1.0 UP.Browser/5.0.5.6 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_my300c_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_my300c_ver1''', '''Sagem-my300C/1.0 UP.Browser/6.2.3.3.g.2.108 (GUI) MMP/2.0''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':48128,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''my300C''','''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/897602.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wav''':True,'''wbmp''':True,'''xhtml_support_level''':3}) +devices.devids['''sagem_my300x_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_my300x_ver1''', '''SAGEM-my300X''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''my300X''','''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''sender''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/892606.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''sagem_my300x_ver1_sub20'''] = devclass(devices.devids['''sagem_my300x_ver1'''], '''sagem_my300x_ver1_sub20''', '''SAGEM-my300X/1.0/ MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.g.2.106 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_my301x_ver1'''] = devclass(devices.devids['''sagem_my300x_ver1'''], '''sagem_my301x_ver1''', '''SAGEM-my301X''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_width''':126,'''model_name''':'''my301X''','''mp3''':True,'''ringtone_mp3''':True}) +devices.devids['''sagem_my301x_ver1_sub20'''] = devclass(devices.devids['''sagem_my301x_ver1'''], '''sagem_my301x_ver1_sub20''', '''SAGEM-my301X/1.0/ MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.g.2.106 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_my400x_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_my400x_ver1''', '''SAGEM-my400X''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':48128,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''my400X''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_wav''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/894080.xml''','''video''':True,'''video_3gpp''':True,'''video_sqcif''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':140,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wav''':True}) +devices.devids['''sagem_my400x_ver1_sub6233g2107'''] = devclass(devices.devids['''sagem_my400x_ver1'''], '''sagem_my400x_ver1_sub6233g2107''', '''SAGEM-my400X/1.0/ MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.g.2.107 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_my401c_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sagem_my401c_ver1''', '''Sagem-my401C''', True, {'''bmp''':False,'''brand_name''':'''Sagem''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':121,'''model_name''':'''my401C''','''png''':False,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':160,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sagem_my401c_ver17261174'''] = devclass(devices.devids['''sagem_my401c_ver1'''], '''sagem_my401c_ver17261174''', '''Sagem-my401C/Orange1.0/ MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.2.6.c.1.174 (GUI)''', False, {'''xhtml_support_level''':4}) +devices.devids['''sagem_my401x_ver1'''] = devclass(devices.devids['''sagem_my400x_ver1'''], '''sagem_my401x_ver1''', '''SAGEM-my401X''', True, {'''aac''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_width''':126,'''mmf''':True,'''model_name''':'''my401X''','''mp3''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''voices''':32}) +devices.devids['''sagem_my600x_ver1'''] = devclass(devices.devids['''sagem_my401x_ver1'''], '''sagem_my600x_ver1''', '''SAGEM-my600x''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':262144,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':144,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''My600x''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/895182.xml''','''video''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_honors_bgcolor''':True,'''xhtml_support_level''':1,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''sagem_my401x_ver1_sub6233g2107'''] = devclass(devices.devids['''sagem_my401x_ver1'''], '''sagem_my401x_ver1_sub6233g2107''', '''SAGEM-my401X/1.0/ MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.g.2.107 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_my600x_ver1_sub10'''] = devclass(devices.devids['''sagem_my600x_ver1'''], '''sagem_my600x_ver1_sub10''', '''SAGEM-my600x/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sagem_my405x_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_my405x_ver1''', '''SAGEM-my405X''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':48128,'''max_image_height''':140,'''max_image_width''':128,'''model_name''':'''my405X''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''sagem_my405x_ver1_sub10710f1159'''] = devclass(devices.devids['''sagem_my405x_ver1'''], '''sagem_my405x_ver1_sub10710f1159''', '''SAGEM-my405X/1.0/ MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.1.0.f.1.159 (GUI)''', False, {'''xhtml_support_level''':3}) +devices.devids['''sagem_my411x_ver1'''] = devclass(devices.devids['''opwv_v72_generic'''], '''sagem_my411x_ver1''', '''SAGEM-my411X''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''gif_animated''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''my411x''','''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''uaprof''':'''http://extranet.sagem.com/UAProfile/896937.xml'''}) +devices.devids['''sagem_my411x_ver1_sub726c1258'''] = devclass(devices.devids['''sagem_my411x_ver1'''], '''sagem_my411x_ver1_sub726c1258''', '''SAGEM-my411X/1.0/ MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.2.6.c.1.258 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_my500x_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_my500x_ver1''', '''SAGEM-my500X''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':262144,'''max_deck_size''':20000,'''max_image_height''':220,'''max_image_width''':176,'''model_name''':'''my500X''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''sagem_my501c_ver1'''] = devclass(devices.devids['''sagem_my401x_ver1'''], '''sagem_my501c_ver1''', '''SAGEM-my501C''', True, {'''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_width''':122,'''model_name''':'''my501C''','''uaprof''':'''http://extranet.sagem.com/UAProfile/895134.xml''','''wallpaper_colors''':18}) +devices.devids['''sagem_my501c_ver1_sub10710f1159'''] = devclass(devices.devids['''sagem_my501c_ver1'''], '''sagem_my501c_ver1_sub10710f1159''', '''SAGEM-my501C/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.1.0.f.1.159 (GUI)''', False, {'''html_wi_oma_xhtmlmp_1_0''':True,'''max_data_rate''':40,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':3}) +devices.devids['''sagem_my501x_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_my501x_ver1''', '''SAGEM-my501X''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':20000,'''max_image_height''':220,'''max_image_width''':176,'''model_name''':'''my501X''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''sagem_my501x_ver1_sub10710f1159'''] = devclass(devices.devids['''sagem_my501x_ver1'''], '''sagem_my501x_ver1_sub10710f1159''', '''SAGEM-my501X/1.0/ MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.1.0.f.1.159 (GUI)''', False, {'''xhtml_support_level''':3}) +devices.devids['''sagem_my700x_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sagem_my700x_ver1''', '''SAGEM-my700X''', True, {'''aac''':True,'''brand_name''':'''Sagem''','''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':176,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''my700X''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''sagem_my700x_ver1_sub10710f1146'''] = devclass(devices.devids['''sagem_my700x_ver1'''], '''sagem_my700x_ver1_sub10710f1146''', '''SAGEM-my700x/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.1.0.f.1.146 (GUI)''', False, None) +devices.devids['''sagem_my800x_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''sagem_my800x_ver1''', '''SAGEM-my800x''', True, {'''brand_name''':'''Sagem''','''html_wi_oma_xhtmlmp_1_0''':True,'''model_name''':'''my800X''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''xhtml_support_level''':3}) +devices.devids['''sagem_my850c_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''sagem_my850c_ver1''', '''SAGEM-my850C''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':320,'''max_image_width''':233,'''model_name''':'''my850C''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''uaprof''':'''http://extranet.sagem.com/UAProfile/897313.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sagem_my850c_ver1_suborange'''] = devclass(devices.devids['''sagem_my850c_ver1'''], '''sagem_my850c_ver1_suborange''', '''SAGEM-my850C-Orange/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sagem_my901c_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sagem_my901c_ver1''', '''SAGEM-my901C''', True, {'''brand_name''':'''Sagem''','''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':320,'''max_image_width''':234,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''my901C''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''uaprof''':'''http://extranet.sagem.com/UAProfile/895961.xml''','''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''sagem_my901c_ver1_sub10midp20'''] = devclass(devices.devids['''sagem_my901c_ver1'''], '''sagem_my901c_ver1_sub10midp20''', '''SAGEM-my901C/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sagem_vs3_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_vs3_ver1''', '''SAGEM VS3''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''VS3''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''voices''':16,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_myc2_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sagem_myc2_ver1''', '''SAGEM-myC-2/1.0 UP.Browser/5''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':256,'''downloadfun_support''':True,'''ems''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':32768,'''max_image_height''':80,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''myC-2''','''picture''':True,'''picture_bmp''':True,'''picture_colors''':32,'''picture_df_size_limit''':38000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':96,'''picture_max_width''':128,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':11000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':32,'''screensaver_df_size_limit''':64000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':96,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':80,'''screensaver_preferred_width''':101,'''screensaver_wbmp''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/835113.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_df_size_limit''':38000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':96,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myc2_ver1_sub5055'''] = devclass(devices.devids['''sagem_myc2_ver1'''], '''sagem_myc2_ver1_sub5055''', '''SAGEM-myC-2/1.0 UP.Browser/5.0.5.5 (GUI)''', False, {'''max_data_rate''':9}) +devices.devids['''sagem_myc2_ver1_subbirdsc01'''] = devclass(devices.devids['''sagem_myc2_ver1'''], '''sagem_myc2_ver1_subbirdsc01''', '''BIRD SC01 UP.Browser/5.0.5.5 (GUI)''', False, {'''max_data_rate''':9}) +devices.devids['''sagem_myc2_2_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sagem_myc2_2_ver1''', '''SAGEM-myC2-2''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':4096,'''downloadfun_support''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':80,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''myC2-2''','''nokia_voice_call''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':12,'''picture_df_size_limit''':38000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':96,'''picture_max_width''':128,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_df_size_limit''':11000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_df_size_limit''':64000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':96,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/835402.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':38000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':96,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myc2_2_ver1_sub00'''] = devclass(devices.devids['''sagem_myc2_2_ver1'''], '''sagem_myc2_2_ver1_sub00''', '''SAGEM-myC2-2/1.0 UP.Browser/5.0.5.5 (GUI)''', False, {'''max_data_rate''':9}) +devices.devids['''sagem_myc2_3_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sagem_myc2_3_ver1''', '''SAGEM-myC2-3''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':4096,'''gif''':True,'''jpg''':True,'''max_image_height''':80,'''max_image_width''':101,'''model_name''':'''myC2-3''','''png''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_myc2_3_ver1_sub00'''] = devclass(devices.devids['''sagem_myc2_3_ver1'''], '''sagem_myc2_3_ver1_sub00''', '''SAGEM-myC2-3/1.0 UP.Browser/5.0.5.6 (GUI)''', False, None) +devices.devids['''sagem_myc2_3_ver1_sub10'''] = devclass(devices.devids['''sagem_myc2_3_ver1'''], '''sagem_myc2_3_ver1_sub10''', '''SAGEM-myC2-3/1.0 UP.Browser/6.1.0.6.1.c.5 (GUI) MMP/1.0''', False, {'''chtml_make_phone_call_string''':'''tel:''','''html_wi_imode_compact_generic''':True,'''html_wi_imode_html_1''':True,'''html_wi_imode_html_2''':True,'''html_wi_imode_html_3''':True,'''html_wi_imode_htmlx_1''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''https_support''':True,'''max_deck_size''':4096,'''opwv_xhtml_extensions_support''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''wta_voice_call''':True,'''xhtml_allows_disabled_form_elements''':True,'''xhtml_autoexpand_select''':True,'''xhtml_format_as_attribute''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_nowrap_mode''':True,'''xhtml_preferred_charset''':'''iso8859''','''xhtml_readable_background_color1''':'''#99CCFF''','''xhtml_support_level''':1,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_inline_input''':True,'''xhtml_supports_invisible_text''':True,'''xhtml_supports_monospace_font''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True}) +devices.devids['''sagem_myc2_3m_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sagem_myc2_3m_ver1''', '''SAGEM-myC2-3m''', True, {'''brand_name''':'''Sagem''','''colors''':4096,'''max_image_height''':80,'''max_image_width''':101,'''model_name''':'''myC-3m''','''resolution_height''':80,'''resolution_width''':101,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_myc2_3m_ver1_sub10'''] = devclass(devices.devids['''sagem_myc2_3m_ver1'''], '''sagem_myc2_3m_ver1_sub10''', '''SAGEM-myC2-3m/1.0 UP.Browser/6.1.0.6.1.c.5 (GUI) MMP/1.0''', False, None) +devices.devids['''sagem_myc_3_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sagem_myc_3_ver1''', '''SAGEM-myC-3''', True, {'''brand_name''':'''Sagem''','''max_image_height''':140,'''max_image_width''':120,'''model_name''':'''myC-3''','''resolution_height''':160,'''resolution_width''':128,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_myc_3_ver1_sub10'''] = devclass(devices.devids['''sagem_myc_3_ver1'''], '''sagem_myc_3_ver1_sub10''', '''SAGEM-myC-3/1.0 UP.Browser/6.1.0.6.1.c.4 (GUI) MMP/1.0''', False, None) +devices.devids['''sagem_myc_3b_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sagem_myc_3b_ver1''', '''SAGEM-myC-3b''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''max_deck_size''':102400,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''myC-3b''','''picture''':True,'''picture_bmp''':True,'''picture_colors''':16,'''picture_df_size_limit''':256000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':640,'''picture_max_width''':640,'''picture_png''':True,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':32768,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_df_size_limit''':256000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':640,'''screensaver_max_width''':640,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''sender''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/890172.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':256000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':640,'''wallpaper_max_width''':640,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myc_3b_ver1_sub10'''] = devclass(devices.devids['''sagem_myc_3b_ver1'''], '''sagem_myc_3b_ver1_sub10''', '''SAGEM-myC-3b/1.0 UP.Browser/6.1.0.6.1.c.4 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myc3_2_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sagem_myc3_2_ver1''', '''SAGEM-myC3-2''', True, {'''brand_name''':'''Sagem''','''max_image_height''':96,'''max_image_width''':127,'''model_name''':'''myC3-2''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':4,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sagem_myc3_2_ver1_sub61061c5'''] = devclass(devices.devids['''sagem_myc3_2_ver1'''], '''sagem_myc3_2_ver1_sub61061c5''', '''SAGEM-myC3-2/1.0 UP.Browser/6.1.0.6.1.c.5 (GUI) MMP/1.0''', False, None) +devices.devids['''sagem_myc_4_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myc_4_ver1''', '''SAGEM-myC-4''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''myC-4''','''nokia_voice_call''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':16,'''picture_df_size_limit''':256000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':640,'''picture_max_width''':640,'''picture_png''':True,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':32768,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':18,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_df_size_limit''':256000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':640,'''screensaver_max_width''':640,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''sender''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/890914.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':256000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':640,'''wallpaper_max_width''':640,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myc_4_ver1_sub10'''] = devclass(devices.devids['''sagem_myc_4_ver1'''], '''sagem_myc_4_ver1_sub10''', '''SAGEM-myC-4/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.5.d.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myc4_2_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myc4_2_ver1''', '''SAGEM-myC4-2''', True, {'''brand_name''':'''Sagem''','''colors''':65536,'''gif_animated''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''myC4-2''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''gradiente_gf690_ver1'''] = devclass(devices.devids['''sagem_myc4_2_ver1'''], '''gradiente_gf690_ver1''', '''Gradiente GF-690''', True, {'''amr''':True,'''brand_name''':'''Gradiente''','''colors''':65536,'''imelody''':True,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''GF-690''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wav''':True}) +devices.devids['''sagem_myc4_2_ver1_sub6226d5100'''] = devclass(devices.devids['''sagem_myc4_2_ver1'''], '''sagem_myc4_2_ver1_sub6226d5100''', '''SAGEM-myC4-2/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.d.5.100 (GUI) MMP/1.0''', False, None) +devices.devids['''sagem_myc5_2_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myc5_2_ver1''', '''SAGEM-myC5-2''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':327680,'''max_image_height''':140,'''max_image_width''':123,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''myC5-2''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''sender''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/835618.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wav''':True}) +devices.devids['''sagem_myc5_2_ver1_sub10'''] = devclass(devices.devids['''sagem_myc5_2_ver1'''], '''sagem_myc5_2_ver1_sub10''', '''SAGEM-myC5-2/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.d.5 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myc5_2v_ver1'''] = devclass(devices.devids['''sagem_myc5_2_ver1'''], '''sagem_myc5_2v_ver1''', '''SAGEM-myC5-2v''', True, {'''max_image_width''':121,'''model_name''':'''myC5-2 Vodafone'''}) +devices.devids['''sagem_myc5_2v_ver1_sub6233g2105'''] = devclass(devices.devids['''sagem_myc5_2v_ver1'''], '''sagem_myc5_2v_ver1_sub6233g2105''', '''SAGEM-myC5-2v/1.0 UP.Browser/6.2.3.3.g.2.105 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myc5_2t_ver1'''] = devclass(devices.devids['''sagem_myc5_2_ver1'''], '''sagem_myc5_2t_ver1''', '''SAGEM-myC5-2T''', True, {'''j2me_midp_2_0''':True,'''model_name''':'''myC5-2T''','''uaprof''':'''http://extranet.sagem.com/UAProfile/892039.xml'''}) +devices.devids['''sagem_myc5_2t_ver1_sub'''] = devclass(devices.devids['''sagem_myc5_2t_ver1'''], '''sagem_myc5_2t_ver1_sub''', '''SAGEM-myC5-2T/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myc5_2t_ver1_sub6226d5'''] = devclass(devices.devids['''sagem_myc5_2t_ver1'''], '''sagem_myc5_2t_ver1_sub6226d5''', '''SAGEM-myC5-2T/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.d.5 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myc5_3_ver1'''] = devclass(devices.devids['''sagem_myc5_2_ver1'''], '''sagem_myc5_3_ver1''', '''SAGEM-myC5-3''', True, {'''aac''':True,'''max_image_width''':121,'''model_name''':'''myC5-3''','''mp3''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True}) +devices.devids['''sagem_myc5_3_ver1_sub6233g2106'''] = devclass(devices.devids['''sagem_myc5_3_ver1'''], '''sagem_myc5_3_ver1_sub6233g2106''', '''SAGEM-myC5-3/1.0 UP.Browser/6.2.3.3.g.2.106 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_mys_7_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''sagem_mys_7_ver1''', '''SAGEM-myS-7''', True, {'''brand_name''':'''Sagem''','''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_width''':167,'''model_name''':'''myS-7''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16}) +devices.devids['''sagem_mys_7_ver1_sub176220'''] = devclass(devices.devids['''sagem_mys_7_ver1'''], '''sagem_mys_7_ver1_sub176220''', '''SAGEM-myS-7/1.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220)''', False, None) +devices.devids['''sagem_myw7_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sagem_myw7_ver1''', '''SAGEM-myW-7''', True, {'''amr''':True,'''brand_name''':'''Sagem''','''colors''':262144,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''gif_animated''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''myW-7/myW-8''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':False,'''oma_v_1_0_separate_delivery''':False,'''png''':True,'''preferred_markup''':'''wml_1_2''','''receiver''':True,'''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/893940.xml''','''video''':True,'''video_3gpp''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wav''':True}) +devices.devids['''sagem_myw7_ver1_uavariation'''] = devclass(devices.devids['''sagem_myw7_ver1'''], '''sagem_myw7_ver1_uavariation''', '''SAGEM-myW7''', False, None) +devices.devids['''sagem_myw7_ver1sub10'''] = devclass(devices.devids['''sagem_myw7_ver1'''], '''sagem_myw7_ver1sub10''', '''SAGEM-myW-7/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sagem_myx_1_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sagem_myx_1_ver1''', '''SAGEM-myX-1''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':48,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''myX-1''','''picture''':True,'''picture_bmp''':True,'''picture_df_size_limit''':20000,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':80,'''picture_max_width''':112,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''resolution_height''':64,'''resolution_width''':96,'''ringtone''':True,'''ringtone_df_size_limit''':11000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_df_size_limit''':20000,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':80,'''screensaver_max_width''':112,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/834525.xml''','''voices''':9,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_df_size_limit''':20000,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':112,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myx_1_ver1_sub5051'''] = devclass(devices.devids['''sagem_myx_1_ver1'''], '''sagem_myx_1_ver1_sub5051''', '''SAGEM-myX-1/1.0 UP.Browser/5.0.5.1 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myt_22_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sagem_myt_22_ver1''', '''SAGEM-myT-22''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':4096,'''downloadfun_support''':True,'''gif''':True,'''gif_animated''':True,'''imelody''':True,'''j2me_screen_height''':80,'''j2me_screen_width''':101,'''jpg''':True,'''max_image_height''':60,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''myT-22''','''nokia_voice_call''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':12,'''picture_df_size_limit''':38000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':96,'''picture_max_width''':128,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_df_size_limit''':11000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_df_size_limit''':64000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':96,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/893183.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':38000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':96,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myt_22_ver1_sub_5056'''] = devclass(devices.devids['''sagem_myt_22_ver1'''], '''sagem_myt_22_ver1_sub_5056''', '''SAGEM-myT-22/1.0 UP.Browser/5.0.5.6 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_2_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sagem_myx_2_ver1''', '''SAGEM-myX-2''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':256,'''downloadfun_support''':True,'''ems''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_image_height''':60,'''max_image_width''':94,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''myX-2''','''picture''':True,'''picture_bmp''':True,'''picture_colors''':32,'''picture_df_size_limit''':38000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':96,'''picture_max_width''':128,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_df_size_limit''':11000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':32,'''screensaver_df_size_limit''':64000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':96,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':80,'''screensaver_preferred_width''':101,'''screensaver_wbmp''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/834118.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_df_size_limit''':38000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':96,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myx_2_ver1_sub5053100'''] = devclass(devices.devids['''sagem_myx_2_ver1'''], '''sagem_myx_2_ver1_sub5053100''', '''SAGEM-myX-2/1.0 UP.Browser/5.0.5.3.100 (GUI)''', False, {'''max_data_rate''':9}) +devices.devids['''sagem_myx_2_ver1_sub5055'''] = devclass(devices.devids['''sagem_myx_2_ver1'''], '''sagem_myx_2_ver1_sub5055''', '''SAGEM-myX-2/1.0 UP.Browser/5.0.5.5 (GUI)''', False, {'''max_data_rate''':9}) +devices.devids['''sagem_myx2_2_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sagem_myx2_2_ver1''', '''SAGEM-myX2-2''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':4096,'''downloadfun_support''':True,'''gif''':True,'''imelody''':True,'''j2me_screen_height''':80,'''j2me_screen_width''':101,'''jpg''':True,'''max_image_height''':60,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''myX2-2''','''nokia_voice_call''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':12,'''picture_df_size_limit''':38000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':96,'''picture_max_width''':128,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_df_size_limit''':11000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_df_size_limit''':64000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':96,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/891863.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':38000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':96,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myx2_2m_ver1_sub1061061c4'''] = devclass(devices.devids['''sagem_myx2_2_ver1'''], '''sagem_myx2_2m_ver1_sub1061061c4''', '''SAGEM-myX2-2m/1.0 UP.Browser/6.1.0.6.1.c.4 (GUI) MMP/1.0''', False, {'''html_wi_oma_xhtmlmp_1_0''':True,'''max_data_rate''':9,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':1}) +devices.devids['''sagem_myx2_2m_ver1_sub1061061c5'''] = devclass(devices.devids['''sagem_myx2_2_ver1'''], '''sagem_myx2_2m_ver1_sub1061061c5''', '''SAGEM-myX2-2m/1.0 UP.Browser/6.1.0.6.1.c.5 (GUI) MMP/1.0''', False, {'''html_wi_oma_xhtmlmp_1_0''':True,'''max_data_rate''':9,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':1}) +devices.devids['''sagem_myx_2g_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sagem_myx_2g_ver1''', '''SAGEM-myX-2G''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''max_deck_size''':64512,'''max_image_height''':60,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''myX-2G''','''oma_v_1_0_forwardlock''':False,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':8,'''picture_df_size_limit''':38000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':96,'''picture_max_width''':128,'''picture_png''':True,'''picture_wbmp''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_df_size_limit''':11000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':8,'''screensaver_df_size_limit''':64000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':96,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_df_size_limit''':38000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':96,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myx_2g_ver1_sub10'''] = devclass(devices.devids['''sagem_myx_2g_ver1'''], '''sagem_myx_2g_ver1_sub10''', '''SAGEM-myX-2G/1.0 UP.Browser/6.1.0.6.1.c.4 (GUI) MMP/1.0''', False, None) +devices.devids['''sagem_myx_2m_ver1_sub10'''] = devclass(devices.devids['''sagem_myx_2g_ver1'''], '''sagem_myx_2m_ver1_sub10''', '''SAGEM-myX-2m/1.0 UP.Browser/6.1.0.6.1.c.4 (GUI) MMP/1.0''', False, {'''max_deck_size''':102400,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_voices''':8,'''ringtone_wav''':True}) +devices.devids['''sagem_myx_3_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sagem_myx_3_ver1''', '''SAGEM-myX-3''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':4096,'''downloadfun_support''':True,'''ems''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':66,'''max_image_width''':97,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':160,'''mms_max_size''':51200,'''mms_max_width''':120,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''myX-3''','''picture''':True,'''picture_bmp''':True,'''picture_df_size_limit''':64000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':96,'''picture_max_width''':128,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''receiver''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_df_size_limit''':11000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_df_size_limit''':64000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':96,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':80,'''screensaver_preferred_width''':101,'''screensaver_wbmp''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/823252.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':64000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':96,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myx_3_ver1_sub5017'''] = devclass(devices.devids['''sagem_myx_3_ver1'''], '''sagem_myx_3_ver1_sub5017''', '''SAGEM-myX-3/1.0 UP.Browser/5.0.1.7 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_3_ver2'''] = devclass(devices.devids['''sagem_myx_3_ver1'''], '''sagem_myx_3_ver2''', '''SAGEM-myX-3/2.0''', False, {'''max_data_rate''':40,'''max_image_height''':64,'''max_image_width''':96,'''picture_df_size_limit''':20000,'''picture_max_height''':80,'''picture_max_width''':112,'''screensaver_df_size_limit''':20000,'''screensaver_greyscale''':True,'''screensaver_max_height''':80,'''screensaver_max_width''':112,'''voices''':9,'''wallpaper_df_size_limit''':20000,'''wallpaper_greyscale''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':112}) +devices.devids['''sagem_myx_3_ver2_sub5051'''] = devclass(devices.devids['''sagem_myx_3_ver2'''], '''sagem_myx_3_ver2_sub5051''', '''SAGEM-myX-3/2.0 UP.Browser/5.0.5.1 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_3_2_ver1'''] = devclass(devices.devids['''sagem_myx_3_ver1'''], '''sagem_myx_3_2_ver1''', '''SAGEM-myX3-2''', True, {'''amr''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''max_deck_size''':102400,'''max_image_width''':99,'''mms_amr''':True,'''mms_max_height''':120,'''mms_max_width''':160,'''mms_midi_monophonic''':True,'''mms_wav''':True,'''model_name''':'''myX3-2''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_amr''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/834526.xml''','''xhtml_support_level''':1}) +devices.devids['''sagem_myx_3_2_ver1_sub61061c4'''] = devclass(devices.devids['''sagem_myx_3_2_ver1'''], '''sagem_myx_3_2_ver1_sub61061c4''', '''SAGEM-myX3-2/1.0 UP.Browser/6.1.0.6.1.c.4 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_4_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myx_4_ver1''', '''SAGEM-myX-4''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':100000,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''myX-4''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''sender''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/835509.xml''','''video''':True,'''video_3gpp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wav''':True}) +devices.devids['''sagem_myx_4_ver1_sub10'''] = devclass(devices.devids['''sagem_myx_4_ver1'''], '''sagem_myx_4_ver1_sub10''', '''SAGEM-myX-4/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.d.5.100 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_4t_ver1'''] = devclass(devices.devids['''sagem_myx_4_ver1'''], '''sagem_myx_4t_ver1''', '''SAGEM-myX-4T''', True, {'''max_image_height''':120,'''max_image_width''':126,'''model_name''':'''myX-4T''','''uaprof''':'''http://extranet.sagem.com/UAProfile/891392.xml'''}) +devices.devids['''sagem_myx_4t_ver1_sub6226d4102'''] = devclass(devices.devids['''sagem_myx_4t_ver1'''], '''sagem_myx_4t_ver1_sub6226d4102''', '''SAGEM-myX-4T/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.d.4.102 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx6_2_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sagem_myx6_2_ver1''', '''SAGEM-myX6-2''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':170,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':300000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''myX6-2''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''sender''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/892081.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wav''':True}) +devices.devids['''sagem_myx6_2_ver1_subege'''] = devclass(devices.devids['''sagem_myx6_2_ver1'''], '''sagem_myx6_2_ver1_subege''', '''SAGEM-myX6-2/1.0/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx6_2_ver1_sub10'''] = devclass(devices.devids['''sagem_myx6_2_ver1'''], '''sagem_myx6_2_ver1_sub10''', '''SAGEM-myX6-2/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx8_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myx8_ver1''', '''SAGEM-myX8''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''downloadfun_support''':True,'''imelody''':True,'''j2me_bits_per_pixel''':18,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':524288,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''j2me_storage_size''':4194304,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''myX-8''','''picture''':True,'''picture_bmp''':True,'''picture_colors''':16,'''picture_df_size_limit''':256000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':640,'''picture_max_width''':640,'''picture_png''':True,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':32768,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_df_size_limit''':256000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':640,'''screensaver_max_width''':640,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''sender''':True,'''svgt_1_1''':True,'''svgt_1_1_plus''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/891032.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':256000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':640,'''wallpaper_max_width''':640,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myx8_ver1_sub20'''] = devclass(devices.devids['''sagem_myx8_ver1'''], '''sagem_myx8_ver1_sub20''', '''SAGEM-myX8/1.0 UP.Browser/6.2.3.3.178 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx8_ver1_sub6233g1'''] = devclass(devices.devids['''sagem_myx8_ver1'''], '''sagem_myx8_ver1_sub6233g1''', '''SAGEM-myX-8/1.0 UP.Browser/6.2.3.3.g.1 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myz5_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myz5_ver1''', '''SAGEM-myZ-5''', True, {'''aac''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''myZ-5''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True}) +devices.devids['''sagem_myz5_ver1_sub6233g2100'''] = devclass(devices.devids['''sagem_myz5_ver1'''], '''sagem_myz5_ver1_sub6233g2100''', '''SAGEM-myZ-5/1.0 UP.Browser/6.2.3.3.g.2.100 (GUI) MMP/2.0''', False, None) +devices.devids['''sagem_myz_55_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myz_55_ver1''', '''SAGEM-myZ-55''', True, {'''brand_name''':'''Sagem''','''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''model_name''':'''myZ-55''','''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_myz_55_ver1_sub6233g2101'''] = devclass(devices.devids['''sagem_myz_55_ver1'''], '''sagem_myz_55_ver1_sub6233g2101''', '''SAGEM-myZ-55/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.3.g.2.101 (GUI) MMP/2.0''', False, None) +devices.devids['''sagem_9xx_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sagem_9xx_ver1''', '''SAGEM-9XX''', True, {'''brand_name''':'''Sagem''','''max_deck_size''':2984,'''model_name''':'''9XX'''}) +devices.devids['''sagem_9xx_ver1_sub4116g'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_9xx_ver1_sub4116g''', '''SAGEM-9XX/0.0 UP/4.1.16g''', False, None) +devices.devids['''sagem_9xx_ver1_sub4119is'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_9xx_ver1_sub4119is''', '''SAGEM-9XX/0.0 UP/4.1.19is UP.Browser/4.1.19is-XXXX''', False, None) +devices.devids['''sagem_910_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_910_ver1''', '''SAGEM-910''', True, {'''model_name''':910}) +devices.devids['''sagem_912_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_912_ver1''', '''SAGEM-912''', True, {'''model_name''':912}) +devices.devids['''sagem_916_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_916_ver1''', '''SAGEM-916''', True, {'''model_name''':916}) +devices.devids['''sagem_919_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_919_ver1''', '''SAGEM-919''', True, {'''model_name''':919}) +devices.devids['''sagem_920_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_920_ver1''', '''SAGEM-920''', True, {'''model_name''':920}) +devices.devids['''sagem_922_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_922_ver1''', '''SAGEM-922''', True, {'''model_name''':922}) +devices.devids['''sagem_926_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_926_ver1''', '''SAGEM-926''', True, {'''model_name''':926}) +devices.devids['''sagem_929_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_929_ver1''', '''SAGEM-929''', True, {'''model_name''':929}) +devices.devids['''sagem_930_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_930_ver1''', '''SAGEM-930''', True, {'''model_name''':930}) +devices.devids['''sagem_932_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_932_ver1''', '''SAGEM-932''', True, {'''model_name''':932}) +devices.devids['''sagem_936_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_936_ver1''', '''SAGEM-936''', True, {'''model_name''':936}) +devices.devids['''sagem_939_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_939_ver1''', '''SAGEM-939''', True, {'''model_name''':939}) +devices.devids['''sagem_940_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_940_ver1''', '''SAGEM-940''', True, {'''model_name''':940}) +devices.devids['''sagem_942_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_942_ver1''', '''SAGEM-942''', True, {'''model_name''':942}) +devices.devids['''sagem_946_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_946_ver1''', '''SAGEM-946''', True, {'''model_name''':946}) +devices.devids['''sagem_949_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_949_ver1''', '''SAGEM-949''', True, {'''model_name''':949}) +devices.devids['''sagem_950_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_950_ver1''', '''SAGEM-950''', True, {'''model_name''':950}) +devices.devids['''sagem_952_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_952_ver1''', '''SAGEM-952''', True, {'''model_name''':952}) +devices.devids['''sagem_956_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_956_ver1''', '''SAGEM-956''', True, {'''model_name''':956}) +devices.devids['''sagem_959_ver1'''] = devclass(devices.devids['''sagem_9xx_ver1'''], '''sagem_959_ver1''', '''SAGEM-959''', True, {'''model_name''':959}) +devices.devids['''sagem_myg_5_ver1'''] = devclass(devices.devids['''generic'''], '''sagem_myg_5_ver1''', '''SAGEM-myG-5''', True, {'''brand_name''':'''Sagem''','''downloadfun_support''':True,'''model_name''':'''myG-5''','''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_df_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_max_height''':80,'''wallpaper_max_width''':101,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101}) +devices.devids['''sagem_mymobiletv_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sagem_mymobiletv_ver1''', '''SAGEM-myMobileTV''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':262144,'''max_image_height''':300,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''myMobileTV''','''mp3''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''voices''':64,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_mymobiletv_ver1_sub10'''] = devclass(devices.devids['''sagem_mymobiletv_ver1'''], '''sagem_mymobiletv_ver1_sub10''', '''SAGEM-MyMobileTv/1.0 Browser/UP.Browser/7.1.0.f.1.130 (GUI)''', False, None) +devices.devids['''sagem_myx_5_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sagem_myx_5_ver1''', '''SAGEM-myX-5''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':256,'''downloadfun_support''':True,'''ems''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':80,'''max_image_width''':99,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''myX-5''','''picture''':True,'''picture_bmp''':True,'''picture_colors''':32,'''picture_df_size_limit''':38000,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':96,'''picture_max_width''':128,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':5500,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':8,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':32,'''screensaver_df_size_limit''':38000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':96,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':80,'''screensaver_preferred_width''':101,'''screensaver_wbmp''':True,'''sp_midi''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/823276.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_df_size_limit''':38000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':96,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myx_5_ver1_sub5031'''] = devclass(devices.devids['''sagem_myx_5_ver1'''], '''sagem_myx_5_ver1_sub5031''', '''SAGEM-myX-5/2.0 UP.Browser/5.0.3.1 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_5_ver1_sub20comma'''] = devclass(devices.devids['''sagem_myx_5_ver1'''], '''sagem_myx_5_ver1_sub20comma''', '''SAGEM-myX-5/2,0 (;; ;; ;; ;)''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_5e_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sagem_myx_5e_ver1''', '''SAGEM-myX-5e''', True, {'''brand_name''':'''Sagem''','''model_name''':'''myX-5e'''}) +devices.devids['''sagem_myx_5e_ver1_sub61061'''] = devclass(devices.devids['''sagem_myx_5e_ver1'''], '''sagem_myx_5e_ver1_sub61061''', '''SAGEM-myX-5e/1.0 UP.Browser/6.1.0.6.1 (GUI) MMP/1.0''', False, None) +devices.devids['''sagem_myx_5d_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sagem_myx_5d_ver1''', '''SAGEM-myX-5d''', True, {'''brand_name''':'''Sagem''','''model_name''':'''myX-5d'''}) +devices.devids['''sagem_myx_5_ver2'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myx_5_ver2''', '''SAGEM-myX5-2''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''columns''':16,'''ems''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':128,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':524288,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''j2me_wmapi_1_0''':True,'''max_deck_size''':327680,'''max_image_height''':105,'''max_image_width''':126,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''myX5-2''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_wav''':True,'''rows''':6,'''sender''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/890118.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''sagem_myx_5_ver2_sub'''] = devclass(devices.devids['''sagem_myx_5_ver2'''], '''sagem_myx_5_ver2_sub''', '''SAGEM-myX5-2/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_5_ver2_sub6226d1'''] = devclass(devices.devids['''sagem_myx_5_ver2'''], '''sagem_myx_5_ver2_sub6226d1''', '''SAGEM-myX5-2/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.d.1 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx5_2m_ver1'''] = devclass(devices.devids['''sagem_myx_5_ver2'''], '''sagem_myx5_2m_ver1''', '''SAGEM-myX5-2m''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''myX5-2m''','''uaprof''':'''http://extranet.sagem.com/UAProfile/892545.xml'''}) +devices.devids['''sagem_myx5_2m_ver1_sub62332103'''] = devclass(devices.devids['''sagem_myx5_2m_ver1'''], '''sagem_myx5_2m_ver1_sub62332103''', '''SAGEM-myX5-2m/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0 UP.Browser/6.2.3.3.g.2.103''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_52t_ver1'''] = devclass(devices.devids['''sagem_myx_5_ver2'''], '''sagem_myx_52t_ver1''', '''SAGEM-myX-5-2T''', True, {'''model_name''':'''myX-5-2T''','''ringtone_voices''':16,'''uaprof''':'''http://extranet.sagem.com/UAProfile/891391.xml''','''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''sagem_myx_52t_ver1_sub6226d4102'''] = devclass(devices.devids['''sagem_myx_52t_ver1'''], '''sagem_myx_52t_ver1_sub6226d4102''', '''SAGEM-myX-5-2T/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.d.4.102 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx5_2v_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myx5_2v_ver1''', '''SAGEM-myX5-2v''', False, {'''brand_name''':'''Sagem''','''model_name''':'''myX5-2v'''}) +devices.devids['''sagem_myx5_2v_ver1_sub6233g2101'''] = devclass(devices.devids['''sagem_myx5_2v_ver1'''], '''sagem_myx5_2v_ver1_sub6233g2101''', '''SAGEM-myX5-2v/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.3.g.2.101 (GUI) MMP/2.0''', False, None) +devices.devids['''sagem_myx5_5_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myx5_5_ver1''', '''SAGEM-myX5-5''', False, None) +devices.devids['''sagem_myx5_5_ver1_sub10'''] = devclass(devices.devids['''sagem_myx5_5_ver1'''], '''sagem_myx5_5_ver1_sub10''', '''SAGEM-myX5-5/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.d.3.100 (GUI) MMP/1.0''', False, None) +devices.devids['''sagem_myx_5m_ver1'''] = devclass(devices.devids['''sagem_myx_5_ver1'''], '''sagem_myx_5m_ver1''', '''SAGEM-myX-5m''', True, {'''amr''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''max_deck_size''':64512,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':120,'''mms_max_size''':51200,'''mms_max_width''':160,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''myX-5m''','''receiver''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':11000,'''ringtone_voices''':16,'''screensaver_df_size_limit''':64000,'''sender''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/823281.xml''','''xhtml_support_level''':1,'''xhtml_table_support''':True}) +devices.devids['''sagem_myx_5m_ver1_sub6105107'''] = devclass(devices.devids['''sagem_myx_5m_ver1'''], '''sagem_myx_5m_ver1_sub6105107''', '''SAGEM-myX-5m/1.0 UP.Browser/6.1.0.5.107 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_5m_ver2'''] = devclass(devices.devids['''sagem_myx_5m_ver1'''], '''sagem_myx_5m_ver2''', '''SAGEM-myX-5m/1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_5m_ver2_sub61061c3'''] = devclass(devices.devids['''sagem_myx_5m_ver2'''], '''sagem_myx_5m_ver2_sub61061c3''', '''SAGEM-myX-5m/1.1 UP.Browser/6.1.0.6.1.c.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_6_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sagem_myx_6_ver1''', '''SAGEM-myX-6''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':128,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':524288,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''j2me_storage_size''':4194304,'''max_deck_size''':102400,'''max_image_height''':122,'''max_image_width''':126,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser_version''':'''6.2''','''model_name''':'''myX-6''','''picture''':True,'''picture_bmp''':True,'''picture_colors''':32,'''picture_df_size_limit''':256000,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':640,'''picture_max_width''':640,'''picture_png''':True,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':32768,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':32,'''screensaver_df_size_limit''':256000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':640,'''screensaver_max_width''':640,'''screensaver_png''':True,'''screensaver_preferred_height''':122,'''screensaver_preferred_width''':126,'''screensaver_wbmp''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/823622.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':256000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':640,'''wallpaper_max_width''':640,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myx_6_ver1_sub'''] = devclass(devices.devids['''sagem_myx_6_ver1'''], '''sagem_myx_6_ver1_sub''', '''SAGEM-myX-6/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_6_ver1_sub61061'''] = devclass(devices.devids['''sagem_myx_6_ver1'''], '''sagem_myx_6_ver1_sub61061''', '''SAGEM-myX-6/1.0 UP.Browser/6.1.0.6.1 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_6_ver1_sub622'''] = devclass(devices.devids['''sagem_myx_6_ver1'''], '''sagem_myx_6_ver1_sub622''', '''SAGEM-myX-6/1.0 UP.Browser/6.2.2''', False, {'''max_data_rate''':40,'''xhtml_format_as_css_property''':True,'''xhtml_marquee_as_css_property''':True,'''xhtml_support_level''':2}) +devices.devids['''sagem_myx_6_ver1_sub6221mmp1'''] = devclass(devices.devids['''sagem_myx_6_ver1_sub622'''], '''sagem_myx_6_ver1_sub6221mmp1''', '''SAGEM-myX-6/1.0 UP.Browser/6.2.2.1 (GUI) MMP/1.0''', False, {'''max_data_rate''':40,'''xhtml_support_level''':2}) +devices.devids['''sagem_myx_6_ver2'''] = devclass(devices.devids['''sagem_myx_6_ver1'''], '''sagem_myx_6_ver2''', '''SAGEM-myX-6/2.0''', True, {'''max_data_rate''':40,'''mobile_browser_version''':'''6.2''','''model_name''':'''myX-6-2''','''xhtml_support_level''':2}) +devices.devids['''sagem_myx_6_ver2_sub6224105_20'''] = devclass(devices.devids['''sagem_myx_6_ver2'''], '''sagem_myx_6_ver2_sub6224105_20''', '''SAGEM-myX-6/2.0 UP.Browser/6.2.2.4.105 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_my_7_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_my_7_ver1''', '''SAGEM-my-7''', False, None) +devices.devids['''sagem_my_7_ver1_sub10'''] = devclass(devices.devids['''sagem_my_7_ver1'''], '''sagem_my_7_ver1_sub10''', '''SAGEM-my-7/1.0 Profile/DoCoMoProfile-1.5oe, MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.5.d.2 (GUI) MMP/1.0''', False, None) +devices.devids['''sagem_my_7_ver1_sub20'''] = devclass(devices.devids['''sagem_my_7_ver1'''], '''sagem_my_7_ver1_sub20''', '''SAGEM-my-7/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.5.d.2 (GUI) MMP/1.0''', False, None) +devices.devids['''sagem_myx_7_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myx_7_ver1''', '''SAGEM-myX-7''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':128,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':524288,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''j2me_storage_size''':4194304,'''max_deck_size''':100000,'''max_image_height''':120,'''max_image_width''':126,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''myX-7''','''picture''':True,'''picture_bmp''':True,'''picture_colors''':32,'''picture_df_size_limit''':256000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':640,'''picture_max_width''':640,'''picture_png''':True,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':32768,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':32,'''screensaver_df_size_limit''':256000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':640,'''screensaver_max_width''':640,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''sender''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/834530.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':256000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':640,'''wallpaper_max_width''':640,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myx_7_ver1_sub'''] = devclass(devices.devids['''sagem_myx_7_ver1'''], '''sagem_myx_7_ver1_sub''', '''SAGEM-myX-7/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myx_7_ver1_subj2me'''] = devclass(devices.devids['''sagem_myx_7_ver1'''], '''sagem_myx_7_ver1_subj2me''', '''SAGEM-myX-7/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.5.d.2 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myv_55_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myv_55_ver1''', '''SAGEM-myV-55''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''directdownload_support''':True,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':327680,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''myV-55''','''mp3''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''ringtone_wav''':True,'''sender''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/890453.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wav''':True}) +devices.devids['''sagem_myv_55_ver1_sub6226d1'''] = devclass(devices.devids['''sagem_myv_55_ver1'''], '''sagem_myv_55_ver1_sub6226d1''', '''SAGEM-myV-55/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.d.1 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myv_55_ver2'''] = devclass(devices.devids['''sagem_myv_55_ver1'''], '''sagem_myv_55_ver2''', '''SAGEM-myV-55/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myv_55_ver2_sub6226d3100'''] = devclass(devices.devids['''sagem_myv_55_ver2'''], '''sagem_myv_55_ver2_sub6226d3100''', '''SAGEM-myV-55/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.d.3.100 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myv_56_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myv_56_ver1''', '''SAGEM-myV-56''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''myV-56''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''screensaver''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/892154.xml''','''video_3gpp''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''sagem_myv_56_ver1_sub6233g2102'''] = devclass(devices.devids['''sagem_myv_56_ver1'''], '''sagem_myv_56_ver1_sub6233g2102''', '''SAGEM-myV-56/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.3.g.2.102 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myv_65_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myv_65_ver1''', '''SAGEM-myV-65''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':128,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':524288,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':100000,'''max_image_height''':122,'''max_image_width''':126,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''myV-65''','''picture''':True,'''picture_bmp''':True,'''picture_colors''':32,'''picture_df_size_limit''':256000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':640,'''picture_max_width''':640,'''picture_png''':True,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':32768,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':32,'''screensaver_df_size_limit''':256000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':640,'''screensaver_max_width''':640,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''sender''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/834495.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':256000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':640,'''wallpaper_max_width''':640,'''wallpaper_png''':True,'''wallpaper_preferred_height''':126,'''wallpaper_preferred_width''':118,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myv_65_ver1_sub6221'''] = devclass(devices.devids['''sagem_myv_65_ver1'''], '''sagem_myv_65_ver1_sub6221''', '''SAGEM-myV-65/1.0 UP.Browser/6.2.2.1 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myv_65_ver2'''] = devclass(devices.devids['''sagem_myv_65_ver1'''], '''sagem_myv_65_ver2''', '''SAGEM-myV-65/2.0''', False, {'''max_data_rate''':40,'''max_deck_size''':204800}) +devices.devids['''sagem_myv_65_ver2_sub6223e2'''] = devclass(devices.devids['''sagem_myv_65_ver2'''], '''sagem_myv_65_ver2_sub6223e2''', '''SAGEM-myV-65/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.3.e.2 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myv_65_ver2_sub6225110'''] = devclass(devices.devids['''sagem_myv_65_ver2'''], '''sagem_myv_65_ver2_sub6225110''', '''SAGEM-myV-65/2.1 Profile/DoCoMoProfile-1.5oe, MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.5.110 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myv_66_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myv_66_ver1''', '''SAGEM-myV-66''', True, {'''brand_name''':'''Sagem''','''model_name''':'''MYV-66'''}) +devices.devids['''sagem_myv_75_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myv_75_ver1''', '''SAGEM-myV-75''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':128,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':524288,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''myV-75''','''picture''':True,'''picture_bmp''':True,'''picture_colors''':32,'''picture_df_size_limit''':256000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':640,'''picture_max_width''':640,'''picture_png''':True,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_df_size_limit''':32768,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':32,'''screensaver_df_size_limit''':256000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':640,'''screensaver_max_width''':640,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''sender''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/834529.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':256000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':640,'''wallpaper_max_width''':640,'''wallpaper_png''':True,'''wallpaper_preferred_height''':126,'''wallpaper_preferred_width''':118,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sagem_myv_75_ver1_sub10_docomo'''] = devclass(devices.devids['''sagem_myv_75_ver1'''], '''sagem_myv_75_ver1_sub10_docomo''', '''SAGEM-myV-75/1.0 Profile/DoCoMoProfile-1.5oe, MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.5.110 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sagem_myv_76_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_myv_76_ver1''', '''SAGEM-myV-76''', True, {'''brand_name''':'''Sagem''','''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''myV-76''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_myv_76_ver1_sub10'''] = devclass(devices.devids['''sagem_myv_76_ver1'''], '''sagem_myv_76_ver1_sub10''', '''SAGEM-myV-76/1.0/ MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sagem_myv_76_ver1_sub710f1109'''] = devclass(devices.devids['''sagem_myv_76_ver1'''], '''sagem_myv_76_ver1_sub710f1109''', '''SAGEM-myV-76/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.1.0.f.1.109 (GUI)''', False, {'''xhtml_support_level''':3}) +devices.devids['''sagem_sg345i_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_sg345i_ver1''', '''SAGEM-SG345i''', True, {'''brand_name''':'''Sagem''','''colors''':65536,'''max_image_height''':140,'''max_image_width''':160,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SG345i''','''mp3''':True,'''preferred_markup''':'''wml_1_2''','''resolution_height''':128,'''resolution_width''':160,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''portalmmm_ver2_subsg345ic10tb'''] = devclass(devices.devids['''sagem_sg345i_ver1'''], '''portalmmm_ver2_subsg345ic10tb''', '''portalmmm/2.0 SG345i(c10;TB)''', False, {'''max_deck_size''':10240,'''max_image_height''':128,'''max_image_width''':128,'''preferred_markup''':'''html_wi_imode_html_2''','''resolution_height''':160,'''resolution_width''':128}) +devices.devids['''telit_g80_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''telit_g80_ver1''', '''Telit_Mobile_Terminals-G80''', True, {'''brand_name''':'''Telit''','''built_in_camera''':True,'''downloadfun_support''':True,'''mms_max_size''':51200,'''model_name''':'''G80''','''receiver''':True,'''ringtone''':True,'''ringtone_imelody''':True,'''sender''':True}) +devices.devids['''telit_g80_ver1_sub200'''] = devclass(devices.devids['''telit_g80_ver1'''], '''telit_g80_ver1_sub200''', '''Telit_Mobile_Terminals-G80/2.00 UP.Browser/6.1.0.4.129 (GUI) MMP/1.0''', False, None) +devices.devids['''telit_g80_ver1_sub201'''] = devclass(devices.devids['''telit_g80_ver1'''], '''telit_g80_ver1_sub201''', '''Telit-G80/2.01 UP.Browser/6.1.0.5(GUI)TEMP-BUILD MMP/1.0''', False, None) +devices.devids['''telit_g80_ver1_sub6106'''] = devclass(devices.devids['''telit_g80_ver1'''], '''telit_g80_ver1_sub6106''', '''Telit-G80/2.01 UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, None) +devices.devids['''telit_g82_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''telit_g82_ver1''', '''Telit-G82''', True, {'''brand_name''':'''Telit''','''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''G82''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':4,'''sp_midi''':True,'''voices''':4,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''telit_g82_ver1_sub10'''] = devclass(devices.devids['''telit_g82_ver1'''], '''telit_g82_ver1_sub10''', '''Telit-G82/2.01 UP.Browser/6.1.0.6.c.1.103 (GUI) MMP/1.0''', False, None) +devices.devids['''telit_g83_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''telit_g83_ver1''', '''Telit-G83''', True, {'''brand_name''':'''Telit''','''model_name''':'''G83''','''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''telit_g83_ver1_sub6106c1104'''] = devclass(devices.devids['''telit_g83_ver1'''], '''telit_g83_ver1_sub6106c1104''', '''Telit-G83/5.01 UP.Browser/6.1.0.6.c.1.104 (GUI) MMP/1.0''', False, None) +devices.devids['''telit_g83_ver1_subnobrand'''] = devclass(devices.devids['''telit_g83_ver1'''], '''telit_g83_ver1_subnobrand''', '''G83''', False, None) +devices.devids['''daiteg83_ver1'''] = devclass(devices.devids['''telit_g83_ver1'''], '''daiteg83_ver1''', '''DaiTeG83''', True, {'''brand_name''':'''Dai Telecom'''}) +devices.devids['''daiteg83_ver1_sub6106c2'''] = devclass(devices.devids['''daiteg83_ver1'''], '''daiteg83_ver1_sub6106c2''', '''DaiTeG83/5.01 UP.Browser/6.1.0.6.c.2 (GUI) MMP/1.0''', False, None) +devices.devids['''telit_gm8x2npp_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''telit_gm8x2npp_ver1''', '''Telit-GM8x2[npp]''', False, None) +devices.devids['''telit_gm8x2npp_ver1_sub854'''] = devclass(devices.devids['''telit_gm8x2npp_ver1'''], '''telit_gm8x2npp_ver1_sub854''', '''Telit-GM8x2[npp]/8.54 UP/4.1.19f UP.Browser/4.1.19f-XXXX''', False, None) +devices.devids['''telit_gm822_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''telit_gm822_ver1''', '''Telit_Mobile_Terminals-GM822/3 UP.Browser/5''', True, {'''ascii_support''':True,'''brand_name''':'''Telit''','''downloadfun_support''':True,'''model_name''':822,'''ringtone''':True,'''ringtone_imelody''':True,'''screensaver''':True,'''screensaver_max_height''':32,'''screensaver_max_width''':96,'''screensaver_wbmp''':True,'''wap_push_support''':True}) +devices.devids['''telit_gm822_ver1_subcv301_5015'''] = devclass(devices.devids['''telit_gm822_ver1'''], '''telit_gm822_ver1_subcv301_5015''', '''Telit_Mobile_Terminals-GM822(C-V)/3.01 UP.Browser/5.0.1.5''', False, None) +devices.devids['''telit_gm822_ver1_sub301_5013107'''] = devclass(devices.devids['''telit_gm822_ver1'''], '''telit_gm822_ver1_sub301_5013107''', '''Telit_Mobile_Terminals-GM822/3.01 UP.Browser/5.0.1.3.107-ENGINEERING_BUILD''', False, None) +devices.devids['''telit_gm824_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''telit_gm824_ver1''', '''Telit_Mobile_Terminals-GM824/3 UP.Browser/5''', True, {'''ascii_support''':True,'''brand_name''':'''Telit''','''downloadfun_support''':True,'''model_name''':824,'''ringtone''':True,'''ringtone_imelody''':True,'''screensaver''':True,'''screensaver_max_height''':49,'''screensaver_max_width''':132,'''screensaver_wbmp''':True,'''wallpaper_gif''':True,'''wap_push_support''':True}) +devices.devids['''telit_gm824_ver1_sub311'''] = devclass(devices.devids['''telit_gm824_ver1'''], '''telit_gm824_ver1_sub311''', '''Telit_Mobile_Terminals-GM824/3.11 UP.Browser/5.0.1.10''', False, None) +devices.devids['''telit_gm825_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''telit_gm825_ver1''', '''Telit_Mobile_Terminals-GM825/3 UP.Browser/5''', True, {'''ascii_support''':True,'''brand_name''':'''Telit''','''downloadfun_support''':True,'''model_name''':825,'''ringtone''':True,'''ringtone_imelody''':True,'''screensaver''':True,'''screensaver_max_height''':32,'''screensaver_max_width''':96,'''screensaver_wbmp''':True,'''wap_push_support''':True}) +devices.devids['''telit_gm825_ver1_sub302_5017'''] = devclass(devices.devids['''telit_gm825_ver1'''], '''telit_gm825_ver1_sub302_5017''', '''Telit_Mobile_Terminals-GM825/3.02 UP.Browser/5.0.1.7''', False, None) +devices.devids['''telit_gm882_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''telit_gm882_ver1''', '''Telit_Mobile_Terminals-GM882''', True, {'''ascii_support''':True,'''brand_name''':'''Telit''','''downloadfun_support''':True,'''expiration_date''':False,'''model_name''':882,'''ringtone''':True,'''ringtone_imelody''':True,'''screensaver''':True,'''screensaver_max_height''':65,'''screensaver_max_width''':132,'''screensaver_wbmp''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_max_height''':44,'''wallpaper_max_width''':96,'''wallpaper_wbmp''':True}) +devices.devids['''telit_gm882_ver1_sub1015031'''] = devclass(devices.devids['''telit_gm882_ver1'''], '''telit_gm882_ver1_sub1015031''', '''Telit_Mobile_Terminals-GM882/1.01 UP.Browser/5.0.3.1 (GUI)''', False, None) +devices.devids['''telit_gm910i_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''telit_gm910i_ver1''', '''Telit-GM910i''', False, None) +devices.devids['''telit_gm910i_ver1_sub854'''] = devclass(devices.devids['''telit_gm910i_ver1'''], '''telit_gm910i_ver1_sub854''', '''Telit-GM910i/8.54 UP/4.1.19f UP.Browser/4.1.19f-XXXX''', False, None) +devices.devids['''telit_gm910i_ver1_sub855'''] = devclass(devices.devids['''telit_gm910i_ver1'''], '''telit_gm910i_ver1_sub855''', '''Telit-GM910i[npp]/8.55 UP/4.1.19f UP.Browser/4.1.19f-XXXX''', False, None) +devices.devids['''telit_gm940_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''telit_gm940_ver1''', '''Telit-GM940[npp]/9.03 UP''', True, {'''ascii_support''':True,'''brand_name''':'''Telit''','''downloadfun_support''':True,'''model_name''':940,'''ringtone''':True,'''ringtone_imelody''':True,'''screensaver''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':120,'''screensaver_wbmp''':True,'''wap_push_support''':True}) +devices.devids['''telit_gm940_ver1_sub4119f'''] = devclass(devices.devids['''telit_gm940_ver1'''], '''telit_gm940_ver1_sub4119f''', '''Telit-GM940[npp]/9.03 UP/4.1.19f UP.Browser/4.1.19f-XXXX''', False, None) +devices.devids['''telit_gm940_ver1_sub5015'''] = devclass(devices.devids['''telit_gm940_ver1'''], '''telit_gm940_ver1_sub5015''', '''Telit_Mobile_Terminals-GM940/9.03 UP.Browser/5.0.1.5''', False, None) +devices.devids['''modelabs_myway_slim_ver1'''] = devclass(devices.devids['''generic'''], '''modelabs_myway_slim_ver1''', '''myway-Slim''', True, {'''brand_name''':'''Modelabs''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':False,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''myway-slim''','''png''':False,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''uaprof''':'''http://211.42.201.70/ua_profile/myway-Slim.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''modelabs_myway_slim_ver1_subqo3c1'''] = devclass(devices.devids['''modelabs_myway_slim_ver1'''], '''modelabs_myway_slim_ver1_subqo3c1''', '''myway-Slim/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''elite_eml2_ver1'''] = devclass(devices.devids['''generic'''], '''elite_eml2_ver1''', '''eML2''', True, {'''brand_name''':'''Elite''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':False,'''jpg''':True,'''max_image_height''':144,'''max_image_width''':176,'''model_name''':'''eML2''','''png''':False,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''uaprof''':'''http://www.elitemodellookmobile.com/uaprof/eml2.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''modelabs_mtv3_ver1'''] = devclass(devices.devids['''generic'''], '''modelabs_mtv3_ver1''', '''MTV 3.0''', True, {'''brand_name''':'''Modelabs''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':False,'''jpg''':True,'''max_image_height''':144,'''max_image_width''':176,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''MTV 3.0''','''png''':False,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''uaprof''':'''http://www.modelabs.com/uaprofiles/uapMTV30.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''modelabs_mtv3_ver1_sub20'''] = devclass(devices.devids['''modelabs_mtv3_ver1'''], '''modelabs_mtv3_ver1_sub20''', '''MTV 3.0 / Obigo Browser 2.0''', False, {'''max_data_rate''':40}) +devices.devids['''virgin_1_ver1'''] = devclass(devices.devids['''generic'''], '''virgin_1_ver1''', '''Virgin_1''', True, {'''bmp''':True,'''brand_name''':'''Modelabs''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':False,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':144,'''max_image_width''':176,'''model_name''':'''Virgin_1''','''png''':False,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''uaprof''':'''http://asmobile.ehosting.com.tw/uaprof/Virgin_1.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''virgin_1_ver1_sub10'''] = devclass(devices.devids['''virgin_1_ver1'''], '''virgin_1_ver1_sub10''', '''Virgin_1/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''rozowa_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''rozowa_ver1''', '''rozowa''', False, None) +devices.devids['''rozowa_ver1_sub1'''] = devclass(devices.devids['''rozowa_ver1'''], '''rozowa_ver1_sub1''', '''rozowa pantera UP.Browser/5.0.2.3.100 (GUI)''', False, None) +devices.devids['''hs_c3698_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''hs_c3698_ver1''', '''HS-C3698''', False, None) +devices.devids['''hs_c3698_ver1_sub4126'''] = devclass(devices.devids['''hs_c3698_ver1'''], '''hs_c3698_ver1_sub4126''', '''HS-C3698/0.1 UP.Browser/4.1.26m''', False, None) +devices.devids['''ericsson_generic'''] = devclass(devices.devids['''generic'''], '''ericsson_generic''', '''Ericsson''', False, {'''brand_name''':'''Ericsson'''}) +devices.devids['''sonyericsson_generic'''] = devclass(devices.devids['''ericsson_generic'''], '''sonyericsson_generic''', '''SonyEricsson non-XHTML''', False, {'''brand_name''':'''SonyEricsson''','''colors''':256,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''directdownload_support''':True,'''ems''':True,'''gif''':True,'''gif_animated''':True,'''inline_support''':True,'''jpg''':True,'''max_deck_size''':3000,'''nokia_voice_call''':True,'''picture''':True,'''picture_directdownload_size_limit''':61440,'''picture_gif''':True,'''picture_inline_size_limit''':61440,'''preferred_markup''':'''wml_1_3''','''ringtone''':True,'''ringtone_directdownload_size_limit''':61440,'''ringtone_imelody''':True,'''ringtone_inline_size_limit''':61440,'''screensaver''':True,'''screensaver_directdownload_size_limit''':61440,'''screensaver_gif''':True,'''screensaver_inline_size_limit''':61440,'''wallpaper''':True,'''wallpaper_directdownload_size_limit''':61440,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':61440,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sonyericsson_xhtml_generic'''] = devclass(devices.devids['''sonyericsson_generic'''], '''sonyericsson_xhtml_generic''', '''SonyEricsson XHTML''', False, {'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''softkey_support''':True,'''wml_displays_image_in_center''':True,'''xhtml_display_accesskey''':True,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''tel:''','''xhtml_support_level''':2,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/vnd.wap.xhtml+xml'''}) +devices.devids['''sonyericsson_30_generic'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_30_generic''', '''SonyEricsson XHTML Browser 3.0''', False, {'''max_deck_size''':10240,'''oma_support''':True,'''picture_directdownload_size_limit''':262144,'''picture_inline_size_limit''':262144,'''ringtone_directdownload_size_limit''':262144,'''ringtone_inline_size_limit''':262144,'''screensaver_directdownload_size_limit''':262144,'''screensaver_inline_size_limit''':262144,'''wallpaper_directdownload_size_limit''':262144,'''wallpaper_inline_size_limit''':262144,'''wml_can_display_images_and_text_on_same_line''':True,'''wml_displays_image_in_center''':False,'''xhtml_display_accesskey''':False,'''xhtml_honors_bgcolor''':True}) +devices.devids['''sonyericsson_33_generic'''] = devclass(devices.devids['''sonyericsson_30_generic'''], '''sonyericsson_33_generic''', '''SonyEricsson XHTML Browser 3.3''', False, {'''png''':True}) +devices.devids['''sonyericsson_40_generic'''] = devclass(devices.devids['''sonyericsson_33_generic'''], '''sonyericsson_40_generic''', '''SonyEricsson XHTML Browser 4.0''', False, {'''svgt_1_1''':True,'''xhtml_support_level''':3,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''sonyericsson_401_generic'''] = devclass(devices.devids['''sonyericsson_40_generic'''], '''sonyericsson_401_generic''', '''SonyEricsson XHTML Browser 4.0.1''', False, None) +devices.devids['''sonyericsson_402_generic'''] = devclass(devices.devids['''sonyericsson_401_generic'''], '''sonyericsson_402_generic''', '''SonyEricsson XHTML Browser 4.0.2''', False, None) +devices.devids['''sonyericsson_403_generic'''] = devclass(devices.devids['''sonyericsson_402_generic'''], '''sonyericsson_403_generic''', '''SonyEricsson XHTML Browser 4.0.3''', False, {'''xhtml_file_upload''':'''supported''','''xhtml_supports_file_upload''':True}) +devices.devids['''sonyericsson_41_generic'''] = devclass(devices.devids['''sonyericsson_403_generic'''], '''sonyericsson_41_generic''', '''SonyEricsson XHTML Browser 4.1''', False, None) +devices.devids['''sonyericsson_42_generic'''] = devclass(devices.devids['''sonyericsson_41_generic'''], '''sonyericsson_42_generic''', '''SonyEricsson XHTML Browser 4.2''', False, {'''streaming_3gpp''':True,'''streaming_video''':True}) +devices.devids['''ericy_a1228c_2_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''ericy_a1228c_2_ver1''', '''ERICY-A1228c-2''', False, None) +devices.devids['''ericy_a1228c_2_ver1_subr2d'''] = devclass(devices.devids['''ericy_a1228c_2_ver1'''], '''ericy_a1228c_2_ver1_subr2d''', '''ERICY-A1228c-2/R2D UP.Browser/4.1.22b''', False, None) +devices.devids['''ericy_a1228c_2_ver1_subr2e'''] = devclass(devices.devids['''ericy_a1228c_2_ver1'''], '''ericy_a1228c_2_ver1_subr2e''', '''ERICY-A1228c-2/R2E UP.Browser/4.1.22b''', False, None) +devices.devids['''ericy_r278d_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''ericy_r278d_ver1''', '''ERICY-R278d''', False, None) +devices.devids['''ericy_r278d_ver1_sub4119i'''] = devclass(devices.devids['''ericy_r278d_ver1'''], '''ericy_r278d_ver1_sub4119i''', '''ERICY-R278d/R2B.00 UP/4.1.19i''', False, None) +devices.devids['''ericy_r278d_ver1_subr2b4119ixxxx'''] = devclass(devices.devids['''ericy_r278d_ver1'''], '''ericy_r278d_ver1_subr2b4119ixxxx''', '''ERICY-R278d/R2B.00 UP/4.1.19i UP.Browser/4.1.19i-XXXX''', False, None) +devices.devids['''ericy_r278d_ver1_subr2c4119ixxxx'''] = devclass(devices.devids['''ericy_r278d_ver1'''], '''ericy_r278d_ver1_subr2c4119ixxxx''', '''ERICY-R278d/R2C UP/4.1.19i UP.Browser/4.1.19i-XXXX''', False, None) +devices.devids['''ericy_t60c_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''ericy_t60c_ver1''', '''ERICY-T60c''', False, None) +devices.devids['''ericy_t60c_ver1_subr1f'''] = devclass(devices.devids['''ericy_t60c_ver1'''], '''ericy_t60c_ver1_subr1f''', '''ERICY-T60c/R1F UP.Browser/4.1.26b''', False, None) +devices.devids['''ericy_t61c_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''ericy_t61c_ver1''', '''ERICY-T61c''', False, None) +devices.devids['''ericy_t61c_ver1_sub4126'''] = devclass(devices.devids['''ericy_t61c_ver1'''], '''ericy_t61c_ver1_sub4126''', '''ERICY-T61c/R1G UP.Browser/4.1.26b''', False, None) +devices.devids['''ericsson_a2618s_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_a2618s_ver1''', '''EricssonA2618s/R1A''', True, {'''model_name''':'''A2618'''}) +devices.devids['''ericsson_a2628s_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_a2628s_ver1''', '''EricssonA2628s''', True, {'''gif''':True,'''max_deck_size''':1600,'''max_image_height''':40,'''max_image_width''':101,'''model_name''':'''A2628''','''resolution_height''':54,'''resolution_width''':101}) +devices.devids['''ericsson_a2628s_ver1_subr2a'''] = devclass(devices.devids['''ericsson_a2628s_ver1'''], '''ericsson_a2628s_ver1_subr2a''', '''EricssonA2628s/R2A''', False, None) +devices.devids['''sonyericsson_f500i_ver1'''] = devclass(devices.devids['''sonyericsson_40_generic'''], '''sonyericsson_f500i_ver1''', '''SonyEricssonF500i''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''imelody''':True,'''j2me_3gpp''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_bmp''':True,'''j2me_bmp3''':True,'''j2me_canvas_height''':128,'''j2me_canvas_width''':128,'''j2me_capture_image_formats''':'''jpeg''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_clear_key_code''':8,'''j2me_gif''':True,'''j2me_gif89a''':True,'''j2me_h263''':True,'''j2me_heap_size''':1572864,'''j2me_http''':True,'''j2me_https''':True,'''j2me_imelody''':True,'''j2me_jpg''':True,'''j2me_jtwi''':True,'''j2me_left_softkey_code''':6,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':7,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''j2me_storage_size''':10485760,'''j2me_udp''':True,'''j2me_wbmp''':True,'''j2me_wmapi_1_1''':True,'''max_data_rate''':40,'''max_deck_size''':20000,'''max_image_height''':142,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''F500i''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':6,'''sender''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/F500iR101.xml''','''uaprof2''':'''http://wap.sonyericsson.com/UAprof/F500iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':102400,'''video_max_height''':96,'''video_max_width''':128,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wav''':True,'''wta_pdc''':True}) +devices.devids['''sonyericsson_f500i_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_f500i_ver1'''], '''sonyericsson_f500i_ver1_subr1a''', '''SonyEricssonF500i/R1A SEMC-Browser/4.0 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_f508i_ver1'''] = devclass(devices.devids['''generic'''], '''sonyericsson_f508i_ver1''', '''SonyEricssonF508i''', True, {'''brand_name''':'''SonyEricsson''','''model_name''':'''F508i'''}) +devices.devids['''sonyericsson_j100_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_j100_ver1''', '''SonyEricssonJ100''', False, {'''colors''':65536,'''max_image_height''':64,'''max_image_width''':96,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''J100''','''resolution_height''':64,'''resolution_width''':96,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':32,'''voices''':32,'''wallpaper_colors''':16,'''wallpaper_jpg''':True}) +devices.devids['''sonyericsson_j100i_ver1'''] = devclass(devices.devids['''sonyericsson_j100_ver1'''], '''sonyericsson_j100i_ver1''', '''SonyEricssonJ100i''', True, {'''model_name''':'''J100i'''}) +devices.devids['''sonyericsson_j100i_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_j100i_ver1'''], '''sonyericsson_j100i_ver1_subr101''', '''SonyEricssonJ100i/R101''', False, None) +devices.devids['''sonyericsson_j100c_ver1'''] = devclass(devices.devids['''sonyericsson_j100_ver1'''], '''sonyericsson_j100c_ver1''', '''SonyEricssonJ100c''', True, {'''model_name''':'''J100c'''}) +devices.devids['''sonyericsson_j100a_ver1'''] = devclass(devices.devids['''sonyericsson_j100_ver1'''], '''sonyericsson_j100a_ver1''', '''SonyEricssonJ100a''', True, {'''model_name''':'''J100a'''}) +devices.devids['''sonyericsson_j200_ver1'''] = devclass(devices.devids['''sonyericsson_generic'''], '''sonyericsson_j200_ver1''', '''SonyEricssonJ200''', False, {'''colors''':4096,'''columns''':14,'''imelody''':True,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''J200''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''rows''':6,'''wallpaper_colors''':12,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''sonyericsson_j200c_ver1'''] = devclass(devices.devids['''sonyericsson_j200_ver1'''], '''sonyericsson_j200c_ver1''', '''SonyEricssonJ200c''', True, {'''max_data_rate''':40,'''model_name''':'''J200c''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/J200cR101.xml'''}) +devices.devids['''sonyericsson_j200c_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_j200c_ver1'''], '''sonyericsson_j200c_ver1_subr101''', '''SonyEricssonJ200c/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_j200i_ver1'''] = devclass(devices.devids['''sonyericsson_j200_ver1'''], '''sonyericsson_j200i_ver1''', '''SonyEricssonJ200i''', True, {'''max_data_rate''':40,'''model_name''':'''J200i''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/J200iR101.xml''','''video_qcif''':True,'''wallpaper_colors''':16}) +devices.devids['''sonyericsson_j200i_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_j200i_ver1'''], '''sonyericsson_j200i_ver1_subr101''', '''SonyEricssonJ200i/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_j210_ver1'''] = devclass(devices.devids['''sonyericsson_generic'''], '''sonyericsson_j210_ver1''', '''SonyEricssonJ210''', True, {'''colors''':65536,'''max_data_rate''':40,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''J210''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''voices''':32,'''wallpaper_colors''':16,'''wallpaper_jpg''':True}) +devices.devids['''sonyericsson_j210i_ver1'''] = devclass(devices.devids['''sonyericsson_j210_ver1'''], '''sonyericsson_j210i_ver1''', '''SonyEricssonJ210i''', True, {'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''J210i''','''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sonyericsson_j210i_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_j210i_ver1'''], '''sonyericsson_j210i_ver1_subr101''', '''SonyEricssonJ210i/R101''', False, None) +devices.devids['''sonyericsson_j210i_ver1_subr2h'''] = devclass(devices.devids['''sonyericsson_j210i_ver1'''], '''sonyericsson_j210i_ver1_subr2h''', '''SonyEricssonJ210i/R2H/TelecaBrowser/4.08''', False, None) +devices.devids['''sonyericsson_j210c_ver1'''] = devclass(devices.devids['''sonyericsson_j210_ver1'''], '''sonyericsson_j210c_ver1''', '''SonyEricssonJ210c''', True, {'''model_name''':'''J210c'''}) +devices.devids['''sonyericsson_j220_ver1'''] = devclass(devices.devids['''sonyericsson_generic'''], '''sonyericsson_j220_ver1''', '''SonyEricssonJ220''', True, {'''colors''':65536,'''columns''':14,'''gif''':True,'''imelody''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''J220''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''wml_1_1''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':32,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/J220iR101.xml''','''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':-1}) +devices.devids['''sonyericsson_j220i_ver1'''] = devclass(devices.devids['''sonyericsson_j220_ver1'''], '''sonyericsson_j220i_ver1''', '''SonyEricssonJ220i/R5K TelecaBrowser/4.08''', True, {'''max_data_rate''':40,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''J220i'''}) +devices.devids['''sonyericsson_j220i_ver1_subr5c'''] = devclass(devices.devids['''sonyericsson_j220i_ver1'''], '''sonyericsson_j220i_ver1_subr5c''', '''SonyEricssonJ220i/R5C TelecaBrowser/4.08''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_j220i_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_j210i_ver1'''], '''sonyericsson_j220i_ver1_subr101''', '''SonyEricssonJ220i/R101''', False, None) +devices.devids['''sonyericsson_j220a_ver1'''] = devclass(devices.devids['''sonyericsson_j220_ver1'''], '''sonyericsson_j220a_ver1''', '''SonyEricssonJ220a''', True, {'''model_name''':'''J220a'''}) +devices.devids['''sonyericsson_j220c_ver1'''] = devclass(devices.devids['''sonyericsson_j220_ver1'''], '''sonyericsson_j220c_ver1''', '''SonyEricssonJ220c''', True, {'''model_name''':'''J220c'''}) +devices.devids['''sonyericsson_j230_ver1'''] = devclass(devices.devids['''sonyericsson_generic'''], '''sonyericsson_j230_ver1''', '''SonyEricssonJ230''', True, {'''colors''':65536,'''max_data_rate''':40,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''J230''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''voices''':32,'''wallpaper_colors''':16,'''wallpaper_jpg''':True}) +devices.devids['''sonyericsson_j230i_ver1'''] = devclass(devices.devids['''sonyericsson_j230_ver1'''], '''sonyericsson_j230i_ver1''', '''SonyEricssonJ230i''', True, {'''colors''':4096,'''columns''':14,'''imelody''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''max_image_height''':108,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''J230i''','''oma_v_1_0_forwardlock''':True,'''receiver''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''video_3gpp''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sonyericsson_j230i_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_j230i_ver1'''], '''sonyericsson_j230i_ver1_subr101''', '''SonyEricssonJ230i/R101''', False, None) +devices.devids['''sonyericsson_j230a_ver1'''] = devclass(devices.devids['''sonyericsson_j230_ver1'''], '''sonyericsson_j230a_ver1''', '''SonyEricssonJ230a''', True, {'''model_name''':'''J230a'''}) +devices.devids['''sonyericsson_j230c_ver1'''] = devclass(devices.devids['''sonyericsson_j230_ver1'''], '''sonyericsson_j230c_ver1''', '''SonyEricssonJ230c''', True, {'''model_name''':'''J230c'''}) +devices.devids['''sonyericsson_j300_ver1'''] = devclass(devices.devids['''sonyericsson_403_generic'''], '''sonyericsson_j300_ver1''', '''SonyEricssonJ300''', False, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_deck_size''':20000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''J300''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wta_pdc''':True}) +devices.devids['''sonyericsson_j300a_ver1'''] = devclass(devices.devids['''sonyericsson_j300_ver1'''], '''sonyericsson_j300a_ver1''', '''SonyEricssonJ300a''', True, {'''max_data_rate''':40,'''model_name''':'''J300a''','''ringtone_mp3''':False,'''ringtone_voices''':40,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sonyericsson_j300a_ver1_subr2at'''] = devclass(devices.devids['''sonyericsson_j300a_ver1'''], '''sonyericsson_j300a_ver1_subr2at''', '''SonyEricssonJ300a/R2AT SEMC-Browser/4.0.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_j300c_ver1'''] = devclass(devices.devids['''sonyericsson_j300a_ver1'''], '''sonyericsson_j300c_ver1''', '''SonyEricssonJ300c''', True, {'''model_name''':'''J300c'''}) +devices.devids['''sonyericsson_j300c_ver1_subr2al'''] = devclass(devices.devids['''sonyericsson_j300c_ver1'''], '''sonyericsson_j300c_ver1_subr2al''', '''SonyEricssonJ300c/R2AL SEMC-Browser/4.0.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_j300i_ver1'''] = devclass(devices.devids['''sonyericsson_j300a_ver1'''], '''sonyericsson_j300i_ver1''', '''SonyEricssonJ300i''', True, {'''max_deck_size''':20000,'''model_name''':'''J300i''','''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sonyericsson_k200i_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_k200i_ver1''', '''SonyEricssonK200i/R1AA008 TelecaBrowser/1.1.14.20''', True, {'''colors''':4096,'''columns''':14,'''gif''':True,'''imelody''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''model_name''':'''K200i''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':32,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.sonyericsson.com/uaprof/K200iR101.xml''','''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sonyericsson_k220i_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_k220i_ver1''', '''SonyEricssonK220i/R1AA008 TelecaBrowser/1.1.14.20''', True, {'''colors''':4096,'''columns''':14,'''gif''':True,'''imelody''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''model_name''':'''K220i''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.sonyericsson.com/uaprof/K220iR101.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sonyericsson_k300_ver1'''] = devclass(devices.devids['''sonyericsson_generic'''], '''sonyericsson_k300_ver1''', '''SonyEricssonK300''', False, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''j2me_3gpp''':True,'''j2me_aac''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_bmp''':True,'''j2me_bmp3''':True,'''j2me_capture_image_formats''':'''jpeg''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_clear_key_code''':8,'''j2me_gif''':True,'''j2me_gif89a''':True,'''j2me_h263''':True,'''j2me_heap_size''':1572864,'''j2me_http''':True,'''j2me_https''':True,'''j2me_jpg''':True,'''j2me_jtwi''':True,'''j2me_left_softkey_code''':6,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_mp4''':True,'''j2me_mpeg4''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':7,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''j2me_storage_size''':12582912,'''j2me_svgt''':True,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wbmp''':True,'''j2me_wmapi_1_1''':True,'''max_data_rate''':40,'''max_deck_size''':20000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''K300''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_jpg''':True,'''picture_max_height''':128,'''picture_max_width''':128,'''picture_png''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K300iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''voices''':40,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wav''':True}) +devices.devids['''sonyericsson_k300i_ver1'''] = devclass(devices.devids['''sonyericsson_k300_ver1'''], '''sonyericsson_k300i_ver1''', '''SonyEricssonK300i''', True, {'''max_image_width''':123,'''model_name''':'''K300i'''}) +devices.devids['''sonyericsson_k300i_ver1_subr2aa'''] = devclass(devices.devids['''sonyericsson_k300i_ver1'''], '''sonyericsson_k300i_ver1_subr2aa''', '''SonyEricssonK300i/R2AA SEMC-Browser/4.0.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k300a_ver1'''] = devclass(devices.devids['''sonyericsson_k300_ver1'''], '''sonyericsson_k300a_ver1''', '''SonyEricssonK300a''', True, {'''max_data_rate''':40,'''model_name''':'''K300a'''}) +devices.devids['''sonyericsson_k300a_ver1_subr2aj'''] = devclass(devices.devids['''sonyericsson_k300a_ver1'''], '''sonyericsson_k300a_ver1_subr2aj''', '''SonyEricssonK300a/R2AJ SEMC-Browser/4.0.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k300c_ver1'''] = devclass(devices.devids['''sonyericsson_k300_ver1'''], '''sonyericsson_k300c_ver1''', '''SonyEricssonK300c''', True, {'''model_name''':'''K300c'''}) +devices.devids['''sonyericsson_k300c_ver1_subr2aj'''] = devclass(devices.devids['''sonyericsson_k300c_ver1'''], '''sonyericsson_k300c_ver1_subr2aj''', '''SonyEricssonK300c/R2AJ SEMC-Browser/4.0.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k500c_ver1'''] = devclass(devices.devids['''sonyericsson_f500i_ver1'''], '''sonyericsson_k500c_ver1''', '''SonyEricssonK500c''', True, {'''max_data_rate''':40,'''max_deck_size''':20000,'''model_name''':'''K500c'''}) +devices.devids['''sonyericsson_k500c_ver1_subr2aa'''] = devclass(devices.devids['''sonyericsson_k500c_ver1'''], '''sonyericsson_k500c_ver1_subr2aa''', '''SonyEricssonK500c/R2AA SEMC-Browser/4.0.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k500i_ver1'''] = devclass(devices.devids['''sonyericsson_f500i_ver1'''], '''sonyericsson_k500i_ver1''', '''SonyEricssonK500i''', True, {'''max_deck_size''':20000,'''max_image_width''':123,'''model_name''':'''K500i''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/K500iR201.xml'''}) +devices.devids['''sonyericsson_k500i_ver1_subr2aa'''] = devclass(devices.devids['''sonyericsson_k500i_ver1'''], '''sonyericsson_k500i_ver1_subr2aa''', '''SonyEricssonK500i/R2AA SEMC-Browser/4.0.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k500i_ver1_subr2l'''] = devclass(devices.devids['''sonyericsson_k500i_ver1'''], '''sonyericsson_k500i_ver1_subr2l''', '''SonyEricssonK500i/R2L SEMC-Browser/4.0.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40,'''max_deck_size''':300000}) +devices.devids['''sonyericsson_k500i_ver1_subr2n'''] = devclass(devices.devids['''sonyericsson_k500i_ver1'''], '''sonyericsson_k500i_ver1_subr2n''', '''SonyEricssonK500i/R2N SEMC-Browser/4.0.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k506c_ver1'''] = devclass(devices.devids['''sonyericsson_k500i_ver1'''], '''sonyericsson_k506c_ver1''', '''SonyEricssonK506c''', True, {'''max_deck_size''':20000,'''model_name''':'''K506c'''}) +devices.devids['''sonyericsson_k506c_ver1_subr2aa'''] = devclass(devices.devids['''sonyericsson_k506c_ver1'''], '''sonyericsson_k506c_ver1_subr2aa''', '''SonyEricssonK506c/R2AA SEMC-Browser/4.0.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k508_ver1'''] = devclass(devices.devids['''sonyericsson_k500i_ver1'''], '''sonyericsson_k508_ver1''', '''SonyEricssonK508''', False, {'''model_name''':'''K508'''}) +devices.devids['''sonyericsson_k508c_ver1'''] = devclass(devices.devids['''sonyericsson_k508_ver1'''], '''sonyericsson_k508c_ver1''', '''SonyEricssonK508c''', True, {'''max_deck_size''':20000,'''model_name''':'''K508c''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/K508cR201.xml'''}) +devices.devids['''sonyericsson_k508c_ver1_subr2aa'''] = devclass(devices.devids['''sonyericsson_k508c_ver1'''], '''sonyericsson_k508c_ver1_subr2aa''', '''SonyEricssonK508c/R2AA SEMC-Browser/4.0.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k508i_ver1'''] = devclass(devices.devids['''sonyericsson_k508_ver1'''], '''sonyericsson_k508i_ver1''', '''SonyEricssonK508i''', True, {'''max_deck_size''':20000,'''model_name''':'''K508i''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/K508iR201.xml'''}) +devices.devids['''sonyericsson_k508i_ver1_subr2aa'''] = devclass(devices.devids['''sonyericsson_k508i_ver1'''], '''sonyericsson_k508i_ver1_subr2aa''', '''SonyEricssonK508i/R2AA SEMC-Browser/4.0.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k508i_ver1_subr2ae'''] = devclass(devices.devids['''sonyericsson_k508i_ver1'''], '''sonyericsson_k508i_ver1_subr2ae''', '''SonyEricssonK508i/R2AE SEMC-Browser/4.0.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k530i_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_k530i_ver1''', '''SonyEricssonK530i/R6BC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SonyEricsson''','''colors''':262144,'''columns''':11,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':307200,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''K530i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K530iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h264''':'''10 1b''','''wallpaper_jpg''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sonyericsson_k600_ver1'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_k600_ver1''', '''SonyEricssonK600''', True, {'''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''columns''':18,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':146,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':72,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''K600''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':72,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':0,'''screensaver_inline_size_limit''':0,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_png''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''screensaver_resize''':'''fixed_ratio''','''screensaver_wbmp''':True,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_qcif''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K600iR101.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':2048,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_oma_size_limit''':2048,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_real_media_8''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''voices''':72,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':0,'''wallpaper_inline_size_limit''':0,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wallpaper_resize''':'''fixed_ratio''','''wallpaper_wbmp''':True,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_k600_ver1_subr2b'''] = devclass(devices.devids['''sonyericsson_k600_ver1'''], '''sonyericsson_k600_ver1_subr2b''', '''SonyEricssonK600/R2B Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k600_ver1_sub_502'''] = devclass(devices.devids['''sonyericsson_k600_ver1'''], '''sonyericsson_k600_ver1_sub_502''', '''SonyEricssonK600/1.0 (05.02) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k600i_ver1'''] = devclass(devices.devids['''sonyericsson_k600_ver1'''], '''sonyericsson_k600i_ver1''', '''SonyEricssonK600i''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''K600i'''}) +devices.devids['''sonyericsson_k600i_ver1_subr2c'''] = devclass(devices.devids['''sonyericsson_k600i_ver1'''], '''sonyericsson_k600i_ver1_subr2c''', '''SonyEricssonK600i/R2C Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k600i_ver1_subr2k'''] = devclass(devices.devids['''sonyericsson_k600i_ver1'''], '''sonyericsson_k600i_ver1_subr2k''', '''SonyEricssonK600i/R2K Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k608'''] = devclass(devices.devids['''sonyericsson_k600_ver1'''], '''sonyericsson_k608''', '''SonyEricssonK608''', True, {'''aac''':True,'''colors''':65536,'''columns''':14,'''j2me_cldc_1_1''':True,'''max_image_height''':205,'''max_image_width''':164,'''model_name''':'''K608''','''rows''':7,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''sonyericsson_k608_ver_r1x'''] = devclass(devices.devids['''sonyericsson_k608'''], '''sonyericsson_k608_ver_r1x''', '''SonyEricssonK608/R1X SEMC-Browser/4.1 Profile/MIDP-2.0 MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k608i_ver1'''] = devclass(devices.devids['''sonyericsson_k608'''], '''sonyericsson_k608i_ver1''', '''SonyEricssonK608i''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''K608i'''}) +devices.devids['''sonyericsson_k608i_ver1_subr2k'''] = devclass(devices.devids['''sonyericsson_k608i_ver1'''], '''sonyericsson_k608i_ver1_subr2k''', '''SonyEricssonK608i/R2K Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k608i_ver1_subr2tsn'''] = devclass(devices.devids['''sonyericsson_k608i_ver1'''], '''sonyericsson_k608i_ver1_subr2tsn''', '''SonyEricssonK608i/R2T/SNXXXXXXXXXXXXXXX Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k608i_ver1_subr301'''] = devclass(devices.devids['''sonyericsson_k608i_ver1'''], '''sonyericsson_k608i_ver1_subr301''', '''SonyEricssonK608i/R301 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k610_ver1'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_k610_ver1''', '''SonyEricssonK610''', False, {'''aac''':True,'''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':65536,'''flash_lite_version''':'''''','''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''K610''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K610iR101.xml''','''uaprof2''':'''http://wap.sonyericsson.com/UAprof/K610iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_real_media_8''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':10,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sonyericsson_k610i_ver1'''] = devclass(devices.devids['''sonyericsson_k610_ver1'''], '''sonyericsson_k610i_ver1''', '''SonyEricssonK610i''', True, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''flash_lite_version''':'''''','''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_width''':170,'''model_name''':'''K610i''','''ringtone_3gpp''':True,'''ringtone_voices''':16,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_vcodec_h264''':'''10 1b'''}) +devices.devids['''sonyericsson_k610i_ver1_subr2l'''] = devclass(devices.devids['''sonyericsson_k610i_ver1'''], '''sonyericsson_k610i_ver1_subr2l''', '''SonyEricssonK610i/R2L Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k610i_ver1_subr1aa'''] = devclass(devices.devids['''sonyericsson_k610i_ver1'''], '''sonyericsson_k610i_ver1_subr1aa''', '''SonyEricssonK610i/R1AA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k610c_ver1'''] = devclass(devices.devids['''sonyericsson_k610_ver1'''], '''sonyericsson_k610c_ver1''', '''SonyEricssonK610c''', True, {'''flash_lite_version''':'''''','''model_name''':'''K610c''','''ringtone_voices''':16}) +devices.devids['''sonyericsson_k618_ver1'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_k618_ver1''', '''SonyEricssonK618''', False, {'''aac''':True,'''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''doja_1_0''':True,'''doja_1_5''':True,'''doja_2_0''':True,'''doja_2_1''':True,'''doja_2_2''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''max_deck_size''':307200,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''K618''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_aac''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_vcodec_h263_0''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_real_media_8''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True,'''xmf''':True}) +devices.devids['''sonyericsson_k618i_ver1'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_k618i_ver1''', '''SonyEricssonK618i''', True, {'''model_name''':'''K618i''','''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_3gpp''':True,'''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''video_3gpp''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':220}) +devices.devids['''sonyericsson_k700_ver1'''] = devclass(devices.devids['''sonyericsson_40_generic'''], '''sonyericsson_k700_ver1''', '''SonyEricssonK700''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''imelody''':True,'''j2me_3gpp''':True,'''j2me_aac''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_bmp''':True,'''j2me_bmp3''':True,'''j2me_canvas_height''':176,'''j2me_canvas_width''':176,'''j2me_capture_image_formats''':'''jpeg''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_clear_key_code''':8,'''j2me_gif''':True,'''j2me_gif89a''':True,'''j2me_h263''':True,'''j2me_heap_size''':1572864,'''j2me_http''':True,'''j2me_https''':True,'''j2me_imelody''':True,'''j2me_jpg''':True,'''j2me_jtwi''':True,'''j2me_left_softkey_code''':6,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_nokia_ui''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':7,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''j2me_storage_size''':41943040,'''j2me_udp''':True,'''j2me_wbmp''':True,'''j2me_wmapi_1_1''':True,'''max_deck_size''':20000,'''max_image_height''':176,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':261120,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''K700''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':6,'''screensaver_colors''':16,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''screensaver_resize''':'''fixed_ratio''','''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_max_audio_bit_rate''':43008,'''streaming_video_max_bit_rate''':32768,'''streaming_video_max_frame_rate''':15,'''streaming_video_max_video_bit_rate''':32768,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':176,'''streaming_video_qcif_max_width''':144,'''streaming_video_size_limit''':261120,'''streaming_video_sqcif''':True,'''streaming_video_sqcif_max_height''':128,'''streaming_video_sqcif_max_width''':96,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K700R101.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':261120,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':176,'''wallpaper_resize''':'''fixed_ratio''','''wav''':True,'''wta_pdc''':True}) +devices.devids['''sonyericsson_k700_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_k700_ver1'''], '''sonyericsson_k700_ver1_subr1a''', '''SonyEricssonK700/R1A Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k700_ver1_subr1asemc'''] = devclass(devices.devids['''sonyericsson_k700_ver1'''], '''sonyericsson_k700_ver1_subr1asemc''', '''SonyEricssonK700/R1A SEMC-Browser/4.0 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k700_ver1_subr2a'''] = devclass(devices.devids['''sonyericsson_k700_ver1'''], '''sonyericsson_k700_ver1_subr2a''', '''SonyEricssonK700/R2A Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k700_ver1_subr2asemc'''] = devclass(devices.devids['''sonyericsson_k700_ver1'''], '''sonyericsson_k700_ver1_subr2asemc''', '''SonyEricssonK700/R2A SEMC-Browser/4.0 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k700c_ver1'''] = devclass(devices.devids['''sonyericsson_k700_ver1'''], '''sonyericsson_k700c_ver1''', '''SonyEricssonK700c''', True, {'''max_data_rate''':40,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''model_name''':'''K700c''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/K700cR101.xml'''}) +devices.devids['''sonyericsson_k700c_ver1_subr2a'''] = devclass(devices.devids['''sonyericsson_k700c_ver1'''], '''sonyericsson_k700c_ver1_subr2a''', '''SonyEricssonK700c/R2A SEMC-Browser/4.0 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k700i_ver1'''] = devclass(devices.devids['''sonyericsson_k700_ver1'''], '''sonyericsson_k700i_ver1''', '''SonyEricssonK700i''', True, {'''max_data_rate''':40,'''max_deck_size''':20000,'''max_image_width''':170,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_wav''':True,'''model_name''':'''K700i''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/K700iR101.xml''','''wallpaper_preferred_height''':144}) +devices.devids['''sonyericsson_k700i_ver1_sub00'''] = devclass(devices.devids['''sonyericsson_k700i_ver1'''], '''sonyericsson_k700i_ver1_sub00''', '''SonyEricssonK700i/R201''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k700i_ver1_subr202'''] = devclass(devices.devids['''sonyericsson_k700i_ver1'''], '''sonyericsson_k700i_ver1_subr202''', '''SonyEricssonK700i/R202 Profile/MIDP-1.1 Configuration/CLDC-2.0''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k700i_ver1_subr1abrowser'''] = devclass(devices.devids['''sonyericsson_k700i_ver1'''], '''sonyericsson_k700i_ver1_subr1abrowser''', '''SonyEricssonK700i/R1A Browser/SEMC-Browser/4.1 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k700i_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_k700i_ver1'''], '''sonyericsson_k700i_ver1_subr1a''', '''SonyEricssonK700i/R1A SEMC-Browser/4.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k700i_ver1_subspacer2a'''] = devclass(devices.devids['''sonyericsson_k700i_ver1'''], '''sonyericsson_k700i_ver1_subspacer2a''', '''SonyEricsson K700i/R2A''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k700i_ver1_subspacer2asemc40'''] = devclass(devices.devids['''sonyericsson_k700i_ver1'''], '''sonyericsson_k700i_ver1_subspacer2asemc40''', '''SonyEricsson K700i/R2A SEMC-Browser/4.0 UP.Browser/7.0.2.3.119 (GUI) MMP/2.0 Push/PO''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k700i_ver1_subr2l'''] = devclass(devices.devids['''sonyericsson_k700i_ver1'''], '''sonyericsson_k700i_ver1_subr2l''', '''SonyEricssonK700i/R2L SEMC-Browser/4.0.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''columns''':18,'''max_data_rate''':40,'''rows''':10,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K700iR201.xml'''}) +devices.devids['''sonyericsson_k700i_ver1_subr2l40'''] = devclass(devices.devids['''sonyericsson_k700i_ver1_subr2l'''], '''sonyericsson_k700i_ver1_subr2l40''', '''SonyEricssonK700i/R2L SEMC-Browser/4.0 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sony_ericsson_k770i_ver1'''] = devclass(devices.devids['''sonyericsson_k700_ver1'''], '''sony_ericsson_k770i_ver1''', '''SonyEricssonK770i''', True, {'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':17,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':False,'''fl_screensaver''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''''','''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':260,'''max_image_width''':229,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''K770i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':72,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K770iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wta_pdc''':True,'''xhtml_support_level''':4,'''xmf''':True}) +devices.devids['''sony_ericsosn_k770i_ver1_sub1'''] = devclass(devices.devids['''sony_ericsson_k770i_ver1'''], '''sony_ericsosn_k770i_ver1_sub1''', '''SonyEricssonK770i/R8BA Browser/NetFront/3.3 Profile/MIDP-2.0''', False, None) +devices.devids['''sonyericsson_s700_ver1'''] = devclass(devices.devids['''sonyericsson_401_generic'''], '''sonyericsson_s700_ver1''', '''SonyEricssonS700''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':19,'''imelody''':True,'''j2me_3gpp''':True,'''j2me_aac''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_bmp''':True,'''j2me_bmp3''':True,'''j2me_canvas_height''':128,'''j2me_canvas_width''':128,'''j2me_capture_image_formats''':'''jpeg''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_clear_key_code''':8,'''j2me_gif''':True,'''j2me_gif89a''':True,'''j2me_h263''':True,'''j2me_heap_size''':1572864,'''j2me_http''':True,'''j2me_https''':True,'''j2me_imelody''':True,'''j2me_jpg''':True,'''j2me_jtwi''':True,'''j2me_left_softkey_code''':6,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':7,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''j2me_storage_size''':6291456,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wbmp''':True,'''j2me_wmapi_1_0''':True,'''j2me_wmapi_1_1''':True,'''max_data_rate''':40,'''max_deck_size''':4194304,'''max_image_height''':262,'''max_image_width''':233,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''S700''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':False,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_max_audio_bit_rate''':43008,'''streaming_video_max_bit_rate''':32768,'''streaming_video_max_frame_rate''':15,'''streaming_video_max_video_bit_rate''':32768,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':176,'''streaming_video_qcif_max_width''':144,'''streaming_video_size_limit''':307200,'''streaming_video_sqcif''':True,'''streaming_video_sqcif_max_height''':128,'''streaming_video_sqcif_max_width''':96,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':307200,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':266,'''wallpaper_preferred_width''':240,'''wav''':True,'''wta_pdc''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;'''}) +devices.devids['''sonyericsson_s700i_ver1'''] = devclass(devices.devids['''sonyericsson_s700_ver1'''], '''sonyericsson_s700i_ver1''', '''SonyEricssonS700i''', True, {'''max_data_rate''':200,'''model_name''':'''S700i''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/S700iR201.xml'''}) +devices.devids['''sonyericsson_s700i_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_s700i_ver1'''], '''sonyericsson_s700i_ver1_subr1a''', '''SonyEricssonS700i/R1A SEMC-Browser/4.0.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_s700c_ver1'''] = devclass(devices.devids['''sonyericsson_s700_ver1'''], '''sonyericsson_s700c_ver1''', '''SonyEricssonS700c''', True, {'''max_deck_size''':20000,'''model_name''':'''S700c''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/S700cR201.xml'''}) +devices.devids['''sonyericsson_s700c_ver1_subr3b'''] = devclass(devices.devids['''sonyericsson_s700c_ver1'''], '''sonyericsson_s700c_ver1_subr3b''', '''SonyEricssonS700c/R3B SEMC-Browser/4.0.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_s710_ver1'''] = devclass(devices.devids['''sonyericsson_s700i_ver1'''], '''sonyericsson_s710_ver1''', '''SonyEricssonS710''', True, {'''max_deck_size''':20000,'''model_name''':'''S710'''}) +devices.devids['''sonyericsson_s710a_ver1'''] = devclass(devices.devids['''sonyericsson_s700i_ver1'''], '''sonyericsson_s710a_ver1''', '''SonyEricssonS710a''', True, {'''colors''':262144,'''max_data_rate''':200,'''max_deck_size''':20000,'''max_image_height''':300,'''max_image_width''':240,'''model_name''':'''S710a''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/S710aR101.xml'''}) +devices.devids['''sonyericsson_s710a_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_s710a_ver1'''], '''sonyericsson_s710a_ver1_subr1a''', '''SonyEricssonS710a/R1A SEMC-Browser/4.0.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''sonyericsson_k750_ver1'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_k750_ver1''', '''SonyEricssonK750''', False, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_deck_size''':4194304,'''max_image_height''':182,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''K750''','''mp3''':True,'''picture_jpg''':True,'''picture_max_height''':182,'''picture_max_width''':176,'''picture_png''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''sp_midi''':True,'''svgt_1_1_plus''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''voices''':40,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':182,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':182,'''wallpaper_preferred_width''':176,'''wav''':True}) +devices.devids['''sonyericsson_k750c_ver1'''] = devclass(devices.devids['''sonyericsson_k750_ver1'''], '''sonyericsson_k750c_ver1''', '''SonyEricssonK750c''', True, {'''j2me_cldc_1_1''':True,'''max_deck_size''':45000,'''model_name''':'''K750c''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/K750cR101.xml'''}) +devices.devids['''sonyericsson_k750c_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_k750c_ver1'''], '''sonyericsson_k750c_ver1_subr1a''', '''SonyEricssonK750c/R1L Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k750i_ver1'''] = devclass(devices.devids['''sonyericsson_k750_ver1'''], '''sonyericsson_k750i_ver1''', '''SonyEricssonK750i''', True, {'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':18,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''K750i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K750iR101.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':1,'''xmf''':True}) +devices.devids['''sonyericsson_k750i_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_k750i_ver1'''], '''sonyericsson_k750i_ver1_subr1a''', '''SonyEricssonK750i/R1A Browser/SEMC-Browser/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k750i_ver1_subr1aaxxx'''] = devclass(devices.devids['''sonyericsson_k750i_ver1'''], '''sonyericsson_k750i_ver1_subr1aaxxx''', '''SonyEricssonK750i/R1AA/SN357850009892917 Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k750i_ver1_subr1b'''] = devclass(devices.devids['''sonyericsson_k750i_ver1'''], '''sonyericsson_k750i_ver1_subr1b''', '''SonyEricssonK750i/R1B''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_d750i_ver1'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_d750i_ver1''', '''SonyEricssonD750i''', True, {'''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''columns''':18,'''imelody''':True,'''j2me_3dapi''':True,'''j2me_3gpp''':True,'''j2me_amr''':True,'''j2me_btapi''':True,'''j2me_canvas_height''':220,'''j2me_canvas_width''':176,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_gif''':True,'''j2me_http''':True,'''j2me_https''':True,'''j2me_imelody''':True,'''j2me_jpg''':True,'''j2me_jtwi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mmapi_1_1''':True,'''j2me_mp3''':True,'''j2me_nokia_ui''':True,'''j2me_png''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''D750i''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/D750iR101.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':173,'''wallpaper_preferred_width''':174,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_d750i_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_d750i_ver1'''], '''sonyericsson_d750i_ver1_subr1a''', '''SonyEricssonD750i/R1A Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k758c_ver1'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_k758c_ver1''', '''SonyEricssonK758c''', True, {'''bmp''':True,'''colors''':262144,'''max_image_height''':182,'''max_image_width''':176,'''model_name''':'''K758c''','''resolution_height''':220,'''resolution_width''':176}) +devices.devids['''sonyericsson_m600_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_m600_ver1''', '''SonyEricssonM600''', False, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''j2me_3dapi''':True,'''j2me_btapi''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mmapi_1_1''':True,'''j2me_nokia_ui''':True,'''j2me_wmapi_1_0''':True,'''j2me_wmapi_1_1''':True,'''j2me_wmapi_2_0''':True,'''max_data_rate''':384,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''M600''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_real_media_8''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True}) +devices.devids['''sonyericsson_m600i_ver1'''] = devclass(devices.devids['''sonyericsson_m600_ver1'''], '''sonyericsson_m600i_ver1''', '''SonyEricssonM600i/R100 Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; 513) Opera 8.65 [en]''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':262144,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''epoc_bmp''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':60000,'''max_image_width''':225,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':300000,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''M600i''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rmf''':True,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAProf/M600iR100.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sonyericsson_m600i_ver1_submozilla40r100'''] = devclass(devices.devids['''sonyericsson_m600i_ver1'''], '''sonyericsson_m600i_ver1_submozilla40r100''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; 204) Opera 8.60 [fr]SonyEricssonM600i/R100''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_m600i_ver1_subr100'''] = devclass(devices.devids['''sonyericsson_m600i_ver1'''], '''sonyericsson_m600i_ver1_subr100''', '''SonyEricssonM600i/R100 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_m600c_ver1'''] = devclass(devices.devids['''sonyericsson_m600_ver1'''], '''sonyericsson_m600c_ver1''', '''SonyEricssonM600c''', True, {'''max_deck_size''':60000,'''model_name''':'''M600c'''}) +devices.devids['''sonyericsson_p1i_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_p1i_ver1''', '''SonyEricssonP1i/R100 Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; 598) Opera 8.65 [en]''', False, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''amr''':True,'''au''':True,'''bmp''':True,'''colors''':262144,'''columns''':20,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''epoc_bmp''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':60000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':300000,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Opera''','''mobile_browser_version''':'''8.65''','''model_name''':'''P1i''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rmf''':True,'''rows''':15,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAProf/P1iR100.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wifi''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''sonyericsson_p800_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_p800_ver1''', '''SonyEricssonP800''', True, {'''amr''':True,'''bmp''':True,'''built_in_camera''':True,'''colors''':4096,'''columns''':20,'''downloadfun_support''':True,'''has_pointing_device''':True,'''html_web_3_2''':True,'''imelody''':True,'''j2me_3gpp''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':12,'''j2me_canvas_height''':172,'''j2me_canvas_width''':208,'''j2me_cldc_1_0''':True,'''j2me_clear_key_code''':8,'''j2me_heap_size''':8388608,'''j2me_imelody''':True,'''j2me_left_softkey_code''':7,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_right_softkey_code''':6,'''j2me_rmf''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':208,'''j2me_storage_size''':12582912,'''max_data_rate''':40,'''max_deck_size''':300000,'''max_image_height''':240,'''max_image_width''':186,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':480,'''mms_max_size''':300000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_xmf''':True,'''model_name''':'''P800''','''mp3''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':208,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':143360,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_oma_size_limit''':143360,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rmf''':True,'''rows''':15,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_max_audio_bit_rate''':4750,'''streaming_video_max_bit_rate''':14750,'''streaming_video_max_frame_rate''':5,'''streaming_video_max_video_bit_rate''':10000,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/P800R101.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':153600,'''video_max_height''':164,'''video_max_width''':192,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':24,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':144,'''wallpaper_max_width''':208,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wav''':True,'''xmf''':True}) +devices.devids['''sonyericsson_p800_ver1_sub101noj2me'''] = devclass(devices.devids['''sonyericsson_p800_ver1'''], '''sonyericsson_p800_ver1_sub101noj2me''', '''SonyEricssonP800/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p800_ver1_sub10100'''] = devclass(devices.devids['''sonyericsson_p800_ver1'''], '''sonyericsson_p800_ver1_sub10100''', '''SonyEricssonP800/R101 Profile/MIDP-0.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p800_ver1_subr102'''] = devclass(devices.devids['''sonyericsson_p800_ver1'''], '''sonyericsson_p800_ver1_subr102''', '''SonyEricssonP800/R102 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40,'''tiff''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/P800R102.xml'''}) +devices.devids['''sonyericsson_p800_ver1_submidp20'''] = devclass(devices.devids['''sonyericsson_p800_ver1'''], '''sonyericsson_p800_ver1_submidp20''', '''SonyEricssonP800/R101 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p800_ver1_subp201'''] = devclass(devices.devids['''sonyericsson_p800_ver1'''], '''sonyericsson_p800_ver1_subp201''', '''SonyEricssonP800/P201 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p800_ver1_sub_emulator'''] = devclass(devices.devids['''sonyericsson_p800_ver1'''], '''sonyericsson_p800_ver1_sub_emulator''', '''P800 simulator''', False, None) +devices.devids['''sonyericsson_p800_up_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sonyericsson_p800_up_ver1''', '''SonyEricssonP800/R101 UP.Browser''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p800_up_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_p800_up_ver1'''], '''sonyericsson_p800_up_ver1_subr101''', '''SonyEricssonP800/R101 UP.Browser/6.2.2.1.208 (GUI) MMP/1.0''', False, None) +devices.devids['''sonyericsson_p802_ver1'''] = devclass(devices.devids['''sonyericsson_p800_ver1'''], '''sonyericsson_p802_ver1''', '''SonyEricssonP802''', True, {'''max_image_height''':240,'''model_name''':'''P802'''}) +devices.devids['''sonyericsson_p900_ver1'''] = devclass(devices.devids['''sonyericsson_p800_ver1'''], '''sonyericsson_p900_ver1''', '''SonyEricssonP900''', True, {'''colors''':65536,'''has_pointing_device''':True,'''j2me_bits_per_pixel''':16,'''j2me_btapi''':True,'''j2me_canvas_height''':253,'''j2me_heap_size''':16777216,'''j2me_http''':True,'''j2me_https''':True,'''j2me_jtwi''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_socket''':True,'''j2me_wmapi_1_0''':True,'''max_image_height''':227,'''max_image_width''':186,'''mms_3gpp''':True,'''mms_jar''':True,'''mms_mp4''':True,'''mms_video''':True,'''model_name''':'''P900''','''oma_v_1_0_forwardlock''':True,'''ringtone_voices''':40,'''streaming_mp4''':True,'''streaming_video_max_audio_bit_rate''':0,'''streaming_video_max_bit_rate''':32768,'''streaming_video_max_frame_rate''':4,'''streaming_video_max_video_bit_rate''':32768,'''streaming_video_min_video_bit_rate''':2,'''streaming_video_qcif_max_height''':176,'''streaming_video_qcif_max_width''':144,'''streaming_video_size_limit''':102400,'''tiff''':True,'''uaprof''':'''http://www.sonyericsson.com/UAProf/P900R101.xml''','''video_directdownload_size_limit''':153600,'''video_max_frame_rate''':15,'''video_max_height''':192,'''video_max_width''':144,'''voices''':40,'''wallpaper_max_height''':189,'''wallpaper_preferred_height''':189}) +devices.devids['''sonyericsson_p900_ver1_subr101midp20'''] = devclass(devices.devids['''sonyericsson_p900_ver1'''], '''sonyericsson_p900_ver1_subr101midp20''', '''SonyEricssonP900/R101 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40,'''uaprof''':'''http://www.sonyericsson.com/UAProf/P900R101.xml'''}) +devices.devids['''sonyericsson_p900_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_p900_ver1'''], '''sonyericsson_p900_ver1_subr101''', '''SonyEricssonP900/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p900_ver1_subr102'''] = devclass(devices.devids['''sonyericsson_p900_ver1'''], '''sonyericsson_p900_ver1_subr102''', '''SonyEricssonP900/R102 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40,'''oma_support''':True,'''uaprof''':'''http://www.sonyericsson.com/UAProf/P900R102.xml'''}) +devices.devids['''sonyericsson_p900_ver1_subr102rev4'''] = devclass(devices.devids['''sonyericsson_p900_ver1_subr102'''], '''sonyericsson_p900_ver1_subr102rev4''', '''SonyEricssonP900/R102 Profile/MIDP-2.0 Configuration/CLDC-1.0 Rev/MR4''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p900_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_p900_ver1_subr102'''], '''sonyericsson_p900_ver1_subr1a''', '''SonyEricssonP900/R1A SEMC-Browser/Symbian/R1A Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p900_ver1_subr702115'''] = devclass(devices.devids['''sonyericsson_p900_ver1'''], '''sonyericsson_p900_ver1_subr702115''', '''SonyEricsson P900/R101 UP.Browser/7.0.2.115 (GUI) MMP/2.0''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SonyEricsson''','''colors''':65536,'''columns''':20,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''has_pointing_device''':True,'''imelody''':True,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':300000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''P900R101''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':208,'''rmf''':True,'''rows''':15,'''sender''':True,'''tiff''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/P900R101.xml''','''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sonyericsson_p908_ver1'''] = devclass(devices.devids['''sonyericsson_p900_ver1'''], '''sonyericsson_p908_ver1''', '''SonyEricssonP908''', True, {'''model_name''':'''P908'''}) +devices.devids['''sonyericsson_p908_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_p908_ver1'''], '''sonyericsson_p908_ver1_subr101''', '''SonyEricssonP908/R101 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p910_ver1'''] = devclass(devices.devids['''sonyericsson_p900_ver1'''], '''sonyericsson_p910_ver1''', '''SonyEricssonP910''', True, {'''j2me_au''':True,'''j2me_bits_per_pixel''':18,'''j2me_heap_size''':67108864,'''j2me_left_softkey_code''':6,'''j2me_right_softkey_code''':7,'''j2me_wav''':True,'''max_data_rate''':40,'''model_name''':'''P910'''}) +devices.devids['''sonyericsson_p910i_ver1'''] = devclass(devices.devids['''sonyericsson_p910_ver1'''], '''sonyericsson_p910i_ver1''', '''SonyEricssonP910i''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':20,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':208,'''jpg''':True,'''max_deck_size''':60000,'''max_image_height''':300,'''max_image_width''':186,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':300000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''P910i''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':208,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rmf''':True,'''rows''':15,'''sender''':True,'''sp_midi''':True,'''tiff''':True,'''uaprof''':'''http://www.sonyericsson.com/UAProf/P910iR102.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_preferred_height''':144,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''sonyericsson_p910i_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_p910i_ver1'''], '''sonyericsson_p910i_ver1_subr1a''', '''SonyEricssonP910i/R1A SEMC-Browser/Symbian/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p910i_ver1_subr3a'''] = devclass(devices.devids['''sonyericsson_p910i_ver1'''], '''sonyericsson_p910i_ver1_subr3a''', '''SonyEricssonP910i/R3A SEMC-Browser/Symbian/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p910a_ver1'''] = devclass(devices.devids['''sonyericsson_p910_ver1'''], '''sonyericsson_p910a_ver1''', '''SonyEricssonP910a''', True, {'''model_name''':'''P910a''','''uaprof''':'''http://www.sonyericsson.com/UAProf/P910aR102.xml'''}) +devices.devids['''sonyericsson_p910a_ver1_subr2a'''] = devclass(devices.devids['''sonyericsson_p910a_ver1'''], '''sonyericsson_p910a_ver1_subr2a''', '''SonyEricssonP910a/R2A SEMC-Browser/Symbian/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p910a_ver1_subr3a'''] = devclass(devices.devids['''sonyericsson_p910a_ver1'''], '''sonyericsson_p910a_ver1_subr3a''', '''SonyEricssonP910a/R3A SEMC-Browser/Symbian/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p910a_ver1_subr4a'''] = devclass(devices.devids['''sonyericsson_p910a_ver1'''], '''sonyericsson_p910a_ver1_subr4a''', '''SonyEricssonP910a/R4A SEMC-Browser/Symbian/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p910c_ver1'''] = devclass(devices.devids['''sonyericsson_p910_ver1'''], '''sonyericsson_p910c_ver1''', '''SonyEricssonP910c''', True, {'''model_name''':'''P910c'''}) +devices.devids['''sonyericsson_p910c_ver1_subr2a'''] = devclass(devices.devids['''sonyericsson_p910c_ver1'''], '''sonyericsson_p910c_ver1_subr2a''', '''SonyEricssonP910c/R2A SEMC-Browser/Symbian/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p990_ver1'''] = devclass(devices.devids['''sonyericsson_p910_ver1'''], '''sonyericsson_p990_ver1''', '''SonyEricssonP990''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''colors''':262144,'''max_data_rate''':384,'''max_image_height''':320,'''max_image_width''':240,'''model_name''':'''P990''','''resolution_width''':240,'''ringtone_aac''':True,'''wallpaper_colors''':18,'''wifi''':True}) +devices.devids['''sonyericsson_p990_ver1_subr102'''] = devclass(devices.devids['''sonyericsson_p990_ver1'''], '''sonyericsson_p990_ver1_subr102''', '''SonyEricssonP990/R102 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p990i_ver1'''] = devclass(devices.devids['''sonyericsson_p990_ver1'''], '''sonyericsson_p990i_ver1''', '''SonyEricssonP990i''', True, {'''model_name''':'''P990i''','''ringtone_mmf''':True,'''wifi''':True}) +devices.devids['''sonyericsson_p990_ver1_submozilla40r100'''] = devclass(devices.devids['''sonyericsson_p990_ver1'''], '''sonyericsson_p990_ver1_submozilla40r100''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; 225) Opera 8.60 [fr]SonyEricssonP990i/R100''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p990_subr10060306860enus'''] = devclass(devices.devids['''sonyericsson_p990_ver1'''], '''sonyericsson_p990_subr10060306860enus''', '''SonyEricssonP990i/R100 Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; 306) Opera 8.60 [en-US]''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_p990c_ver1'''] = devclass(devices.devids['''sonyericsson_p990_ver1'''], '''sonyericsson_p990c_ver1''', '''SonyEricssonP990c''', True, {'''model_name''':'''P990c''','''wifi''':True}) +devices.devids['''sonyericsson_w300_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_w300_ver1''', '''SonyEricssonW300''', False, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':14,'''fl_browser''':True,'''flash_lite_version''':'''1_1''','''j2me_3dapi''':True,'''j2me_btapi''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mmapi_1_1''':True,'''j2me_nokia_ui''':True,'''j2me_wmapi_1_0''':True,'''j2me_wmapi_1_1''':True,'''j2me_wmapi_2_0''':True,'''max_data_rate''':200,'''max_deck_size''':45000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''W300''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':9,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''svgt_1_1''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_real_media_8''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wav''':True}) +devices.devids['''sonyericsson_w300i_ver1'''] = devclass(devices.devids['''sonyericsson_w300_ver1'''], '''sonyericsson_w300i_ver1''', '''SonyEricssonW300i''', True, {'''fl_browser''':True,'''max_data_rate''':40,'''model_name''':'''W300i''','''ringtone_voices''':40}) +devices.devids['''sonyeric_w300i_verr9a'''] = devclass(devices.devids['''sonyericsson_w300i_ver1'''], '''sonyeric_w300i_verr9a''', '''SonyEricssonW300i/R9A Browser/NetFront/3.3''', False, {'''fl_browser''':True}) +devices.devids['''sonyericsson_w300c_ver1'''] = devclass(devices.devids['''sonyericsson_w300_ver1'''], '''sonyericsson_w300c_ver1''', '''SonyEricssonW300c''', True, {'''fl_browser''':True,'''max_data_rate''':40,'''model_name''':'''W300c'''}) +devices.devids['''sonyericsson_w950_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_w950_ver1''', '''SonyEricssonW950''', False, {'''aac''':True,'''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''j2me_3dapi''':True,'''j2me_btapi''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mmapi_1_1''':True,'''j2me_nokia_ui''':True,'''j2me_wmapi_1_0''':True,'''j2me_wmapi_1_1''':True,'''j2me_wmapi_2_0''':True,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''W950''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_real_media_8''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':10,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''xhtml_support_level''':3}) +devices.devids['''sonyericsson_w950i_ver1'''] = devclass(devices.devids['''sonyericsson_w950_ver1'''], '''sonyericsson_w950i_ver1''', '''SonyEricssonW950i''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''columns''':20,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':384,'''max_deck_size''':60000,'''max_image_height''':300,'''max_image_width''':222,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':300000,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W950i''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rmf''':True,'''rows''':15,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W950iR101.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h264''':'''10 1b''','''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''sonyericsson_w950i_ver1_subr100'''] = devclass(devices.devids['''sonyericsson_w950i_ver1'''], '''sonyericsson_w950i_ver1_subr100''', '''SonyEricssonW950i/R100 Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; 276) Opera 8.60 [fr]1''', False, None) +devices.devids['''sonyericsson_w950c_ver1'''] = devclass(devices.devids['''sonyericsson_w950_ver1'''], '''sonyericsson_w950c_ver1''', '''SonyEricssonW950c''', True, {'''max_data_rate''':384,'''model_name''':'''W950c'''}) +devices.devids['''sonyericsson_w960i_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_w960i_ver1''', '''SonyEricssonW960i''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''amr''':True,'''columns''':20,'''j2me_canvas_width''':240,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''max_data_rate''':384,'''max_image_height''':300,'''max_image_width''':240,'''model_name''':'''W960i''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':300,'''resolution_width''':240,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''rows''':15,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAProf/W960iR100.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wifi''':True}) +devices.devids['''sonyericsson_z300_ver1'''] = devclass(devices.devids['''sonyericsson_generic'''], '''sonyericsson_z300_ver1''', '''SonyEricssonZ300''', True, {'''brand_name''':'''SonyEricsson''','''colors''':65536,'''ems''':True,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':108,'''max_image_width''':128,'''max_object_size''':30000,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''Z300''','''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''wml_1_2''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''rows''':7,'''sender''':True,'''voices''':32,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True}) +devices.devids['''sonyericsson_z300a_ver1'''] = devclass(devices.devids['''sonyericsson_z300_ver1'''], '''sonyericsson_z300a_ver1''', '''SonyEricssonZ300a''', True, {'''columns''':14,'''imelody''':True,'''max_deck_size''':3000,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''Z300a''','''nokia_voice_call''':True,'''ringtone_imelody''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':6,'''sp_midi''':True,'''uaprof''':'''http://www.sonyericsson.com/UAprof/Z300aR101.xml''','''wav''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sonyericsson_z300a_ver1_subr4h'''] = devclass(devices.devids['''sonyericsson_z300a_ver1'''], '''sonyericsson_z300a_ver1_subr4h''', '''SonyEricssonZ300a/R4H TelecaBrowser/4.08''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z300a_ver1_subar3f'''] = devclass(devices.devids['''sonyericsson_z300a_ver1'''], '''sonyericsson_z300a_ver1_subar3f''', '''SonyEricssonZ300a/R3F/TelecaBrowser/4.08''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z300a_ver1_subar3g'''] = devclass(devices.devids['''sonyericsson_z300a_ver1'''], '''sonyericsson_z300a_ver1_subar3g''', '''SonyEricssonZ300a/R3G/TelecaBrowser/4.08''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z300i_ver1'''] = devclass(devices.devids['''sonyericsson_z300_ver1'''], '''sonyericsson_z300i_ver1''', '''SonyEricssonZ300i''', True, {'''directdownload_support''':True,'''max_deck_size''':3000,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''Z300i''','''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sonyericsson_z300i_ver1_subr3f'''] = devclass(devices.devids['''sonyericsson_z300i_ver1'''], '''sonyericsson_z300i_ver1_subr3f''', '''SonyEricssonZ300i/R3F/TelecaBrowser/4.08''', False, None) +devices.devids['''sonyericsson_z300i_ver1_subr3g'''] = devclass(devices.devids['''sonyericsson_z300i_ver1'''], '''sonyericsson_z300i_ver1_subr3g''', '''SonyEricssonZ300i/R3G/TelecaBrowser/4.08''', False, None) +devices.devids['''sonyericsson_z310i_ver1'''] = devclass(devices.devids['''sonyericsson_z300_ver1'''], '''sonyericsson_z310i_ver1''', '''SonyEricssonZ310i''', True, {'''amr''':True,'''bmp''':False,'''colors''':65536,'''columns''':11,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':45000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Access Netfront''','''mobile_browser_version''':'''3.1''','''model_name''':'''Z310i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z310iR201.xml''','''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''sonyericsson_z310i_ver1_subr1jc'''] = devclass(devices.devids['''sonyericsson_z310i_ver1'''], '''sonyericsson_z310i_ver1_subr1jc''', '''SonyEricssonZ310i/R1JC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''sonyericsson_z310iv_ver1'''] = devclass(devices.devids['''sonyericsson_z300_ver1'''], '''sonyericsson_z310iv_ver1''', '''SonyEricssonZ310iv''', True, {'''model_name''':'''Z310iv''','''ringtone_mp3''':True,'''ringtone_voices''':16,'''wallpaper_preferred_height''':160}) +devices.devids['''sonyericsson_z700_ver1'''] = devclass(devices.devids['''generic'''], '''sonyericsson_z700_ver1''', '''SonyEricssonZ700''', True, {'''brand_name''':'''SonyEricsson''','''model_name''':'''Z700'''}) +devices.devids['''sonyericsson_z710_ver1'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_z710_ver1''', '''SonyEricssonZ710''', True, {'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':18,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':200,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Z710''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''screensaver_colors''':32,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_qcif''':True,'''streaming_video_sqcif''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper_colors''':32,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_z710c_ver1'''] = devclass(devices.devids['''sonyericsson_z710_ver1'''], '''sonyericsson_z710c_ver1''', '''SonyEricssonZ710c''', True, {'''max_data_rate''':384,'''model_name''':'''Z710c''','''ringtone_voices''':72,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z710cR101.xml''','''wallpaper_colors''':18}) +devices.devids['''sonyericsson_z710i'''] = devclass(devices.devids['''sonyericsson_z710_ver1'''], '''sonyericsson_z710i''', '''SonyEricssonZ710i/R1EFBrowser/NetFront/3.3Profile/MIDP-2.0Configuration/CLDC-1.1''', True, {'''ajax_manipulate_css''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''none''','''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':11,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Z710i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':72,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z710iR101.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':18,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''ericsson_mc218_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_mc218_ver1''', '''MC218 2.0 WAP1.1''', True, {'''max_image_height''':175,'''max_image_width''':640,'''model_name''':'''MC218''','''resolution_height''':240,'''resolution_width''':640}) +devices.devids['''ericsson_t20_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_t20_ver1''', '''EricssonT20/R1A''', True, {'''ems''':True,'''gif''':True,'''max_deck_size''':1600,'''max_image_width''':101,'''model_name''':'''T20''','''resolution_height''':33,'''resolution_width''':101}) +devices.devids['''ericsson_t20e_ver1'''] = devclass(devices.devids['''ericsson_t20_ver1'''], '''ericsson_t20e_ver1''', '''EricssonT20/R2A''', True, {'''max_image_width''':101,'''model_name''':'''T20e''','''softkey_support''':True}) +devices.devids['''ericsson_t29s_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_t29s_ver1''', '''EricssonT29s''', True, {'''ems''':True,'''model_name''':'''T29s'''}) +devices.devids['''ericssont39m_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericssont39m_ver1''', '''EricssonT39m/R1A''', True, {'''columns''':15,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''ems''':True,'''gif''':True,'''max_deck_size''':3000,'''max_image_width''':72,'''model_name''':'''T39m''','''resolution_height''':26,'''resolution_width''':72,'''rows''':5,'''wallpaper_gif''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''ericsson_t39_ver1'''] = devclass(devices.devids['''ericssont39m_ver1'''], '''ericsson_t39_ver1''', '''EricssonT39/R201''', True, {'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''max_data_rate''':40,'''max_image_height''':40,'''max_image_width''':101,'''model_name''':'''T39m R2''','''nokia_voice_call''':True,'''resolution_height''':54,'''resolution_width''':101,'''uaprof''':'''http://mobileinternet.ericsson.com/UAprof/T39.xml''','''utf8_support''':True,'''wta_phonebook''':True}) +devices.devids['''ericsson_t39_ver1_subr202'''] = devclass(devices.devids['''ericsson_t39_ver1'''], '''ericsson_t39_ver1_subr202''', '''EricssonT39/R202''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t39_ver1'''] = devclass(devices.devids['''ericsson_t39_ver1'''], '''sonyericsson_t39_ver1''', '''SonyEricssonT39/R201''', False, {'''brand_name''':'''SonyEricsson''','''max_data_rate''':40}) +devices.devids['''ericssont60d_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericssont60d_ver1''', '''EricssonT60d''', True, {'''columns''':15,'''ems''':True,'''gif''':True,'''max_deck_size''':3000,'''max_image_height''':67,'''max_image_width''':101,'''model_name''':'''T60d''','''nokia_voice_call''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':67,'''resolution_width''':101,'''rows''':6,'''softkey_support''':True,'''uaprof''':'''http://mobileinternet.ericsson.com/UAprof/T60d.xml''','''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''ericssont60d_ver1_sub601'''] = devclass(devices.devids['''ericssont60d_ver1'''], '''ericssont60d_ver1_sub601''', '''EricssonT60d/R1A''', False, {'''max_data_rate''':9}) +devices.devids['''sonyericsson_t61_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''sonyericsson_t61_ver1''', '''SonyEricssonT61''', True, {'''brand_name''':'''SonyEricsson''','''ems''':True,'''model_name''':'''T61'''}) +devices.devids['''sonyericsson_t61_ver1_sub611'''] = devclass(devices.devids['''sonyericsson_t61_ver1'''], '''sonyericsson_t61_ver1_sub611''', '''SonyEricssonT61/R1A''', False, None) +devices.devids['''sonyericsson_t62_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''sonyericsson_t62_ver1''', '''SonyEricssonT62''', True, {'''brand_name''':'''SonyEricsson''','''ems''':True,'''model_name''':'''T62'''}) +devices.devids['''sonyericsson_t62_ver1_sub00'''] = devclass(devices.devids['''sonyericsson_t62_ver1'''], '''sonyericsson_t62_ver1_sub00''', '''SonyEricssonT62/R1A''', False, None) +devices.devids['''ericsson_t65_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_t65_ver1''', '''EricssonT65/R1''', True, {'''colors''':4,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''ems''':True,'''gif''':True,'''greyscale''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':50,'''max_image_width''':101,'''model_name''':'''T65''','''nokia_voice_call''':True,'''resolution_height''':67,'''resolution_width''':101,'''rows''':6,'''uaprof''':'''http://mobileinternet.ericsson.com/UAprof/T65.xml''','''utf8_support''':True,'''wallpaper_gif''':True,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''ericsson_t65_ver1_subr101'''] = devclass(devices.devids['''ericsson_t65_ver1'''], '''ericsson_t65_ver1_subr101''', '''EricssonT65/R101''', False, {'''max_data_rate''':40}) +devices.devids['''ericsson_t65_ver1_subr1a'''] = devclass(devices.devids['''ericsson_t65_ver1'''], '''ericsson_t65_ver1_subr1a''', '''EricssonT65/R1A''', False, {'''max_data_rate''':40}) +devices.devids['''ericsson_t66m_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_t66m_ver1''', '''EricssonT66m/R1A''', True, {'''gif''':True,'''max_image_height''':65,'''max_image_width''':101,'''model_name''':'''T66''','''resolution_height''':80,'''resolution_width''':101}) +devices.devids['''ericsson_t66_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_t66_ver1''', '''T66''', False, None) +devices.devids['''ericsson_t66_ver1_sub121'''] = devclass(devices.devids['''ericsson_t66_ver1'''], '''ericsson_t66_ver1_sub121''', '''T66 1.0 WAP1.2.1''', False, None) +devices.devids['''ericsson_t68_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_t68_ver1''', '''EricssonT68/R1''', True, {'''colors''':256,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''ems''':True,'''gif''':True,'''imelody''':True,'''inline_support''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':60,'''max_image_width''':99,'''model_name''':'''T68''','''picture''':True,'''picture_colors''':8,'''picture_gif''':True,'''picture_max_height''':68,'''picture_max_width''':101,'''picture_preferred_height''':68,'''picture_preferred_width''':101,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_imelody''':True,'''rows''':6,'''uaprof''':'''http://mobileinternet.ericsson.com/UAprof/T68R1.xml''','''utf8_support''':True,'''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':68,'''wallpaper_preferred_width''':101,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''wta_voice_call''':True}) +devices.devids['''ericsson_t68_ver1_subr101'''] = devclass(devices.devids['''ericsson_t68_ver1'''], '''ericsson_t68_ver1_subr101''', '''EricssonT68/R101''', False, {'''max_data_rate''':40}) +devices.devids['''ericsson_t68_ver1_subr1a'''] = devclass(devices.devids['''ericsson_t68_ver1'''], '''ericsson_t68_ver1_subr1a''', '''EricssonT68/R1A''', False, {'''max_data_rate''':40}) +devices.devids['''ericssont68_ver1_submsie401'''] = devclass(devices.devids['''ericsson_t68_ver1'''], '''ericssont68_ver1_submsie401''', '''EricssonT68/R101 (compatible; MSIE 4.01; )''', False, {'''max_data_rate''':40}) +devices.devids['''ericssont68m_ver1'''] = devclass(devices.devids['''ericsson_t68_ver1'''], '''ericssont68m_ver1''', '''EricssonT68m''', True, {'''max_image_height''':60,'''model_name''':'''T68m'''}) +devices.devids['''ericssont68m_ver1_sub68101'''] = devclass(devices.devids['''ericssont68m_ver1'''], '''ericssont68m_ver1_sub68101''', '''EricssonT68m/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t68_ver2'''] = devclass(devices.devids['''ericsson_t68_ver1'''], '''sonyericsson_t68_ver2''', '''SonyEricssonT68/R201A''', True, {'''brand_name''':'''SonyEricsson''','''directdownload_support''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_data_rate''':40,'''max_image_height''':60,'''mms_amr''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':120,'''mms_max_size''':51200,'''mms_max_width''':160,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''T68i''','''nokia_voice_call''':True,'''receiver''':True,'''ringtone_amr''':True,'''sender''':True,'''uaprof''':'''http://wap.sonyericssonmobile.com/UAprof/T68R201.xml''','''wallpaper_jpg''':True,'''xhtml_support_level''':0,'''xhtml_table_support''':True}) +devices.devids['''sonyericsson_t68_ver2_suba'''] = devclass(devices.devids['''sonyericsson_t68_ver2'''], '''sonyericsson_t68_ver2_suba''', '''SonyEricssonT68/R201/A''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t68_ver2_sub01a'''] = devclass(devices.devids['''sonyericsson_t68_ver2'''], '''sonyericsson_t68_ver2_sub01a''', '''SonyEricssonT68/R2-01A''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t68_ver2_subj2me'''] = devclass(devices.devids['''sonyericsson_t68_ver2'''], '''sonyericsson_t68_ver2_subj2me''', '''SonyEricssonT68/R201A Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t68_ver3'''] = devclass(devices.devids['''sonyericsson_t68_ver2'''], '''sonyericsson_t68_ver3''', '''SonyEricssonT68/R301A''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t68_ver5'''] = devclass(devices.devids['''sonyericsson_t68_ver3'''], '''sonyericsson_t68_ver5''', '''SonyEricssonT68/R50''', False, {'''max_data_rate''':40,'''max_deck_size''':10000}) +devices.devids['''ericsson_t68_ver5_sub502'''] = devclass(devices.devids['''sonyericsson_t68_ver3'''], '''ericsson_t68_ver5_sub502''', '''EricssonT68/R502''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t100_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''sonyericsson_t100_ver1''', '''SonyEricssonT100''', True, {'''brand_name''':'''SonyEricsson''','''columns''':15,'''ems''':True,'''gif''':True,'''imelody''':True,'''max_deck_size''':2000,'''max_image_height''':50,'''max_image_width''':101,'''model_name''':'''T100''','''resolution_height''':67,'''resolution_width''':101,'''ringtone_imelody''':True,'''ringtone_midi_polyphonic''':True,'''rows''':6,'''wallpaper_gif''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sonyericsson_t100_ver1_sub101'''] = devclass(devices.devids['''sonyericsson_t100_ver1'''], '''sonyericsson_t100_ver1_sub101''', '''SonyEricssonT100/R101''', False, None) +devices.devids['''ericsson_t100_ver1'''] = devclass(devices.devids['''sonyericsson_t100_ver1'''], '''ericsson_t100_ver1''', '''EricssonT100''', True, {'''brand_name''':'''Ericsson''','''max_image_height''':50,'''max_image_width''':101}) +devices.devids['''ericsson_t200_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_t200_ver1''', '''EricssonT200/R101''', True, {'''colors''':4,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''ems''':True,'''gif''':True,'''greyscale''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':50,'''max_image_width''':101,'''model_name''':'''T200''','''nokia_voice_call''':True,'''resolution_height''':67,'''resolution_width''':101,'''rows''':6,'''uaprof''':'''http://wap.sonyericssonmobile.com/UAprof/T200.xml''','''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sonyericsson_t200_ver1'''] = devclass(devices.devids['''ericsson_t200_ver1'''], '''sonyericsson_t200_ver1''', '''SonyEricssonT200''', True, {'''brand_name''':'''SonyEricsson''','''colors''':2,'''max_image_height''':50,'''max_image_width''':101,'''midi_monophonic''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_gif''':True}) +devices.devids['''sonyericsson_t200_ver1_sub200101'''] = devclass(devices.devids['''sonyericsson_t200_ver1'''], '''sonyericsson_t200_ver1_sub200101''', '''SonyEricssonT200/R101''', False, {'''max_data_rate''':40}) +devices.devids['''semc_t206_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''semc_t206_ver1''', '''SEMC-T206''', False, None) +devices.devids['''semc_t206_ver1_sub4126'''] = devclass(devices.devids['''semc_t206_ver1'''], '''semc_t206_ver1_sub4126''', '''SEMC-T206/R3A UP.Browser/4.1.26l''', False, None) +devices.devids['''t218_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''t218_ver1''', '''T218''', False, None) +devices.devids['''t218_ver1_sub4127'''] = devclass(devices.devids['''t218_ver1'''], '''t218_ver1_sub4127''', '''T218/1.0 UP.Browser/4.1.27''', False, None) +devices.devids['''sonyericsson_t226_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_t226_ver1''', '''SonyEricssonT226''', True, {'''colors''':512,'''columns''':15,'''imelody''':True,'''max_image_height''':60,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':120,'''mms_max_size''':51200,'''mms_max_width''':160,'''mms_midi_monophonic''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''T226''','''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''receiver''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T226R101.xml''','''voices''':32,'''wallpaper_colors''':9,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101}) +devices.devids['''sonyericsson_t226_ver1_sub101'''] = devclass(devices.devids['''sonyericsson_t226_ver1'''], '''sonyericsson_t226_ver1_sub101''', '''SonyEricssonT226/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t230_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''sonyericsson_t230_ver1''', '''SonyEricssonT230/R''', True, {'''amr''':True,'''brand_name''':'''SonyEricsson''','''colors''':4096,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''directdownload_support''':True,'''ems''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''inline_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':80,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':120,'''mms_max_size''':51200,'''mms_max_width''':160,'''mms_midi_monophonic''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''T230''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''receiver''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':143360,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_oma_size_limit''':143360,'''ringtone_spmidi''':True,'''ringtone_voices''':32,'''rows''':6,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T230R101.xml''','''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':35,'''wallpaper_max_width''':96,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101,'''wap_push_support''':True,'''wta_phonebook''':True,'''xhtml_table_support''':True}) +devices.devids['''sonyericsson_t230_ver1_sub00'''] = devclass(devices.devids['''sonyericsson_t230_ver1'''], '''sonyericsson_t230_ver1_sub00''', '''SonyEricssonT230/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t230_ver1_subr101midp'''] = devclass(devices.devids['''sonyericsson_t230_ver1'''], '''sonyericsson_t230_ver1_subr101midp''', '''SonyEricssonT230/R101 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t237_ver1'''] = devclass(devices.devids['''sonyericsson_t230_ver1'''], '''sonyericsson_t237_ver1''', '''SonyEricssonT237''', True, {'''j2me_midp_1_0''':True,'''model_name''':'''T237''','''picture''':True,'''picture_bmp''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_wbmp''':True,'''ringtone_voices''':32,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T237R101.xml''','''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sonyericsson_t237_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_t237_ver1'''], '''sonyericsson_t237_ver1_subr101''', '''SonyEricssonT237/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t238_ver1'''] = devclass(devices.devids['''generic'''], '''sonyericsson_t238_ver1''', '''SonyEricssonT238''', True, {'''brand_name''':'''SonyEricsson''','''model_name''':'''T238'''}) +devices.devids['''sonyericsson_t250i_ver1'''] = devclass(devices.devids['''generic'''], '''sonyericsson_t250i_ver1''', '''SonyEricssonT250i/R5CA005 TelecaBrowser/1.1.14.20''', True, {'''brand_name''':'''SonyEricsson''','''colors''':4096,'''columns''':14,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''model_name''':'''T250i''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':32,'''rows''':6,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.sonyericsson.com/uaprof/T250iR101.xml''','''video_qcif''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''sonyericsson_t290_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_t290_ver1''', '''SonyEricssonT290''', True, {'''colors''':4096,'''columns''':15,'''imelody''':True,'''max_deck_size''':12288,'''max_image_height''':60,'''max_image_width''':101,'''midi_monophonic''':False,'''midi_polyphonic''':False,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':120,'''mms_max_size''':100100,'''mms_max_width''':160,'''mms_midi_monophonic''':False,'''mms_midi_polyphonic''':False,'''mms_midi_polyphonic_voices''':32,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''T290''','''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''receiver''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone_amr''':True,'''ringtone_voices''':32,'''rows''':6,'''sender''':True,'''voices''':32,'''wallpaper_colors''':12,'''wallpaper_jpg''':True}) +devices.devids['''sonyericsson_t290_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_t290_ver1'''], '''sonyericsson_t290_ver1_subr101''', '''SonyEricssonT290/R101''', False, None) +devices.devids['''sonyericsson_t290a_ver1'''] = devclass(devices.devids['''sonyericsson_t290_ver1'''], '''sonyericsson_t290a_ver1''', '''SonyEricssonT290a''', True, {'''model_name''':'''T290a''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver_colors''':12}) +devices.devids['''sonyericsson_t290a_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_t290a_ver1'''], '''sonyericsson_t290a_ver1_subr101''', '''SonyEricssonT290a/R101''', False, None) +devices.devids['''sonyericsson_t290c_ver1'''] = devclass(devices.devids['''sonyericsson_t290_ver1'''], '''sonyericsson_t290c_ver1''', '''SonyEricssonT290c''', True, {'''model_name''':'''T290c'''}) +devices.devids['''sonyericsson_t290i_ver1'''] = devclass(devices.devids['''sonyericsson_t290_ver1'''], '''sonyericsson_t290i_ver1''', '''SonyEricssonT290i''', True, {'''model_name''':'''T290i''','''ringtone_midi_polyphonic''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T290iR101.xml''','''wallpaper_jpg''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101}) +devices.devids['''sonyericsson_t290i_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_t290i_ver1'''], '''sonyericsson_t290i_ver1_subr101''', '''SonyEricssonT290i/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t290i_ver1_subr101_no_t'''] = devclass(devices.devids['''sonyericsson_t290i_ver1'''], '''sonyericsson_t290i_ver1_subr101_no_t''', '''SonyEricsson290i/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t300_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_t300_ver1''', '''SonyEricssonT300''', True, {'''amr''':True,'''columns''':15,'''imelody''':True,'''max_image_height''':60,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':120,'''mms_max_size''':51200,'''mms_max_width''':160,'''mms_midi_monophonic''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''T300''','''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':24,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericssonmobile.com/UAprof/T300R101.xml''','''uaprof2''':'''http://wap.sonyericsson.com/UAprof/T300R201.xml''','''voices''':24,'''wallpaper_colors''':8,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101,'''xhtml_format_as_css_property''':False}) +devices.devids['''sonyericsson_t302_ver1'''] = devclass(devices.devids['''sonyericsson_t300_ver1'''], '''sonyericsson_t302_ver1''', '''SonyEricssonT302''', True, {'''max_image_height''':60,'''model_name''':'''T302''','''uaprof''':'''http://wap.sonyericssonmobile.com/UAprof/T302R201.xml''','''uaprof2''':'''http://wap.sonyericsson.com/UAprof/T302R201.xml'''}) +devices.devids['''sonyericsson_t302_ver1_sub2'''] = devclass(devices.devids['''sonyericsson_t302_ver1'''], '''sonyericsson_t302_ver1_sub2''', '''SonyEricssonT302/R201''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t306_ver1'''] = devclass(devices.devids['''sonyericsson_t300_ver1'''], '''sonyericsson_t306_ver1''', '''SonyEricssonT306''', True, {'''max_image_height''':60,'''model_name''':'''T306'''}) +devices.devids['''sonyericsson_t306_ver1_sub00'''] = devclass(devices.devids['''sonyericsson_t306_ver1'''], '''sonyericsson_t306_ver1_sub00''', '''SonyEricssonT306/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t310_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_t310_ver1''', '''SonyEricssonT310''', True, {'''amr''':True,'''columns''':15,'''imelody''':True,'''max_image_height''':80,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':120,'''mms_max_size''':261120,'''mms_max_width''':160,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''T310''','''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':32,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T310R201.xml''','''voices''':32,'''wallpaper_colors''':8,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':68,'''wallpaper_preferred_width''':101}) +devices.devids['''sonyericsson_t310_ver1_sub101'''] = devclass(devices.devids['''sonyericsson_t310_ver1'''], '''sonyericsson_t310_ver1_sub101''', '''SonyEricssonT310/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t310_ver1_sub201'''] = devclass(devices.devids['''sonyericsson_t310_ver1'''], '''sonyericsson_t310_ver1_sub201''', '''SonyEricssonT310/R201''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t312_ver1'''] = devclass(devices.devids['''sonyericsson_t310_ver1'''], '''sonyericsson_t312_ver1''', '''SonyEricssonT312''', True, {'''model_name''':'''T312'''}) +devices.devids['''sonyericsson_t312_ver1_sub00'''] = devclass(devices.devids['''sonyericsson_t312_ver1'''], '''sonyericsson_t312_ver1_sub00''', '''SonyEricssonT312/R201''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t316_ver1'''] = devclass(devices.devids['''sonyericsson_t310_ver1'''], '''sonyericsson_t316_ver1''', '''SonyEricssonT316''', True, {'''model_name''':'''T316''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/T316R101.xml'''}) +devices.devids['''sonyericsson_t316_ver1_sub00'''] = devclass(devices.devids['''sonyericsson_t316_ver1'''], '''sonyericsson_t316_ver1_sub00''', '''SonyEricssonT316/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t6_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''sonyericsson_t6_ver1''', '''SonyEricssonT6''', False, None) +devices.devids['''sonyericsson_t6_ver1_subr301'''] = devclass(devices.devids['''sonyericsson_t6_ver1'''], '''sonyericsson_t6_ver1_subr301''', '''SonyEricssonT6/R301 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''sonyericsson_t610_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_t610_ver1''', '''SonyEricssonT610''', True, {'''amr''':True,'''ascii_support''':True,'''colors''':65536,'''columns''':15,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''iso8859_support''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':127,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_clear_key_code''':8,'''j2me_heap_size''':262144,'''j2me_imelody''':True,'''j2me_left_softkey_code''':6,'''j2me_max_jar_size''':64000,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_right_softkey_code''':7,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''j2me_storage_size''':2097152,'''max_deck_size''':10000,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':160,'''mms_max_size''':261120,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':16,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''T610''','''oma_v_1_0_forwardlock''':True,'''picture_bmp''':True,'''picture_colors''':16,'''picture_jpg''':True,'''picture_max_height''':128,'''picture_max_width''':128,'''picture_png''':True,'''picture_preferred_height''':128,'''picture_preferred_width''':128,'''picture_resize''':'''crop_top_left''','''picture_wbmp''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':6,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_jpg''':True,'''screensaver_png''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''screensaver_resize''':'''stretch''','''screensaver_wbmp''':True,'''sender''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T610R401.xml''','''uaprof2''':'''http://wap.sonyericsson.com/UAprof/T610R501.xml''','''utf8_support''':True,'''voices''':16,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_resize''':'''stretch''','''wallpaper_wbmp''':True,'''wta_pdc''':True,'''xhtml_support_level''':0}) +devices.devids['''ericssont610_ver1'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''ericssont610_ver1''', '''EricssonT610''', False, {'''brand_name''':'''Ericsson'''}) +devices.devids['''ericssont610_ver1_subr101'''] = devclass(devices.devids['''ericssont610_ver1'''], '''ericssont610_ver1_subr101''', '''EricssonT610/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t610_ver1_sub101'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t610_ver1_sub101''', '''SonyEricssonT610/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t610_ver1_sub101j2me'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t610_ver1_sub101j2me''', '''SonyEricssonT610/R101 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t610_ver1_subfakeagent'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t610_ver1_subfakeagent''', '''SonyEricsson T610R101''', False, None) +devices.devids['''sonyericsson_t610_ver1_subt610'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t610_ver1_subt610''', '''T610 SonyEricssonT610/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t610_ver1_subomobot'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t610_ver1_subomobot''', '''SonyEricssonT610 - OMObot [Orange WAP service monitoring]''', False, None) +devices.devids['''sonyericsson_t610_ver1_subt360'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t610_ver1_subt360''', '''SonyEricssonT360''', False, {'''model_name''':'''T360'''}) +devices.devids['''sonyericsson_t612_ver1'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t612_ver1''', '''SonyEricssonT612''', True, {'''model_name''':'''T612'''}) +devices.devids['''sonyericsson_t610_ver1_subrr201'''] = devclass(devices.devids['''sonyericsson_t612_ver1'''], '''sonyericsson_t610_ver1_subrr201''', '''SonyEricssonT612/R201 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t610_ver1_subr201'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t610_ver1_subr201''', '''SonyEricssonT610/R201 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40,'''mms_jar''':True,'''mms_vcard''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T610R201.xml'''}) +devices.devids['''sonyericsson_t610_ver1_subr201_wince'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t610_ver1_subr201_wince''', '''SonyEricssonT610/R201 Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; MSIE 3.02; Windows CE; PPC; 240x320)''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t610_ver1_subr201_msie401'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t610_ver1_subr201_msie401''', '''SonyEricssonT610/R201 Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; MSIE 4.01; )''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t610_ver1_subr201a'''] = devclass(devices.devids['''sonyericsson_t610_ver1_subr201'''], '''sonyericsson_t610_ver1_subr201a''', '''SonyEricssonT610/R201A''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t610_ver1_subr2aa'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t610_ver1_subr2aa''', '''SonyEricssonT610/R2AA SEMC-Browser/4.0.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t610_ver1_subr2l'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t610_ver1_subr2l''', '''SonyEricssonT610/R2L SEMC-Browser/4.0.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t610_ver1_subr2n'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t610_ver1_subr2n''', '''SonyEricssonT610/R2N SEMC-Browser/4.0.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t610_ver1_subr2v'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t610_ver1_subr2v''', '''SonyEricssonT610/R2V SEMC-Browser/4.0.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t610_ver1_subr301'''] = devclass(devices.devids['''sonyericsson_t610_ver1_subr201'''], '''sonyericsson_t610_ver1_subr301''', '''SonyEricssonT610/R301''', False, {'''max_data_rate''':40,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T610R301.xml'''}) +devices.devids['''sonyericsson_t610_ver1_subr301j2me'''] = devclass(devices.devids['''sonyericsson_t610_ver1_subr201'''], '''sonyericsson_t610_ver1_subr301j2me''', '''SonyEricssonT610/R301 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t610_ver1_subr401'''] = devclass(devices.devids['''sonyericsson_t610_ver1_subr201'''], '''sonyericsson_t610_ver1_subr401''', '''SonyEricssonT610/R401 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''bmp''':True,'''max_data_rate''':40,'''mms_bmp''':True,'''mms_png''':True,'''oma_support''':True,'''png''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T610R401.xml'''}) +devices.devids['''sonyericsson_t610_ver1_subr501'''] = devclass(devices.devids['''sonyericsson_t610_ver1_subr401'''], '''sonyericsson_t610_ver1_subr501''', '''SonyEricssonT610/R501 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T610R501.xml'''}) +devices.devids['''sonyericsson_t610_ver1_subr601'''] = devclass(devices.devids['''sonyericsson_t610_ver1_subr501'''], '''sonyericsson_t610_ver1_subr601''', '''SonyEricssonT610/R601 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T610R601.xml'''}) +devices.devids['''sonyericsson_t610_ver1_subr301opwvv62'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sonyericsson_t610_ver1_subr301opwvv62''', '''SonyEricssonT610/R301 UP.Browser/6.2.2.1.208 (GUI) MMP/1.0''', False, {'''amr''':True,'''ascii_support''':True,'''brand_name''':'''SonyEricsson''','''built_in_camera''':True,'''colors''':65536,'''columns''':15,'''imelody''':True,'''iso8859_support''':True,'''max_deck_size''':10000,'''max_image_height''':160,'''max_image_width''':126,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':160,'''mms_max_size''':261120,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':16,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''T610''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':6,'''sender''':True,'''voices''':16,'''wta_pdc''':True}) +devices.devids['''sonyericsson_t616_ver1'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t616_ver1''', '''SonyEricssonT616''', True, {'''j2me_wmapi_1_0''':True,'''mms_jar''':True,'''mms_vcard''':True,'''model_name''':'''T616''','''oma_support''':True,'''rows''':8,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T616R101.xml''','''uaprof2''':'''http://wap.sonyericsson.com/UAprof/T616R201.xml'''}) +devices.devids['''sonyericsson_t616_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_t616_ver1'''], '''sonyericsson_t616_ver1_subr101''', '''SonyEricssonT616/R101 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t616_ver1_subr201'''] = devclass(devices.devids['''sonyericsson_t616_ver1'''], '''sonyericsson_t616_ver1_subr201''', '''SonyEricssonT616/R201 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t616_ver1_subr301'''] = devclass(devices.devids['''sonyericsson_t616_ver1'''], '''sonyericsson_t616_ver1_subr301''', '''SonyEricssonT616/R301 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t618_ver1'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t618_ver1''', '''SonyEricssonT618''', True, {'''model_name''':'''T618''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/T618R101.xml'''}) +devices.devids['''sonyericsson_t618_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_t618_ver1'''], '''sonyericsson_t618_ver1_subr101''', '''SonyEricssonT618/R101 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t618_ver1_subr201'''] = devclass(devices.devids['''sonyericsson_t618_ver1'''], '''sonyericsson_t618_ver1_subr201''', '''SonyEricssonT618/R201 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40,'''oma_support''':True}) +devices.devids['''sonyericsson_t618_ver1_subr301'''] = devclass(devices.devids['''sonyericsson_t618_ver1_subr201'''], '''sonyericsson_t618_ver1_subr301''', '''SonyEricssonT618/R301 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40,'''mms_jar''':True,'''mms_vcard''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T618R301.xml'''}) +devices.devids['''sonyericsson_t618_ver1_subr401'''] = devclass(devices.devids['''sonyericsson_t618_ver1_subr301'''], '''sonyericsson_t618_ver1_subr401''', '''SonyEricssonT618/R401 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''bmp''':True,'''max_data_rate''':40,'''mms_bmp''':True,'''mms_png''':True,'''png''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T618R401.xml'''}) +devices.devids['''sonyericsson_t618_ver1_subr601'''] = devclass(devices.devids['''sonyericsson_t618_ver1_subr401'''], '''sonyericsson_t618_ver1_subr601''', '''SonyEricssonT618/R601 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t620_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_t620_ver1''', '''SonyEricssonT620''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''T620''','''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':127,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':127,'''wallpaper_preferred_width''':128}) +devices.devids['''sonyericsson_t620_ver1_subr301'''] = devclass(devices.devids['''sonyericsson_t620_ver1'''], '''sonyericsson_t620_ver1_subr301''', '''SonyEricssonT620/R301 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''sonyericsson_t620_ver1_subr501'''] = devclass(devices.devids['''sonyericsson_t620_ver1'''], '''sonyericsson_t620_ver1_subr501''', '''SonyEricssonT620/R501 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''sonyericsson_t620_ver1_subr601'''] = devclass(devices.devids['''sonyericsson_t620_ver1'''], '''sonyericsson_t620_ver1_subr601''', '''SonyEricssonT620/R601 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''sonyericsson_t630_ver1'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''sonyericsson_t630_ver1''', '''SonyEricssonT630''', True, {'''bmp''':True,'''max_image_width''':128,'''mms_bmp''':True,'''mms_midi_polyphonic_voices''':32,'''mms_png''':True,'''model_name''':'''T630''','''png''':True,'''ringtone_voices''':32,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T630R401.xml''','''voices''':32}) +devices.devids['''sonyericsson_t628_ver1'''] = devclass(devices.devids['''sonyericsson_t630_ver1'''], '''sonyericsson_t628_ver1''', '''SonyEricssonT628''', True, {'''mms_jar''':True,'''mms_vcard''':True,'''model_name''':'''T628''','''ringtone_amr''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T628R401.xml''','''uaprof2''':'''http://wap.sonyericsson.com/UAprof/T628R501.xml'''}) +devices.devids['''sonyericsson_t628_ver1_subr201'''] = devclass(devices.devids['''sonyericsson_t628_ver1'''], '''sonyericsson_t628_ver1_subr201''', '''SonyEricssonT628/R201 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t628_ver1_subr401'''] = devclass(devices.devids['''sonyericsson_t628_ver1'''], '''sonyericsson_t628_ver1_subr401''', '''SonyEricssonT628/R401 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40,'''oma_support''':True}) +devices.devids['''sonyericsson_t630_ver1_subr301'''] = devclass(devices.devids['''sonyericsson_t630_ver1'''], '''sonyericsson_t630_ver1_subr301''', '''SonyEricssonT630/R301 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t628_ver1_subr501'''] = devclass(devices.devids['''sonyericsson_t628_ver1_subr401'''], '''sonyericsson_t628_ver1_subr501''', '''SonyEricssonT628/R501 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t628_ver1_subr601'''] = devclass(devices.devids['''sonyericsson_t628_ver1_subr401'''], '''sonyericsson_t628_ver1_subr601''', '''SonyEricssonT628/R601 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t630_ver1_subr401'''] = devclass(devices.devids['''sonyericsson_t630_ver1'''], '''sonyericsson_t630_ver1_subr401''', '''SonyEricssonT630/R401 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40,'''oma_support''':True}) +devices.devids['''sonyericsson_t630_ver1_subr501'''] = devclass(devices.devids['''sonyericsson_t630_ver1_subr401'''], '''sonyericsson_t630_ver1_subr501''', '''SonyEricssonT630/R501 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40,'''mms_jar''':True,'''mms_vcard''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T630R501.xml'''}) +devices.devids['''sonyericsson_t630_ver1_subr601'''] = devclass(devices.devids['''sonyericsson_t630_ver1_subr501'''], '''sonyericsson_t630_ver1_subr601''', '''SonyEricssonT630/R601 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t630_ver1_subr601upbrowser'''] = devclass(devices.devids['''sonyericsson_t630_ver1_subr601'''], '''sonyericsson_t630_ver1_subr601upbrowser''', '''SonyEricssonT630/R601 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/7.0.2.3.119 (GUI) MMP/2.0 Push/PO''', False, {'''html_wi_oma_xhtmlmp_1_0''':True,'''max_data_rate''':40,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':3}) +devices.devids['''sonyericsson_t637_ver1'''] = devclass(devices.devids['''sonyericsson_t630_ver1'''], '''sonyericsson_t637_ver1''', '''SonyEricssonT637/R''', True, {'''j2me_wmapi_1_0''':True,'''max_data_rate''':40,'''model_name''':'''T637'''}) +devices.devids['''sonyericsson_t637_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_t637_ver1'''], '''sonyericsson_t637_ver1_subr101''', '''SonyEricssonT637/R101 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t637_ver1_subr201'''] = devclass(devices.devids['''sonyericsson_t637_ver1'''], '''sonyericsson_t637_ver1_subr201''', '''SonyEricssonT637/R201 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t637_ver1_subr401'''] = devclass(devices.devids['''sonyericsson_t637_ver1'''], '''sonyericsson_t637_ver1_subr401''', '''SonyEricssonT637/R401 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t687i_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_t687i_ver1''', '''SonyEricssonT687i''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':20000,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''T687i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T687iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True,'''wta_pdc''':True}) +devices.devids['''sonyericsson_t687i_ver1_subr2ae'''] = devclass(devices.devids['''sonyericsson_t687i_ver1'''], '''sonyericsson_t687i_ver1_subr2ae''', '''SonyEricssonT687i/R2AE SEMC-Browser/4.0.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_t687i_ver1_subr2al'''] = devclass(devices.devids['''sonyericsson_t687i_ver1'''], '''sonyericsson_t687i_ver1_subr2al''', '''SonyEricssonT687i/R2AL SEMC-Browser/4.0.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_v600i_ver1'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_v600i_ver1''', '''SonyEricssonV600i''', True, {'''aac''':True,'''amr''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':168,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''V600i''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''svgt_1_1_plus''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAProf/V600uR101-3G.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':182,'''wallpaper_preferred_width''':176,'''wav''':True}) +devices.devids['''sonyericsson_v600i_ver1_subr2g'''] = devclass(devices.devids['''sonyericsson_v600i_ver1'''], '''sonyericsson_v600i_ver1_subr2g''', '''SonyEricssonV600i/R2G Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''sonyericsson_v600i_ver1_subr2h'''] = devclass(devices.devids['''sonyericsson_v600i_ver1'''], '''sonyericsson_v600i_ver1_subr2h''', '''SonyEricssonV600i/R2H Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''sonyericsson_v600i_ver1_subr2k'''] = devclass(devices.devids['''sonyericsson_v600i_ver1'''], '''sonyericsson_v600i_ver1_subr2k''', '''SonyEricssonV600i/R2K Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''sonyericsson_v600i_ver1_subr2t'''] = devclass(devices.devids['''sonyericsson_v600i_ver1'''], '''sonyericsson_v600i_ver1_subr2t''', '''SonyEricssonV600i/R2T Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''sonyericsson_v600i_ver1_sub10240230'''] = devclass(devices.devids['''sonyericsson_v600i_ver1'''], '''sonyericsson_v600i_ver1_sub10240230''', '''SonyEricssonV600/1.0 (compatible; SymbianOS; Virtual; PPC; 240x320)''', False, {'''max_data_rate''':9}) +devices.devids['''sonyericsson_v800_ver1'''] = devclass(devices.devids['''sonyericsson_41_generic'''], '''sonyericsson_v800_ver1''', '''SonyEricssonV800''', True, {'''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''columns''':15,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''imelody''':True,'''j2me_3gpp''':True,'''j2me_aac''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':18,'''j2me_bmp''':True,'''j2me_bmp3''':True,'''j2me_capture_image_formats''':'''jpeg''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_clear_key_code''':8,'''j2me_gif''':True,'''j2me_gif89a''':True,'''j2me_h263''':True,'''j2me_heap_size''':1572864,'''j2me_http''':True,'''j2me_https''':True,'''j2me_jpg''':True,'''j2me_jtwi''':True,'''j2me_left_softkey_code''':6,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_mp4''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':7,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_storage_size''':39845888,'''j2me_svgt''':True,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wbmp''':True,'''j2me_wmapi_1_1''':True,'''j2me_xmf''':True,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':160,'''max_image_width''':169,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''V800''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':6,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_max_audio_bit_rate''':12492,'''streaming_video_max_bit_rate''':32768,'''streaming_video_max_frame_rate''':15,'''streaming_video_max_video_bit_rate''':32768,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':176,'''streaming_video_qcif_max_width''':144,'''streaming_video_size_limit''':261120,'''streaming_video_sqcif''':True,'''streaming_video_sqcif_max_height''':128,'''streaming_video_sqcif_max_width''':96,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''svgt_1_1_plus''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/V800R101-3G.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':182,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':182,'''wallpaper_preferred_width''':176,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_v800_voda_ver1'''] = devclass(devices.devids['''sonyericsson_v800_ver1'''], '''sonyericsson_v800_voda_ver1''', '''Vodafone/SonyEricssonV800''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_v800_ver1r45'''] = devclass(devices.devids['''sonyericsson_v800_ver1'''], '''sonyericsson_v800_ver1r45''', '''Vodafone/R4.5/SEMC_v800/EU_1 SonyEricssonV800/R1A Browser/SEMC-Browser/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_v800_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_v800_ver1'''], '''sonyericsson_v800_ver1_subr1a''', '''SonyEricssonV800/R1A Browser/SEMC-Browser/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_v800_ver1_subr1a001'''] = devclass(devices.devids['''sonyericsson_v800_ver1'''], '''sonyericsson_v800_ver1_subr1a001''', '''Vodafone/SonyEricssonV800/R1A001 Browser/SEMC-Browser/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_v800_ver1_subr1a0018502'''] = devclass(devices.devids['''sonyericsson_v800_ver1'''], '''sonyericsson_v800_ver1_subr1a0018502''', '''Vodafone/SonyEricssonV800/R1A001/SNXXXXXXXXXXXXXXX Browser/SEMC-Browser/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_v800_ver1_subr1s025sn'''] = devclass(devices.devids['''sonyericsson_v800_ver1'''], '''sonyericsson_v800_ver1_subr1s025sn''', '''Vodafone/SonyEricssonV800/R1S025/SNXXXXXXXXXXXXXXX Browser/SEMC-Browser/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_v800_ver1_subopera'''] = devclass(devices.devids['''sonyericsson_v800_ver1'''], '''sonyericsson_v800_ver1_subopera''', '''Vodafone/SonyEricssonV800_opera''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_v802_ver1'''] = devclass(devices.devids['''sonyericsson_v800_ver1'''], '''sonyericsson_v802_ver1''', '''SonyEricssonV802''', True, {'''model_name''':'''V802'''}) +devices.devids['''sonyericsson_v802_ver1j001'''] = devclass(devices.devids['''sonyericsson_v802_ver1'''], '''sonyericsson_v802_ver1j001''', '''Vodafone/1.0/V802SE/SEJ001 Browser/SEMC-Browser/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_v802_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_v802_ver1'''], '''sonyericsson_v802_ver1_subr1a''', '''Vodafone/R4.5/SEMC_V800/EU_1 SonyEricssonVodafone-802SE/R1A Browser/SEMC-Browser/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_w700'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_w700''', '''SonyEricssonW700''', True, {'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':18,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':40,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W700''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''screensaver_colors''':32,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''voices''':40,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_w700c'''] = devclass(devices.devids['''sonyericsson_w700'''], '''sonyericsson_w700c''', '''SonyEricssonW700c''', True, {'''max_data_rate''':40,'''model_name''':'''W700c''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/W700cR101.xml'''}) +devices.devids['''sonyericsson_w700i'''] = devclass(devices.devids['''sonyericsson_w700'''], '''sonyericsson_w700i''', '''SonyEricssonW700i''', True, {'''j2me_cldc_1_1''':True,'''max_data_rate''':40,'''model_name''':'''W700i''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/W700iR101.xml'''}) +devices.devids['''sonyericsson_w700i_subr1ca'''] = devclass(devices.devids['''sonyericsson_w700i'''], '''sonyericsson_w700i_subr1ca''', '''SonyEricssonW700i/R1CA Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_w710'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_w710''', '''SonyEricssonW710''', True, {'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':18,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':200,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W710''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''screensaver_colors''':32,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_qcif''':True,'''streaming_video_sqcif''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_w710c'''] = devclass(devices.devids['''sonyericsson_w710'''], '''sonyericsson_w710c''', '''SonyEricssonW710c''', True, {'''model_name''':'''W710c''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/W710cR101.xml'''}) +devices.devids['''sonyericsson_w710i_ver1'''] = devclass(devices.devids['''sonyericsson_w710'''], '''sonyericsson_w710i_ver1''', '''SonyEricssonW710i''', True, {'''model_name''':'''W710i''','''ringtone_voices''':72,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W710iR101.xml'''}) +devices.devids['''sonyericsson_w800'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_w800''', '''SonyEricssonW800''', True, {'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':18,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':40,'''max_deck_size''':45000,'''max_image_height''':144,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W800''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''screensaver_colors''':32,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''voices''':40,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_w800c'''] = devclass(devices.devids['''sonyericsson_w800'''], '''sonyericsson_w800c''', '''SonyEricssonW800c''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''W800c''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/W800cR101.xml'''}) +devices.devids['''sonyericsson_w800c_subr1l'''] = devclass(devices.devids['''sonyericsson_w800c'''], '''sonyericsson_w800c_subr1l''', '''SonyEricssonW800c/R1L Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_w800c_subr1lsn'''] = devclass(devices.devids['''sonyericsson_w800c'''], '''sonyericsson_w800c_subr1lsn''', '''SonyEricssonW800c/R1L/SNXXXXXXXXXXXXXXX Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_w800i'''] = devclass(devices.devids['''sonyericsson_w800'''], '''sonyericsson_w800i''', '''SonyEricssonW800i''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''W800i''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/W800iR101.xml'''}) +devices.devids['''sonyericsson_w800i_subr1l'''] = devclass(devices.devids['''sonyericsson_w800i'''], '''sonyericsson_w800i_subr1l''', '''SonyEricssonW800i/R1L Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_w800i_subr1s'''] = devclass(devices.devids['''sonyericsson_w800i'''], '''sonyericsson_w800i_subr1s''', '''SonyEricssonW800i/R1S Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z800_ver1'''] = devclass(devices.devids['''sonyericsson_41_generic'''], '''sonyericsson_z800_ver1''', '''SonyEricssonZ800''', True, {'''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''columns''':18,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_deck_size''':300000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Z800''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z800R101.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':174,'''wallpaper_preferred_width''':173,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_z800_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_z800_ver1'''], '''sonyericsson_z800_ver1_subr1a''', '''SonyEricssonZ800/R1A Browser/SEMC-Browser/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_z800c_ver1'''] = devclass(devices.devids['''sonyericsson_z800_ver1'''], '''sonyericsson_z800c_ver1''', '''SonyEricssonZ800c''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''Z800c'''}) +devices.devids['''sonyericsson_z800c_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_z800c_ver1'''], '''sonyericsson_z800c_ver1_subr1a''', '''SonyEricssonZ800c/R1A Browser/SEMC-Browser/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_z800c_ver1_subr1x'''] = devclass(devices.devids['''sonyericsson_z800c_ver1'''], '''sonyericsson_z800c_ver1_subr1x''', '''SonyEricssonZ800c/R1X Browser/SEMC-Browser/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_z800i_ver1'''] = devclass(devices.devids['''sonyericsson_z800_ver1'''], '''sonyericsson_z800i_ver1''', '''SonyEricssonZ800i''', True, {'''model_name''':'''Z800i'''}) +devices.devids['''sonyericsson_z800i_ver1_subr1ab'''] = devclass(devices.devids['''sonyericsson_z800c_ver1'''], '''sonyericsson_z800i_ver1_subr1ab''', '''SonyEricssonZ800i/R1AB Browser/SEMC-Browser/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_z1010_ver1'''] = devclass(devices.devids['''sonyericsson_40_generic'''], '''sonyericsson_z1010_ver1''', '''SonyEricssonZ1010''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''imelody''':True,'''j2me_3gpp''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':182,'''j2me_canvas_width''':176,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_clear_key_code''':8,'''j2me_heap_size''':1572864,'''j2me_imelody''':True,'''j2me_left_softkey_code''':6,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_right_softkey_code''':7,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''j2me_storage_size''':8388608,'''j2me_wmapi_1_0''':True,'''max_deck_size''':200000,'''max_image_height''':178,'''max_image_width''':169,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':261120,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Z1010''','''mp3''':True,'''multipart_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':False,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_3gpp''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_max_audio_bit_rate''':12492,'''streaming_video_max_bit_rate''':32768,'''streaming_video_max_frame_rate''':15,'''streaming_video_max_video_bit_rate''':32768,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':176,'''streaming_video_qcif_max_width''':144,'''streaming_video_size_limit''':261120,'''streaming_video_sqcif''':True,'''streaming_video_sqcif_max_height''':128,'''streaming_video_sqcif_max_width''':96,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z1010R101.xml''','''uaprof2''':'''http://wap.sonyericsson.com/UAprof/Z1010R201.xml''','''uaprof3''':'''http://wap.sonyericsson.com/UAprof/Z1010R101-3G.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':153600,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':16,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wav''':True,'''wta_pdc''':True}) +devices.devids['''sonyericsson_z1010_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_z1010_ver1'''], '''sonyericsson_z1010_ver1_subr101''', '''SonyEricssonZ1010/R101 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_z1010_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_z1010_ver1'''], '''sonyericsson_z1010_ver1_subr1a''', '''SonyEricssonZ1010/R1A''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_z1010_ver1_subr1asemc'''] = devclass(devices.devids['''sonyericsson_z1010_ver1'''], '''sonyericsson_z1010_ver1_subr1asemc''', '''SonyEricssonZ1010/R1A SEMC-Browser/4.0''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_z1010_ver1_subr1asemcmidp'''] = devclass(devices.devids['''sonyericsson_z1010_ver1'''], '''sonyericsson_z1010_ver1_subr1asemcmidp''', '''SonyEricssonZ1010/R1A SEMC-Browser/4.0 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_z1010_ver1_subr1amidp10'''] = devclass(devices.devids['''sonyericsson_z1010_ver1'''], '''sonyericsson_z1010_ver1_subr1amidp10''', '''SonyEricssonZ1010/R1A Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''3gsonyericsson_z1010_ver1'''] = devclass(devices.devids['''sonyericsson_z1010_ver1'''], '''3gsonyericsson_z1010_ver1''', '''3GSonyEricssonZ1010''', False, None) +devices.devids['''3gsonyericsson_z1010_ver1_subr1a'''] = devclass(devices.devids['''3gsonyericsson_z1010_ver1'''], '''3gsonyericsson_z1010_ver1_subr1a''', '''3GSonyEricssonZ1010/R1A SEMC-Browser/4.0 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_z200_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''sonyericsson_z200_ver1''', '''SonyEricssonZ200''', True, {'''brand_name''':'''SonyEricsson''','''colors''':4096,'''columns''':14,'''connectionless_service_indication''':True,'''directdownload_support''':True,'''ems''':True,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':30000,'''max_image_height''':128,'''max_image_width''':123,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''Z200''','''nokia_voice_call''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':8192,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':6,'''screensaver_gif''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z200R101.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sonyericsson_z200_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_z200_ver1'''], '''sonyericsson_z200_ver1_subr101''', '''SonyEricssonZ200/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z200_ver1_subr301'''] = devclass(devices.devids['''sonyericsson_z200_ver1'''], '''sonyericsson_z200_ver1_subr301''', '''SonyEricssonZ200/R301 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z208_ver1'''] = devclass(devices.devids['''sonyericsson_z200_ver1'''], '''sonyericsson_z208_ver1''', '''SonyEricssonZ208''', True, {'''directdownload_support''':True,'''inline_support''':True,'''model_name''':'''Z208''','''resolution_height''':120,'''resolution_width''':120,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z208R101.xml'''}) +devices.devids['''sonyericsson_z208_ver1_subr101'''] = devclass(devices.devids['''sonyericsson_z208_ver1'''], '''sonyericsson_z208_ver1_subr101''', '''SonyEricssonZ208/R101''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z500_ver1'''] = devclass(devices.devids['''sonyericsson_401_generic'''], '''sonyericsson_z500_ver1''', '''SonyEricssonZ500''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''imelody''':True,'''j2me_3gpp''':True,'''j2me_aac''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_bmp''':True,'''j2me_bmp3''':True,'''j2me_canvas_height''':128,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_clear_key_code''':8,'''j2me_gif''':True,'''j2me_gif89a''':True,'''j2me_h263''':True,'''j2me_heap_size''':1572864,'''j2me_imelody''':True,'''j2me_left_softkey_code''':6,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':7,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''j2me_storage_size''':6291456,'''j2me_wav''':True,'''j2me_wbmp''':True,'''j2me_wmapi_1_0''':True,'''max_deck_size''':20000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Z500''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':300000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':6,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wav''':True,'''wta_pdc''':True}) +devices.devids['''sonyericsson_z500a_ver1'''] = devclass(devices.devids['''sonyericsson_z500_ver1'''], '''sonyericsson_z500a_ver1''', '''SonyEricssonZ500a''', True, {'''model_name''':'''Z500a''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z500aR101.xml'''}) +devices.devids['''sonyericsson_z500a_ver1_subr1a'''] = devclass(devices.devids['''sonyericsson_z500a_ver1'''], '''sonyericsson_z500a_ver1_subr1a''', '''SonyEricssonZ500a/R1A SEMC-Browser/4.0.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''sonyericsson_z520'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_z520''', '''SonyEricssonZ520''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':45000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Z520''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':False,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':6,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''voices''':40,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_z520a'''] = devclass(devices.devids['''sonyericsson_z520'''], '''sonyericsson_z520a''', '''SonyEricssonZ520a''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''Z520a''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z520aR101.xml'''}) +devices.devids['''sonyericsson_z520a_subr3c'''] = devclass(devices.devids['''sonyericsson_z520a'''], '''sonyericsson_z520a_subr3c''', '''SonyEricssonZ520a/R3C Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z520c'''] = devclass(devices.devids['''sonyericsson_z520'''], '''sonyericsson_z520c''', '''SonyEricssonZ520c''', True, {'''model_name''':'''Z520c''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z520cR101.xml'''}) +devices.devids['''sonyericsson_z520c_subr3c'''] = devclass(devices.devids['''sonyericsson_z520a'''], '''sonyericsson_z520c_subr3c''', '''SonyEricssonZ520c/R3C Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z520i'''] = devclass(devices.devids['''sonyericsson_z520'''], '''sonyericsson_z520i''', '''SonyEricssonZ520i''', True, {'''j2me_cldc_1_1''':True,'''model_name''':'''Z520i''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z520iR101.xml''','''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''sonyericsson_z520i_subr3c'''] = devclass(devices.devids['''sonyericsson_z520i'''], '''sonyericsson_z520i_subr3c''', '''SonyEricssonZ520i/R3C Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z525'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_z525''', '''SonyEricssonZ525''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_data_rate''':40,'''max_deck_size''':45000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Z525''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_mp4''':True,'''video_sqcif''':True,'''voices''':40,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wav''':True,'''xmf''':True}) +devices.devids['''sonyericsson_z525a'''] = devclass(devices.devids['''sonyericsson_z525'''], '''sonyericsson_z525a''', '''SonyEricssonZ525a''', True, {'''model_name''':'''Z525a'''}) +devices.devids['''sonyericsson_z525c'''] = devclass(devices.devids['''sonyericsson_z525'''], '''sonyericsson_z525c''', '''SonyEricssonZ525c''', True, {'''model_name''':'''Z525c'''}) +devices.devids['''sonyericsson_z525i'''] = devclass(devices.devids['''sonyericsson_z525'''], '''sonyericsson_z525i''', '''SonyEricssonZ525i''', True, {'''model_name''':'''Z525i'''}) +devices.devids['''sonyericsson_z550'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_z550''', '''SonyEricssonZ550''', True, {'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':18,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Z550''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''screensaver_colors''':32,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_qcif''':True,'''streaming_video_sqcif''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_z550a'''] = devclass(devices.devids['''sonyericsson_z550'''], '''sonyericsson_z550a''', '''SonyEricssonZ550a''', True, {'''model_name''':'''Z550a'''}) +devices.devids['''sonyericsson_z550a_subar6ca3320'''] = devclass(devices.devids['''sonyericsson_z550a'''], '''sonyericsson_z550a_subar6ca3320''', '''SonyEricssonZ550a/R6CA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_z550c'''] = devclass(devices.devids['''sonyericsson_z550'''], '''sonyericsson_z550c''', '''SonyEricssonZ550c''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''model_name''':'''Z550c''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z710cR101.xml'''}) +devices.devids['''sonyericsson_z550i'''] = devclass(devices.devids['''sonyericsson_z550'''], '''sonyericsson_z550i''', '''SonyEricssonZ550i''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''model_name''':'''Z550i''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z550iR101.xml'''}) +devices.devids['''sonyericsson_z600_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_z600_ver1''', '''SonyEricssonZ600''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''imelody''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':127,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_clear_key_code''':8,'''j2me_heap_size''':262144,'''j2me_imelody''':True,'''j2me_left_softkey_code''':6,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_right_softkey_code''':7,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''j2me_storage_size''':2097152,'''max_deck_size''':10000,'''max_image_height''':141,'''max_image_width''':123,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':261120,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''Z600''','''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':False,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z600R601.xml''','''voices''':16,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':127,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':127,'''wallpaper_preferred_width''':128,'''wta_pdc''':True}) +devices.devids['''sonyericsson_z600_ver1_subr201'''] = devclass(devices.devids['''sonyericsson_z600_ver1'''], '''sonyericsson_z600_ver1_subr201''', '''SonyEricssonZ600/R201 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z600_ver1_subr301'''] = devclass(devices.devids['''sonyericsson_z600_ver1'''], '''sonyericsson_z600_ver1_subr301''', '''SonyEricssonZ600/R301 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z600_ver1_subr401'''] = devclass(devices.devids['''sonyericsson_z600_ver1'''], '''sonyericsson_z600_ver1_subr401''', '''SonyEricssonZ600/R401 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40,'''oma_support''':True}) +devices.devids['''sonyericsson_z600_ver1_subr50100'''] = devclass(devices.devids['''sonyericsson_z600_ver1_subr401'''], '''sonyericsson_z600_ver1_subr50100''', '''SonyEricssonZ600/R501''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z600_ver1_subr501'''] = devclass(devices.devids['''sonyericsson_z600_ver1_subr401'''], '''sonyericsson_z600_ver1_subr501''', '''SonyEricssonZ600/R501 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z600_ver1_subr601'''] = devclass(devices.devids['''sonyericsson_z600_ver1_subr401'''], '''sonyericsson_z600_ver1_subr601''', '''SonyEricssonZ600/R601 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z608_ver1'''] = devclass(devices.devids['''sonyericsson_z600_ver1'''], '''sonyericsson_z608_ver1''', '''SonyEricssonZ608''', True, {'''model_name''':'''Z608'''}) +devices.devids['''sonyericsson_z608_ver1_subr401'''] = devclass(devices.devids['''sonyericsson_z608_ver1'''], '''sonyericsson_z608_ver1_subr401''', '''SonyEricssonZ608/R401 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z610_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_z610_ver1''', '''SonyEricssonZ610''', False, {'''aac''':True,'''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''Z610''','''mp3''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''screensaver_bmp''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_qcif''':True,'''streaming_video_sqcif''':True,'''svgt_1_1''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_real_media_8''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True,'''xmf''':True}) +devices.devids['''sonyericsson_z610i_ver1'''] = devclass(devices.devids['''sonyericsson_z610_ver1'''], '''sonyericsson_z610i_ver1''', '''SonyEricssonZ610i''', True, {'''max_data_rate''':384,'''model_name''':'''Z610i''','''ringtone_voices''':16,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''sonyericsson_z610i_ver1_subr1da631140'''] = devclass(devices.devids['''sonyericsson_z610i_ver1'''], '''sonyericsson_z610i_ver1_subr1da631140''', '''SonyEricssonZ610i/R1DA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''ericsson_r380_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_r380_ver1''', '''R380 2.0''', True, {'''colors''':4,'''columns''':50,'''ems''':True,'''gif''':True,'''greyscale''':True,'''max_deck_size''':3800,'''max_image_height''':98,'''max_image_width''':360,'''model_name''':'''R380e''','''nokia_voice_call''':True,'''resolution_height''':120,'''resolution_width''':360,'''rows''':7,'''uaprof''':'''http://mobileinternet.ericsson.com/UAprof/R380e.xml''','''wml_1_3''':True}) +devices.devids['''ericsson_r380_ver2'''] = devclass(devices.devids['''ericsson_r380_ver1'''], '''ericsson_r380_ver2''', '''R380 2.1''', False, None) +devices.devids['''r380_ver1_sub2011'''] = devclass(devices.devids['''ericsson_r380_ver2'''], '''r380_ver1_sub2011''', '''R380 2.0 WAP1.1''', False, None) +devices.devids['''ericsson_r380_ver2_sub2111'''] = devclass(devices.devids['''ericsson_r380_ver2'''], '''ericsson_r380_ver2_sub2111''', '''R380 2.1 WAP1.1''', False, None) +devices.devids['''r380_ver1_sub22121'''] = devclass(devices.devids['''ericsson_r380_ver2'''], '''r380_ver1_sub22121''', '''R380 2.2 WAP1.2.1''', False, None) +devices.devids['''erk0_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''erk0_ver1''', '''ERK0 UP''', True, {'''brand_name''':'''Ericsson''','''model_name''':'''R280'''}) +devices.devids['''erk0_ver1_sub4120'''] = devclass(devices.devids['''erk0_ver1'''], '''erk0_ver1_sub4120''', '''ERK0 UP/4.1.20a UP.Browser/4.1.20a-XXXX''', False, None) +devices.devids['''ericsson_r520_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_r520_ver1''', '''EricssonR520/R1A''', True, {'''columns''':15,'''ems''':True,'''gif''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':50,'''max_image_width''':101,'''model_name''':'''R520''','''nokia_voice_call''':True,'''resolution_height''':67,'''resolution_width''':101,'''rows''':6,'''uaprof''':'''http://mobileinternet.ericsson.com/UAprof/R520.xml''','''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''ericsson_r520_ver2'''] = devclass(devices.devids['''ericsson_r520_ver1'''], '''ericsson_r520_ver2''', '''EricssonR520/R2''', False, {'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''max_data_rate''':40,'''wap_push_support''':True}) +devices.devids['''ericsson_r520_ver2_subr201'''] = devclass(devices.devids['''ericsson_r520_ver2'''], '''ericsson_r520_ver2_subr201''', '''EricssonR520/R201''', False, {'''max_data_rate''':40}) +devices.devids['''ericsson_r520_ver2_subr202'''] = devclass(devices.devids['''ericsson_r520_ver2'''], '''ericsson_r520_ver2_subr202''', '''EricssonR520/R202''', False, {'''max_data_rate''':40}) +devices.devids['''ericsson_r600_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_r600_ver1''', '''EricssonR600/R1A''', True, {'''colors''':4,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''greyscale''':True,'''imelody''':True,'''max_data_rate''':40,'''max_deck_size''':2500,'''max_image_height''':50,'''max_image_width''':101,'''model_name''':'''R600''','''nokia_voice_call''':True,'''resolution_height''':67,'''resolution_width''':101,'''ringtone_imelody''':True,'''rows''':6,'''uaprof''':'''http://mobileinternet.ericsson.com/UAprof/R600.xml''','''wallpaper_gif''':True,'''wap_push_support''':True,'''wml_1_3''':True}) +devices.devids['''ericsson_r600_ver1_sub121'''] = devclass(devices.devids['''ericsson_r600_ver1'''], '''ericsson_r600_ver1_sub121''', '''R600 1.0 WAP1.2.1''', False, None) +devices.devids['''ericsson_r320_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_r320_ver1''', '''EricssonR320/R1A''', True, {'''max_image_height''':52,'''max_image_width''':101,'''model_name''':'''R320''','''resolution_height''':65,'''resolution_width''':101}) +devices.devids['''ericsson_r320_ver1_sub2fr1ar1a'''] = devclass(devices.devids['''ericsson_r320_ver1'''], '''ericsson_r320_ver1_sub2fr1ar1a''', '''EricssonR320/2FR1AR1A''', False, None) +devices.devids['''ericsson_t600_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_t600_ver1''', '''T600 1.0 WAP1.2.1''', True, {'''colors''':4,'''ems''':True,'''gif''':True,'''greyscale''':True,'''max_image_height''':48,'''max_image_width''':101,'''model_name''':'''T600''','''resolution_height''':65,'''resolution_width''':101,'''uaprof''':'''http://wap.sonyericssonmobile.com/UAprof/T600R101.xml'''}) +devices.devids['''sonyericsson_t600_ver1'''] = devclass(devices.devids['''ericsson_t600_ver1'''], '''sonyericsson_t600_ver1''', '''SonyEricssonT600''', True, {'''brand_name''':'''SonyEricsson''','''colors''':2,'''max_image_height''':48,'''max_image_width''':101,'''midi_monophonic''':True,'''ringtone_midi_monophonic''':True,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101}) +devices.devids['''ericsson_t608_ver1'''] = devclass(devices.devids['''ericsson_t600_ver1'''], '''ericsson_t608_ver1''', '''SonyEricssonT608''', True, {'''brand_name''':'''SonyEricsson''','''colors''':65536,'''columns''':23,'''compactmidi''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''model_name''':'''T608''','''png''':True,'''preferred_markup''':'''wml_1_2''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''rows''':5,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/SonyEricsson/SEMCT608/r1a.rdf''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_2''':True}) +devices.devids['''ericsson_t608_ver1_subaumic'''] = devclass(devices.devids['''ericsson_t608_ver1'''], '''ericsson_t608_ver1_subaumic''', '''AU-MIC/2.0 MMP/2.0 SonyEricssonT608''', False, {'''max_data_rate''':9}) +devices.devids['''ericsson_t608_ver1_subaumicr001'''] = devclass(devices.devids['''ericsson_t608_ver1'''], '''ericsson_t608_ver1_subaumicr001''', '''AU-MIC/2.0 MMP/2.0 SonyEricssonT608/R001''', False, {'''max_data_rate''':9}) +devices.devids['''sonyericsson_t608_ver1_subr001'''] = devclass(devices.devids['''ericsson_t608_ver1'''], '''sonyericsson_t608_ver1_subr001''', '''SonyEricssonT608/R001''', False, {'''max_data_rate''':9}) +devices.devids['''ericsson_r1a_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_r1a_ver1''', '''Ericsson/R1A''', False, None) +devices.devids['''ericsson_sdk2_ver1'''] = devclass(devices.devids['''ericsson_generic'''], '''ericsson_sdk2_ver1''', '''SDK/2.1: (R320''', False, None) +devices.devids['''ericsson_wapide20_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''ericsson_wapide20_ver1''', '''WapIDE-SDK/2.0; (R320s (Arial))''', False, None) +devices.devids['''ericsson_wapide21_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''ericsson_wapide21_ver1''', '''WapIDE-SDK/2.1; (R320s (Arial))''', False, None) +devices.devids['''sony_msmb10'''] = devclass(devices.devids['''sony_generic'''], '''sony_msmb10''', '''Mozilla/1.22 (compatible; MSMB10; CellPhone)''', False, None) +devices.devids['''sony_cmd_j5_ver1'''] = devclass(devices.devids['''sony_generic'''], '''sony_cmd_j5_ver1''', '''Mozilla/1.22 (compatible; MMEF20; Cellphone; Sony CMD-J5)''', True, {'''model_name''':'''CMD-J5'''}) +devices.devids['''sony_cmd_j7'''] = devclass(devices.devids['''sony_generic'''], '''sony_cmd_j7''', '''Mozilla/1.22 (compatible; MMEF20; Cellphone; Sony CMD-J7/J70)''', True, {'''colors''':4,'''greyscale''':True,'''max_image_height''':69,'''model_name''':'''CMD-J7/J70''','''resolution_height''':92,'''resolution_width''':96}) +devices.devids['''sony_cmd_z5'''] = devclass(devices.devids['''sony_generic'''], '''sony_cmd_z5''', '''Mozilla/1.22 (compatible; MMEF20; Cellphone; Sony CMD-Z5)''', True, {'''colors''':4,'''greyscale''':True,'''html_web_3_2''':True,'''max_deck_size''':8192,'''max_image_height''':54,'''model_name''':'''CMD-Z5''','''resolution_height''':72,'''resolution_width''':96}) +devices.devids['''sony_cmd_z5_subpj020e'''] = devclass(devices.devids['''sony_cmd_z5'''], '''sony_cmd_z5_subpj020e''', '''Mozilla/1.22 (compatible; MMEF20; Cellphone; Sony CMD-Z5;Pj020e)''', False, None) +devices.devids['''sony_cmd_z7'''] = devclass(devices.devids['''sony_generic'''], '''sony_cmd_z7''', '''Mozilla/1.22 (compatible; MMEF20; Cellphone; Sony CMD-Z7)''', True, {'''colors''':4,'''greyscale''':True,'''max_image_height''':69,'''model_name''':'''CMD-Z7''','''resolution_height''':92,'''resolution_width''':96}) +devices.devids['''lg_generic'''] = devclass(devices.devids['''generic_xhtml'''], '''lg_generic''', '''LG''', False, {'''brand_name''':'''LG'''}) +devices.devids['''lg_500_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_500_ver1''', '''LG500''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':30000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''LG500''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_500_ver1_sub20'''] = devclass(devices.devids['''lg_500_ver1'''], '''lg_500_ver1_sub20''', '''LG500/v1.32 AU/2.0''', False, None) +devices.devids['''lg_a7110_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_a7110_ver1''', '''LG-A7110''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':30000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''A7110''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-A7110.xml''','''uaprof2''':'''http://myhome.naver.com/lgewap/LG-A7110.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_a7110_ver1_subaumic20'''] = devclass(devices.devids['''lg_a7110_ver1'''], '''lg_a7110_ver1_subaumic20''', '''LG-A7110 MIC/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''html_wi_oma_xhtmlmp_1_0''':True,'''max_data_rate''':40,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':1}) +devices.devids['''lg_a7150_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_a7150_ver1''', '''LG-A7150''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':30000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''A7150''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-A7150.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_a7150_ver1_subaumic20'''] = devclass(devices.devids['''lg_a7150_ver1'''], '''lg_a7150_ver1_subaumic20''', '''LG-A7150 MIC/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_a7150_ver1_subaumic20nospace'''] = devclass(devices.devids['''lg_a7150_ver1'''], '''lg_a7150_ver1_subaumic20nospace''', '''LG-A7150 MIC/WAP2.0 Profile/MIDP-2.0Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lge_ad5235_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_ad5235_ver1''', '''LGE-AD5235''', False, None) +devices.devids['''lge_ad5235_ver1_sub4126'''] = devclass(devices.devids['''lge_ad5235_ver1'''], '''lge_ad5235_ver1_sub4126''', '''LGE-AD5235/1.0 UP.Browser/4.1.26l''', False, None) +devices.devids['''lge_ax3200_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_ax3200_ver1''', '''LGE-AX3200''', False, None) +devices.devids['''lge_ax3200_ver1_sub4126'''] = devclass(devices.devids['''lge_ax3200_ver1'''], '''lge_ax3200_ver1_sub4126''', '''LGE-AX3200 UP.Browser/4.1.26l''', False, None) +devices.devids['''lge_ax8600_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_ax8600_ver1''', '''LGE-AX8600/1.0 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''model_name''':'''AX8600''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':11,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.alltel.net/uaprof/lg/ax8600/ax8600.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''xhtml_support_level''':3}) +devices.devids['''lg_b1300_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_b1300_ver1''', '''LG-B1300''', True, {'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''B1300''','''preferred_markup''':'''wml_1_2''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''wml_1_2''':True}) +devices.devids['''lg_b2000_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_b2000_ver1''', '''LG-B2000''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':102400,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''B2000''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-B2000.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_b2000_ver1_subaumic20'''] = devclass(devices.devids['''lg_b2000_ver1'''], '''lg_b2000_ver1_subaumic20''', '''LG-B2000 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_b2050_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_b2050_ver1''', '''LG-B2050''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':102400,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''B2050''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-B2050-TMO.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_b2050_ver1_subaumic20'''] = devclass(devices.devids['''lg_b2050_ver1'''], '''lg_b2050_ver1_subaumic20''', '''LG-B2050 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_b2060_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_b2060_ver1''', '''LG-B2060''', True, {'''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':5120,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''model_name''':'''B2060''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''rows''':6,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-B2060.xml''','''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_b2060_ver1_subau410'''] = devclass(devices.devids['''lg_b2060_ver1'''], '''lg_b2060_ver1_subau410''', '''LG-B2060 V100 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_b2070_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_b2070_ver1''', '''LG-B2070 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', True, {'''amr''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':102400,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''B2070''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-B2070.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_b2100_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_b2100_ver1''', '''LG-B2100''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':108,'''max_image_width''':119,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':102400,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''B2100''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':6,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-B2100.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_b2100_ver1_submic'''] = devclass(devices.devids['''lg_b2100_ver1'''], '''lg_b2100_ver1_submic''', '''LG-B2100 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_b2150_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_b2150_ver1''', '''LG-B2150''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''B2150''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':1}) +devices.devids['''lg_b2150_ver1_subaumic20'''] = devclass(devices.devids['''lg_b2150_ver1'''], '''lg_b2150_ver1_subaumic20''', '''LG-B2150 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, None) +devices.devids['''lge_bx5450_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_bx5450_ver1''', '''LGE-BX5450''', True, {'''brand_name''':'''LG''','''model_name''':'''Easy Shot BX5450'''}) +devices.devids['''lge_bx5450_ver1_sub20'''] = devclass(devices.devids['''lge_bx5450_ver1'''], '''lge_bx5450_ver1_sub20''', '''LGE-BX5450/1.0 UP.Browser/6.2.2.4 (GUI) MMP/2.0''', False, None) +devices.devids['''lg_c130_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_c130_ver1''', '''LG-C130''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''imelody''':True,'''j2me_screen_height''':95,'''j2me_screen_width''':128,'''max_image_height''':75,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':64000,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''C130''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':95,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-C130.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wta_phonebook''':True}) +devices.devids['''lg_c686_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lg_c686_ver1''', '''LG-C686''', True, {'''brand_name''':'''LG''','''colors''':65536,'''max_image_height''':140,'''max_image_width''':160,'''model_name''':'''C686''','''resolution_height''':128,'''resolution_width''':160}) +devices.devids['''lg_c686_ver1_sub4126'''] = devclass(devices.devids['''lg_c686_ver1'''], '''lg_c686_ver1_sub4126''', '''LG-C686/1.0 UP.Browser/4.1.26l''', False, None) +devices.devids['''lg_c1100_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_c1100_ver1''', '''LG-C1100''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':102400,'''max_image_width''':119,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':102400,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''C1100''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-C1100.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wta_pdc''':True,'''xhtml_support_level''':1,'''xhtml_table_support''':True}) +devices.devids['''lg_c1100_ver1_subaumic20'''] = devclass(devices.devids['''lg_c1100_ver1'''], '''lg_c1100_ver1_subaumic20''', '''LG-C1100 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c1150_ver1'''] = devclass(devices.devids['''lg_c1100_ver1'''], '''lg_c1150_ver1''', '''LG-C1150''', True, {'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''C1150''','''xhtml_support_level''':1}) +devices.devids['''lg_c1150_ver1_subaumic20'''] = devclass(devices.devids['''lg_c1150_ver1'''], '''lg_c1150_ver1_subaumic20''', '''LG-C1150 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c1200_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_c1200_ver1''', '''LG-C1200''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':102400,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''C1200''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-C1200.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':1,'''xhtml_table_support''':True}) +devices.devids['''lg_c1200_ver1_sub1'''] = devclass(devices.devids['''lg_c1200_ver1'''], '''lg_c1200_ver1_sub1''', '''LG-C1200 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c1300_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_c1300_ver1''', '''LG-C1300''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''directdownload_support''':True,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':95,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':64000,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''C1300''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':64512,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':16,'''screensaver_colors''':16,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-C1300.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':64512,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wta_phonebook''':True}) +devices.devids['''lg_c1300_ver1_sub10'''] = devclass(devices.devids['''lg_c1300_ver1'''], '''lg_c1300_ver1_sub10''', '''LG-C1300 UP.Browser/6.2.2 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c1300i_ver1'''] = devclass(devices.devids['''lg_c1300_ver1'''], '''lg_c1300i_ver1''', '''LG-C1300i''', True, {'''model_name''':'''C1300i'''}) +devices.devids['''lg_c1300i_ver1_sub'''] = devclass(devices.devids['''lg_c1300i_ver1'''], '''lg_c1300i_ver1_sub''', '''LG-C1300i UP.Browser/6.2.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c1400_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_c1400_ver1''', '''LG-C1400''', True, {'''colors''':65536,'''columns''':17,'''directdownload_support''':True,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':5120,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''C1400''','''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-C1400.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_c1400_ver1_sub10'''] = devclass(devices.devids['''lg_c1400_ver1'''], '''lg_c1400_ver1_sub10''', '''LG-C1400 V100 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c1500_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_c1500_ver1''', '''LG-C1500''', True, {'''brand_name''':'''LG''','''colors''':65536,'''directdownload_support''':True,'''gif_animated''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':1500,'''j2me_max_jar_size''':120,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''C1500''','''mp3''':False,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':False,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''sender''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-C1500.xml''','''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''lg_c1500_ver1_sub10'''] = devclass(devices.devids['''lg_c1500_ver1'''], '''lg_c1500_ver1_sub10''', '''LG-C1500 UP.Browser/6.2.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c2000_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_c2000_ver1''', '''LG-C2000''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''directdownload_support''':True,'''gif_animated''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':127,'''j2me_screen_width''':128,'''max_image_height''':127,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''C2000''','''mp3''':True,'''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':16,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':120,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-C2000.xml''','''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':480,'''wallpaper_max_width''':640,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wta_phonebook''':True}) +devices.devids['''lg_c2000_ver1_sub623'''] = devclass(devices.devids['''lg_c2000_ver1'''], '''lg_c2000_ver1_sub623''', '''LG-C2000 UP.Browser/6.2.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_cg225_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_cg225_ver1''', '''LG-CG225''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''built_in_camera''':True,'''colors''':65536,'''columns''':8,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_max_jar_size''':300000,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':95,'''j2me_screen_width''':128,'''max_image_height''':75,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''CG225''','''mp3''':True,'''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':95,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''wta_phonebook''':True}) +devices.devids['''lg_cg225_ver1_sub'''] = devclass(devices.devids['''lg_cg225_ver1'''], '''lg_cg225_ver1_sub''', '''LG-CG225 UP.Browser/6.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''lg_c2100_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_c2100_ver1''', '''LG-C2100''', True, {'''model_name''':'''C2100'''}) +devices.devids['''lg_c2200_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_c2200_ver1''', '''LG-C2200''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''C2200''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-C2200.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':1,'''xhtml_table_support''':True}) +devices.devids['''lg_c2200_ver1_sub20'''] = devclass(devices.devids['''lg_c2200_ver1'''], '''lg_c2200_ver1_sub20''', '''LG-C2200 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c2500_ver1_submic'''] = devclass(devices.devids['''lg_generic'''], '''lg_c2500_ver1_submic''', '''LG-C2500 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':16777216,'''columns''':18,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':66560,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':100000,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''C2500''','''mp3''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':6,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-C2500.xml''','''wallpaper_jpg''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_c3100_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_c3100_ver1''', '''LG-C3100''', True, {'''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':261120,'''midi_monophonic''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''C3100''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_imode_compact_generic''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':6,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-C3100.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_c3100_ver1_subaumic410'''] = devclass(devices.devids['''lg_c3100_ver1'''], '''lg_c3100_ver1_subaumic410''', '''LG-C3100 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c3300_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_c3300_ver1''', '''LG-C3300''', True, {'''colors''':65536,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''C3300''','''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-C3300.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_c3300_ver1_sub10'''] = devclass(devices.devids['''lg_c3300_ver1'''], '''lg_c3300_ver1_sub10''', '''LG-C3300 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c3300_ver1_sub11'''] = devclass(devices.devids['''lg_c3300_ver1'''], '''lg_c3300_ver1_sub11''', '''LG-C3300 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c3300_ver1_subaumic20'''] = devclass(devices.devids['''lg_c3300_ver1'''], '''lg_c3300_ver1_subaumic20''', '''LG-C3300/MIC/WAP2.0/MIDP2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c3310_ver1'''] = devclass(devices.devids['''lg_c3300_ver1'''], '''lg_c3310_ver1''', '''LG-C3310''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_width''':119,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''C3310''','''xhtml_support_level''':1}) +devices.devids['''lg_c3310_ver1_sub2011'''] = devclass(devices.devids['''lg_c3310_ver1'''], '''lg_c3310_ver1_sub2011''', '''LG-C3310 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c3320_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_c3320_ver1''', '''LG-C3320''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''C3320''','''oma_support''':True,'''oma_v_1_0_combined_delivery''':False,'''oma_v_1_0_forwardlock''':False,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-C3320.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_c3320_ver1_sub20'''] = devclass(devices.devids['''lg_c3320_ver1'''], '''lg_c3320_ver1_sub20''', '''LG-C3320 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c3380_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_c3380_ver1''', '''LG-C3380''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''C3380''','''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sp_midi''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_c3380_ver1_subaumic20'''] = devclass(devices.devids['''lg_c3380_ver1'''], '''lg_c3380_ver1_subaumic20''', '''LG-C3380 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_c3400_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_c3400_ver1''', '''LG-C3400''', True, {'''aac''':True,'''bmp''':True,'''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''C3400''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-C3400.xml''','''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''xhtml_support_level''':1}) +devices.devids['''lg_c3400_ver1_subaumic20'''] = devclass(devices.devids['''lg_c3400_ver1'''], '''lg_c3400_ver1_subaumic20''', '''LG-C3400 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_c3600_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_c3600_ver1''', '''LG-C3600 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', True, {'''amr''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10240,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''C3600''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-C3600.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_ce110_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ce110_ver1''', '''LG-CE110/V0.9 Obigo/Q05A Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':25600,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''5.0''','''model_name''':'''CE110''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-CE110.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''lg_ce500_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ce500_ver1''', '''LG-CE500 MIC/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''bmp''':True,'''directdownload_support''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''CE500''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_cg300_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_cg300_ver1''', '''LG-CG300''', True, {'''brand_name''':'''LG''','''colors''':65536,'''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''CG300''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''lg_cg300_ver1_uavariation'''] = devclass(devices.devids['''lg_cg300_ver1'''], '''lg_cg300_ver1_uavariation''', '''LG-CG300 UP.Browser/6.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''lg_cu320_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_cu320_ver1''', '''LG-CU320 Obigo/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':60000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''CU320''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-CU320.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''lg_cu400_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_cu400_ver1''', '''LG-CU400/V1.0 Obigo/Q04C Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':60000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''CU400''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-CU400.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''lg_cu405_ver1'''] = devclass(devices.devids['''lg_cu400_ver1'''], '''lg_cu405_ver1''', '''LG-CU405/''', True, {'''max_data_rate''':40,'''model_name''':'''CU405''','''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''lg_cu500_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_cu500_ver1''', '''LG-CU500''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''built_in_camera''':True,'''colors''':65536,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':60000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''CU500''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''streaming_wmv''':False,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-CU500.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''lg_cu500_ver1_sub20'''] = devclass(devices.devids['''lg_cu500_ver1'''], '''lg_cu500_ver1_sub20''', '''LG-CU500 Obigo/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_cu515_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_cu515_ver1''', '''LG-CU515/V0.9 Obigo/Q05A Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':60000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':614400,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''5.0''','''model_name''':'''CU515''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_real_media_10''':True,'''streaming_real_media_8''':True,'''streaming_real_media_9''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':176,'''streaming_video_qcif_max_width''':144,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-CU515.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_height''':176,'''video_max_width''':144,'''video_mp4''':True,'''video_preferred_height''':176,'''video_preferred_width''':144,'''video_qcif''':True,'''video_real_media_10''':True,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''lg_cu575_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_cu575_ver1''', '''LG-CU575/V10d Obigo/Q05A Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':60000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':614400,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''5.0''','''model_name''':'''CU575''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_real_media_10''':True,'''streaming_real_media_8''':True,'''streaming_real_media_9''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_max_frame_rate''':15,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':176,'''streaming_video_qcif_max_width''':144,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-CU575.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_max_frame_rate''':15,'''video_max_height''':176,'''video_max_width''':144,'''video_mp4''':True,'''video_preferred_height''':176,'''video_preferred_width''':144,'''video_real_media_10''':True,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''lg_cu6060_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lg_cu6060_ver1''', '''LG-CU6060''', False, None) +devices.devids['''lg_cu6060_ver1_sub4126'''] = devclass(devices.devids['''lg_cu6060_ver1'''], '''lg_cu6060_ver1_sub4126''', '''LG-CU6060/1.0 UP.Browser/4.1.26l''', False, None) +devices.devids['''lg_cu6160_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lg_cu6160_ver1''', '''LG-CU6160''', False, None) +devices.devids['''lg_cu6160_ver1_sub4126'''] = devclass(devices.devids['''lg_cu6160_ver1'''], '''lg_cu6160_ver1_sub4126''', '''LG-CU6160/1.0 UP.Browser/4.1.26l''', False, None) +devices.devids['''lge_cu6260_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_cu6260_ver1''', '''LGE-CU6260''', True, {'''brand_name''':'''LG''','''model_name''':'''CU6260'''}) +devices.devids['''lge_cu6260_ver1_sub4126i'''] = devclass(devices.devids['''lge_cu6260_ver1'''], '''lge_cu6260_ver1_sub4126i''', '''LGE-CU6260/1.0 UP.Browser/4.1.26l''', False, None) +devices.devids['''lge_cu8080_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_cu8080_ver1''', '''LGE-CU8080''', True, {'''brand_name''':'''LG''','''model_name''':'''CU8080'''}) +devices.devids['''lge_cu8080_ver1_sub4126l'''] = devclass(devices.devids['''lge_cu8080_ver1'''], '''lge_cu8080_ver1_sub4126l''', '''LGE-CU8080/1.0 UP.Browser/4.1.26l''', False, None) +devices.devids['''lge_cu8180_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_cu8180_ver1''', '''LGE-CU8180''', True, {'''brand_name''':'''LG''','''model_name''':'''CU8180'''}) +devices.devids['''lge_cu8180_ver1_sub4126l'''] = devclass(devices.devids['''lge_cu8180_ver1'''], '''lge_cu8180_ver1_sub4126l''', '''LGE-CU8180/1.0 UP.Browser/4.1.26l''', False, None) +devices.devids['''lge_cu8188_ver1'''] = devclass(devices.devids['''lge_cu8180_ver1'''], '''lge_cu8188_ver1''', '''LGE-CU8188''', True, {'''colors''':65536,'''html_wi_oma_xhtmlmp_1_0''':True,'''max_image_height''':140,'''max_image_width''':160,'''model_name''':'''CU8188''','''preferred_markup''':'''wml_1_2''','''resolution_height''':120,'''resolution_width''':160,'''wml_1_2''':True}) +devices.devids['''lge_cu8188_ver1_sub4126i'''] = devclass(devices.devids['''lge_cu8188_ver1'''], '''lge_cu8188_ver1_sub4126i''', '''LGE-CU8188/1.0 UP.Browser/4.1.26l''', False, None) +devices.devids['''lg_cu8280_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lg_cu8280_ver1''', '''LG-CU8280''', True, {'''brand_name''':'''LG''','''model_name''':'''CU8280'''}) +devices.devids['''lg_cu8280_ver1_sub4127'''] = devclass(devices.devids['''lg_cu8280_ver1'''], '''lg_cu8280_ver1_sub4127''', '''LG-CU8280/1.0 UP.Browser/4.1.27''', False, None) +devices.devids['''lge_cu8280_ver1'''] = devclass(devices.devids['''lg_cu8280_ver1'''], '''lge_cu8280_ver1''', '''LGE-CU8280''', False, None) +devices.devids['''lge_cu8280_ver1_sub4127'''] = devclass(devices.devids['''lge_cu8280_ver1'''], '''lge_cu8280_ver1_sub4127''', '''LGE-CU8280/1.0 UP.Browser/4.1.27''', False, None) +devices.devids['''lge_cu8380_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_cu8380_ver1''', '''LGE-CU8380''', True, {'''brand_name''':'''LG''','''model_name''':'''CU8380'''}) +devices.devids['''lge_cu8380_ver1_sub20'''] = devclass(devices.devids['''lge_cu8380_ver1'''], '''lge_cu8380_ver1_sub20''', '''LGE-CU8380/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''lg_dg200_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_dg200_ver1''', '''LG-DG200''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''DG200''','''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-DG200.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_dg200_ver1_subaumic20'''] = devclass(devices.devids['''lg_dg200_ver1'''], '''lg_dg200_ver1_subaumic20''', '''LG-DG200 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_ke260_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ke260_ver1''', '''LG-KE260''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''LG''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':9216,'''max_image_height''':144,'''max_image_width''':169,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':307200,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':32,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KE260''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':157,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KE260-V08f.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':32,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wav''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''lg_ke260_ver1_subv08f'''] = devclass(devices.devids['''lg_ke260_ver1'''], '''lg_ke260_ver1_subv08f''', '''LG-KE260/V08f Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_ke500_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ke500_ver1''', '''LG-KE500 Obigo/WAP2.0 MIDP-2.0/CLDC-1.1 Configuration/CLDC-1.0 MIDP-2.0/CLDC-1.0''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':25600,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KE500''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KE500.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''lg_ke770_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ke770_ver1''', '''LG-KE770 MIC/1.1.14 MIDP-2.0/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':262144,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':102400,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''1.0''','''model_name''':'''KE770''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KE770.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_ke800_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ke800_ver1''', '''LG-KE800''', True, {'''bmp''':False,'''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':300,'''max_image_width''':226,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''1.0''','''model_name''':'''KE800''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''ringtone_wav''':True,'''screensaver''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KE800.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''lg_ke800_ver1_sub1114'''] = devclass(devices.devids['''lg_ke800_ver1'''], '''lg_ke800_ver1_sub1114''', '''LG-KE800 MIC/1.1.14 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''lg_ke820_ver1_submic'''] = devclass(devices.devids['''lg_ke800_ver1'''], '''lg_ke820_ver1_submic''', '''LG-KE820 MIC/1.1.14 MIDP-2.0/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':113,'''j2me_screen_width''':220,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':9216,'''max_image_height''':93,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''1.0''','''model_name''':'''KE820''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':113,'''resolution_width''':220,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KE820.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_ke850_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ke850_ver1''', '''LG-KE850''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''can_skip_aligned_link_row''':True,'''colors''':16777216,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''has_pointing_device''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':400,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':380,'''max_image_width''':228,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KE850''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':400,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KE850.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_ke850_ver1_sub1'''] = devclass(devices.devids['''lg_ke850_ver1'''], '''lg_ke850_ver1_sub1''', '''LG-KE850 MIC/1.1.14 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''lg_ke970_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ke970_ver1''', '''LG-KE970''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':300,'''max_image_width''':228,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''1.0''','''model_name''':'''KE970''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone_3gpp''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KE970.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''lg_ke970_ver1_sub1114'''] = devclass(devices.devids['''lg_ke970_ver1'''], '''lg_ke970_ver1_sub1114''', '''LG-KE970 MIC/1.1.14 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''lg_kg220_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg220_ver1''', '''LG-KG220''', True, {'''amr''':True,'''colors''':65536,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':25600,'''max_image_height''':108,'''max_image_width''':119,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':480,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG220''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''sender''':True,'''smf''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG220-V09a.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_kg220_ver1_subv09a'''] = devclass(devices.devids['''lg_kg220_ver1'''], '''lg_kg220_ver1_subv09a''', '''LG-KG220/V09a Obigo/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_kg220_ver1_sub__cdlc_11'''] = devclass(devices.devids['''lg_kg220_ver1'''], '''lg_kg220_ver1_sub__cdlc_11''', '''LG-KG220 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''j2me_cldc_1_1''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG220.xml'''}) +devices.devids['''lg_kg225_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg225_ver1''', '''LG-KG225''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG225''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''xhtml_support_level''':1}) +devices.devids['''lg_kg225_ver1_subaumic'''] = devclass(devices.devids['''lg_kg225_ver1'''], '''lg_kg225_ver1_subaumic''', '''LG-KG225 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_kg240_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg240_ver1''', '''LG-KG240''', True, {'''amr''':True,'''colors''':262144,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':25600,'''max_image_height''':160,'''max_image_width''':119,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':480,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG240''','''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG240-V09a.xml''','''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''lg_kg240_ver1_subv08aobigo'''] = devclass(devices.devids['''lg_kg240_ver1'''], '''lg_kg240_ver1_subv08aobigo''', '''LG-KG240/V08a Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_kg245_ver1'''] = devclass(devices.devids['''lg_kg240_ver1'''], '''lg_kg245_ver1''', '''LG-KG245''', True, {'''amr''':True,'''built_in_camera''':True,'''colors''':65536,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':25600,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''KG245''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG245.xml''','''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wav''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_kg245_ver1_submic20'''] = devclass(devices.devids['''lg_kg245_ver1'''], '''lg_kg245_ver1_submic20''', '''LG-KG245/MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_kg800_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg800_ver1''', '''LG-KG800''', True, {'''aac''':True,'''amr''':True,'''colors''':65536,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''directdownload_support''':True,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':20000,'''max_image_height''':200,'''max_image_width''':167,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG800 Chocolate''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':72,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG800.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_wmv''':False,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_kg800_ver1_subv10eobigo'''] = devclass(devices.devids['''lg_kg800_ver1'''], '''lg_kg800_ver1_subv10eobigo''', '''LG-KG800/V10e Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_kg800_ver1_mic'''] = devclass(devices.devids['''lg_kg800_ver1'''], '''lg_kg800_ver1_mic''', '''LG-KG800 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_tg800_ver1'''] = devclass(devices.devids['''lg_kg800_ver1'''], '''lg_tg800_ver1''', '''LG-TG800 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''model_name''':'''Chocolate (Canada)'''}) +devices.devids['''lg_kg810_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg810_ver1''', '''LG-KG810''', True, {'''aac''':True,'''colors''':262144,'''ems''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''KG810''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_wmv''':False,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''lg_kg920_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg920_ver1''', '''LG-KG920 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''LG''','''colors''':65536,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':30720,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG920''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG920.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_kp200_obigo_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kp200_obigo_ver1''', '''LG-KP200 Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':25600,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KP200''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KP200.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':0}) +devices.devids['''lg_kp202_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kp202_ver1''', '''LG-KP202''', True, {'''bmp''':False,'''brand_name''':'''LG''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':123,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KP202''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KP202.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_kp202_ver1_sub09b'''] = devclass(devices.devids['''lg_kp202_ver1'''], '''lg_kp202_ver1_sub09b''', '''LG-KP202/V09b Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_ku250_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ku250_ver1''', '''LG-KU250''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':60000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''KU250''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':15,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KU250.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_preferred_height''':136,'''wallpaper_preferred_width''':174,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''lg_ku730_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ku730_ver1''', '''LG-KU730''', True, {'''aac''':True,'''colors''':262144,'''ems''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':220,'''max_image_width''':168,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KU730''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''video''':True,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''lg_ku730_ver1_subv100'''] = devclass(devices.devids['''lg_ku730_ver1'''], '''lg_ku730_ver1_subv100''', '''LG-KU730/V100 Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_f1200_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_f1200_ver1''', '''LG-F1200''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':127,'''j2me_screen_width''':128,'''max_image_height''':107,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':100000,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''F1200''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':127,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wta_phonebook''':True}) +devices.devids['''lg_f2100_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_f2100_ver1''', '''LG-F2100''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''F2100''','''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-F2100.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_f2100_ver1_subaumic20'''] = devclass(devices.devids['''lg_f2100_ver1'''], '''lg_f2100_ver1_subaumic20''', '''LG-F2100 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_f2200_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_f2200_ver1''', '''LG-F2200''', True, {'''amr''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''F2200''','''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-F2200.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_pdc''':True,'''xhtml_support_level''':2}) +devices.devids['''lg_f2250_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_f2250_ver1''', '''LG-F2250''', True, {'''colors''':65536,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':140,'''max_image_width''':160,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''F2250''','''preferred_markup''':'''wml_1_2''','''resolution_height''':120,'''resolution_width''':160,'''wallpaper_colors''':16,'''wml_1_2''':True}) +devices.devids['''lg_f2250_ver1_subv08i'''] = devclass(devices.devids['''lg_f2250_ver1'''], '''lg_f2250_ver1_subv08i''', '''LG-F2250/V08i Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_f2250_ver1_subv10c'''] = devclass(devices.devids['''lg_f2250_ver1'''], '''lg_f2250_ver1_subv10c''', '''LG-F2250/V10c Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_f2250_ver1_subv10d'''] = devclass(devices.devids['''lg_f2250_ver1'''], '''lg_f2250_ver1_subv10d''', '''LG-F2250/V10d Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_f2300_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_f2300_ver1''', '''LG-F2300''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''F2300''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-F2300.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_f2300_ver1_subaumic20'''] = devclass(devices.devids['''lg_f2300_ver1'''], '''lg_f2300_ver1_subaumic20''', '''LG-F2300/MIC/WAP2.0/MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_f2400_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_f2400_ver1''', '''LG-F2400''', True, {'''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_width''':119,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''F2400''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-F2400.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_f2400_ver1sub20'''] = devclass(devices.devids['''lg_f2400_ver1'''], '''lg_f2400_ver1sub20''', '''LG-F2400 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_f2410_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_f2410_ver1''', '''LG-F2410''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''F2410''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''xhtml_support_level''':1}) +devices.devids['''lg_f2410_ver1_sub10'''] = devclass(devices.devids['''lg_f2410_ver1'''], '''lg_f2410_ver1_sub10''', '''LG-F2410 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_f2500_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_f2500_ver1''', '''LG-F2500''', True, {'''colors''':65536,'''gif''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''F2500''','''mp3''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''lg_f3000_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_f3000_ver1''', '''LG-F3000 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', True, {'''amr''':True,'''brand_name''':'''LG''','''colors''':65536,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':25600,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''F3000''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-F3000.xml''','''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_f7100_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_f7100_ver1''', '''LG-F7100''', True, {'''model_name''':'''F7100'''}) +devices.devids['''lg_f7100_ver1_sub410'''] = devclass(devices.devids['''lg_f7100_ver1'''], '''lg_f7100_ver1_sub410''', '''LG-F7100 AU/4.10''', False, None) +devices.devids['''lg_f7200_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_f7200_ver1''', '''LG-F7200''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''gif_animated''':True,'''j2me_gif''':True,'''j2me_jpg''':True,'''j2me_midp_1_0''':True,'''j2me_wbmp''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''F7200''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''lg_f7200_ver1_sub10'''] = devclass(devices.devids['''lg_f7200_ver1'''], '''lg_f7200_ver1_sub10''', '''LG-F7200 UP.Browser/6.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''lg_f7250_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_f7250_ver1''', '''LG-F7250''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':107,'''max_image_width''':120,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':64000,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''F7250''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':127,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-F7250.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wta_phonebook''':True}) +devices.devids['''lg_f7250_ver1_sub622'''] = devclass(devices.devids['''lg_f7250_ver1'''], '''lg_f7250_ver1_sub622''', '''LG-F7250 UP.Browser/6.2.2 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_f9100_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_f9100_ver1''', '''LG-F9100''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''has_qwerty_keyboard''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':107,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':64000,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''F9100''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':127,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-F9100.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wta_phonebook''':True}) +devices.devids['''lg_f9100_ver1_sub10'''] = devclass(devices.devids['''lg_f9100_ver1'''], '''lg_f9100_ver1_sub10''', '''LG-F9100 UP.Browser/6.2.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g210_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g210_ver1''', '''LG-G210''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''G210''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-G210.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_g210_ver1_sub20'''] = devclass(devices.devids['''lg_g210_ver1'''], '''lg_g210_ver1_sub20''', '''LG-G210/SW100/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g262_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g262_ver1''', '''LG-G262''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''model_name''':'''G262''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''xhtml_support_level''':1}) +devices.devids['''lg_g262_ver1_subaumic20'''] = devclass(devices.devids['''lg_g262_ver1'''], '''lg_g262_ver1_subaumic20''', '''LG-G262 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_g262_ver1_subslash'''] = devclass(devices.devids['''lg_g262_ver1'''], '''lg_g262_ver1_subslash''', '''LG-G262/MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_g510_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g510_ver1''', '''LG-G510''', True, {'''ems''':True,'''model_name''':'''G510'''}) +devices.devids['''lg_g510_ver1_sub42'''] = devclass(devices.devids['''lg_g510_ver1'''], '''lg_g510_ver1_sub42''', '''LG-G510 AU/4.2''', False, None) +devices.devids['''lg_g650_ver1'''] = devclass(devices.devids['''generic'''], '''lg_g650_ver1''', '''LG-G650''', True, {'''brand_name''':'''LG''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':5120,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''G650''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-G650.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_g650_ver1_subaumic410'''] = devclass(devices.devids['''lg_g650_ver1'''], '''lg_g650_ver1_subaumic410''', '''LG-G650 V100 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g828_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g828_ver1''', '''LG-G828''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''model_name''':'''G828'''}) +devices.devids['''lg_g828_ver1_subaumic20'''] = devclass(devices.devids['''lg_g828_ver1'''], '''lg_g828_ver1_subaumic20''', '''LG-G828/V100/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''lg_g1100_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_g1100_ver1''', '''LG-G1100''', True, {'''brand_name''':'''LG''','''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':108,'''max_image_width''':128,'''model_name''':'''G1100''','''resolution_height''':128,'''resolution_width''':128}) +devices.devids['''lg_g1100_ver1_sub622'''] = devclass(devices.devids['''lg_g1100_ver1'''], '''lg_g1100_ver1_sub622''', '''LG-G1100 UP.Browser/6.2.2 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''lg_g1500_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g1500_ver1''', '''LG-G1500''', True, {'''max_deck_size''':2048,'''model_name''':'''G1500''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8}) +devices.devids['''lg_g1500_ver1_sub42'''] = devclass(devices.devids['''lg_g1500_ver1'''], '''lg_g1500_ver1_sub42''', '''LG-G1500 AU/4.2''', False, None) +devices.devids['''lg_g1600_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g1600_ver1''', '''LG-G1600''', True, {'''colors''':65536,'''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':261120,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''G1600''','''preferred_markup''':'''wml_1_2''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper''':True,'''wallpaper_gif''':True,'''wml_1_2''':True}) +devices.devids['''lg_g1600_ver1_subaumic410'''] = devclass(devices.devids['''lg_g1600_ver1'''], '''lg_g1600_ver1_subaumic410''', '''LG-G1600 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''lg_g1610_ver1'''] = devclass(devices.devids['''generic'''], '''lg_g1610_ver1''', '''LG-G1610''', False, None) +devices.devids['''lg_g1610_ver1_subaumic410'''] = devclass(devices.devids['''lg_g1610_ver1'''], '''lg_g1610_ver1_subaumic410''', '''LG-G1610 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''lg_g1800_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g1800_ver1''', '''LG-G1800''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''model_name''':'''G8100''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_amr''':True,'''ringtone_mp3''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_g1800_ver1_subaumic20'''] = devclass(devices.devids['''lg_g1800_ver1'''], '''lg_g1800_ver1_subaumic20''', '''LG-G1800 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, None) +devices.devids['''lg_g3000_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g3000_ver1''', '''LG-G3000''', True, {'''model_name''':'''G3000'''}) +devices.devids['''lg_g3100_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g3100_ver1''', '''LG-G3100''', True, {'''colors''':65536,'''columns''':6,'''ems''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''mmf''':True,'''model_name''':'''G3100''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_imelody''':True,'''ringtone_mmf''':True,'''rows''':17,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True}) +devices.devids['''lg_g3100_ver1_sub410'''] = devclass(devices.devids['''lg_g3100_ver1'''], '''lg_g3100_ver1_sub410''', '''LG-G3100 AU/4.10''', False, None) +devices.devids['''lg_g4010_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g4010_ver1''', '''LG-G4010''', True, {'''model_name''':4010,'''preferred_markup''':'''wml_1_2''','''wml_1_2''':True}) +devices.devids['''lg_g4010_ver1_sub412'''] = devclass(devices.devids['''lg_g4010_ver1'''], '''lg_g4010_ver1_sub412''', '''LG-G4010 AU/4.12''', False, None) +devices.devids['''lg_g4011_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g4011_ver1''', '''LG-G4011''', True, {'''colors''':16,'''columns''':8,'''directdownload_support''':True,'''greyscale''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''max_deck_size''':4096,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''G4011''','''nokia_voice_call''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':16,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG_G4011.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':4,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wta_phonebook''':True,'''xhtml_table_support''':True}) +devices.devids['''lg_g4011_ver1_sub412'''] = devclass(devices.devids['''lg_g4011_ver1'''], '''lg_g4011_ver1_sub412''', '''LG-G4011 AU/4.12''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g4015_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_g4015_ver1''', '''LG-G4015''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''compactmidi''':True,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''max_image_height''':75,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':64000,'''mms_max_width''':480,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''G4015''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':95,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/MX_LG_G4015.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':65536,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':240,'''wallpaper_max_width''':320,'''wallpaper_png''':True,'''wallpaper_preferred_height''':95,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''lg_g4015_ver1_sub622'''] = devclass(devices.devids['''lg_g4015_ver1'''], '''lg_g4015_ver1_sub622''', '''LG-G4015 UP.Browser/6.2.2 (GUI) MMP/1.0''', False, {'''max_data_rate''':9}) +devices.devids['''lg_g4015_ver1_sub6232'''] = devclass(devices.devids['''lg_g4015_ver1'''], '''lg_g4015_ver1_sub6232''', '''LG-G4015 UP.Browser/6.2.3 (GUI) MMP/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lg_g4015_ver1_sub6232v2'''] = devclass(devices.devids['''lg_g4015_ver1'''], '''lg_g4015_ver1_sub6232v2''', '''LG-G4015 UP.Browser/6.2.3 (GUI) MMP/1.0 V2 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lg_g4020_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_g4020_ver1''', '''LG-G4020''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''directdownload_support''':True,'''ems''':True,'''ems_odi''':True,'''imelody''':True,'''max_image_height''':75,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':64000,'''mms_max_width''':480,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''G4020''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':False,'''receiver''':True,'''resolution_height''':95,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':65536,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-G4020.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':65536,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':240,'''wallpaper_max_width''':320,'''wallpaper_png''':True,'''wallpaper_preferred_height''':95,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wta_phonebook''':True}) +devices.devids['''lg_g4020_ver1_sub20'''] = devclass(devices.devids['''lg_g4020_ver1'''], '''lg_g4020_ver1_sub20''', '''LG-G4020 UP.Browser/6.2.3 (GUI) MMP/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g4050_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_g4050_ver1''', '''LG-G4050''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''max_image_height''':95,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':51200,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''G4050''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':127,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://fr.lge.com/gsm/LG-G4050.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wta_phonebook''':True}) +devices.devids['''lg_g4050_ver1_sub10'''] = devclass(devices.devids['''lg_g4050_ver1'''], '''lg_g4050_ver1_sub10''', '''LG-G4050 UP.Browser/6.2.2 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g5400_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g5400_ver1''', '''LG-G5400''', True, {'''colors''':65536,'''columns''':17,'''connectionless_service_indication''':True,'''directdownload_support''':True,'''ems''':True,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':261120,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''G5400''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':32,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-G5400.xml''','''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':180,'''wallpaper_preferred_width''':162,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_g5400_ver1_sub410'''] = devclass(devices.devids['''lg_g5400_ver1'''], '''lg_g5400_ver1_sub410''', '''LG-G5400 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g5400_ver1_subnospace'''] = devclass(devices.devids['''lg_g5400_ver1'''], '''lg_g5400_ver1_subnospace''', '''LG5400''', False, None) +devices.devids['''lg_g5400_01_ver1'''] = devclass(devices.devids['''generic'''], '''lg_g5400_01_ver1''', '''LG-G5400_01''', False, None) +devices.devids['''lg_g5400_01_ver1_subaumic410'''] = devclass(devices.devids['''lg_g5400_01_ver1'''], '''lg_g5400_01_ver1_subaumic410''', '''LG-G5400_01 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''lg_lg5400_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_lg5400_ver1''', '''LGE-LG5400''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':120,'''max_deck_size''':65535,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''LG5400''','''resolution_height''':160,'''resolution_width''':120,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':8,'''uaprof''':'''http://uaprof.bellmobilite.ca/BMC_LG_LG5400_LG540V05.rdf''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''lg_lg5400_ver1_sub6225'''] = devclass(devices.devids['''lg_lg5400_ver1'''], '''lg_lg5400_ver1_sub6225''', '''LGE-LG5400/1.0 UP.Browser/6.2.2.5 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lg_g5410_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g5410_ver1''', '''LG-G5410''', True, {'''model_name''':'''G5410''','''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8}) +devices.devids['''lg_g5600_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g5600_ver1''', '''LG-G5600''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''G5600''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-G5600.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_g5600_ver1_sub1'''] = devclass(devices.devids['''lg_g5600_ver1'''], '''lg_g5600_ver1_sub1''', '''LG-G5600 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g5600_ver1_sub2'''] = devclass(devices.devids['''lg_g5600_ver1'''], '''lg_g5600_ver1_sub2''', '''G5600 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lge_lg6070_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_lg6070_ver1''', '''LGE-LG6070''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''downloadfun_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':4365,'''max_image_height''':120,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''G6070''','''mp3''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''rows''':8,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://device.telusmobility.com/lg/lg6070.rdf''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''lge_lg6070_ver1_sub6223d2100'''] = devclass(devices.devids['''lge_lg6070_ver1'''], '''lge_lg6070_ver1_sub6223d2100''', '''LGE-LG6070 UP.Browser/6.2.2.3.d.2.100 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lg_g5200_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g5200_ver1''', '''LG-G5200''', True, {'''ems''':True,'''model_name''':'''G5200'''}) +devices.devids['''lg_g5220c_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g5220c_ver1''', '''LG-G5220C''', True, {'''colors''':65536,'''columns''':17,'''ems''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':5120,'''model_name''':'''G5220C''','''nokia_voice_call''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_imelody''':True,'''rows''':6,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-G5220c.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_g5220c_ver1_sub410'''] = devclass(devices.devids['''lg_g5220c_ver1'''], '''lg_g5220c_ver1_sub410''', '''LG-G5220C AU/4.10''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g5220c_ver1_sublowercasec'''] = devclass(devices.devids['''lg_g5220c_ver1'''], '''lg_g5220c_ver1_sublowercasec''', '''LG-G5220c''', False, None) +devices.devids['''lg_g5300_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g5300_ver1''', '''LG-G5300''', True, {'''colors''':65536,'''connectionless_service_indication''':True,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''G5300''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-G5300i.xml''','''voices''':4,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True}) +devices.devids['''lg_g5300_ver1_sub410'''] = devclass(devices.devids['''lg_g5300_ver1'''], '''lg_g5300_ver1_sub410''', '''LG-G5300 AU/4.10''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g5310_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g5310_ver1''', '''LG-G5310''', True, {'''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':5120,'''max_image_height''':108,'''max_image_width''':128,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''G5310''','''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-G5310.xml''','''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_g5310_ver1_sub10'''] = devclass(devices.devids['''lg_g5310_ver1'''], '''lg_g5310_ver1_sub10''', '''LG-G5310/JM AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g5500_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_g5500_ver1''', '''LG-G5500''', True, {'''brand_name''':'''LG''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''G5500'''}) +devices.devids['''lg_g5500_ver1_sub622'''] = devclass(devices.devids['''lg_g5500_ver1'''], '''lg_g5500_ver1_sub622''', '''LG-G5500 UP.Browser/6.2.2 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''lg_g7110_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g7110_ver1''', '''LG-G7110''', True, {'''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':140,'''max_image_width''':160,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''G7110''','''preferred_markup''':'''wml_1_2''','''resolution_height''':128,'''resolution_width''':160,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''voices''':32,'''wallpaper_colors''':16,'''wap_push_support''':True,'''wml_1_2''':True}) +devices.devids['''lg_g7110_ver1_sub410'''] = devclass(devices.devids['''lg_g7110_ver1'''], '''lg_g7110_ver1_sub410''', '''LG-G7110 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''lge_ax5450_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_ax5450_ver1''', '''LGE-AX5450''', False, None) +devices.devids['''lge_ax5450_ver1_sub4127'''] = devclass(devices.devids['''lge_ax5450_ver1'''], '''lge_ax5450_ver1_sub4127''', '''LGE-AX5450 UP.Browser/4.1.27''', False, None) +devices.devids['''lge_bd2030_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_bd2030_ver1''', '''LGE-BD2030''', False, None) +devices.devids['''lge_bd2030_ver1_sub4126'''] = devclass(devices.devids['''lge_bd2030_ver1'''], '''lge_bd2030_ver1_sub4126''', '''LGE-BD2030/1.0 UP.Browser/4.1.26l''', False, None) +devices.devids['''lge_cx5450_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_cx5450_ver1''', '''LGE-CX5450''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':16777216,'''columns''':16,'''compactmidi''':True,'''downloadfun_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':120,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''CX5450''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone_midi_monophonic''':True,'''rows''':8,'''sender''':True,'''uaprof''':'''http://device.telusmobility.com/lg/lg5450.rdf'''}) +devices.devids['''lge_cx5450_ver1_sub6223d1103'''] = devclass(devices.devids['''lge_cx5450_ver1'''], '''lge_cx5450_ver1_sub6223d1103''', '''LGE-CX5450 UP.Browser/6.2.2.3.d.1.103 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lg_kg110_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg110_ver1''', '''LG-KG110 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', True, {'''brand_name''':'''LG''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':5120,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''model_name''':'''KG119''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''rows''':6,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG119.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':-1}) +devices.devids['''lg_kg190_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg190_ver1''', '''LG-KG190 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':16777216,'''columns''':18,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':66560,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':100000,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG190''','''mp3''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG190.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_kg195_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg195_ver1''', '''LG-KG195''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':16777216,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':30720,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG195''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''table_support''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_kg195_ver1_sub11'''] = devclass(devices.devids['''lg_kg195_ver1'''], '''lg_kg195_ver1_sub11''', '''LG-KG195/V01 Obigo/WAP2.0 MIDP-2.0/CLDC-1.1 LG-KG195/V01 Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_kg300j_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg300j_ver1''', '''LG-KG300j/V01 Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':16777216,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':30720,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG300j''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG300j.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''lg_kg320_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg320_ver1''', '''LG-KG320''', True, {'''aac''':True,'''amr''':True,'''colors''':65536,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':20000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG320''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG320.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_wmv''':False,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_kg320_ver1_submic'''] = devclass(devices.devids['''lg_kg320_ver1'''], '''lg_kg320_ver1_submic''', '''LG-KG320 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_ks10_symbian_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''lg_ks10_symbian_ver1''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 LG KS10/v10A; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':17,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''epoc_bmp''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''2_0''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':1800,'''max_deck_size''':357000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''KS10 JOY''','''mp3''':True,'''multipart_support''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rmf''':True,'''rows''':13,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/KS10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''lg_ku311_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ku311_ver1''', '''LG-KU311''', True, {'''aac''':True,'''bmp''':True,'''colors''':65536,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''gif_animated''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':60000,'''max_image_height''':144,'''max_image_width''':161,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KU311''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':15,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_qcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KU311-V09a.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_honors_bgcolor''':True,'''xhtml_support_level''':3,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml''','''xmf''':True}) +devices.devids['''lg_ku311_ver1_subv09a'''] = devclass(devices.devids['''lg_ku311_ver1'''], '''lg_ku311_ver1_subv09a''', '''LG-KU311/V09a Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_ku311_ver1_subv10c'''] = devclass(devices.devids['''lg_ku311_ver1'''], '''lg_ku311_ver1_subv10c''', '''LG-KU311/V10c Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_ku380_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ku380_ver1''', '''LG/KU380''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_data_rate''':40,'''max_image_height''':144,'''max_image_width''':160,'''model_name''':'''KU380''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''screensaver''':True,'''screensaver_gif''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KU380-v10a.xml''','''wallpaper''':True,'''wallpaper_jpg''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''lg_ku380_ver1_subv10a'''] = devclass(devices.devids['''lg_ku380_ver1'''], '''lg_ku380_ver1_subv10a''', '''LG/KU380/v10a Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_ku800_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ku800_ver1''', '''LG/KU800''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''directdownload_support''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':5120,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KU800''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':72,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':15,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''svgt_1_1''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KU800.xml''','''uaprof2''':'''http://gsm.lge.com/html/gsm/LG-KU800-3G.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''lg_ku800_ver1_subv10'''] = devclass(devices.devids['''lg_ku800_ver1'''], '''lg_ku800_ver1_subv10''', '''LG/KU800/v1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_ku800_ver1_subv10d'''] = devclass(devices.devids['''lg_ku800_ver1'''], '''lg_ku800_ver1_subv10d''', '''LG-KU800/v10d Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':200,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KU800-v10d.xml'''}) +devices.devids['''lg_ku580_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ku580_ver1''', '''LG/KU580''', True, {'''amr''':True,'''bmp''':True,'''colors''':16777216,'''columns''':16,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':49152,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''KU580''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':12,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KU580.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''lg_ku580_ver2'''] = devclass(devices.devids['''lg_ku580_ver1'''], '''lg_ku580_ver2''', '''LG-KU580''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':303,'''mobile_browser''':'''Teleca-Obigo''','''model_name''':'''KU580 (CA)''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':240,'''resolution_width''':320,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KU580-CA.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''lg_ku580_ver2_sub216'''] = devclass(devices.devids['''lg_ku580_ver2'''], '''lg_ku580_ver2_sub216''', '''LG-KU580-Orange/v10a Browser/Obigo-Q05A1/2.16 MMS/LG-MMS-V1.0/1.2 Java/LGVM/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_l600v_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_l600v_ver1''', '''LG/L600V''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':5120,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''L600v''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':72,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':15,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''svgt_1_1''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-L600V.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''lg_l600v_ver1_uavariation'''] = devclass(devices.devids['''lg_l600v_ver1'''], '''lg_l600v_ver1_uavariation''', '''LG/L600V/v1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_l1100_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_l1100_ver1''', '''LG-L1100 UP.Browser/6.2''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_data_rate''':40,'''max_deck_size''':66560,'''max_image_height''':95,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':64000,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''L1100''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':127,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-L1100.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wta_phonebook''':True}) +devices.devids['''lg_l1100_ver1_sub622'''] = devclass(devices.devids['''lg_l1100_ver1'''], '''lg_l1100_ver1_sub622''', '''LG-L1100 UP.Browser/6.2.2 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_l1150_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_l1150_ver1''', '''LG-L1150''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''compactmidi''':True,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''ems_odi''':True,'''ems_version''':'''4.6''','''imelody''':True,'''max_image_height''':127,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':64000,'''mms_max_width''':480,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''L1150''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':67584,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/MX_LG_L1150.xml''','''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':65536,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':480,'''wallpaper_max_width''':640,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''lg_l1150_ver1_sub6225'''] = devclass(devices.devids['''lg_l1150_ver1'''], '''lg_l1150_ver1_sub6225''', '''LG-L1150 UP.Browser/6.2.2.5 (GUI) MMP/1.0''', False, {'''max_data_rate''':9}) +devices.devids['''lg_l1150_ver1_sub6232'''] = devclass(devices.devids['''lg_l1150_ver1'''], '''lg_l1150_ver1_sub6232''', '''LG-L1150 UP.Browser/6.2.3 (GUI) MMP/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lg_l1200_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_l1200_ver1''', '''LG-L1200''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''directdownload_support''':True,'''imelody''':True,'''max_image_height''':95,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':64000,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''L1200''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':127,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':65536,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-L1200.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':65536,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':480,'''wallpaper_max_width''':640,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wta_phonebook''':True}) +devices.devids['''lg_l1200_ver1_sub622'''] = devclass(devices.devids['''lg_l1200_ver1'''], '''lg_l1200_ver1_sub622''', '''LG-L1200 UP.Browser/6.2.2 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_l1400_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_l1400_ver1''', '''LG-L1400''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':127,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':64000,'''mms_max_width''':480,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''L1400''','''nokia_voice_call''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':65536,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG_L1400.xml''','''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':480,'''wallpaper_max_width''':640,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wta_phonebook''':True}) +devices.devids['''lg_l1400_ver1_sub622'''] = devclass(devices.devids['''lg_l1400_ver1'''], '''lg_l1400_ver1_sub622''', '''LG-L1400 UP.Browser/6.2.2 (GUI) MMP/1.0''', False, {'''max_data_rate''':9}) +devices.devids['''lg_l1400i_ver1'''] = devclass(devices.devids['''lg_l1400_ver1'''], '''lg_l1400i_ver1''', '''LG-L1400i''', True, {'''model_name''':'''L1400i''','''uaprof''':'''http://gsm.lge.com/html/gsm/LG-L1400i.xml'''}) +devices.devids['''lg_l1400i_ver1_sub623'''] = devclass(devices.devids['''lg_l1400i_ver1'''], '''lg_l1400i_ver1_sub623''', '''LG-L1400i UP.Browser/6.2.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_l3100_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_l3100_ver1''', '''LG-L3100''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''L3100''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-L3100.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wta_pdc''':True,'''xhtml_support_level''':1,'''xhtml_table_support''':True}) +devices.devids['''lg_l3100_ver1_sub10'''] = devclass(devices.devids['''lg_l3100_ver1'''], '''lg_l3100_ver1_sub10''', '''LG-L3100 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_l5100_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_l5100_ver1''', '''LG-L5100''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''ems''':True,'''imelody''':True,'''max_image_height''':183,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':102400,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''L5100''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':18,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-L5100.xml''','''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wta_phonebook''':True}) +devices.devids['''lg_l5100_ver1_sub10'''] = devclass(devices.devids['''lg_l5100_ver1'''], '''lg_l5100_ver1_sub10''', '''LG-L5100 UP.Browser/6.2.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lge_lg3200_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_lg3200_ver1''', '''LGE-LG3200''', True, {'''brand_name''':'''LG''','''colors''':65536,'''max_image_height''':108,'''max_image_width''':128,'''model_name''':'''LG3200''','''resolution_height''':128,'''resolution_width''':128}) +devices.devids['''lge_lg3200_ver1_sub4126'''] = devclass(devices.devids['''lge_lg3200_ver1'''], '''lge_lg3200_ver1_sub4126''', '''LGE-LG3200 UP.Browser/4.1.26l''', False, None) +devices.devids['''lge_lg3200_ver1_sub4127'''] = devclass(devices.devids['''lge_lg3200_ver1'''], '''lge_lg3200_ver1_sub4127''', '''LGE-LG3200 UP.Browser/4.1.27''', False, None) +devices.devids['''lge_lg4600_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_lg4600_ver1''', '''LGE-LG4600''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''downloadfun_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''model_name''':'''LG4600''','''resolution_height''':160,'''resolution_width''':120,'''rows''':8,'''uaprof''':'''http://device.telusmobility.com/lg/lg4600.rdf'''}) +devices.devids['''lge_lg4600_ver1_sub6223d2100'''] = devclass(devices.devids['''lge_lg4600_ver1'''], '''lge_lg4600_ver1_sub6223d2100''', '''LGE-LG4600 UP.Browser/6.2.2.3.d.2.100 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lge_lg4600_ver1_sub6223d2104'''] = devclass(devices.devids['''lge_lg4600_ver1'''], '''lge_lg4600_ver1_sub6223d2104''', '''LGE-LG4600 UP.Browser/6.2.2.3.d.1.104 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lge_lg6190_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_lg6190_ver1''', '''LGE-LG6190''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''downloadfun_support''':True,'''html_web_3_2''':True,'''j2me_cldc_1_0''':True,'''j2me_max_jar_size''':250000,'''j2me_midp_1_0''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':307200,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''LG6190''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_compactmidi''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''rows''':8,'''sender''':True,'''uaprof''':'''http://device.telusmobility.com/lg/lg6190.rdf''','''voices''':32,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''lge_lg6190_ver1_sub20'''] = devclass(devices.devids['''lge_lg6190_ver1'''], '''lge_lg6190_ver1_sub20''', '''LGE-LG6190 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lge_lg8000_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lge_lg8000_ver1''', '''LGE-LG800 AU-OBIGO/Q04C1-1.22 MMP/2.0''', True, {'''aac''':True,'''bmp''':True,'''colors''':65536,'''columns''':28,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':65536,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''LG800''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':14,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.bellmobilite.ca/BMC_LGE_LG800_CX80BL05.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''lge_lg8380_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_lg8380_ver1''', '''LGE-LG8380''', True, {'''brand_name''':'''LG''','''model_name''':'''LG8380'''}) +devices.devids['''lge_lg8380_ver1_sub4126'''] = devclass(devices.devids['''lge_lg8380_ver1'''], '''lge_lg8380_ver1_sub4126''', '''LGE-LG8380/1.0 UP.Browser/4.1.26l''', False, None) +devices.devids['''lg_m4300_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_m4300_ver1''', '''LG-M4300''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''M4300''','''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-M4300.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_m4300_ver1_subaumic20'''] = devclass(devices.devids['''lg_m4300_ver1'''], '''lg_m4300_ver1_subaumic20''', '''LG-M4300 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_m4410_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_m4410_ver1''', '''LG-M4410''', True, {'''aac''':True,'''colors''':262144,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''M4410''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''xhtml_support_level''':1}) +devices.devids['''lg_m4410_ver1_subaumic20'''] = devclass(devices.devids['''lg_m4410_ver1'''], '''lg_m4410_ver1_subaumic20''', '''LG-M4410 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_m6100_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_m6100_ver1''', '''LG-M6100''', True, {'''aac''':True,'''amr''':True,'''colors''':65536,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''directdownload_support''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':20000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''M6100''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-M6100.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wav''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_m6100_ver1_subaumic20'''] = devclass(devices.devids['''lg_m6100_ver1'''], '''lg_m6100_ver1_subaumic20''', '''LG-M6100 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_me500c_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_me500c_ver1''', '''LG-ME500c''', True, {'''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''ME500c''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''xhtml_support_level''':1}) +devices.devids['''lg_me500c_ver1_subaumic20'''] = devclass(devices.devids['''lg_me500c_ver1'''], '''lg_me500c_ver1_subaumic20''', '''LG-ME500c MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_me540c_ver1'''] = devclass(devices.devids['''lg_me500c_ver1'''], '''lg_me540c_ver1''', '''LG-ME540c''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''ME540c''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':1}) +devices.devids['''lg_me540c_ver1_subaumic20'''] = devclass(devices.devids['''lg_me540c_ver1'''], '''lg_me540c_ver1_subaumic20''', '''LG-ME540c MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_me591_ver1'''] = devclass(devices.devids['''generic'''], '''lg_me591_ver1''', '''LG-ME591''', False, {'''html_wi_oma_xhtmlmp_1_0''':True,'''model_name''':'''ME591''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':1}) +devices.devids['''lg_me591_ver1_subaumic20'''] = devclass(devices.devids['''lg_me591_ver1'''], '''lg_me591_ver1_subaumic20''', '''LG-ME591 MIC/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''lg_mg101_ver1'''] = devclass(devices.devids['''generic'''], '''lg_mg101_ver1''', '''LG-MG101''', False, {'''html_wi_oma_xhtmlmp_1_0''':True,'''model_name''':'''MG101''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':1}) +devices.devids['''lg_mg101_ver1_subaumic20'''] = devclass(devices.devids['''lg_mg101_ver1'''], '''lg_mg101_ver1_subaumic20''', '''LG-MG101 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, None) +devices.devids['''lg_mg105_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_mg105_ver1''', '''LG-MG105''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''MG105''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''xhtml_support_level''':1}) +devices.devids['''lg_mg105_ver1_subaumic20'''] = devclass(devices.devids['''lg_mg105_ver1'''], '''lg_mg105_ver1_subaumic20''', '''LG-MG105 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, None) +devices.devids['''lg_mg110_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_mg110_ver1''', '''LG-MG110''', True, {'''colors''':65536,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''MG110''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_wbmp''':True}) +devices.devids['''lg_mg150_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_mg150_ver1''', '''LG-MG150''', False, None) +devices.devids['''lg_mg150_ver1_sub623'''] = devclass(devices.devids['''lg_mg150_ver1'''], '''lg_mg150_ver1_sub623''', '''LG-MG150 UP.Browser/6.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''lg_mg155c_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_mg155c_ver1''', '''LG-MG155c''', True, {'''brand_name''':'''LG''','''colors''':65536,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''MG155c''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''lg_mg155c_ver1_sub623'''] = devclass(devices.devids['''lg_mg155c_ver1'''], '''lg_mg155c_ver1_sub623''', '''LG-MG155c UP.Browser/6.2.3 GUI MMP/1.0''', False, None) +devices.devids['''lg_mg170_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_mg170_ver1''', '''LG-MG170''', False, None) +devices.devids['''lg_mg170_ver1_sub623'''] = devclass(devices.devids['''lg_mg170_ver1'''], '''lg_mg170_ver1_sub623''', '''LG-MG170 UP.Browser/6.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''lg_mg191_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_mg191_ver1''', '''LG-MG191''', True, {'''gif''':True,'''jpg''':True,'''max_image_height''':64,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''MG191''','''resolution_height''':64,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':64,'''wallpaper_preferred_width''':120}) +devices.devids['''lg_mg191a_ver1'''] = devclass(devices.devids['''lg_mg191_ver1'''], '''lg_mg191a_ver1''', '''LG-MG191a''', False, None) +devices.devids['''lg_mg191a_ver1_sub481'''] = devclass(devices.devids['''lg_mg191a_ver1'''], '''lg_mg191a_ver1_sub481''', '''LG-MG191a AU/4.8.1''', False, None) +devices.devids['''lg_mg200_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_mg200_ver1''', '''LG-MG200''', False, None) +devices.devids['''lg_mg200_ver1_sub10'''] = devclass(devices.devids['''lg_mg200_ver1'''], '''lg_mg200_ver1_sub10''', '''LG-MG200 UP.Browser/6.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''lg_mg200c_ver1'''] = devclass(devices.devids['''lg_mg200_ver1'''], '''lg_mg200c_ver1''', '''LG-MG200c''', True, {'''brand_name''':'''LG''','''colors''':65536,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''MG200c''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''lg_mg200c_ver1_sub10'''] = devclass(devices.devids['''lg_mg200c_ver1'''], '''lg_mg200c_ver1_sub10''', '''LG-MG200c UP.Browser/6.2.3 GUI MMP/1.0''', False, None) +devices.devids['''lg_mg200d_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_mg200d_ver1''', '''LG-MG200d''', True, {'''brand_name''':'''LG''','''model_name''':'''MG200d'''}) +devices.devids['''lg_mg200d_ver1_sub10'''] = devclass(devices.devids['''lg_mg200d_ver1'''], '''lg_mg200d_ver1_sub10''', '''LG-MG200d UP.Browser/6.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''lg_mg300d_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_mg300d_ver1''', '''LG-MG300D''', True, {'''aac''':True,'''colors''':262144,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''MG300D''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''softkey_support''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_mg300d_ver1_submic'''] = devclass(devices.devids['''lg_mg300d_ver1'''], '''lg_mg300d_ver1_submic''', '''LG-MG300D MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_mg530_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_mg530_ver1''', '''LG-MG530''', False, None) +devices.devids['''lg_mg530_ver1_sub10'''] = devclass(devices.devids['''lg_mg530_ver1'''], '''lg_mg530_ver1_sub10''', '''LG-MG530 UP.Browser/6.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''lg_mg610c_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_mg610c_ver1''', '''LG-MG610c''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':140,'''max_image_width''':128,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''MG610c''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_mg610c_ver1_submic'''] = devclass(devices.devids['''lg_mg610c_ver1'''], '''lg_mg610c_ver1_submic''', '''LG-MG610c MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_mg800_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_mg800_ver1''', '''LG-MG800''', True, {'''aac''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''MG800''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_vcodec_h263_0''':True,'''voices''':24,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_mg800_ver1_submic'''] = devclass(devices.devids['''lg_mg800_ver1'''], '''lg_mg800_ver1_submic''', '''LG-MG800 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_mg810_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_mg810_ver1''', '''LG-MG810''', True, {'''aac''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''MG810''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_vcodec_h263_0''':True,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''lg_mg810c_ver1'''] = devclass(devices.devids['''lg_mg810_ver1'''], '''lg_mg810c_ver1''', '''LG-MG810C''', True, {'''model_name''':'''MG810C'''}) +devices.devids['''lge_mm535_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_mm535_ver1''', '''LGE-MM535''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':22,'''compactmidi''':True,'''gif_animated''':True,'''j2me_midp_1_0''':True,'''max_image_height''':185,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''MM535''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''rows''':15,'''screensaver''':True,'''screensaver_colors''':32,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''uaprof''':'''http://device.sprintpcs.com/LG/MM535/MM535V24.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':32,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176}) +devices.devids['''lge_mm535_ver1_sub20'''] = devclass(devices.devids['''lge_mm535_ver1'''], '''lge_mm535_ver1_sub20''', '''LGE-MM535/1.0 UP.Browser/6.2.3.2.l.1.100 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lge_mm535_ver1_sub6237e1101'''] = devclass(devices.devids['''lge_mm535_ver1'''], '''lge_mm535_ver1_sub6237e1101''', '''LGE-MM535/1.0 UP.Browser/6.2.3.7.e.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lge_mx200_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_mx200_ver1''', '''LGE-MX200''', True, {'''bmp''':True,'''brand_name''':'''LG''','''built_in_camera''':True,'''built_in_recorder''':True,'''colors''':65536,'''mms_bmp''':True,'''mms_evrc''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':32,'''mms_png''':True,'''mms_qcelp''':True,'''model_name''':'''MX200''','''resolution_height''':160,'''rows''':14,'''uaprof''':'''https://servicios.iusacell.com.mx/lg/mx200v1.xml'''}) +devices.devids['''lge_mx200_ver1_sub20'''] = devclass(devices.devids['''lge_mx200_ver1'''], '''lge_mx200_ver1_sub20''', '''LGE-MX200/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''lge_mx500_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_mx500_ver1''', '''LGE-MX500''', True, {'''bmp''':True,'''brand_name''':'''LG''','''built_in_camera''':True,'''built_in_recorder''':True,'''colors''':262144,'''columns''':12,'''mms_3gpp2''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':46080,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':72,'''mms_png''':True,'''mms_qcelp''':True,'''mms_wbmp''':True,'''mms_wml''':True,'''model_name''':'''MX500''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':17,'''sender''':True,'''uaprof''':'''https://servicios.iusacell.com.mx/lg/mx500v1.xml'''}) +devices.devids['''lge_mx500_ver1_sub20'''] = devclass(devices.devids['''lge_mx500_ver1'''], '''lge_mx500_ver1_sub20''', '''LGE-MX500/1.0 UP.Browser/6.2.3.2 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''lge_mx7000_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_mx7000_ver1''', '''LGE-MX7000''', True, {'''brand_name''':'''LG''','''model_name''':'''MX7000'''}) +devices.devids['''lge_mx7000_ver1_sub20'''] = devclass(devices.devids['''lge_mx7000_ver1'''], '''lge_mx7000_ver1_sub20''', '''LGE-MX7000/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''lg_og200_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_og200_ver1''', '''LG-OG200''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''OG200''','''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-OG200.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_og200_ver1_subuamic20'''] = devclass(devices.devids['''lg_og200_ver1'''], '''lg_og200_ver1_subuamic20''', '''LG-OG200 MIC/WAP2.0 MIDP-2.0/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_p7200_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_p7200_ver1''', '''LG-P7200''', True, {'''aac''':True,'''amr''':True,'''colors''':262144,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':220,'''max_image_width''':167,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''P7200''','''mp3''':True,'''oma_support''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-P7200.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_p7200_ver1_subuamic20'''] = devclass(devices.devids['''lg_p7200_ver1'''], '''lg_p7200_ver1_subuamic20''', '''LG-P7200 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lge_pm225_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_pm225_ver1''', '''LGE-PM225''', True, {'''brand_name''':'''LG''','''colors''':65536,'''columns''':12,'''directdownload_support''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_image_height''':127,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''PM225''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''rows''':13,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''uaprof''':'''http://device.sprintpcs.com/LG/PM225/PM225V02.rdf''','''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':127,'''wallpaper_preferred_width''':128}) +devices.devids['''lge_pm225_ver1_sub20'''] = devclass(devices.devids['''lge_pm225_ver1'''], '''lge_pm225_ver1_sub20''', '''LGE-PM225/1.0 UP.Browser/6.2.3.7.e.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lge_pm325_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_pm325_ver1''', '''LGE-PM325''', True, {'''brand_name''':'''LG''','''colors''':65536,'''columns''':12,'''compactmidi''':True,'''j2me_midp_1_0''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''PM325''','''qcelp''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':13,'''screensaver''':True,'''uaprof''':'''http://device.sprintpcs.com/LG/PM325/PM325V16.rdf''','''wallpaper''':True}) +devices.devids['''lge_pm325_ver1_sub20'''] = devclass(devices.devids['''lge_pm325_ver1'''], '''lge_pm325_ver1_sub20''', '''LGE-PM325/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lg_s5000_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_s5000_ver1''', '''LG-S5000''', False, {'''html_wi_oma_xhtmlmp_1_0''':True,'''model_name''':'''S5000''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_support_level''':1}) +devices.devids['''lg_s5000_ver1_subuamic20'''] = devclass(devices.devids['''lg_s5000_ver1'''], '''lg_s5000_ver1_subuamic20''', '''LG-S5000 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_s5100_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_s5100_ver1''', '''LG-S5100''', True, {'''colors''':262144,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''S5100''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_s5100_ver1_sub202011'''] = devclass(devices.devids['''lg_s5100_ver1'''], '''lg_s5100_ver1_sub202011''', '''LG-S5100 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_s5200_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_s5200_ver1''', '''LG-S5200''', True, {'''aac''':True,'''amr''':True,'''colors''':262144,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':119,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''S5200''','''mp3''':True,'''oma_support''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''smf''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-S5200.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_s5200_ver1_subuamic20'''] = devclass(devices.devids['''lg_s5200_ver1'''], '''lg_s5200_ver1_subuamic20''', '''LG-S5200 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_s5300_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_s5300_ver1''', '''LG-S5300''', True, {'''brand_name''':'''LG''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':False,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':144,'''max_image_width''':176,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''S5300''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-S5300.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_s5200_ver1_subv80b'''] = devclass(devices.devids['''lg_s5300_ver1'''], '''lg_s5200_ver1_subv80b''', '''LG-S5300/V08b Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lge_td6000_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_td6000_ver1''', '''LGE-TD6000''', False, None) +devices.devids['''lge_td6000_ver1_sub4127'''] = devclass(devices.devids['''lge_td6000_ver1'''], '''lge_td6000_ver1_sub4127''', '''LGE-TD6000 UP.Browser/4.1.27''', False, None) +devices.devids['''lge_vi125_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vi125_ver1''', '''LGE-VI125''', True, {'''brand_name''':'''LG''','''colors''':65536,'''columns''':12,'''compactmidi''':True,'''directdownload_support''':True,'''j2me_canvas_height''':132,'''j2me_canvas_width''':128,'''j2me_heap_size''':1024,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_image_height''':132,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''VI-125''','''qcelp''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_compactmidi''':True,'''ringtone_directdownload_size_limit''':131072,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''rows''':13,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':131072,'''screensaver_jpg''':True,'''screensaver_max_height''':144,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':144,'''screensaver_preferred_width''':128,'''uaprof''':'''http://device.sprintpcs.com/LG/VI125/VI125V10.rdf''','''voices''':32}) +devices.devids['''lge_vi125_ver1_sub20'''] = devclass(devices.devids['''lge_vi125_ver1'''], '''lge_vi125_ver1_sub20''', '''LGE-VI125/1.0 UP.Browser/6.2.3.2.l.1.100 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lg_vx10000'''] = devclass(devices.devids['''lg_generic'''], '''lg_vx10000''', '''Mozilla/4.1 (compatible; MSIE 6.0; ) 400x240 LGE VX10000''', True, {'''brand_name''':'''LG''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''model_name''':'''VX10000/Voyager''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':240,'''resolution_width''':400}) +devices.devids['''lge_vx4700_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx4700_ver1''', '''LGE-VX4700''', False, None) +devices.devids['''lge_vx4700_ver1_sub20'''] = devclass(devices.devids['''lge_vx4700_ver1'''], '''lge_vx4700_ver1_sub20''', '''LGE-VX4700/1.0 UP.Browser/6.2.3.1 (GUI) MMP/2.0''', False, None) +devices.devids['''lg_vx5200_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_vx5200_ver1''', '''LGE-VX5200''', True, {'''colors''':65536,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':False,'''midi_polyphonic''':False,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_midi_monophonic''':False,'''mms_midi_polyphonic''':False,'''mms_midi_polyphonic_voices''':32,'''mms_mp3''':False,'''mms_qcelp''':False,'''model_name''':'''VX5200''','''mp3''':False,'''oma_v_1_0_forwardlock''':True,'''qcelp''':False,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':False,'''ringtone_directdownload_size_limit''':125000,'''ringtone_midi_monophonic''':False,'''ringtone_midi_polyphonic''':False,'''ringtone_mp3''':False,'''ringtone_qcelp''':False,'''ringtone_spmidi''':False,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':125000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':125000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''verizon_lg_vx5200_ver1'''] = devclass(devices.devids['''lg_vx5200_ver1'''], '''verizon_lg_vx5200_ver1''', '''vx5200v1''', True, {'''model_name''':'''VX5200 (Verizon Wireless)'''}) +devices.devids['''lg_vx5300_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_vx5300_ver1''', '''LGE-VX5300''', True, {'''colors''':262144,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''VX5300''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''verizon_lg_vx5300_ver1'''] = devclass(devices.devids['''lg_vx5300_ver1'''], '''verizon_lg_vx5300_ver1''', '''vx5300v1''', True, {'''model_name''':'''VX5300 (Verizon Wireless)''','''wallpaper_png''':False}) +devices.devids['''lge_vx6100_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx6100_ver1''', '''LGE-VX6100''', True, {'''brand_name''':'''LG''','''colors''':262144,'''columns''':15,'''directdownload_support''':True,'''gif_animated''':True,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':125000,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':32,'''mms_mp3''':True,'''mms_qcelp''':True,'''model_name''':'''VX6100''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':125000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''rows''':5,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':125000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':160,'''sender''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':125000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''lge_vx6100_ver1_sub20'''] = devclass(devices.devids['''lge_vx6100_ver1'''], '''lge_vx6100_ver1_sub20''', '''LGE-VX6100/1.0 UP.Browser/6.2.3.1 (GUI) MMP/2.0''', False, None) +devices.devids['''verizon_lge_vx6100_ver1'''] = devclass(devices.devids['''lge_vx6100_ver1'''], '''verizon_lge_vx6100_ver1''', '''vx6100v1''', True, {'''model_name''':'''VX6100 (Verizon Wireless)''','''wallpaper_png''':False}) +devices.devids['''lge_vx8000_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx8000_ver1''', '''LGE-VX8000''', True, {'''brand_name''':'''LG''','''colors''':262144,'''columns''':15,'''directdownload_support''':True,'''gif_animated''':True,'''max_image_height''':200,'''max_image_width''':168,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':350000,'''mms_midi_polyphonic_voices''':64,'''mms_mp3''':True,'''mms_qcelp''':True,'''model_name''':'''VX8000''','''mp3''':True,'''oma_v_1_0_forwardlock''':False,'''qcelp''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_directdownload_size_limit''':350000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':64,'''rows''':5,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':350000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''sender''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':350000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''lge_vx8000_ver1_sub20'''] = devclass(devices.devids['''lge_vx8000_ver1'''], '''lge_vx8000_ver1_sub20''', '''LGE-VX8000/1.0 UP.Browser/6.2.3.1 (GUI) MMP/2.0''', False, None) +devices.devids['''verizon_lge_vx8000_ver1'''] = devclass(devices.devids['''lge_vx8000_ver1'''], '''verizon_lge_vx8000_ver1''', '''vx8000v1''', True, {'''model_name''':'''VX8000 (Verizon Wireless)''','''ringtone_mp3''':True,'''wallpaper_png''':False}) +devices.devids['''lge_vx8100_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx8100_ver1''', '''LGE-VX8100''', True, {'''brand_name''':'''LG''','''colors''':262000,'''directdownload_support''':True,'''gif_animated''':True,'''max_image_height''':190,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''VX8100''','''mp3''':True,'''qcelp''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':72,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''lge_vx8100_ver1_sub6232'''] = devclass(devices.devids['''lge_vx8100_ver1'''], '''lge_vx8100_ver1_sub6232''', '''LGE-VX8100/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''verizon_lge_vx8100_ver1'''] = devclass(devices.devids['''lge_vx8100_ver1'''], '''verizon_lge_vx8100_ver1''', '''vx8100v1''', True, {'''midi_monophonic''':False,'''midi_polyphonic''':False,'''model_name''':'''VX8100 (Verizon Wireless)''','''mp3''':False,'''qcelp''':False,'''ringtone''':False,'''ringtone_midi_monophonic''':False,'''ringtone_midi_polyphonic''':False,'''ringtone_mp3''':False,'''ringtone_qcelp''':False,'''ringtone_voices''':16,'''voices''':16,'''wallpaper_png''':False}) +devices.devids['''lg_vx8300_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_vx8300_ver1''', '''LGE-VX8300''', True, {'''colors''':262144,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''VX8300''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':184,'''wallpaper_preferred_width''':176}) +devices.devids['''verizon_lg_vx8300_ver1'''] = devclass(devices.devids['''lg_vx8300_ver1'''], '''verizon_lg_vx8300_ver1''', '''vx8300v1''', True, {'''model_name''':'''VX8300 (Verizon Wireless)'''}) +devices.devids['''lg_vx8500_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_vx8500_ver1''', '''LGE-VX8500''', True, {'''bmp''':True,'''colors''':65536,'''columns''':17,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_screen_height''':275,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':255,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''VX8500''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':275,'''resolution_width''':240,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':16,'''screensaver''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vtext.com/lg/vx8500/vx8500.xml''','''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''xhtml_support_level''':1}) +devices.devids['''verizon_lg_vx8500_ver1'''] = devclass(devices.devids['''lg_vx8500_ver1'''], '''verizon_lg_vx8500_ver1''', '''vx8500v1''', True, {'''model_name''':'''VX8500 (Verizon Wireless)'''}) +devices.devids['''lge_vx8550_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx8550_ver1''', '''LGE-VX8550/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':17,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_screen_height''':274,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':254,'''max_image_width''':240,'''midi_monophonic''':True,'''model_name''':'''VX-8550''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':274,'''resolution_width''':240,'''ringtone_midi_monophonic''':True,'''rows''':14,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vtext.com/lg/vx8550/vx8550.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''xhtml_support_level''':3}) +devices.devids['''lge_vx8700_ver1'''] = devclass(devices.devids['''lge_vx8100_ver1_sub6232'''], '''lge_vx8700_ver1''', '''LGE-VX8700/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':15,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''model_name''':'''VX-8700''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone_midi_monophonic''':True,'''rows''':17,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vtext.com/lg/vx8700/vx8700.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''xhtml_support_level''':3}) +devices.devids['''lge_vx9400_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx9400_ver1''', '''LGE-VX9400''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':22,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_screen_height''':204,'''j2me_screen_width''':320,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':184,'''max_image_width''':320,'''midi_monophonic''':True,'''model_name''':'''VX-9400''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':204,'''resolution_width''':320,'''ringtone_midi_monophonic''':True,'''rows''':12,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vtext.com/lg/vx9400/vx9400.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''xhtml_support_level''':3}) +devices.devids['''lge_vx9400_ver1_subua'''] = devclass(devices.devids['''lge_vx9400_ver1'''], '''lge_vx9400_ver1_subua''', '''LGE-VX9400/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lge_vx9800_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx9800_ver1''', '''LGE-VX9800''', True, {'''brand_name''':'''LG''','''colors''':262144,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''has_qwerty_keyboard''':True,'''jpg''':True,'''max_image_height''':124,'''max_image_width''':176,'''midi_monophonic''':False,'''midi_polyphonic''':False,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':144,'''mms_max_width''':176,'''mms_midi_monophonic''':False,'''mms_midi_polyphonic''':False,'''mms_midi_polyphonic_voices''':72,'''mms_mp3''':False,'''mms_qcelp''':False,'''model_name''':'''VX9800''','''mp3''':False,'''oma_v_1_0_forwardlock''':True,'''qcelp''':False,'''receiver''':True,'''resolution_height''':144,'''resolution_width''':176,'''ringtone''':False,'''ringtone_directdownload_size_limit''':358400,'''ringtone_midi_monophonic''':False,'''ringtone_midi_polyphonic''':False,'''ringtone_mp3''':False,'''ringtone_qcelp''':False,'''ringtone_voices''':72,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':358400,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':144,'''screensaver_max_width''':176,'''screensaver_preferred_height''':144,'''screensaver_preferred_width''':176,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':358400,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':144,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''verizon_lge_vx9800_ver1'''] = devclass(devices.devids['''lge_vx9800_ver1'''], '''verizon_lge_vx9800_ver1''', '''VX9800v1''', True, {'''model_name''':'''VX9800 (Verizon Wireless)''','''wallpaper_png''':False}) +devices.devids['''lge_vx9900_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx9900_ver1''', '''LGE-VX9900/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':22,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_screen_height''':204,'''j2me_screen_width''':320,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':184,'''max_image_width''':320,'''midi_monophonic''':True,'''model_name''':'''VX-9900''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':204,'''resolution_width''':320,'''ringtone_midi_monophonic''':True,'''rows''':12,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vtext.com/lg/vx9900/vx9900.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True}) +devices.devids['''lg_lp1000_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lg_lp1000_ver1''', '''LG-LP1000/1.0 UP.Browser/4.1.22b''', True, {'''brand_name''':'''LG''','''model_name''':'''LP1000'''}) +devices.devids['''lge_db520_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_db520_ver1''', '''LGE-DB520''', True, {'''brand_name''':'''LG''','''model_name''':'''DB520'''}) +devices.devids['''lge_db520_ver1_sub41221'''] = devclass(devices.devids['''lge_db520_ver1'''], '''lge_db520_ver1_sub41221''', '''LGE-DB520/1.0 UP.Browser/4.1.22b1''', False, None) +devices.devids['''lge_db525_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_db525_ver1''', '''LGE-DB525/1.0 UP.Browser/4''', True, {'''brand_name''':'''LG''','''model_name''':'''DB525'''}) +devices.devids['''lge_db525_ver1_sub4124f'''] = devclass(devices.devids['''lge_db525_ver1'''], '''lge_db525_ver1_sub4124f''', '''LGE-DB525/1.0 UP.Browser/4.1.24f''', False, None) +devices.devids['''lg_t5100_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_t5100_ver1''', '''LG-T5100''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':154624,'''max_image_height''':137,'''max_image_width''':166,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':102400,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''T5100''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':183,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':18,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-T5100V.xml''','''uaprof2''':'''http://gsm.lge.com/html/gsm/LG-T5100N.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wta_phonebook''':True}) +devices.devids['''lg_t5100_ver1_sub622'''] = devclass(devices.devids['''lg_t5100_ver1'''], '''lg_t5100_ver1_sub622''', '''LG-T5100 UP.Browser/6.2.2 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_t5100_ver1_sub623'''] = devclass(devices.devids['''lg_t5100_ver1'''], '''lg_t5100_ver1_sub623''', '''LG-T5100 UP.Browser/6.2.3 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_t5100_ver1_sub6232'''] = devclass(devices.devids['''lg_t5100_ver1'''], '''lg_t5100_ver1_sub6232''', '''LG-T5100 UP.Browser/6.2.3 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_td7130_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lg_td7130_ver1''', '''LG-TD7130''', False, None) +devices.devids['''lg_td7130_ver1_sub41263'''] = devclass(devices.devids['''lg_td7130_ver1'''], '''lg_td7130_ver1_sub41263''', '''LG-TD7130/1.0 UP.Browser/4.1.26l3''', False, None) +devices.devids['''lg_u250_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_u250_ver1''', '''LG/U250/v1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':60000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''U250''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-U250.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_wmv''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''lg_u400_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''lg_u400_ver1''', '''LG/U400/v1.0''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':30,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':1024,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''U400''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-U400.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''lg_u450_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_u450_ver1''', '''LG/U450/v1.0''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':262144,'''columns''':30,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':1024,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''U450''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-U450.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''lg_8100_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_8100_ver1''', '''LG/U8100''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':30,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':5120,'''max_image_height''':200,'''max_image_width''':168,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''U8100''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':10,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-U8100.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''lg_u8110_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_u8110_ver1''', '''LG/U8110''', True, {'''aac''':True,'''access_key_support''':True,'''amr''':True,'''bmp''':True,'''built_in_camera''':True,'''colors''':65536,'''columns''':30,'''connectionoriented_confirmed_service_indication''':True,'''directdownload_support''':True,'''ems''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''https_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':5120,'''max_image_height''':165,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''U8110''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':16,'''picture_gif''':True,'''picture_jpg''':True,'''picture_png''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':20480,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':10,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_max_height''':182,'''screensaver_max_width''':176,'''screensaver_preferred_height''':182,'''screensaver_preferred_width''':176,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://fr.lge.com/gsm/LG-U8110.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':182,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':182,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_select_as_dropdown''':True,'''xhtml_select_as_radiobutton''':True,'''xhtml_support_level''':1,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_table_support''':True,'''xmf''':True}) +devices.devids['''lg_u8110_ver1_sub10'''] = devclass(devices.devids['''lg_u8110_ver1'''], '''lg_u8110_ver1_sub10''', '''LG/U8110/v1.0''', False, {'''max_data_rate''':384}) +devices.devids['''lg_u8110_ver1_sub20'''] = devclass(devices.devids['''lg_u8110_ver1'''], '''lg_u8110_ver1_sub20''', '''LG/U8110/v2.0''', False, {'''max_data_rate''':384}) +devices.devids['''lg_u8120_ver1'''] = devclass(devices.devids['''lg_u8110_ver1'''], '''lg_u8120_ver1''', '''LG/U8120/v1.0''', True, {'''max_data_rate''':384,'''max_image_height''':165,'''max_image_width''':176,'''model_name''':'''U8120'''}) +devices.devids['''lg_u8130_ver1'''] = devclass(devices.devids['''lg_u8120_ver1'''], '''lg_u8130_ver1''', '''LG/U8130/v1.0''', True, {'''max_data_rate''':384,'''max_deck_size''':10240,'''max_image_height''':165,'''max_image_width''':176,'''model_name''':'''U8130''','''uaprof''':'''http://fr.lge.com/gsm/LG-U8130.xml''','''video_wmv''':True}) +devices.devids['''lg_u8130_ver1_subv13g'''] = devclass(devices.devids['''lg_u8130_ver1'''], '''lg_u8130_ver1_subv13g''', '''LG/U8130/v13G''', False, {'''max_data_rate''':384}) +devices.devids['''lg_8138_ver1'''] = devclass(devices.devids['''lg_u8130_ver1'''], '''lg_8138_ver1''', '''LG/U8138''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':30,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':5120,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''U8138''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-U8138.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1,'''xmf''':True}) +devices.devids['''lg_8138_ver1_sub10'''] = devclass(devices.devids['''lg_8138_ver1'''], '''lg_8138_ver1_sub10''', '''LG/U8138/v1.0''', False, {'''max_data_rate''':384}) +devices.devids['''lg_8138_ver1_sub20'''] = devclass(devices.devids['''lg_8138_ver1'''], '''lg_8138_ver1_sub20''', '''LG/U8138/v2.0''', False, {'''max_data_rate''':384}) +devices.devids['''lg_8138_ver1_sub502'''] = devclass(devices.devids['''lg_8138_ver1'''], '''lg_8138_ver1_sub502''', '''LG-U8138/1.0 (05.02) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':384}) +devices.devids['''lg_8180_ver1'''] = devclass(devices.devids['''lg_u8130_ver1'''], '''lg_8180_ver1''', '''LG/U8180''', True, {'''colors''':16777216,'''max_data_rate''':384,'''max_image_height''':165,'''max_image_width''':176,'''model_name''':'''U8180''','''ringtone_3gpp''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-U8180.xml''','''video_3gpp2''':True,'''video_max_frame_rate''':15,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':24}) +devices.devids['''lg_8180_ver1_sub10'''] = devclass(devices.devids['''lg_8180_ver1'''], '''lg_8180_ver1_sub10''', '''LG/U8180/v1.0''', False, {'''max_data_rate''':384}) +devices.devids['''lg_8180f_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_8180f_ver1''', '''LG/U8180F''', False, None) +devices.devids['''lge_u8150_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lge_u8150_ver1''', '''LGE/U8150''', True, {'''bmp''':True,'''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':25,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':1048576,'''max_image_height''':180,'''max_image_width''':167,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':300000,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''U8150''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://fr.lge.com/gsm/LG-U8150.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':153600,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_format_as_css_property''':True,'''xhtml_support_level''':1}) +devices.devids['''lge_u8150_ver1_subdashmidp20'''] = devclass(devices.devids['''lge_u8150_ver1'''], '''lge_u8150_ver1_subdashmidp20''', '''LGE-U8150/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lge_u8150_ver1_submidp20'''] = devclass(devices.devids['''lge_u8150_ver1'''], '''lge_u8150_ver1_submidp20''', '''LGE/U8150/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lge_u8150_ver1_sub11midp20'''] = devclass(devices.devids['''lge_u8150_ver1'''], '''lge_u8150_ver1_sub11midp20''', '''LGE/U8150/1.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_u8200_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_u8200_ver1''', '''LG-U8200''', True, {'''aac''':True,'''bmp''':True,'''colors''':65536,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':60000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''U8200''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-U8200.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wav''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_u8200_ver1_sublg'''] = devclass(devices.devids['''lg_u8200_ver1'''], '''lg_u8200_ver1_sublg''', '''LG-U8200 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lge_u8200_ver1_sublge'''] = devclass(devices.devids['''lg_u8200_ver1'''], '''lge_u8200_ver1_sublge''', '''LGE/U8200 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_u8210_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_u8210_ver1''', '''LG-U8210''', True, {'''aac''':True,'''colors''':262144,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':169,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''U8210''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''video''':True,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''lg_u8210_ver1_subv080'''] = devclass(devices.devids['''lg_u8210_ver1'''], '''lg_u8210_ver1_subv080''', '''LG-U8210/V080 Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_u8210_ver1_subobigo20'''] = devclass(devices.devids['''lg_u8210_ver1'''], '''lg_u8210_ver1_subobigo20''', '''LG-U8210/V100 Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lge_ver1_submidp20'''] = devclass(devices.devids['''lg_u8210_ver1'''], '''lge_ver1_submidp20''', '''LGE/U8210/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''lg_u8290_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_u8290_ver1''', '''LG-U8290''', True, {'''colors''':262144,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':20480,'''max_image_height''':220,'''max_image_width''':176,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''U8290''','''mp3''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''video''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_u8290_ver1_subau20'''] = devclass(devices.devids['''lg_u8290_ver1'''], '''lg_u8290_ver1_subau20''', '''LG-U8290 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, None) +devices.devids['''lg_u8290_ver1_sub'''] = devclass(devices.devids['''lg_u8290_ver1'''], '''lg_u8290_ver1_sub''', '''LG/U8290/v1.0''', False, None) +devices.devids['''lg_u8290_ver1_sub10'''] = devclass(devices.devids['''lg_u8290_ver1'''], '''lg_u8290_ver1_sub10''', '''LG/U8290/v1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''lg_u8290_ver1_sub11'''] = devclass(devices.devids['''lg_u8290_ver1'''], '''lg_u8290_ver1_sub11''', '''LG/U8290/v1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''lg_u8330_ver1'''] = devclass(devices.devids['''lg_u8110_ver1'''], '''lg_u8330_ver1''', '''LG/U8330/v1.0''', True, {'''colors''':262144,'''columns''':20,'''max_data_rate''':384,'''max_image_height''':182,'''max_image_width''':176,'''model_name''':'''U8330''','''rows''':11,'''video_wmv''':True,'''wallpaper_colors''':18}) +devices.devids['''lg_u8360_ver1'''] = devclass(devices.devids['''lg_u8330_ver1'''], '''lg_u8360_ver1''', '''LG/U8360/v1.0''', True, {'''max_data_rate''':384,'''model_name''':'''U8360''','''ringtone_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_max_bit_rate''':26624,'''streaming_video_max_frame_rate''':8,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''video_3gpp2''':True,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True}) +devices.devids['''lg_u8360_subua'''] = devclass(devices.devids['''lg_u8360_ver1'''], '''lg_u8360_subua''', '''LG-U8360/1.0 (05.02) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':384}) +devices.devids['''lg_u8380_ver1'''] = devclass(devices.devids['''lg_u8360_ver1'''], '''lg_u8380_ver1''', '''LG/U8380/v1.0''', True, {'''max_data_rate''':384,'''model_name''':'''U8380'''}) +devices.devids['''lg_u8500_ver1'''] = devclass(devices.devids['''lg_u8360_ver1'''], '''lg_u8500_ver1''', '''LG-U8500''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_3gpp''':True,'''j2me_aac''':True,'''j2me_amr''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''j2me_mp3''':True,'''j2me_mp4''':True,'''j2me_mpeg4''':True,'''j2me_photo_capture_enabled''':True,'''j2me_png''':True,'''max_image_height''':164,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''U8500''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':72,'''screensaver_max_height''':220,'''streaming_3gpp''':True,'''voices''':72,'''wallpaper_max_height''':220,'''xhtml_support_level''':1}) +devices.devids['''lg_u8500_ver1_submidp20'''] = devclass(devices.devids['''lg_u8500_ver1'''], '''lg_u8500_ver1_submidp20''', '''LG-U8500 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''lg_u8500_ver1_subv10'''] = devclass(devices.devids['''lg_u8500_ver1'''], '''lg_u8500_ver1_subv10''', '''LG-U8500-V10''', False, None) +devices.devids['''lg_u8500_ver1_subaumic20'''] = devclass(devices.devids['''lg_u8500_ver1'''], '''lg_u8500_ver1_subaumic20''', '''LG-U8500-V10 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''lg_u880_ver1'''] = devclass(devices.devids['''lg_u8500_ver1'''], '''lg_u880_ver1''', '''LG-U880''', True, {'''model_name''':'''U880''','''wallpaper_preferred_height''':220}) +devices.devids['''lg_u880_ver1_subv10'''] = devclass(devices.devids['''lg_u880_ver1'''], '''lg_u880_ver1_subv10''', '''LG/U880/v1.0''', False, {'''max_data_rate''':384}) +devices.devids['''lg_u890_ver1'''] = devclass(devices.devids['''lg_u880_ver1'''], '''lg_u890_ver1''', '''LG-U890''', True, {'''can_skip_aligned_link_row''':True,'''model_name''':'''U890''','''uaprof''':'''http://gsm.lge.com/html/gsm/LG-U890.xml'''}) +devices.devids['''lg_u300_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_u300_ver1''', '''LG-U300''', True, {'''aac''':True,'''amr''':True,'''colors''':262144,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''U300''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_preferred_height''':220,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''lg_u310_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_u310_ver1''', '''LG-U310''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':262144,'''columns''':30,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':1024,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''U310''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-U310.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''lg_u8550_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_u8550_ver1''', '''LG-U8550''', True, {'''aac''':True,'''colors''':262144,'''ems''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_image_height''':220,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''U8550''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':220,'''resolution_width''':220,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':220,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':220,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''lg_u8550_ver1_subv10'''] = devclass(devices.devids['''lg_u8550_ver1'''], '''lg_u8550_ver1_subv10''', '''LG/U8550/v1.0''', False, None) +devices.devids['''lg_w800_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_w800_ver1''', '''LG-W800''', True, {'''brand_name''':'''LG''','''model_name''':'''W800'''}) +devices.devids['''lg_w800_ver1_sub20'''] = devclass(devices.devids['''lg_w800_ver1'''], '''lg_w800_ver1_sub20''', '''LG-W800/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''lge_dm120_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_dm120_ver1''', '''LGE-DM120''', False, None) +devices.devids['''lge_dm120_ver1_sub4121'''] = devclass(devices.devids['''lge_dm120_ver1'''], '''lge_dm120_ver1_sub4121''', '''LGE-DM120/1.0 UP.Browser/4.1.21c''', False, None) +devices.devids['''lge_dm510_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lge_dm510_ver1''', '''LGE-DM510''', False, None) +devices.devids['''lge_dm510_ver1_sub4121'''] = devclass(devices.devids['''lge_dm510_ver1'''], '''lge_dm510_ver1_sub4121''', '''LGE-DM510/1.0 UP/4.1.21a''', False, None) +devices.devids['''lge_dm515h_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_dm515h_ver1''', '''LGE-DM515H''', True, {'''brand_name''':'''LG''','''model_name''':'''DM515H'''}) +devices.devids['''lge_dm515h_ver1_sub4122b'''] = devclass(devices.devids['''lge_dm515h_ver1'''], '''lge_dm515h_ver1_sub4122b''', '''LGE-DM515H/1.0 UP.Browser/4.1.22b''', False, None) +devices.devids['''lge_lx535_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_lx535_ver1''', '''LGE-LX535''', False, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':262144,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''LX535''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''screensaver''':True,'''screensaver_gif''':True,'''streaming_video''':True,'''video''':True,'''voices''':72,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''lge_lx535_ver1_sub20'''] = devclass(devices.devids['''lge_lx535_ver1'''], '''lge_lx535_ver1_sub20''', '''LGE-LX535/1.0 UP.Browser/6.2.2 (GUI) MMP/2.0''', False, None) +devices.devids['''lg_lx550_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_lx550_ver1''', '''LG-LX550''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':22,'''compactmidi''':True,'''gif_animated''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_image_height''':185,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''LX550''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''rows''':15,'''screensaver''':True,'''screensaver_colors''':32,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':176,'''streaming_video_qcif_max_width''':144,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_height''':176,'''video_max_width''':144,'''video_mp4''':True,'''video_preferred_height''':176,'''video_preferred_width''':144,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_h264''':10,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':32,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176}) +devices.devids['''lg_lx550_ver1_sub20'''] = devclass(devices.devids['''lg_lx550_ver1'''], '''lg_lx550_ver1_sub20''', '''LG-LX550 AU-MIC-LX550/2.0 MMP/2.0 Profile/MIDP-2.0''', False, None) +devices.devids['''lge_lx5350_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''lge_lx5350_ver1''', '''LGE-LX5350''', True, {'''brand_name''':'''LG''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''directdownload_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':88,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''LX5350''','''resolution_height''':108,'''resolution_width''':120,'''ringtone''':True,'''ringtone_compactmidi''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''rows''':8,'''uaprof''':'''http://device.sprintpcs.com/LG/5350/LX5350_11.rdf''','''voices''':40,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''lge_lx5350_ver1_sub6102118'''] = devclass(devices.devids['''lge_lx5350_ver1'''], '''lge_lx5350_ver1_sub6102118''', '''LGE-LX5350/1.0 UP.Browser/6.1.0.2.118 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lge_lx5350_ver2'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_lx5350_ver2''', '''LGE-LX5350/4.0''', False, {'''brand_name''':'''LG''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''midi_monophonic''':True,'''model_name''':'''LX5350''','''resolution_height''':108,'''resolution_width''':120,'''rows''':8}) +devices.devids['''lge_lx5350_ver2_sub20'''] = devclass(devices.devids['''lge_lx5350_ver2'''], '''lge_lx5350_ver2_sub20''', '''LGE-LX5350/4.0 UP.Browser/6.2.2.1.208 (GUI) MMP/2.0''', False, None) +devices.devids['''lg_lx260_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_lx260_ver1''', '''LG-LX260 POLARIS-LX260/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':17,'''compactmidi''':True,'''gif''':True,'''has_qwerty_keyboard''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':65536,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''model_name''':'''LX260''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':11,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/LG/LX260/LX260V0a.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_file_upload''':'''supported''','''xhtml_support_level''':3}) +devices.devids['''lge_db230_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_db230_ver1''', '''LGE-DB230/1.0 UP.Browser/4.1.24f''', True, {'''brand_name''':'''LG''','''model_name''':'''DB230'''}) +devices.devids['''lge_tm240_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_tm240_ver1''', '''LGE-TM240''', False, None) +devices.devids['''lge_tm240_ver1_sub4126'''] = devclass(devices.devids['''lge_tm240_ver1'''], '''lge_tm240_ver1_sub4126''', '''LGE-TM240/1.0 UP.Browser/4.1.26l''', False, None) +devices.devids['''lge_tm250_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_tm250_ver1''', '''LGE-TM250''', True, {'''brand_name''':'''LG''','''model_name''':'''TM250'''}) +devices.devids['''lge_tm250_ver1_sub4127'''] = devclass(devices.devids['''lge_tm250_ver1'''], '''lge_tm250_ver1_sub4127''', '''LGE-TM250/1.0 UP.Browser/4.1.27''', False, None) +devices.devids['''lge_tm510_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_tm510_ver1''', '''LGE-TM510/1.0 UP.Browser/4.1.22b''', True, {'''brand_name''':'''LG''','''model_name''':'''TM510'''}) +devices.devids['''lge_tm520_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_tm520_ver1''', '''LGE-TM520/1.0 UP.Browser/4.1.22b''', True, {'''brand_name''':'''LG''','''model_name''':'''TM520'''}) +devices.devids['''lge_tm540c_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_tm540c_ver1''', '''LGE-TM540C''', True, {'''brand_name''':'''LG''','''model_name''':'''TM540C'''}) +devices.devids['''lge_tm540c_ver1_sub4126l'''] = devclass(devices.devids['''lge_tm540c_ver1'''], '''lge_tm540c_ver1_sub4126l''', '''LGE-TM540C/1.0 UP.Browser/4.1.26l''', False, None) +devices.devids['''lge_tm910_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_tm910_ver1''', '''LGE-TM910''', False, None) +devices.devids['''lge_tm910_ver1_sub4122'''] = devclass(devices.devids['''lge_tm910_ver1'''], '''lge_tm910_ver1_sub4122''', '''LGE-TM910/1.0 UP.Browser/4.1.22b''', False, None) +devices.devids['''lg_g5300i_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g5300i_ver1''', '''LG-G5300i''', True, {'''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':261120,'''max_image_height''':108,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''G5300i''','''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':6,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://fr.lge.com/gsm/LG-G5300i.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_g5300i_ver1_sub410'''] = devclass(devices.devids['''lg_g5300i_ver1'''], '''lg_g5300i_ver1_sub410''', '''LG-G5300i/JM AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g7000_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g7000_ver1''', '''LG-G7000''', True, {'''colors''':65536,'''columns''':8,'''ems''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''max_deck_size''':26100,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''G7000''','''nokia_voice_call''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''rows''':16,'''softkey_support''':True,'''uaprof''':'''http://fr.lge.com/gsm/LG-G7000.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wta_phonebook''':True,'''xhtml_table_support''':True}) +devices.devids['''lg_g7000_ver1_sub410'''] = devclass(devices.devids['''lg_g7000_ver1'''], '''lg_g7000_ver1_sub410''', '''LG-G7000 AU/4.10''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g7020_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g7020_ver1''', '''LG-G7020''', True, {'''colors''':65536,'''downloadfun_support''':True,'''ems''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''G7020''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''lg_g7030_ver1'''] = devclass(devices.devids['''lg_g7000_ver1'''], '''lg_g7030_ver1''', '''LG-G7030''', True, {'''model_name''':'''G7030''','''ringtone_mmf''':True}) +devices.devids['''lg_g7050_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_g7050_ver1''', '''LG-G7050''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':66560,'''max_image_height''':95,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':51200,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''G7050''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':127,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://fr.lge.com/gsm/LG-G7050.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wta_phonebook''':True}) +devices.devids['''lg_g7050_ver1_sub10'''] = devclass(devices.devids['''lg_g7050_ver1'''], '''lg_g7050_ver1_sub10''', '''LG-G7050 UP.Browser/6.2.2 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g7050_ver1_sub10midp10'''] = devclass(devices.devids['''lg_g7050_ver1'''], '''lg_g7050_ver1_sub10midp10''', '''LG-G7050 UP.Browser/6.2.2 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g7070_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g7070_ver1''', '''LG-G7070''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':261120,'''model_name''':'''G7070''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True}) +devices.devids['''lg_g7070_ver1_subau410'''] = devclass(devices.devids['''lg_g7070_ver1'''], '''lg_g7070_ver1_subau410''', '''LG-G7070 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''lg_g7100_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g7100_ver1''', '''LG-G7100''', True, {'''colors''':65536,'''columns''':17,'''connectionless_service_indication''':True,'''ems''':True,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':261120,'''max_image_height''':120,'''max_image_width''':121,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''G7100''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':32,'''rows''':6,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://fr.lge.com/gsm/LG-G7100.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_g7100_ver1_sub410midp1'''] = devclass(devices.devids['''lg_g7100_ver1'''], '''lg_g7100_ver1_sub410midp1''', '''LG-G7100 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g7100_ver1_sub410midp2'''] = devclass(devices.devids['''lg_g7100_ver1'''], '''lg_g7100_ver1_sub410midp2''', '''LG-G7100 AU/4.10 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g7100_ver1_sub410cldc2'''] = devclass(devices.devids['''lg_g7100_ver1'''], '''lg_g7100_ver1_sub410cldc2''', '''LG-G7100 AU/4.10 Profile/MIDP-2.0 Configuration/CLDC-2.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g7120_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g7120_ver1''', '''LG-G7120''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''G7120''','''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True}) +devices.devids['''lg_g7120_ver1_sub10'''] = devclass(devices.devids['''lg_g7120_ver1'''], '''lg_g7120_ver1_sub10''', '''LG-G7120 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''lg_g7200_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_g7200_ver1''', '''LG-G7200''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':8,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':153600,'''max_image_height''':145,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':102400,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''G7200''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':183,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':18,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-G7200.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wta_phonebook''':True}) +devices.devids['''lg_g7200_ver1_sub622'''] = devclass(devices.devids['''lg_g7200_ver1'''], '''lg_g7200_ver1_sub622''', '''LG-G7200 UP.Browser/6.2.2 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_g8000_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g8000_ver1''', '''LG G8000''', True, {'''ems''':True,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''G8000''','''preferred_markup''':'''wml_1_3''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_gif''':True,'''sp_midi''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''lg_g8000_ver1_sub25'''] = devclass(devices.devids['''lg_g8000_ver1'''], '''lg_g8000_ver1_sub25''', '''LG G8000/1.0 PDK/2.5''', False, None) +devices.devids['''lg_g8000_ver1_sub25java'''] = devclass(devices.devids['''lg_g8000_ver1'''], '''lg_g8000_ver1_sub25java''', '''LG G8000/2.0 PDK/2.5 JAVA''', False, None) +devices.devids['''lg_g8000_ver1_sub25javajva'''] = devclass(devices.devids['''lg_g8000_ver1'''], '''lg_g8000_ver1_sub25javajva''', '''LG G8000/2.0 PDK/2.5 JAVA, LG G8000/2.0 PDK/2.5 JAVA''', False, None) +devices.devids['''lg_g8000i_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_g8000i_ver1''', '''LG G8000i''', True, {'''model_name''':'''G8000i'''}) +devices.devids['''lge_vi5225_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vi5225_ver1''', '''LGE-VI5225''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':4096,'''columns''':17,'''directdownload_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':160,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''vi5225''','''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':9,'''sp_midi''':True,'''uaprof''':'''http://device.sprintpcs.com/LG/VI5225/LX540V08.rdf''','''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120}) +devices.devids['''lge_vi5225_ver1_sub'''] = devclass(devices.devids['''lge_vi5225_ver1'''], '''lge_vi5225_ver1_sub''', '''LGE-VI5225/1.0''', False, {'''max_data_rate''':9}) +devices.devids['''lge_vi5225_ver1_sub6225'''] = devclass(devices.devids['''lge_vi5225_ver1'''], '''lge_vi5225_ver1_sub6225''', '''LGE-VI5225/1.0 UP.Browser/6.2.2.5 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''lge_vx3100_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx3100_ver1''', '''LGE-VX3100''', True, {'''brand_name''':'''LG''','''columns''':17,'''max_image_height''':90,'''max_image_width''':80,'''model_name''':'''VX3100''','''resolution_height''':120,'''resolution_width''':80,'''rows''':5,'''wallpaper''':True}) +devices.devids['''lge_vx3200_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx3200_ver1''', '''LGE-VX3200''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':17,'''ems''':True,'''evrc''':True,'''max_image_height''':96,'''max_image_width''':120,'''midi_monophonic''':True,'''model_name''':'''VX3200''','''qcelp''':True,'''resolution_height''':128,'''resolution_width''':120,'''ringtone_midi_monophonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':16,'''rows''':5,'''voices''':16,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''lge_vx4500_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx4500_ver1''', '''LGE-VX4500''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':17,'''ems''':True,'''evrc''':True,'''max_image_height''':120,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''VX4500''','''qcelp''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':16,'''rows''':7,'''voices''':16,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''lge_vx4500_ver1_sub20'''] = devclass(devices.devids['''lge_vx4500_ver1'''], '''lge_vx4500_ver1_sub20''', '''LGE-VX4500/1.0 UP.Browser/6.2.2.4.145 (GUI) MMP/2.0''', False, None) +devices.devids['''lge_vx4600_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx4600_ver1''', '''LGE-VX4600''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':262000,'''columns''':17,'''directdownload_support''':True,'''evrc''':True,'''max_image_height''':120,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_evrc''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_qcelp''':True,'''mms_wbmp''':True,'''model_name''':'''VX4600''','''qcelp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':16,'''rows''':7,'''sender''':True,'''voices''':16,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''lge_vx4600_ver1_sub4126'''] = devclass(devices.devids['''lge_vx4600_ver1'''], '''lge_vx4600_ver1_sub4126''', '''LGE-VX4600 UP.Browser/4.1.26l''', False, None) +devices.devids['''lge_vx6000_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''lge_vx6000_ver1''', '''LGE-VX6000''', True, {'''bmp''':True,'''brand_name''':'''LG''','''built_in_camera''':True,'''colors''':262144,'''columns''':17,'''directdownload_support''':True,'''evrc''':True,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':112,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_evrc''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_qcelp''':True,'''mms_wbmp''':True,'''model_name''':'''VX6000''','''oma_v_1_0_forwardlock''':True,'''png''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':16,'''rows''':7,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':30720,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':120,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':120,'''sender''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':30720,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':120,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120}) +devices.devids['''lge_vx6000_ver1_sub4127'''] = devclass(devices.devids['''lge_vx6000_ver1'''], '''lge_vx6000_ver1_sub4127''', '''LGE-VX6000 UP.Browser/4.1.27''', False, None) +devices.devids['''verizon_lge_vx6000_ver1'''] = devclass(devices.devids['''lge_vx6000_ver1'''], '''verizon_lge_vx6000_ver1''', '''vx6000''', True, {'''mms_qcelp''':False,'''model_name''':'''VX6000 (Verizon Wireless)''','''ringtone_mp3''':False,'''ringtone_qcelp''':False,'''wallpaper_png''':False}) +devices.devids['''verizon_lge_vx6000v2_ver1'''] = devclass(devices.devids['''verizon_lge_vx6000_ver1'''], '''verizon_lge_vx6000v2_ver1''', '''vx6000v2''', True, {'''model_name''':'''VX6000v2 (Verizon Wireless)'''}) +devices.devids['''lge_vx7000_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx7000_ver1''', '''LGE-VX7000''', True, {'''bmp''':True,'''brand_name''':'''LG''','''built_in_camera''':True,'''colors''':262144,'''columns''':20,'''directdownload_support''':True,'''ems''':True,'''evrc''':True,'''gif_animated''':True,'''max_image_height''':200,'''max_image_width''':168,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp2''':True,'''mms_evrc''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':480,'''mms_max_size''':358400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':16,'''mms_mp3''':True,'''mms_png''':True,'''mms_qcelp''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''VX7000''','''mp3''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_directdownload_size_limit''':350000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':16,'''rows''':11,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':350000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_png''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''sender''':True,'''video''':True,'''video_3gpp2''':True,'''video_directdownload_size_limit''':102400,'''video_max_frame_rate''':24,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':350000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''lge_vx7000_ver1_sub20'''] = devclass(devices.devids['''lge_vx7000_ver1'''], '''lge_vx7000_ver1_sub20''', '''LGE-VX7000/1.0 UP.Browser/6.2.3.1.174 (GUI) MMP/2.0''', False, None) +devices.devids['''verizon_lge_vx7000_ver1'''] = devclass(devices.devids['''lge_vx7000_ver1'''], '''verizon_lge_vx7000_ver1''', '''vx7000v1''', True, {'''model_name''':'''VX7000 (Verizon Wireless)''','''ringtone_qcelp''':True}) +devices.devids['''lg_w3000_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_w3000_ver1''', '''LG-W3000''', False, None) +devices.devids['''lg_w3000_ver1_sub42'''] = devclass(devices.devids['''lg_w3000_ver1'''], '''lg_w3000_ver1_sub42''', '''LG-W3000 AU/4.2''', False, None) +devices.devids['''zte_2118_ver1'''] = devclass(devices.devids['''generic'''], '''zte_2118_ver1''', '''ZTE-2118''', True, {'''brand_name''':'''ZTE''','''max_image_height''':160,'''max_image_width''':128,'''mmf''':True,'''model_name''':2118,'''png''':True,'''preferred_markup''':'''wml_1_2''','''resolution_height''':160,'''resolution_width''':128,'''voices''':40,'''wml_1_2''':True}) +devices.devids['''zte_2118_ver1_sub4127'''] = devclass(devices.devids['''zte_2118_ver1'''], '''zte_2118_ver1_sub4127''', '''ZTE-2118/1.0 UP.Browser/4.1.27''', False, None) +devices.devids['''zte_c705_ver1'''] = devclass(devices.devids['''generic'''], '''zte_c705_ver1''', '''ZTE-C705''', True, {'''brand_name''':'''ZTE''','''max_image_height''':146,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C705''','''png''':True,'''resolution_height''':146,'''resolution_width''':128,'''voices''':16}) +devices.devids['''zte_c705_ver1_sub4127a2'''] = devclass(devices.devids['''zte_c705_ver1'''], '''zte_c705_ver1_sub4127a2''', '''ZTE-C705/1.0 UP.Browser/4.1.27a2''', False, None) +devices.devids['''zte_c880_ver1'''] = devclass(devices.devids['''generic'''], '''zte_c880_ver1''', '''ZTE-C880''', True, {'''brand_name''':'''ZTE''','''max_image_height''':146,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C880''','''png''':True,'''resolution_height''':146,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''voices''':16,'''wallpaper_png''':True}) +devices.devids['''zte_c880_ver1_sub4127a2'''] = devclass(devices.devids['''zte_c880_ver1'''], '''zte_c880_ver1_sub4127a2''', '''ZTE-C880/1.0 UP.Browser/4.1.27a2''', False, None) +devices.devids['''zte_c908_ver1'''] = devclass(devices.devids['''generic'''], '''zte_c908_ver1''', '''ZTE-C908''', True, {'''brand_name''':'''ZTE''','''max_image_height''':146,'''max_image_width''':128,'''mmf''':True,'''model_name''':'''C908''','''png''':True,'''resolution_height''':146,'''resolution_width''':128,'''voices''':40}) +devices.devids['''zte_c908_ver1_sub4127a2'''] = devclass(devices.devids['''zte_c908_ver1'''], '''zte_c908_ver1_sub4127a2''', '''ZTE-C908/1.0 UP.Browser/4.1.27a2''', False, None) +devices.devids['''zte_f230_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''zte_f230_ver1''', '''ZTE-F230/1.0 ACS-NF/3.2 QTV5.02 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''ajax_support_javascript''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''brand_name''':'''ZTE''','''colors''':65536,'''columns''':14,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':5120,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''F230''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.zte.com.cn/mobile/uaprof/ZTE-F230.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''zte_f866_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''zte_f866_ver1''', '''ZTE-F866/1.0 ACS-NF/3.2 Qtv/4.3''', True, {'''bmp''':True,'''brand_name''':'''ZTE''','''gif''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''F866''','''png''':True,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''video_qcif''':True,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':10,'''wallpaper_preferred_height''':200,'''wallpaper_preferred_width''':176}) +devices.devids['''zte_f850_ver1'''] = devclass(devices.devids['''zte_f230_ver1'''], '''zte_f850_ver1''', '''ZTE-F850/1.0 ACS-NF/3.2 QTV5.02 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''built_in_camera''':True,'''mld''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''F850''','''mp3''':True,'''oma_support''':False,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':False,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':False,'''ringtone_voices''':16,'''video_3gpp''':False,'''wallpaper_colors''':12,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''nec_110_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_110_ver1''', '''NEC-110''', False, None) +devices.devids['''nec_110_ver1_sub20'''] = devclass(devices.devids['''nec_110_ver1'''], '''nec_110_ver1_sub20''', '''NEC-110/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.9.d.1 (GUI) MMP/2.0''', False, None) +devices.devids['''nec_arm9_brcm_edge_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''nec_arm9_brcm_edge_ver1''', '''NEC-ARM9-BRCM_EDGE''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''columns''':15,'''imelody''':True,'''max_deck_size''':100000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':100000,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''A232''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_wav''':True,'''rows''':6,'''sender''':True,'''uaprof''':'''http://www.nechdm.com/profiles/232/a232.rdf''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wta_phonebook''':True}) +devices.devids['''nec_arm9_brcm_edge_ver1_sub701240'''] = devclass(devices.devids['''nec_arm9_brcm_edge_ver1'''], '''nec_arm9_brcm_edge_ver1_sub701240''', '''NEC-ARM9-BRCM_EDGE/0.1 UP.Browser/7.0.1.240 (GUI) MMP/2.0''', False, {'''max_data_rate''':200}) +devices.devids['''nec_e122_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''nec_e122_ver1''', '''NEC-e122''', True, {'''brand_name''':'''Nec''','''model_name''':'''e122''','''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''nec_e122_ver1_uavariation'''] = devclass(devices.devids['''nec_e122_ver1'''], '''nec_e122_ver1_uavariation''', '''NEC-E122''', False, None) +devices.devids['''nec_e122_ver1_sub00'''] = devclass(devices.devids['''nec_e122_ver1'''], '''nec_e122_ver1_sub00''', '''NEC-E122/1.0 TMT-Mobile-Internet-Browser/1.1.14.20 (GUI)''', False, None) +devices.devids['''nec_e232_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_e232_ver1''', '''NEC-E232''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''columns''':15,'''connectionless_service_load''':True,'''downloadfun_support''':True,'''imelody''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':131071,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''e232''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':6,'''screensaver''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://nec-uap.com/prof/232V01.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''nec_e232_ver1_sub10'''] = devclass(devices.devids['''nec_e232_ver1'''], '''nec_e232_ver1_sub10''', '''NEC-E232/1.0 UP.Browser/6.2.2.4.d.1.102 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_e232_ver1_sub6224d1105'''] = devclass(devices.devids['''nec_e232_ver1'''], '''nec_e232_ver1_sub6224d1105''', '''NEC-E232/1.0 UP.Browser/6.2.2.4.d.1.105 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_e242_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_e242_ver1''', '''NEC-e242''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''columns''':10,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':176,'''max_image_height''':156,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':176,'''mms_max_size''':131071,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''e242''','''receiver''':True,'''resolution_height''':176,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://nec-uap.com/prof/e242V01.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''nec_e242_ver1_sub6232g1108'''] = devclass(devices.devids['''nec_e242_ver1'''], '''nec_e242_ver1_sub6232g1108''', '''NEC-e242/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.g.1.108 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_525_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''nec_525_ver1''', '''NEC-525''', True, {'''brand_name''':'''NEC''','''colors''':65536,'''columns''':15,'''downloadfun_support''':True,'''ems''':True,'''gif''':True,'''imelody''':True,'''inline_support''':True,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':180,'''max_image_width''':162,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':216,'''mms_max_size''':40960,'''mms_max_width''':162,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':525,'''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':216,'''resolution_width''':162,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':180,'''wallpaper_max_width''':162,'''wallpaper_preferred_height''':180,'''wallpaper_preferred_width''':162,'''wta_phonebook''':True}) +devices.devids['''nec_525_ver1_sub6104128'''] = devclass(devices.devids['''nec_525_ver1'''], '''nec_525_ver1_sub6104128''', '''NEC-525/1.0 UP.Browser/6.1.0.4.128 (GUI) MMP/1.0''', False, None) +devices.devids['''nec_525_ver1_sub61061'''] = devclass(devices.devids['''nec_525_ver1'''], '''nec_525_ver1_sub61061''', '''NEC-525/1.0 up.Browser/6.1.0.6.1 (GUI) MMP/1.0''', False, None) +devices.devids['''nec_530_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''nec_530_ver1''', '''NEC-530''', True, {'''brand_name''':'''NEC''','''colors''':65536,'''columns''':15,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':162,'''max_image_width''':162,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':216,'''mms_max_size''':40960,'''mms_max_width''':162,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':530,'''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':216,'''resolution_width''':162,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''uaprof''':'''http://nec-uap.com/prof/530V01.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wta_phonebook''':True}) +devices.devids['''nec_530_ver1_sub6107'''] = devclass(devices.devids['''nec_530_ver1'''], '''nec_530_ver1_sub6107''', '''NEC-530/1.0 UP.Browser/6.1.0.7 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_db7000_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''nec_db7000_ver1''', '''NEC-DB7000/1.0 UP.Browser/4''', True, {'''brand_name''':'''NEC''','''model_name''':'''DB7000''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True}) +devices.devids['''nec_db7000_ver1_sub4123c'''] = devclass(devices.devids['''nec_db7000_ver1'''], '''nec_db7000_ver1_sub4123c''', '''NEC-DB7000/1.0 UP.Browser/4.1.23c''', False, None) +devices.devids['''nec_e101_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''nec_e101_ver1''', '''NEC-e101''', True, {'''brand_name''':'''NEC''','''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':102400,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''e101''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''nec_e101_ver1_sub10'''] = devclass(devices.devids['''nec_e101_ver1'''], '''nec_e101_ver1_sub10''', '''NEC-e101/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.8 (GUI) MMP/1.0''', False, None) +devices.devids['''nec_e1101_ver1'''] = devclass(devices.devids['''generic'''], '''nec_e1101_ver1''', '''NEC-e1101''', False, None) +devices.devids['''nec_e1101_ver1_sub00'''] = devclass(devices.devids['''nec_e1101_ver1'''], '''nec_e1101_ver1_sub00''', '''NEC-e1101/(2005.02.18)1.0/WAP1.2.1 Profile''', False, None) +devices.devids['''nec_e121_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_e121_ver1''', '''NEC-e121''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''columns''':16,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':65536,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':102400,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''e121''','''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://nec-uap.com/prof/e121V01.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''nec_e121_ver1_sub20'''] = devclass(devices.devids['''nec_e121_ver1'''], '''nec_e121_ver1_sub20''', '''NEC-e121/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.9.d.1 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_e238_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_e238_ver1''', '''NEC-e238''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''columns''':10,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':156,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':176,'''mms_max_size''':131071,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''e238''','''receiver''':True,'''resolution_height''':176,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://nec-uap.com/prof/e238V01.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''nec_e238_ver1_sub20'''] = devclass(devices.devids['''nec_e238_ver1'''], '''nec_e238_ver1_sub20''', '''NEC-e238/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.g.1.106 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_e540_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_e540_ver1''', '''NEC-e540''', True, {'''amr''':True,'''brand_name''':'''NEC''','''built_in_camera''':True,'''colors''':65536,'''directdownload_support''':True,'''imelody''':True,'''inline_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':307200,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''e540''','''mp3''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':102400,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True}) +devices.devids['''nec_e540_ver1_sub6232g1108'''] = devclass(devices.devids['''nec_e540_ver1'''], '''nec_e540_ver1_sub6232g1108''', '''NEC-e540/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.g.1.108 (GUI) MMP/2.0''', False, None) +devices.devids['''nec_e540_ver1_sub6232g1110'''] = devclass(devices.devids['''nec_e540_ver1'''], '''nec_e540_ver1_sub6232g1110''', '''NEC-e540/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.g.1.110 (GUI) MMP/2.0''', False, None) +devices.devids['''nec_e949_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_e949_ver1''', '''NEC-e949''', True, {'''brand_name''':'''NEC''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':176,'''model_name''':'''e949''','''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':176}) +devices.devids['''nec_e949_ver1_sub20'''] = devclass(devices.devids['''nec_e949_ver1'''], '''nec_e949_ver1_sub20''', '''NEC-e949/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.g.1.108 (GUI) MMP/2.0''', False, None) +devices.devids['''nec_n110_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''nec_n110_ver1''', '''NEC-N110''', True, {'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''columns''':16,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':51200,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':102400,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''N110''','''nokia_voice_call''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''uaprof''':'''http://nec-uap.com/prof/UAPMargay.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wav''':True}) +devices.devids['''nec_n110_ver1_sub61078'''] = devclass(devices.devids['''nec_n110_ver1'''], '''nec_n110_ver1_sub61078''', '''NEC-N110/0730MAWC/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.8 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_n200_ver1'''] = devclass(devices.devids['''generic'''], '''nec_n200_ver1''', '''NEC-N200''', False, None) +devices.devids['''nec_n200_ver1_sub00'''] = devclass(devices.devids['''nec_n200_ver1'''], '''nec_n200_ver1_sub00''', '''NEC-N200/REV 2.2.2/WAP1.2.1 Profile''', False, None) +devices.devids['''nec_n500_ver1'''] = devclass(devices.devids['''generic'''], '''nec_n500_ver1''', '''NEC-N500''', False, None) +devices.devids['''nec_n500_ver1_sub221'''] = devclass(devices.devids['''nec_n500_ver1'''], '''nec_n500_ver1_sub221''', '''NEC-N500/REV 2.2.1/WAP1.2.1 Profile''', False, None) +devices.devids['''nec_n535_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_n535_ver1''', '''NEC-N535''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''columns''':15,'''connectionless_service_load''':True,'''html_web_3_2''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':100000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':320,'''mms_max_size''':100000,'''mms_max_width''':240,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''N535''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':9,'''sender''':True,'''uaprof''':'''http://nechdm.com/profiles/535/a535.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''nec_n535_ver1_sub6232g1107'''] = devclass(devices.devids['''nec_n535_ver1'''], '''nec_n535_ver1_sub6232g1107''', '''NEC-N535/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.g.1.107 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_n700_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_n700_ver1''', '''NEC-N700''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''columns''':15,'''connectionless_service_load''':True,'''downloadfun_support''':True,'''imelody''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':131071,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''N700''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''uaprof''':'''http://nec-uap.com/prof/N700V01.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''nec_n700_ver1_sub6224d1102'''] = devclass(devices.devids['''nec_n700_ver1'''], '''nec_n700_ver1_sub6224d1102''', '''NEC-N700/1.0 UP.Browser/6.2.2.4.d.1.102 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_n700_ver1_sub6226e1101'''] = devclass(devices.devids['''nec_n700_ver1'''], '''nec_n700_ver1_sub6226e1101''', '''NEC-N700/1.0 UP.Browser/6.2.2.6.e.1.101 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_n710_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_n710_ver1''', '''NEC-N710''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''columns''':15,'''connectionless_service_load''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':131071,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''N710''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''uaprof''':'''http://nec-uap.com/prof/N710V01.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''nec_n710_ver1_sub611631101'''] = devclass(devices.devids['''nec_n710_ver1'''], '''nec_n710_ver1_sub611631101''', '''NEC-N710/1.0 UP.Browser/6.2.2.6.e.1.101 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_n8_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''nec_n8_ver1''', '''NEC-N8''', True, {'''brand_name''':'''NEC''','''model_name''':'''N8'''}) +devices.devids['''nec_n8_ver1_sub6104128'''] = devclass(devices.devids['''nec_n8_ver1'''], '''nec_n8_ver1_sub6104128''', '''NEC-N8/1.0 UP.Browser/6.1.0.4.128 (GUI) MMP/1.0''', False, None) +devices.devids['''nec_n8_ver1_sub6105'''] = devclass(devices.devids['''nec_n8_ver1'''], '''nec_n8_ver1_sub6105''', '''NEC-N8/1.0 UP.Browser/6.1.0.5 (GUI) MMP/1.0''', False, None) +devices.devids['''nec_n800_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''nec_n800_ver1''', '''NEC-N800''', False, None) +devices.devids['''nec_n800_ver1_sub61061f1100'''] = devclass(devices.devids['''nec_n800_ver1'''], '''nec_n800_ver1_sub61061f1100''', '''NEC-N800/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.6.1.f.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''nec_n810_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''nec_n810_ver1''', '''NEC-N810''', False, None) +devices.devids['''nec_n810_ver1_sub10'''] = devclass(devices.devids['''nec_n810_ver1'''], '''nec_n810_ver1_sub10''', '''NEC-N810/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.6.1.f.2 (GUI) MMP/1.0''', False, None) +devices.devids['''nec_n820_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_n820_ver1''', '''NEC-N820''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''columns''':15,'''connectionless_service_load''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':320,'''mms_max_size''':131071,'''mms_max_width''':240,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''N820''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':6,'''sender''':True,'''uaprof''':'''http://nec-uap.com/prof/N820V01.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''nec_n820_ver1_sub6226e1101'''] = devclass(devices.devids['''nec_n820_ver1'''], '''nec_n820_ver1_sub6226e1101''', '''NEC-N820/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.e.1.101 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_n830_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_n830_ver1''', '''NEC-N830''', False, None) +devices.devids['''nec_n830_ver1_sub6226e1101'''] = devclass(devices.devids['''nec_n830_ver1'''], '''nec_n830_ver1_sub6226e1101''', '''NEC-N830/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.e.1.101 (GUI) MMP/1.0''', False, None) +devices.devids['''nec_n840_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_n840_ver1''', '''NEC-N840''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''columns''':13,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':255,'''j2me_screen_width''':240,'''max_image_height''':235,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':176,'''mms_max_size''':131071,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''N840''','''receiver''':True,'''resolution_height''':255,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':20,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://nec-uap.com/prof/N840HKV01.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''nec_n840_ver1_sub6232g1108'''] = devclass(devices.devids['''nec_n840_ver1'''], '''nec_n840_ver1_sub6232g1108''', '''NEC-N840/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.g.1.108 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_n850_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_n850_ver1''', '''NEC-N850''', False, None) +devices.devids['''nec_n850_ver1_sub20'''] = devclass(devices.devids['''nec_n850_ver1'''], '''nec_n850_ver1_sub20''', '''NEC-N850/(2005.04.25)FJCC/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.g.1.108 (GUI) MMP/2.0''', False, None) +devices.devids['''nec_n8000_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''nec_n8000_ver1''', '''NEC-N8000''', False, None) +devices.devids['''nec_n8000_ver1_sub00'''] = devclass(devices.devids['''nec_n8000_ver1'''], '''nec_n8000_ver1_sub00''', '''NEC-N8000/1.0 UP.Browser/5.0.3.2 (GUI)''', False, None) +devices.devids['''nec_n900_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_n900_ver1''', '''NEC-N900''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''columns''':15,'''connectionless_service_load''':True,'''ems''':True,'''imelody''':True,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':131071,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''N900''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://nec-uap.com/prof/N900V01.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''nec_n900_ver1_sub10'''] = devclass(devices.devids['''nec_n900_ver1'''], '''nec_n900_ver1_sub10''', '''NEC-N900/1.0 UP.Browser/6.2.2.4.d.1.103 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_n908_ver1'''] = devclass(devices.devids['''generic'''], '''nec_n908_ver1''', '''NEC-N908/1.0 Release/09.15.2006 Browser/CMS2.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''brand_name''':'''NEC''','''colors''':65536,'''columns''':11,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':131072,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':908,'''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':12,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nec-uap.com/prof/N908V01.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''nec_n910_ver1'''] = devclass(devices.devids['''generic'''], '''nec_n910_ver1''', '''NEC-N910''', True, {'''brand_name''':'''NEC''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''N910''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''nec_n910_ver1_sub10'''] = devclass(devices.devids['''nec_n910_ver1'''], '''nec_n910_ver1_sub10''', '''NEC-N910/1.0''', False, None) +devices.devids['''nec_n917_ver1'''] = devclass(devices.devids['''generic'''], '''nec_n917_ver1''', '''NEC-N917''', False, None) +devices.devids['''nec_n917_ver1_sub221'''] = devclass(devices.devids['''nec_n917_ver1'''], '''nec_n917_ver1_sub221''', '''NEC-N917/REV 2.2.1/WAP1.2.1 Profile''', False, None) +devices.devids['''nec_n923_ver1'''] = devclass(devices.devids['''generic'''], '''nec_n923_ver1''', '''NEC-N923''', False, None) +devices.devids['''nec_n923_ver1_sub00'''] = devclass(devices.devids['''nec_n923_ver1'''], '''nec_n923_ver1_sub00''', '''NEC-N923/(2004.12.20)1.0/WAP1.2.1 Profile''', False, None) +devices.devids['''philips_azlis288_ver1'''] = devclass(devices.devids['''generic'''], '''philips_azlis288_ver1''', '''PHILIPS-Az@lis288''', False, None) +devices.devids['''philips_azlis288_ver1_sub4119'''] = devclass(devices.devids['''philips_azlis288_ver1'''], '''philips_azlis288_ver1_sub4119''', '''PHILIPS-Az@lis288 UP/4.1.19m''', False, None) +devices.devids['''philips_azlis288_ver1_sub4119l'''] = devclass(devices.devids['''philips_azlis288_ver1'''], '''philips_azlis288_ver1_sub4119l''', '''PHILIPS-Az@lis288 UP/4.1.19l''', False, None) +devices.devids['''philips_azlis288_ver1_sub41191xxxx'''] = devclass(devices.devids['''philips_azlis288_ver1'''], '''philips_azlis288_ver1_sub41191xxxx''', '''PHILIPS-Az@lis288 UP/4.1.19l UP.Browser/4.1.19l-XXXX''', False, None) +devices.devids['''philips_azlis288_ver1_sub21'''] = devclass(devices.devids['''philips_azlis288_ver1'''], '''philips_azlis288_ver1_sub21''', '''PHILIPS-Az@lis288/2.1 UP/4.1.19m UP.Browser/4.1.19m-XXXX''', False, None) +devices.devids['''philips_azlis288_ver1_sub41191'''] = devclass(devices.devids['''philips_azlis288_ver1'''], '''philips_azlis288_ver1_sub41191''', '''PHILIPS-az@lis288_4 UP/4.1.19l''', False, None) +devices.devids['''philips_fisio_121_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''philips_fisio_121_ver1''', '''PHILIPS-Fisio 121''', True, {'''brand_name''':'''Philips''','''model_name''':'''Fisio 121'''}) +devices.devids['''philips_fisio_121_ver1_sub4119m'''] = devclass(devices.devids['''philips_fisio_121_ver1'''], '''philips_fisio_121_ver1_sub4119m''', '''PHILIPS-Fisio 121/2.1 UP/4.1.19m UP.Browser/4.1.19m-XXXX''', False, None) +devices.devids['''philips289_ver1'''] = devclass(devices.devids['''generic'''], '''philips289_ver1''', '''PHILIPS289''', False, None) +devices.devids['''philips289_ver1_sub10'''] = devclass(devices.devids['''philips289_ver1'''], '''philips289_ver1_sub10''', '''PHILIPS289 ObigoInternetBrowser/Q03C EGE/1.0''', False, None) +devices.devids['''philips_fisio311_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''philips_fisio311_ver1''', '''PHILIPS-Fisio311''', True, {'''brand_name''':'''Philips''','''model_name''':'''Fisio 311'''}) +devices.devids['''philips_fisio311_ver1_sub4119m'''] = devclass(devices.devids['''philips_fisio311_ver1'''], '''philips_fisio311_ver1_sub4119m''', '''PHILIPS-Fisio311/2.1 UP/4.1.19m''', False, None) +devices.devids['''philips_fisio311_ver1_sub4119mxxxuppercase'''] = devclass(devices.devids['''philips_fisio311_ver1'''], '''philips_fisio311_ver1_sub4119mxxxuppercase''', '''PHILIPS-FISIO311/2.1 UP/4.1.19m UP.Browser/4.1.19m-XXXX''', False, None) +devices.devids['''philips_fisio311_ver1_sub316'''] = devclass(devices.devids['''philips_fisio311_ver1'''], '''philips_fisio311_ver1_sub316''', '''PHILIPS-Fisio311/316 /2.1 UP/4.1.19m UP.Browser/4.1.19m-XXXX''', False, None) +devices.devids['''philips_fisio_330_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''philips_fisio_330_ver1''', '''PHILIPS-FISIO 330''', True, {'''brand_name''':'''Philips''','''columns''':20,'''downloadfun_support''':True,'''ems''':True,'''max_deck_size''':2984,'''max_image_height''':60,'''max_image_width''':101,'''model_name''':'''Fisio 330''','''picture''':True,'''picture_colors''':1,'''picture_df_size_limit''':7168,'''picture_max_height''':128,'''picture_max_width''':160,'''resolution_height''':80,'''resolution_width''':101,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':8,'''uaprof''':'''http://www.consumer.philips.com/wbu/uap330.xml''','''wallpaper''':True,'''wallpaper_colors''':1,'''wallpaper_df_size_limit''':7168,'''wallpaper_gif''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':160}) +devices.devids['''philips_fisio_330_ver1_sub314'''] = devclass(devices.devids['''philips_fisio_330_ver1'''], '''philips_fisio_330_ver1_sub314''', '''PHILIPS-FISIO 330/3.14 UP.Browser/5.0.3.5 (GUI)''', False, {'''max_data_rate''':9}) +devices.devids['''philips_162_ver1'''] = devclass(devices.devids['''generic'''], '''philips_162_ver1''', '''PHILIPS 162''', True, {'''brand_name''':'''Philips''','''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':162,'''resolution_height''':80,'''resolution_width''':101}) +devices.devids['''philips_162_ver1_sub20'''] = devclass(devices.devids['''philips_162_ver1'''], '''philips_162_ver1_sub20''', '''PHILIPS 162 / Obigo Internet Browser 2.0''', False, None) +devices.devids['''philips_163_ver1'''] = devclass(devices.devids['''generic'''], '''philips_163_ver1''', '''PHILIPS 163 / Obigo Internet Browser 2.0''', False, None) +devices.devids['''philips_330_ver1'''] = devclass(devices.devids['''generic'''], '''philips_330_ver1''', '''PHILIPS 330''', True, {'''brand_name''':'''Philips''','''colors''':65536,'''ems''':True,'''max_image_height''':60,'''max_image_width''':101,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':330,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':30,'''rows''':8}) +devices.devids['''philips_330_ver1_sub22'''] = devclass(devices.devids['''philips_330_ver1'''], '''philips_330_ver1_sub22''', '''PHILIPS 330 / Obigo Internet Browser 2.0''', False, None) +devices.devids['''philips_355_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''philips_355_ver1''', '''PHILIPS 355 / Obigo Internet Browser 2.0''', True, {'''brand_name''':'''Philips''','''connectionless_service_indication''':True,'''max_deck_size''':130200,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':355,'''resolution_height''':128,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wap_push_support''':True}) +devices.devids['''philips_350_ver1'''] = devclass(devices.devids['''generic'''], '''philips_350_ver1''', '''PHILIPS350/1.0 (05.02) Profile/MIDP-1.0 Configuration/CLDC-1.0''', True, {'''brand_name''':'''Philips''','''colors''':4096,'''columns''':12,'''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':130200,'''max_image_height''':96,'''max_image_width''':128,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':350,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''rows''':7,'''sender''':True,'''table_support''':True,'''uaprof''':'''http://www.consumer.philips.com/wbu/uap350.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''philips_350_ver1_subua'''] = devclass(devices.devids['''philips_350_ver1'''], '''philips_350_ver1_subua''', '''PHILIPS 350 / Obigo Internet Browser 2.0''', False, {'''max_data_rate''':40}) +devices.devids['''philips_355_ver1_subj'''] = devclass(devices.devids['''philips_355_ver1'''], '''philips_355_ver1_subj''', '''PHILIPS355j ObigoInternetBrowser/2.0''', False, None) +devices.devids['''philips_355_ver1_sub22'''] = devclass(devices.devids['''philips_355_ver1'''], '''philips_355_ver1_sub22''', '''PHILIPS 355 / Obigo Internet Browser 2.2''', False, None) +devices.devids['''philips362_1_ver1'''] = devclass(devices.devids['''generic'''], '''philips362_1_ver1''', '''PHILIPS362-1''', True, {'''brand_name''':'''Philips''','''gif''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''362-1''','''preferred_markup''':'''wml_1_2''','''resolution_height''':160,'''resolution_width''':128,'''wml_1_2''':True}) +devices.devids['''philips362_1_ver1_sub20'''] = devclass(devices.devids['''philips362_1_ver1'''], '''philips362_1_ver1_sub20''', '''PHILIPS362-1 ObigoInternetBrowser/2.0''', False, None) +devices.devids['''philips362_2_ver1'''] = devclass(devices.devids['''philips362_1_ver1'''], '''philips362_2_ver1''', '''PHILIPS362-2''', True, {'''max_image_width''':111,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''362-2'''}) +devices.devids['''philips362_2_ver1_sub10'''] = devclass(devices.devids['''philips362_2_ver1'''], '''philips362_2_ver1_sub10''', '''PHILIPS362-2 ObigoInternetBrowser/Q03C EGE/1.0''', False, None) +devices.devids['''philips_530_ver1'''] = devclass(devices.devids['''generic'''], '''philips_530_ver1''', '''PHILIPS 530''', True, {'''brand_name''':'''Philips''','''colors''':65536,'''columns''':12,'''ems''':True,'''gif''':True,'''jpg''':True,'''max_deck_size''':130200,'''max_image_height''':96,'''max_image_width''':111,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':530,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_amr''':True,'''rows''':7,'''sender''':True,'''uaprof''':'''http://www.consumer.philips.com/wbu/uap530.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''philips_530_ver1_sub20'''] = devclass(devices.devids['''philips_530_ver1'''], '''philips_530_ver1_sub20''', '''PHILIPS 530 / Obigo Internet Browser 2.0''', False, {'''max_data_rate''':40}) +devices.devids['''philips_535_ver1'''] = devclass(devices.devids['''philips_530_ver1'''], '''philips_535_ver1''', '''PHILIPS 535 / Obigo Internet Browser 2.0''', True, {'''connectionless_service_indication''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''max_data_rate''':40,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':535,'''receiver''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''sender''':True,'''wallpaper''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''philips_568_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''philips_568_ver1''', '''Philips-568''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Philips''','''colors''':65536,'''columns''':14,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':51200,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':102400,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':568,'''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':5,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://www.consumer.philips.com/wbu/uap568.xml''','''video''':True,'''video_3gpp''':True,'''video_sqcif''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''philips_568_ver1_sub10'''] = devclass(devices.devids['''philips_568_ver1'''], '''philips_568_ver1_sub10''', '''Philips-568 UP.Browser/6.1.0.7.4 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''philips_568_ver1_sub61078'''] = devclass(devices.devids['''philips_568_ver1'''], '''philips_568_ver1_sub61078''', '''PHILIPS568/1.0 UP.Browser/6.1.0.7.8 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''philips_fisio_620_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''philips_fisio_620_ver1''', '''PHILIPS-FISIO 620/3''', True, {'''brand_name''':'''Philips''','''model_name''':'''Fisio 620''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_gif''':True}) +devices.devids['''philips_fisio_620_ver1_sub314'''] = devclass(devices.devids['''philips_fisio_620_ver1'''], '''philips_fisio_620_ver1_sub314''', '''PHILIPS-FISIO 620/3.14 UP.Browser/5.0.1.11''', False, None) +devices.devids['''philips_fisio_625_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''philips_fisio_625_ver1''', '''PHILIPS-FISIO 625''', True, {'''brand_name''':'''Philips''','''ems''':True,'''max_image_height''':60,'''max_image_width''':101,'''model_name''':'''Fisio 625''','''resolution_height''':80,'''resolution_width''':101,'''wallpaper_colors''':8,'''wallpaper_gif''':True}) +devices.devids['''philips_fisio_625_ver1_sub314'''] = devclass(devices.devids['''philips_fisio_625_ver1'''], '''philips_fisio_625_ver1_sub314''', '''PHILIPS-FISIO 625/3.14 UP.Browser/5.0.3.5 (GUI)''', False, None) +devices.devids['''philips_fisio_630_ver1'''] = devclass(devices.devids['''generic'''], '''philips_fisio_630_ver1''', '''PHILIPS-FISIO 630''', True, {'''brand_name''':'''Philips''','''ems''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''Fisio 630'''}) +devices.devids['''philips_630_ver1_subobigo'''] = devclass(devices.devids['''philips_fisio_630_ver1'''], '''philips_630_ver1_subobigo''', '''PHILIPS 630 / Obigo Internet Browser 2.0''', False, {'''resolution_height''':128,'''resolution_width''':128,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True}) +devices.devids['''philips_636_ver1'''] = devclass(devices.devids['''generic'''], '''philips_636_ver1''', '''PHILIPS 636 / Obigo Internet Browser 2.0''', True, {'''brand_name''':'''Philips''','''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''Fisio 636''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True}) +devices.devids['''philips_639_ver1'''] = devclass(devices.devids['''generic'''], '''philips_639_ver1''', '''PHILIPS 639''', True, {'''bmp''':False,'''brand_name''':'''Philips''','''colors''':65536,'''gif''':True,'''gif_animated''':False,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_image_height''':96,'''max_image_width''':111,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''Fisio 639''','''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_honors_bgcolor''':True,'''xhtml_supports_css_cell_table_coloring''':False,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''philips_639_ver1_sub20'''] = devclass(devices.devids['''philips_639_ver1'''], '''philips_639_ver1_sub20''', '''PHILIPS 639 / Obigo Internet Browser 2.0''', False, None) +devices.devids['''philips_639_ver1_sub201'''] = devclass(devices.devids['''philips_639_ver1'''], '''philips_639_ver1_sub201''', '''PHILIPS 639/Obigo Internet Browser 2.0''', False, None) +devices.devids['''philips_650_ver1'''] = devclass(devices.devids['''generic'''], '''philips_650_ver1''', '''PHILIPS650''', True, {'''bmp''':True,'''brand_name''':'''Philips''','''colors''':65536,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':650,'''preferred_markup''':'''wml_1_2''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://www.consumer.philips.com/wbu/uap650.xml''','''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True}) +devices.devids['''philips_650_ver1_sub20'''] = devclass(devices.devids['''philips_650_ver1'''], '''philips_650_ver1_sub20''', '''PHILIPS650 ObigoInternetBrowser/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''philips655_ver1'''] = devclass(devices.devids['''generic'''], '''philips655_ver1''', '''PHILIPS655''', True, {'''brand_name''':'''Philips''','''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':655,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True}) +devices.devids['''philips655_ver1_sub20'''] = devclass(devices.devids['''philips655_ver1'''], '''philips655_ver1_sub20''', '''PHILIPS655 ObigoInternetBrowser/2.0''', False, None) +devices.devids['''philips660_ver1'''] = devclass(devices.devids['''generic'''], '''philips660_ver1''', '''PHILIPS660''', False, None) +devices.devids['''philips660_ver1_sub20'''] = devclass(devices.devids['''philips660_ver1'''], '''philips660_ver1_sub20''', '''PHILIPS660 ObigoInternetBrowser/2.0''', False, None) +devices.devids['''philips661_ver1'''] = devclass(devices.devids['''generic'''], '''philips661_ver1''', '''PHILIPS661''', False, None) +devices.devids['''philips661_ver1_sub20'''] = devclass(devices.devids['''philips661_ver1'''], '''philips661_ver1_sub20''', '''PHILIPS661 ObigoInternetBrowser/2.0''', False, None) +devices.devids['''philips_755_ver1'''] = devclass(devices.devids['''generic'''], '''philips_755_ver1''', '''PHILIPS755''', True, {'''bmp''':True,'''brand_name''':'''Philips''','''colors''':65536,'''columns''':12,'''ems''':True,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':130200,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':755,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':32,'''rows''':8,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://www.consumer.philips.com/wbu/uap755.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''philips_755_ver1_sub20'''] = devclass(devices.devids['''philips_755_ver1'''], '''philips_755_ver1_sub20''', '''PHILIPS755 ObigoInternetBrowser/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''philips760_ver1'''] = devclass(devices.devids['''generic'''], '''philips760_ver1''', '''PHILIPS760''', True, {'''brand_name''':'''Philips''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':False,'''html_wi_w3_xhtmlbasic''':False,'''jpg''':True,'''max_image_height''':96,'''max_image_width''':97,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':760,'''png''':False,'''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''philips760_ver1_sub20'''] = devclass(devices.devids['''philips760_ver1'''], '''philips760_ver1_sub20''', '''PHILIPS760 ObigoInternetBrowser/2.0''', False, None) +devices.devids['''philips_768_ver1'''] = devclass(devices.devids['''generic'''], '''philips_768_ver1''', '''PHILIPS 768 UP.Browser/6.2.3.9.d.1 (GUI) MMP/2.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Philips''','''colors''':65536,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':51200,'''max_image_height''':176,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':153600,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''model_name''':960,'''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.consumer.philips.com/wbu/uap960.xml''','''video''':True,'''video_3gpp''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':0}) +devices.devids['''philips_9a9r_ver1'''] = devclass(devices.devids['''generic'''], '''philips_9a9r_ver1''', '''PHILIPS9A9R / Obigo Browser 2.0''', True, {'''amr''':True,'''brand_name''':'''Philips''','''colors''':65536,'''columns''':16,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':32768,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':598,'''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':11,'''sender''':True,'''table_support''':True,'''uaprof''':'''http://www.consumer.philips.com/wbu/uapP598.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''philips_fisio_820_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''philips_fisio_820_ver1''', '''PHILIPS-FISIO 820/3''', True, {'''bmp''':True,'''brand_name''':'''Philips''','''colors''':256,'''downloadfun_support''':True,'''ems''':True,'''gif''':True,'''jpg''':True,'''max_image_height''':57,'''max_image_width''':112,'''model_name''':'''Fisio 820''','''resolution_height''':76,'''resolution_width''':112,'''ringtone''':True,'''ringtone_imelody''':True,'''rows''':9,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':8,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':112,'''screensaver_max_width''':112,'''screensaver_wbmp''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':112,'''wallpaper_max_width''':112,'''wallpaper_wbmp''':True}) +devices.devids['''philips_fisio_820_ver1_sub3145018'''] = devclass(devices.devids['''philips_fisio_820_ver1'''], '''philips_fisio_820_ver1_sub3145018''', '''PHILIPS-FISIO 820/3.14 UP.Browser/5.0.1.8''', False, None) +devices.devids['''philips_fisio_820_ver1_sub31450110'''] = devclass(devices.devids['''philips_fisio_820_ver1'''], '''philips_fisio_820_ver1_sub31450110''', '''PHILIPS-FISIO 820/3.14 UP.Browser/5.0.1.10''', False, None) +devices.devids['''philips_fisio_820_ver1_sub31450111'''] = devclass(devices.devids['''philips_fisio_820_ver1'''], '''philips_fisio_820_ver1_sub31450111''', '''PHILIPS-FISIO 820/3.14 UP.Browser/5.0.1.11''', False, None) +devices.devids['''philips_fisio_822_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''philips_fisio_822_ver1''', '''PHILIPS-FISIO 822''', True, {'''brand_name''':'''Philips''','''max_deck_size''':2984,'''model_name''':'''Fisio 822''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_gif''':True}) +devices.devids['''philips_fisio_822_ver1_sub314'''] = devclass(devices.devids['''philips_fisio_822_ver1'''], '''philips_fisio_822_ver1_sub314''', '''PHILIPS-FISIO 822/3.14 UP.Browser/5.0.3.5 (GUI)''', False, None) +devices.devids['''philips_fisio_825_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''philips_fisio_825_ver1''', '''PHILIPS-FISIO 825/3 UP.Browser/5 (GUI)''', True, {'''ascii_support''':True,'''bmp''':True,'''brand_name''':'''Philips''','''colors''':4096,'''connectionless_service_load''':True,'''downloadfun_support''':True,'''ems''':True,'''gif''':True,'''iso8859_support''':True,'''jpg''':True,'''max_deck_size''':2984,'''max_image_height''':57,'''max_image_width''':106,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''Fisio 825''','''resolution_height''':76,'''resolution_width''':112,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':9,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':112,'''screensaver_max_width''':112,'''screensaver_wbmp''':True,'''sp_midi''':True,'''voices''':4,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':112,'''wallpaper_max_width''':112,'''wallpaper_wbmp''':True}) +devices.devids['''philips_fisio_825_ver1_sub5023'''] = devclass(devices.devids['''philips_fisio_825_ver1'''], '''philips_fisio_825_ver1_sub5023''', '''PHILIPS-FISIO 825/3.14 UP.Browser/5.0.2.3 (GUI)''', False, None) +devices.devids['''philips_fisio_825_ver1_sub314'''] = devclass(devices.devids['''philips_fisio_825_ver1'''], '''philips_fisio_825_ver1_sub314''', '''PHILIPS-FISIO 825/3.14 UP.Browser/5.0.3.5 (GUI)''', False, None) +devices.devids['''philips_fisio_826_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''philips_fisio_826_ver1''', '''PHILIPS-FISIO 826''', True, {'''brand_name''':'''Philips''','''model_name''':826}) +devices.devids['''philips_fisio_826_ver1_sub314'''] = devclass(devices.devids['''philips_fisio_826_ver1'''], '''philips_fisio_826_ver1_sub314''', '''PHILIPS-FISIO 826/3.14 UP.Browser/5.0.3.5 (GUI)''', False, None) +devices.devids['''philips_855_ver1'''] = devclass(devices.devids['''generic'''], '''philips_855_ver1''', '''PHILIPS855''', True, {'''brand_name''':'''Philips''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':False,'''html_wi_w3_xhtmlbasic''':False,'''jpg''':True,'''max_image_height''':96,'''max_image_width''':105,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':855,'''png''':False,'''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''philips_855_ver1_sub20'''] = devclass(devices.devids['''philips_855_ver1'''], '''philips_855_ver1_sub20''', '''PHILIPS855 ObigoInternetBrowser/2.0''', False, None) +devices.devids['''philips_855_ver1_sub20space'''] = devclass(devices.devids['''philips_855_ver1'''], '''philips_855_ver1_sub20space''', '''PHILIPS 855 / Obigo Internet Browser 2.0''', False, None) +devices.devids['''philips859_ver1'''] = devclass(devices.devids['''generic'''], '''philips859_ver1''', '''PHILIPS859''', True, {'''brand_name''':'''Philips''','''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':859,'''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True}) +devices.devids['''philips859_ver1_sub20'''] = devclass(devices.devids['''philips859_ver1'''], '''philips859_ver1_sub20''', '''PHILIPS859 ObigoInternetBrowser/2.0''', False, None) +devices.devids['''philips_s890_ver1'''] = devclass(devices.devids['''generic'''], '''philips_s890_ver1''', '''Philips S890 / Obigo Browser 2.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Philips''','''colors''':4096,'''columns''':18,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':50000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''S890''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.consumer.philips.com/wbu/uapS890.XML''','''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''philips_960_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''philips_960_ver1''', '''PHILIPS 960''', False, {'''resolution_height''':220,'''resolution_width''':176}) +devices.devids['''philips_960_ver1_sub6239d1100'''] = devclass(devices.devids['''philips_960_ver1'''], '''philips_960_ver1_sub6239d1100''', '''PHILIPS 960 UP.Browser/6.2.3.9.d.1.100 (GUI) MMP/2.0''', False, None) +devices.devids['''philips_ozeo_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''philips_ozeo_ver1''', '''PHILIPS-Ozeo UP/4''', False, None) +devices.devids['''philips_ozeo_ver1_sub4116r'''] = devclass(devices.devids['''philips_ozeo_ver1'''], '''philips_ozeo_ver1_sub4116r''', '''PHILIPS-Ozeo UP/4.1.16r''', False, None) +devices.devids['''philips_ozeo_ver1_sub4116xxxx'''] = devclass(devices.devids['''philips_ozeo_ver1'''], '''philips_ozeo_ver1_sub4116xxxx''', '''PHILIPS-Ozeo UP/4.1.16r UP.Browser/4.1.16r-XXXX''', False, None) +devices.devids['''philips_sysol2_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''philips_sysol2_ver1''', '''PHILIPS-SYSOL2''', False, None) +devices.devids['''philips_sysol2_ver1_sub50111'''] = devclass(devices.devids['''philips_sysol2_ver1'''], '''philips_sysol2_ver1_sub50111''', '''PHILIPS-SYSOL2/3.11 UP.Browser/5.0.1.11''', False, None) +devices.devids['''philips_sysol2_ver1_sub5035'''] = devclass(devices.devids['''philips_sysol2_ver1'''], '''philips_sysol2_ver1_sub5035''', '''PHILIPS-SYSOL2/3.11 UP.Browser/5.0.3.5''', False, None) +devices.devids['''philips_sysol3_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''philips_sysol3_ver1''', '''PHILIPS-SYSOL3''', False, None) +devices.devids['''philips_sysol3_ver1_sub5035'''] = devclass(devices.devids['''philips_sysol3_ver1'''], '''philips_sysol3_ver1_sub5035''', '''PHILIPS-SYSOL3/3.11 UP.Browser/5.0.3.5''', False, None) +devices.devids['''philips_v21wap_ver1'''] = devclass(devices.devids['''generic'''], '''philips_v21wap_ver1''', '''PHILIPS-V21WAP''', False, None) +devices.devids['''philips_v21wap_ver1_sub4'''] = devclass(devices.devids['''philips_v21wap_ver1'''], '''philips_v21wap_ver1_sub4''', '''PHILIPS-V21WAP UP/4''', False, None) +devices.devids['''philips_v21wap_ver1_sub4116'''] = devclass(devices.devids['''philips_v21wap_ver1'''], '''philips_v21wap_ver1_sub4116''', '''PHILIPS-V21WAP UP/4.1.16r''', False, None) +devices.devids['''philips_v21wap_ver1_sub4116rxxxx'''] = devclass(devices.devids['''philips_v21wap_ver1'''], '''philips_v21wap_ver1_sub4116rxxxx''', '''PHILIPS-V21WAP UP/4.1.16r UP.Browser/4.1.16r-XXXX''', False, None) +devices.devids['''philips_vthin_wap_ver1'''] = devclass(devices.devids['''generic'''], '''philips_vthin_wap_ver1''', '''PHILIPS-VTHIN_WAP''', False, None) +devices.devids['''philips_vthin_wap_ver1_sub4116'''] = devclass(devices.devids['''philips_vthin_wap_ver1'''], '''philips_vthin_wap_ver1_sub4116''', '''PHILIPS-VTHIN_WAP UP/4.1.16r''', False, None) +devices.devids['''philips_xenium99_ver1'''] = devclass(devices.devids['''generic'''], '''philips_xenium99_ver1''', '''PHILIPS-Xenium9@9''', False, None) +devices.devids['''philips_xenium99_ver1_sub4116r'''] = devclass(devices.devids['''philips_xenium99_ver1'''], '''philips_xenium99_ver1_sub4116r''', '''PHILIPS-Xenium9@9 UP/4.1.16r''', False, None) +devices.devids['''philips_xenium99_ver1_sub4116rxxxx'''] = devclass(devices.devids['''philips_xenium99_ver1'''], '''philips_xenium99_ver1_sub4116rxxxx''', '''PHILIPS-Xenium9@9 UP/4.1.16r UP.Browser/4.1.16r-XXXX''', False, None) +devices.devids['''philips_xenium99_ver1_sub4119l'''] = devclass(devices.devids['''philips_xenium99_ver1'''], '''philips_xenium99_ver1_sub4119l''', '''PHILIPS-Xenium9@9 UP/4.1.19l UP.Browser/4.1.19l-XXXX''', False, None) +devices.devids['''philips_xenium99_ver1_sub4119m'''] = devclass(devices.devids['''philips_xenium99_ver1'''], '''philips_xenium99_ver1_sub4119m''', '''PHILIPS-Xenium9@9 UP/4.1.19m UP.Browser/4.1.19m-XXXX''', False, None) +devices.devids['''philips_xenium99_ver1_sub21'''] = devclass(devices.devids['''philips_xenium99_ver1'''], '''philips_xenium99_ver1_sub21''', '''PHILIPS-XENIUM 9@9/2.1 UP/4.1.19m UP.Browser/4.1.19m-XXXX''', False, None) +devices.devids['''philips_xenium99plus_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''philips_xenium99plus_ver1''', '''PHILIPS-Xenium 9@9++''', False, None) +devices.devids['''philips_xenium99plus_ver1_sub314'''] = devclass(devices.devids['''philips_xenium99plus_ver1'''], '''philips_xenium99plus_ver1_sub314''', '''PHILIPS-Xenium 9@9++/3.14 UP.Browser/5.0.3.5 (GUI)''', False, None) +devices.devids['''ct9a9g_ver1'''] = devclass(devices.devids['''generic'''], '''ct9a9g_ver1''', '''CT9A9G Profile/MIDP-2.0 Configuration/CLDC-1.0 ObigoInternetBrowser/QO3C EGE/1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Philips''','''colors''':65536,'''columns''':16,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':530200,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':302400,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''model_name''':'''CT9A9G''','''mp3''':True,'''oma_support''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':8,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.consumer.philips.com/wbu/uapCT9A9G.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''panasonic_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''panasonic_ver1''', '''Panasonic WAP''', False, None) +devices.devids['''panasonic_a100_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_a100_ver1''', '''Panasonic-A100''', True, {'''brand_name''':'''Panasonic''','''model_name''':'''A100'''}) +devices.devids['''panasonic_a200_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''panasonic_a200_ver1''', '''Panasonic-A200''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':15,'''directdownload_support''':True,'''imelody''':True,'''max_deck_size''':8192,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':93,'''mms_max_size''':51200,'''mms_max_width''':122,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''A200''','''nokia_voice_call''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/A200/R1.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''panasonic_a200_ver1_sub10'''] = devclass(devices.devids['''panasonic_a200_ver1'''], '''panasonic_a200_ver1_sub10''', '''Panasonic-A200/1.0 UP.Browser/6.2.2.7 (GUI)MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_a210_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''panasonic_a210_ver1''', '''Panasonic-A210''', True, {'''brand_name''':'''Panasonic''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''A210''','''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''panasonic_a210_ver1_sub10'''] = devclass(devices.devids['''panasonic_a210_ver1'''], '''panasonic_a210_ver1_sub10''', '''Panasonic-A210/1.0 UP.Browser/6.1.0.7.8 (GUI) MMP/1.0''', False, None) +devices.devids['''panasonic_a500_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_a500_ver1''', '''Panasonic-A500''', False, None) +devices.devids['''panasonic_a500_ver1_sub-10'''] = devclass(devices.devids['''panasonic_a500_ver1'''], '''panasonic_a500_ver1_sub-10''', '''Panasonic-A500/R1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''panasonic_GD35_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''panasonic_GD35_ver1''', '''Panasonic-GAD35/1.0 UP.Browser/4''', True, {'''brand_name''':'''Panasonic''','''columns''':16,'''image_as_link_support''':True,'''model_name''':'''GD35''','''resolution_height''':48,'''resolution_width''':96,'''rows''':5,'''wta_voice_call''':True}) +devices.devids['''panasonic_GD35_ver1_sub4122j'''] = devclass(devices.devids['''panasonic_GD35_ver1'''], '''panasonic_GD35_ver1_sub4122j''', '''Panasonic-GAD35/1.0 UP.Browser/4.1.22j''', False, None) +devices.devids['''panasonic_GD35_ver1_sub4124d'''] = devclass(devices.devids['''panasonic_GD35_ver1'''], '''panasonic_GD35_ver1_sub4124d''', '''Panasonic-GAD35/1.1 UP.Browser/4.1.24d''', False, None) +devices.devids['''panasonic_GD35_ver1_sub4124g'''] = devclass(devices.devids['''panasonic_GD35_ver1'''], '''panasonic_GD35_ver1_sub4124g''', '''Panasonic-GAD35/1.1 UP.Browser/4.1.24g''', False, None) +devices.devids['''panasonic_gd55_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_gd55_ver1''', '''Panasonic-GAD55''', True, {'''brand_name''':'''Panasonic''','''ems''':True,'''max_image_height''':48,'''max_image_width''':112,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''GD55''','''preferred_markup''':'''wml_1_2''','''resolution_height''':64,'''resolution_width''':112,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''voices''':4,'''wallpaper_gif''':True,'''wml_1_2''':True}) +devices.devids['''panasonic_g50_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''panasonic_g50_ver1''', '''Panasonic-G50''', True, {'''brand_name''':'''Panasonic''','''directdownload_support''':True,'''ems''':True,'''max_deck_size''':51200,'''max_image_height''':72,'''max_image_width''':125,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''G50''','''resolution_height''':96,'''resolution_width''':125,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''panasonic_g50_ver1_sub10'''] = devclass(devices.devids['''panasonic_g50_ver1'''], '''panasonic_g50_ver1_sub10''', '''Panasonic-G50/1.0 UP.Browser/6.1.0.6.d.2.100 (GUI) MMP/1.0''', False, None) +devices.devids['''panasonic_g60_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''panasonic_g60_ver1''', '''Panasonic-G60''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Panasonic''','''colors''':4096,'''columns''':12,'''compactmidi''':True,'''directdownload_support''':True,'''imelody''':True,'''inline_support''':True,'''max_deck_size''':65535,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':96,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''G60''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':7,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/G60/R1.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wta_phonebook''':True}) +devices.devids['''panasonic_g60_ver1_sub106106'''] = devclass(devices.devids['''panasonic_g60_ver1'''], '''panasonic_g60_ver1_sub106106''', '''Panasonic-G60/1.0 UP.Browser/6.1.0.6 MMP/1.0 UP.Browser/6.1.0.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_g60_ver1_sub106107'''] = devclass(devices.devids['''panasonic_g60_ver1'''], '''panasonic_g60_ver1_sub106107''', '''Panasonic-G60/1.0 UP.Browser/6.1.0.7 MMP/1.0 UP.Browser/6.1.0.7 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_g70_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''panasonic_g70_ver1''', '''Panasonic-G70''', True, {'''brand_name''':'''Panasonic''','''directdownload_support''':True,'''max_image_height''':96,'''max_image_width''':128,'''model_name''':'''G70''','''resolution_height''':96,'''resolution_width''':128,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''panasonic_g70_ver1_sub6106d2100'''] = devclass(devices.devids['''panasonic_g70_ver1'''], '''panasonic_g70_ver1_sub6106d2100''', '''Panasonic-G70/1.0 UP.Browser/6.1.0.6.d.2.100 (GUI) MMP/1.0''', False, None) +devices.devids['''panasonic_g600i_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_g600i_ver1''', '''Panasonic G600i''', True, {'''brand_name''':'''Panasonic''','''model_name''':'''G600i''','''panasonic''':True}) +devices.devids['''panasonic_x60_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_x60_ver1''', '''Panasonic-X60''', True, {'''amr''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':16,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''directdownload_support''':True,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''inline_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':96,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''X60''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/X60/R1.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':96,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':96,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1,'''xhtml_table_support''':True}) +devices.devids['''panasonic_x60_ver1_subr01'''] = devclass(devices.devids['''panasonic_x60_ver1'''], '''panasonic_x60_ver1_subr01''', '''Panasonic-X60/R01 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x66_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_x66_ver1''', '''Panasonic-X66''', True, {'''amr''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':16,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':96,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''X66''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/X66/R1.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_table_support''':True}) +devices.devids['''panasonic_x66_ver1_sub00'''] = devclass(devices.devids['''panasonic_x66_ver1'''], '''panasonic_x66_ver1_sub00''', '''Panasonic-X66/R01 Profile''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x68_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_x68_ver1''', '''Panasonic-X68''', True, {'''amr''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':16,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_deck_size''':9216,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':96,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''x68''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/x68/R1.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''panasonic_x68_ver1_sub00'''] = devclass(devices.devids['''panasonic_x68_ver1'''], '''panasonic_x68_ver1_sub00''', '''Panasonic-X68/R01 Profile''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x77_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_x77_ver1''', '''Panasonic-X77''', True, {'''brand_name''':'''Panasonic''','''model_name''':'''X77'''}) +devices.devids['''panasonic_x77_ver1_sub00'''] = devclass(devices.devids['''panasonic_x77_ver1'''], '''panasonic_x77_ver1_sub00''', '''Panasonic-X77/R01 Profile''', False, None) +devices.devids['''panasonic_x100_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''panasonic_x100_ver1''', '''Panasonic-X100''', True, {'''brand_name''':'''Panasonic''','''directdownload_support''':True,'''max_deck_size''':64512,'''model_name''':'''X100''','''ringtone_amr''':True,'''ringtone_voices''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128}) +devices.devids['''panasonic_x100_ver1_sub10'''] = devclass(devices.devids['''panasonic_x100_ver1'''], '''panasonic_x100_ver1_sub10''', '''Panasonic-X100/1.0 UP.Browser/6.2.2.7 (GUI) MMP/1.0''', False, None) +devices.devids['''panasonic_x200_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_x200_ver1''', '''Panasonic-X200''', True, {'''amr''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':16,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':9216,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':125,'''mms_max_size''':102400,'''mms_max_width''':96,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''X200''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/X200/R1.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''panasonic_x200_ver1_subr01'''] = devclass(devices.devids['''panasonic_x200_ver1'''], '''panasonic_x200_ver1_subr01''', '''Panasonic-X200/R01 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x200p_ver1'''] = devclass(devices.devids['''panasonic_x200_ver1'''], '''panasonic_x200p_ver1''', '''Panasonic-X200P''', True, {'''amr''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':16,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':9216,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':125,'''mms_max_size''':102400,'''mms_max_width''':96,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''X200P''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/X200/RP1.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_table_support''':True}) +devices.devids['''panasonic_x200p_ver1_subrp1'''] = devclass(devices.devids['''panasonic_x200p_ver1'''], '''panasonic_x200p_ver1_subrp1''', '''Panasonic-X200P/RP1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x300_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''panasonic_x300_ver1''', '''Panasonic-X300''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':15,'''directdownload_support''':True,'''imelody''':True,'''max_deck_size''':102400,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':102400,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''X300''','''nokia_voice_call''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':5,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/X300/R1.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':91,'''wallpaper_preferred_width''':128,'''wav''':True}) +devices.devids['''panasonic_x300_ver1_sub61074'''] = devclass(devices.devids['''panasonic_x300_ver1'''], '''panasonic_x300_ver1_sub61074''', '''Panasonic-X300/1.0 UP.Browser/6.1.0.7.4 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x300_ver1_sub61078'''] = devclass(devices.devids['''panasonic_x300_ver1'''], '''panasonic_x300_ver1_sub61078''', '''Panasonic-X300/1.0 UP.Browser/6.1.0.7.8 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x400_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_x400_ver1''', '''Panasonic-X400''', True, {'''amr''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':16,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''ems''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':125,'''mms_max_size''':102400,'''mms_max_width''':96,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''X400''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/X400/RP1.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1,'''xhtml_table_support''':True}) +devices.devids['''panasonic_x400_ver1_sub1'''] = devclass(devices.devids['''panasonic_x400_ver1'''], '''panasonic_x400_ver1_sub1''', '''Panasonic-X400/R01 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x400p_ver1'''] = devclass(devices.devids['''panasonic_x400_ver1'''], '''panasonic_x400p_ver1''', '''Panasonic-X400P''', True, {'''amr''':True,'''colors''':65536,'''columns''':16,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':9216,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':125,'''mms_max_size''':102400,'''mms_max_width''':96,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''X400P''','''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/X400/R1.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''panasonic_x400p_ver1_subrp1'''] = devclass(devices.devids['''panasonic_x400p_ver1'''], '''panasonic_x400p_ver1_subrp1''', '''Panasonic-X400P/RP1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x800_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_x800_ver1''', '''Panasonic-X800''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':15,'''connectionoriented_confirmed_service_indication''':True,'''device_os''':'''Symbian OS''','''epoc_bmp''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':208,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':357000,'''max_image_height''':188,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':107250,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_symbian_install''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''X800''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':208,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/X800/X800R1.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''panasonic_x800_ver1_sub-10'''] = devclass(devices.devids['''panasonic_x800_ver1'''], '''panasonic_x800_ver1_sub-10''', '''Panasonic-X800/1.0 SymbianOS/7.0 Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_vs2_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_vs2_ver1''', '''Panasonic-VS2''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':18,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''VS2''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/vs2/RP1.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wav''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''panasonic_vs2_ver1_sub10'''] = devclass(devices.devids['''panasonic_vs2_ver1'''], '''panasonic_vs2_ver1_sub10''', '''Panasonic-VS2/1.0/RP1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x410_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_x410_ver1''', '''PanasonicVS3''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Panasonic''','''directdownload_support''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':240,'''max_image_width''':225,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mobile_browser''':'''Teleca-Obigo''','''model_name''':'''x410''','''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':240,'''picture_max_width''':320,'''picture_png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''smf''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/X410/R1.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''panasonic_x410_ver1_subvoda'''] = devclass(devices.devids['''panasonic_x410_ver1'''], '''panasonic_x410_ver1_subvoda''', '''Vodafone/1.0/PanasonicVS3''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x410_ver1_subvoda2'''] = devclass(devices.devids['''panasonic_x410_ver1'''], '''panasonic_x410_ver1_subvoda2''', '''Vodafone/1.0/VS3''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x410_ver1_subvoda3'''] = devclass(devices.devids['''panasonic_x410_ver1'''], '''panasonic_x410_ver1_subvoda3''', '''Vodafone/1.0/Panasonic-VS3/1.0 Browser/Obigo-Browser/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x410_ver1_subvoda301'''] = devclass(devices.devids['''panasonic_x410_ver1'''], '''panasonic_x410_ver1_subvoda301''', '''Vodafone/1.0/VS3/01 Browser/Obigo-Browser/3.0 MMS/Obigo-MMS/2.0 Java/Jblend/1.0 Sync/Panasonic/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x410_ver1_subrp1'''] = devclass(devices.devids['''panasonic_x410_ver1'''], '''panasonic_x410_ver1_subrp1''', '''Panasonic-VS3/1.0/RP1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x410_ver1_subrp1plus'''] = devclass(devices.devids['''panasonic_x410_ver1'''], '''panasonic_x410_ver1_subrp1plus''', '''Panasonic-VS3/1.0/RP1+Profile/MIDP-2.0+Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x410_ver1_sub20050511sw10'''] = devclass(devices.devids['''panasonic_x410_ver1'''], '''panasonic_x410_ver1_sub20050511sw10''', '''Panasonic-VS3/(2005.05.11)SW1.0/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_vs6_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_vs6_ver1''', '''Panasonic-VS6''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':18,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''VS6''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':8,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/vs2/RP1.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':174,'''wallpaper_preferred_width''':173,'''wap_push_support''':True,'''wav''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''panasonic_vs6_ver1_sub10'''] = devclass(devices.devids['''panasonic_vs6_ver1'''], '''panasonic_vs6_ver1_sub10''', '''Panasonic-VS6/1.0/RP1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_vs7_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_vs7_ver1''', '''Panasonic-VS7''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':18,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''VS7''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/VS7/RP1.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':174,'''wallpaper_preferred_width''':173,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''panasonic_vs7_ver1_sub-11'''] = devclass(devices.devids['''panasonic_vs7_ver1'''], '''panasonic_vs7_ver1_sub-11''', '''Panasonic-VS7/1.0/RP1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x500_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''panasonic_x500_ver1''', '''Panasonic-X500''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':15,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':131072,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':93,'''mms_max_size''':102400,'''mms_max_width''':122,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''X500''','''nokia_voice_call''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/X500/R1.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''panasonic_x500_ver1_sub6227'''] = devclass(devices.devids['''panasonic_x500_ver1'''], '''panasonic_x500_ver1_sub6227''', '''Panasonic-X500/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.7 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_gad67_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''panasonic_gad67_ver1''', '''Panasonic-GAD67''', True, {'''bmp''':True,'''brand_name''':'''Panasonic''','''colors''':256,'''columns''':15,'''downloadfun_support''':True,'''ems''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':8191,'''max_image_height''':80,'''max_image_width''':136,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''GD67''','''nokia_voice_call''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':8,'''picture_df_size_limit''':25600,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':120,'''picture_max_width''':136,'''picture_png''':True,'''png''':True,'''resolution_height''':120,'''resolution_width''':136,'''ringtone''':True,'''ringtone_df_size_limit''':25600,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':4,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':8,'''screensaver_df_size_limit''':25600,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':120,'''screensaver_max_width''':136,'''screensaver_png''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/GD67/R1.xml''','''uaprof2''':'''http://mobileinternet.panasonicbox.com/UAprof/GD67/R2.xml''','''uaprof3''':'''http://mobileinternet.panasonicbox.com/UAprof/GD67/04.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_df_size_limit''':25600,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':120,'''wallpaper_max_width''':136,'''wallpaper_png''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101}) +devices.devids['''panasonic_gad67_ver1_sub5035'''] = devclass(devices.devids['''panasonic_gad67_ver1'''], '''panasonic_gad67_ver1_sub5035''', '''Panasonic-GAD67/1.0 UP.Browser/5.0.3.5 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_gad6star_ver1'''] = devclass(devices.devids['''panasonic_gad67_ver1'''], '''panasonic_gad6star_ver1''', '''Panasonic-GAD6*''', False, None) +devices.devids['''panasonic_gad6star_ver1_sub5032'''] = devclass(devices.devids['''panasonic_gad6star_ver1'''], '''panasonic_gad6star_ver1_sub5032''', '''Panasonic-GAD6*/1.0 UP.Browser/5.0.3.2 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_gad6star_ver1_sub5035'''] = devclass(devices.devids['''panasonic_gad6star_ver1'''], '''panasonic_gad6star_ver1_sub5035''', '''Panasonic-GAD6*/1.0 UP.Browser/5.0.3.5 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_GD75_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''panasonic_GD75_ver1''', '''Panasonic-GAD75''', True, {'''brand_name''':'''Panasonic''','''model_name''':'''GD75'''}) +devices.devids['''panasonic_gad76_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_gad76_ver1''', '''Panasonic-GAD76''', True, {'''brand_name''':'''Panasonic''','''model_name''':'''GD76'''}) +devices.devids['''panasonic_gad87_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_gad87_ver1''', '''Panasonic-GAD87''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''ems''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''inline_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':50000,'''max_image_height''':135,'''max_image_width''':129,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':False,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':134,'''mms_max_size''':50000,'''mms_max_width''':132,'''mms_midi_monophonic''':True,'''mms_mmf''':False,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''GD87''','''multipart_support''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':176,'''resolution_width''':132,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':6,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/GD87/R1.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':176,'''wallpaper_max_width''':132,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_table_support''':True}) +devices.devids['''panasonic_gad87_ver1_suba19'''] = devclass(devices.devids['''panasonic_gad87_ver1'''], '''panasonic_gad87_ver1_suba19''', '''Panasonic-GAD87/A19''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_gad87i_ver1'''] = devclass(devices.devids['''panasonic_gad87_ver1'''], '''panasonic_gad87i_ver1''', '''Panasonic-GAD87i''', False, None) +devices.devids['''panasonic_GD95_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''panasonic_GD95_ver1''', '''Panasonic-GAD95''', True, {'''brand_name''':'''Panasonic''','''model_name''':'''GD95'''}) +devices.devids['''panasonic_gad96_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_gad96_ver1''', '''Panasonic-GAD96''', True, {'''brand_name''':'''Panasonic''','''model_name''':'''GD96'''}) +devices.devids['''panasonic_x70_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_x70_ver1''', '''Panasonic-X70''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Panasonic''','''built_in_camera''':True,'''colors''':65536,'''columns''':16,'''directdownload_support''':True,'''ems''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':100000,'''max_image_height''':132,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':134,'''mms_max_size''':100000,'''mms_max_width''':132,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''X70''','''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':176,'''resolution_width''':132,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/X70/R1.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''panasonic_x70_ver1_sub10'''] = devclass(devices.devids['''panasonic_x70_ver1'''], '''panasonic_x70_ver1_sub10''', '''Panasonic-X70/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x70_ver1_suba00'''] = devclass(devices.devids['''panasonic_x70_ver1'''], '''panasonic_x70_ver1_suba00''', '''Panasonic-X70/A00''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x700_ver1'''] = devclass(devices.devids['''nokia_generic_series60'''], '''panasonic_x700_ver1''', '''Panasonic-X700''', True, {'''brand_name''':'''Panasonic''','''colors''':65536,'''j2me_midp_2_0''':True,'''model_name''':'''X700''','''oma_v_1_0_forwardlock''':True,'''ringtone_awb''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/X700/X700R1.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wallpaper_colors''':16}) +devices.devids['''panasonic_x700_ver1_sub1'''] = devclass(devices.devids['''panasonic_x700_ver1'''], '''panasonic_x700_ver1_sub1''', '''Panasonic-X700/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x700_ver1_subsymbian'''] = devclass(devices.devids['''panasonic_x700_ver1'''], '''panasonic_x700_ver1_subsymbian''', '''X700/1.0 SymbianOS/7.0 Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_x701_ver1'''] = devclass(devices.devids['''panasonic_x700_ver1'''], '''panasonic_x701_ver1''', '''Panasonic-X701''', True, {'''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':15,'''connectionless_service_indication''':True,'''connectionoriented_confirmed_service_indication''':True,'''epoc_bmp''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':357000,'''max_image_height''':188,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':107250,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_symbian_install''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''X701''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':208,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_rmf''':True,'''rmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''tiff''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/X701/X701R1.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''panasonic_x701_ver1_sub10'''] = devclass(devices.devids['''panasonic_x701_ver1'''], '''panasonic_x701_ver1_sub10''', '''Panasonic-X701/1.0 SymbianOS/7.0 Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_mx6_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_mx6_ver1''', '''Panasonic-MX6''', False, None) +devices.devids['''panasonic_mx6_ver1_subrp1'''] = devclass(devices.devids['''panasonic_mx6_ver1'''], '''panasonic_mx6_ver1_subrp1''', '''Panasonic-MX6/1.0/RP1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''panasonic_sa6_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_sa6_ver1''', '''Panasonic-SA6''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':18,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SA6''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''voices''':40,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''panasonic_sa6_ver1_sub10rp1'''] = devclass(devices.devids['''panasonic_sa6_ver1'''], '''panasonic_sa6_ver1_sub10rp1''', '''Panasonic-SA6/1.0/RP1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''panasonic_sa7_ver1'''] = devclass(devices.devids['''generic'''], '''panasonic_sa7_ver1''', '''Panasonic-SA7''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Panasonic''','''colors''':65536,'''columns''':18,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SA7''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/SA7/RP1.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''panasonic_sa7_ver1_sub-11'''] = devclass(devices.devids['''panasonic_sa7_ver1'''], '''panasonic_sa7_ver1_sub-11''', '''Panasonic-SA7/1.0/RP1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''panasonic_sc3_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''panasonic_sc3_ver1''', '''Panasonic-SC3''', False, {'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''panasonic_sc3_ver1_sub10'''] = devclass(devices.devids['''panasonic_sc3_ver1'''], '''panasonic_sc3_ver1_sub10''', '''Panasonic-SC3/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.8 (GUI) MMP/1.0''', False, None) +devices.devids['''qa_atm_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''qa_atm_ver1''', '''QA-ATM v1.04(atmc V4)''', False, None) +devices.devids['''qc07_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''qc07_ver1''', '''QC07''', False, None) +devices.devids['''qc07_ver1_sub4122b'''] = devclass(devices.devids['''qc07_ver1'''], '''qc07_ver1_sub4122b''', '''QC07 UP.Browser/4.1.22b''', False, None) +devices.devids['''qc12_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''qc12_ver1''', '''QC12 UP''', False, None) +devices.devids['''qc2135_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''qc2135_ver1''', '''QC2135 UP.Browser/4.1.22b''', False, None) +devices.devids['''qc_2235_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''qc_2235_ver1''', '''QC-2235/1''', False, None) +devices.devids['''qc_2235_ver1_sub1006'''] = devclass(devices.devids['''qc_2235_ver1'''], '''qc_2235_ver1_sub1006''', '''QC-2235/1.0.06 UP.Browser/4.1.22b1''', False, None) +devices.devids['''qc_2255_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''qc_2255_ver1''', '''QC-2255/1''', False, None) +devices.devids['''qc_2255_ver1_sub1008'''] = devclass(devices.devids['''qc_2255_ver1'''], '''qc_2255_ver1_sub1008''', '''QC-2255/1.0.08 UP.Browser/4.1.22b1''', False, None) +devices.devids['''qc_2325_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''qc_2325_ver1''', '''QC-2325''', False, None) +devices.devids['''qc_2325_ver1_sub1010'''] = devclass(devices.devids['''qc_2325_ver1'''], '''qc_2325_ver1_sub1010''', '''QC-2325/1.0.10 UP.Browser/4.1.25i''', False, None) +devices.devids['''qc_2345_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''qc_2345_ver1''', '''QC-2345/1''', False, None) +devices.devids['''qc_2345_ver1_sub1010'''] = devclass(devices.devids['''qc_2345_ver1'''], '''qc_2345_ver1_sub1010''', '''QC-2345/1.0.10 UP.Browser/4.1.25i''', False, None) +devices.devids['''qc32_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''qc32_ver1''', '''QC32 UP''', False, None) +devices.devids['''kyocera_3225_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''kyocera_3225_ver1''', '''QC-3225''', True, {'''brand_name''':'''Kyocera''','''model_name''':3245}) +devices.devids['''kyocera_3225_ver1_sub4126l'''] = devclass(devices.devids['''kyocera_3225_ver1'''], '''kyocera_3225_ver1_sub4126l''', '''QC-3225/1.0.35 UP.Browser/4.1.26l''', False, None) +devices.devids['''kyocera_3225_ver1_sub4126'''] = devclass(devices.devids['''kyocera_3225_ver1'''], '''kyocera_3225_ver1_sub4126''', '''QC-3225/1.0.37 UP.Browser/4.1.26l''', False, None) +devices.devids['''kyocera_3225_ver1_sub41264'''] = devclass(devices.devids['''kyocera_3225_ver1'''], '''kyocera_3225_ver1_sub41264''', '''QC-3225/1.0.46 UP.Browser/4.1.26l4''', False, None) +devices.devids['''qc_5135_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''qc_5135_ver1''', '''QC-5135''', True, {'''brand_name''':'''Kyocera''','''model_name''':'''QCP-5135'''}) +devices.devids['''qc_5135_ver1_sub41221'''] = devclass(devices.devids['''qc_5135_ver1'''], '''qc_5135_ver1_sub41221''', '''QC-5135/1.0.17 UP.Browser/4.1.22b1''', False, None) +devices.devids['''kyocera_7135_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''kyocera_7135_ver1''', '''QC-7135''', True, {'''brand_name''':'''Kyocera''','''model_name''':7135}) +devices.devids['''kyocera_7135_ver1_sub1038'''] = devclass(devices.devids['''kyocera_7135_ver1'''], '''kyocera_7135_ver1_sub1038''', '''QC-7135/1.0.38 UP.Browser/4.1.25i''', False, None) +devices.devids['''qc6035_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''qc6035_ver1''', '''QC6035 UP.Browser/4.1.22b1''', False, None) +devices.devids['''kwc_garnetto_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kwc_garnetto_ver1''', '''KWC-Garnetto/1.0.13 UP.Browser/6.2.3.6 (GUI) MMP/2.0''', True, {'''brand_name''':'''Kyocera''','''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''Garnetto''','''resolution_height''':160,'''resolution_width''':128}) +devices.devids['''kwc_k24_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kwc_k24_ver1''', '''KWC-K24/1.0.07 UP.Browser/6.2.3.9.g.1.109 (GUI) MMP/2.0''', True, {'''brand_name''':'''Kyocera''','''model_name''':'''K24'''}) +devices.devids['''kwc_kx5b_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kwc_kx5b_ver1''', '''KWC-KX5B/1.0.20 UP.Browser/6.2.3.6 (GUI) MMP/2.0''', True, {'''brand_name''':'''Kyocera''','''j2me_midp_1_0''':True,'''model_name''':'''KX5B'''}) +devices.devids['''kyocera_k323_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kyocera_k323_ver1''', '''KWC-K323/1''', True, {'''brand_name''':'''Kyocera''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''max_image_height''':120,'''max_image_width''':128,'''model_name''':'''KWC-K323''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''wbmp''':True}) +devices.devids['''kyocera_k323_ver1_sub6239g1100'''] = devclass(devices.devids['''kyocera_k323_ver1'''], '''kyocera_k323_ver1_sub6239g1100''', '''KWC-K323/1.0.10 UP.Browser/6.2.3.9.g.1.100 (GUI) MMP/2.0''', False, None) +devices.devids['''kwc_k325_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kwc_k325_ver1''', '''KWC-K325/1.0.04 UP.Browser/6.2.3.9.g.1.107 (GUI) MMP/2.0''', True, {'''au''':True,'''bmp''':True,'''brand_name''':'''Kyocera''','''colors''':65536,'''columns''':12,'''compactmidi''':True,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':500000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''model_name''':'''K325''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vmobl.com/Kyocera/vmk325/VMU_Thunder_UAProf.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''kwc_k127_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kwc_k127_ver1''', '''KWC-K127''', False, {'''brand_name''':'''Kyocera''','''model_name''':'''K127'''}) +devices.devids['''kwc_k127_ver1_sub1'''] = devclass(devices.devids['''kwc_k127_ver1'''], '''kwc_k127_ver1_sub1''', '''KWC-K127/1002 UP.Browser/6.2.3.9.g.1.110 (GUI) MMP/2.0''', False, None) +devices.devids['''kwc_k132_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kwc_k132_ver1''', '''KWC-K132/1020 UP.Browser/6.2.3.9.g.1.106 (GUI) MMP/2.0''', False, {'''brand_name''':'''Kyocera''','''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''K132''','''resolution_height''':128,'''resolution_width''':128}) +devices.devids['''kwc_k4xxl_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''kwc_k4xxl_ver1''', '''KWC-K4xxL''', False, None) +devices.devids['''kwc_k4xxl_ver1_sub1000'''] = devclass(devices.devids['''kwc_k4xxl_ver1'''], '''kwc_k4xxl_ver1_sub1000''', '''KWC-K4xxL/NJ1000 UP.Browser/4.1.26l5''', False, None) +devices.devids['''kwc_k4xxl_ver1_sub1002'''] = devclass(devices.devids['''kwc_k4xxl_ver1'''], '''kwc_k4xxl_ver1_sub1002''', '''KWC-K4xxL/NJ1002 UP.Browser/4.1.26l5''', False, None) +devices.devids['''kwc_k4xxlc_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''kwc_k4xxlc_ver1''', '''KWC-K4xxLC''', False, None) +devices.devids['''kwc_k4xxlc_ver1_sub1019'''] = devclass(devices.devids['''kwc_k4xxlc_ver1'''], '''kwc_k4xxlc_ver1_sub1019''', '''KWC-K4xxLC/NH1019 UP.Browser/4.1.26l5''', False, None) +devices.devids['''kwc_k4xxlc_ver1_sub1030'''] = devclass(devices.devids['''kwc_k4xxlc_ver1'''], '''kwc_k4xxlc_ver1_sub1030''', '''KWC-K4xxLC/NH1030 UP.Browser/4.1.26l5''', False, None) +devices.devids['''kwc_k4xxn_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''kwc_k4xxn_ver1''', '''KWC-K4xxN''', False, None) +devices.devids['''kwc_k4xxn_ver1_sub1002'''] = devclass(devices.devids['''kwc_k4xxn_ver1'''], '''kwc_k4xxn_ver1_sub1002''', '''KWC-K4xxN/MY1002 UP.Browser/4.1.26l5''', False, None) +devices.devids['''kwc_k4xxn_ver1_sub1003'''] = devclass(devices.devids['''kwc_k4xxn_ver1'''], '''kwc_k4xxn_ver1_sub1003''', '''KWC-K4xxN/MY1003 UP.Browser/4.1.26l5''', False, None) +devices.devids['''kwc_ke414_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''kwc_ke414_ver1''', '''KWC-KE414''', False, {'''brand_name''':'''Kyocera''','''model_name''':'''KE414'''}) +devices.devids['''kwc_ke414_ver1_sub41264'''] = devclass(devices.devids['''kwc_ke414_ver1'''], '''kwc_ke414_ver1_sub41264''', '''KWC-KE414/1.0.33 UP.Browser/4.1.26l4''', False, None) +devices.devids['''kwc_kx414c_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''kwc_kx414c_ver1''', '''KWC-KX414c''', False, None) +devices.devids['''kwc_kx414c_ver1_sub1039'''] = devclass(devices.devids['''kwc_kx414c_ver1'''], '''kwc_kx414c_ver1_sub1039''', '''KWC-KX414c/1.0.39 UP.Browser/4.1.26l4''', False, None) +devices.devids['''kwc_kx414c_ver1_sub1046'''] = devclass(devices.devids['''kwc_kx414c_ver1'''], '''kwc_kx414c_ver1_sub1046''', '''KWC-KX414c/1.0.46 UP.Browser/4.1.26l4''', False, None) +devices.devids['''kwc_ke424c_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''kwc_ke424c_ver1''', '''KWC-KE424c''', True, {'''brand_name''':'''Kyocera''','''model_name''':'''KE424c'''}) +devices.devids['''kwc_ke424c_ver1_sub41264'''] = devclass(devices.devids['''kwc_ke424c_ver1'''], '''kwc_ke424c_ver1_sub41264''', '''KWC-KE424c/1.0.37 UP.Browser/4.1.26l4''', False, None) +devices.devids['''kwc_kx1_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kwc_kx1_ver1''', '''KWC-KX1''', True, {'''brand_name''':'''Kyocera''','''columns''':16,'''compactmidi''':True,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''KX1''','''picture''':True,'''picture_bmp''':True,'''picture_colors''':16,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':128,'''picture_max_width''':128,'''picture_png''':True,'''picture_preferred_height''':128,'''picture_preferred_width''':128,'''picture_wbmp''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_compactmidi''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':4,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''sp_midi''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''kwc_k612_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kwc_k612_ver1''', '''KWC-K612/1.1.00 UP.Browser/6.2.3.9.g.1.103 (GUI) MMP/2.0''', True, {'''amr''':True,'''au''':True,'''brand_name''':'''Kyocera''','''colors''':65536,'''columns''':10,'''compactmidi''':True,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':300000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''model_name''':'''KWC-K612 (Strobe)''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':4,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vmobl.com/KYOCERA/K612/VMU_Switch_Back_UAProf.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''kwc_k612b_ver1'''] = devclass(devices.devids['''kwc_k612_ver1'''], '''kwc_k612b_ver1''', '''KWC-K612B/1.1.10 UP.Browser/6.2.3.9.g.1.105 (GUI) MMP/2.0''', True, {'''brand_name''':'''Kyocera''','''model_name''':'''K612B STROBE''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''ringtone_wav''':True,'''screensaver''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':160}) +devices.devids['''kwc_kx1_ver1_sub201003'''] = devclass(devices.devids['''kwc_kx1_ver1'''], '''kwc_kx1_ver1_sub201003''', '''KWC-KX1/1003 UP.Browser/6.2.3.2.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''kwc_kx1_ver1_sub201009'''] = devclass(devices.devids['''kwc_kx1_ver1'''], '''kwc_kx1_ver1_sub201009''', '''KWC-KX1/1009 UP.Browser/6.2.3.2.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''kwc_kx2_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kwc_kx2_ver1''', '''KWC-KX2''', True, {'''brand_name''':'''Kyocera''','''colors''':262144,'''directdownload_support''':True,'''gif_animated''':True,'''max_image_height''':150,'''max_image_width''':124,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':350000,'''mms_midi_polyphonic_voices''':32,'''mms_mp3''':True,'''model_name''':'''Koi KX2''','''mp3''':True,'''receiver''':True,'''resolution_height''':176,'''resolution_width''':132,'''ringtone''':True,'''ringtone_directdownload_size_limit''':350000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''rows''':5,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':350000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':176,'''screensaver_max_width''':132,'''screensaver_preferred_height''':176,'''screensaver_preferred_width''':132,'''sender''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':350000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':176,'''wallpaper_max_width''':132,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132}) +devices.devids['''kwc_kx2_ver1_sub1027'''] = devclass(devices.devids['''kwc_kx2_ver1'''], '''kwc_kx2_ver1_sub1027''', '''KWC-KX2/1.0.27 UP.Browser/6.2.3.2.c.1.100 (GUI) MMP/2.0''', False, None) +devices.devids['''kwc_kx2_ver1_sub1039'''] = devclass(devices.devids['''kwc_kx2_ver1'''], '''kwc_kx2_ver1_sub1039''', '''KWC-KX2/1.0.39 UP.Browser/6.2.3.2.c.1.100 (GUI) MMP/2.0''', False, None) +devices.devids['''verizon_kwc_kx2_ver1'''] = devclass(devices.devids['''kwc_kx2_ver1'''], '''verizon_kwc_kx2_ver1''', '''kyokx2''', True, {'''mms_mp3''':False,'''model_name''':'''KX2 KOI (Verizon Wireless)''','''mp3''':True,'''ringtone_mp3''':False,'''video_3gpp2''':True}) +devices.devids['''kyocera_kx5_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kyocera_kx5_ver1''', '''KWC-KX5''', False, {'''brand_name''':'''Kyocera''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':180,'''j2me_screen_width''':176,'''model_name''':'''KX5 (Slider)''','''resolution_height''':220,'''resolution_width''':176}) +devices.devids['''kyocera_kx5_ver1_sub1021'''] = devclass(devices.devids['''kyocera_kx5_ver1'''], '''kyocera_kx5_ver1_sub1021''', '''KWC-KX5/1.0.21 UP.Browser/6.2.3.9 (GUI) MMP/2.0''', False, None) +devices.devids['''kwc_kx444c_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''kwc_kx444c_ver1''', '''KWC-KX444c''', False, None) +devices.devids['''kwc_kx444c_ver1_sub41264'''] = devclass(devices.devids['''kwc_kx444c_ver1'''], '''kwc_kx444c_ver1_sub41264''', '''KWC-KX444c/1.0.00 UP.Browser/4.1.26l4''', False, None) +devices.devids['''kwc_kx9_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kwc_kx9_ver1''', '''KWC-KX9''', False, {'''brand_name''':'''Kyocera''','''model_name''':'''KX9'''}) +devices.devids['''kwc_kx9_ver1_sub1'''] = devclass(devices.devids['''kwc_kx9_ver1'''], '''kwc_kx9_ver1_sub1''', '''KWC-KX9/1000 UP.Browser/6.2.3.9.g.1.107 (GUI) MMP/2.0''', False, None) +devices.devids['''kwc_se44_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''kwc_se44_ver1''', '''KWC-SE44''', True, {'''brand_name''':'''Kyocera''','''model_name''':'''SE44'''}) +devices.devids['''kwc_se44_ver1_sub1008'''] = devclass(devices.devids['''kwc_se44_ver1'''], '''kwc_se44_ver1_sub1008''', '''KWC-SE44/1.0.08 UP.Browser/4.1.26l4''', False, None) +devices.devids['''kwc_se44_ver1_sub1011'''] = devclass(devices.devids['''kwc_se44_ver1'''], '''kwc_se44_ver1_sub1011''', '''KWC-SE44/1.0.11 UP.Browser/4.1.26l4''', False, None) +devices.devids['''kwc_se47_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''kwc_se47_ver1''', '''KWC-SE47''', True, {'''brand_name''':'''Kyocera''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SE47''','''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''kwc_se47_ver1_sub41264'''] = devclass(devices.devids['''kwc_se47_ver1'''], '''kwc_se47_ver1_sub41264''', '''KWC-SE47/1.0.31 UP.Browser/4.1.26l4''', False, None) +devices.devids['''sy01_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sy01_ver1''', '''SY01 UP''', False, None) +devices.devids['''sanyo_c304sa_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sanyo_c304sa_ver1''', '''Sanyo-C304SA/1''', False, None) +devices.devids['''sanyo_c304sa_ver1_sub4118xxxx'''] = devclass(devices.devids['''sanyo_c304sa_ver1'''], '''sanyo_c304sa_ver1_sub4118xxxx''', '''Sanyo-C304SA/1.0 UP/4.1.18 UP.Browser/4.1.18-XXXX''', False, None) +devices.devids['''sanyo_c304sa_ver2'''] = devclass(devices.devids['''sanyo_c304sa_ver1'''], '''sanyo_c304sa_ver2''', '''Sanyo-C304SA/2''', False, None) +devices.devids['''sanyo_c304sa_ver2_sub4120exxxx'''] = devclass(devices.devids['''sanyo_c304sa_ver2'''], '''sanyo_c304sa_ver2_sub4120exxxx''', '''Sanyo-C304SA/2.0 UP/4.1.20e UP.Browser/4.1.20e-XXXX''', False, None) +devices.devids['''sanyo_c401hk_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sanyo_c401hk_ver1''', '''Sanyo-C401HK''', False, None) +devices.devids['''sanyo_c401hk_ver1_sub4123'''] = devclass(devices.devids['''sanyo_c401hk_ver1'''], '''sanyo_c401hk_ver1_sub4123''', '''Sanyo-C401HK/1.0 UP.Browser/4.1.23a''', False, None) +devices.devids['''sanyo_scp550cn_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sanyo_scp550cn_ver1''', '''Sanyo-SCP550CN''', False, None) +devices.devids['''sanyo_scp550cn_ver1_sub41264'''] = devclass(devices.devids['''sanyo_scp550cn_ver1'''], '''sanyo_scp550cn_ver1_sub41264''', '''Sanyo-SCP550CN/1.0 UP.Browser/4.1.26c4''', False, None) +devices.devids['''scp_550th_a_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''scp_550th_a_ver1''', '''SCP-550TH-A''', False, None) +devices.devids['''scp_550th_a_ver1_sub20'''] = devclass(devices.devids['''scp_550th_a_ver1'''], '''scp_550th_a_ver1_sub20''', '''SCP-550TH-A UP.Browser/6.1.0.6.2 (GUI) MMP/2.0''', False, None) +devices.devids['''sanyo_scp580cn_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sanyo_scp580cn_ver1''', '''Sanyo-SCP580CN''', False, None) +devices.devids['''sanyo_scp580cn_ver1_sub4126c4'''] = devclass(devices.devids['''sanyo_scp580cn_ver1'''], '''sanyo_scp580cn_ver1_sub4126c4''', '''Sanyo-SCP580CN/1.0 UP.Browser/4.1.26c4''', False, None) +devices.devids['''sanyo_scp588cn_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sanyo_scp588cn_ver1''', '''Sanyo-SCP588CN''', False, None) +devices.devids['''sanyo_scp588cn_ver1_sub6224'''] = devclass(devices.devids['''sanyo_scp588cn_ver1'''], '''sanyo_scp588cn_ver1_sub6224''', '''Sanyo-SCP588CN/1.0 UP.Browser/6.2.2.4 (GUI) MMP/2.0''', False, None) +devices.devids['''sanyo_scp588cn_ver1_sub6226g1101'''] = devclass(devices.devids['''sanyo_scp588cn_ver1'''], '''sanyo_scp588cn_ver1_sub6226g1101''', '''Sanyo-SCP588CN/1.0 UP.Browser/6.2.2.6.g.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''sanyo_s103_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sanyo_s103_ver1''', '''SANYO-S103''', False, None) +devices.devids['''sanyo_s103_ver1_sub20'''] = devclass(devices.devids['''sanyo_s103_ver1'''], '''sanyo_s103_ver1_sub20''', '''SANYO-S103/0.501 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/7.0.2.1.sn.1.168 (GUI) MMP/2.0''', False, None) +devices.devids['''sanyo_s103_ver1_sub7021sn1240'''] = devclass(devices.devids['''sanyo_s103_ver1'''], '''sanyo_s103_ver1_sub7021sn1240''', '''SANYO-S103/1.301 UP.Browser/7.0.2.1.sn.1.240 (GUI) MMP/2.0''', False, None) +devices.devids['''sanyo_s103_ver1_sub7021sn1247'''] = devclass(devices.devids['''sanyo_s103_ver1'''], '''sanyo_s103_ver1_sub7021sn1247''', '''SANYO-S103/1.401 UP.Browser/7.0.2.1.sn.1.247 (GUI) MMP/2.0''', False, None) +devices.devids['''sanyo_s750_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sanyo_s750_ver1''', '''SANYO-S750''', True, {'''brand_name''':'''Sanyo''','''model_name''':'''S750''','''mp3''':True,'''oma_support''':True,'''ringtone_mp3''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sanyo_s750_ver1_sub080200'''] = devclass(devices.devids['''sanyo_s750_ver1'''], '''sanyo_s750_ver1_sub080200''', '''SANYO-S750/0.80200 UP.Browser/7.0.2.1.sn.1.106 (GUI) MMP/2.0''', False, None) +devices.devids['''sanyo_scp4700_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sanyo_scp4700_ver1''', '''Sanyo-SCP4700''', False, None) +devices.devids['''sanyo_scp4700_ver1_sub4124'''] = devclass(devices.devids['''sanyo_scp4700_ver1'''], '''sanyo_scp4700_ver1_sub4124''', '''Sanyo-SCP4700/1.1 UP.Browser/4.1.24f''', False, None) +devices.devids['''sanyo_scp510cn_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sanyo_scp510cn_ver1''', '''Sanyo-SCP510CN''', False, None) +devices.devids['''sanyo_scp510cn_ver1_sub41264'''] = devclass(devices.devids['''sanyo_scp510cn_ver1'''], '''sanyo_scp510cn_ver1_sub41264''', '''Sanyo-SCP510CN/1.0 UP.Browser/4.1.26c4''', False, None) +devices.devids['''samsung_sphm500_ver1'''] = devclass(devices.devids['''samsung_a890_ver1'''], '''samsung_sphm500_ver1''', '''Samsung-SPHM500 AU-''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''M500''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''rows''':9,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-M500/ZK03.rdf''','''wav''':True,'''wbmp''':True}) +devices.devids['''samsung_sphm500_ver1_subaumic'''] = devclass(devices.devids['''samsung_sphm500_ver1'''], '''samsung_sphm500_ver1_subaumic''', '''Samsung-SPHM500 AU-MIC-M500/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_sphm500_ver1_subobigo'''] = devclass(devices.devids['''samsung_sphm500_ver1'''], '''samsung_sphm500_ver1_subobigo''', '''Samsung-SPHM500 AU-OBIGO/Q04C1-1.17_PRE_1 MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_m510_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_m510_ver1''', '''Samsung-SPHM510 AU-MIC-M510/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':64000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''M510''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':9,'''softkey_support''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-M510/AE15.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''samsung_sphm620_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_sphm620_ver1''', '''Samsung-SPHM620 AU-MIC-M620/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':64000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''M620''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':9,'''softkey_support''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-M620/AC08.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''sanyo_scp5150_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sanyo_scp5150_ver1''', '''Sanyo-SCP5150''', False, None) +devices.devids['''sanyo_scp5150_ver1_sub4124'''] = devclass(devices.devids['''sanyo_scp5150_ver1'''], '''sanyo_scp5150_ver1_sub4124''', '''Sanyo-SCP5150/1.1 UP.Browser/4.1.24f''', False, None) +devices.devids['''sanyo_scp5000_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sanyo_scp5000_ver1''', '''Sanyo-SCP5000''', False, None) +devices.devids['''sanyo_scp5000_ver1_sub4123'''] = devclass(devices.devids['''sanyo_scp5000_ver1'''], '''sanyo_scp5000_ver1_sub4123''', '''Sanyo-SCP5000/1.1b UP.Browser/4.1.23a''', False, None) +devices.devids['''sanyo_scp6200_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sanyo_scp6200_ver1''', '''Sanyo-SCP6200''', False, None) +devices.devids['''sanyo_scp6200_ver1_sub4126'''] = devclass(devices.devids['''sanyo_scp6200_ver1'''], '''sanyo_scp6200_ver1_sub4126''', '''Sanyo-SCP6200/1.1 UP.Browser/4.1.26c''', False, None) +devices.devids['''sanyo_scp6000_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sanyo_scp6000_ver1''', '''Sanyo-SCP6000''', False, None) +devices.devids['''sanyo_scp6000_ver1_sub4123'''] = devclass(devices.devids['''sanyo_scp6000_ver1'''], '''sanyo_scp6000_ver1_sub4123''', '''Sanyo-SCP6000/1.1 UP.Browser/4.1.23a''', False, None) +devices.devids['''sharp_tm100_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tm100_ver1''', '''SHARP-TM-100''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''ems''':True,'''imelody''':True,'''j2me_3gpp''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':18,'''j2me_bmp''':True,'''j2me_canvas_height''':260,'''j2me_canvas_width''':240,'''j2me_cldc_1_0''':True,'''j2me_gif''':True,'''j2me_h263''':True,'''j2me_imelody''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':204800,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_mpeg4''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''j2me_wbmp''':True,'''j2me_wmapi_1_0''':True,'''max_deck_size''':8192,'''max_image_height''':262,'''max_image_width''':238,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':320,'''mms_max_size''':100000,'''mms_max_width''':240,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TM-100''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''uaprof''':'''http://www.sharp-mobile.com/UAprofTM/tm100.xml''','''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sharptm_100_ver1_sub6226'''] = devclass(devices.devids['''sharp_tm100_ver1'''], '''sharptm_100_ver1_sub6226''', '''SHARP-TM-100/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tm_150_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tm_150_ver1''', '''SHARP-TM-150''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''directdownload_support''':True,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':8192,'''max_image_height''':262,'''max_image_width''':238,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':800,'''mms_max_size''':307200,'''mms_max_width''':600,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TM-150''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':32,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''uaprof''':'''http://www.sharp-mobile.com/UAprofTM/tm150.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_wbmp''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''sharp_tm_150_ver1_sub10'''] = devclass(devices.devids['''sharp_tm_150_ver1'''], '''sharp_tm_150_ver1_sub10''', '''SHARP-TM-150/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.c.2.101 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tm_150_ver1_subuncontrolled'''] = devclass(devices.devids['''sharp_tm_150_ver1'''], '''sharp_tm_150_ver1_subuncontrolled''', '''SHARP-TM-150/Uncontrolled,Cust-99 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.c.2.102 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tm_200_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tm_200_ver1''', '''SHARP-TM-200''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''imelody''':True,'''j2me_3gpp''':True,'''j2me_aac''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':18,'''j2me_bmp''':True,'''j2me_canvas_height''':260,'''j2me_canvas_width''':240,'''j2me_cldc_1_0''':True,'''j2me_gif''':True,'''j2me_h263''':True,'''j2me_imelody''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':204800,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''j2me_wav''':True,'''j2me_wbmp''':True,'''j2me_wmapi_1_0''':True,'''max_deck_size''':8192,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':307200,'''mms_max_width''':480,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TM-200''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''uaprof''':'''http://www.sharp-mobile.com/UAprofTM/tm200.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_wbmp''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''sharp_tm_200_ver1_sub6233'''] = devclass(devices.devids['''sharp_tm_200_ver1'''], '''sharp_tm_200_ver1_sub6233''', '''SHARP-TM-200/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.3 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx1_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sharp_tqgx1_ver1''', '''SHARP-TQ-GX1''', True, {'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':20,'''connectionless_service_load''':True,'''ems''':True,'''expiration_date''':False,'''imelody''':True,'''max_deck_size''':8192,'''max_image_height''':130,'''max_image_width''':112,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':30000,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TQ-GX1''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_wav''':True,'''rows''':12,'''sender''':True,'''uaprof''':'''http://sharp-mobile.com/UAprof/GX1.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''sharp_tqgx1_ver1_sub61b330'''] = devclass(devices.devids['''sharp_tqgx1_ver1'''], '''sharp_tqgx1_ver1_sub61b330''', '''SHARP-TQ-GX1/0.0 UP.Browser/6.1.b.330 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx1_ver1_sub6103118'''] = devclass(devices.devids['''sharp_tqgx1_ver1'''], '''sharp_tqgx1_ver1_sub6103118''', '''SHARP-TQ-GX1/0.0 UP.Browser/6.1.0.3.118 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx1_ver1_sub6105102'''] = devclass(devices.devids['''sharp_tqgx1_ver1'''], '''sharp_tqgx1_ver1_sub6105102''', '''SHARP-TQ-GX1/1.0 UP.Browser/6.1.0.5.102 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx10_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sharp_tqgx10_ver1''', '''SHARP-TQ-GX10''', True, {'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':20,'''connectionless_service_load''':True,'''downloadfun_support''':True,'''ems''':True,'''expiration_date''':False,'''imelody''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':130,'''j2me_canvas_width''':120,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':524288,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':81920,'''j2me_max_record_store_size''':51200,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':160,'''j2me_screen_width''':120,'''j2me_storage_size''':512000,'''max_deck_size''':98304,'''max_image_height''':130,'''max_image_width''':112,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':30000,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TQ-GX10''','''oma_v_1_0_forwardlock''':False,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':12,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://sharp-mobile.com/UAprof/GX10.xml''','''voices''':4,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':120,'''wallpaper_max_width''':120,'''wallpaper_png''':True,'''wallpaper_preferred_height''':120,'''wallpaper_preferred_width''':120,'''wav''':True}) +devices.devids['''sharp_tqgx10_ver1_sub6101111'''] = devclass(devices.devids['''sharp_tqgx10_ver1'''], '''sharp_tqgx10_ver1_sub6101111''', '''SHARP-TQ-GX10/0.0 UP.Browser/6.1.0.1.111 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx10_ver1_sub6101148'''] = devclass(devices.devids['''sharp_tqgx10_ver1'''], '''sharp_tqgx10_ver1_sub6101148''', '''SHARP-TQ-GX10/0.0 UP.Browser/6.1.0.1.148 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx10_ver1_sub610148'''] = devclass(devices.devids['''sharp_tqgx10_ver1'''], '''sharp_tqgx10_ver1_sub610148''', '''SHARP-TQ-GX10/0.0 UP.Browser/6.1.0.148 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx10_ver1_sub6102129'''] = devclass(devices.devids['''sharp_tqgx10_ver1'''], '''sharp_tqgx10_ver1_sub6102129''', '''SHARP-TQ-GX10/0.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.2.129 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx10_ver1_sub6103107'''] = devclass(devices.devids['''sharp_tqgx10_ver1'''], '''sharp_tqgx10_ver1_sub6103107''', '''SHARP-TQ-GX10/0.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.3.107 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx10_ver1_sub6103121c'''] = devclass(devices.devids['''sharp_tqgx10_ver1'''], '''sharp_tqgx10_ver1_sub6103121c''', '''SHARP-TQ-GX10/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.3.121c (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx10_ver1_sub61061101'''] = devclass(devices.devids['''sharp_tqgx10_ver1'''], '''sharp_tqgx10_ver1_sub61061101''', '''SHARP-TQ-GX10/1.1 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.6.1.101 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx10_ver1_subnomime'''] = devclass(devices.devids['''sharp_tqgx10_ver1'''], '''sharp_tqgx10_ver1_subnomime''', '''SHARP-TQ-GX10-NOURLCMP-NOMIME''', False, None) +devices.devids['''sharp_tqgx10_ver1_sub105'''] = devclass(devices.devids['''sharp_tqgx10_ver1'''], '''sharp_tqgx10_ver1_sub105''', '''SHARP-TQ-GX10/1.0.5''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx10_ver1_sub11gr'''] = devclass(devices.devids['''sharp_tqgx10_ver1'''], '''sharp_tqgx10_ver1_sub11gr''', '''SHARP-TQ-GX10/1.1gr Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.6.1.105 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tq_gx10n_ver1'''] = devclass(devices.devids['''sharp_tqgx10_ver1'''], '''sharp_tq_gx10n_ver1''', '''SHARP-TQ-GX10N''', True, {'''model_name''':'''TQ-GX10N''','''uaprof''':'''http://sharp-mobile.com/UAprof/GX10N.xml'''}) +devices.devids['''sharp_tq_gx10n_ver1_sub10'''] = devclass(devices.devids['''sharp_tq_gx10n_ver1'''], '''sharp_tq_gx10n_ver1_sub10''', '''SHARP-TQ-GX10N/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.6.1.106 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx10i_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sharp_tqgx10i_ver1''', '''SHARP-TQ-GX10i''', True, {'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':20,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':130,'''j2me_canvas_width''':120,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':524288,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':81920,'''j2me_max_record_store_size''':51200,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':160,'''j2me_screen_width''':120,'''j2me_storage_size''':512000,'''max_deck_size''':98304,'''max_image_height''':130,'''max_image_width''':112,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':30000,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TQ-GX10i''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':12,'''sender''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':120,'''wallpaper_max_width''':120,'''wallpaper_png''':True,'''wallpaper_preferred_height''':120,'''wallpaper_preferred_width''':120,'''wav''':True}) +devices.devids['''sharp_tqgx10i_ver1_sub61061106'''] = devclass(devices.devids['''sharp_tqgx10i_ver1'''], '''sharp_tqgx10i_ver1_sub61061106''', '''SHARP-TQ-GX10i/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.6.1.106 (GUI) MMP/1.0''', False, None) +devices.devids['''sharp_tqgx10i_ver1_sub61061d2'''] = devclass(devices.devids['''sharp_tqgx10i_ver1'''], '''sharp_tqgx10i_ver1_sub61061d2''', '''SHARP-TQ-GX10i/1.1 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.6.1.d.2 (GUI) MMP/1.0''', False, None) +devices.devids['''sharp_tqgx10m_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sharp_tqgx10m_ver1''', '''SHARP-TQ-GX10m''', True, {'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':20,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':8192,'''max_image_height''':130,'''max_image_width''':112,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':30000,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TQ-GX10m''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':12,'''sender''':True,'''uaprof''':'''http://sharp-mobile.com/UAprof/GX10m.xml''','''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':120,'''wallpaper_max_width''':120,'''wallpaper_png''':True,'''wallpaper_preferred_height''':120,'''wallpaper_preferred_width''':120,'''wav''':True}) +devices.devids['''sharp_tqgx10m_ver1_sub61061106'''] = devclass(devices.devids['''sharp_tqgx10m_ver1'''], '''sharp_tqgx10m_ver1_sub61061106''', '''SHARP-TQ-GX10m/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.6.1.106 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx12_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sharp_tqgx12_ver1''', '''SHARP-TQ-GX12''', True, {'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':160,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''TQ-GX12''','''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''sharp_tqgx12_ver1_sub6105119'''] = devclass(devices.devids['''sharp_tqgx12_ver1'''], '''sharp_tqgx12_ver1_sub6105119''', '''SHARP-TQ-GX12/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.5.119 (GUI) MMP/1.0''', False, None) +devices.devids['''sharp_tq_gx13_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sharp_tq_gx13_ver1''', '''SHARP-TQ-GX13''', True, {'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':20,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':8192,'''max_image_height''':130,'''max_image_width''':112,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''TQ-GX13''','''nokia_voice_call''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_wav''':True,'''rows''':12,'''uaprof''':'''http://sharp-mobile.com/UAprof/GX13.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''sharp_tq_gx13_ver1_sub10'''] = devclass(devices.devids['''sharp_tq_gx13_ver1'''], '''sharp_tq_gx13_ver1_sub10''', '''SHARP-TQ-GX13/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.6.1.101 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tq_gx15_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tq_gx15_ver1''', '''SHARP-TQ-GX15''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''ems''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':130,'''j2me_canvas_width''':120,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':524288,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':81920,'''j2me_max_record_store_size''':51200,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':160,'''j2me_screen_width''':120,'''j2me_storage_size''':512000,'''max_deck_size''':102400,'''max_image_height''':130,'''max_image_width''':112,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':100000,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TQ-GX15''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''uaprof''':'''http://sharp-mobile.com/UAprof/GX15.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':102400,'''video_max_height''':144,'''video_max_width''':176,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_vcodec_h263_0''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':120,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120,'''wav''':True}) +devices.devids['''sharp_tq_gx15_ver1_sub6232161'''] = devclass(devices.devids['''sharp_tq_gx15_ver1'''], '''sharp_tq_gx15_ver1_sub6232161''', '''SHARP-TQ-GX15/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.161 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tq_gxt15_ver1_sub6232d1112'''] = devclass(devices.devids['''sharp_tq_gx15_ver1'''], '''sharp_tq_gxt15_ver1_sub6232d1112''', '''SHARP-TQ-GX-T15/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.d.1.112 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tq_gxl15_ver1_sub'''] = devclass(devices.devids['''sharp_tq_gx15_ver1'''], '''sharp_tq_gxl15_ver1_sub''', '''SHARP-TQ-GX-L15''', False, None) +devices.devids['''sharp_tq_gxl15_ver1_sub6232d1111'''] = devclass(devices.devids['''sharp_tq_gx15_ver1'''], '''sharp_tq_gxl15_ver1_sub6232d1111''', '''SHARP-TQ-GX-L15/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.d.1.111 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tq_gx17_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tq_gx17_ver1''', '''SHARP-TQ-GX17''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':120,'''max_deck_size''':8192,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':100000,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TQ-GX17''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''uaprof''':'''http://sharp-mobile.com/UAprof/GX17.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':120,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''sharp_tq_gx17_ver1_sub6232d1112'''] = devclass(devices.devids['''sharp_tq_gx17_ver1'''], '''sharp_tq_gx17_ver1_sub6232d1112''', '''SHARP-TQ-GX17/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.d.1.112 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tq_gx_a15_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tq_gx_a15_ver1''', '''SHARP-TQ-GX-A15''', False, None) +devices.devids['''sharp_tq_gx_a15_ver1_sub20'''] = devclass(devices.devids['''sharp_tq_gx_a15_ver1'''], '''sharp_tq_gx_a15_ver1_sub20''', '''SHARP-TQ-GX-A15/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.d.1.112 (GUI) MMP/2.0''', False, None) +devices.devids['''sharp_tq_gx_e30_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tq_gx_e30_ver1''', '''SHARP-TQ-GX-E30''', True, {'''brand_name''':'''Sharp''','''colors''':262144,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''TQ-GX-E30''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sharp_tq_gx_e30_ver1_sub10'''] = devclass(devices.devids['''sharp_tq_gx_e30_ver1'''], '''sharp_tq_gx_e30_ver1_sub10''', '''SHARP-TQ-GX-E30/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.c.1.106 (GUI) MMP/1.0''', False, None) +devices.devids['''sharp_tqgx20_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tqgx20_ver1''', '''SHARP-TQ-GX20''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''connectionless_service_load''':True,'''directdownload_support''':True,'''downloadfun_support''':True,'''ems''':True,'''expiration_date''':False,'''imelody''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':260,'''j2me_canvas_width''':240,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':524288,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':97280,'''j2me_max_record_store_size''':51200,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''j2me_storage_size''':2097152,'''max_deck_size''':102400,'''max_image_height''':262,'''max_image_width''':238,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':320,'''mms_max_size''':100000,'''mms_max_width''':240,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TQ-GX20''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://sharp-mobile.com/UAprof/GX20.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':100000,'''video_max_height''':144,'''video_max_width''':176,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sharp_tqgx20_ver1_sub10c'''] = devclass(devices.devids['''sharp_tqgx20_ver1'''], '''sharp_tqgx20_ver1_sub10c''', '''SHARP-TQ-GX20/1.0c Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.2.107 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx20_ver1_submdp'''] = devclass(devices.devids['''sharp_tqgx20_ver1'''], '''sharp_tqgx20_ver1_submdp''', '''SHARP-TQ-GX20/1.1 Profile/MDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.4.c.1.100 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx20_ver1_sub6224c1103'''] = devclass(devices.devids['''sharp_tqgx20_ver1'''], '''sharp_tqgx20_ver1_sub6224c1103''', '''SHARP-TQ-GX20/1.1 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.4.c.1.103 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx20i_ver1'''] = devclass(devices.devids['''sharp_tqgx20_ver1'''], '''sharp_tqgx20i_ver1''', '''SHARP-TQ-GX20i''', True, {'''model_name''':'''TQ-GX20i'''}) +devices.devids['''sharp_tq_gx20n_ver1'''] = devclass(devices.devids['''sharp_tqgx20_ver1'''], '''sharp_tq_gx20n_ver1''', '''SHARP-TQ-GX20N''', True, {'''model_name''':'''TQ-GX20N'''}) +devices.devids['''sharp_tq_gx20n_ver1_sub10'''] = devclass(devices.devids['''sharp_tq_gx20n_ver1'''], '''sharp_tq_gx20n_ver1_sub10''', '''SHARP-TQ-GX20N/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.4.163 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tq_gx_21_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tq_gx_21_ver1''', '''SHARP-TQ-GX-21''', True, {'''brand_name''':'''Sharp''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':320,'''max_image_width''':240,'''model_name''':'''TQ-GX21''','''resolution_height''':320,'''resolution_width''':240,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sharp_tq_gx_21_ver1_sub6222107'''] = devclass(devices.devids['''sharp_tq_gx_21_ver1'''], '''sharp_tq_gx_21_ver1_sub6222107''', '''SHARP-TQ-GX-21/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.2.107 (GUI) MMP/1.0''', False, None) +devices.devids['''sharp_tq_gx_21_ver1_sub6224163'''] = devclass(devices.devids['''sharp_tq_gx_21_ver1'''], '''sharp_tq_gx_21_ver1_sub6224163''', '''SHARP-TQ-GX-21/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.4.163 (GUI) MMP/1.0''', False, None) +devices.devids['''sharp_tqgx22_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tqgx22_ver1''', '''SHARP-TQ-GX22''', True, {'''brand_name''':'''Sharp''','''colors''':262144,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':320,'''max_image_width''':240,'''model_name''':'''TQ-GX22''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':307200,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_wbmp''':True}) +devices.devids['''sharp_tqgx22_ver1_sub6222107'''] = devclass(devices.devids['''sharp_tqgx22_ver1'''], '''sharp_tqgx22_ver1_sub6222107''', '''SHARP-TQ-GX22/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.2.107 (GUI) MMP/1.0''', False, None) +devices.devids['''sharp_tqgx22s_ver1'''] = devclass(devices.devids['''sharp_tqgx22_ver1'''], '''sharp_tqgx22s_ver1''', '''SHARP-TQ-GX22S''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':14,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':8192,'''max_image_height''':262,'''max_image_width''':238,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''TQ-GX22S''','''nokia_voice_call''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':10,'''wav''':True}) +devices.devids['''sharp_tqgx22s_ver1_sub'''] = devclass(devices.devids['''sharp_tqgx22s_ver1'''], '''sharp_tqgx22s_ver1_sub''', '''SHARP-TQ-GX22S/1.0''', False, None) +devices.devids['''sharp_tqgx22s_ver1_sub6224c1100'''] = devclass(devices.devids['''sharp_tqgx22s_ver1'''], '''sharp_tqgx22s_ver1_sub6224c1100''', '''SHARP-TQ-GX22S/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.4.c.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''sharp_tqgx_23_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tqgx_23_ver1''', '''SHARP-TQ-GX23''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':8192,'''max_image_height''':262,'''max_image_width''':238,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':320,'''mms_max_size''':100000,'''mms_max_width''':240,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TQ-GX23''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''uaprof''':'''http://sharp-mobile.com/UAprof/GX23.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''sharp_tqgx_23_ver1_sub'''] = devclass(devices.devids['''sharp_tqgx_23_ver1'''], '''sharp_tqgx_23_ver1_sub''', '''SHARP-TQ-GX23/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx_23_ver1_sub6224c1100'''] = devclass(devices.devids['''sharp_tqgx_23_ver1'''], '''sharp_tqgx_23_ver1_sub6224c1100''', '''SHARP-TQ-GX23/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.4.c.1.100 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx_25_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tqgx_25_ver1''', '''SHARP-TQ-GX25''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''built_in_camera''':True,'''colors''':265000,'''columns''':14,'''directdownload_support''':True,'''empty_option_value_support''':True,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':309248,'''max_image_height''':262,'''max_image_width''':238,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':320,'''mms_max_size''':100000,'''mms_max_width''':240,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':40,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TQ-GX25''','''nokia_voice_call''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':18,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':320,'''picture_max_width''':240,'''picture_png''':True,'''picture_preferred_height''':320,'''picture_preferred_width''':240,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''softkey_support''':False,'''uaprof''':'''http://sharp-mobile.com/UAprof/GX25.xml''','''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True}) +devices.devids['''sharp_tqgx_25_ver1_sub6233'''] = devclass(devices.devids['''sharp_tqgx_25_ver1'''], '''sharp_tqgx_25_ver1_sub6233''', '''SHARP-TQ-GX25/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.3 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx27_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tqgx27_ver1''', '''SHARP-TQ-GX27''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''downloadfun_support''':True,'''ems''':True,'''imelody''':True,'''inline_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':8192,'''max_image_height''':262,'''max_image_width''':238,'''midi_monophonic''':True,'''mmf''':True,'''model_name''':'''TQ-GX27''','''nokia_voice_call''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':10,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sharp_tqgx27_ver1_sub6224163'''] = devclass(devices.devids['''sharp_tqgx27_ver1'''], '''sharp_tqgx27_ver1_sub6224163''', '''SHARP-TQ-GX27/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.4.163 (GUI) MMP/1.0''', False, None) +devices.devids['''sharp_tqgx_29_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tqgx_29_ver1''', '''SHARP-TQ-GX29''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''built_in_camera''':True,'''colors''':265000,'''columns''':14,'''directdownload_support''':True,'''empty_option_value_support''':True,'''ems''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':309248,'''max_image_height''':262,'''max_image_width''':238,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':320,'''mms_max_size''':100000,'''mms_max_width''':240,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':40,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TQ-GX29''','''nokia_voice_call''':True,'''picture''':True,'''picture_max_width''':240,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''softkey_support''':False,'''uaprof''':'''http://sharp-mobile.com/UAprof/GX29.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True}) +devices.devids['''sharp_tqgx30_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tqgx30_ver1''', '''SHARP-TQ-GX30''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''directdownload_support''':True,'''ems''':True,'''imelody''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':260,'''j2me_canvas_width''':240,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':524288,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':97280,'''j2me_max_record_store_size''':51200,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_mp3''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''j2me_storage_size''':2097152,'''max_deck_size''':307200,'''max_image_height''':262,'''max_image_width''':238,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':320,'''mms_max_size''':100000,'''mms_max_width''':240,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TQ-GX30''','''mp3''':True,'''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':False,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''uaprof''':'''http://sharp-mobile.com/UAprof/GX30.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':100000,'''video_directdownload_size_limit''':100000,'''video_max_height''':144,'''video_max_width''':176,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sharp_tqgx30_ver1_sub6226c1100'''] = devclass(devices.devids['''sharp_tqgx30_ver1'''], '''sharp_tqgx30_ver1_sub6226c1100''', '''SHARP-TQ-GX30/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.c.1.100 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tq_gx30i_ver1'''] = devclass(devices.devids['''sharp_tqgx30_ver1'''], '''sharp_tq_gx30i_ver1''', '''SHARP-TQ-GX30i''', True, {'''j2me_storage_size''':6291456,'''mms_3gpp''':True,'''mms_mp4''':True,'''mms_video''':True,'''model_name''':'''TQ-GX30i''','''uaprof''':'''http://sharp-mobile.com/UAprof/GX30i.xml''','''video_mp4''':True,'''wta_phonebook''':True}) +devices.devids['''sharp_tq_gx30i_ver1_sub10'''] = devclass(devices.devids['''sharp_tq_gx30i_ver1'''], '''sharp_tq_gx30i_ver1_sub10''', '''SHARP-TQ-GX30i/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.c.1.104 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tq_gx_31_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tq_gx_31_ver1''', '''SHARP-TQ-GX-31''', True, {'''brand_name''':'''Sharp''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''TQ-GX31''','''wallpaper_jpg''':True,'''wallpaper_preferred_height''':35,'''wallpaper_preferred_width''':96}) +devices.devids['''sharp_tq_gx_31_ver1_sub10'''] = devclass(devices.devids['''sharp_tq_gx_31_ver1'''], '''sharp_tq_gx_31_ver1_sub10''', '''SHARP-TQ-GX-31/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.c.1.106 (GUI) MMP/1.0''', False, None) +devices.devids['''sharp_tq_gx_31i_ver1'''] = devclass(devices.devids['''sharp_tq_gx_31_ver1'''], '''sharp_tq_gx_31i_ver1''', '''SHARP-TQ-GX-31i''', False, {'''model_name''':'''TQ-GX31i'''}) +devices.devids['''sharp_tqgx32_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tqgx32_ver1''', '''SHARP-TQ-GX32''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':8192,'''max_image_height''':262,'''max_image_width''':238,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''TQ-GX32''','''mp3''':True,'''nokia_voice_call''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':10,'''uaprof''':'''http://sharp-mobile.com/UAprof/GX32.xml''','''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''sharp_tqgx32_ver1_sub6226c1105'''] = devclass(devices.devids['''sharp_tqgx32_ver1'''], '''sharp_tqgx32_ver1_sub6226c1105''', '''SHARP-TQ-GX32/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.c.1.105 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqgx32i_ver1'''] = devclass(devices.devids['''sharp_tqgx32_ver1'''], '''sharp_tqgx32i_ver1''', '''SHARP-TQ-GX32i''', False, {'''model_name''':'''TQ-GX32i'''}) +devices.devids['''sharp_tqgx33_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tqgx33_ver1''', '''SHARP-TQ-GX33''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':8192,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':307200,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TQ-GX33''','''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://sharp-mobile.com/UAprof/GX33.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sharp_tqgz1_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tqgz1_ver1''', '''SHARP-TQ-GZ1''', False, None) +devices.devids['''sharp_tqgz1_ver1_sub20'''] = devclass(devices.devids['''sharp_tqgz1_ver1'''], '''sharp_tqgz1_ver1_sub20''', '''SHARP-TQ-GZ1/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.d.1.103 (GUI) MMP/2.0''', False, None) +devices.devids['''sharp_tq_gz100_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tq_gz100_ver1''', '''SHARP-TQ-GZ100''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':120,'''max_deck_size''':8192,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''TQ-GZ100''','''nokia_voice_call''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':10,'''uaprof''':'''http://sharp-mobile.com/UAprof/GZ100.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''sharp_tq_gz100_ver1_sub6232d1105'''] = devclass(devices.devids['''sharp_tq_gz100_ver1'''], '''sharp_tq_gz100_ver1_sub6232d1105''', '''SHARP-TQ-GZ100/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.d.1.105 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tq_gz100s_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tq_gz100s_ver1''', '''SHARP-TQ-GZ100S''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':8192,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''TQ-GZ100S''','''nokia_voice_call''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':10,'''uaprof''':'''http://sharp-mobile.com/UAprof/GZ100S.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''sharp_tq_gz100s_ver1_sub6232d1105'''] = devclass(devices.devids['''sharp_tq_gz100s_ver1'''], '''sharp_tq_gz100s_ver1_sub6232d1105''', '''SHARP-TQ-GZ100S/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.d.1.105 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tq_gz100t_ver1'''] = devclass(devices.devids['''sharp_tq_gz100s_ver1'''], '''sharp_tq_gz100t_ver1''', '''SHARP-TQ-GZ100T''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':160,'''model_name''':'''TQ-GZ100T''','''ringtone_voices''':40,'''ringtone_wav''':True,'''uaprof''':'''http://sharp-mobile.com/UAprof/GZ100T.xml''','''voices''':40}) +devices.devids['''sharp_tq_gz100t_ver1_sub6232d1112'''] = devclass(devices.devids['''sharp_tq_gz100t_ver1'''], '''sharp_tq_gz100t_ver1_sub6232d1112''', '''SHARP-TQ-GZ100T/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.2.d.1.112 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tq_gz200_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sharp_tq_gz200_ver1''', '''SHARP-TQ-GZ200''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':8192,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''TQ-GZ200''','''nokia_voice_call''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_wav''':True,'''rows''':10,'''uaprof''':'''http://sharp-mobile.com/UAprof/GZ200.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''sharp_tq_gz200_ver1_sub20'''] = devclass(devices.devids['''sharp_tq_gz200_ver1'''], '''sharp_tq_gz200_ver1_sub20''', '''SHARP-TQ-GZ200/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.3.d.1.110 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tq_gz200s_ver1'''] = devclass(devices.devids['''sharp_tq_gz200_ver1'''], '''sharp_tq_gz200s_ver1''', '''SHARP-TQ-GZ200S''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':14,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':8192,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''TQ-GZ200S''','''nokia_voice_call''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':10,'''uaprof''':'''http://sharp-mobile.com/UAprof/GZ200S.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''sharp_tq_gz200s_ver1_sub20'''] = devclass(devices.devids['''sharp_tq_gz200s_ver1'''], '''sharp_tq_gz200s_ver1_sub20''', '''SHARP-TQ-GZ200S/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.3.d.1.110 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqi98_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sharp_tqi98_ver1''', '''SHARP-TQ-GX-i98''', True, {'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':20,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':120,'''max_deck_size''':8192,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''TQ-GX-i98''','''nokia_voice_call''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_wav''':True,'''rows''':12,'''uaprof''':'''http://sharp-mobile.com/UAprof/GXi98.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''sharp_tqi98_ver1_sub6105119'''] = devclass(devices.devids['''sharp_tqi98_ver1'''], '''sharp_tqi98_ver1_sub6105119''', '''SHARP-TQ-GX-i98/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.5.119 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqv750_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''sharp_tqv750_ver1''', '''SHARP-TQ-V750''', True, {'''bmp''':True,'''brand_name''':'''Sharp''','''colors''':65536,'''columns''':20,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':8192,'''max_image_height''':130,'''max_image_width''':112,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''TQ-V750''','''nokia_voice_call''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':12,'''uaprof''':'''http://sharp-mobile.com/UAprof/V750.xml''','''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':120,'''wallpaper_max_width''':120,'''wallpaper_png''':True,'''wallpaper_preferred_height''':120,'''wallpaper_preferred_width''':120,'''wav''':True}) +devices.devids['''sharp_tqv750_ver1_sub61061d1'''] = devclass(devices.devids['''sharp_tqv750_ver1'''], '''sharp_tqv750_ver1_sub61061d1''', '''SHARP-TQ-V750/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.6.1.d.1 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_tqv750_ver1_subnobrand'''] = devclass(devices.devids['''sharp_tqv750_ver1'''], '''sharp_tqv750_ver1_subnobrand''', '''V750/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.6.1.d.2 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_550sh_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sharp_550sh_ver1''', '''Vodafone/1.0/550SH''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Sharp''','''colors''':266240,'''gif_animated''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''550SH''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''smf''':True,'''sp_midi''':True,'''svgt_1_1''':True,'''video''':True,'''video_3gpp''':True,'''video_max_frame_rate''':15,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''xmf''':True}) +devices.devids['''sharp_550sh_ver1_sub7021'''] = devclass(devices.devids['''sharp_550sh_ver1'''], '''sharp_550sh_ver1_sub7021''', '''Vodafone/1.0/550SH/SHG001 Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-V-Profile/VSCL-2.0.0''', False, None) +devices.devids['''sharp_703sh_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sharp_703sh_ver1''', '''Vodafone/703SH''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Sharp''','''colors''':262144,'''columns''':19,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':40,'''max_deck_size''':49152,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':307200,'''mms_max_width''':480,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''703SH''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''rows''':13,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://www.sharp-mobile.com/UAProf/703SH_G001_base.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wta_phonebook''':True}) +devices.devids['''sharp_wxt71_ver1'''] = devclass(devices.devids['''sharp_703sh_ver1'''], '''sharp_wxt71_ver1''', '''SHARP WX-T71''', True, {'''model_name''':'''WX-T71'''}) +devices.devids['''sharp_703sh_ver1_sub107021'''] = devclass(devices.devids['''sharp_703sh_ver1'''], '''sharp_703sh_ver1_sub107021''', '''Vodafone/1.0/703SH/SHG001 Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_t71_ver1_sub7023119'''] = devclass(devices.devids['''sharp_wxt71_ver1'''], '''sharp_t71_ver1_sub7023119''', '''SharpT71/SHS001/1.0 Browser/UP.Browser/7.0.2.1a.f.1.104 (GUI) Profile/MIDP-2.0 UP.Browser/7.0.2.3.119 (GUI) MMP/2.0 Push/PO''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_wxt71_ver1_sub7023119'''] = devclass(devices.devids['''sharp_wxt71_ver1'''], '''sharp_wxt71_ver1_sub7023119''', '''SharpWXT71/SHS001/1.0 Browser/UP.Browser/7.0.2.1a.f.1.104 (GUI) Profile/MIDP-2.0 UP.Browser/7.0.2.3.119 (GUI) MMP/2.0 Push/PO''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_703sh_ver1_sub702110'''] = devclass(devices.devids['''sharp_703sh_ver1'''], '''sharp_703sh_ver1_sub702110''', '''Vodafone/703SH/SHG001/1.0 Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_770sh_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sharp_770sh_ver1''', '''770SH''', True, {'''amr''':True,'''brand_name''':'''Sharp''','''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''770SH''','''mp3''':True,'''picture''':True,'''picture_max_height''':320,'''picture_max_width''':240,'''picture_preferred_height''':320,'''picture_preferred_width''':240,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''sharp_770sh_ver1_subv'''] = devclass(devices.devids['''sharp_770sh_ver1'''], '''sharp_770sh_ver1_subv''', '''Vodafone/1.0/770SH''', False, None) +devices.devids['''sharp_770sh_ver1_subshg001'''] = devclass(devices.devids['''sharp_770sh_ver1'''], '''sharp_770sh_ver1_subshg001''', '''Vodafone/1.0/770SH/SHG001 Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-V-Profile/VSCL-2.0.0''', False, None) +devices.devids['''sharp_802sh_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sharp_802sh_ver1''', '''802SH''', True, {'''brand_name''':'''Sharp''','''colors''':262144,'''columns''':14,'''directdownload_support''':True,'''gif_animated''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':262,'''max_image_width''':238,'''model_name''':'''802SH''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_xmf''':True,'''rows''':10,'''smf''':True,'''video''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_wbmp''':True}) +devices.devids['''sharp_802sh_ver1_sub10'''] = devclass(devices.devids['''sharp_802sh_ver1'''], '''sharp_802sh_ver1_sub10''', '''Vodafone/1.0/802SH''', False, None) +devices.devids['''sharp_802sh_ver1_subshg001'''] = devclass(devices.devids['''sharp_802sh_ver1'''], '''sharp_802sh_ver1_subshg001''', '''Vodafone/Sharp802SH/SHG001/1.0 Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0''', False, None) +devices.devids['''sharp_tq_v802sh'''] = devclass(devices.devids['''sharp_802sh_ver1'''], '''sharp_tq_v802sh''', '''SHARP-TQ-V802SH''', True, {'''model_name''':'''TQ-V802SH''','''uaprof''':'''http://www.sharp-mobile.com/UAProf/802SH_G001_base.xml'''}) +devices.devids['''sharp_902sh_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sharp_902sh_ver1''', '''Vodafone/Sharp902SH''', True, {'''amr''':True,'''brand_name''':'''Sharp''','''colors''':262144,'''columns''':14,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_deck_size''':100000,'''max_image_height''':262,'''max_image_width''':238,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''model_name''':'''902SH-Vodafone''','''mp3''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''svgt_1_1''':True,'''uaprof''':'''http://www.sharp-mobile.com/UAProf/902SH_G001_base.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':2097152,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':230,'''wallpaper_preferred_width''':240,'''wallpaper_wbmp''':True,'''wav''':True,'''xmf''':True}) +devices.devids['''sharp_902sh_ver1_sub10'''] = devclass(devices.devids['''sharp_902sh_ver1'''], '''sharp_902sh_ver1_sub10''', '''Vodafone/1.0/902SH''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_902sh_ver1_subshg001'''] = devclass(devices.devids['''sharp_902sh_ver1'''], '''sharp_902sh_ver1_subshg001''', '''Vodafone/1.0/902SH/SHG001 Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_902sh_ver1_subshg00110'''] = devclass(devices.devids['''sharp_902sh_ver1'''], '''sharp_902sh_ver1_subshg00110''', '''Vodafone/Sharp902SH/SHG001/1.0 Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_902sh_ver1_sub4722'''] = devclass(devices.devids['''sharp_902sh_ver1'''], '''sharp_902sh_ver1_sub4722''', '''Vodafone/Sharp902SH/SHG001/1.0/SNXXXXXXXXXXXXXXX Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_902_ver1'''] = devclass(devices.devids['''sharp_902sh_ver1'''], '''sharp_902_ver1''', '''Sharp902SH''', False, None) +devices.devids['''sharp_sx813_ver1'''] = devclass(devices.devids['''sharp_902_ver1'''], '''sharp_sx813_ver1''', '''Smartone/SharpSX813/SHS001''', True, {'''j2me_cldc_1_1''':True,'''max_data_rate''':40,'''model_name''':'''SX813'''}) +devices.devids['''sharp_sx813_ver1_sub7021a1c1103'''] = devclass(devices.devids['''sharp_sx813_ver1'''], '''sharp_sx813_ver1_sub7021a1c1103''', '''Smartone/SharpSX813/SHS001/1.0 Browser/UP.Browser/7.0.2.1a.1.c.1.103 (GUI) Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0''', False, {'''max_data_rate''':40}) +devices.devids['''vodafone_903sh_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''vodafone_903sh_ver1''', '''Vodafone/903SH''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Sharp''','''colors''':262144,'''columns''':19,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':40,'''max_deck_size''':49152,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':307200,'''mms_max_width''':480,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''903SH''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''rows''':13,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://www.sharp-mobile.com/UAProf/903SH_G001_base.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':128,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':174,'''wallpaper_preferred_width''':173,'''wta_phonebook''':True}) +devices.devids['''sharp_wxt91_ver1'''] = devclass(devices.devids['''vodafone_903sh_ver1'''], '''sharp_wxt91_ver1''', '''SHARP WX-T91''', True, {'''j2me_midp_2_0''':True,'''model_name''':'''WX-T91'''}) +devices.devids['''sharp_t91_ver1_sub7023119'''] = devclass(devices.devids['''sharp_wxt91_ver1'''], '''sharp_t91_ver1_sub7023119''', '''SharpT91/SHS001/1.0 Browser/UP.Browser/7.0.2.1a.f.1.104 (GUI) Profile/MIDP-2.0 UP.Browser/7.0.2.3.119 (GUI) MMP/2.0 Push/PO''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_wxt91_ver1_sub7023119'''] = devclass(devices.devids['''sharp_wxt91_ver1'''], '''sharp_wxt91_ver1_sub7023119''', '''SharpWXT91/SHS001/1.0 Browser/UP.Browser/7.0.2.1a.f.1.104 (GUI) Profile/MIDP-2.0 UP.Browser/7.0.2.3.119 (GUI) MMP/2.0 Push/PO''', False, {'''max_data_rate''':40}) +devices.devids['''vodafone_903sh_ver1_sub10'''] = devclass(devices.devids['''vodafone_903sh_ver1'''], '''vodafone_903sh_ver1_sub10''', '''Vodafone/1.0/903SH''', False, {'''max_data_rate''':40}) +devices.devids['''vodafone_903sh_ver1_sub10shg001'''] = devclass(devices.devids['''vodafone_903sh_ver1'''], '''vodafone_903sh_ver1_sub10shg001''', '''Vodafone/1.0/903SH/SHG001 Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0''', False, {'''max_data_rate''':40}) +devices.devids['''vodafone_903sh_ver1_subshj001'''] = devclass(devices.devids['''vodafone_903sh_ver1'''], '''vodafone_903sh_ver1_subshj001''', '''Vodafone/1.0/V903SH/SHJ001 Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0''', False, {'''max_data_rate''':40}) +devices.devids['''vodafone_903sh_ver1_subshg001'''] = devclass(devices.devids['''vodafone_903sh_ver1'''], '''vodafone_903sh_ver1_subshg001''', '''Vodafone/903SH/SHG001/1.0 Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_sx833_ver1'''] = devclass(devices.devids['''vodafone_903sh_ver1'''], '''sharp_sx833_ver1''', '''SharpSX833''', True, {'''j2me_midp_2_0''':True,'''model_name''':'''SX833'''}) +devices.devids['''sharp_sx833_ver1_subshs001107021a474'''] = devclass(devices.devids['''sharp_sx833_ver1'''], '''sharp_sx833_ver1_subshs001107021a474''', '''SmarTone-Vodafone/SharpSX833/SHS001/1.0 Browser/UP.Browser/7.0.2.1a.474 (GUI) Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0''', False, {'''max_data_rate''':40}) +devices.devids['''sharp_z800_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sharp_z800_ver1''', '''SHARP-Z800''', True, {'''brand_name''':'''Sharp''','''max_image_height''':98,'''max_image_width''':128,'''model_name''':'''Z800''','''resolution_height''':131,'''resolution_width''':128}) +devices.devids['''sharp_z800_ver1_sub4126c3'''] = devclass(devices.devids['''sharp_z800_ver1'''], '''sharp_z800_ver1_sub4126c3''', '''SHARP-Z800/1.0 UP.Browser/4.1.26c3''', False, None) +devices.devids['''vm4050_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''vm4050_ver1''', '''VM4050''', True, {'''brand_name''':'''Toshiba''','''colors''':262144,'''columns''':24,'''directdownload_support''':True,'''gif''':False,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':261,'''max_image_width''':240,'''model_name''':'''CDM-9950''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_directdownload_size_limit''':131072,'''ringtone_voices''':48,'''rows''':13,'''uaprof''':'''http://device.sprintpcs.com/Audiovox/CDM9950SP/132037.rdf''','''voices''':48,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':131072,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''vm4050_ver1_sub132037'''] = devclass(devices.devids['''vm4050_ver1'''], '''vm4050_ver1_sub132037''', '''VM4050/132.037 UP.Browser/6.2.2.4.e.1.100 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''vm4050_ver1_sub132132'''] = devclass(devices.devids['''vm4050_ver1'''], '''vm4050_ver1_sub132132''', '''VM4050/132.132 UP.Browser/6.2.2.4.e.1.100 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''toshiba_ts605_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''toshiba_ts605_ver1''', '''Toshiba_TS605/v1.0 UP.Browser/6.2.3.9.d.3.103 (GUI) MMP/2.0''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Toshiba''','''colors''':65536,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':51200,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':153600,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''TS605''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gphone.toshiba.co.jp/tech/profiles/UAPROF/GPRS/Toshiba_TS605.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''toshiba_ts608_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''toshiba_ts608_ver1''', '''ToshibaTS608''', True, {'''brand_name''':'''Toshiba''','''colors''':262144,'''gif''':True,'''jpg''':True,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser_version''':'''6.2''','''model_name''':'''TS608''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''toshiba_ts608_ver1_subv106239d1'''] = devclass(devices.devids['''toshiba_ts608_ver1'''], '''toshiba_ts608_ver1_subv106239d1''', '''Toshiba TS608_TS30/v1.0 UP.Browser/6.2.3.9.d.1 (GUI) MMP/2.0''', False, None) +devices.devids['''toshiba_ts608_ver1_simi'''] = devclass(devices.devids['''toshiba_ts608_ver1'''], '''toshiba_ts608_ver1_simi''', '''Toshiba TS608;TS30/v1.0''', True, {'''amr''':True,'''brand_name''':'''Toshiba''','''colors''':65536,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''https_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':220,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':51200,'''max_image_height''':166,'''max_image_width''':215,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_max_height''':240,'''mms_max_size''':102400,'''mms_max_width''':320,'''mms_png''':True,'''model_name''':'''TS608_TS30''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_max_height''':176,'''picture_max_width''':220,'''picture_preferred_height''':176,'''picture_preferred_width''':220,'''png''':True,'''receiver''':True,'''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':5,'''screensaver_max_height''':176,'''screensaver_max_width''':220,'''screensaver_preferred_height''':176,'''screensaver_preferred_width''':220,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''uaprof''':'''http://gphone.toshiba.co.jp/tech/profiles/UAPROF/GPRS/Toshiba_GS20.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_max_height''':176,'''video_max_width''':220,'''video_mp4''':True,'''video_preferred_height''':176,'''video_preferred_width''':220,'''wallpaper_max_height''':176,'''wallpaper_max_width''':220,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':220,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_table_support''':True}) +devices.devids['''toshiba_ts705_ver1'''] = devclass(devices.devids['''generic'''], '''toshiba_ts705_ver1''', '''TS705/1.0''', True, {'''brand_name''':'''Toshiba''','''colors''':262144,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_image_height''':144,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''TS705''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''toshiba_ts705_ver1_subwhite10'''] = devclass(devices.devids['''toshiba_ts705_ver1'''], '''toshiba_ts705_ver1_subwhite10''', '''white TS705/1.0''', False, None) +devices.devids['''vodafone_toshiba_803_ver1'''] = devclass(devices.devids['''generic'''], '''vodafone_toshiba_803_ver1''', '''Vodafone/Toshiba803''', True, {'''aac''':True,'''brand_name''':'''Toshiba''','''colors''':262144,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':803,'''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''vodafone_toshiba_803_ver1_sub200'''] = devclass(devices.devids['''vodafone_toshiba_803_ver1'''], '''vodafone_toshiba_803_ver1_sub200''', '''Vodafone/Toshiba803/1.0/EU001 Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0''', False, None) +devices.devids['''toshiba_v902t_ver1'''] = devclass(devices.devids['''generic'''], '''toshiba_v902t_ver1''', '''Vodafone/V902T''', True, {'''brand_name''':'''Toshiba''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':'''V902T''','''svgt_1_1''':True,'''svgt_1_1_plus''':True}) +devices.devids['''toshiba_v902t_ver1_sub'''] = devclass(devices.devids['''toshiba_v902t_ver1'''], '''toshiba_v902t_ver1_sub''', '''Vodafone/V902T/1.0''', False, None) +devices.devids['''toshiba_v902t_ver1_subg001abcde'''] = devclass(devices.devids['''toshiba_v902t_ver1'''], '''toshiba_v902t_ver1_subg001abcde''', '''Vodafone/V902T/1.0/TG001/SNXXXXXXXXXXXXXXX Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0''', False, None) +devices.devids['''toshiba_ts10_ver1'''] = devclass(devices.devids['''generic'''], '''toshiba_ts10_ver1''', '''ToshibaTS10''', True, {'''brand_name''':'''Toshiba''','''colors''':65536,'''gif''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''TS10''','''preferred_markup''':'''wml_1_3''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''toshiba_v921t_ver1'''] = devclass(devices.devids['''generic'''], '''toshiba_v921t_ver1''', '''Vodafone/ToshibaTS921''', True, {'''amr''':True,'''brand_name''':'''Toshiba''','''colors''':262144,'''columns''':26,'''directdownload_support''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':60000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''TS 921''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':20,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://gphone.toshiba.co.jp/tech/profiles/UAPROF/EUR1/TS_921_r100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''toshiba_v921t_ver1_subeu001'''] = devclass(devices.devids['''toshiba_v921t_ver1'''], '''toshiba_v921t_ver1_subeu001''', '''Vodafone/ToshibaTS921/1.0/EU001 Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0''', False, {'''max_data_rate''':40}) +devices.devids['''toshiba_t618x_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''toshiba_t618x_ver1''', '''T618X''', True, {'''brand_name''':'''Toshiba''','''colors''':262144,'''max_image_height''':176,'''max_image_width''':144,'''model_name''':'''T618X''','''preferred_markup''':'''wml_1_2''','''resolution_height''':176,'''resolution_width''':144,'''screensaver''':True,'''screensaver_max_height''':176,'''screensaver_max_width''':144,'''video''':True,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_max_height''':176,'''wallpaper_max_width''':144,'''wml_1_2''':True}) +devices.devids['''toshiba_t618x_ver1_sub61061'''] = devclass(devices.devids['''toshiba_t618x_ver1'''], '''toshiba_t618x_ver1_sub61061''', '''T618X UP.Browser/6.1.0.6.1 (GUI) MMP/1.0''', False, None) +devices.devids['''hitachi_p300_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''hitachi_p300_ver1''', '''Hitachi-P300''', True, {'''bmp''':True,'''brand_name''':'''Hitachi''','''colors''':256,'''columns''':16,'''compactmidi''':True,'''gif''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':64,'''max_image_height''':97,'''max_image_width''':120,'''midi_monophonic''':True,'''model_name''':'''P300''','''png''':True,'''resolution_height''':130,'''resolution_width''':120,'''ringtone_midi_monophonic''':True,'''rows''':8,'''uaprof''':'''http://device.sprintpcs.com/Hitachi/SH-P300/S2A33.rdf''','''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''hitachi_p300_ver1_sub20'''] = devclass(devices.devids['''hitachi_p300_ver1'''], '''hitachi_p300_ver1_sub20''', '''Hitachi-P300 UP.Browser/6.1.0.2.135 (GUI) MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''kddi_ca21_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''kddi_ca21_ver1''', '''KDDI-CA21''', False, None) +devices.devids['''kddi_ca21_ver1_sub11'''] = devclass(devices.devids['''kddi_ca21_ver1'''], '''kddi_ca21_ver1_sub11''', '''KDDI-CA21 UP.Browser/6.0.7.1 (GUI) MMP/1.1''', False, None) +devices.devids['''kddi_ca22_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''kddi_ca22_ver1''', '''KDDI-CA22''', False, None) +devices.devids['''kddi_ca22_ver1_sub6081'''] = devclass(devices.devids['''kddi_ca22_ver1'''], '''kddi_ca22_ver1_sub6081''', '''KDDI-CA22 UP.Browser/6.0.8.1 (GUI) MMP/1.1''', False, None) +devices.devids['''kddi_ca22_ver1_sub6082'''] = devclass(devices.devids['''kddi_ca22_ver1'''], '''kddi_ca22_ver1_sub6082''', '''KDDI-CA22 UP.Browser/6.0.8.2 (GUI) MMP/1.1''', False, None) +devices.devids['''kddi_ca23_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_ca23_ver1''', '''KDDI-CA23''', False, None) +devices.devids['''kddi_ca23_ver1_sub20'''] = devclass(devices.devids['''kddi_ca23_ver1'''], '''kddi_ca23_ver1_sub20''', '''KDDI-CA23 UP.Browser/6.2.0.5.136 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_ca33_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_ca33_ver1''', '''KDDI-CA33 UP.Browser/6.2.0.10.4 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_hi31_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_hi31_ver1''', '''KDDI-HI31''', False, None) +devices.devids['''kddi_hi31_ver1_sub6205'''] = devclass(devices.devids['''kddi_hi31_ver1'''], '''kddi_hi31_ver1_sub6205''', '''KDDI-HI31 UP.Browser/6.2.0.5 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_hi31_ver1_sub6205c1100'''] = devclass(devices.devids['''kddi_hi31_ver1'''], '''kddi_hi31_ver1_sub6205c1100''', '''KDDI-HI31 UP.Browser/6.2.0.5.c.1.100 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_hi32_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_hi32_ver1''', '''KDDI-HI32''', False, None) +devices.devids['''kddi_hi32_ver1_sub20'''] = devclass(devices.devids['''kddi_hi32_ver1'''], '''kddi_hi32_ver1_sub20''', '''KDDI-HI32 UP.Browser/6.2.0.6.2 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_kc31_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_kc31_ver1''', '''KDDI-KC31''', False, None) +devices.devids['''kddi_kc31_ver1_sub20'''] = devclass(devices.devids['''kddi_kc31_ver1'''], '''kddi_kc31_ver1_sub20''', '''KDDI-KC31 UP.Browser/6.2.0.5 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_kc32_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_kc32_ver1''', '''KDDI-KC32''', True, {'''brand_name''':'''KDDI''','''model_name''':'''W21K'''}) +devices.devids['''kddi_kc32_ver1_sub62073129'''] = devclass(devices.devids['''kddi_kc32_ver1'''], '''kddi_kc32_ver1_sub62073129''', '''KDDI-KC32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_ma21_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''kddi_ma21_ver1''', '''KDDI-MA21''', False, None) +devices.devids['''kddi_ma21_ver1_sub11'''] = devclass(devices.devids['''kddi_ma21_ver1'''], '''kddi_ma21_ver1_sub11''', '''KDDI-MA21 UP.Browser/6.0.6 (GUI) MMP/1.1''', False, None) +devices.devids['''kddi_sa22_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''kddi_sa22_ver1''', '''KDDI-SA22''', False, None) +devices.devids['''kddi_sa22_ver1_sub11'''] = devclass(devices.devids['''kddi_sa22_ver1'''], '''kddi_sa22_ver1_sub11''', '''KDDI-SA22 UP.Browser/6.0.7.2 (GUI) MMP/1.1''', False, None) +devices.devids['''kddi_sa27_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_sa27_ver1''', '''KDDI-SA27''', False, None) +devices.devids['''kddi_sa27_ver1_sub20'''] = devclass(devices.devids['''kddi_sa27_ver1'''], '''kddi_sa27_ver1_sub20''', '''KDDI-SA27 UP.Browser/6.2.0.6.3 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_sa28_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_sa28_ver1''', '''KDDI-SA28''', True, {'''brand_name''':'''KDDI''','''model_name''':'''A1305SA'''}) +devices.devids['''kddi_sa28_ver1_sub6205'''] = devclass(devices.devids['''kddi_sa28_ver1'''], '''kddi_sa28_ver1_sub6205''', '''KDDI-SA28 UP.Browser/6.2.0.5 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_sa32_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_sa32_ver1''', '''KDDI-SA32''', False, {'''brand_name''':'''KDDI'''}) +devices.devids['''kddi_sa32_ver1_sub6208'''] = devclass(devices.devids['''kddi_sa32_ver1'''], '''kddi_sa32_ver1_sub6208''', '''KDDI-SA32 UP.Browser/6.2.0.8 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_sn21_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''kddi_sn21_ver1''', '''KDDI-SN21''', False, None) +devices.devids['''kddi_sn21_ver1_sub607'''] = devclass(devices.devids['''kddi_sn21_ver1'''], '''kddi_sn21_ver1_sub607''', '''KDDI-SN21 UP.Browser/6.0.7 (GUI) MMP/1.1''', False, None) +devices.devids['''kddi_sn22_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''kddi_sn22_ver1''', '''KDDI-SN22''', False, None) +devices.devids['''kddi_sn22_ver1_sub11'''] = devclass(devices.devids['''kddi_sn22_ver1'''], '''kddi_sn22_ver1_sub11''', '''KDDI-SN22 UP.Browser/6.0.7 (GUI) MMP/1.1''', False, None) +devices.devids['''kddi_sn23_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''kddi_sn23_ver1''', '''KDDI-SN23''', False, None) +devices.devids['''kddi_sn23_ver1_sub11'''] = devclass(devices.devids['''kddi_sn23_ver1'''], '''kddi_sn23_ver1_sub11''', '''KDDI-SN23 UP.Browser/6.0.8.2 (GUI) MMP/1.1''', False, None) +devices.devids['''kddi_sn24_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''kddi_sn24_ver1''', '''KDDI-SN24''', False, None) +devices.devids['''kddi_sn24_ver1_sub6082'''] = devclass(devices.devids['''kddi_sn24_ver1'''], '''kddi_sn24_ver1_sub6082''', '''KDDI-SN24 UP.Browser/6.0.8.2 (GUI) MMP/1.1''', False, None) +devices.devids['''kddi_sn25_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_sn25_ver1''', '''KDDI-SN25''', False, None) +devices.devids['''kddi_sn25_ver1_sub20'''] = devclass(devices.devids['''kddi_sn25_ver1'''], '''kddi_sn25_ver1_sub20''', '''KDDI-SN25 UP.Browser/6.2.0.5 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_sn26_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_sn26_ver1''', '''KDDI-SN26''', False, None) +devices.devids['''kddi_sn26_ver1_sub20'''] = devclass(devices.devids['''kddi_sn26_ver1'''], '''kddi_sn26_ver1_sub20''', '''KDDI-SN26 UP.Browser/6.2.0.5 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_sn29_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_sn29_ver1''', '''KDDI-SN29''', True, {'''brand_name''':'''KDDI''','''model_name''':'''A1404S'''}) +devices.devids['''kddi_sn29_ver1_sub62062'''] = devclass(devices.devids['''kddi_sn29_ver1'''], '''kddi_sn29_ver1_sub62062''', '''KDDI-SN29 UP.Browser/6.2.0.6.2 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_sn31_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_sn31_ver1''', '''KDDI-SN31''', False, None) +devices.devids['''kddi_sn31_ver1_sub20'''] = devclass(devices.devids['''kddi_sn31_ver1'''], '''kddi_sn31_ver1_sub20''', '''KDDI-SN31 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_ts25_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''kddi_ts25_ver1''', '''KDDI-TS25''', False, None) +devices.devids['''kddi_ts25_ver1_sub11'''] = devclass(devices.devids['''kddi_ts25_ver1'''], '''kddi_ts25_ver1_sub11''', '''KDDI-TS25 UP.Browser/6.0.8.3 (GUI) MMP/1.1''', False, None) +devices.devids['''kddi_ts26_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_ts26_ver1''', '''KDDI-TS26''', False, None) +devices.devids['''kddi_ts26_ver1_sub6205'''] = devclass(devices.devids['''kddi_ts26_ver1'''], '''kddi_ts26_ver1_sub6205''', '''KDDI-TS26 UP.Browser/6.2.0.5 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_ts28_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_ts28_ver1''', '''KDDI-TS28''', False, None) +devices.devids['''kddi_ts28_ver1_sub62062'''] = devclass(devices.devids['''kddi_ts28_ver1'''], '''kddi_ts28_ver1_sub62062''', '''KDDI-TS28 UP.Browser/6.2.0.6.2 (GUI) MMP/2.0''', False, None) +devices.devids['''kddi_ts29_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_ts29_ver1''', '''KDDI-TS29''', True, {'''brand_name''':'''KDDI''','''model_name''':'''A5509T'''}) +devices.devids['''kddi_ts29_ver1_sub6209'''] = devclass(devices.devids['''kddi_ts29_ver1'''], '''kddi_ts29_ver1_sub6209''', '''KDDI-TS29 UP.Browser/6.2.0.9 (GUI) MMP/2.0''', False, None) +devices.devids['''softbank_generic_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''softbank_generic_ver1''', '''SoftBank/1.0''', False, None) +devices.devids['''softbank_705p_ver1'''] = devclass(devices.devids['''softbank_generic_ver1'''], '''softbank_705p_ver1''', '''SoftBank/1.0/705P/PJP10/SN359488001765860 Browser/Teleca-Browser/3.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Panasonic''','''colors''':16777216,'''columns''':10,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':102400,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':320,'''mms_max_size''':307200,'''mms_max_width''':240,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''705P''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_xmf''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_video''':True,'''streaming_wmv''':True,'''table_support''':True,'''uaprof''':'''http://mobileinternet.panasonicbox.com/UAprof/VS70/RJ1_3G.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wbmp''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''apple_iphone_ver1'''] = devclass(devices.devids['''apple_generic'''], '''apple_iphone_ver1''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419.3''', True, {'''max_data_rate''':200,'''max_image_height''':360,'''max_image_width''':320,'''mobile_browser''':'''Safari''','''model_name''':'''iPhone''','''resolution_height''':480,'''resolution_width''':320,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wifi''':True}) +devices.devids['''apple_iphone_ver1_suba543'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_suba543''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub1C25'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub1C25''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C25 Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub1C28'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub1C28''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C28 Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub3b48a'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub3b48a''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub3b48b'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub3b48b''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48a Safari/419.3''', False, None) +devices.devids['''apple_ipod_touch_ver1'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_ipod_touch_ver1''', '''Mozilla/5.0 (iPod; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A100a Safari/419.3''', False, {'''mobile_browser''':'''Safari''','''model_name''':'''iPod Touch''','''wml_make_phone_call_string''':'''none''','''xhtml_make_phone_call_string''':'''none'''}) +devices.devids['''apple_ipod_touch_ver1_de'''] = devclass(devices.devids['''apple_ipod_touch_ver1'''], '''apple_ipod_touch_ver1_de''', '''Mozilla/5.0 (iPod; U; CPU like Mac OS X; de-de) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A110a Safari/419.3''', False, None) +devices.devids['''hdml_upbrowser31_ver1_sub31'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_upbrowser31_ver1_sub31''', '''UP.Browser/3.1''', False, None) +devices.devids['''hdml_ds13_ver1_sub3103'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_ds13_ver1_sub3103''', '''UP.Browser/3.1.03-DS13''', False, None) +devices.devids['''hdml_ds14_ver1_sub304'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_ds14_ver1_sub304''', '''UP.Browser/3.04-DS14''', False, None) +devices.devids['''hdml_ds14_ver1_sub3104'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_ds14_ver1_sub3104''', '''UP.Browser/3.1.04-DS14''', False, None) +devices.devids['''hdml_ds15_ver1_sub304'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_ds15_ver1_sub304''', '''UP.Browser/3.04-DS15''', False, None) +devices.devids['''hdml_ds15_ver1_sub3104'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_ds15_ver1_sub3104''', '''UP.Browser/3.1.04-DS15''', False, None) +devices.devids['''hdml_erk0_ver1_sub303'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_erk0_ver1_sub303''', '''UP.Browser/3.03-ERK0''', False, None) +devices.devids['''hdml_erk0_ver1_sub3103'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_erk0_ver1_sub3103''', '''UP.Browser/3.1.03-ERK0''', False, None) +devices.devids['''hdml_erk1_ver1_sub303'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_erk1_ver1_sub303''', '''UP.Browser/3.03-ERK1''', False, None) +devices.devids['''hdml_erk1_ver1_sub3103'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_erk1_ver1_sub3103''', '''UP.Browser/3.1.03-ERK1''', False, None) +devices.devids['''hdml_hd03_ver1_sub310203'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_hd03_ver1_sub310203''', '''UP.Browser/3.1.02-HD03''', False, None) +devices.devids['''hei_hgc600e_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''hei_hgc600e_ver1''', '''HEI-HGC600E/001.1a UP/4.1.20e''', False, None) +devices.devids['''hei_mmd1010_ver1_sub4120'''] = devclass(devices.devids['''uptext_generic'''], '''hei_mmd1010_ver1_sub4120''', '''HEI-MMD1010/001.1a UP/4.1.20i UP.Browser/4.1.20i-XXXX''', False, None) +devices.devids['''hdml_hi14_ver1_sub304'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_hi14_ver1_sub304''', '''UP.Browser/3.04-HI14''', False, None) +devices.devids['''hdml_ig01_ver1_sub3001'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_ig01_ver1_sub3001''', '''UP.Browser/3.0.01-IG01''', False, None) +devices.devids['''hdml_ig01_ver1_sub301'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_ig01_ver1_sub301''', '''UP.Browser/3.01-IG01''', False, None) +devices.devids['''hdml_im1k_ver1_sub311k'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_im1k_ver1_sub311k''', '''UP.Browser/3.1-IM1K''', False, None) +devices.devids['''im1k_ver1_sub4120'''] = devclass(devices.devids['''uptext_generic'''], '''im1k_ver1_sub4120''', '''IM1K UP/4.1.20a UP.Browser/4.1.20a-XXXX''', False, None) +devices.devids['''hdml_kc14_ver1_sub304'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_kc14_ver1_sub304''', '''UP.Browser/3.04-KC14''', False, None) +devices.devids['''hdml_kct8_ver1_sub304'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_kct8_ver1_sub304''', '''UP.Browser/3.04-KCT8''', False, None) +devices.devids['''hdml_lg05_ver1_sub310405'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_lg05_ver1_sub310405''', '''UP.Browser/3.1.04-LG05''', False, None) +devices.devids['''hdml_lg06_ver1_sub310406'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_lg06_ver1_sub310406''', '''UP.Browser/3.1.04-LG06''', False, None) +devices.devids['''hdml_lg08_ver1_sub310408'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_lg08_ver1_sub310408''', '''UP.Browser/3.1.04-LG08''', False, None) +devices.devids['''hdml_lg14_ver1_sub310414'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_lg14_ver1_sub310414''', '''UP.Browser/3.1.04-LG14''', False, None) +devices.devids['''hdml_lg16_ver1_sub310416'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_lg16_ver1_sub310416''', '''UP.Browser/3.1.04-LG16''', False, None) +devices.devids['''hdml_lg18_ver1_sub310418'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_lg18_ver1_sub310418''', '''UP.Browser/3.1.04-LG18''', False, None) +devices.devids['''hdml_lg19_ver1_sub310419'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_lg19_ver1_sub310419''', '''UP.Browser/3.1.04-LG19''', False, None) +devices.devids['''hdml_lg21_ver1_sub310421'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_lg21_ver1_sub310421''', '''UP.Browser/3.1.04-LG21''', False, None) +devices.devids['''hdml_lg25_ver1_sub310425'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_lg25_ver1_sub310425''', '''UP.Browser/3.1.04-LG25''', False, None) +devices.devids['''hdml_mc01_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_mc01_ver1''', '''UP.Browser/3.02-MC01''', False, None) +devices.devids['''hdml_mc01_ver1_sub3102'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_mc01_ver1_sub3102''', '''UP.Browser/3.1.02-MC01''', False, None) +devices.devids['''hdml_mcc6_ver1_sub31026'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_mcc6_ver1_sub31026''', '''UP.Browser/3.1.02-MCC6''', False, None) +devices.devids['''hdml_mcc7_ver1_sub31027'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_mcc7_ver1_sub31027''', '''UP.Browser/3.1.02-MCC7''', False, None) +devices.devids['''hdml_mcc8_ver1_sub31028'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_mcc8_ver1_sub31028''', '''UP.Browser/3.1.02-MCC8''', False, None) +devices.devids['''hdml_mcca_ver1_sub3102'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_mcca_ver1_sub3102''', '''UP.Browser/3.1.02-MCCA''', False, None) +devices.devids['''hdml_mccb_ver1_sub3102'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_mccb_ver1_sub3102''', '''UP.Browser/3.1.02-MCCB''', False, None) +devices.devids['''hdml_mccc_ver1_sub3102'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_mccc_ver1_sub3102''', '''UP.Browser/3.1.02-MCCC''', False, None) +devices.devids['''hdml_mo01_ver1_sub310101'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_mo01_ver1_sub310101''', '''UP.Browser/3.1.01-MO01''', False, None) +devices.devids['''hdml_mo01_ver1_sub310401'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_mo01_ver1_sub310401''', '''UP.Browser/3.1.04-MO01''', False, None) +devices.devids['''hdml_nk00_ver1_sub3103'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_nk00_ver1_sub3103''', '''UP.Browser/3.1.03-NK00''', True, {'''brand_name''':'''Nokia''','''model_name''':6185}) +devices.devids['''hdml_nk02_ver1_sub310302'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_nk02_ver1_sub310302''', '''UP.Browser/3.1.03-NK02''', False, None) +devices.devids['''hdml_qc06_ver1_sub3104'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_qc06_ver1_sub3104''', '''UP.Browser/3.1.04-QC06''', True, {'''brand_name''':'''Kyocera''','''model_name''':'''QCP2035'''}) +devices.devids['''hdml_qc12_ver1_sub3001'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_qc12_ver1_sub3001''', '''UP.Browser/3.0.01-QC12''', False, None) +devices.devids['''hdml_qc31_ver1_sub3001'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_qc31_ver1_sub3001''', '''UP.Browser/3.0.01-QC31''', False, None) +devices.devids['''hdml_qc31_ver1_sub301'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_qc31_ver1_sub301''', '''UP.Browser/3.01-QC31''', False, None) +devices.devids['''hdml_qc32_ver1_sub3002'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_qc32_ver1_sub3002''', '''UP.Browser/3.0.02-QC32''', False, None) +devices.devids['''hdml_sec_ver1_sub3104'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sec_ver1_sub3104''', '''UP.Browser/3.1.04-SEC-''', False, None) +devices.devids['''sk04_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''sk04_ver1''', '''SK-04/1.0 UP/4.1.21''', False, None) +devices.devids['''sk05_ver1'''] = devclass(devices.devids['''sk04_ver1'''], '''sk05_ver1''', '''SK-05/1.0 UP/4.1.21''', False, None) +devices.devids['''hdml_sc02_ver1_sub310402'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sc02_ver1_sub310402''', '''UP.Browser/3.1.04-SC02''', True, {'''brand_name''':'''Samsung''','''columns''':15,'''model_name''':'''SCH-8500''','''resolution_height''':50,'''rows''':5}) +devices.devids['''hdml_sc03_ver1_sub304'''] = devclass(devices.devids['''hdml_sc02_ver1_sub310402'''], '''hdml_sc03_ver1_sub304''', '''UP.Browser/3.04-SC03''', True, {'''model_name''':'''SCH-6100'''}) +devices.devids['''hdml_sc03_ver1_sub310403'''] = devclass(devices.devids['''hdml_sc03_ver1_sub304'''], '''hdml_sc03_ver1_sub310403''', '''UP.Browser/3.1.04-SC03''', False, None) +devices.devids['''hdml_sc04_ver1_sub310204'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sc04_ver1_sub310204''', '''UP.Browser/3.1.02-SC04''', False, None) +devices.devids['''hdml_sc04_ver1_sub310404'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sc04_ver1_sub310404''', '''UP.Browser/3.1.04-SC04''', False, None) +devices.devids['''hdml_sc05_ver1_sub310205'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sc05_ver1_sub310205''', '''UP.Browser/3.1.02-SC05''', False, None) +devices.devids['''hdml_sc12_ver1_sub310412'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sc12_ver1_sub310412''', '''UP.Browser/3.1.04-SC12''', False, None) +devices.devids['''hdml_sc13_ver1_sub3104'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sc13_ver1_sub3104''', '''UP.Browser/3.1.04-SC13''', True, {'''brand_name''':'''Samsung''','''columns''':15,'''max_image_height''':50,'''max_image_width''':120,'''model_name''':'''Uproar M100''','''resolution_height''':50,'''resolution_width''':128,'''rows''':5}) +devices.devids['''hdml_sn13_ver1_sub30413'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sn13_ver1_sub30413''', '''UP.Browser/3.04-SN13''', False, None) +devices.devids['''hdml_sn17_ver1_sub304'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sn17_ver1_sub304''', '''UP.Browser/3.04-SN17''', False, None) +devices.devids['''hdml_sp01_ver1_sub4120'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sp01_ver1_sub4120''', '''SP01 UP/4.1.20a''', False, None) +devices.devids['''hdml_st14_ver1_sub304'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_st14_ver1_sub304''', '''UP.Browser/3.04-ST14''', False, None) +devices.devids['''hdml_sy01_ver1_sub302'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sy01_ver1_sub302''', '''UP.Browser/3.02-SY01''', False, None) +devices.devids['''hdml_sy15_ver1_sub30415'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sy15_ver1_sub30415''', '''UP.Browser/3.04-SY15''', False, None) +devices.devids['''hdml_sy01_ver1_sub3102'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sy01_ver1_sub3102''', '''UP.Browser/3.1.02-SY01''', False, None) +devices.devids['''hdml_sy02_ver1_sub310402'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sy02_ver1_sub310402''', '''UP.Browser/3.1.04-SY02''', True, {'''bmp''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':22,'''compactmidi''':True,'''directdownload_support''':True,'''max_image_height''':144,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCP-4500''','''resolution_height''':176,'''resolution_width''':132,'''ringtone''':True,'''ringtone_directdownload_size_limit''':65536,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':16,'''rows''':12,'''voices''':16,'''wallpaper_colors''':16}) +devices.devids['''hdml_sy03_ver1_sub310403'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sy03_ver1_sub310403''', '''UP.Browser/3.1.04-SY03''', False, None) +devices.devids['''hdml_sc22_ver1_sub3104'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_sc22_ver1_sub3104''', '''UP.Browser/3.1.04-SC22''', False, None) +devices.devids['''hdml_syt1_ver1_sub303'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_syt1_ver1_sub303''', '''UP.Browser/3.03-SYT1''', False, None) +devices.devids['''hdml_syt3_ver1_sub3043'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_syt3_ver1_sub3043''', '''UP.Browser/3.04-SYT3''', False, None) +devices.devids['''hdml_t250_ver1_sub303'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_t250_ver1_sub303''', '''UP.Browser/3.03-T250''', False, None) +devices.devids['''hdml_t250_ver1_sub3103'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_t250_ver1_sub3103''', '''UP.Browser/3.1.03-T250''', False, None) +devices.devids['''hdml_ts14_ver1_sub30414'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_ts14_ver1_sub30414''', '''UP.Browser/3.04-TS14''', False, None) +devices.devids['''hdml_tsca_ver1_sub3103'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_tsca_ver1_sub3103''', '''UP.Browser/3.1.03-TSCA''', False, None) +devices.devids['''hdml_upg1_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_upg1_ver1''', '''UP.Browser/3.1-UPG1''', False, None) +devices.devids['''hdml_wapmore_ver1_sub31wapmore'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_wapmore_ver1_sub31wapmore''', '''UP.Browser/3.1-wapmore''', False, None) +devices.devids['''hdml_wapmore_ver1_sub31wapmore31'''] = devclass(devices.devids['''uptext_generic'''], '''hdml_wapmore_ver1_sub31wapmore31''', '''UP.Browser/3.1-wapmore-''', False, None) +devices.devids['''compal_a618_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_a618_ver1''', '''Compal-A618''', False, None) +devices.devids['''compal_a618_ver1_sub10'''] = devclass(devices.devids['''compal_a618_ver1'''], '''compal_a618_ver1_sub10''', '''Compal-A618/1.0 UP.Browser/6.2.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_c8600_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_c8600_ver1''', '''Compal-C8600''', False, None) +devices.devids['''compal_c8600_ver1_sub10'''] = devclass(devices.devids['''compal_c8600_ver1'''], '''compal_c8600_ver1_sub10''', '''Compal-C8600/1.0 UP.Browser/6.2.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_chase898_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_chase898_ver1''', '''Compal-CHASE898''', False, None) +devices.devids['''compal_chase898_ver1_sub10'''] = devclass(devices.devids['''compal_chase898_ver1'''], '''compal_chase898_ver1_sub10''', '''Compal-CHASE898/1.0 UP.Browser/6.2.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_d77_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_d77_ver1''', '''Compal-D77''', False, None) +devices.devids['''compal_d77_ver1_sub10'''] = devclass(devices.devids['''compal_d77_ver1'''], '''compal_d77_ver1_sub10''', '''Compal-D77/1.0 UP.Browser/6.2.2.5 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_hz8_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_hz8_ver1''', '''Compal-HZ8''', False, None) +devices.devids['''compal_hz8_ver1_sub10'''] = devclass(devices.devids['''compal_hz8_ver1'''], '''compal_hz8_ver1_sub10''', '''Compal-HZ8/1.0 UP.Browser/6.2.2.7.c.1.101 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_hz8c_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_hz8c_ver1''', '''Compal-HZ8C''', False, None) +devices.devids['''compal_hz8c_ver1_sub10'''] = devclass(devices.devids['''compal_hz8c_ver1'''], '''compal_hz8c_ver1_sub10''', '''Compal-HZ8C/1.0 UP.Browser/6.2.2.7 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_s7100_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_s7100_ver1''', '''Compal-S7100''', False, None) +devices.devids['''compal_s7100_ver1_sub10'''] = devclass(devices.devids['''compal_s7100_ver1'''], '''compal_s7100_ver1_sub10''', '''Compal-S7100/1.0 UP.Browser/6.2.2.5 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_s7110_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_s7110_ver1''', '''Compal-S7110''', False, None) +devices.devids['''compal_s7110_ver1_sub10'''] = devclass(devices.devids['''compal_s7110_ver1'''], '''compal_s7110_ver1_sub10''', '''Compal-S7110/1.0 UP.Browser/6.2.2.5 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_seville_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''compal_seville_ver1''', '''Compal-Seville''', False, None) +devices.devids['''compal_seville_ver1_sub00'''] = devclass(devices.devids['''compal_seville_ver1'''], '''compal_seville_ver1_sub00''', '''Compal-Seville/1.4 UP.Browser/5.0.3.2 (GUI)''', False, None) +devices.devids['''compal_tg762_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_tg762_ver1''', '''Compal-TG762''', False, None) +devices.devids['''compal_tg762_ver1_sub10'''] = devclass(devices.devids['''compal_tg762_ver1'''], '''compal_tg762_ver1_sub10''', '''Compal-TG762/1.0 UP.Browser/6.2.2.7 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_tg762d_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_tg762d_ver1''', '''Compal-TG762D''', False, None) +devices.devids['''compal_tg762d_ver1_sub10'''] = devclass(devices.devids['''compal_tg762d_ver1'''], '''compal_tg762d_ver1_sub10''', '''Compal-TG762D/1.0 UP.Browser/6.2.2.7.c.1.101 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_u80_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_u80_ver1''', '''Compal-U80''', False, None) +devices.devids['''compal_u80_ver1_sub10'''] = devclass(devices.devids['''compal_u80_ver1'''], '''compal_u80_ver1_sub10''', '''Compal-U80/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_u8600_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_u8600_ver1''', '''Compal-U8600''', False, None) +devices.devids['''compal_u8600_ver1_sub10'''] = devclass(devices.devids['''compal_u8600_ver1'''], '''compal_u8600_ver1_sub10''', '''Compal-U8600/1.0 UP.Browser/6.2.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_u8800_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_u8800_ver1''', '''Compal-U8800''', False, None) +devices.devids['''compal_u8800_ver1_sub10'''] = devclass(devices.devids['''compal_u8800_ver1'''], '''compal_u8800_ver1_sub10''', '''Compal-U8800/1.0 UP.Browser/6.2.2.7 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_v800c_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_v800c_ver1''', '''Compal-V800C''', False, None) +devices.devids['''compal_v800c_ver1_sub10'''] = devclass(devices.devids['''compal_v800c_ver1'''], '''compal_v800c_ver1_sub10''', '''Compal-V800C/1.0 UP.Browser/6.2.2.7 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_xg2_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''compal_xg2_ver1''', '''Compal-XG2''', False, None) +devices.devids['''compal_xg2_ver1_sub4123'''] = devclass(devices.devids['''compal_xg2_ver1'''], '''compal_xg2_ver1_sub4123''', '''Compal-XG2/1.0v UP.Browser/4.1.23c''', False, None) +devices.devids['''compal_xg3_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''compal_xg3_ver1''', '''Compal-XG3''', False, None) +devices.devids['''compal_xg3_ver1_sub4123c'''] = devclass(devices.devids['''compal_xg3_ver1'''], '''compal_xg3_ver1_sub4123c''', '''Compal-XG3/1.0v UP.Browser/4.1.23c''', False, None) +devices.devids['''compal_xg3c_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''compal_xg3c_ver1''', '''Compal-XG3C''', False, None) +devices.devids['''compal_xg3c_ver1_sub4123'''] = devclass(devices.devids['''compal_xg3c_ver1'''], '''compal_xg3c_ver1_sub4123''', '''Compal-XG3C/1.0v UP.Browser/4.1.23c''', False, None) +devices.devids['''compal_xg5_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''compal_xg5_ver1''', '''Compal-XG5''', False, None) +devices.devids['''compal_xg5_ver1_sub4123'''] = devclass(devices.devids['''compal_xg5_ver1'''], '''compal_xg5_ver1_sub4123''', '''Compal-XG5/1.0v UP.Browser/4.1.23c''', False, None) +devices.devids['''compal_xg655_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_xg655_ver1''', '''Compal-XG655''', False, None) +devices.devids['''compal_xg655_ver1_sub10'''] = devclass(devices.devids['''compal_xg655_ver1'''], '''compal_xg655_ver1_sub10''', '''Compal-XG655/1.4 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''compal_xg799_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''compal_xg799_ver1''', '''Compal-XG799''', False, None) +devices.devids['''compal_xg799_ver1_sub10'''] = devclass(devices.devids['''compal_xg799_ver1'''], '''compal_xg799_ver1_sub10''', '''Compal-XG799/1.0+UP.Browser/6.2.2.7 UP.Browser/6.2.2.7.c.1.101 (GUI) MMP/1.0''', False, None) +devices.devids['''raks_7530_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''raks_7530_ver1''', '''RAKS 7530''', False, None) +devices.devids['''raks_7530_ver1_sub4123'''] = devclass(devices.devids['''raks_7530_ver1'''], '''raks_7530_ver1_sub4123''', '''RAKS 7530 UP.Browser/4.1.23c''', False, None) +devices.devids['''telme_t919_ver1'''] = devclass(devices.devids['''generic'''], '''telme_t919_ver1''', '''TELME_T919''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Tel.Me.''','''colors''':65536,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':3000,'''max_image_height''':192,'''max_image_width''':118,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':163,'''mms_max_size''':200000,'''mms_max_width''':101,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''T919''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':256,'''resolution_width''':118,'''sender''':True,'''uaprof''':'''http://download.telme.at/wap/UAprofileTelme_T919.xml''','''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''telme_t918_ver1'''] = devclass(devices.devids['''telme_t919_ver1'''], '''telme_t918_ver1''', '''TELME_T918''', True, {'''max_image_height''':120,'''max_image_width''':128,'''model_name''':'''T918''','''resolution_height''':160,'''resolution_width''':128}) +devices.devids['''dbtel_db2039_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''dbtel_db2039_ver1''', '''DBTEL-DB2039''', False, None) +devices.devids['''dbtel_db2039_ver1_sub5031'''] = devclass(devices.devids['''dbtel_db2039_ver1'''], '''dbtel_db2039_ver1_sub5031''', '''DBTEL-DB2039/3.11 UP.Browser/5.0.3.1''', False, None) +devices.devids['''dbtel_6228_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''dbtel_6228_ver1''', '''DBTEL/6228''', False, None) +devices.devids['''dbtel_6228_ver1_sub5035'''] = devclass(devices.devids['''dbtel_6228_ver1'''], '''dbtel_6228_ver1_sub5035''', '''DBTEL/6228 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/5.0.3.5''', False, None) +devices.devids['''dbtel_6228_ver1_sub5035noslash'''] = devclass(devices.devids['''dbtel_6228_ver1'''], '''dbtel_6228_ver1_sub5035noslash''', '''DBTEL6228/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/5.0.3.5''', False, None) +devices.devids['''dbtel_6568_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''dbtel_6568_ver1''', '''DBTEL6568''', False, None) +devices.devids['''dbtel_6568_ver1_sub5035'''] = devclass(devices.devids['''dbtel_6568_ver1'''], '''dbtel_6568_ver1_sub5035''', '''DBTEL6568/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/5.0.3.5''', False, None) +devices.devids['''dbtel_6668_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''dbtel_6668_ver1''', '''DBTEL-6668''', True, {'''brand_name''':'''DBTEL''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':6668,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_gif''':True}) +devices.devids['''dbtel_6668_ver1_sub5035midp'''] = devclass(devices.devids['''dbtel_6668_ver1'''], '''dbtel_6668_ver1_sub5035midp''', '''DBTEL-6668 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/5.0.3.5''', False, None) +devices.devids['''dbtel_6668_ver1_sub5035'''] = devclass(devices.devids['''dbtel_6668_ver1'''], '''dbtel_6668_ver1_sub5035''', '''DBTEL6668/1.0 DBTEL-6668 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/5.0.3.5''', False, None) +devices.devids['''dbtel_6588c_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''dbtel_6588c_ver1''', '''DBTEL6588C''', False, None) +devices.devids['''dbtel_6588c_ver1_sub5035'''] = devclass(devices.devids['''dbtel_6588c_ver1'''], '''dbtel_6588c_ver1_sub5035''', '''DBTEL6588C/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/5.0.3.5''', False, None) +devices.devids['''dbtel_6669_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''dbtel_6669_ver1''', '''DBTEL6669''', False, None) +devices.devids['''dbtel_6669_ver1_sub5035'''] = devclass(devices.devids['''dbtel_6669_ver1'''], '''dbtel_6669_ver1_sub5035''', '''DBTEL6669/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/5.0.3.5''', False, None) +devices.devids['''dbtel_8036_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''dbtel_8036_ver1''', '''DBTEL8036''', False, None) +devices.devids['''dbtel_8036_ver1_sub5035'''] = devclass(devices.devids['''dbtel_8036_ver1'''], '''dbtel_8036_ver1_sub5035''', '''DBTEL8036/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/5.0.3.5''', False, None) +devices.devids['''dbtel_8038_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''dbtel_8038_ver1''', '''DBTEL-8038''', False, None) +devices.devids['''dbtel_8038_ver1_sub5035'''] = devclass(devices.devids['''dbtel_8038_ver1'''], '''dbtel_8038_ver1_sub5035''', '''DBTEL-8038 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/5.0.3.5''', False, None) +devices.devids['''dbtel_d5_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''dbtel_d5_ver1''', '''DBTELD5''', True, {'''brand_name''':'''DBTEL''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''D5'''}) +devices.devids['''dbtel_d5_ver1_sub5035'''] = devclass(devices.devids['''dbtel_d5_ver1'''], '''dbtel_d5_ver1_sub5035''', '''DBTELD5/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/5.0.3.5''', False, None) +devices.devids['''dbtel_j6_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''dbtel_j6_ver1''', '''DBTELJ6/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/5.0.3.5''', True, {'''brand_name''':'''DBTEL''','''colors''':65536,'''directdownload_support''':True,'''ems''':True,'''inline_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''J6''','''preferred_markup''':'''wml_1_2''','''receiver''':True,'''ringtone''':True,'''ringtone_voices''':64,'''sender''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_png''':True,'''wml_1_2''':True}) +devices.devids['''dbtel_t302_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''dbtel_t302_ver1''', '''DBTELT302''', False, None) +devices.devids['''dbtel_t302_ver1_sub5035'''] = devclass(devices.devids['''dbtel_t302_ver1'''], '''dbtel_t302_ver1_sub5035''', '''DBTELT302/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/5.0.3.5''', False, None) +devices.devids['''nem_1_ver1'''] = devclass(devices.devids['''generic'''], '''nem_1_ver1''', '''NEM-1''', False, None) +devices.devids['''nem_1_ver1_sub221'''] = devclass(devices.devids['''nem_1_ver1'''], '''nem_1_ver1_sub221''', '''NEM-1/1.0 (2.21) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nem_1_ver1_sub222'''] = devclass(devices.devids['''nem_1_ver1'''], '''nem_1_ver1_sub222''', '''NEM-1/1.0 (2.22) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nem_1_ver1_sub231'''] = devclass(devices.devids['''nem_1_ver1'''], '''nem_1_ver1_sub231''', '''NEM-1/1.0 (2.31) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''sendo_m550_ver1'''] = devclass(devices.devids['''generic'''], '''sendo_m550_ver1''', '''SendoM550''', True, {'''brand_name''':'''Sendo''','''ems''':True,'''max_deck_size''':200000,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''M550''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''sp_midi''':True,'''voices''':4,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sendo_m550_ver1_sub226e10'''] = devclass(devices.devids['''sendo_m550_ver1'''], '''sendo_m550_ver1_sub226e10''', '''SendoM550/226-E-10''', False, None) +devices.devids['''sendo_m550_ver1_sub550226h12'''] = devclass(devices.devids['''sendo_m550_ver1'''], '''sendo_m550_ver1_sub550226h12''', '''SendoM550/226-H-12''', False, None) +devices.devids['''sendom570_ver1'''] = devclass(devices.devids['''generic'''], '''sendom570_ver1''', '''SendoM570''', True, {'''brand_name''':'''Sendo''','''max_deck_size''':102400,'''max_image_height''':96,'''max_image_width''':128,'''model_name''':'''M570''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''sendom570_ver1_sub57000'''] = devclass(devices.devids['''sendom570_ver1'''], '''sendom570_ver1_sub57000''', '''SendoM570/00''', False, None) +devices.devids['''sendo_j530_ver1'''] = devclass(devices.devids['''generic'''], '''sendo_j530_ver1''', '''SendoJ530''', True, {'''brand_name''':'''Sendo''','''model_name''':'''J530'''}) +devices.devids['''sendo_s230_ver1'''] = devclass(devices.devids['''generic'''], '''sendo_s230_ver1''', '''SendoS230''', True, {'''brand_name''':'''Sendo''','''model_name''':'''S230'''}) +devices.devids['''sendo_s251_ver1'''] = devclass(devices.devids['''generic'''], '''sendo_s251_ver1''', '''SendoS251''', True, {'''brand_name''':'''Sendo''','''model_name''':'''S251'''}) +devices.devids['''sendo_s300_ver1'''] = devclass(devices.devids['''generic'''], '''sendo_s300_ver1''', '''SendoS300''', True, {'''brand_name''':'''Sendo''','''colors''':4096,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S300''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':4,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':67,'''wallpaper_preferred_width''':98}) +devices.devids['''sendos330_ver1'''] = devclass(devices.devids['''generic'''], '''sendos330_ver1''', '''SendoS330''', True, {'''brand_name''':'''Sendo''','''connectionless_service_indication''':True,'''ems''':True,'''max_deck_size''':32768,'''max_image_height''':50,'''model_name''':'''S330''','''resolution_height''':67,'''resolution_width''':98,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':65,'''wallpaper_preferred_width''':96,'''wap_push_support''':True}) +devices.devids['''sendos330_ver1_sub14ag02'''] = devclass(devices.devids['''sendos330_ver1'''], '''sendos330_ver1_sub14ag02''', '''SendoS330/14A-G-02''', False, None) +devices.devids['''sendos330_ver1_sub14ag3'''] = devclass(devices.devids['''sendos330_ver1'''], '''sendos330_ver1_sub14ag3''', '''SendoS330/14a-g-3.''', False, None) +devices.devids['''sendos330_ver1_sub14ag03'''] = devclass(devices.devids['''sendos330_ver1'''], '''sendos330_ver1_sub14ag03''', '''SendoS330/14A-g-03''', False, None) +devices.devids['''sendos330_ver1_sub14a_g03'''] = devclass(devices.devids['''sendos330_ver1'''], '''sendos330_ver1_sub14a_g03''', '''SendoS330/14a-g-03''', False, None) +devices.devids['''sendos360_ver1'''] = devclass(devices.devids['''generic'''], '''sendos360_ver1''', '''SendoS360''', False, None) +devices.devids['''sendos360_ver1_sub36001'''] = devclass(devices.devids['''sendos360_ver1'''], '''sendos360_ver1_sub36001''', '''SendoS360/01''', False, None) +devices.devids['''sendos600_ver1'''] = devclass(devices.devids['''generic'''], '''sendos600_ver1''', '''SendoS600''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sendo''','''colors''':65536,'''columns''':9,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':96,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''S600''','''nokia_voice_call''':True,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sendo.com/uaprof/sendo_S600_r1.0.xml''','''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_table_support''':True}) +devices.devids['''sendos600_ver1_sub02'''] = devclass(devices.devids['''sendos600_ver1'''], '''sendos600_ver1_sub02''', '''SendoS600/02''', False, {'''max_data_rate''':9}) +devices.devids['''sendos600_ver1_sub03'''] = devclass(devices.devids['''sendos600_ver1'''], '''sendos600_ver1_sub03''', '''SendoS600/03''', False, {'''max_data_rate''':9}) +devices.devids['''sendop600_ver1'''] = devclass(devices.devids['''sendos600_ver1'''], '''sendop600_ver1''', '''SendoP600''', True, {'''max_image_height''':96,'''max_image_width''':128,'''model_name''':'''P600'''}) +devices.devids['''sendos620_ver1'''] = devclass(devices.devids['''generic'''], '''sendos620_ver1''', '''SendoS620''', True, {'''brand_name''':'''Sendo''','''connectionless_service_indication''':True,'''model_name''':'''S620''','''wap_push_support''':True}) +devices.devids['''sendos620_ver1_sub62000'''] = devclass(devices.devids['''sendos620_ver1'''], '''sendos620_ver1_sub62000''', '''SendoS620/00''', False, None) +devices.devids['''sendosv663_ver1'''] = devclass(devices.devids['''generic'''], '''sendosv663_ver1''', '''SendoSV663''', True, {'''brand_name''':'''Sendo''','''model_name''':'''V663''','''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120}) +devices.devids['''sendosv663_ver1_sub00'''] = devclass(devices.devids['''sendosv663_ver1'''], '''sendosv663_ver1_sub00''', '''SendoSV663/00''', False, None) +devices.devids['''sendox_ver1'''] = devclass(devices.devids['''nokia_generic_series60'''], '''sendox_ver1''', '''SendoX''', True, {'''brand_name''':'''Sendo''','''j2me_bits_per_pixel''':16,'''j2me_btapi''':True,'''j2me_heap_size''':12582912,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''model_name''':'''X'''}) +devices.devids['''sendox_ver1_sub10'''] = devclass(devices.devids['''sendox_ver1'''], '''sendox_ver1_sub10''', '''SendoX/1.0 SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''benq_athena_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_athena_ver1''', '''BENQ-Athena''', True, {'''brand_name''':'''BenQ''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':120,'''max_image_width''':120,'''model_name''':'''Athena S830C''','''resolution_height''':160,'''resolution_width''':120}) +devices.devids['''benq_athena_ver1_sub10'''] = devclass(devices.devids['''benq_athena_ver1'''], '''benq_athena_ver1_sub10''', '''BENQ-Athena/0.1 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.5 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_ver1_sub5023'''] = devclass(devices.devids['''upgui_generic'''], '''benq_ver1_sub5023''', '''BENQ UP.Browser/5.0.2.3 (GUI)''', False, None) +devices.devids['''benq_a500_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_a500_ver1''', '''BENQ-A500''', True, {'''brand_name''':'''BenQ''','''colors''':262144,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A500''','''oma_v_1_0_forwardlock''':False,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':35,'''wallpaper_preferred_width''':96}) +devices.devids['''benq_a500_ver1_sub10'''] = devclass(devices.devids['''benq_a500_ver1'''], '''benq_a500_ver1_sub10''', '''BENQ-A500/1.00/WAP2.0/MIDP1.0/CLDC1.0 UP.Browser/6.1.0.5 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_a500_ver1_sub61078c1103'''] = devclass(devices.devids['''benq_a500_ver1'''], '''benq_a500_ver1_sub61078c1103''', '''BenQ-A500/1.00/WAP2.0/MIDP1.0/CLDC1.0 UP.Browser/6.1.0.7.8.c.1.103 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_m220_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_m220_ver1''', '''BenQ-M220''', False, None) +devices.devids['''benq_m220_ver1_sub10'''] = devclass(devices.devids['''benq_m220_ver1'''], '''benq_m220_ver1_sub10''', '''BenQ-M220/6.1.0.7 UP.Browser/6.1.0.7.8.c.1.103 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_m300_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_m300_ver1''', '''BenQ-M300''', True, {'''brand_name''':'''BenQ''','''colors''':65536,'''directdownload_support''':True,'''gif_animated''':True,'''max_image_height''':100,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''M300''','''mp3''':True,'''oma_v_1_0_forwardlock''':False,'''picture''':True,'''picture_colors''':16,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':128,'''picture_max_width''':128,'''picture_png''':True,'''picture_preferred_height''':128,'''picture_preferred_width''':128,'''picture_wbmp''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''benq_m300_ver1_sub61076100'''] = devclass(devices.devids['''benq_m300_ver1'''], '''benq_m300_ver1_sub61076100''', '''BenQ-M300/6.1.07 UP.Browser/6.1.0.7.6.100 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_m300_ver1_sub61078c1100'''] = devclass(devices.devids['''benq_m300_ver1'''], '''benq_m300_ver1_sub61078c1100''', '''BenQ-M300/6.1.0.7 UP.Browser/6.1.0.7.8.c.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_m305_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_m305_ver1''', '''BenQ-M305''', False, None) +devices.devids['''benq_m305_ver1_sub10'''] = devclass(devices.devids['''benq_m305_ver1'''], '''benq_m305_ver1_sub10''', '''BenQ-M305/6.1.0.7 UP.Browser/6.1.0.7.8.c.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_m315_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_m315_ver1''', '''BenQ-M315''', True, {'''brand_name''':'''BenQ''','''colors''':65536,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''M315''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''benq_m315_ver1_sub10'''] = devclass(devices.devids['''benq_m315_ver1'''], '''benq_m315_ver1_sub10''', '''BenQ-M315/6.1.0.7 UP.Browser/6.1.0.7.8.c.1.103 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_m350_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_m350_ver1''', '''BenQ-M350''', False, None) +devices.devids['''benq_m350_ver1_sub10'''] = devclass(devices.devids['''benq_m350_ver1'''], '''benq_m350_ver1_sub10''', '''BenQ-M350/6.1.0.7 UP.Browser/6.1.0.7.8.c.1.103 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_m580a_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''benq_m580a_ver1''', '''BenQ-M580A''', True, {'''brand_name''':'''BenQ''','''max_image_height''':140,'''max_image_width''':128,'''model_name''':'''M580A''','''resolution_height''':160,'''resolution_width''':128}) +devices.devids['''benq_m580a_ver1_sub6239e1105'''] = devclass(devices.devids['''benq_m580a_ver1'''], '''benq_m580a_ver1_sub6239e1105''', '''BenQ-M580A/1.00/WAP2.0/MIDP2.0/CLDC1.0 UP.Browser/6.2.3.9.e.1.105 (GUI)''', False, None) +devices.devids['''benq_m580a_ver1_sub6239e1105mmp20'''] = devclass(devices.devids['''benq_m580a_ver1'''], '''benq_m580a_ver1_sub6239e1105mmp20''', '''BenQ-M580A/1.00/WAP2.0/MIDP2.0/CLDC1.0 UP.Browser/6.2.3.9.e.1.105 (GUI) MMP/2.0''', False, None) +devices.devids['''benq_morpheus_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_morpheus_ver1''', '''BENQ-Morpheus''', True, {'''amr''':True,'''brand_name''':'''BenQ''','''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser_version''':'''6.2''','''model_name''':'''Morpheus''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':24,'''sp_midi''':True,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''benq_morpheus_ver1_sub10'''] = devclass(devices.devids['''benq_morpheus_ver1'''], '''benq_morpheus_ver1_sub10''', '''BENQ-Morpheus/0.1 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.5 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_morpheus_ver1_sub6235'''] = devclass(devices.devids['''benq_morpheus_ver1'''], '''benq_morpheus_ver1_sub6235''', '''BENQ-Morpheus/0.1 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.5 (GUI) MMP/2.0''', False, {'''xhtml_format_as_css_property''':True,'''xhtml_marquee_as_css_property''':True,'''xhtml_support_level''':2}) +devices.devids['''benq_morpheus_ver1_sub6236124'''] = devclass(devices.devids['''benq_morpheus_ver1_sub6235'''], '''benq_morpheus_ver1_sub6236124''', '''BENQ-Morpheus/0.1 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.3.6.124 (GUI) MMP/2.0''', False, None) +devices.devids['''benq_nike1_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_nike1_ver1''', '''BENQ-NIKE1''', True, {'''bmp''':True,'''brand_name''':'''BenQ''','''colors''':65536,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_max_size''':51200,'''model_name''':'''Nike1 S660C''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''sender''':True,'''sp_midi''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''benq_nike1_ver1_sub61076100'''] = devclass(devices.devids['''benq_nike1_ver1'''], '''benq_nike1_ver1_sub61076100''', '''BENQ-NIKE1/CLDC_1.0 UP.Browser/6.1.0.7.6.100 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_ver1'''] = devclass(devices.devids['''generic'''], '''benq_ver1''', '''BenQ P30''', True, {'''brand_name''':'''BenQ''','''colors''':262144,'''gif''':True,'''j2me_bits_per_pixel''':16,'''j2me_btapi''':True,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':12582912,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':208,'''j2me_wmapi_1_0''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''P30''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':208}) +devices.devids['''benq_ver1_subr101'''] = devclass(devices.devids['''benq_ver1'''], '''benq_ver1_subr101''', '''BenQ P30/R101 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''benq_p50_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''benq_p50_ver1''', '''BenQ P50''', True, {'''brand_name''':'''BenQ''','''model_name''':'''P50''','''wallpaper_colors''':12}) +devices.devids['''benq_p50_ver1_sub240320'''] = devclass(devices.devids['''benq_p50_ver1'''], '''benq_p50_ver1_sub240320''', '''BenQ P50 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''benq_s80_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''benq_s80_ver1''', '''BenQ-S80''', True, {'''brand_name''':'''BenQ''','''colors''':262144,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S80''','''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''benq_s80_ver1_sub20'''] = devclass(devices.devids['''benq_s80_ver1'''], '''benq_s80_ver1_sub20''', '''BenQ-S80/1.00/WAP2.0/MIDP2.0/CLDC1.1 UP.Browser/6.3.0.1.119 (GUI) MMP/2.0''', False, None) +devices.devids['''benq_s81_ver1'''] = devclass(devices.devids['''benq_s80_ver1'''], '''benq_s81_ver1''', '''BenQ-S81/1.00/WAP2.0/MIDP2.0/CLDC1.1 UP.Browser/6.3.0.3.c.4''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''BenQ''','''colors''':65536,'''columns''':24,'''compactmidi''':True,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':1000000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':512000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''S81''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':24,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://uap.benq.com/mb_s81/benq_s81_v1.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''benq_s82_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''benq_s82_ver1''', '''BenQ-S82''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''BenQ''','''colors''':65536,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S82''','''mp3''':True,'''picture''':True,'''qcelp''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''smf''':True,'''uaprof''':'''http://uap.benq.com/mb_s82/benq_S82_voda_2g.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''benq_s82_ver1_subv10'''] = devclass(devices.devids['''benq_s82_ver1'''], '''benq_s82_ver1_subv10''', '''Vodafone/1.0/BenQ-S82''', False, {'''max_data_rate''':40}) +devices.devids['''benq_s82_ver1_subv10006'''] = devclass(devices.devids['''benq_s82_ver1'''], '''benq_s82_ver1_subv10006''', '''Vodafone/1.0/BenQ-S82/0.06 Browser/Openwave/6.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.3.0.3.118(GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''benq_s500_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''benq_s500_ver1''', '''BenQ-S500''', False, None) +devices.devids['''benq_s500_ver1_sub20'''] = devclass(devices.devids['''benq_s500_ver1'''], '''benq_s500_ver1_sub20''', '''BenQ-S500/1.00/WAP2.0/MIDP2.0/CLDC1.0 UP.Browser/6.2.3.9.e.1.107 (GUI) MMP/2.0''', False, None) +devices.devids['''benq_s668c_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_s668c_ver1''', '''BENQ-S668C''', True, {'''brand_name''':'''BenQ''','''model_name''':'''S668C''','''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''benq_s668c_ver1_sub10'''] = devclass(devices.devids['''benq_s668c_ver1'''], '''benq_s668c_ver1_sub10''', '''BENQ-S668C/CLDC_1.0 UP.Browser/6.1.0.7.8.c.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_s670c_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_s670c_ver1''', '''BENQ-S670C''', True, {'''brand_name''':'''BenQ''','''colors''':65535,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S670C''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''benq_s670c_ver1_sub10'''] = devclass(devices.devids['''benq_s670c_ver1'''], '''benq_s670c_ver1_sub10''', '''BENQ-S670C/CLDC_1.0 UP.Browser/6.1.0.7.8.c.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_s680c_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_s680c_ver1''', '''BENQ-S680C''', True, {'''brand_name''':'''BenQ''','''colors''':65536,'''j2me_midp_1_0''':True,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S680C''','''picture''':True,'''picture_max_height''':128,'''picture_max_width''':128,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''voices''':40,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''benq_s680c_ver1_sub10'''] = devclass(devices.devids['''benq_s680c_ver1'''], '''benq_s680c_ver1_sub10''', '''BENQ-S680C/CLDC_1.0 UP.Browser/6.1.0.7.8.c.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_s700_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_s700_ver1''', '''BENQ-S700''', True, {'''brand_name''':'''BenQ''','''colors''':262144,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S700''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''benq_s700_ver1_sub10'''] = devclass(devices.devids['''benq_s700_ver1'''], '''benq_s700_ver1_sub10''', '''BENQ-S700/1.00/WAP2.0/MIDP2.0/CLDC1.0 UP.Browser/6.1.0.5 (GUI) MMP/1.0''', False, {'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':96,'''wallpaper_preferred_width''':35}) +devices.devids['''benq_a5001_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_a5001_ver1''', '''BENQ-A5001''', True, {'''brand_name''':'''BenQ''','''model_name''':'''A5001'''}) +devices.devids['''benq_a5001_ver1_00wap20midp10cldc10'''] = devclass(devices.devids['''benq_a5001_ver1'''], '''benq_a5001_ver1_00wap20midp10cldc10''', '''BENQA5001.00WAP2.0MIDP1.0CLDC1.0''', False, None) +devices.devids['''benq_a5001_ver1_00wap20midp10cldc106105'''] = devclass(devices.devids['''benq_a5001_ver1'''], '''benq_a5001_ver1_00wap20midp10cldc106105''', '''BENQA5001.00WAP2.0MIDP1.0CLDC1.0 UP.Browser/6.1.0.5 (GUI) MMP/1.0''', False, None) +devices.devids['''benq_s7001_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''benq_s7001_ver1''', '''BENQ-S7001''', True, {'''brand_name''':'''BenQ''','''model_name''':'''S7001'''}) +devices.devids['''benq_s7001_ver1_00wap20midp20cldc10'''] = devclass(devices.devids['''benq_s7001_ver1'''], '''benq_s7001_ver1_00wap20midp20cldc10''', '''BENQS7001.00WAP2.0MIDP2.0CLDC1.0''', False, None) +devices.devids['''benq_s7001_ver1_00wap20midp20cldc106105'''] = devclass(devices.devids['''benq_s7001_ver1'''], '''benq_s7001_ver1_00wap20midp20cldc106105''', '''BENQS7001.00WAP2.0MIDP2.0CLDC1.0 UP.Browser/6.1.0.5 (GUI) MMP/1.0''', False, None) +devices.devids['''vulcan_color_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''vulcan_color_ver1''', '''Vulcan-Color''', True, {'''bmp''':True,'''brand_name''':'''BenQ''','''max_image_height''':73,'''max_image_width''':64,'''model_name''':'''Vulcan''','''resolution_height''':98,'''resolution_width''':64,'''uaprof''':'''http://dpg.openwave.com/downloadfun/29756742/Vulcan.xml'''}) +devices.devids['''vulcan_color_ver1_sub00'''] = devclass(devices.devids['''vulcan_color_ver1'''], '''vulcan_color_ver1_sub00''', '''Vulcan-Color UP.Browser/5.0.2.3 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''benq_z2_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''benq_z2_ver1''', '''BenQ-Z2''', True, {'''brand_name''':'''BenQ''','''colors''':262144,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':100,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''Z2''','''mp3''':True,'''picture''':True,'''picture_colors''':18,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':128,'''picture_max_width''':128,'''picture_png''':True,'''picture_preferred_height''':128,'''picture_preferred_width''':128,'''picture_wbmp''':True,'''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''benq_z2_ver1_sub100'''] = devclass(devices.devids['''benq_z2_ver1'''], '''benq_z2_ver1_sub100''', '''BenQ-Z2/1.00/WAP2.0/MIDP2.0/CLDC1.0 UP.Browser/6.2.3.9 (GUI) MMP/2.0''', False, None) +devices.devids['''benq_e61_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''benq_e61_ver1''', '''BenQ-E61''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''BenQ-Siemens''','''colors''':65536,'''ems''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_data_rate''':200,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''model_name''':'''E61''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_vcodec_h263_0''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120,'''wav''':True,'''wml_1_2''':True}) +devices.devids['''benq_e61_ver1_sub_6304c'''] = devclass(devices.devids['''benq_e61_ver1'''], '''benq_e61_ver1_sub_6304c''', '''BenQ-E61/1.00/WAP2.0 UP.Browser/6.3.0.4.c.1.102 (GUI) MMP/2.0''', False, None) +devices.devids['''benq_e81_ver1'''] = devclass(devices.devids['''generic'''], '''benq_e81_ver1''', '''BenQ-E81''', True, {'''bmp''':True,'''brand_name''':'''BenQ-Siemens''','''colors''':262144,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_image_height''':176,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''E81''','''mp3''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''birda120_ver1'''] = devclass(devices.devids['''generic'''], '''birda120_ver1''', '''BIRD.A120''', False, None) +devices.devids['''birda120_ver1_sub121'''] = devclass(devices.devids['''birda120_ver1'''], '''birda120_ver1_sub121''', '''BIRD.A120 AU.Browser/1.2.1''', False, None) +devices.devids['''bird_s570_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''bird_s570_ver1''', '''Bird-S570''', False, None) +devices.devids['''bird_s570_ver1_sub10'''] = devclass(devices.devids['''bird_s570_ver1'''], '''bird_s570_ver1_sub10''', '''Bird-S570/6.1.0.7 UP.Browser/6.1.0.7.8.c.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''birds580_ver1'''] = devclass(devices.devids['''generic'''], '''birds580_ver1''', '''BIRD.S580''', False, None) +devices.devids['''birds580_ver1_sub580303121'''] = devclass(devices.devids['''birds580_ver1'''], '''birds580_ver1_sub580303121''', '''BIRD.S580/3.03/WAP1.2.1''', False, None) +devices.devids['''birds689_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''birds689_ver1''', '''Bird.S689''', False, None) +devices.devids['''birds689_ver1_subk03mk'''] = devclass(devices.devids['''birds689_ver1'''], '''birds689_ver1_subk03mk''', '''Bird.S689/K03,MK/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.d.3.100 (GUI) MMP/1.0''', False, None) +devices.devids['''bird_s789_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''bird_s789_ver1''', '''Bird.S789+''', False, None) +devices.devids['''bird_s789_ver1_sub10'''] = devclass(devices.devids['''bird_s789_ver1'''], '''bird_s789_ver1_sub10''', '''Bird.S789+/KQ3,U01/WAP2.0/MIDP-2.0/CLDC-1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.d.5.100 (GUI) MMP/1.0''', False, None) +devices.devids['''bird_sc14_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''bird_sc14_ver1''', '''BIRD.SC14''', False, None) +devices.devids['''bird_sc14_ver1_sub10'''] = devclass(devices.devids['''bird_sc14_ver1'''], '''bird_sc14_ver1_sub10''', '''BIRD.SC14 MO130m-128x160/1.1 UP.Browser/6.1.0.6.1.c.4 (GUI) MMP/1.0''', False, None) +devices.devids['''bird_sc24_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''bird_sc24_ver1''', '''BIRD.SC24''', False, None) +devices.devids['''bird_sc24_ver1_sub10'''] = devclass(devices.devids['''bird_sc24_ver1'''], '''bird_sc24_ver1_sub10''', '''BIRD.SC24 MO130m-128x160/1.1 UP.Browser/6.1.0.6.1.c.4 (GUI) MMP/1.0''', False, None) +devices.devids['''bird_sm10_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''bird_sm10_ver1''', '''Bird.SM10''', False, None) +devices.devids['''bird_sm10_ver1_sub10'''] = devclass(devices.devids['''bird_sm10_ver1'''], '''bird_sm10_ver1_sub10''', '''Bird.SM10/KN3,LB/WAP1.2.1 UP.Browser/6.1.0.6.1.c.4 (GUI) MMP/1.0''', False, None) +devices.devids['''birdv59_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''birdv59_ver1''', '''BIRD.V59''', False, None) +devices.devids['''birdv59_ver1_sub10'''] = devclass(devices.devids['''birdv59_ver1'''], '''birdv59_ver1_sub10''', '''BIRD.V59 MASV3-128x160/1.1 UP.Browser/6.1.0.6.1.c.4 (GUI) MMP/1.0''', False, None) +devices.devids['''bird_v007_ver1'''] = devclass(devices.devids['''generic'''], '''bird_v007_ver1''', '''BIRD-V007''', False, None) +devices.devids['''bird_v007_ver1_sub00'''] = devclass(devices.devids['''bird_v007_ver1'''], '''bird_v007_ver1_sub00''', '''BIRD-V007/SW1.1.0/WAP1.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0/Handset WAP''', False, None) +devices.devids['''birdv89_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''birdv89_ver1''', '''Bird.V89''', False, None) +devices.devids['''birdv89_ver1_sub10'''] = devclass(devices.devids['''birdv89_ver1'''], '''birdv89_ver1_sub10''', '''Bird.V89/KK3,LA/WAP1.2.1 UP.Browser/6.1.0.6.1.c.4 (GUI) MMP/1.0''', False, None) +devices.devids['''mtp1_ver1_sub4120'''] = devclass(devices.devids['''uptext_generic'''], '''mtp1_ver1_sub4120''', '''MTP1 UP/4.1.20a UP.Browser/4.1.20a-XXXX''', False, None) +devices.devids['''qci_yacht_skiff_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''qci_yacht_skiff_ver1''', '''QCI-01/1.0 UP.Browser/4''', True, {'''brand_name''':'''QCI''','''model_name''':'''OPWV 4'''}) +devices.devids['''qci_ce1_ver1'''] = devclass(devices.devids['''qci_yacht_skiff_ver1'''], '''qci_ce1_ver1''', '''QCI-11/1.0 UP.Browser/4''', False, None) +devices.devids['''qci_av1_ver1'''] = devclass(devices.devids['''qci_yacht_skiff_ver1'''], '''qci_av1_ver1''', '''QCI-12/1.0 UP.Browser/4''', False, None) +devices.devids['''qci_12_ver1_sub4123g'''] = devclass(devices.devids['''qci_av1_ver1'''], '''qci_12_ver1_sub4123g''', '''QCI-12/1.0 UP.Browser/4.1.23g''', False, None) +devices.devids['''qci_ferry_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''qci_ferry_ver1''', '''QCI-21/1.0 UP.Browser/5''', True, {'''brand_name''':'''QCI''','''model_name''':'''OPWV 5'''}) +devices.devids['''qci_ce2_ver1'''] = devclass(devices.devids['''qci_ferry_ver1'''], '''qci_ce2_ver1''', '''QCI-22/1.0 UP.Browser/5''', False, None) +devices.devids['''qci_dg1_ver1'''] = devclass(devices.devids['''qci_ferry_ver1'''], '''qci_dg1_ver1''', '''QCI-23/1.0 UP.Browser/5''', False, None) +devices.devids['''qci_dg1_ver1_sub5025'''] = devclass(devices.devids['''qci_dg1_ver1'''], '''qci_dg1_ver1_sub5025''', '''QCI-23/1.0 UP.Browser/5.0.2.5 (GUI)''', False, None) +devices.devids['''qci_24_ver1'''] = devclass(devices.devids['''qci_ferry_ver1'''], '''qci_24_ver1''', '''QCI-24/1.0 UP.Browser/5''', False, None) +devices.devids['''qci_24_ver1_sub5025'''] = devclass(devices.devids['''qci_24_ver1'''], '''qci_24_ver1_sub5025''', '''QCI-24/1.0 UP.Browser/5.0.2.5 (GUI)''', False, None) +devices.devids['''qci_31_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''qci_31_ver1''', '''QCI-31''', True, {'''brand_name''':'''QCI''','''max_deck_size''':51200,'''model_name''':'''OPWV 6''','''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''qci_31_ver1_sub6106d2100'''] = devclass(devices.devids['''qci_31_ver1'''], '''qci_31_ver1_sub6106d2100''', '''QCI-31/1.0 UP.Browser/6.1.0.6.d.2.100 (GUI)MMP/1.0''', False, None) +devices.devids['''qci_ve2_ver1'''] = devclass(devices.devids['''qci_31_ver1'''], '''qci_ve2_ver1''', '''QCI-32/1.0 UP.Browser/6''', False, None) +devices.devids['''voxtel_rx200_ver1'''] = devclass(devices.devids['''generic'''], '''voxtel_rx200_ver1''', '''http://www.voxtel.ru/UAProf/Voxtel_RX200_UAProf.xml''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Voxtel''','''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':261120,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''RX200''','''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://www.voxtel.ru/UAProf/Voxtel_RX200_UAProf.xml''','''voices''':16,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True}) +devices.devids['''voxtel_r310_ver1'''] = devclass(devices.devids['''generic'''], '''voxtel_r310_ver1''', '''http://www.voxtel.ru/UAProf/Voxtel_V310.xml''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Voxtel''','''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''V310''','''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://www.voxtel.ru/UAProf/Voxtel_V310.xml''','''voices''':40,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''voxtel_rx100_ver1'''] = devclass(devices.devids['''generic'''], '''voxtel_rx100_ver1''', '''http://www.voxtel.ru/UAProf/Voxtel_RX100_UAProf.xml''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Voxtel''','''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_max_height''':160,'''mms_max_size''':261120,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''RX100''','''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://www.voxtel.ru/UAProf/Voxtel_RX100_UAProf.xml''','''voices''':16,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''voxtel_rx600_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''voxtel_rx600_ver1''', '''RX600/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 MIDP-2.0/CLDC-1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Voxtel''','''colors''':65536,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':50000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''RX600''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.voxtel.ru/UAProf/Voxtel_rx600.xml''','''video''':True,'''video_3gpp''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''voxtel_v100_ver1'''] = devclass(devices.devids['''generic'''], '''voxtel_v100_ver1''', '''http://www.voxtel.ru/UAProf/Voxtel_v100.xml''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Voxtel''','''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_screen_height''':192,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':172,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':150,'''mms_max_size''':102400,'''mms_max_width''':170,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''V100''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':192,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://www.voxtel.ru/UAProf/Voxtel_v100.xml''','''voices''':64,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''voxtel_v300_ver1'''] = devclass(devices.devids['''generic'''], '''voxtel_v300_ver1''', '''http://www.voxtel.ru/UAProf/Voxtel_v300.xml''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Voxtel''','''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':261120,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''V300''','''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://www.voxtel.ru/UAProf/Voxtel_v300.xml''','''voices''':40,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True}) +devices.devids['''voxtel_bd40_ver1'''] = devclass(devices.devids['''generic'''], '''voxtel_bd40_ver1''', '''http://www.voxtel.ru/UAProf/Voxtel_BD40.xml''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Voxtel''','''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''BD40''','''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://www.voxtel.ru/UAProf/Voxtel_BD40.xml''','''voices''':40,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''voxtel_v50_ver1'''] = devclass(devices.devids['''generic'''], '''voxtel_v50_ver1''', '''http://www.voxtel.ru/UAProf/Voxtel_v50.xml''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Voxtel''','''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':261120,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''V50''','''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://www.voxtel.ru/UAProf/Voxtel_v50.xml''','''voices''':40,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''bw_up200_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''bw_up200_ver1''', '''BW-UP200 TMT/WAP 2.0 MIDP-2.0/CLDC-1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Voxtel''','''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''UP200''','''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.voxtel.ru/UAProf/Voxtel_v350.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''bw_up300ve_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''bw_up300ve_ver1''', '''BW-UP300VE OBIGO/WAP 2.0 MIDP-2.0/CLDC-1.0''', True, {'''amr''':True,'''ascii_support''':True,'''brand_name''':'''UTStarcom''','''colors''':65536,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''https_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':150,'''max_image_width''':123,'''midi_monophonic''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_png''':True,'''model_name''':'''GPRS778''','''picture_max_height''':160,'''picture_max_width''':128,'''picture_preferred_height''':160,'''picture_preferred_width''':128,'''png''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_wav''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''uaprof''':'''http://www.bellwave.co.uk/uaprof/UAProfile_GPRS778.xml''','''utf8_support''':True,'''video_max_height''':160,'''video_max_width''':128,'''video_preferred_height''':160,'''video_preferred_width''':128,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_table_support''':True}) +devices.devids['''utstarcom_pcs-1400_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''utstarcom_pcs-1400_ver1''', '''UTSTARCOM-PCS-1400VM/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''brand_name''':'''UTStarcom''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''model_name''':'''Slice PCS-1400'''}) +devices.devids['''a_ver1_sub10'''] = devclass(devices.devids['''opwv_v62_generic'''], '''a_ver1_sub10''', '''A WANG-A618/1.0 UP.Browser/6.2.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''utstar7075_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''utstar7075_ver1''', '''utstar7075 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''brand_name''':'''UTStarcom''','''model_name''':'''7075 (Verizon)''','''uaprof''':'''http://uaprof.vtext.com/utstar/7075/7075v1.xml'''}) +devices.devids['''utstargz1s_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''utstargz1s_ver1''', '''utstargz1s/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''brand_name''':'''UTStarcom''','''max_data_rate''':9,'''model_name''':'''G'zOne Type-S''','''uaprof''':'''http://uaprof.vtext.com/utstar/gz1s/gz1sv1.xml'''}) +devices.devids['''acer_pro80_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''acer_pro80_ver1''', '''ACER-Pro80''', True, {'''brand_name''':'''Acer''','''model_name''':'''Pro80'''}) +devices.devids['''acer_pro80_ver1_sub102'''] = devclass(devices.devids['''acer_pro80_ver1'''], '''acer_pro80_ver1_sub102''', '''ACER-Pro80/1.02 UP/4.1.20i UP.Browser/4.1.20i-XXXX''', False, None) +devices.devids['''aiko_s1160_ver1'''] = devclass(devices.devids['''generic'''], '''aiko_s1160_ver1''', '''Aiko S1160''', True, {'''brand_name''':'''Aiko''','''model_name''':'''S1160'''}) +devices.devids['''airness_air99_ver1'''] = devclass(devices.devids['''generic'''], '''airness_air99_ver1''', '''AIRNESS-AIR99''', True, {'''bmp''':True,'''brand_name''':'''Airness''','''colors''':16777216,'''columns''':16,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':5120,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''Air99''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://www.airnessmobile.com/uaprof/Airness-Air99.xml''','''wallpaper_colors''':24,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''airness_air99_ver1_sub221_pebble'''] = devclass(devices.devids['''airness_air99_ver1'''], '''airness_air99_ver1_sub221_pebble''', '''MODELABS-PEBBLE/REV 2.2.1/Teleca Q03B1''', False, {'''max_data_rate''':40}) +devices.devids['''airness_air99_ver1_sub221'''] = devclass(devices.devids['''airness_air99_ver1'''], '''airness_air99_ver1_sub221''', '''AIRNESS-AIR99/REV 2.2.1/Teleca Q03B1''', False, {'''max_data_rate''':40}) +devices.devids['''airness_slide99_ver1'''] = devclass(devices.devids['''generic'''], '''airness_slide99_ver1''', '''SLIDE99''', True, {'''bmp''':True,'''brand_name''':'''Airness''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_image_height''':144,'''max_image_width''':176,'''model_name''':'''slide99''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''uaprof''':'''http://www.airnessmobile.com/uaprof/slide99.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''alav_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''alav_ver1''', '''ALAV UP/4''', False, None) +devices.devids['''alav_ver1_sub407'''] = devclass(devices.devids['''alav_ver1'''], '''alav_ver1_sub407''', '''ALAV UP/4.0.7''', False, None) +devices.devids['''alav_ver1_sub4010xxxx'''] = devclass(devices.devids['''alav_ver1'''], '''alav_ver1_sub4010xxxx''', '''ALAV UP/4.0.10 UP.Browser/4.0.10-XXXX''', False, None) +devices.devids['''alav_ver1_sub4120xxxx'''] = devclass(devices.devids['''alav_ver1'''], '''alav_ver1_sub4120xxxx''', '''ALAV UP/4.1.20a UP.Browser/4.1.20a-XXXX''', False, None) +devices.devids['''amoisonic_9201_ver1'''] = devclass(devices.devids['''generic'''], '''amoisonic_9201_ver1''', '''Amoi/9201''', True, {'''bmp''':True,'''brand_name''':'''Amoisonic''','''colors''':65536,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_image_height''':190,'''max_image_width''':168,'''model_name''':9201,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''video''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':200,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':200,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True}) +devices.devids['''amoisonic_9201_ver1_subv80'''] = devclass(devices.devids['''amoisonic_9201_ver1'''], '''amoisonic_9201_ver1_subv80''', '''Amoi/9201/Plat-EMP/WAP2.0/MIDP2.0/CLDC1.0-V8.0''', False, None) +devices.devids['''amoisonic_a90_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''amoisonic_a90_ver1''', '''Amoisonic-A90''', True, {'''brand_name''':'''Amoisonic''','''model_name''':'''A90'''}) +devices.devids['''amoisonic_a90_ver1_sub00'''] = devclass(devices.devids['''amoisonic_a90_ver1'''], '''amoisonic_a90_ver1_sub00''', '''Amoisonic-A90/1.0 UP.Browser/5.0.3.2 (GUI)''', False, None) +devices.devids['''amoi_a310_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''amoi_a310_ver1''', '''Amoi-A310''', False, None) +devices.devids['''amoi_a310_ver1_sub10'''] = devclass(devices.devids['''amoi_a310_ver1'''], '''amoi_a310_ver1_sub10''', '''Amoi-A310/Plat-F-VIM/WAP2.0/MIDP1.0/CLDC1.0 UP.Browser/6.2.2.7.c.1.102 (GUI) MMP/1.0''', False, None) +devices.devids['''amoi_a320_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''amoi_a320_ver1''', '''Amoi-A320''', False, None) +devices.devids['''amoi_a320_ver1_sub10'''] = devclass(devices.devids['''amoi_a320_ver1'''], '''amoi_a320_ver1_sub10''', '''Amoi-A320/Plat-F-VIM/WAP2.0 UP.Browser/6.2.2.7.c.1.102 (GUI) MMP/1.0''', False, None) +devices.devids['''amoi_a500_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''amoi_a500_ver1''', '''Amoi-A500''', True, {'''brand_name''':'''Amoi''','''max_image_height''':144,'''max_image_width''':170,'''model_name''':'''A500''','''resolution_height''':220,'''resolution_width''':176,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''amoi_a500_ver1_sub32'''] = devclass(devices.devids['''amoi_a500_ver1'''], '''amoi_a500_ver1_sub32''', '''Amoi A500/R5.0 NF-Browser/3.2''', False, None) +devices.devids['''amoi_d85_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''amoi_d85_ver1''', '''Amoi-D85''', False, None) +devices.devids['''amoi_d85_ver1_sub10'''] = devclass(devices.devids['''amoi_d85_ver1'''], '''amoi_d85_ver1_sub10''', '''Amoi-D85/Plat-F/WAP2.0/MIDP1.0/CLDC1.0 UP.Browser/6.2.2.7.c.1.101 (GUI) MMP/1.0''', False, None) +devices.devids['''amoi_d89_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''amoi_d89_ver1''', '''Amoi-D89''', False, None) +devices.devids['''amoi_d89_ver1_sub10'''] = devclass(devices.devids['''amoi_d89_ver1'''], '''amoi_d89_ver1_sub10''', '''Amoi-D89/Plat-F/WAP2.0/MIDP1.0/CLDC1.0 UP.Browser/6.2.2.7.c.1.101 (GUI) MMP/1.0''', False, None) +devices.devids['''amoi_da8_ver1'''] = devclass(devices.devids['''generic'''], '''amoi_da8_ver1''', '''Amoi-DA8''', False, None) +devices.devids['''amoi_da8_ver1_sub10'''] = devclass(devices.devids['''amoi_da8_ver1'''], '''amoi_da8_ver1_sub10''', '''Amoi-DA8/1.0''', False, None) +devices.devids['''amoi_f8_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''amoi_f8_ver1''', '''Amoi-F8''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Amoi''','''colors''':65536,'''columns''':10,'''gif_animated''':True,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''F8''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':40,'''rows''':8,'''sp_midi''':True,'''uaprof''':'''http://www.amobile.com.cn/ua/F8.xml''','''voices''':40,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''amoi_f8_ver1_sub6227c1101'''] = devclass(devices.devids['''amoi_f8_ver1'''], '''amoi_f8_ver1_sub6227c1101''', '''Amoi-F8/Plat-F/WAP2.0/MIDP1.0/CLDC1.0 UP.Browser/6.2.2.7.c.1.101 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''amoi_f8_ver1_sub6227c1102'''] = devclass(devices.devids['''amoi_f8_ver1'''], '''amoi_f8_ver1_sub6227c1102''', '''Amoi-F8/Plat-F/WAP2.0/MIDP1.0/CLDC1.0 UP.Browser/6.2.2.7.c.1.102 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''amoisonic_f9_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''amoisonic_f9_ver1''', '''Amoisonic-F9''', True, {'''brand_name''':'''Amoisonic''','''model_name''':'''F9'''}) +devices.devids['''amoisonic_f9_ver1_sub10'''] = devclass(devices.devids['''amoisonic_f9_ver1'''], '''amoisonic_f9_ver1_sub10''', '''Amoisonic-F9/1.0 UP.Browser/6.2.2.1.250 (GUI) MMP/1.0''', False, None) +devices.devids['''amoi_f90_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''amoi_f90_ver1''', '''Amoi-F90''', False, None) +devices.devids['''amoi_f90_ver1_sub10'''] = devclass(devices.devids['''amoi_f90_ver1'''], '''amoi_f90_ver1_sub10''', '''Amoi-F90/Plat-F/WAP2.0/MIDP1.0/CLDC1.0 UP.Browser/6.2.2.7.c.1.101 (GUI) MMP/1.0''', False, None) +devices.devids['''amoisonic_f99_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''amoisonic_f99_ver1''', '''Amoisonic-F99''', True, {'''brand_name''':'''Amoisonic''','''model_name''':'''F99'''}) +devices.devids['''amoisonic_f99_ver1_sub00'''] = devclass(devices.devids['''amoisonic_f99_ver1'''], '''amoisonic_f99_ver1_sub00''', '''Amoisonic-F99/1.0 UP.Browser/5.0.3.2 (GUI)''', False, None) +devices.devids['''amoi_a9b_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''amoi_a9b_ver1''', '''Amoi-A9B''', True, {'''brand_name''':'''Amoi''','''model_name''':'''A9B'''}) +devices.devids['''amoi_a9b_ver1_sub10'''] = devclass(devices.devids['''amoi_a9b_ver1'''], '''amoi_a9b_ver1_sub10''', '''Amoi-A9B/1.0 UP.Browser/6.2.2.6.f.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''amoi_ca6_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''amoi_ca6_ver1''', '''Amoi-CA6''', True, {'''bmp''':True,'''brand_name''':'''Amoi''','''colors''':65536,'''columns''':14,'''gif_animated''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''CA6''','''resolution_height''':160,'''resolution_width''':128,'''rows''':8,'''sp_midi''':True,'''uaprof''':'''http://www.amobile.com.cn/ua/CA6.xml''','''voices''':40}) +devices.devids['''amoi_ca6_ver1_sub10'''] = devclass(devices.devids['''amoi_ca6_ver1'''], '''amoi_ca6_ver1_sub10''', '''Amoi-CA6/1.0 UP.Browser/6.2.2.6.f.1.100 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''amoi_cs6_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''amoi_cs6_ver1''', '''Amoi-CS6''', True, {'''bmp''':True,'''brand_name''':'''Amoi''','''colors''':65536,'''columns''':10,'''gif_animated''':True,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''CS6''','''resolution_height''':128,'''resolution_width''':128,'''rows''':8,'''sp_midi''':True,'''uaprof''':'''http://www.amobile.com.cn/ua/CS6.xml''','''voices''':40}) +devices.devids['''amoi_cs6_ver1_sub10'''] = devclass(devices.devids['''amoi_cs6_ver1'''], '''amoi_cs6_ver1_sub10''', '''Amoi-CS6/1.0 UP.Browser/6.2.2.6.f.1.100 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''amoi_m636_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''amoi_m636_ver1''', '''Amoi-M636''', True, {'''bmp''':True,'''brand_name''':'''Amoi''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_image_height''':144,'''max_image_width''':176,'''model_name''':'''M636''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''uaprof''':'''http://www.amobile.com.cn/ua/M636.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''amoi_m636_ver1_sub6238c1101'''] = devclass(devices.devids['''amoi_m636_ver1'''], '''amoi_m636_ver1_sub6238c1101''', '''Amoi-M636/Plat-V-VIM/WAP2.0 UP.Browser/6.2.3.8.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''amoi_s6_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''amoi_s6_ver1''', '''Amoi-S6''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Amoi''','''colors''':65536,'''columns''':10,'''gif''':True,'''gif_animated''':True,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''C6''','''resolution_height''':128,'''resolution_width''':128,'''rows''':8,'''sp_midi''':True,'''uaprof''':'''http://www.amobile.com.cn/ua/S6.xml''','''voices''':40}) +devices.devids['''amoi_s6_ver1_sub00'''] = devclass(devices.devids['''amoi_s6_ver1'''], '''amoi_s6_ver1_sub00''', '''Amoi-S6/1.0 UP.Browser/5.0.3.2 (GUI)''', False, {'''max_data_rate''':40}) +devices.devids['''amoi_v600_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''amoi_v600_ver1''', '''Amoi-V600''', True, {'''brand_name''':'''Amoi''','''model_name''':'''V600'''}) +devices.devids['''amoi_v600_ver1_sub10'''] = devclass(devices.devids['''amoi_v600_ver1'''], '''amoi_v600_ver1_sub10''', '''Amoi-V600/1.0 UP.Browser/6.2.2.6.f.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''asus_galaxyii_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''asus_galaxyii_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) ASUS-GalaxyII/1.0''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''brand_name''':'''Asus''','''colors''':65536,'''columns''':16,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':3000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''GalaxyII''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':36,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprofile.asus.com/uaprof/ASUS-GalaxyII-1.0.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''asus_j100_ver1'''] = devclass(devices.devids['''generic'''], '''asus_j100_ver1''', '''ASUS-J100''', True, {'''brand_name''':'''Asus''','''directdownload_support''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''J100''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''sp_midi''':True,'''voices''':16,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1,'''xhtml_table_support''':True}) +devices.devids['''asus_j100_ver1_submidp10'''] = devclass(devices.devids['''asus_j100_ver1'''], '''asus_j100_ver1_submidp10''', '''ASUS-J100/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''asus_j101_ver1'''] = devclass(devices.devids['''generic'''], '''asus_j101_ver1''', '''ASUS-J101''', True, {'''brand_name''':'''Asus''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''J101'''}) +devices.devids['''asus_j101_ver1_submidp10'''] = devclass(devices.devids['''asus_j101_ver1'''], '''asus_j101_ver1_submidp10''', '''ASUS-J101/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''asus_j102_ver1'''] = devclass(devices.devids['''generic'''], '''asus_j102_ver1''', '''ASUS-J102''', True, {'''brand_name''':'''Asus''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''J102'''}) +devices.devids['''asus_j102_ver1_sub10'''] = devclass(devices.devids['''asus_j102_ver1'''], '''asus_j102_ver1_sub10''', '''ASUS-J102/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''asus_m303_ver1'''] = devclass(devices.devids['''generic'''], '''asus_m303_ver1''', '''ASUS-M303''', False, None) +devices.devids['''asus_m303_ver1_submidp10'''] = devclass(devices.devids['''asus_m303_ver1'''], '''asus_m303_ver1_submidp10''', '''ASUS-M303/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''asus_p505_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''asus_p505_ver1''', '''ASUS-P505''', True, {'''brand_name''':'''Asus''','''model_name''':'''P505''','''wallpaper_colors''':12}) +devices.devids['''asus_p505_ver1_sub40'''] = devclass(devices.devids['''asus_p505_ver1'''], '''asus_p505_ver1_sub40''', '''ASUS-P505/ (compatible; MSIE 4.01; Windows CE; PPC; 240x320; ASUS-P505; Mozilla; Mozilla 4.0)''', False, None) +devices.devids['''becker_op_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''becker_op_ver1''', '''BECKER-OP''', False, None) +devices.devids['''becker_op_ver1_sub4124'''] = devclass(devices.devids['''becker_op_ver1'''], '''becker_op_ver1_sub4124''', '''BECKER-OP/10.41 UP.Browser/4.1.24c''', False, None) +devices.devids['''becker_dcw2111h_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''becker_dcw2111h_ver1''', '''Becker-DCW2111H''', False, None) +devices.devids['''becker_dcw2111h_ver1_sub1041'''] = devclass(devices.devids['''becker_dcw2111h_ver1'''], '''becker_dcw2111h_ver1_sub1041''', '''Becker-DCW2111H/10.41 UP.Browser/4.1.24c''', False, None) +devices.devids['''becker_dcw2112h_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''becker_dcw2112h_ver1''', '''Becker-DCW2112H''', False, None) +devices.devids['''becker_dcw2112h_ver1_subaz41'''] = devclass(devices.devids['''becker_dcw2112h_ver1'''], '''becker_dcw2112h_ver1_subaz41''', '''Becker-DCW2112H/Az.41 UP.Browser/4.1.24c''', False, None) +devices.devids['''becker_dcw2113h_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''becker_dcw2113h_ver1''', '''Becker-DCW2113H''', False, None) +devices.devids['''becker_dcw2113h_ver1_subaz41'''] = devclass(devices.devids['''becker_dcw2113h_ver1'''], '''becker_dcw2113h_ver1_subaz41''', '''Becker-DCW2113H/Az.41 UP.Browser/4.1.24c''', False, None) +devices.devids['''becker_dcw2402h_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''becker_dcw2402h_ver1''', '''Becker-DCW2402H''', False, None) +devices.devids['''becker_dcw2402h_ver1_subbg41'''] = devclass(devices.devids['''becker_dcw2402h_ver1'''], '''becker_dcw2402h_ver1_subbg41''', '''Becker-DCW2402H/BG.41 UP.Browser/4.1.24c''', False, None) +devices.devids['''birda150_ver1'''] = devclass(devices.devids['''generic'''], '''birda150_ver1''', '''BIRD.A150''', False, None) +devices.devids['''birda150_ver1_sub031120'''] = devclass(devices.devids['''birda150_ver1'''], '''birda150_ver1_sub031120''', '''BIRD.A150 wxd.Mms/0311.20''', False, None) +devices.devids['''birdg118_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''birdg118_ver1''', '''BIRD.G118''', False, None) +devices.devids['''birdg118_ver1_sub10'''] = devclass(devices.devids['''birdg118_ver1'''], '''birdg118_ver1_sub10''', '''BIRD.G118 MO130m-128x160/1.1 UP.Browser/6.1.0.6.1.c.4 (GUI) MMP/1.0''', False, None) +devices.devids['''bw_ne100_tmt'''] = devclass(devices.devids['''generic'''], '''bw_ne100_tmt''', '''BW-NEO100 TMT''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Lobster''','''colors''':262144,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':485,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://www.bellwave.co.uk/uaprof/Neo100.xml''','''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':1}) +devices.devids['''bellwave_neo200_mt_ver1'''] = devclass(devices.devids['''generic'''], '''bellwave_neo200_mt_ver1''', '''BELLWAVE_NEO200_MT''', False, None) +devices.devids['''capitel_c8188_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''capitel_c8188_ver1''', '''Capitel-C8188''', True, {'''brand_name''':'''Capitel''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''model_name''':'''C8188'''}) +devices.devids['''capitel_c8188_ver1_sub10'''] = devclass(devices.devids['''capitel_c8188_ver1'''], '''capitel_c8188_ver1_sub10''', '''Capitel-C8188/1.4 CLDC/CLDC-1.0 MIDP/MIDP-1.0 UP.Browser/6.2.2.6.f.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''capitel_f600_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''capitel_f600_ver1''', '''Capitel-F600''', True, {'''brand_name''':'''Capitel''','''model_name''':'''F600'''}) +devices.devids['''capitel_f600_ver1_sub10'''] = devclass(devices.devids['''capitel_f600_ver1'''], '''capitel_f600_ver1_sub10''', '''Capitel-F600/1.4 UP.Browser/6.2.2.7.c.1.101 (GUI) MMP/1.0''', False, None) +devices.devids['''dc_s40p_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''dc_s40p_ver1''', '''DC-S40P''', False, None) +devices.devids['''dc_s40p_ver1_sub4124'''] = devclass(devices.devids['''dc_s40p_ver1'''], '''dc_s40p_ver1_sub4124''', '''DC-S40P/10.41 UP.Browser/4.1.24c''', False, None) +devices.devids['''dicam_t905_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''dicam_t905_ver1''', '''DICAM-T905''', False, None) +devices.devids['''dicam_t905_ver1_sub10'''] = devclass(devices.devids['''dicam_t905_ver1'''], '''dicam_t905_ver1_sub10''', '''DICAM-T905/1.0+UP.Browser/6.2.2.6+Profile/MIDP-1.0+Configuration/CLDC-1.0 UP.Browser/6.2.2.6.f.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''ds_d990_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''ds_d990_ver1''', '''DS-D990''', False, None) +devices.devids['''ds_d990_ver1_sub10'''] = devclass(devices.devids['''ds_d990_ver1'''], '''ds_d990_ver1_sub10''', '''DS-D990/1.4 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.3 (GUI) MMP/1.0''', False, None) +devices.devids['''el490_ver1'''] = devclass(devices.devids['''generic'''], '''el490_ver1''', '''EL490/2.0 (03.15)''', True, {'''aac''':True,'''amr''':True,'''ascii_support''':True,'''brand_name''':'''Elson''','''colors''':65536,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''https_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':160,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':118,'''max_image_width''':155,'''midi_monophonic''':True,'''mms_max_height''':1024,'''mms_max_size''':71680,'''mms_max_width''':1280,'''mms_png''':True,'''model_name''':'''EL490''','''mp3''':True,'''picture_max_height''':128,'''picture_max_width''':160,'''picture_preferred_height''':128,'''picture_preferred_width''':160,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':160,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':7,'''screensaver_max_height''':128,'''screensaver_max_width''':160,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':160,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/EL490.xml''','''utf8_support''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_max_height''':128,'''video_max_width''':160,'''video_mp4''':True,'''video_preferred_height''':128,'''video_preferred_width''':160,'''wallpaper_max_height''':128,'''wallpaper_max_width''':160,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':160,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_table_support''':True}) +devices.devids['''haier_m1000_ver1'''] = devclass(devices.devids['''generic'''], '''haier_m1000_ver1''', '''Haier-M1000''', True, {'''amr''':True,'''brand_name''':'''Haier''','''colors''':65536,'''columns''':12,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''M1000''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''rows''':8,'''sender''':True,'''table_support''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''haier_m1000_ver1_sub10'''] = devclass(devices.devids['''haier_m1000_ver1'''], '''haier_m1000_ver1_sub10''', '''Haier-M1000 / Obigo Browser 2.0''', False, None) +devices.devids['''haier_v100_ver1'''] = devclass(devices.devids['''generic'''], '''haier_v100_ver1''', '''HAIER-V100 ObigoInternetBrowser/2.0''', True, {'''bmp''':True,'''brand_name''':'''Haier''','''colors''':65536,'''connectionless_service_indication''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''gif''':True,'''jpg''':True,'''max_image_height''':96,'''max_image_width''':128,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''V100''','''resolution_height''':128,'''resolution_width''':128,'''wap_push_support''':True}) +devices.devids['''haier_p7_ver1'''] = devclass(devices.devids['''generic'''], '''haier_p7_ver1''', '''Haier-P7''', True, {'''brand_name''':'''Haier''','''colors''':65536,'''html_wi_w3_xhtmlbasic''':True,'''max_image_height''':108,'''max_image_width''':64,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''P7''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':128,'''resolution_width''':64,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''voices''':40,'''wallpaper_colors''':16,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''haier_t10c_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''haier_t10c_ver1''', '''Haier-T10C/1.0 iPanel/2.0 WAP2.0 (compatible; UP.Browser/6.2.2.4; UPG1; UP/4.0; Embedded)''', True, {'''brand_name''':'''Haier''','''model_name''':'''T10C''','''uaprof''':'''http://uaprof.uni-wise.com/uaprof/Haier/Haier-T10C.xml'''}) +devices.devids['''huawei_u120_ver1'''] = devclass(devices.devids['''generic'''], '''huawei_u120_ver1''', '''Huawei/1.0/U120/B128 Browser/Obigo-Browser/Q04A MMS/Obigo-MMS/Q04A SyncML/HW-SyncML/1.0 Java/QVM/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Huawei''','''colors''':65536,'''columns''':11,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':150000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''U120''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':13,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap1.huawei.com/uaprof/HuaweiU120v100.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''huawei_u526_ver1'''] = devclass(devices.devids['''generic'''], '''huawei_u526_ver1''', '''Huawei-U526''', True, {'''access_key_support''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Huawei''','''built_in_back_button_support''':True,'''chtml_can_display_images_and_text_on_same_line''':True,'''chtml_displays_image_in_center''':True,'''chtml_make_phone_call_string''':'''tel:''','''chtml_table_support''':True,'''columns''':10,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''deck_prefetch_support''':True,'''directdownload_support''':True,'''expiration_date''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_imode_compact_generic''':True,'''html_wi_imode_html_1''':True,'''html_wi_imode_html_2''':True,'''html_wi_imode_html_3''':True,'''html_wi_imode_htmlx_1''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''icons_on_menu_items_support''':True,'''imelody''':True,'''inline_support''':True,'''iso8859_support''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':150000,'''max_image_height''':220,'''max_image_width''':176,'''max_length_of_password''':20,'''max_length_of_username''':32,'''max_no_of_bookmarks''':25,'''max_no_of_connection_settings''':5,'''max_url_length_bookmark''':255,'''max_url_length_cached_page''':128,'''max_url_length_homepage''':100,'''max_url_length_in_requests''':538,'''menu_with_select_element_recommended''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''U526''','''numbered_menus''':True,'''oma_v_1_0_forwardlock''':False,'''opwv_wml_extensions_support''':True,'''opwv_xhtml_extensions_support''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':12,'''picture_gif''':True,'''picture_jpg''':True,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''proportional_font''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':28,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''times_square_mode_support''':True,'''uaprof''':'''http://wap.huawei.com/uaprof/HuaweiU526v100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voicexml''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wrap_mode_support''':True,'''wta_voice_call''':True,'''xhtml_allows_disabled_form_elements''':True,'''xhtml_autoexpand_select''':True,'''xhtml_format_as_attribute''':True,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_marquee_as_css_property''':True,'''xhtml_nowrap_mode''':True,'''xhtml_support_level''':3,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_inline_input''':True,'''xhtml_supports_invisible_text''':True,'''xhtml_supports_monospace_font''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True,'''xmf''':True}) +devices.devids['''huawei_u526_ver1_sub1031'''] = devclass(devices.devids['''huawei_u526_ver1'''], '''huawei_u526_ver1_sub1031''', '''Huawei-U526/1.0 BREW/3.1 Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''huawei_u626_ver1'''] = devclass(devices.devids['''generic'''], '''huawei_u626_ver1''', '''Huawei-U626/1.0 BREW/2.1 Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''access_key_support''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Huawei''','''built_in_back_button_support''':True,'''chtml_can_display_images_and_text_on_same_line''':True,'''chtml_displays_image_in_center''':True,'''chtml_make_phone_call_string''':'''tel:''','''chtml_table_support''':True,'''colors''':65536,'''columns''':28,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''deck_prefetch_support''':True,'''directdownload_support''':True,'''expiration_date''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_imode_compact_generic''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''icons_on_menu_items_support''':True,'''imelody''':True,'''inline_support''':True,'''iso8859_support''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':150000,'''max_image_height''':300,'''max_image_width''':240,'''max_length_of_password''':20,'''max_length_of_username''':32,'''max_no_of_bookmarks''':25,'''max_no_of_connection_settings''':5,'''max_url_length_bookmark''':255,'''max_url_length_cached_page''':128,'''max_url_length_homepage''':100,'''max_url_length_in_requests''':538,'''menu_with_select_element_recommended''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':300000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''U626''','''mp3''':True,'''nokia_voice_call''':True,'''numbered_menus''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''opwv_xhtml_extensions_support''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':12,'''picture_gif''':True,'''picture_jpg''':True,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''proportional_font''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':10,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''times_square_mode_support''':True,'''uaprof''':'''http://wap.huawei.com/uaprof/HuaweiU626v100.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wrap_mode_support''':True,'''wta_phonebook''':True,'''wta_voice_call''':True,'''xhtml_allows_disabled_form_elements''':True,'''xhtml_autoexpand_select''':True,'''xhtml_format_as_attribute''':True,'''xhtml_format_as_css_property''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;''','''xhtml_marquee_as_css_property''':True,'''xhtml_nowrap_mode''':True,'''xhtml_support_level''':3,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_inline_input''':True,'''xhtml_supports_invisible_text''':True,'''xhtml_supports_monospace_font''':True,'''xhtml_supports_table_for_layout''':True,'''xhtml_table_support''':True}) +devices.devids['''dragon_g1_ver1'''] = devclass(devices.devids['''huawei_u626_ver1'''], '''dragon_g1_ver1''', '''Dragon G1/1.0 BREW/2.1 Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''huawei_vf710_ver1'''] = devclass(devices.devids['''generic'''], '''huawei_vf710_ver1''', '''Huawei-VF710''', True, {'''amr''':True,'''brand_name''':'''Huawei''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''VF710''','''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wav''':True,'''xhtml_support_level''':3}) +devices.devids['''i_2000_ver1'''] = devclass(devices.devids['''generic'''], '''i_2000_ver1''', '''I-2000''', False, None) +devices.devids['''idea_802_ver1'''] = devclass(devices.devids['''generic'''], '''idea_802_ver1''', '''iDEA 802''', True, {'''brand_name''':'''Idea''','''model_name''':802}) +devices.devids['''huawei_vf810_ver1_subvodafone10'''] = devclass(devices.devids['''huawei_vf710_ver1'''], '''huawei_vf810_ver1_subvodafone10''', '''Vodafone/1.0/0Vodafone810/B626 Browser/Obigo-Browser/Q05A MMS/Obigo-MMS/Q05A SyncML/HW-SyncML/1.0 Java/HWJa/1.0 Profile/MIDP-2.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Vodafone''','''colors''':65536,'''columns''':11,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':150000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':810,'''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':13,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.huawei.com/uaprof/HuaweiV810v100GPRS.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''huawei_vf710_ver1_subvodafone10'''] = devclass(devices.devids['''huawei_vf710_ver1'''], '''huawei_vf710_ver1_subvodafone10''', '''Vodafone/1.0/0Vodafone710/B618 Browser/Obigo-Browser/Q04A MMS/Obigo-MMS/Q04A SyncML/HW-SyncML/1.0 Java/QVM/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Vodafone''','''colors''':65536,'''columns''':11,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':150000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':710,'''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':13,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap1.huawei.com/uaprof/HuaweiU535v100GPRS.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xmf''':True}) +devices.devids['''huawei_vf715_ver1'''] = devclass(devices.devids['''huawei_vf710_ver1_subvodafone10'''], '''huawei_vf715_ver1''', '''Vodafone/1.0/0Vodafone715/B112 Browser/Obigo-Browser/Q04A MMS/Obigo-MMS/Q04A SyncML/HW-SyncML/1.0 Java/QVM/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':11,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':150000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':715,'''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':13,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap1.huawei.com/uaprof/HuaweiV715v100WCDMA.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''ikomo_ik201_ver1'''] = devclass(devices.devids['''generic'''], '''ikomo_ik201_ver1''', '''iKoMo iK201''', True, {'''brand_name''':'''iKoMo''','''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''iK201''','''resolution_height''':128,'''resolution_width''':128,'''wallpaper''':True}) +devices.devids['''ikomo_ik202_ver1'''] = devclass(devices.devids['''generic'''], '''ikomo_ik202_ver1''', '''iKoMo iK202''', True, {'''brand_name''':'''iKoMo''','''max_image_height''':220,'''max_image_width''':176,'''model_name''':'''iK202''','''resolution_height''':220,'''resolution_width''':176,'''wallpaper''':True}) +devices.devids['''i_go610_ver1'''] = devclass(devices.devids['''generic'''], '''i_go610_ver1''', '''I-GO610''', True, {'''brand_name''':'''Enteos''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''i-GO 610''','''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''tim_igo_600_ver1'''] = devclass(devices.devids['''generic'''], '''tim_igo_600_ver1''', '''TIM-iGO600''', True, {'''brand_name''':'''Enteos''','''directdownload_support''':True,'''model_name''':'''i-GO 600''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':4,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''tim_igo_600_ver1_sub'''] = devclass(devices.devids['''tim_igo_600_ver1'''], '''tim_igo_600_ver1_sub''', '''TIM-iGO600/1.0''', False, None) +devices.devids['''ixi_ogo_ct1x'''] = devclass(devices.devids['''generic_xhtml'''], '''ixi_ogo_ct1x''', '''Mozilla/4.0 (compatible; 240x320) IXI/Q05A2.4''', True, {'''brand_name''':'''IXI''','''device_claims_web_support''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''is_wireless_device''':True,'''max_image_height''':120,'''max_image_width''':240,'''model_name''':'''OGO-CT1X''','''resolution_height''':160,'''resolution_width''':240,'''wml_1_1''':False,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/vnd.wap.xhtml+xml'''}) +devices.devids['''kejian_k368_ver1'''] = devclass(devices.devids['''generic'''], '''kejian_k368_ver1''', '''kejian-k368''', True, {'''brand_name''':'''Kejian''','''model_name''':'''K368'''}) +devices.devids['''lenovo_e307_ver1'''] = devclass(devices.devids['''generic'''], '''lenovo_e307_ver1''', '''Lenovo-E307''', True, {'''brand_name''':'''Lenovo''','''colors''':65536,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':120,'''max_image_width''':128,'''model_name''':'''E307''','''mp3''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''lenovo_e307_ver1_sub5620'''] = devclass(devices.devids['''lenovo_e307_ver1'''], '''lenovo_e307_ver1_sub5620''', '''LENOVO-E307_ENG_FRE/ (2005.06.20)S267/WAP1.2.1 Profile''', False, None) +devices.devids['''lenovo_e307_ver1_sub51231'''] = devclass(devices.devids['''lenovo_e307_ver1'''], '''lenovo_e307_ver1_sub51231''', '''LENOVO-E307_ENG_RUS_FLY/(2005.12.31)S274/WAP1.2.1''', False, None) +devices.devids['''lenovo_e307_ver1_sub60510'''] = devclass(devices.devids['''lenovo_e307_ver1'''], '''lenovo_e307_ver1_sub60510''', '''LENOVO-E307_ENG_RUS_FLY/(2006.05.10)S276/WAP1.2.1''', False, None) +devices.devids['''lenovo_p708_ver1'''] = devclass(devices.devids['''generic'''], '''lenovo_p708_ver1''', '''LENOVO-P708''', True, {'''bmp''':False,'''brand_name''':'''Lenovo''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':False,'''html_wi_w3_xhtmlbasic''':False,'''image_as_link_support''':True,'''jpg''':False,'''max_image_height''':96,'''max_image_width''':128,'''model_name''':'''P708''','''png''':False,'''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wml_can_display_images_and_text_on_same_line''':True}) +devices.devids['''lenovo_p708_ver1_sub20050930s272'''] = devclass(devices.devids['''lenovo_p708_ver1'''], '''lenovo_p708_ver1_sub20050930s272''', '''LENOVO-P708_ENG_FRE_DIRLAND/(2005.09.30)S272/WAP1.2.1 Profile''', False, None) +devices.devids['''lenovo_p708_ver1_sub20050930s274'''] = devclass(devices.devids['''lenovo_p708_ver1'''], '''lenovo_p708_ver1_sub20050930s274''', '''LENOVO-P708_ENG_RUS_FLY/(2005.10.19)S274/WAP1.2.1''', False, None) +devices.devids['''lenovo_p708_ver1_sub20050930s280'''] = devclass(devices.devids['''lenovo_p708_ver1'''], '''lenovo_p708_ver1_sub20050930s280''', '''LENOVO-P708_ENG_RUS_S280/(2006.10.12)S280/WAP1.2.1''', False, None) +devices.devids['''Nokia6230'''] = devclass(devices.devids['''generic_xhtml'''], '''Nokia6230''', '''LENOVO-S9/(2007.05.08)S120/WAP2.0 Profile/MIDP2.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Lenovo''','''colors''':65536,'''columns''':18,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':131072,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''S9''','''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N6230r200.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lenovo_v707_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''lenovo_v707_ver1''', '''LENOVO-V707_RUS_ENG_FLY/(06.04.26)Ver01.10/WAP2.0''', True, {'''brand_name''':'''Lenovo''','''model_name''':'''V707'''}) +devices.devids['''lexibook_tab4000_ver1'''] = devclass(devices.devids['''generic'''], '''lexibook_tab4000_ver1''', '''LEXIBOOK_TAB4000''', True, {'''brand_name''':'''Lexibook''','''model_name''':'''TAB4000'''}) +devices.devids['''medion_2860_ver1'''] = devclass(devices.devids['''generic'''], '''medion_2860_ver1''', '''MEDION 2860''', True, {'''brand_name''':'''Medion''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':2860,'''ringtone_mp3''':True}) +devices.devids['''medion_2860_ver1_sub11'''] = devclass(devices.devids['''medion_2860_ver1'''], '''medion_2860_ver1_sub11''', '''MEDION 2860 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''newgen_c610_ver1'''] = devclass(devices.devids['''generic'''], '''newgen_c610_ver1''', '''NEWGEN-C610''', False, None) +devices.devids['''newgen_c610_ver1_sub00'''] = devclass(devices.devids['''newgen_c610_ver1'''], '''newgen_c610_ver1_sub00''', '''NEWGEN-C610/REV 2.2.2/WAP1.2.1 Profile''', False, None) +devices.devids['''newgen_c620_ver1'''] = devclass(devices.devids['''generic'''], '''newgen_c620_ver1''', '''NEWGEN-C620''', False, None) +devices.devids['''newgen_c620_ver1_sub00'''] = devclass(devices.devids['''newgen_c620_ver1'''], '''newgen_c620_ver1_sub00''', '''NEWGEN-C620/REV 2.2.2/WAP1.2.1 Profile''', False, None) +devices.devids['''newgen_megax_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''newgen_megax_ver1''', '''NEWGEN-MEGAX''', False, None) +devices.devids['''newgen_megax_ver1_sub20'''] = devclass(devices.devids['''newgen_megax_ver1'''], '''newgen_megax_ver1_sub20''', '''NEWGEN-MEGAX/M1.EN.01 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', False, None) +devices.devids['''newgen_t3_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''newgen_t3_ver1''', '''NEWGEN-T3''', False, None) +devices.devids['''newgen_t3_ver1_subp1n201'''] = devclass(devices.devids['''newgen_t3_ver1'''], '''newgen_t3_ver1_subp1n201''', '''NEWGEN-T3/P1.N2.01 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', False, None) +devices.devids['''newgen_t3_ver1_subt1en01'''] = devclass(devices.devids['''newgen_t3_ver1'''], '''newgen_t3_ver1_subt1en01''', '''NEWGEN-T3/T1.EN.01 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', False, None) +devices.devids['''newgen_topaz_ver1'''] = devclass(devices.devids['''generic'''], '''newgen_topaz_ver1''', '''NEWGEN-TOPAZ/REV 2.4.0/Teleca Q03B1''', True, {'''brand_name''':'''Newgen''','''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''Topaz'''}) +devices.devids['''newgen_x7_ver1'''] = devclass(devices.devids['''generic'''], '''newgen_x7_ver1''', '''Newgen-X7''', False, None) +devices.devids['''newgen_x7_ver1_sub221'''] = devclass(devices.devids['''newgen_x7_ver1'''], '''newgen_x7_ver1_sub221''', '''Newgen-X7/REV2.2.1/WAP1.2.1 Profile''', False, None) +devices.devids['''optimay_seville_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''optimay_seville_ver1''', '''Optimay-Seville''', False, None) +devices.devids['''optimay_seville_ver1_sub5032'''] = devclass(devices.devids['''optimay_seville_ver1'''], '''optimay_seville_ver1_sub5032''', '''Optimay-Seville/1.4 UP.Browser/5.0.3.2 (GUI)''', False, None) +devices.devids['''optimay_seville_ver1_sub62'''] = devclass(devices.devids['''opwv_v62_generic'''], '''optimay_seville_ver1_sub62''', '''Optimay-Seville/1.4 UP.Browser/6.2''', False, None) +devices.devids['''optimay_seville_ver1_sub6225'''] = devclass(devices.devids['''optimay_seville_ver1_sub62'''], '''optimay_seville_ver1_sub6225''', '''Optimay-Seville/1.4 UP.Browser/6.2.2.5 (GUI) MMP/1.0''', False, None) +devices.devids['''optimay_seville_ver1_sub6232107'''] = devclass(devices.devids['''optimay_seville_ver1_sub62'''], '''optimay_seville_ver1_sub6232107''', '''Optimay-Seville/1.4 UP.Browser/6.2.3.2.107 (GUI) MMP/2.0''', False, None) +devices.devids['''sony_psp_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''sony_psp_ver1''', '''Mozilla/4.0 (PSP (PlayStation Portable); 2.00)''', True, {'''brand_name''':'''Sony''','''directdownload_support''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''is_wireless_device''':True,'''max_image_height''':272,'''max_image_width''':480,'''model_name''':'''PlayStation Portable''','''picture''':True,'''picture_colors''':1024,'''picture_jpg''':True,'''picture_max_height''':272,'''picture_max_width''':480,'''picture_preferred_height''':272,'''picture_preferred_width''':480,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':272,'''resolution_width''':480,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''video''':True,'''video_acodec_aac''':True,'''video_max_frame_rate''':30,'''video_max_height''':272,'''video_max_width''':480,'''video_mp4''':True,'''video_preferred_height''':240,'''video_preferred_width''':320,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_colors''':10,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':272,'''wallpaper_max_width''':480,'''wallpaper_png''':True,'''wallpaper_preferred_height''':272,'''wallpaper_preferred_width''':480,'''wifi''':True,'''xhtml_support_level''':3}) +devices.devids['''qtek_s100_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''qtek_s100_ver1''', '''Qtek S100''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Qtek''','''colors''':65536,'''html_wi_oma_xhtmlmp_1_0''':True,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S100''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''smf''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_wbmp''':True}) +devices.devids['''qtek_s200_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''qtek_s200_ver1''', '''Qtek S200''', True, {'''brand_name''':'''Qtek''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':'''S200''','''ringtone_amr''':True,'''ringtone_mp3''':True}) +devices.devids['''qtek_s200_ver1_sub297122'''] = devclass(devices.devids['''qtek_s200_ver1'''], '''qtek_s200_ver1_sub297122''', '''Qtek S200/2.9.7.122 Mozilla/4.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 (Compatible; MSIE 4.01;Windows CE; PPC; 240X320) UP.Link/6.2.3.15.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''qtek_8010_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subcemoz40176220'''], '''qtek_8010_ver1''', '''Qtek8010''', True, {'''brand_name''':'''Qtek''','''model_name''':8010}) +devices.devids['''qtek_8010_ver1_sub401'''] = devclass(devices.devids['''qtek_8010_ver1'''], '''qtek_8010_ver1_sub401''', '''Qtek8010 (Mozilla/4.0 compatible; MSIE 4.01; Windows CE; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''qtek_8080_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subcemoz40176220'''], '''qtek_8080_ver1''', '''Qtek8080''', True, {'''brand_name''':'''Qtek''','''model_name''':8080}) +devices.devids['''qtek_8080_ver1_sub176220'''] = devclass(devices.devids['''qtek_8080_ver1'''], '''qtek_8080_ver1_sub176220''', '''Qtek8080/DBK (;; 4.20.13291.0; Windows Mobile 2003; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''qtek_9000_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''qtek_9000_ver1''', '''Qtek9000''', True, {'''aac''':True,'''brand_name''':'''Qtek''','''colors''':65536,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':480,'''max_image_width''':640,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':9000,'''mp3''':True,'''resolution_height''':480,'''resolution_width''':640,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''video_max_frame_rate''':15,'''video_max_height''':480,'''video_max_width''':640,'''video_qcif''':True,'''wallpaper_colors''':16,'''wav''':True}) +devices.devids['''qtek_9000_ver1_sub40'''] = devclass(devices.devids['''qtek_9000_ver1'''], '''qtek_9000_ver1_sub40''', '''QTEK9000-Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''i_mate_jam_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''i_mate_jam_ver1''', '''I-MATE JAM''', True, {'''amr''':True,'''brand_name''':'''i-mate''','''colors''':65536,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''JAM''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_acodec_amr''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''qtek_9090_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''qtek_9090_ver1''', '''Qtek9090''', True, {'''aac''':True,'''brand_name''':'''Qtek''','''colors''':65536,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':9090,'''mp3''':True,'''png''':True,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''video''':True,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True}) +devices.devids['''qtek_9090_ver1_sub40'''] = devclass(devices.devids['''qtek_9090_ver1'''], '''qtek_9090_ver1_sub40''', '''Qtek9090; Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''qtek_9100_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''qtek_9100_ver1''', '''Qtek9100''', True, {'''aac''':True,'''brand_name''':'''Qtek''','''colors''':65536,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':9100,'''mp3''':True,'''png''':True,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''video''':True,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''ms_mobile_browser_ver1_subspvm700'''] = devclass(devices.devids['''qtek_9100_ver1'''], '''ms_mobile_browser_ver1_subspvm700''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M700; OpVer 19.107.2.736)''', True, {'''brand_name''':'''Orange''','''model_name''':'''M700'''}) +devices.devids['''spv_m3000_ver1'''] = devclass(devices.devids['''qtek_9100_ver1'''], '''spv_m3000_ver1''', '''SPV-M3000''', True, {'''amr''':True,'''brand_name''':'''SPV''','''chtml_make_phone_call_string''':'''tel:''','''colors''':65536,'''columns''':39,'''connectionless_service_indication''':False,'''connectionless_service_load''':False,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':False,'''greyscale''':False,'''j2me_jtwi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_width''':226,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_max_height''':320,'''mms_max_size''':51200,'''mms_max_width''':240,'''model_name''':'''M3000''','''mp3''':True,'''png''':True,'''receiver''':True,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':16,'''screensaver''':False,'''sender''':True,'''video''':True,'''video_3gpp''':True,'''video_vcodec_h263_0''':True,'''voices''':16,'''wallpaper''':False,'''wallpaper_colors''':16,'''wap_push_support''':False,'''wav''':True,'''wbmp''':True,'''wml_make_phone_call_string''':'''wtai://wp/mc;''','''wta_voice_call''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;'''}) +devices.devids['''spv_m3000_ver1_subppc12332105'''] = devclass(devices.devids['''spv_m3000_ver1'''], '''spv_m3000_ver1_subppc12332105''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M3000; OpVer 12.33.2.105)''', False, None) +devices.devids['''spv_m3000_ver1_subppc1232105'''] = devclass(devices.devids['''spv_m3000_ver1'''], '''spv_m3000_ver1_subppc1232105''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M3000; OpVer 12.3.2.105)''', False, None) +devices.devids['''spv_m3000_ver1_subppc1232104'''] = devclass(devices.devids['''spv_m3000_ver1'''], '''spv_m3000_ver1_subppc1232104''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M3000; OpVer 12.3.2.104)''', False, None) +devices.devids['''spv_m3000_ver1_submbwiz1232105'''] = devclass(devices.devids['''spv_m3000_ver1'''], '''spv_m3000_ver1_submbwiz1232105''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; mbwiz; PPC; 240x320; SPV M3000; OpVer 12.3.2.105)''', False, None) +devices.devids['''spv_m3100_ver1'''] = devclass(devices.devids['''spv_m3000_ver1'''], '''spv_m3100_ver1''', '''SPV-M3100''', True, {'''built_in_camera''':True,'''model_name''':'''M3100'''}) +devices.devids['''spv_m3100_ver1_subppc'''] = devclass(devices.devids['''spv_m3100_ver1'''], '''spv_m3100_ver1_subppc''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; M3100)''', False, None) +devices.devids['''spv_m3100_ver1_subppcopver1412011'''] = devclass(devices.devids['''spv_m3100_ver1'''], '''spv_m3100_ver1_subppcopver1412011''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M3100; OpVer 14.120.1.1)''', False, None) +devices.devids['''spv_m5000_ver1'''] = devclass(devices.devids['''qtek_9100_ver1'''], '''spv_m5000_ver1''', '''SPV-M5000''', True, {'''amr''':True,'''brand_name''':'''SPV''','''chtml_make_phone_call_string''':'''tel:''','''colors''':65536,'''columns''':46,'''connectionless_service_indication''':True,'''connectionless_service_load''':False,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''greyscale''':False,'''j2me_cldc_1_0''':False,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_midp_1_0''':False,'''jpg''':True,'''max_image_width''':224,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_max_height''':320,'''mms_max_size''':51200,'''mms_max_width''':240,'''model_name''':'''M5000''','''mp3''':True,'''png''':True,'''receiver''':True,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':17,'''screensaver''':False,'''sender''':True,'''video''':True,'''video_3gpp''':True,'''video_vcodec_h263_0''':True,'''voices''':16,'''wallpaper''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_make_phone_call_string''':'''wtai://wp/mc;''','''wta_voice_call''':True,'''xhtml_make_phone_call_string''':'''wtai://wp/mc;'''}) +devices.devids['''spv_m5000_ver1_subppc240x320'''] = devclass(devices.devids['''spv_m5000_ver1'''], '''spv_m5000_ver1_subppc240x320''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M5000; Configuration/CLDC-1.1)''', False, None) +devices.devids['''spv_m5000_ver1_sub40'''] = devclass(devices.devids['''spv_m5000_ver1'''], '''spv_m5000_ver1_sub40''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; SPV M5000; Configuration/CLDC-1.1)''', False, None) +devices.devids['''o2xda_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subce240320ppc'''], '''o2xda_ver1''', '''O2''', False, {'''brand_name''':'''O2''','''wifi''':True}) +devices.devids['''o2xda_atom_ver1'''] = devclass(devices.devids['''o2xda_ver1'''], '''o2xda_atom_ver1''', '''O2 Xda Atom''', True, {'''model_name''':'''Xda Atom'''}) +devices.devids['''o2xda_atom_ver1_submozilla40msie401'''] = devclass(devices.devids['''o2xda_atom_ver1'''], '''o2xda_atom_ver1_submozilla40msie401''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; O2 Xda Atom; PPC; 240x320)''', False, None) +devices.devids['''o2xda_zinc_ver1'''] = devclass(devices.devids['''o2xda_ver1'''], '''o2xda_zinc_ver1''', '''O2 Xda Zinc''', True, {'''columns''':20,'''max_image_width''':320,'''model_name''':'''Xda Zinc''','''resolution_height''':240,'''resolution_width''':320,'''rows''':20}) +devices.devids['''o2xda_zinc_ver1_submozilla40msie401'''] = devclass(devices.devids['''o2xda_zinc_ver1'''], '''o2xda_zinc_ver1_submozilla40msie401''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; O2 Xda Zinc; PPC; 240x320)''', False, None) +devices.devids['''o2xda_graphite_ver1'''] = devclass(devices.devids['''o2xda_ver1'''], '''o2xda_graphite_ver1''', '''O2 Xda Graphite''', True, {'''model_name''':'''Xda Graphite'''}) +devices.devids['''o2xda_zinc_ver2_submozilla40msie401'''] = devclass(devices.devids['''o2xda_zinc_ver1'''], '''o2xda_zinc_ver2_submozilla40msie401''', '''XdaGraphite/1.0 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 240x320; XdaGraphite)''', False, None) +devices.devids['''savajeos_ver1'''] = devclass(devices.devids['''generic'''], '''savajeos_ver1''', '''SavaJeOS''', True, {'''brand_name''':'''SavaJe''','''model_name''':'''SavaJeOS''','''preferred_markup''':'''wml_1_2''','''wml_1_2''':True}) +devices.devids['''savajeos_ver1_sub121'''] = devclass(devices.devids['''savajeos_ver1'''], '''savajeos_ver1_sub121''', '''SavaJeOS 2.0 EAR3 / WAP 1.2.1''', True, {'''amr''':True,'''colors''':65536,'''columns''':20,'''gif''':True,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':3000,'''max_image_height''':132,'''max_image_width''':220,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':170,'''mms_max_size''':51200,'''mms_max_width''':126,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''Canary100ADVT''','''nokia_voice_call''':True,'''resolution_height''':176,'''resolution_width''':220,'''rows''':14,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://www.savaje.com/UAprof/Canary100A_DVT.xml''','''wta_phonebook''':True}) +devices.devids['''savajeos_ear3_ver1_sub_310'''] = devclass(devices.devids['''savajeos_ver1'''], '''savajeos_ear3_ver1_sub_310''', '''SavaJeOS_EAR3/jBrowser1.0''', False, None) +devices.devids['''savaje_os_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''savaje_os_ver1''', '''SavaJe-OS/2.0 UP.Browser/7.0.2.3.119 (GUI) MMP/2.0''', False, None) +devices.devids['''ms_mobile_ver6'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''ms_mobile_ver6''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile ''', False, None) +devices.devids['''ds12_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''ds12_ver1''', '''DS12 UP''', False, None) +devices.devids['''ig01_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''ig01_ver1''', '''IG01 UP''', False, None) +devices.devids['''maxon_ver1'''] = devclass(devices.devids['''generic'''], '''maxon_ver1''', '''Maxon''', True, {'''aac''':True,'''brand_name''':'''Maxon''','''connectionless_service_indication''':True,'''jpg''':True,'''max_image_height''':100,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''O2-X1''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''sp_midi''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True}) +devices.devids['''maxon_ver1_sub10'''] = devclass(devices.devids['''maxon_ver1'''], '''maxon_ver1_sub10''', '''Maxon O2-X1 ver1.0''', False, None) +devices.devids['''o2_x1i_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''o2_x1i_ver1''', '''O2-X1i''', True, {'''brand_name''':'''Maxon''','''built_in_camera''':True,'''ems''':True,'''imelody''':True,'''max_image_height''':100,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':100,'''mms_max_width''':100,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':40,'''mms_spmidi''':True,'''model_name''':'''O2-X1i''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''sp_midi''':True,'''voices''':40,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''o2_x1i_ver1_sub6107'''] = devclass(devices.devids['''o2_x1i_ver1'''], '''o2_x1i_ver1_sub6107''', '''O2-X1i/6.1.0.7 UP.Browser/6.1.0.7.8.c.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''o2_x2i_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''o2_x2i_ver1''', '''O2-X2i''', True, {'''brand_name''':'''O2''','''model_name''':'''X2i''','''resolution_height''':128,'''resolution_width''':128}) +devices.devids['''o2_x2i_ver1_sub6107'''] = devclass(devices.devids['''o2_x2i_ver1'''], '''o2_x2i_ver1_sub6107''', '''O2-X2i/6.1.0.7 UP.Browser/6.1.0.7.8.c.1.103 (GUI) MMP/1.0''', False, None) +devices.devids['''o2_x4_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''o2_x4_ver1''', '''O2-X4''', True, {'''brand_name''':'''O2''','''model_name''':'''X4''','''resolution_height''':220,'''resolution_width''':176}) +devices.devids['''o2_x4_ver1_sub6235'''] = devclass(devices.devids['''o2_x4_ver1'''], '''o2_x4_ver1_sub6235''', '''O2-X4 UP.Browser/6.2.3.5 (GUI) MMP/2.0''', False, None) +devices.devids['''o2_x4_ver1_sub6235122'''] = devclass(devices.devids['''o2_x4_ver1'''], '''o2_x4_ver1_sub6235122''', '''O2-X4 UP.Browser/6.2.3.5.122 (GUI) MMP/2.0''', False, None) +devices.devids['''opera_mini_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''opera_mini_ver1''', '''Opera/8.01 (J2ME/MIDP; Opera Mini''', False, {'''brand_name''':'''Opera''','''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''is_wireless_device''':True,'''mobile_browser''':'''Opera Mini''','''model_name''':'''Mini''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''unique''':False,'''wallpaper_colors''':10,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''xhtml_support_level''':4}) +devices.devids['''opera_mini_ver1_sub11'''] = devclass(devices.devids['''opera_mini_ver1'''], '''opera_mini_ver1_sub11''', '''Opera/8.01 (J2ME/MIDP; Opera Mini/1.1''', False, None) +devices.devids['''opera_mini_ver1_sub11nokia6230'''] = devclass(devices.devids['''opera_mini_ver1'''], '''opera_mini_ver1_sub11nokia6230''', '''Opera/8.01 (J2ME/MIDP; Opera Mini/1.1.2292/hifi/nordic/int; Nokia 6230; en; U; ssr)''', False, {'''resolution_height''':128,'''resolution_width''':128}) +devices.devids['''opera_mini_ver1_sub22960'''] = devclass(devices.devids['''opera_mini_ver1'''], '''opera_mini_ver1_sub22960''', '''Opera/8.01 (J2ME/MIDP; Opera Mini/1.2.2960; en; U; ssr)''', False, None) +devices.devids['''opera_mini_ver1_sub23182'''] = devclass(devices.devids['''opera_mini_ver1'''], '''opera_mini_ver1_sub23182''', '''Opera/8.01 (J2ME/MIDP; Opera Mini/1.2.3182; en; U; ssr)''', False, None) +devices.devids['''opera_mini_ver1_sub23214'''] = devclass(devices.devids['''opera_mini_ver1'''], '''opera_mini_ver1_sub23214''', '''Opera/8.01 (J2ME/MIDP; Opera Mini/1.2.3214; en; U; ssr)''', False, None) +devices.devids['''opera_mini_ver2'''] = devclass(devices.devids['''opera_mini_ver1'''], '''opera_mini_ver2''', '''Opera/8.01 (J2ME/MIDP; Opera Mini/2''', False, None) +devices.devids['''opera_mini_ver2_sub03942'''] = devclass(devices.devids['''opera_mini_ver2'''], '''opera_mini_ver2_sub03942''', '''Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.3942; en; U; ssr)''', False, None) +devices.devids['''opera_mini_ver3'''] = devclass(devices.devids['''opera_mini_ver2'''], '''opera_mini_ver3''', '''Opera/8.01 (J2ME/MIDP; Opera Mini/3''', False, None) +devices.devids['''opera_mini_ver4'''] = devclass(devices.devids['''opera_mini_ver3'''], '''opera_mini_ver4''', '''Opera/9.50 (J2ME/MIDP; Opera Mini/4''', False, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard'''}) +devices.devids['''kpt_ver1'''] = devclass(devices.devids['''generic'''], '''kpt_ver1''', '''KPT SD-528/MIDP-1.0 CLDC-1.0''', True, {'''brand_name''':'''KPT''','''colors''':65536,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':120,'''max_image_width''':128,'''model_name''':'''SD-528''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1,'''xhtml_table_support''':True}) +devices.devids['''kyocera_kz820_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''kyocera_kz820_ver1''', '''kyocera-KZ-820''', False, None) +devices.devids['''kyocera_kz820_ver1_sub41264'''] = devclass(devices.devids['''kyocera_kz820_ver1'''], '''kyocera_kz820_ver1_sub41264''', '''kyocera-KZ-820/1.0 UP.Browser/4.1.26c4''', False, None) +devices.devids['''fly_2080_ver1'''] = devclass(devices.devids['''generic'''], '''fly_2080_ver1''', '''MAUI WAP Browser''', True, {'''bmp''':True,'''brand_name''':'''Fly''','''colors''':4096,'''columns''':18,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''downloadfun_support''':True,'''gif''':True,'''html_web_4_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':2800,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':120,'''mms_max_size''':30720,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':2080,'''multipart_support''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_df_size_limit''':8192,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''voices''':48,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':12,'''wallpaper_df_size_limit''':77440,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''fly_e300_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_e300_ver1''', '''Fly-E300/Profile/MIDP.2.0Configuration/CLDC.1.0''', True, {'''amr''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''E300''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/Fly-E300.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''fly_sl600_ver1'''] = devclass(devices.devids['''generic'''], '''fly_sl600_ver1''', '''FLY-SL600''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':65536,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SL600''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_mp3''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/SL600.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''fly_sl600_ver1_sub11'''] = devclass(devices.devids['''fly_sl600_ver1'''], '''fly_sl600_ver1_sub11''', '''FLY-SL600/BSI AU.Browser/2.0 QO3C1''', False, None) +devices.devids['''meridian_x3_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''meridian_x3_ver1''', '''MERIDIAN-X3/REV 2.2.2/Teleca Q03B1''', False, {'''bmp''':True,'''brand_name''':'''Fly''','''colors''':16777216,'''columns''':16,'''gif''':True,'''imelody''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':5120,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''X3''','''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_wav''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.fly-phone.ru/UAP/Fly_X3.xml''','''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''newgen_z200_ver1'''] = devclass(devices.devids['''generic'''], '''newgen_z200_ver1''', '''MERIDIAN-Z200/REV 2.2.2/WAP1.2.1 Profile''', True, {'''brand_name''':'''Fly''','''model_name''':'''Z200'''}) +devices.devids['''newgen_z300_ver1'''] = devclass(devices.devids['''generic'''], '''newgen_z300_ver1''', '''MERIDIAN-Z300''', True, {'''bmp''':True,'''brand_name''':'''Fly''','''colors''':16777216,'''columns''':20,'''gif''':True,'''imelody''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':160,'''jpg''':True,'''max_deck_size''':5120,'''max_image_height''':108,'''max_image_width''':160,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Z300''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':160,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''newgen_z300_ver1_sub11'''] = devclass(devices.devids['''newgen_z300_ver1'''], '''newgen_z300_ver1_sub11''', '''MERIDIAN-Z300/REV 2.2.2/WAP1.2.1 Profile''', False, None) +devices.devids['''inno30_ver1'''] = devclass(devices.devids['''generic'''], '''inno30_ver1''', '''INNO30''', True, {'''bmp''':True,'''brand_name''':'''Innostream''','''colors''':65536,'''columns''':16,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':65535,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':81920,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''INNO30''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.innostream.com/uaprof/INNO30.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''newgen_z400_ver1'''] = devclass(devices.devids['''generic'''], '''newgen_z400_ver1''', '''MERIDIAN-Z400''', True, {'''bmp''':True,'''brand_name''':'''Fly''','''colors''':16777216,'''columns''':20,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':160,'''jpg''':True,'''max_deck_size''':5120,'''max_image_height''':108,'''max_image_width''':160,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''Z400''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':160,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''newgen_z400_ver1_sub11'''] = devclass(devices.devids['''newgen_z400_ver1'''], '''newgen_z400_ver1_sub11''', '''MERIDIAN-Z400/REV 2.2.0/Teleca Q03B1''', False, None) +devices.devids['''newgen_z500_ver1'''] = devclass(devices.devids['''generic'''], '''newgen_z500_ver1''', '''MERIDIAN-Z500''', True, {'''bmp''':True,'''brand_name''':'''Fly''','''colors''':16777216,'''columns''':20,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':160,'''jpg''':True,'''max_deck_size''':5120,'''max_image_height''':108,'''max_image_width''':160,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''Z500''','''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':160,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''newgen_z500_ver1_sub11'''] = devclass(devices.devids['''newgen_z500_ver1'''], '''newgen_z500_ver1_sub11''', '''MERIDIAN-Z500/REV 2.4.0/Teleca Q03B1''', False, None) +devices.devids['''inno35_ver1'''] = devclass(devices.devids['''generic'''], '''inno35_ver1''', '''INNO35''', True, {'''brand_name''':'''Innostream''','''model_name''':'''INNO35'''}) +devices.devids['''inno50_ver1'''] = devclass(devices.devids['''generic'''], '''inno50_ver1''', '''INNO50''', True, {'''brand_name''':'''Innostream''','''model_name''':'''INNO50''','''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''wallpaper_gif''':True}) +devices.devids['''inno55_ver1'''] = devclass(devices.devids['''generic'''], '''inno55_ver1''', '''INNO55''', True, {'''bmp''':True,'''brand_name''':'''Innostream''','''colors''':65536,'''columns''':16,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65535,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':81920,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''INNO55''','''multipart_support''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.innostream.com/uaprof/INNO55.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''inno89_ver1'''] = devclass(devices.devids['''generic'''], '''inno89_ver1''', '''INNO89''', True, {'''bmp''':True,'''brand_name''':'''Innostream''','''colors''':65536,'''columns''':16,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65535,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':81920,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''INNO89''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''rows''':8,'''sender''':True,'''uaprof''':'''http://wap.innostream.com/uaprof/INNO89.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''inno90_ver1'''] = devclass(devices.devids['''generic'''], '''inno90_ver1''', '''INNO90''', True, {'''bmp''':True,'''brand_name''':'''Innostream''','''colors''':65536,'''columns''':16,'''connectionless_service_indication''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65535,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':81920,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''INNO90''','''multipart_support''':True,'''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.innostream.com/uaprof/INNO90.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''inno98_ver1'''] = devclass(devices.devids['''generic'''], '''inno98_ver1''', '''INNO98''', True, {'''bmp''':True,'''brand_name''':'''Innostream''','''colors''':65536,'''columns''':16,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65535,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':81920,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''INNO98''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_mmf''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.innostream.com/uaprof/INNO98.xml''','''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''inno99_ver1'''] = devclass(devices.devids['''generic'''], '''inno99_ver1''', '''INNO99''', True, {'''bmp''':True,'''brand_name''':'''Innostream''','''colors''':65536,'''columns''':16,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':65535,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':81920,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''INNO99''','''multipart_support''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''innostream_2300_ver1'''] = devclass(devices.devids['''generic'''], '''innostream_2300_ver1''', '''I2300''', True, {'''brand_name''':'''Innostream''','''model_name''':2300}) +devices.devids['''innoa10_ver1'''] = devclass(devices.devids['''generic'''], '''innoa10_ver1''', '''INNOA10''', True, {'''bmp''':True,'''brand_name''':'''Innostream''','''colors''':65536,'''columns''':16,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':65535,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':81920,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''A10''','''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.innostream.com/uaprof/INNOA10.xml''','''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''innoa10_ver1_sub10'''] = devclass(devices.devids['''generic'''], '''innoa10_ver1_sub10''', '''INNOA10, INNOA10''', False, None) +devices.devids['''innoa10_w2_ver1'''] = devclass(devices.devids['''generic'''], '''innoa10_w2_ver1''', '''INNOA10_W2''', True, {'''bmp''':True,'''brand_name''':'''Innostream''','''colors''':65536,'''columns''':16,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':5200,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''INNOA10_W2''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.innostream.com/uaprof/INNOA10_W2.xml''','''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''iris_g650_ver1'''] = devclass(devices.devids['''generic'''], '''iris_g650_ver1''', '''IRIS-G650''', False, None) +devices.devids['''modottel_wte_320_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''modottel_wte_320_ver1''', '''MODOTTEL-WTE_320''', False, None) +devices.devids['''modottel_wte_320_ver1_sub20'''] = devclass(devices.devids['''modottel_wte_320_ver1'''], '''modottel_wte_320_ver1_sub20''', '''MODOTTEL-WTE_320/1.0 UP.Browser/6.2.2.5 (GUI) MMP/2.0''', False, None) +devices.devids['''mio_a700_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subcemoz40176220'''], '''mio_a700_ver1''', '''MIOA700''', True, {'''brand_name''':'''MIO''','''model_name''':'''A700'''}) +devices.devids['''mio8390_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subcemoz40176220'''], '''mio8390_ver1''', '''MIO8390''', False, None) +devices.devids['''mio8390_ver1_sub176220'''] = devclass(devices.devids['''mio8390_ver1'''], '''mio8390_ver1_sub176220''', '''MIO8390/R41 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''n1000i_ver1'''] = devclass(devices.devids['''generic'''], '''n1000i_ver1''', '''N1000i''', True, {'''brand_name''':'''Onda''','''max_image_height''':60,'''max_image_width''':101,'''model_name''':'''N1000i''','''resolution_height''':80,'''resolution_width''':101}) +devices.devids['''neonode_n1_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subcemoz40176220'''], '''neonode_n1_ver1''', '''Neonode-N1''', True, {'''brand_name''':'''Neonode''','''model_name''':'''N1'''}) +devices.devids['''neonode_n1_ver1_sub101'''] = devclass(devices.devids['''neonode_n1_ver1'''], '''neonode_n1_ver1_sub101''', '''Neonode-N1 (1.01) Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; Smartphone; 176x220)''', False, {'''max_data_rate''':40}) +devices.devids['''o2_x1b_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''o2_x1b_ver1''', '''O2-X1b''', True, {'''brand_name''':'''O2''','''model_name''':'''X1b''','''resolution_height''':128,'''resolution_width''':128,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''o2_x1b_ver1_sub61078c1100'''] = devclass(devices.devids['''o2_x1b_ver1'''], '''o2_x1b_ver1_sub61078c1100''', '''O2-X1b/6.1.0.7 UP.Browser/6.1.0.7.8.c.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''panda_m88_ver1'''] = devclass(devices.devids['''generic'''], '''panda_m88_ver1''', '''PANDA-M88''', False, None) +devices.devids['''pantech_generic'''] = devclass(devices.devids['''generic'''], '''pantech_generic''', '''PANTECH''', False, {'''brand_name''':'''Pantech'''}) +devices.devids['''pantech_c816_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''pantech_c816_ver1''', '''Pantech c8816''', False, None) +devices.devids['''pantech_c816_ver1_sub4126'''] = devclass(devices.devids['''pantech_c816_ver1'''], '''pantech_c816_ver1_sub4126''', '''Pantech c816 DK.00.00 UP.Browser/4.1.26l''', False, None) +devices.devids['''pantech_g200_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_g200_ver1''', '''PANTECH G200''', True, {'''colors''':65536,'''columns''':10,'''gif''':True,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':64000,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''G200''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':8,'''sender''':True,'''table_support''':False,'''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PANTECH-G200.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_gf200_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_gf200_ver1''', '''PT-GF200''', True, {'''colors''':262144,'''columns''':8,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':143,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PT-GF200''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':10,'''sender''':True,'''table_support''':False,'''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PT-GF200.xml''','''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_gf200j_ver1'''] = devclass(devices.devids['''pantech_gf200_ver1'''], '''pantech_gf200j_ver1''', '''PT-GF200 CLDC/CLDC-1.0 MIDP/MIDP-1.0''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_data_rate''':40,'''midi_polyphonic''':True,'''model_name''':'''PT-GF200J''','''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PT-GF200J.xml''','''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''pt_gf100_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pt_gf100_ver1''', '''PT-GF100''', True, {'''colors''':262144,'''columns''':8,'''gif''':True,'''imelody''':True,'''j2me_screen_height''':143,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':123,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':143,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PT-GF100''','''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''resolution_height''':143,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':8,'''sender''':True,'''table_support''':False,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PT-GF100.xml''','''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pt_gf260_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pt_gf260_ver1''', '''PT-GF260''', True, {'''colors''':262144,'''gif''':True,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''PT-GF260''','''mp3''':True,'''preferred_markup''':'''wml_1_2''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True}) +devices.devids['''pt_gf500_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pt_gf500_ver1''', '''GF-500''', True, {'''colors''':262144,'''columns''':15,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':6400,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''GF500''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''png''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PT-GF500J.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pt_gf500_ver1_subpgr01'''] = devclass(devices.devids['''pt_gf500_ver1'''], '''pt_gf500_ver1_subpgr01''', '''PT-GF500/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pt_gf500_ver1_subr01'''] = devclass(devices.devids['''pt_gf500_ver1'''], '''pt_gf500_ver1_subr01''', '''GF-500/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pantech_gf500j_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_gf500j_ver1''', '''PT-GF500J''', True, {'''colors''':262144,'''columns''':15,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':6400,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PT-GF500''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''png''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PT-GF500J.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pt_g310_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pt_g310_ver1''', '''PT-G310''', True, {'''colors''':262144,'''gif''':True,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''PT-G310''','''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''voices''':40,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''pt_g310c_ver1'''] = devclass(devices.devids['''pt_g310_ver1'''], '''pt_g310c_ver1''', '''PT-G310c''', True, {'''model_name''':'''PT-G310c'''}) +devices.devids['''pt_g510_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pt_g510_ver1''', '''PT-G510''', True, {'''colors''':262144,'''gif''':True,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''PT-G510''','''preferred_markup''':'''wml_1_3''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''pantech_g600_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_g600_ver1''', '''PT-G600''', True, {'''colors''':262144,'''columns''':8,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':123,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':143,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PT-G600''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':143,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':8,'''sender''':True,'''table_support''':False,'''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PT-G600J.xml''','''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_g600_ver1_subcldc'''] = devclass(devices.devids['''pantech_g600_ver1'''], '''pantech_g600_ver1_subcldc''', '''PT-G600 CLDC/CLDC-1.0 MIDP/MIDP-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''pt_g650_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pt_g650_ver1''', '''PT-G650''', False, None) +devices.devids['''pt_g670_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pt_g670_ver1''', '''PT-G670''', True, {'''colors''':262144,'''columns''':8,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PT-G670J''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':10,'''sender''':True,'''table_support''':False,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PT-G670JR.xml''','''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pt_g670_ver1_sub-10'''] = devclass(devices.devids['''pt_g670_ver1'''], '''pt_g670_ver1_sub-10''', '''PT-G670 CLDC/CLDC-1.0 MIDP/MIDP-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''pt_gb200_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pt_gb200_ver1''', '''PT-GB200''', True, {'''colors''':262144,'''columns''':8,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':143,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PT-GB200''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':10,'''sender''':True,'''table_support''':False,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PT-GB200J.xml''','''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pt_gb200_ver1_sub-10'''] = devclass(devices.devids['''pt_gb200_ver1'''], '''pt_gb200_ver1_sub-10''', '''PT-GB200 CLDC/CLDC-1.0 MIDP/MIDP-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''pt_gb210_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pt_gb210_ver1''', '''PT-GB210''', True, {'''colors''':262144,'''gif''':True,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''PT-BG210''','''preferred_markup''':'''wml_1_3''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''pt_gb310_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pt_gb310_ver1''', '''PT-GB310''', False, None) +devices.devids['''pantech_gb100_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_gb100_ver1''', '''PT-GB100''', True, {'''colors''':65536,'''columns''':8,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''PT-GB100''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':8,'''table_support''':False,'''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PT-GB100.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_g300_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_g300_ver1''', '''PANTECH G300''', True, {'''colors''':262144,'''columns''':8,'''gif''':True,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':64000,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''G300''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':8,'''sender''':True,'''table_support''':False,'''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PANTECH-G300.xml''','''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_g800_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_g800_ver1''', '''PT-G800''', True, {'''colors''':262144,'''columns''':8,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':143,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PT-G800''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':10,'''sender''':True,'''table_support''':False,'''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PT-G800.xml''','''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_g800_ver1_sub-10'''] = devclass(devices.devids['''pantech_g800_ver1'''], '''pantech_g800_ver1_sub-10''', '''PT-G800 CLDC/CLDC-1.0 MIDP/MIDP-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''pantech_g700_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_g700_ver1''', '''PT-G700''', True, {'''colors''':65536,'''columns''':8,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''PT-G700''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':8,'''table_support''':False,'''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PT-G700.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_gb300_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_gb300_ver1''', '''PT-GB300''', True, {'''colors''':65536,'''columns''':8,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PT-GB300''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':8,'''sender''':True,'''sp_midi''':True,'''table_support''':False,'''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PT-GB300.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_gb300_ver1_subcldc'''] = devclass(devices.devids['''pantech_gb300_ver1'''], '''pantech_gb300_ver1_subcldc''', '''PT-GB300 CLDC/CLDC-1.0 MIDP/MIDP-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''pantech_g500_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_g500_ver1''', '''PANTECH G500''', True, {'''colors''':262144,'''columns''':10,'''gif''':True,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':64000,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''G500''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':8,'''sender''':True,'''table_support''':False,'''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PANTECH-G500.xml''','''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_g900_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_g900_ver1''', '''PT-G900''', True, {'''colors''':262144,'''columns''':8,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':143,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PT-G900''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':10,'''sender''':True,'''table_support''':False,'''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PT-G900J.xml''','''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_gi100_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_gi100_ver1''', '''PT-GI100 CLDC''', True, {'''colors''':262144,'''columns''':8,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PT-GI100J''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':10,'''sender''':True,'''table_support''':False,'''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PT-GI100JR.xml''','''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_gi100_ver1_submidp10'''] = devclass(devices.devids['''pantech_gi100_ver1'''], '''pantech_gi100_ver1_submidp10''', '''PT-GI100 CLDC/CLDC-1.0 MIDP/MIDP-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''pantech_gi100_ver1_subcldc'''] = devclass(devices.devids['''pantech_gi100_ver1'''], '''pantech_gi100_ver1_subcldc''', '''PT-GI100/CLDC/CLDC1.0 MIDP/MIDP-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''pantech_pn215_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''pantech_pn215_ver1''', '''PN-215''', True, {'''brand_name''':'''Pantech''','''colors''':65536,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':160,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':32,'''mms_mp3''':True,'''mms_png''':True,'''mms_qcelp''':True,'''model_name''':'''PN-215''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''qcelp''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':125000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':125000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':125000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''pantech_pn215_ver1_sub6232'''] = devclass(devices.devids['''pantech_pn215_ver1'''], '''pantech_pn215_ver1_sub6232''', '''PN-215 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''verizon_pantech_pn215_ver1'''] = devclass(devices.devids['''pantech_pn215_ver1'''], '''verizon_pantech_pn215_ver1''', '''pant215v1''', True, {'''directdownload_support''':False,'''model_name''':'''PN-215 (Verizon Wireless)''','''ringtone''':False,'''ringtone_directdownload_size_limit''':125000,'''ringtone_midi_monophonic''':False,'''ringtone_midi_polyphonic''':False,'''ringtone_mp3''':False,'''ringtone_qcelp''':False,'''ringtone_voices''':32}) +devices.devids['''nokia_6215i_verizon_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nokia_6215i_verizon_ver1''', '''PN-315/T05_0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':262144,'''columns''':14,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':65535,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''model_name''':'''6215i (Verizon)''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''rows''':14,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vtext.com/nokia/nokia6215i/nokia6215i.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''xhtml_support_level''':3}) +devices.devids['''audiovox_cdm8915_ver1'''] = devclass(devices.devids['''pantech_pn215_ver1'''], '''audiovox_cdm8915_ver1''', '''AUDIOVOX-CDM8915''', True, {'''brand_name''':'''Audiovox''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''model_name''':'''CDM-8915''','''uaprof''':'''http://uaprof.vmobl.com/AUDIOVOX/CDM-8915/VMU_Audiovox-CDM-8915.xml'''}) +devices.devids['''cdm_8932_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''cdm_8932_ver1''', '''CDM-8932/T03_0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''brand_name''':'''Pantech''','''columns''':17,'''max_image_height''':200,'''max_image_width''':176,'''model_name''':'''PN-320/CDM-8932 (MetroPCS)''','''resolution_height''':220,'''resolution_width''':176,'''rows''':7}) +devices.devids['''verizon_audiovox_cdm8915_ver1'''] = devclass(devices.devids['''audiovox_cdm8915_ver1'''], '''verizon_audiovox_cdm8915_ver1''', '''VERIZON_AUDIOVOX-CDM8915''', True, {'''model_name''':'''CDM-8915 (Verizon Wireless)'''}) +devices.devids['''pg_1000s_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_1000s_ver1''', '''PG-1000S''', True, {'''bmp''':True,'''colors''':65536,'''columns''':18,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':30000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':66560,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''PG-1000S''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-1000S.xml''','''wap_push_support''':True,'''wml_1_2''':True,'''wta_phonebook''':True}) +devices.devids['''pg_1000s_ver1_sub-10000100'''] = devclass(devices.devids['''pg_1000s_ver1'''], '''pg_1000s_ver1_sub-10000100''', '''PG-1000S/01.00BR''', False, {'''max_data_rate''':40}) +devices.devids['''pg_1200_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_1200_ver1''', '''PG-1200''', True, {'''amr''':True,'''colors''':65536,'''columns''':15,'''directdownload_support''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':6400,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':1200,'''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-1200J.xml''','''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pg_1200_ver1_sub-11'''] = devclass(devices.devids['''pg_1200_ver1'''], '''pg_1200_ver1_sub-11''', '''PG-1200/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pg_1210_ver1'''] = devclass(devices.devids['''pg_1200_ver1'''], '''pg_1210_ver1''', '''PG-1210''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':1210}) +devices.devids['''pg_1210_ver1_subr01'''] = devclass(devices.devids['''pg_1210_ver1'''], '''pg_1210_ver1_subr01''', '''PG-1210/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pantech_pg1300_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_pg1300_ver1''', '''PG-1300''', True, {'''bmp''':True,'''colors''':65536,'''columns''':18,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':30000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':66560,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''PG-1300''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-1300J.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pg_1310v_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_1310v_ver1''', '''PG-1310''', True, {'''colors''':65536,'''gif''':True,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''1310V''','''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''pg_1310v_ver1_subr01'''] = devclass(devices.devids['''pg_1310v_ver1'''], '''pg_1310v_ver1_subr01''', '''PG1310V/R01''', False, None) +devices.devids['''pg_1400_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_1400_ver1''', '''PG-1400''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''directdownload_support''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':1400,'''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-1400J.xml''','''voices''':64,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pg_1400_ver1_subr01'''] = devclass(devices.devids['''pg_1400_ver1'''], '''pg_1400_ver1_subr01''', '''PG-1400/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pg_1405_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_1405_ver1''', '''PG-1400L''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PG-1405''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-1405J.xml''','''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pg_1405_ver1_subr01'''] = devclass(devices.devids['''pg_1405_ver1'''], '''pg_1405_ver1_subr01''', '''PG-1400L/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pg_1410_ver1'''] = devclass(devices.devids['''pg_1400_ver1'''], '''pg_1410_ver1''', '''PG-1410''', True, {'''bmp''':False,'''colors''':262144,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':6400,'''model_name''':'''PG-1410''','''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PG-1410J.xml'''}) +devices.devids['''pg_1410_ver1_subr01'''] = devclass(devices.devids['''pg_1410_ver1'''], '''pg_1410_ver1_subr01''', '''PG-1410/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pg_1500_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_1500_ver1''', '''PG-1500''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':6400,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PG-1500J''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-1500J.xml''','''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pg_1500_ver1_subr01'''] = devclass(devices.devids['''pg_1500_ver1'''], '''pg_1500_ver1_subr01''', '''PG-1500/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pantech_pg1600_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_pg1600_ver1''', '''PG-1600''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':7,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PG-1600''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''rows''':7,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-1600J.xml''','''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_pg1600_ver1_subr01'''] = devclass(devices.devids['''pantech_pg1600_ver1'''], '''pantech_pg1600_ver1_subr01''', '''PG-1600/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pg_1610_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_1610_ver1''', '''PG-1610''', True, {'''colors''':65536,'''gif''':True,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':1610,'''mp3''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''pg_1610_ver1_subr01'''] = devclass(devices.devids['''pg_1610_ver1'''], '''pg_1610_ver1_subr01''', '''PG-1610/R01''', False, None) +devices.devids['''pg_1810_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_1810_ver1''', '''PG-1810''', True, {'''colors''':262144,'''gif''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':1810,'''mp3''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''table_support''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''pg_1810_ver1_subr01'''] = devclass(devices.devids['''pg_1810_ver1'''], '''pg_1810_ver1_subr01''', '''PG-1810/R01''', False, None) +devices.devids['''pantech_pg1900_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_pg1900_ver1''', '''PG-1900''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PG-1900''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-1900J.xml''','''wap_push_support''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_pg1900_ver1_subr01'''] = devclass(devices.devids['''pantech_pg1900_ver1'''], '''pantech_pg1900_ver1_subr01''', '''PG-1900/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pantech_pg2800_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_pg2800_ver1''', '''PG-2800''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':102400,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PG-2800''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-2800J.xml''','''wap_push_support''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_pg2800_ver1_subr01'''] = devclass(devices.devids['''pantech_pg2800_ver1'''], '''pantech_pg2800_ver1_subr01''', '''PG-2800/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pg_3000_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_3000_ver1''', '''PG-3000''', True, {'''colors''':262144,'''columns''':15,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':6400,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PG-3000''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-3000J.xml''','''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''pg_3000_ver1_subr01'''] = devclass(devices.devids['''pg_3000_ver1'''], '''pg_3000_ver1_subr01''', '''PG-3000/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pg_3200_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_3200_ver1''', '''PG-3200''', True, {'''colors''':262144,'''columns''':8,'''gif''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':3200,'''mp3''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':10,'''table_support''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''pg_3200_ver1_subr01'''] = devclass(devices.devids['''pg_3200_ver1'''], '''pg_3200_ver1_subr01''', '''PG-3200/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''pg_3210_ver1'''] = devclass(devices.devids['''pg_3200_ver1'''], '''pg_3210_ver1''', '''PG-3210''', True, {'''amr''':True,'''columns''':15,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''max_deck_size''':6400,'''max_image_height''':108,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PG-3210''','''nokia_voice_call''':True,'''oma_support''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_mmf''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-3210J.xml''','''wallpaper_colors''':18,'''wallpaper_png''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''pg_3210_ver1_subr01'''] = devclass(devices.devids['''pg_3210_ver1'''], '''pg_3210_ver1_subr01''', '''PG-3210/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pantech_pg3300_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_pg3300_ver1''', '''PG-3300''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':65536,'''columns''':7,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':80000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''PG-3300''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-3300J.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_pg3300_ver1_subr01'''] = devclass(devices.devids['''pantech_pg3300_ver1'''], '''pantech_pg3300_ver1_subr01''', '''PG-3300/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pg_3500_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_3500_ver1''', '''PG-3500''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':65536,'''columns''':16,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':80000,'''max_image_height''':200,'''max_image_width''':167,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':102400,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''PG-3500''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''rows''':12,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PG-3500J.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''pg_3500_ver1_subr01'''] = devclass(devices.devids['''pg_3500_ver1'''], '''pg_3500_ver1_subr01''', '''PG-3500/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pg_3600_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_3600_ver1''', '''PG-3600''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':16,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':29000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':102400,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''PG-3600J''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':12,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-3600V.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pg_3600_ver1_subr01'''] = devclass(devices.devids['''pg_3600_ver1'''], '''pg_3600_ver1_subr01''', '''PG-3600/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''pg_3600_ver1_sublynx'''] = devclass(devices.devids['''pg_3600_ver1'''], '''pg_3600_ver1_sublynx''', '''LYNX/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''pantech_pg3700_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_pg3700_ver1''', '''PG-3700''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':11,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':29000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':102400,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''PG-3700''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-3700J.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_pg_3810_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_pg_3810_ver1''', '''PG-3810''', True, {'''colors''':262144,'''gif''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':3810,'''mp3''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''pantech_pg_3810_ver1_sub'''] = devclass(devices.devids['''pantech_pg_3810_ver1'''], '''pantech_pg_3810_ver1_sub''', '''PG-3810/R01 Profile/MIDP-2.0''', False, None) +devices.devids['''pantech_3900_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_3900_ver1''', '''PG-3900''', True, {'''aac''':True,'''colors''':262144,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':False,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':144,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''PG-3900''','''mp3''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''uaprof''':'''http://www.pantech.co.kr/Uaprof/Gsm/PG-3900J.xml''','''video''':True,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''pantech_3900_ver1_sub01'''] = devclass(devices.devids['''pantech_3900_ver1'''], '''pantech_3900_ver1_sub01''', '''PG-3900/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pantech_pg_6100_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_pg_6100_ver1''', '''PANTECH_PG-6100''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':16,'''directdownload_support''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':102400,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':6100,'''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''rows''':12,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-6100J.xml''','''voices''':64,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pg_510_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''pg_510_ver1''', '''PG-C510/R01 Browser/Obigo/Q05A Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Pantech''','''colors''':65536,'''columns''':16,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':65536,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':614400,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''5.0''','''model_name''':'''PG-C510''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''pantech_pg_6100_ver1_sub20050624'''] = devclass(devices.devids['''pantech_pg_6100_ver1'''], '''pantech_pg_6100_ver1_sub20050624''', '''PANTECH_PG-6100/(2005.06.24)Ver1.00/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pantech_pg_6100_ver1_subr01'''] = devclass(devices.devids['''pantech_pg_6100_ver1'''], '''pantech_pg_6100_ver1_subr01''', '''PANTECH_PG-6100/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pantech_pg_6100_ver1subpg6100r01'''] = devclass(devices.devids['''pantech_pg_6100_ver1'''], '''pantech_pg_6100_ver1subpg6100r01''', '''PG-6100/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pg_6200_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_6200_ver1''', '''PG-6200''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':29000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':220,'''mms_max_size''':102400,'''mms_max_width''':176,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''PG-6200J''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-6200J.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pg_6200_ver1_subr01'''] = devclass(devices.devids['''pg_6200_ver1'''], '''pg_6200_ver1_subr01''', '''PG-6200/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pg_8000_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_8000_ver1''', '''PG-8000''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':29,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_deck_size''':800000,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':102400,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''PG-8000''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':13,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-8000J.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pg_8000_ver1_subr01'''] = devclass(devices.devids['''pg_8000_ver1'''], '''pg_8000_ver1_subr01''', '''PG-8000/R01 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pg_c120_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pg_c120_ver1''', '''PG-C120/R01 MIC/1.1.14 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':15,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':45000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''1.0''','''model_name''':'''PG-C120''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-C120J.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''pg_c150_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''pg_c150_ver1''', '''PG-C150/R01 Browser/Obigo/Q05A Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Pantech''','''colors''':65536,'''columns''':16,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':65536,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''5.0''','''model_name''':'''PG-C150''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''HTTP://WWW.PANTECH.COM/UAPROF/GSM/PG-C150.XML''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''pantech_pgc300_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_pgc300_ver1''', '''PG-C300''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Pantech''','''colors''':65536,'''columns''':15,'''gif''':True,'''has_qwerty_keyboard''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''1.0''','''model_name''':'''PG-C300''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''rows''':8,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/Gsm/PG-C300J.xml''','''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_pgc300_ver1_subr01'''] = devclass(devices.devids['''pantech_pgc300_ver1'''], '''pantech_pgc300_ver1_subr01''', '''PG-C300/R01 MIC/1.1.14 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pantech_pgc300c_ver1'''] = devclass(devices.devids['''pantech_pgc300_ver1'''], '''pantech_pgc300c_ver1''', '''PG-C300/R03 MIC/1.1.14 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''pantech_europau4000_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''pantech_europau4000_ver1''', '''PANTECH-EUROPA-U4000''', True, {'''aac''':True,'''bmp''':True,'''colors''':266240,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':144,'''max_image_width''':166,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''EUROPA U4000''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://www.curitel.com/UAProf/europa.xml''','''voices''':72,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_honors_bgcolor''':True,'''xhtml_support_level''':2,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''pantech_europau4000_ver1_subq04c'''] = devclass(devices.devids['''pantech_europau4000_ver1'''], '''pantech_europau4000_ver1_subq04c''', '''PANTECH-EUROPA-U4000/1.0 Obigo/Q04C MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''skyzen_generic'''] = devclass(devices.devids['''generic_xhtml'''], '''skyzen_generic''', '''EZZE''', False, {'''brand_name''':'''EZZE'''}) +devices.devids['''skyzen_ez400'''] = devclass(devices.devids['''skyzen_generic'''], '''skyzen_ez400''', '''EZ400''', True, {'''model_name''':'''EZ400'''}) +devices.devids['''skyzen_ez400_subbsi'''] = devclass(devices.devids['''skyzen_ez400'''], '''skyzen_ez400_subbsi''', '''EZ400/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', False, None) +devices.devids['''skyzen_ez600'''] = devclass(devices.devids['''skyzen_generic'''], '''skyzen_ez600''', '''EZ600''', True, {'''model_name''':'''EZ600'''}) +devices.devids['''skyzen_ez600_subsib'''] = devclass(devices.devids['''skyzen_ez600'''], '''skyzen_ez600_subsib''', '''EZ600/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', False, None) +devices.devids['''skyzen_ez700'''] = devclass(devices.devids['''skyzen_generic'''], '''skyzen_ez700''', '''EZ700''', True, {'''model_name''':'''EZ700'''}) +devices.devids['''skyzen_ez700_subbsiau'''] = devclass(devices.devids['''skyzen_ez700'''], '''skyzen_ez700_subbsiau''', '''EZ700/BSIAU.Browser/2.0 QO3C1 MMP/1.0''', False, None) +devices.devids['''skyzen_sl308_ver1'''] = devclass(devices.devids['''skyzen_generic'''], '''skyzen_sl308_ver1''', '''EZZE-SL308/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', False, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':16,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':71680,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SL308''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/sl308.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''poseidon_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''poseidon_ver1''', '''Poseidon''', False, None) +devices.devids['''poseidon_ver1_sub10'''] = devclass(devices.devids['''poseidon_ver1'''], '''poseidon_ver1_sub10''', '''Poseidon/6.1.0.7 UP.Browser/6.1.0.7.7 (GUI) MMP/1.0''', False, None) +devices.devids['''tcl_718_ver1'''] = devclass(devices.devids['''generic'''], '''tcl_718_ver1''', '''TCL-718''', False, None) +devices.devids['''tcl_e767_ver1'''] = devclass(devices.devids['''generic'''], '''tcl_e767_ver1''', '''TCL-E767''', False, None) +devices.devids['''tcl_e767_ver1_sub0c0211580618'''] = devclass(devices.devids['''tcl_e767_ver1'''], '''tcl_e767_ver1_sub0c0211580618''', '''TCL-E767/OC02-1-1.58-0618/WAP-2.0/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''miracle_tdg_9920_ver1'''] = devclass(devices.devids['''generic'''], '''miracle_tdg_9920_ver1''', '''TDG-9920''', True, {'''brand_name''':'''Miracle''','''model_name''':'''TDG-9920'''}) +devices.devids['''toplux_ag280_ver1'''] = devclass(devices.devids['''generic'''], '''toplux_ag280_ver1''', '''Toplux/AG280/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0''', True, {'''brand_name''':'''Toplux''','''colors''':260000,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':165,'''max_image_width''':176,'''mms_max_size''':51200,'''model_name''':'''AG280''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''sender''':True}) +devices.devids['''toplux_ag280_ver1_subspace'''] = devclass(devices.devids['''toplux_ag280_ver1'''], '''toplux_ag280_ver1_subspace''', '''Toplux AG280 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''toplux_cg360_ver1'''] = devclass(devices.devids['''generic'''], '''toplux_cg360_ver1''', '''Toplux CG360''', True, {'''brand_name''':'''Toplux''','''j2me_cldc_1_0''':True,'''j2me_midp_2_0''':True,'''model_name''':'''CG360'''}) +devices.devids['''toplux_cg360_ver1_sub10'''] = devclass(devices.devids['''toplux_cg360_ver1'''], '''toplux_cg360_ver1_sub10''', '''Toplux CG360 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''vitelcom_feature_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''vitelcom_feature_ver1''', '''Vitelcom-Feature Phone 1.0''', False, {'''max_deck_size''':2984}) +devices.devids['''vitelcom_feature_ver1_sub5022'''] = devclass(devices.devids['''vitelcom_feature_ver1'''], '''vitelcom_feature_ver1_sub5022''', '''Vitelcom-Feature Phone 1.0 UP.Browser/5.0.2.2 (GUI)''', False, None) +devices.devids['''vkmobile_vk200_ver1'''] = devclass(devices.devids['''generic'''], '''vkmobile_vk200_ver1''', '''VK-VK200''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''VK Mobile''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''VK200''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''voices''':64,'''wallpaper''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''vk500_ver1'''] = devclass(devices.devids['''generic'''], '''vk500_ver1''', '''VK500''', False, None) +devices.devids['''vkmobile_vk520_ver1'''] = devclass(devices.devids['''generic'''], '''vkmobile_vk520_ver1''', '''VK-VK520''', True, {'''amr''':True,'''brand_name''':'''VK Mobile''','''colors''':65000,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':False,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''VK520''','''mp3''':False,'''preferred_markup''':'''wml_1_2''','''resolution_height''':143,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':False}) +devices.devids['''vkmobile_vk520_ver1_sub'''] = devclass(devices.devids['''vkmobile_vk520_ver1'''], '''vkmobile_vk520_ver1_sub''', '''VK520''', False, None) +devices.devids['''vk530_ver1'''] = devclass(devices.devids['''generic'''], '''vk530_ver1''', '''VK530''', True, {'''bmp''':True,'''brand_name''':'''Vodafone''','''gif''':True,'''jpg''':True,'''max_image_height''':143,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':109,'''mms_max_size''':45000,'''mms_max_width''':125,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_png''':True,'''model_name''':'''VK530''','''png''':True,'''receiver''':True,'''resolution_height''':143,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''sender''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''vk530_ver1_subwapper'''] = devclass(devices.devids['''vk530_ver1'''], '''vk530_ver1_subwapper''', '''WAPPER''', False, None) +devices.devids['''vkmobile_vk2010_ver1'''] = devclass(devices.devids['''generic'''], '''vkmobile_vk2010_ver1''', '''VK-VK2010''', True, {'''amr''':True,'''brand_name''':'''VK Mobile''','''colors''':65000,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''max_image_height''':120,'''max_image_width''':160,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''VK2010''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':128,'''resolution_width''':160,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''vkmobile_vk1000_ver1'''] = devclass(devices.devids['''generic'''], '''vkmobile_vk1000_ver1''', '''VK-VK1000''', True, {'''amr''':True,'''brand_name''':'''VK Mobile''','''colors''':65000,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''VK1000''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':143,'''resolution_width''':128,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''vodafone_vk4000_ver1'''] = devclass(devices.devids['''generic'''], '''vodafone_vk4000_ver1''', '''VK4000''', True, {'''brand_name''':'''Vodafone''','''model_name''':'''VK4000'''}) +devices.devids['''tsm_30_ver1'''] = devclass(devices.devids['''generic'''], '''tsm_30_ver1''', '''TSM-30''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Vitelcom''','''colors''':65536,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':3000,'''max_image_height''':93,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':134,'''mms_max_size''':200000,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''TSM-30''','''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''resolution_height''':124,'''resolution_width''':120,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://uaprof.purplelabs.com/UAprofile/UAprofile_VitelcomTSM30.xml''','''wta_phonebook''':True}) +devices.devids['''tsm_30_ver1_sub20100114'''] = devclass(devices.devids['''tsm_30_ver1'''], '''tsm_30_ver1_sub20100114''', '''TSM-30/20100114 Browser/1.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''tsm_100_ver1'''] = devclass(devices.devids['''generic'''], '''tsm_100_ver1''', '''TSM-100''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Vitelcom''','''colors''':65536,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':15360,'''max_image_height''':135,'''max_image_width''':116,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':163,'''mms_max_size''':200000,'''mms_max_width''':101,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''TSM-100''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':181,'''resolution_width''':116,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://uaprof.purplelabs.com/UAprofile/UAprofile_VitelcomTSM100.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''tsm_100_ver1_sub141053b7'''] = devclass(devices.devids['''tsm_100_ver1'''], '''tsm_100_ver1_sub141053b7''', '''TSM-100/141053B7 Browser/1.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''tsm_100v_ver1'''] = devclass(devices.devids['''tsm_100_ver1'''], '''tsm_100v_ver1''', '''TSM-100v''', True, {'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':135,'''max_image_width''':116,'''model_name''':'''TSM-100v'''}) +devices.devids['''tsm_100v_ver1_sub40100012'''] = devclass(devices.devids['''tsm_100v_ver1'''], '''tsm_100v_ver1_sub40100012''', '''TSM-100v/40100012 Browser/1.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''tsm_340_ver1'''] = devclass(devices.devids['''generic'''], '''tsm_340_ver1''', '''TSM-340''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Vitelcom''','''colors''':65536,'''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':15360,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''TSM-340''','''oma_v_1_0_forwardlock''':True,'''picture''':True,'''picture_bmp''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''preferred_markup''':'''wml_1_2''','''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':24,'''voices''':24,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wml_1_2''':True}) +devices.devids['''tsm_342_ver1'''] = devclass(devices.devids['''generic'''], '''tsm_342_ver1''', '''TSM-342''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Vitelcom''','''colors''':65536,'''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_deck_size''':15360,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''TSM-342''','''oma_v_1_0_forwardlock''':True,'''picture''':True,'''picture_bmp''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''preferred_markup''':'''wml_1_2''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':24,'''voices''':24,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wml_1_2''':True}) +devices.devids['''tsm_1_ver1'''] = devclass(devices.devids['''generic'''], '''tsm_1_ver1''', '''TSM-1''', True, {'''brand_name''':'''Vitelcom''','''model_name''':'''TSM-1'''}) +devices.devids['''tsm_3_ver1'''] = devclass(devices.devids['''generic'''], '''tsm_3_ver1''', '''TSM-3''', True, {'''brand_name''':'''Vitelcom''','''model_name''':'''TSM-3'''}) +devices.devids['''tsm_4_ver1'''] = devclass(devices.devids['''generic'''], '''tsm_4_ver1''', '''TSM-4''', True, {'''brand_name''':'''Vitelcom''','''model_name''':'''TSM-4'''}) +devices.devids['''tsm_5_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''tsm_5_ver1''', '''TSM-5''', True, {'''brand_name''':'''Vitelcom''','''model_name''':'''TSM-5'''}) +devices.devids['''tsm_5_ver1_sub26'''] = devclass(devices.devids['''tsm_5_ver1'''], '''tsm_5_ver1_sub26''', '''TSM-5/2.6 UP.Browser/5.0.2.2 (GUI)''', False, None) +devices.devids['''tsm_5m_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''tsm_5m_ver1''', '''TSM-5m''', True, {'''brand_name''':'''Vitelcom''','''model_name''':'''TSM-5m''','''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''tsm_5m_ver1_sub1835'''] = devclass(devices.devids['''tsm_5m_ver1'''], '''tsm_5m_ver1_sub1835''', '''TSM-5m/1.8.3.5 UP.Browser/6.2.2.4.g.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''tsm_5m_ver1_sub18353'''] = devclass(devices.devids['''tsm_5m_ver1'''], '''tsm_5m_ver1_sub18353''', '''TSM-5m/1.8.3.5.3 UP.Browser/6.2.2.4.g.1.100 (GUI) MMP/1.0''', False, None) +devices.devids['''tsm_5mt_ver1'''] = devclass(devices.devids['''tsm_5m_ver1'''], '''tsm_5mt_ver1''', '''TSM5m-t''', True, {'''bmp''':True,'''colors''':65536,'''downloadfun_support''':True,'''max_deck_size''':64512,'''max_image_height''':54,'''max_image_width''':110,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':110,'''mms_max_size''':50000,'''mms_max_width''':51,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''TSM-5mt''','''nokia_voice_call''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':16,'''picture_df_size_limit''':7000,'''picture_gif''':True,'''picture_max_height''':51,'''picture_max_width''':110,'''receiver''':True,'''resolution_height''':72,'''resolution_width''':110,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://www.vitelcom.es/UAprofile_TSM5m.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':102400,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_df_size_limit''':7000,'''wallpaper_gif''':True,'''wallpaper_max_height''':51,'''wallpaper_max_width''':110,'''wta_phonebook''':True}) +devices.devids['''tsm_5mt_ver1_sub6224g1100'''] = devclass(devices.devids['''tsm_5mt_ver1'''], '''tsm_5mt_ver1_sub6224g1100''', '''TSM5m-t/1.8.3.5.3 UP.Browser/6.2.2.4.g.1.100 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''tsm_5mt_ver1_sub20'''] = devclass(devices.devids['''tsm_5mt_ver1'''], '''tsm_5mt_ver1_sub20''', '''TSM5m-t/2.0 UP.Browser/6.2.2.4.g.1.100 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''tsm_6_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''tsm_6_ver1''', '''TSM-6''', True, {'''brand_name''':'''Vitelcom''','''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_deck_size''':200000,'''model_name''':'''TSM-6'''}) +devices.devids['''tsm_6_ver1_sub7123'''] = devclass(devices.devids['''tsm_6_ver1'''], '''tsm_6_ver1_sub7123''', '''TSM-6/7.12.3 Teleca/1.1.13.4 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''tsm_500_ver1'''] = devclass(devices.devids['''generic'''], '''tsm_500_ver1''', '''TSM500''', True, {'''brand_name''':'''Vitelcom''','''model_name''':'''TSM500'''}) +devices.devids['''tsm_520_ver1'''] = devclass(devices.devids['''generic'''], '''tsm_520_ver1''', '''TSM520''', True, {'''brand_name''':'''Vitelcom''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':4194304,'''model_name''':'''TSM-520'''}) +devices.devids['''tsm_520_ver1_sub115550'''] = devclass(devices.devids['''tsm_520_ver1'''], '''tsm_520_ver1_sub115550''', '''TSM520/1.1.55.50 Mozilla/4.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''tx_95c_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''tx_95c_ver1''', '''TX-95C''', False, None) +devices.devids['''tx_95c_ver1_sub6223d1104'''] = devclass(devices.devids['''tx_95c_ver1'''], '''tx_95c_ver1_sub6223d1104''', '''TX-95C/1.0 UP.Browser/6.2.2.3.d.1.104 (GUI) MMP/2.0''', False, None) +devices.devids['''smarttrust_wib_ver1'''] = devclass(devices.devids['''generic'''], '''smarttrust_wib_ver1''', '''WIG Browser/1''', False, {'''brand_name''':'''SmartTrust''','''model_name''':'''WIB'''}) +devices.devids['''smarttrust_wib_ver1_sub11gw60'''] = devclass(devices.devids['''smarttrust_wib_ver1'''], '''smarttrust_wib_ver1_sub11gw60''', '''WIG Browser/1.1 Gateway/6.0''', False, None) +devices.devids['''wonu_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''wonu_ver1''', '''Wonu S1''', True, {'''bmp''':True,'''brand_name''':'''Wonu''','''colors''':256,'''downloadfun_support''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_image_height''':60,'''max_image_width''':101,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S1''','''picture''':True,'''picture_bmp''':True,'''picture_colors''':8,'''picture_df_size_limit''':38000,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':96,'''picture_max_width''':128,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''resolution_height''':80,'''resolution_width''':101,'''ringtone''':True,'''ringtone_df_size_limit''':11000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':8,'''screensaver_df_size_limit''':64000,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':96,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''uaprof''':'''http://www.wonutel.co.kr/UAProfile/WonuS1.xml''','''voices''':8,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':8,'''wallpaper_df_size_limit''':38000,'''wallpaper_gif''':True,'''wallpaper_greyscale''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':96,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''wonu_ver1_sub5055'''] = devclass(devices.devids['''wonu_ver1'''], '''wonu_ver1_sub5055''', '''Wonu S1 UP.Browser/5.0.5.5 (GUI)''', False, {'''max_data_rate''':9}) +devices.devids['''wonu_s3_ver1'''] = devclass(devices.devids['''opwv_v6_generic'''], '''wonu_s3_ver1''', '''Wonu S3''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Wonu''','''colors''':65536,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S3''','''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''wonu_s3_ver1_sub61061c4'''] = devclass(devices.devids['''wonu_s3_ver1'''], '''wonu_s3_ver1_sub61061c4''', '''Wonu S3 UP.Browser/6.1.0.6.1.c.4 (GUI) MMP/1.0''', False, None) +devices.devids['''yas_cosmos_ver1'''] = devclass(devices.devids['''opwv_v61_generic'''], '''yas_cosmos_ver1''', '''YAS-COSMOS''', True, {'''brand_name''':'''Yas''','''model_name''':'''Cosmos'''}) +devices.devids['''yas_cosmos_ver1_sub61073'''] = devclass(devices.devids['''yas_cosmos_ver1'''], '''yas_cosmos_ver1_sub61073''', '''YAS-COSMOS/1.0 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0''', False, None) +devices.devids['''docomo_generic_ver1'''] = devclass(devices.devids['''chtml_generic'''], '''docomo_generic_ver1''', '''Generic DoCoMo''', False, {'''chtml_make_phone_call_string''':'''tel:'''}) +devices.devids['''docomo_generic_jap_ver1'''] = devclass(devices.devids['''docomo_generic_ver1'''], '''docomo_generic_jap_ver1''', '''DoCoMo''', False, {'''brand_name''':'''NTT DoCoMo''','''break_list_of_links_with_br_element_recommended''':False,'''built_in_back_button_support''':True,'''card_title_support''':False,'''chtml_display_accesskey''':True,'''columns''':8,'''elective_forms_recommended''':False,'''gif''':True,'''html_wi_imode_html_1''':True,'''imode_region''':'''ja''','''max_deck_size''':5000,'''max_image_height''':64,'''max_image_width''':96,'''max_length_of_password''':20,'''max_length_of_username''':256,'''max_url_length_bookmark''':100,'''max_url_length_homepage''':100,'''max_url_length_in_requests''':100,'''menu_with_list_of_links_recommended''':False,'''preferred_markup''':'''html_wi_imode_html_1''','''resolution_height''':72,'''resolution_width''':96,'''rows''':6,'''table_support''':False,'''wbmp''':False}) +devices.devids['''docomo_generic_jap_ver2'''] = devclass(devices.devids['''docomo_generic_jap_ver1'''], '''docomo_generic_jap_ver2''', '''DoCoMo/2.0''', False, None) +devices.devids['''docomo_generic_501i'''] = devclass(devices.devids['''docomo_generic_jap_ver1'''], '''docomo_generic_501i''', '''501i''', False, None) +devices.devids['''docomo_ver1_subd501i'''] = devclass(devices.devids['''docomo_generic_501i'''], '''docomo_ver1_subd501i''', '''DoCoMo/1.0/D501i''', True, {'''model_name''':'''D501i'''}) +devices.devids['''docomo_501i_ver1_subf501i'''] = devclass(devices.devids['''docomo_generic_501i'''], '''docomo_501i_ver1_subf501i''', '''DoCoMo/1.0/F501i''', True, {'''max_image_width''':112,'''model_name''':'''F501i''','''resolution_height''':84,'''resolution_width''':112}) +devices.devids['''docomo_501i_ver1_subn501i'''] = devclass(devices.devids['''docomo_generic_501i'''], '''docomo_501i_ver1_subn501i''', '''DoCoMo/1.0/N501i''', True, {'''columns''':10,'''max_image_height''':96,'''max_image_width''':118,'''model_name''':'''N501i''','''resolution_height''':128,'''resolution_width''':118,'''rows''':10}) +devices.devids['''docomo_501i_ver1_subp501i'''] = devclass(devices.devids['''docomo_generic_501i'''], '''docomo_501i_ver1_subp501i''', '''DoCoMo/1.0/P501i''', True, {'''max_image_height''':90,'''model_name''':'''P501i''','''resolution_height''':120,'''rows''':8}) +devices.devids['''docomo_generic_502i'''] = devclass(devices.devids['''docomo_generic_501i'''], '''docomo_generic_502i''', '''502i''', False, {'''colors''':256,'''emoji''':True,'''html_wi_imode_html_2''':True,'''mld''':True,'''preferred_markup''':'''html_wi_imode_html_2''','''rows''':7}) +devices.devids['''docomo_502i_ver1_subd502i'''] = devclass(devices.devids['''docomo_generic_502i'''], '''docomo_502i_ver1_subd502i''', '''DoCoMo/1.0/D502i''', True, {'''model_name''':'''D502i''','''resolution_height''':90}) +devices.devids['''docomo_502i_ver1_subd502ic'''] = devclass(devices.devids['''docomo_502i_ver1_subd502i'''], '''docomo_502i_ver1_subd502ic''', '''DoCoMo/1.0/D502i/c10''', False, {'''max_deck_size''':10240}) +devices.devids['''docomo_502i_ver1_subf502i'''] = devclass(devices.devids['''docomo_generic_502i'''], '''docomo_502i_ver1_subf502i''', '''DoCoMo/1.0/F502i''', True, {'''model_name''':'''F502i''','''resolution_height''':91}) +devices.devids['''docomo_502i_ver1_subf502ic'''] = devclass(devices.devids['''docomo_502i_ver1_subf502i'''], '''docomo_502i_ver1_subf502ic''', '''DoCoMo/1.0/F502i/c10''', False, {'''max_deck_size''':10240}) +devices.devids['''docomo_502i_ver1_subf502it'''] = devclass(devices.devids['''docomo_502i_ver1_subf502i'''], '''docomo_502i_ver1_subf502it''', '''DoCoMo/1.0/F502it''', False, None) +devices.devids['''docomo_502i_ver1_subf502itc'''] = devclass(devices.devids['''docomo_502i_ver1_subf502it'''], '''docomo_502i_ver1_subf502itc''', '''DoCoMo/1.0/F502it/c10''', False, {'''max_deck_size''':10240}) +devices.devids['''docomo_502i_ver1_subn502i'''] = devclass(devices.devids['''docomo_generic_502i'''], '''docomo_502i_ver1_subn502i''', '''DoCoMo/1.0/N502i''', True, {'''colors''':4,'''columns''':10,'''max_image_height''':96,'''max_image_width''':118,'''model_name''':'''N502i''','''resolution_height''':128,'''resolution_width''':118,'''rows''':10}) +devices.devids['''docomo_502i_ver1_subn502ic8'''] = devclass(devices.devids['''docomo_502i_ver1_subn502i'''], '''docomo_502i_ver1_subn502ic8''', '''DoCoMo/1.0/N502i/c08''', False, {'''max_deck_size''':8000}) +devices.devids['''docomo_502i_ver1_subn502it'''] = devclass(devices.devids['''docomo_502i_ver1_subn502i'''], '''docomo_502i_ver1_subn502it''', '''DoCoMo/1.0/N502it''', False, {'''colors''':256}) +devices.devids['''docomo_502i_ver1_subn502itc'''] = devclass(devices.devids['''docomo_502i_ver1_subn502it'''], '''docomo_502i_ver1_subn502itc''', '''DoCoMo/1.0/N502it/c10''', False, {'''max_deck_size''':10240}) +devices.devids['''docomo_502i_ver1_subnm502i'''] = devclass(devices.devids['''docomo_generic_502i'''], '''docomo_502i_ver1_subnm502i''', '''DoCoMo/1.0/NM502i''', True, {'''colors''':2,'''max_image_height''':79,'''max_image_width''':111,'''model_name''':'''NM502i''','''resolution_height''':106,'''resolution_width''':111,'''rows''':6}) +devices.devids['''docomo_502i_ver1_subnm502ic'''] = devclass(devices.devids['''docomo_502i_ver1_subnm502i'''], '''docomo_502i_ver1_subnm502ic''', '''DoCoMo/1.0/NM502i/c10''', False, {'''max_deck_size''':10240}) +devices.devids['''docomo_502i_ver1_subp502i'''] = devclass(devices.devids['''docomo_generic_502i'''], '''docomo_502i_ver1_subp502i''', '''DoCoMo/1.0/P502i''', True, {'''colors''':4,'''max_image_height''':87,'''model_name''':'''P502i''','''resolution_height''':117,'''rows''':8}) +devices.devids['''docomo_502i_ver1_subp502ic'''] = devclass(devices.devids['''docomo_502i_ver1_subp502i'''], '''docomo_502i_ver1_subp502ic''', '''DoCoMo/1.0/P502i/c10''', False, {'''max_deck_size''':10240}) +devices.devids['''docomo_502i_ver1_subp502ic10goog'''] = devclass(devices.devids['''docomo_502i_ver1_subp502ic'''], '''docomo_502i_ver1_subp502ic10goog''', '''DoCoMo/1.0/P502i/c10 (Google CHTML Proxy/1.0)''', False, None) +devices.devids['''docomo_502i_ver1_subso502i'''] = devclass(devices.devids['''docomo_generic_502i'''], '''docomo_502i_ver1_subso502i''', '''DoCoMo/1.0/SO502i''', True, {'''colors''':4,'''max_image_height''':90,'''max_image_width''':120,'''model_name''':'''SO502i''','''resolution_height''':120,'''resolution_width''':120,'''rows''':8}) +devices.devids['''docomo_502i_ver1_subso502ic'''] = devclass(devices.devids['''docomo_502i_ver1_subso502i'''], '''docomo_502i_ver1_subso502ic''', '''DoCoMo/1.0/SO502iWM/c10''', False, {'''colors''':256,'''max_deck_size''':10240,'''resolution_height''':117,'''rows''':7}) +devices.devids['''docomo_generic_503i'''] = devclass(devices.devids['''docomo_generic_502i'''], '''docomo_generic_503i''', '''503i''', False, {'''colors''':4096,'''doja_1_0''':True,'''html_wi_imode_html_3''':True,'''https_support''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':10,'''j2me_max_jar_size''':10,'''j2me_storage_size''':110,'''max_deck_size''':10240,'''phone_id_provided''':True,'''preferred_markup''':'''html_wi_imode_html_3''','''resolution_height''':130,'''resolution_width''':120,'''voices''':8}) +devices.devids['''docomo_503i_ver1_subd503i'''] = devclass(devices.devids['''docomo_generic_503i'''], '''docomo_503i_ver1_subd503i''', '''DoCoMo/1.0/D503i/c10''', True, {'''max_image_height''':94,'''max_image_width''':132,'''model_name''':'''D503i''','''resolution_height''':126,'''resolution_width''':132}) +devices.devids['''docomo_503i_ver1_subd503is'''] = devclass(devices.devids['''docomo_503i_ver1_subd503i'''], '''docomo_503i_ver1_subd503is''', '''DoCoMo/1.0/D503iS/c10''', False, None) +devices.devids['''docomo_503i_ver1_subf503i'''] = devclass(devices.devids['''docomo_generic_503i'''], '''docomo_503i_ver1_subf503i''', '''DoCoMo/1.0/F503i/c10''', True, {'''colors''':256,'''columns''':10,'''j2me_storage_size''':600,'''max_image_height''':97,'''max_image_width''':120,'''model_name''':'''F503i''','''rows''':10}) +devices.devids['''docomo_503i_ver1_subf503is'''] = devclass(devices.devids['''docomo_503i_ver1_subf503i'''], '''docomo_503i_ver1_subf503is''', '''DoCoMo/1.0/F503iS/c10''', False, {'''colors''':4096,'''columns''':12,'''rows''':12}) +devices.devids['''docomo_503i_ver1_subn503i'''] = devclass(devices.devids['''docomo_generic_503i'''], '''docomo_503i_ver1_subn503i''', '''DoCoMo/1.0/N503i/c10''', True, {'''columns''':10,'''j2me_storage_size''':96,'''max_image_height''':96,'''max_image_width''':118,'''model_name''':'''N503i''','''resolution_height''':128,'''resolution_width''':118,'''rows''':10}) +devices.devids['''docomo_503i_ver1_subn503is'''] = devclass(devices.devids['''docomo_503i_ver1_subn503i'''], '''docomo_503i_ver1_subn503is''', '''DoCoMo/1.0/N503iS/c10''', False, None) +devices.devids['''docomo_503i_ver1_subp503i'''] = devclass(devices.devids['''docomo_generic_503i'''], '''docomo_503i_ver1_subp503i''', '''DoCoMo/1.0/P503i/c10''', True, {'''colors''':256,'''columns''':12,'''j2me_storage_size''':288,'''max_image_height''':97,'''max_image_width''':120,'''model_name''':'''P503i''','''rows''':10}) +devices.devids['''docomo_503i_ver1_subp503is'''] = devclass(devices.devids['''docomo_503i_ver1_subp503i'''], '''docomo_503i_ver1_subp503is''', '''DoCoMo/1.0/P503iS/c10''', False, None) +devices.devids['''docomo_503i_ver1_subso503i'''] = devclass(devices.devids['''docomo_generic_503i'''], '''docomo_503i_ver1_subso503i''', '''DoCoMo/1.0/SO503i/c10''', True, {'''colors''':65536,'''j2me_storage_size''':350,'''max_image_height''':97,'''max_image_width''':120,'''model_name''':'''SO503i'''}) +devices.devids['''docomo_503i_ver1_subso503ic8'''] = devclass(devices.devids['''docomo_503i_ver1_subso503i'''], '''docomo_503i_ver1_subso503ic8''', '''DoCoMo/1.0/SO503i/c8202''', False, {'''resolution_height''':113}) +devices.devids['''docomo_503i_ver1_subso503isc'''] = devclass(devices.devids['''docomo_503i_ver1_subso503ic8'''], '''docomo_503i_ver1_subso503isc''', '''DoCoMo/1.0/SO503iS/c10''', False, None) +devices.devids['''docomo_generic_504i'''] = devclass(devices.devids['''docomo_generic_503i'''], '''docomo_generic_504i''', '''504i''', False, {'''colors''':65536,'''directdownload_support''':True,'''doja_2_0''':True,'''html_wi_imode_html_4''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_heap_size''':100,'''j2me_max_jar_size''':30,'''j2me_storage_size''':1000,'''jpg''':True,'''max_no_of_bookmarks''':50,'''preferred_markup''':'''html_wi_imode_html_4''','''ringtone''':True,'''voices''':32,'''wallpaper''':True}) +devices.devids['''docomo_504i_ver1_subd504i'''] = devclass(devices.devids['''docomo_generic_504i'''], '''docomo_504i_ver1_subd504i''', '''DoCoMo/1.0/D504i/c10''', True, {'''colors''':262144,'''j2me_storage_size''':1024,'''max_image_height''':108,'''max_image_width''':132,'''model_name''':'''D504i''','''resolution_height''':144,'''resolution_width''':132,'''rows''':11}) +devices.devids['''docomo_504i_ver1_subf504i'''] = devclass(devices.devids['''docomo_generic_504i'''], '''docomo_504i_ver1_subf504i''', '''DoCoMo/1.0/F504i/c10/TB''', True, {'''max_image_height''':102,'''max_image_width''':132,'''model_name''':'''F504i''','''resolution_height''':136,'''resolution_width''':132,'''rows''':8}) +devices.devids['''docomo_504i_ver1_subf504is'''] = devclass(devices.devids['''docomo_504i_ver1_subf504i'''], '''docomo_504i_ver1_subf504is''', '''DoCoMo/1.0/F504iS/c10/TB''', False, {'''built_in_camera''':True,'''j2me_storage_size''':1500}) +devices.devids['''docomo_504i_ver1_sub10504i'''] = devclass(devices.devids['''docomo_generic_504i'''], '''docomo_504i_ver1_sub10504i''', '''DoCoMo/1.0/N504i/c10''', True, {'''columns''':10,'''max_image_height''':135,'''max_image_width''':160,'''model_name''':'''N504i''','''resolution_height''':180,'''resolution_width''':160,'''rows''':10}) +devices.devids['''docomo_504i_ver1_subn504i'''] = devclass(devices.devids['''docomo_504i_ver1_sub10504i'''], '''docomo_504i_ver1_subn504i''', '''DoCoMo/1.0/N504i/c10/TB''', False, {'''j2me_storage_size''':544}) +devices.devids['''docomo_504i_ver1_subn504is'''] = devclass(devices.devids['''docomo_504i_ver1_subn504i'''], '''docomo_504i_ver1_subn504is''', '''DoCoMo/1.0/N504iS/c10/TB''', False, {'''built_in_camera''':True,'''model_name''':'''NEC 504iS'''}) +devices.devids['''docomo_504i_ver1_subp504i'''] = devclass(devices.devids['''docomo_generic_504i'''], '''docomo_504i_ver1_subp504i''', '''DoCoMo/1.0/P504i/c10/TB''', True, {'''j2me_storage_size''':1500,'''max_image_height''':108,'''max_image_width''':132,'''model_name''':'''P504i''','''resolution_height''':144,'''resolution_width''':132,'''rows''':9}) +devices.devids['''docomo_504i_ver1_subp504is'''] = devclass(devices.devids['''docomo_504i_ver1_subp504i'''], '''docomo_504i_ver1_subp504is''', '''DoCoMo/1.0/P504iS/c10/TB''', False, {'''built_in_camera''':True,'''model_name''':'''P504iS'''}) +devices.devids['''docomo_504i_ver1_subso504i'''] = devclass(devices.devids['''docomo_generic_504i'''], '''docomo_504i_ver1_subso504i''', '''DoCoMo/1.0/SO504i/c10/TB''', True, {'''max_image_height''':84,'''max_image_width''':120,'''model_name''':'''SO504i''','''resolution_height''':112}) +devices.devids['''docomo_generic_505i'''] = devclass(devices.devids['''docomo_generic_504i'''], '''docomo_generic_505i''', '''505i''', False, {'''built_in_camera''':True,'''colors''':262144,'''columns''':20,'''doja_3_0''':True,'''flash_lite_version''':'''1_1''','''html_wi_imode_html_5''':True,'''j2me_heap_size''':200,'''j2me_screen_height''':240,'''j2me_screen_width''':240,'''j2me_storage_size''':1500,'''max_deck_size''':20000,'''model_name''':'''505i Series''','''preferred_markup''':'''html_wi_imode_html_5''','''resolution_height''':270,'''resolution_width''':240,'''rows''':10,'''voices''':48}) +devices.devids['''docomo_505i_ver1_subd505i'''] = devclass(devices.devids['''docomo_generic_505i'''], '''docomo_505i_ver1_subd505i''', '''DoCoMo/1.0/D505i/c20/TB/W20H10''', True, {'''j2me_screen_width''':270,'''j2me_storage_size''':2048,'''max_image_height''':202,'''max_image_width''':240,'''model_name''':'''D505i'''}) +devices.devids['''docomo_505i_ver1_subd505is'''] = devclass(devices.devids['''docomo_505i_ver1_subd505i'''], '''docomo_505i_ver1_subd505is''', '''DoCoMo/1.0/D505iS/c20/TB/W20H10''', False, None) +devices.devids['''docomo_505i_ver1_subf505i'''] = devclass(devices.devids['''docomo_generic_505i'''], '''docomo_505i_ver1_subf505i''', '''DoCoMo/1.0/F505i/c20/TB/W20H10''', True, {'''j2me_storage_size''':2000,'''max_image_height''':201,'''max_image_width''':240,'''model_name''':'''F505i''','''resolution_height''':268,'''voices''':64}) +devices.devids['''docomo_505i_ver1_subf505iw24'''] = devclass(devices.devids['''docomo_505i_ver1_subf505i'''], '''docomo_505i_ver1_subf505iw24''', '''DoCoMo/1.0/F505i/c20/TB/W24H12''', False, {'''columns''':24,'''rows''':12}) +devices.devids['''docomo_505i_ver1_subf505igps'''] = devclass(devices.devids['''docomo_505i_ver1_subf505i'''], '''docomo_505i_ver1_subf505igps''', '''DoCoMo/1.0/F505iGPS/c20/TB/W20H10''', False, None) +devices.devids['''docomo_505i_ver1_subf505igpsw24'''] = devclass(devices.devids['''docomo_505i_ver1_subf505igps'''], '''docomo_505i_ver1_subf505igpsw24''', '''DoCoMo/1.0/F505iGPS/c20/TB/W24H12''', False, {'''columns''':24,'''rows''':12}) +devices.devids['''docomo_505i_ver1_subn505i'''] = devclass(devices.devids['''docomo_generic_505i'''], '''docomo_505i_ver1_subn505i''', '''DoCoMo/1.0/N505i/c20/TB/W20H10''', True, {'''j2me_storage_size''':1512,'''max_image_height''':202,'''max_image_width''':240,'''model_name''':'''N505i''','''voices''':64}) +devices.devids['''docomo_505i_ver1_subn505iw30'''] = devclass(devices.devids['''docomo_505i_ver1_subn505i'''], '''docomo_505i_ver1_subn505iw30''', '''DoCoMo/1.0/N505i/c20/TB/W30H14''', False, {'''columns''':30,'''rows''':14}) +devices.devids['''docomo_505i_ver1_subn505iw16'''] = devclass(devices.devids['''docomo_505i_ver1_subn505i'''], '''docomo_505i_ver1_subn505iw16''', '''DoCoMo/1.0/N505i/c20/TB/W16H08''', False, {'''columns''':16,'''rows''':8}) +devices.devids['''docomo_505i_ver1_subn505is'''] = devclass(devices.devids['''docomo_505i_ver1_subn505i'''], '''docomo_505i_ver1_subn505is''', '''DoCoMo/1.0/N505iS/c20/TB/W20H10''', False, None) +devices.devids['''docomo_505i_ver1_subn505isw30'''] = devclass(devices.devids['''docomo_505i_ver1_subn505is'''], '''docomo_505i_ver1_subn505isw30''', '''DoCoMo/1.0/N505iS/c20/TB/W30H14''', False, {'''columns''':30,'''rows''':14}) +devices.devids['''docomo_505i_ver1_subn505isw16'''] = devclass(devices.devids['''docomo_505i_ver1_subn505is'''], '''docomo_505i_ver1_subn505isw16''', '''DoCoMo/1.0/N505iS/c20/TB/W16H08''', False, {'''columns''':16,'''rows''':8}) +devices.devids['''docomo_505i_ver1_subp505i'''] = devclass(devices.devids['''docomo_generic_505i'''], '''docomo_505i_ver1_subp505i''', '''DoCoMo/1.0/P505i/c20/TB/W20H10''', True, {'''colors''':65536,'''j2me_storage_size''':3500,'''max_image_height''':199,'''max_image_width''':240,'''model_name''':'''P505i''','''resolution_height''':266}) +devices.devids['''docomo_505i_ver1_subp505is'''] = devclass(devices.devids['''docomo_505i_ver1_subp505i'''], '''docomo_505i_ver1_subp505is''', '''DoCoMo/1.0/P505iS/c20/TB/W20H10''', False, None) +devices.devids['''docomo_505i_ver1_subsh505i'''] = devclass(devices.devids['''docomo_generic_505i'''], '''docomo_505i_ver1_subsh505i''', '''DoCoMo/1.0/SH505i/c20/TB/W24H12''', True, {'''columns''':24,'''j2me_storage_size''':1697,'''max_image_height''':189,'''max_image_width''':240,'''model_name''':'''SH505i''','''resolution_height''':252,'''rows''':12,'''voices''':64}) +devices.devids['''docomo_505i_ver1_subsh505i2'''] = devclass(devices.devids['''docomo_505i_ver1_subsh505i'''], '''docomo_505i_ver1_subsh505i2''', '''DoCoMo/1.0/SH505i2/c20/TB/W24H12''', False, None) +devices.devids['''docomo_505i_ver1_subsh505is'''] = devclass(devices.devids['''docomo_505i_ver1_subsh505i'''], '''docomo_505i_ver1_subsh505is''', '''DoCoMo/1.0/SH505iS/c20/TB/W24H12''', False, {'''j2me_storage_size''':1512}) +devices.devids['''docomo_505i_ver1_subso505i'''] = devclass(devices.devids['''docomo_generic_505i'''], '''docomo_505i_ver1_subso505i''', '''DoCoMo/1.0/SO505i/c20/TB/W21H09''', True, {'''columns''':21,'''j2me_storage_size''':1828,'''max_image_height''':180,'''max_image_width''':256,'''model_name''':'''SO505i''','''resolution_height''':240,'''resolution_width''':256,'''rows''':9}) +devices.devids['''docomo_505i_ver1_subso505iw18'''] = devclass(devices.devids['''docomo_505i_ver1_subso505i'''], '''docomo_505i_ver1_subso505iw18''', '''DoCoMo/1.0/SO505i/c20/TB/W18H08''', False, {'''columns''':18,'''rows''':8}) +devices.devids['''docomo_505i_ver1_subso505is'''] = devclass(devices.devids['''docomo_505i_ver1_subso505i'''], '''docomo_505i_ver1_subso505is''', '''DoCoMo/1.0/SO505iS/c20/TB/W20H10''', False, {'''columns''':20,'''j2me_storage_size''':2048,'''rows''':10}) +devices.devids['''docomo_505i_ver1_subso505isw40'''] = devclass(devices.devids['''docomo_505i_ver1_subso505is'''], '''docomo_505i_ver1_subso505isw40''', '''DoCoMo/1.0/SO505iS/c20/TB/W40H21''', False, {'''columns''':40,'''rows''':21}) +devices.devids['''docomo_505i_ver1_subso505isw30'''] = devclass(devices.devids['''docomo_505i_ver1_subso505is'''], '''docomo_505i_ver1_subso505isw30''', '''DoCoMo/1.0/SO505iS/c20/TB/W30H16''', False, {'''columns''':30,'''rows''':16}) +devices.devids['''docomo_505i_ver1_subso505isw16'''] = devclass(devices.devids['''docomo_505i_ver1_subso505is'''], '''docomo_505i_ver1_subso505isw16''', '''DoCoMo/1.0/SO505iS/c20/TB/W16H08''', False, {'''columns''':16,'''rows''':8}) +devices.devids['''docomo_generic_506i'''] = devclass(devices.devids['''docomo_generic_504i'''], '''docomo_generic_506i''', '''506i''', False, None) +devices.devids['''docomo_d506i_v1'''] = devclass(devices.devids['''docomo_505i_ver1_subd505is'''], '''docomo_d506i_v1''', '''DoCoMo/1.0/D506i/c20/TB/W20H10''', False, {'''model_name''':'''D506i''','''wml_make_phone_call_string''':'''none'''}) +devices.devids['''docomo_f506i_v1'''] = devclass(devices.devids['''docomo_505i_ver1_subf505i'''], '''docomo_f506i_v1''', '''DoCoMo/1.0/F506i/c20/TB/W20H10''', False, None) +devices.devids['''docomo_n506i_v1'''] = devclass(devices.devids['''docomo_505i_ver1_subn505is'''], '''docomo_n506i_v1''', '''DoCoMo/1.0/N506i/c20/TB/W20H11''', False, None) +devices.devids['''docomo_n506ic_v1'''] = devclass(devices.devids['''docomo_505i_ver1_subn505i'''], '''docomo_n506ic_v1''', '''DoCoMo/1.0/N506iS/c20/TB/W20H11''', False, None) +devices.devids['''docomo_p506ic_v1'''] = devclass(devices.devids['''docomo_505i_ver1_subp505i'''], '''docomo_p506ic_v1''', '''DoCoMo/1.0/P506iC/c20/TB/W20H10''', False, None) +devices.devids['''docomo_sh506ic_v1'''] = devclass(devices.devids['''docomo_505i_ver1_subsh505is'''], '''docomo_sh506ic_v1''', '''DoCoMo/1.0/SH506iC/c20/TB/W24H12''', False, None) +devices.devids['''docomo_so506ic_v1'''] = devclass(devices.devids['''docomo_505i_ver1_subso505is'''], '''docomo_so506ic_v1''', '''DoCoMo/1.0/SO506iC/c20/TB/W20H10''', False, None) +devices.devids['''docomo_ver1_sub10506203014'''] = devclass(devices.devids['''docomo_generic_506i'''], '''docomo_ver1_sub10506203014''', '''DoCoMo/1.0/P506iC/c20/TB/W30H14''', False, {'''columns''':30,'''model_name''':'''P506iC''','''rows''':14}) +devices.devids['''docomo_ver1_subtc10506203014'''] = devclass(devices.devids['''docomo_ver1_sub10506203014'''], '''docomo_ver1_subtc10506203014''', '''DoCoMo/1.0/P506iC/c20/TC/W30H14''', False, None) +devices.devids['''docomo_generic_2051'''] = devclass(devices.devids['''docomo_generic_504i'''], '''docomo_generic_2051''', '''DoCoMo/2.0 2051''', False, {'''brand_name''':'''NTT DoCoMo FOMA 3G''','''built_in_recorder''':True,'''columns''':11,'''doja_2_1''':True,'''max_deck_size''':100000,'''resolution_height''':198,'''resolution_width''':176,'''rows''':11}) +devices.devids['''docomo_2051_ver1_f2051'''] = devclass(devices.devids['''docomo_generic_2051'''], '''docomo_2051_ver1_f2051''', '''DoCoMo/2.0 F2051(c100;TB)''', True, {'''columns''':12,'''max_image_height''':136,'''max_image_width''':176,'''model_name''':'''F2051''','''resolution_height''':182,'''rows''':13}) +devices.devids['''docomo_2051_ver1_n2051'''] = devclass(devices.devids['''docomo_generic_2051'''], '''docomo_2051_ver1_n2051''', '''DoCoMo/2.0 N2051(c100;TB)''', True, {'''max_image_height''':148,'''max_image_width''':176,'''model_name''':'''N2051'''}) +devices.devids['''docomo_2051_ver1_p2102v'''] = devclass(devices.devids['''docomo_generic_2051'''], '''docomo_2051_ver1_p2102v''', '''DoCoMo/2.0 P2101V(c100)''', True, {'''colors''':262144,'''doja_2_0''':False,'''doja_2_1''':False,'''max_image_height''':136,'''max_image_width''':176,'''model_name''':'''P2101V''','''resolution_height''':182,'''voices''':16}) +devices.devids['''docomo_2051_ver1_f2102v'''] = devclass(devices.devids['''docomo_2051_ver1_f2051'''], '''docomo_2051_ver1_f2102v''', '''DoCoMo/2.0 F2102V(c100;TB)''', True, {'''doja_2_2''':True,'''max_image_height''':136,'''max_image_width''':176,'''model_name''':'''F2102V''','''voices''':64}) +devices.devids['''docomo_2051_ver1_n2102v'''] = devclass(devices.devids['''docomo_generic_2051'''], '''docomo_2051_ver1_n2102v''', '''DoCoMo/2.0 N2102V(c100;TB)''', True, {'''doja_2_2''':True,'''max_image_height''':148,'''max_image_width''':176,'''model_name''':'''N2102V''','''voices''':40}) +devices.devids['''docomo_2051_ver1_n2701'''] = devclass(devices.devids['''docomo_generic_2051'''], '''docomo_2051_ver1_n2701''', '''DoCoMo/2.0/N2701/c10/TB''', True, {'''max_deck_size''':10240,'''max_image_height''':148,'''max_image_width''':176,'''model_name''':'''N2701''','''voices''':40}) +devices.devids['''docomo_2051_ver1_n2701c'''] = devclass(devices.devids['''docomo_2051_ver1_n2701'''], '''docomo_2051_ver1_n2701c''', '''DoCoMo/2.0 N2701(c100;TB)''', False, None) +devices.devids['''docomo_generic_900i'''] = devclass(devices.devids['''docomo_generic_505i'''], '''docomo_generic_900i''', '''DoCoMo/2.0 900i''', False, {'''brand_name''':'''NTT DoCoMo FOMA 3G''','''doja_3_5''':True,'''flash_lite_version''':'''1_1''','''html_wi_imode_htmlx_1''':True,'''j2me_heap_size''':400,'''j2me_max_jar_size''':100,'''j2me_storage_size''':2000,'''midi_polyphonic''':True,'''model_name''':'''900i Series''','''video_3gpp''':True,'''video_3gpp2''':True,'''xhtml_table_support''':True}) +devices.devids['''docomo_generic_700i'''] = devclass(devices.devids['''docomo_generic_900i'''], '''docomo_generic_700i''', '''DoCoMo/2.0 700i''', False, {'''aac''':True,'''flash_lite_version''':'''1_1''','''model_name''':'''700i Series'''}) +devices.devids['''docomo_d900i_v2_w20'''] = devclass(devices.devids['''docomo_generic_900i'''], '''docomo_d900i_v2_w20''', '''DoCoMo/2.0 D900i(c100;TB;W20H10)''', False, None) +devices.devids['''docomo_d701i_v2_w23'''] = devclass(devices.devids['''docomo_generic_700i'''], '''docomo_d701i_v2_w23''', '''DoCoMo/2.0 D701i(c100;TB;W23H12)''', False, {'''colors''':65536}) +devices.devids['''docomo_f700i_v2_w23'''] = devclass(devices.devids['''docomo_generic_700i'''], '''docomo_f700i_v2_w23''', '''DoCoMo/2.0 F700i(c100;TB;W23H12)''', False, None) +devices.devids['''docomo_n700i_v2_w24'''] = devclass(devices.devids['''docomo_generic_700i'''], '''docomo_n700i_v2_w24''', '''DoCoMo/2.0 N700i(c100;TB;W24H12)''', False, {'''colors''':65536}) +devices.devids['''docomo_p700i_v2_w24'''] = devclass(devices.devids['''docomo_generic_700i'''], '''docomo_p700i_v2_w24''', '''DoCoMo/2.0 P700i(c100;TB;W24H12)''', False, None) +devices.devids['''docomo_p701id_v2_w24'''] = devclass(devices.devids['''docomo_generic_700i'''], '''docomo_p701id_v2_w24''', '''DoCoMo/2.0 P701iD(c100;TB;W24H12)''', False, {'''colors''':65536}) +devices.devids['''docomo_sh700i_v2_w24'''] = devclass(devices.devids['''docomo_generic_700i'''], '''docomo_sh700i_v2_w24''', '''DoCoMo/2.0 SH700i(c100;TB;W24H12)''', False, {'''amr''':True,'''awb''':True,'''max_image_height''':252,'''max_image_width''':240,'''midi_monophonic''':True,'''model_name''':'''SH700i''','''voices''':64,'''wml_make_phone_call_string''':'''none'''}) +devices.devids['''docomo_sa700is_v2_w24'''] = devclass(devices.devids['''docomo_generic_700i'''], '''docomo_sa700is_v2_w24''', '''DoCoMo/2.0 SA700iS(c100;TB;W24H12)''', False, None) +devices.devids['''docomo_n700i_v2_w20'''] = devclass(devices.devids['''docomo_n700i_v2_w24'''], '''docomo_n700i_v2_w20''', '''DoCoMo/2.0 N700i(c100;TB;W20H10)''', False, None) +devices.devids['''docomo_n700i_v2_w30'''] = devclass(devices.devids['''docomo_n700i_v2_w24'''], '''docomo_n700i_v2_w30''', '''DoCoMo/2.0 N700i(c100;TB;W30H15)''', False, None) +devices.devids['''docomo_n701i_v2_w24'''] = devclass(devices.devids['''docomo_n700i_v2_w24'''], '''docomo_n701i_v2_w24''', '''DoCoMo/2.0 N701i(c100;TB;W24H12)''', False, None) +devices.devids['''docomo_p700i_v2_w20'''] = devclass(devices.devids['''docomo_p700i_v2_w24'''], '''docomo_p700i_v2_w20''', '''DoCoMo/2.0 P700i(c100;TB;W20H10)''', False, None) +devices.devids['''docomo_p700i_v2_w30'''] = devclass(devices.devids['''docomo_p700i_v2_w24'''], '''docomo_p700i_v2_w30''', '''DoCoMo/2.0 P700i(c100;TB;W30H15)''', False, None) +devices.devids['''docomo_sh700is_v2_w24'''] = devclass(devices.devids['''docomo_sh700i_v2_w24'''], '''docomo_sh700is_v2_w24''', '''DoCoMo/2.0 SH700iS(c100;TB;W24H12)''', False, None) +devices.devids['''docomo_f700i_v2_w19'''] = devclass(devices.devids['''docomo_f700i_v2_w23'''], '''docomo_f700i_v2_w19''', '''DoCoMo/2.0 F700i(c100;TB;W19H10)''', False, None) +devices.devids['''docomo_f700i_v2_w28'''] = devclass(devices.devids['''docomo_f700i_v2_w23'''], '''docomo_f700i_v2_w28''', '''DoCoMo/2.0 F700i(c100;TB;W28H15)''', False, None) +devices.devids['''docomo_f700is_v2_w23'''] = devclass(devices.devids['''docomo_f700i_v2_w23'''], '''docomo_f700is_v2_w23''', '''DoCoMo/2.0 F700iS(c100;TB;W23H12)''', False, None) +devices.devids['''docomo_900i_ver1_subf900i'''] = devclass(devices.devids['''docomo_generic_900i'''], '''docomo_900i_ver1_subf900i''', '''DoCoMo/2.0 F900i(c100;TB;W22H12)''', True, {'''columns''':22,'''j2me_screen_width''':230,'''j2me_storage_size''':2048,'''max_image_height''':180,'''max_image_width''':230,'''model_name''':'''F900i''','''resolution_height''':240,'''resolution_width''':230,'''rows''':12,'''voices''':64}) +devices.devids['''docomo_f700is_v2_w19'''] = devclass(devices.devids['''docomo_f700is_v2_w23'''], '''docomo_f700is_v2_w19''', '''DoCoMo/2.0 F700iS(c100;TB;W19H10)''', False, None) +devices.devids['''docomo_f700is_v2_w28'''] = devclass(devices.devids['''docomo_f700is_v2_w23'''], '''docomo_f700is_v2_w28''', '''DoCoMo/2.0 F700iS(c100;TB;W28H15)''', False, None) +devices.devids['''docomo_900i_ver1_subf900iw18'''] = devclass(devices.devids['''docomo_900i_ver1_subf900i'''], '''docomo_900i_ver1_subf900iw18''', '''DoCoMo/2.0 F900i(c100;TB;W18H10)''', False, {'''columns''':18,'''rows''':10}) +devices.devids['''docomo_900i_ver1_subf900iw28'''] = devclass(devices.devids['''docomo_900i_ver1_subf900i'''], '''docomo_900i_ver1_subf900iw28''', '''DoCoMo/2.0 F900i(c100;TB;W28H15)''', False, {'''columns''':28,'''rows''':15}) +devices.devids['''docomo_f900it_v2_w22'''] = devclass(devices.devids['''docomo_900i_ver1_subf900i'''], '''docomo_f900it_v2_w22''', '''DoCoMo/2.0 F900iT(c100;TB;W22H12)''', False, None) +devices.devids['''docomo_f900it_v2_w18'''] = devclass(devices.devids['''docomo_f900it_v2_w22'''], '''docomo_f900it_v2_w18''', '''DoCoMo/2.0 F900iT(c100;TB;W18H10)''', False, None) +devices.devids['''docomo_f900it_v2_w28'''] = devclass(devices.devids['''docomo_f900it_v2_w22'''], '''docomo_f900it_v2_w28''', '''DoCoMo/2.0 F900iT(c100;TB;W28H15)''', False, None) +devices.devids['''docomo_900i_ver1_subn900iw24'''] = devclass(devices.devids['''docomo_generic_900i'''], '''docomo_900i_ver1_subn900iw24''', '''DoCoMo/2.0 N900i(c100;TB;W24H12)''', True, {'''colors''':65536,'''columns''':24,'''max_image_height''':201,'''max_image_width''':240,'''model_name''':'''N900i''','''resolution_height''':269,'''rows''':12,'''voices''':50}) +devices.devids['''docomo_900i_ver1_subn900isw24'''] = devclass(devices.devids['''docomo_900i_ver1_subn900iw24'''], '''docomo_900i_ver1_subn900isw24''', '''DoCoMo/2.0 N900iS(c100;TB;W24H12)''', False, None) +devices.devids['''docomo_n900is_v2_w20'''] = devclass(devices.devids['''docomo_900i_ver1_subn900isw24'''], '''docomo_n900is_v2_w20''', '''DoCoMo/2.0 N900iS(c100;TB;W20H10)''', False, None) +devices.devids['''docomo_n900is_v2_w30'''] = devclass(devices.devids['''docomo_900i_ver1_subn900isw24'''], '''docomo_n900is_v2_w30''', '''DoCoMo/2.0 N900iS(c100;TB;W30H15)''', False, None) +devices.devids['''docomo_900i_ver1_subn900iw20'''] = devclass(devices.devids['''docomo_900i_ver1_subn900iw24'''], '''docomo_900i_ver1_subn900iw20''', '''DoCoMo/2.0 N900i(c100;TB;W20H10)''', False, {'''columns''':20,'''rows''':10}) +devices.devids['''docomo_900i_ver1_subn900iw30'''] = devclass(devices.devids['''docomo_900i_ver1_subn900iw24'''], '''docomo_900i_ver1_subn900iw30''', '''DoCoMo/2.0 N900i(c100;TB;W30H15)''', False, {'''columns''':30,'''rows''':15}) +devices.devids['''docomo_900i_ver1_subp900iw24'''] = devclass(devices.devids['''docomo_generic_900i'''], '''docomo_900i_ver1_subp900iw24''', '''DoCoMo/2.0 P900i(c100;TB;W24H11)''', True, {'''colors''':65536,'''columns''':24,'''max_image_height''':202,'''max_image_width''':240,'''model_name''':'''P900i''','''rows''':11,'''voices''':64}) +devices.devids['''docomo_p900i_v2_w20'''] = devclass(devices.devids['''docomo_900i_ver1_subp900iw24'''], '''docomo_p900i_v2_w20''', '''DoCoMo/2.0 P900i(c100;TB;W20H09)''', False, None) +devices.devids['''docomo_p900i_v2_w30'''] = devclass(devices.devids['''docomo_900i_ver1_subp900iw24'''], '''docomo_p900i_v2_w30''', '''DoCoMo/2.0 P900i(c100;TB;W30H14)''', False, None) +devices.devids['''docomo_p900iv_v2_w24'''] = devclass(devices.devids['''docomo_900i_ver1_subp900iw24'''], '''docomo_p900iv_v2_w24''', '''DoCoMo/2.0 P900iV (c100;TB;W24H11)''', False, None) +devices.devids['''docomo_p900iv_v2_w20'''] = devclass(devices.devids['''docomo_p900iv_v2_w24'''], '''docomo_p900iv_v2_w20''', '''DoCoMo/2.0 P900iV(c100;TB;W20H09)''', False, None) +devices.devids['''docomo_p900iv_v2_w30'''] = devclass(devices.devids['''docomo_p900iv_v2_w24'''], '''docomo_p900iv_v2_w30''', '''DoCoMo/2.0 P900iV(c100;TB;W30H14)''', False, None) +devices.devids['''docomo_sh900i_v2_w24'''] = devclass(devices.devids['''docomo_generic_900i'''], '''docomo_sh900i_v2_w24''', '''DoCoMo/2.0 SH900i(c100;TB;W24H12)''', False, None) +devices.devids['''docomo_generic_901i'''] = devclass(devices.devids['''docomo_generic_900i'''], '''docomo_generic_901i''', '''DoCoMo/2.0 901i''', False, {'''flash_lite_version''':'''1_1''','''model_name''':'''901i Series'''}) +devices.devids['''docomo_f901ic_v2_w23'''] = devclass(devices.devids['''docomo_generic_901i'''], '''docomo_f901ic_v2_w23''', '''DoCoMo/2.0 F901iC(c100;TB;W23H12)''', False, {'''aac''':True,'''columns''':23,'''model_name''':'''Fujitsu 901iC''','''rows''':12}) +devices.devids['''docomo_f901ic_v2_w18'''] = devclass(devices.devids['''docomo_f901ic_v2_w23'''], '''docomo_f901ic_v2_w18''', '''DoCoMo/2.0 F901iC(c100;TB;W18H10)''', False, {'''columns''':18,'''rows''':10}) +devices.devids['''docomo_f901ic_v2_w28'''] = devclass(devices.devids['''docomo_f901ic_v2_w23'''], '''docomo_f901ic_v2_w28''', '''DoCoMo/2.0 F901iC(c100;TB;W28H15)''', False, {'''columns''':28,'''rows''':15}) +devices.devids['''docomo_900i_v2_isimw24'''] = devclass(devices.devids['''docomo_generic_901i'''], '''docomo_900i_v2_isimw24''', '''DoCoMo/2.0 ISIM0101(c100;TB;W24H16)''', False, {'''chtml_make_phone_call_string''':'''none''','''midi_polyphonic''':False,'''model_name''':'''Simulator II''','''voices''':0,'''wml_make_phone_call_string''':'''none'''}) +devices.devids['''docomo_isim900i_v2_sub02_w24'''] = devclass(devices.devids['''docomo_900i_v2_isimw24'''], '''docomo_isim900i_v2_sub02_w24''', '''DoCoMo/2.0 ISIM0202(c100;TB;W24H16)''', False, None) +devices.devids['''attws_ver1_sub515'''] = devclass(devices.devids['''docomo_generic_ver1'''], '''attws_ver1_sub515''', '''ATTWS/2.0 N515i-10(c100;TB)''', False, None) +devices.devids['''attws_ver1_sub525'''] = devclass(devices.devids['''docomo_generic_ver1'''], '''attws_ver1_sub525''', '''ATTWS/2.0 N525i-10(c100;TB)''', True, {'''brand_name''':'''NEC''','''colors''':65536,'''columns''':12,'''gif''':True,'''html_wi_imode_html_1''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':100000,'''max_image_height''':142,'''max_image_width''':216,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':180,'''mms_max_size''':100000,'''mms_max_width''':162,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''A525''','''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':162,'''resolution_width''':216,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''rows''':8,'''sender''':True,'''uaprof''':'''http://www.nechdm.com/profiles/525/a525.rdf''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''xhtml_table_support''':True}) +devices.devids['''docomo_generic_eu_ver1'''] = devclass(devices.devids['''docomo_generic_ver1'''], '''docomo_generic_eu_ver1''', '''portalmmm''', False, None) +devices.devids['''portalmmm_ver1'''] = devclass(devices.devids['''docomo_generic_eu_ver1'''], '''portalmmm_ver1''', '''portalmmm/1.0''', False, {'''brand_name''':'''NTT DoCoMo''','''chtml_display_accesskey''':True,'''chtml_table_support''':True,'''colors''':256,'''emoji''':True,'''gif''':True,'''html_wi_imode_html_1''':True,'''html_wi_imode_html_2''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imode_region''':'''eu''','''max_deck_size''':10240,'''mld''':True,'''model_name''':'''generic_imode''','''preferred_markup''':'''html_wi_imode_html_2''','''smf''':True,'''voices''':16,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''portalmmm_ver1_subm21i'''] = devclass(devices.devids['''portalmmm_ver1'''], '''portalmmm_ver1_subm21i''', '''portalmmm/1.0 m21i''', True, {'''brand_name''':'''Mitsubishi''','''colors''':4096,'''jpg''':False,'''max_image_height''':118,'''max_image_width''':128,'''model_name''':'''M21i''','''png''':True,'''resolution_height''':141,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':110,'''wallpaper_preferred_width''':120}) +devices.devids['''portalmmm_ver1_subm21i10c10'''] = devclass(devices.devids['''portalmmm_ver1_subm21i'''], '''portalmmm_ver1_subm21i10c10''', '''portalmmm/1.0 m21i-10(c10)''', False, None) +devices.devids['''portalmmm_ver1_subn21i'''] = devclass(devices.devids['''portalmmm_ver1'''], '''portalmmm_ver1_subn21i''', '''portalmmm/1.0 n21i''', True, {'''brand_name''':'''NEC''','''columns''':16,'''max_image_height''':130,'''max_image_width''':120,'''model_name''':'''n21i''','''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':10,'''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':110,'''wallpaper_preferred_width''':120}) +devices.devids['''portalmmm_ver1_subn21i10c10'''] = devclass(devices.devids['''portalmmm_ver1_subn21i'''], '''portalmmm_ver1_subn21i10c10''', '''portalmmm/1.0 n21i-10(c10)''', False, None) +devices.devids['''portalmmm_ver1_subn21i10'''] = devclass(devices.devids['''portalmmm_ver1_subn21i'''], '''portalmmm_ver1_subn21i10''', '''portalmmm/1.0 n21i-10''', False, None) +devices.devids['''portalmmm_ver1_subn21i10c10semicolons'''] = devclass(devices.devids['''portalmmm_ver1_subn21i'''], '''portalmmm_ver1_subn21i10c10semicolons''', '''portalmmm/1.0 n21i-10(c10) (;; ;; ;; ;)''', False, None) +devices.devids['''portalmmm_ver1_subn21i20c10'''] = devclass(devices.devids['''portalmmm_ver1_subn21i'''], '''portalmmm_ver1_subn21i20c10''', '''portalmmm/1.0 n21i-20(c10)''', False, None) +devices.devids['''portalmmm_ver1_subn21i10c10tb'''] = devclass(devices.devids['''portalmmm_ver1_subn21i'''], '''portalmmm_ver1_subn21i10c10tb''', '''portalmmm/1.0 n21i-10(c10;TB)''', False, None) +devices.devids['''portalmmm_ver1_subn22i'''] = devclass(devices.devids['''portalmmm_ver1_subn21i'''], '''portalmmm_ver1_subn22i''', '''portalmmm/1.0 n22i''', True, {'''colors''':4096,'''jpg''':True,'''model_name''':'''n22i''','''ringtone_voices''':40,'''wallpaper_colors''':12,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':130}) +devices.devids['''portalmmm_ver1_subn22i10c10'''] = devclass(devices.devids['''portalmmm_ver1_subn22i'''], '''portalmmm_ver1_subn22i10c10''', '''portalmmm/1.0 n22i-10(c10)''', False, None) +devices.devids['''portalmmm_ver1_subts2li'''] = devclass(devices.devids['''portalmmm_ver1'''], '''portalmmm_ver1_subts2li''', '''portalmmm/1.0 TS2li''', True, {'''brand_name''':'''Toshiba''','''max_deck_size''':5000,'''model_name''':'''TS2li'''}) +devices.devids['''portalmmm_ver1_subts2li10'''] = devclass(devices.devids['''portalmmm_ver1_subts2li'''], '''portalmmm_ver1_subts2li10''', '''portalmmm/1.0 TS2li-10''', False, None) +devices.devids['''portalmmm_ver1_subts21i'''] = devclass(devices.devids['''portalmmm_ver1'''], '''portalmmm_ver1_subts21i''', '''portalmmm/1.0 TS21i''', True, {'''brand_name''':'''Toshiba''','''colors''':4096,'''max_deck_size''':5000,'''max_image_height''':91,'''max_image_width''':128,'''model_name''':'''TS21i''','''resolution_height''':121,'''resolution_width''':128,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':91,'''wallpaper_preferred_width''':128}) +devices.devids['''portalmmm_ver1_subts21i10c10'''] = devclass(devices.devids['''portalmmm_ver1_subts21i'''], '''portalmmm_ver1_subts21i10c10''', '''portalmmm/1.0 TS21i-10(c10)''', False, None) +devices.devids['''portalmmm_ver1_subts21i10c10min'''] = devclass(devices.devids['''portalmmm_ver1_subts21i'''], '''portalmmm_ver1_subts21i10c10min''', '''portalmmm/1.0 ts21i-10(c10)''', False, None) +devices.devids['''portalmmm_ver1_subts21icnfplus'''] = devclass(devices.devids['''portalmmm_ver1_subts21i'''], '''portalmmm_ver1_subts21icnfplus''', '''portalmmm/1.0 TS21iC-NF+''', True, {'''model_name''':'''TS21iC'''}) +devices.devids['''portalmmm_ver1_subm222i'''] = devclass(devices.devids['''portalmmm_ver1'''], '''portalmmm_ver1_subm222i''', '''portalmmm/1.0 M222i''', True, {'''brand_name''':'''Mitsubishi''','''colors''':4096,'''columns''':30,'''html_wi_imode_html_2''':False,'''max_image_height''':118,'''max_image_width''':128,'''model_name''':'''M222i''','''resolution_height''':141,'''resolution_width''':128,'''rows''':11}) +devices.devids['''portalmmm_ver1_subm222it10c10'''] = devclass(devices.devids['''portalmmm_ver1_subm222i'''], '''portalmmm_ver1_subm222it10c10''', '''portalmmm/1.0 M222i-t-10(c10)''', False, None) +devices.devids['''portalmmm_ver1_subdb700010c10'''] = devclass(devices.devids['''portalmmm_ver1'''], '''portalmmm_ver1_subdb700010c10''', '''portalmmm/1.0 DB7000i-10(c10)''', False, None) +devices.devids['''portalmmm_ver2'''] = devclass(devices.devids['''portalmmm_ver1'''], '''portalmmm_ver2''', '''portalmmm/2.0''', False, {'''html_wi_imode_html_3''':True,'''preferred_markup''':'''html_wi_imode_html_3''','''xhtml_support_level''':2}) +devices.devids['''mot_v3xxi_ver1'''] = devclass(devices.devids['''portalmmm_ver2'''], '''mot_v3xxi_ver1''', '''portalmmm/2.0 v3xximode''', True, {'''amr''':True,'''brand_name''':'''Motorola''','''colors''':262144,'''doja_1_0''':True,'''doja_1_5''':True,'''doja_2_0''':True,'''doja_2_1''':True,'''doja_2_2''':True,'''flash_lite_version''':'''1_1''','''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''RAZR V3xxi iZar''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''preferred_markup''':'''html_wi_imode_html_3''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''sp_midi''':True,'''streaming_3gpp''':True,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320,'''xmf''':True}) +devices.devids['''sagem_my401_Ci_ver1'''] = devclass(devices.devids['''portalmmm_ver2'''], '''sagem_my401_Ci_ver1''', '''portalmmm/2.0 my401Ci''', True, {'''amr''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''my401-Ci''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''video''':True,'''video_3gpp''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sagem_my511xi_ver1'''] = devclass(devices.devids['''portalmmm_ver2'''], '''sagem_my511xi_ver1''', '''portalmmm/2.0 my511Xi''', True, {'''bmp''':False,'''brand_name''':'''Sagem''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':128,'''max_image_width''':128,'''max_object_size''':10000,'''model_name''':'''my511Xi''','''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''wbmp''':True}) +devices.devids['''portalmmm_ver2_submy501ci'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_submy501ci''', '''portalmmm/2.0 my501Ci''', True, {'''brand_name''':'''Sagem''','''colors''':65536,'''jpg''':True,'''max_image_height''':127,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''my501Ci''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''portalmmm_ver2_submy700xi'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_submy700xi''', '''portalmmm/2.0 my700Xi''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Sagem''','''colors''':262144,'''flash_lite_version''':'''1_1''','''jpg''':True,'''max_deck_size''':20480,'''max_image_height''':176,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''my700Xi''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''xhtml_make_phone_call_string''':'''tel:'''}) +devices.devids['''sagem_myc5_3i_ver1'''] = devclass(devices.devids['''portalmmm_ver2'''], '''sagem_myc5_3i_ver1''', '''portalmmm/2.0 myC5-3i''', True, {'''jpg''':True,'''max_image_height''':120,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''myC5-3i''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''voices''':64,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''sonyericsson_k550i_ver1'''] = devclass(devices.devids['''portalmmm_ver2'''], '''sonyericsson_k550i_ver1''', '''SonyEricssonK550i''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''amr''':True,'''brand_name''':'''SonyEricsson''','''colors''':262144,'''doja_1_0''':True,'''doja_1_5''':True,'''doja_2_0''':True,'''doja_2_1''':True,'''doja_2_2''':True,'''flash_lite_version''':'''''','''gif_animated''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_max_jar_size''':30,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':102400,'''max_image_height''':220,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':64,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''K550i''','''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':120,'''picture_max_width''':160,'''picture_preferred_height''':120,'''picture_preferred_width''':160,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':72,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''sender''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K550iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':'''10 1b''','''video_vcodec_mpeg4''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True,'''wav''':True}) +devices.devids['''lg_ke590i_ver1'''] = devclass(devices.devids['''portalmmm_ver2'''], '''lg_ke590i_ver1''', '''portalmmm/2.0 KE590i''', True, {'''bmp''':False,'''brand_name''':'''LG''','''colors''':262000,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_deck_size''':100000,'''max_image_height''':188,'''max_image_width''':176,'''max_object_size''':100000,'''model_name''':'''KE590i''','''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''wbmp''':True}) +devices.devids['''lg_kg291i_ver1'''] = devclass(devices.devids['''portalmmm_ver2'''], '''lg_kg291i_ver1''', '''portalmmm/2.0 KG291i''', True, {'''bmp''':False,'''brand_name''':'''LG''','''colors''':262000,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':128,'''max_image_width''':128,'''max_object_size''':10000,'''model_name''':'''KG291i''','''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''wbmp''':True}) +devices.devids['''lg_kp202i_ver1'''] = devclass(devices.devids['''portalmmm_ver2'''], '''lg_kp202i_ver1''', '''portalmmm/2.0 KP202i''', True, {'''bmp''':False,'''brand_name''':'''LG''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':128,'''max_image_width''':128,'''max_object_size''':10000,'''model_name''':'''KP202i''','''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''wbmp''':True}) +devices.devids['''samsung_s720i_ver1'''] = devclass(devices.devids['''portalmmm_ver2'''], '''samsung_s720i_ver1''', '''portalmmm/2.0 S720i''', True, {'''bmp''':False,'''brand_name''':'''Samsung''','''colors''':65536,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':128,'''max_image_width''':128,'''max_object_size''':10000,'''model_name''':'''SGH-S720i''','''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_imode_compact_generic''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''video_qcif''':True,'''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wbmp''':True}) +devices.devids['''samsung_s730i_ver1'''] = devclass(devices.devids['''portalmmm_ver2'''], '''samsung_s730i_ver1''', '''portalmmm/2.0 S730i''', True, {'''bmp''':False,'''brand_name''':'''Samsung''','''colors''':262000,'''gif''':True,'''gif_animated''':True,'''jpg''':True,'''max_deck_size''':20000,'''max_image_height''':178,'''max_image_width''':176,'''max_object_size''':20000,'''model_name''':'''S730i''','''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''wbmp''':True}) +devices.devids['''samsung_s730i_ver1subc20tb'''] = devclass(devices.devids['''samsung_s730i_ver1'''], '''samsung_s730i_ver1subc20tb''', '''portalmmm/2.0 S730i(c20;TB)''', False, None) +devices.devids['''lg_kp202i_ver1subc10tb'''] = devclass(devices.devids['''lg_kp202i_ver1'''], '''lg_kp202i_ver1subc10tb''', '''portalmmm/2.0 KP202i(c10;TB)''', False, None) +devices.devids['''samsung_s720i_ver1subc10tb'''] = devclass(devices.devids['''samsung_s720i_ver1'''], '''samsung_s720i_ver1subc10tb''', '''portalmmm/2.0 S720i(c10;TB)''', False, None) +devices.devids['''sonyericsson_k550im_ver1'''] = devclass(devices.devids['''sonyericsson_k550i_ver1'''], '''sonyericsson_k550im_ver1''', '''portalmmm/2.0 SonyEricssonK550im''', True, {'''brand_name''':'''SonyEricsson''','''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''max_data_rate''':200,'''model_name''':'''K550im''','''preferred_markup''':'''html_wi_imode_compact_generic'''}) +devices.devids['''portalmmm_ver2_submy700xi_subc20tb'''] = devclass(devices.devids['''portalmmm_ver2_submy700xi'''], '''portalmmm_ver2_submy700xi_subc20tb''', '''portalmmm/2.0 my700Xi(c20;TB)''', False, None) +devices.devids['''sagem_myc5_3i_ver1_subc10tb'''] = devclass(devices.devids['''sagem_myc5_3i_ver1'''], '''sagem_myc5_3i_ver1_subc10tb''', '''portalmmm/2.0 myC5-3i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subl341'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subl341''', '''portalmmm/2.0 L341''', True, {'''brand_name''':'''LG''','''colors''':65536,'''imelody''':True,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''L341i''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':160}) +devices.devids['''mot_v3xxi_sub20v3xxic100tb'''] = devclass(devices.devids['''mot_v3xxi_ver1'''], '''mot_v3xxi_sub20v3xxic100tb''', '''portalmmm/2.0 v3xximode(c100;TB)''', False, None) +devices.devids['''mot_v3xxi_sub20v3xxic30td'''] = devclass(devices.devids['''mot_v3xxi_ver1'''], '''mot_v3xxi_sub20v3xxic30td''', '''portalmmm/2.0 v3xximode(c30;TD)''', False, None) +devices.devids['''mot_v3xxi_sub20v3xxic100tj'''] = devclass(devices.devids['''mot_v3xxi_ver1'''], '''mot_v3xxi_sub20v3xxic100tj''', '''portalmmm/2.0 v3xximode(c100;TJ)''', False, None) +devices.devids['''sagem_my511xi_ver1subc10tb'''] = devclass(devices.devids['''sagem_my511xi_ver1'''], '''sagem_my511xi_ver1subc10tb''', '''portalmmm/2.0 my511Xi(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_submy501ci_subc10tb'''] = devclass(devices.devids['''portalmmm_ver2_submy501ci'''], '''portalmmm_ver2_submy501ci_subc10tb''', '''portalmmm/2.0 my501Ci(c10;TB)''', False, None) +devices.devids['''sagem_my401_Ci_ver1_subc10tb'''] = devclass(devices.devids['''sagem_my401_Ci_ver1'''], '''sagem_my401_Ci_ver1_subc10tb''', '''portalmmm/2.0 my401Ci(c10;TB)''', False, None) +devices.devids['''lg_kg291i_ver1subc10tb'''] = devclass(devices.devids['''lg_kg291i_ver1'''], '''lg_kg291i_ver1subc10tb''', '''portalmmm/2.0 KG291i(c10;TB)''', False, None) +devices.devids['''lg_ke590i_ver1subc100tb'''] = devclass(devices.devids['''lg_ke590i_ver1'''], '''lg_ke590i_ver1subc100tb''', '''portalmmm/2.0 KE590i(c100;TB)''', False, None) +devices.devids['''sonyericsson_k550im_sub20c100tb'''] = devclass(devices.devids['''sonyericsson_k550im_ver1'''], '''sonyericsson_k550im_sub20c100tb''', '''portalmmm/2.0 K550im(c100;TB)''', False, {'''max_data_rate''':200}) +devices.devids['''sonyericsson_k550im_sub20c20td'''] = devclass(devices.devids['''sonyericsson_k550im_ver1'''], '''sonyericsson_k550im_sub20c20td''', '''portalmmm/2.0 K550im(c20;TD)''', False, {'''max_data_rate''':200,'''max_deck_size''':20480}) +devices.devids['''sonyericsson_k550im_sub20c100tj'''] = devclass(devices.devids['''sonyericsson_k550im_ver1'''], '''sonyericsson_k550im_sub20c100tj''', '''portalmmm/2.0 K550im(c100;TJ)''', False, {'''max_data_rate''':200}) +devices.devids['''portalmmm_ver2_subl341c10tb'''] = devclass(devices.devids['''portalmmm_ver2_subl341'''], '''portalmmm_ver2_subl341c10tb''', '''portalmmm/2.0 L341(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subl341ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subl341'''], '''portalmmm_ver2_subl341ic10tb''', '''portalmmm/2.0 L341i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subl341itc10tb'''] = devclass(devices.devids['''portalmmm_ver2_subl341'''], '''portalmmm_ver2_subl341itc10tb''', '''portalmmm/2.0 L341i-t(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subl342i'''] = devclass(devices.devids['''portalmmm_ver2_subl341'''], '''portalmmm_ver2_subl342i''', '''portalmmm/2.0 L342i''', True, {'''doja_1_0''':True,'''doja_1_5''':True,'''html_wi_imode_htmlx_1''':True,'''j2me_max_jar_size''':30,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''j2me_storage_size''':1500,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''L342i''','''png''':True,'''ringtone''':True,'''ringtone_directdownload_size_limit''':10240,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''rows''':9,'''sp_midi''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':10240,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':640,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''portalmmm_ver2_subl342ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subl342i'''], '''portalmmm_ver2_subl342ic10tb''', '''portalmmm/2.0 L342i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subl342itc10tb'''] = devclass(devices.devids['''portalmmm_ver2_subl342i'''], '''portalmmm_ver2_subl342itc10tb''', '''portalmmm/2.0 L342i-t(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_sublg342ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subl342i'''], '''portalmmm_ver2_sublg342ic10tb''', '''portalmmm/2.0 LG342i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_sublg342ic10tj'''] = devclass(devices.devids['''portalmmm_ver2_subl342i'''], '''portalmmm_ver2_sublg342ic10tj''', '''portalmmm/2.0 LG342i(c10;TJ)''', False, None) +devices.devids['''portalmmm_ver2_sublg342ic30tb'''] = devclass(devices.devids['''portalmmm_ver2_subl342i'''], '''portalmmm_ver2_sublg342ic30tb''', '''portalmmm/2.0 LG342i(c30;TD)''', False, {'''max_deck_size''':30720}) +devices.devids['''portalmmm_ver2_subl343i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subl343i''', '''portalmmm/2.0 L343i''', True, {'''amr''':True,'''brand_name''':'''LG''','''colors''':262144,'''doja_1_0''':True,'''doja_1_5''':True,'''gif_animated''':True,'''j2me_cldc_1_0''':True,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''L343i''','''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':10240,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''portalmmm_ver2_subl343ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subl343i'''], '''portalmmm_ver2_subl343ic10tb''', '''portalmmm/2.0 L3431i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subm222i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subm222i''', '''portalmmm/2.0 M222i''', True, {'''brand_name''':'''Mitsubishi''','''colors''':4096,'''columns''':30,'''max_image_height''':118,'''max_image_width''':128,'''model_name''':'''M222i (V2)''','''resolution_height''':141,'''resolution_width''':128,'''rows''':11}) +devices.devids['''portalmmm_ver2_subm222it10c10'''] = devclass(devices.devids['''portalmmm_ver2_subm222i'''], '''portalmmm_ver2_subm222it10c10''', '''portalmmm/2.0 M222i-t-10(c10)''', False, None) +devices.devids['''portalmmm_ver2_subts222i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subts222i''', '''portalmmm/2.0 TS222i''', True, {'''brand_name''':'''Toshiba''','''model_name''':'''TS222i'''}) +devices.devids['''portalmmm_ver2_subts222ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subts222i'''], '''portalmmm_ver2_subts222ic10tb''', '''portalmmm/2.0 TS222i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn223i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subn223i''', '''portalmmm/2.0 N223i''', True, {'''brand_name''':'''NEC''','''colors''':4096,'''columns''':16,'''imelody''':True,'''jpg''':True,'''max_image_height''':130,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''223i''','''preferred_markup''':'''html_wi_imode_html_1''','''resolution_height''':160,'''resolution_width''':120,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''rows''':12,'''screensaver''':True,'''video_3gpp''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':130,'''wallpaper_preferred_width''':120}) +devices.devids['''portalmmm_ver2_subn223ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn223i'''], '''portalmmm_ver2_subn223ic10tb''', '''portalmmm/2.0 N223i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn223itc10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn223i'''], '''portalmmm_ver2_subn223itc10tb''', '''portalmmm/2.0 N223i-t(c10;TB)''', False, None) +devices.devids['''portalmmm_ver1_subn223i10c10'''] = devclass(devices.devids['''portalmmm_ver2_subn223i'''], '''portalmmm_ver1_subn223i10c10''', '''portalmmm/1.0 n223i-10(c10)''', False, None) +devices.devids['''portalmmm_ver2_subn31'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subn31''', '''portalmmm/2.0 n31i''', True, {'''brand_name''':'''NEC''','''model_name''':'''n31i''','''preferred_markup''':'''html_wi_imode_html_1'''}) +devices.devids['''portalmmm_ver2_subn3110c10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn31'''], '''portalmmm_ver2_subn3110c10tb''', '''portalmmm/2.0 n31i-10(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subz650i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subz650i''', '''portalmmm/2.0 Z650i''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''doja_1_0''':True,'''doja_1_5''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''jpg''':True,'''max_deck_size''':307200,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''Z650i''','''mp3''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''streaming_video''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':256,'''wallpaper_preferred_width''':240,'''wap_push_support''':True}) +devices.devids['''portalmmm_ver2_subz650ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subz650i'''], '''portalmmm_ver2_subz650ic20tb''', '''portalmmm/2.0 Z650i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subz650ic100tb'''] = devclass(devices.devids['''portalmmm_ver2_subz650i'''], '''portalmmm_ver2_subz650ic100tb''', '''portalmmm/2.0 Z650i(c100;TB)''', False, None) +devices.devids['''portalmmm_ver2_subz650ic300tb'''] = devclass(devices.devids['''portalmmm_ver2_subz650i'''], '''portalmmm_ver2_subz650ic300tb''', '''portalmmm/2.0 Z650i(c300;TB)''', False, None) +devices.devids['''portalmmm_ver2_subz320i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subz320i''', '''portalmmm/2.0 Z320i''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''doja_1_0''':True,'''doja_1_5''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':178,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''Z320i''','''mp3''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True}) +devices.devids['''portalmmm_ver2_subz320ic100tb'''] = devclass(devices.devids['''portalmmm_ver2_subz320i'''], '''portalmmm_ver2_subz320ic100tb''', '''portalmmm/2.0 Z320i(c100;TB)''', False, None) +devices.devids['''portalmmm_ver2_subz320ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subz320i'''], '''portalmmm_ver2_subz320ic10tb''', '''portalmmm/2.0 Z320i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subz320ic100tc'''] = devclass(devices.devids['''portalmmm_ver2_subz320i'''], '''portalmmm_ver2_subz320ic100tc''', '''portalmmm/2.0 Z320i(c100;TC)''', False, None) +devices.devids['''portalmmm_ver2_subz320ic30td'''] = devclass(devices.devids['''portalmmm_ver2_subz320i'''], '''portalmmm_ver2_subz320ic30td''', '''portalmmm/2.0 Z320i(c30;TD)''', False, None) +devices.devids['''portalmmm_ver2_subz320ic10tj'''] = devclass(devices.devids['''portalmmm_ver2_subz320i'''], '''portalmmm_ver2_subz320ic10tj''', '''portalmmm/2.0 Z320i(c10;TJ)''', False, None) +devices.devids['''portalmmm_ver2_subsg321i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subsg321i''', '''portalmmm/2.0 SG321i''', True, {'''brand_name''':'''Sagem''','''colors''':65536,'''j2me_cldc_1_0''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''SG321i''','''preferred_markup''':'''html_wi_imode_html_1''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''xhtml_support_level''':3}) +devices.devids['''portalmmm_ver2_subsg321ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subsg321i'''], '''portalmmm_ver2_subsg321ic10tb''', '''portalmmm/2.0 SG321i (c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subsg321inospacec10tb'''] = devclass(devices.devids['''portalmmm_ver2_subsg321i'''], '''portalmmm_ver2_subsg321inospacec10tb''', '''portalmmm/2.0 SG321i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subsg321ic10tbdocomoprof'''] = devclass(devices.devids['''portalmmm_ver2_subsg321i'''], '''portalmmm_ver2_subsg321ic10tbdocomoprof''', '''portalmmm/2.0 SG321i (c10;TB) Profile/DoCoMoProfile-1.5oe Configuration/CLDC-1.0 UP.Browser/7.0.0.1.102 (GUI)''', False, None) +devices.devids['''portalmmm_ver2_subsg322i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subsg322i''', '''portalmmm/2.0 SG322i''', True, {'''brand_name''':'''Sagem''','''colors''':65536,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''SG322i''','''resolution_height''':160,'''resolution_width''':128}) +devices.devids['''portalmmm_ver2_subsg322ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subsg322i'''], '''portalmmm_ver2_subsg322ic10tb''', '''portalmmm/2.0 SG322i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subm341i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subm341i''', '''portalmmm/2.0 M341i''', True, {'''brand_name''':'''Mitsubishi''','''built_in_camera''':True,'''colors''':262144,'''columns''':16,'''imelody''':True,'''jpg''':True,'''max_image_height''':131,'''max_image_width''':128,'''mms_max_size''':51200,'''model_name''':'''M341i''','''preferred_markup''':'''html_wi_imode_compact_generic''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''rows''':10,'''screensaver''':True,'''sender''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':120,'''wallpaper_preferred_width''':128}) +devices.devids['''portalmmm_ver2_subm341ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subm341i'''], '''portalmmm_ver2_subm341ic10tb''', '''portalmmm/2.0 M341i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subm341ic30tb'''] = devclass(devices.devids['''portalmmm_ver2_subm341i'''], '''portalmmm_ver2_subm341ic30tb''', '''portalmmm/2.0 M341i(c30;TB)''', False, None) +devices.devids['''portalmmm_ver2_subsg341i'''] = devclass(devices.devids['''portalmmm_ver2_subsg321i'''], '''portalmmm_ver2_subsg341i''', '''portalmmm/2.0 SG341i''', True, {'''brand_name''':'''Sagem''','''colors''':65536,'''columns''':16,'''imelody''':True,'''jpg''':True,'''max_image_height''':131,'''max_image_width''':128,'''mms_max_size''':51200,'''model_name''':'''SG341i''','''preferred_markup''':'''html_wi_imode_html_1''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''rows''':10,'''sender''':True,'''voices''':64,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':160}) +devices.devids['''portalmmm_ver2_subsg341ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subsg341i'''], '''portalmmm_ver2_subsg341ic10tb''', '''portalmmm/2.0 SG341i (c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subsg341nospacec10tb'''] = devclass(devices.devids['''portalmmm_ver2_subsg341i'''], '''portalmmm_ver2_subsg341nospacec10tb''', '''portalmmm/2.0 SG341i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subsg341c100tb'''] = devclass(devices.devids['''portalmmm_ver2_subsg341i'''], '''portalmmm_ver2_subsg341c100tb''', '''portalmmm/2.0 SG341i(c100;TB)''', False, None) +devices.devids['''portalmmm_ver2_subsg342i'''] = devclass(devices.devids['''portalmmm_ver2_subsg341i'''], '''portalmmm_ver2_subsg342i''', '''portalmmm/2.0 SG342i''', True, {'''brand_name''':'''Sagem''','''colors''':65536,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''SG342i''','''resolution_height''':160,'''resolution_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''portalmmm_ver2_subsg342ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subsg342i'''], '''portalmmm_ver2_subsg342ic10tb''', '''portalmmm/2.0 SG342i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subm342i'''] = devclass(devices.devids['''portalmmm_ver2_subm341i'''], '''portalmmm_ver2_subm342i''', '''portalmmm/2.0 M342i''', True, {'''model_name''':'''M342i''','''ringtone''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':120,'''wallpaper_preferred_width''':128}) +devices.devids['''portalmmm_ver2_subm342ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subm342i'''], '''portalmmm_ver2_subm342ic10tb''', '''portalmmm/2.0 M342i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subsg343i'''] = devclass(devices.devids['''portalmmm_ver2_subsg342i'''], '''portalmmm_ver2_subsg343i''', '''portalmmm/2.0 SG343i''', True, {'''brand_name''':'''Sagem''','''colors''':65536,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SG343i''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''portalmmm_ver2_subsg343ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subsg343i'''], '''portalmmm_ver2_subsg343ic10tb''', '''portalmmm/2.0 SG343i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subsg344i'''] = devclass(devices.devids['''portalmmm_ver2_subsg343i'''], '''portalmmm_ver2_subsg344i''', '''portalmmm/2.0 SG344i''', True, {'''brand_name''':'''Sagem''','''colors''':65536,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SG344i''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''portalmmm_ver2_subsg344ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subsg344i'''], '''portalmmm_ver2_subsg344ic10tb''', '''portalmmm/2.0 SG344i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subsg346i'''] = devclass(devices.devids['''portalmmm_ver2_subsg344i'''], '''portalmmm_ver2_subsg346i''', '''portalmmm/2.0 SG346i''', True, {'''brand_name''':'''Sagem''','''colors''':65536,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SG346i''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''portalmmm_ver2_subsg346ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subsg346i'''], '''portalmmm_ver2_subsg346ic10tb''', '''portalmmm/2.0 SG346i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn331i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subn331i''', '''portalmmm/2.0 N331i''', True, {'''brand_name''':'''NEC''','''colors''':65536,'''columns''':16,'''imelody''':True,'''jpg''':True,'''max_image_height''':131,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_max_size''':51200,'''model_name''':'''331i''','''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_imode_html_1''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''rows''':10,'''screensaver''':True,'''sender''':True,'''video_3gpp''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''portalmmm_ver2_subn331ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn331i'''], '''portalmmm_ver2_subn331ic10tb''', '''portalmmm/2.0 N331i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn331itc10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn331i'''], '''portalmmm_ver2_subn331itc10tb''', '''portalmmm/2.0 N331i-t(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn331itc10tbt'''] = devclass(devices.devids['''portalmmm_ver2_subn331i'''], '''portalmmm_ver2_subn331itc10tbt''', '''portalmmm/2.0 N331i-t(c10;T)''', False, None) +devices.devids['''portalmmm_ver2_subn333i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subn333i''', '''portalmmm/2.0 N333i(c10;TB)''', True, {'''brand_name''':'''NEC''','''model_name''':'''333i'''}) +devices.devids['''portalmmm_ver2_subsi331i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subsi331i''', '''portalmmm/2.0 SI331i''', True, {'''brand_name''':'''Siemens''','''colors''':65536,'''max_deck_size''':20480,'''max_image_height''':156,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''Si331i/CXi70''','''preferred_markup''':'''html_wi_imode_html_1''','''resolution_height''':176,'''resolution_width''':132,'''voices''':40}) +devices.devids['''portalmmm_ver2_subsi331ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subsi331i'''], '''portalmmm_ver2_subsi331ic20tb''', '''portalmmm/2.0 SI331i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn341i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subn341i''', '''portalmmm/2.0 N341i''', True, {'''brand_name''':'''NEC''','''colors''':65536,'''columns''':16,'''jpg''':True,'''max_image_height''':180,'''max_image_width''':162,'''mms_max_size''':51200,'''model_name''':'''341i''','''receiver''':True,'''resolution_height''':216,'''resolution_width''':162,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''rows''':10,'''screensaver''':True,'''sender''':True,'''video_3gpp''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':180,'''wallpaper_preferred_width''':162}) +devices.devids['''portalmmm_ver2_subn341ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn341i'''], '''portalmmm_ver2_subn341ic10tb''', '''portalmmm/2.0 N341i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn341itc10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn341i'''], '''portalmmm_ver2_subn341itc10tb''', '''portalmmm/2.0 N341i-t(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subntc10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn341i'''], '''portalmmm_ver2_subntc10tb''', '''portalmmm/2.0 N -t(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn341ic10tbgoog'''] = devclass(devices.devids['''portalmmm_ver2_subn341i'''], '''portalmmm_ver2_subn341ic10tbgoog''', '''portalmmm/2.0_N341i(c10;TB)_(Google_WAP_Proxy/1.0)''', False, None) +devices.devids['''portalmmm_ver2_subn341i_subspacesc10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn341i'''], '''portalmmm_ver2_subn341i_subspacesc10tb''', '''portalmmm/2.0 N341 (c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn341ic30tb'''] = devclass(devices.devids['''portalmmm_ver2_subn341i'''], '''portalmmm_ver2_subn341ic30tb''', '''portalmmm/2.0 N341i(c30;TB)''', False, {'''max_deck_size''':30720}) +devices.devids['''portalmmm_ver2_subn341ic100tb'''] = devclass(devices.devids['''portalmmm_ver2_subn341i'''], '''portalmmm_ver2_subn341ic100tb''', '''portalmmm/2.0 N341i(c100;TB)''', False, {'''max_deck_size''':102400}) +devices.devids['''portalmmm_ver2_subn341itc100tb'''] = devclass(devices.devids['''portalmmm_ver2_subn341ic100tb'''], '''portalmmm_ver2_subn341itc100tb''', '''portalmmm/2.0 N341i-t(c100;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn344i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subn344i''', '''portalmmm/2.0 N344i''', True, {'''brand_name''':'''NEC''','''colors''':65536,'''imelody''':True,'''jpg''':True,'''max_image_height''':180,'''max_image_width''':128,'''model_name''':'''N344i''','''preferred_markup''':'''html_wi_imode_compact_generic''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''portalmmm_ver2_subsi341i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subsi341i''', '''portalmmm/2.0 SI341i''', True, {'''brand_name''':'''Siemens''','''colors''':65536,'''max_image_height''':156,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''Si341i''','''resolution_height''':176,'''resolution_width''':132,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''voices''':40}) +devices.devids['''portalmmm_ver2_subsi341ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subsi341i'''], '''portalmmm_ver2_subsi341ic20tb''', '''portalmmm/2.0 SI341i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn342i'''] = devclass(devices.devids['''portalmmm_ver2_subn341i'''], '''portalmmm_ver2_subn342i''', '''portalmmm/2.0 N342i''', True, {'''brand_name''':'''NEC''','''colors''':65536,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''n342i''','''resolution_height''':160,'''resolution_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''portalmmm_ver2_subn342ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn342i'''], '''portalmmm_ver2_subn342ic10tb''', '''portalmmm/2.0 N342i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn342ic10spacetb'''] = devclass(devices.devids['''portalmmm_ver2_subn342i'''], '''portalmmm_ver2_subn342ic10spacetb''', '''portalmmm/2.0 N342i(c10 ;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn342itc10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn342i'''], '''portalmmm_ver2_subn342itc10tb''', '''portalmmm/2.0 N342i-t(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn342ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn342i'''], '''portalmmm_ver2_subn342ic20tb''', '''portalmmm/2.0,N342i(c20;TB)''', False, {'''max_deck_size''':20480}) +devices.devids['''portalmmm_ver2_subn343i'''] = devclass(devices.devids['''portalmmm_ver2_subn342i'''], '''portalmmm_ver2_subn343i''', '''portalmmm/2.0 N343i''', True, {'''brand_name''':'''NEC''','''colors''':65536,'''directdownload_support''':True,'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''n343i''','''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True}) +devices.devids['''portalmmm_ver2_subn343ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn343i'''], '''portalmmm_ver2_subn343ic10tb''', '''portalmmm/2.0 N343i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn343itc10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn343i'''], '''portalmmm_ver2_subn343itc10tb''', '''portalmmm/2.0 N343i-t(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn343io2c10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn343i'''], '''portalmmm_ver2_subn343io2c10tb''', '''o2imode/2.0 N343i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn343io2c10tj'''] = devclass(devices.devids['''portalmmm_ver2_subn343i'''], '''portalmmm_ver2_subn343io2c10tj''', '''o2imode/2.0 N343i(c10;TJ)''', False, None) +devices.devids['''portalmmm_ver2_subn343io2c30td'''] = devclass(devices.devids['''portalmmm_ver2_subn343i'''], '''portalmmm_ver2_subn343io2c30td''', '''o2imode/2.0 N343i(c30;TD)''', False, {'''max_deck_size''':30720}) +devices.devids['''portalmmm_ver2_subp341i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subp341i''', '''portalmmm/2.0 P341i''', True, {'''brand_name''':'''Panasonic''','''colors''':65536,'''jpg''':True,'''max_image_height''':134,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''p341i''','''png''':True,'''resolution_height''':176,'''resolution_width''':132,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''sp_midi''':True,'''voices''':64,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132}) +devices.devids['''portalmmm_ver2_subp341ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subp341i'''], '''portalmmm_ver2_subp341ic10tb''', '''portalmmm/2.0 P341i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subp342i'''] = devclass(devices.devids['''portalmmm_ver2_subp341i'''], '''portalmmm_ver2_subp342i''', '''portalmmm/2.0 P342i''', True, {'''brand_name''':'''Panasonic''','''colors''':65536,'''jpg''':True,'''max_image_height''':134,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''p342i''','''png''':True,'''resolution_height''':176,'''resolution_width''':132,'''sp_midi''':True,'''wav''':True}) +devices.devids['''portalmmm_ver2_subp342ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subp342i'''], '''portalmmm_ver2_subp342ic10tb''', '''portalmmm/2.0 P342i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subp342ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subp342i'''], '''portalmmm_ver2_subp342ic20tb''', '''portalmmm/2.0 P342i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subp342ic100tb'''] = devclass(devices.devids['''portalmmm_ver2_subp342i'''], '''portalmmm_ver2_subp342ic100tb''', '''portalmmm/2.0 P342i(c100;TB)''', False, None) +devices.devids['''portalmmm_ver2_subs341i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subs341i''', '''portalmmm/2.0 S341i''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''jpg''':True,'''max_image_height''':178,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S341i''','''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''sp_midi''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':178,'''wallpaper_preferred_width''':176,'''wav''':True}) +devices.devids['''portalmmm_ver2_subs342i'''] = devclass(devices.devids['''portalmmm_ver2_subs341i'''], '''portalmmm_ver2_subs342i''', '''portalmmm/2.0 S342i''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':161,'''directdownload_support''':True,'''doja_1_0''':True,'''doja_1_5''':True,'''gif_animated''':True,'''inline_support''':True,'''j2me_bits_per_pixel''':18,'''j2me_canvas_height''':178,'''j2me_canvas_width''':176,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':102400,'''j2me_max_jar_size''':30720,'''j2me_screen_height''':178,'''j2me_screen_width''':176,'''j2me_storage_size''':2306867,'''jpg''':True,'''max_image_height''':178,'''max_image_width''':176,'''max_object_size''':10240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S342i''','''resolution_height''':178,'''resolution_width''':176,'''ringtone''':True,'''ringtone_directdownload_size_limit''':102400,'''ringtone_inline_size_limit''':10240,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''rows''':16,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':102400,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':10240,'''wallpaper_jpg''':True,'''wallpaper_max_height''':178,'''wallpaper_max_width''':176,'''wallpaper_preferred_height''':178,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True}) +devices.devids['''portalmmm_ver2_subs341ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subs341i'''], '''portalmmm_ver2_subs341ic10tb''', '''portalmmm/2.0 S341i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subs342ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subs342i'''], '''portalmmm_ver2_subs342ic10tb''', '''portalmmm/2.0 S342i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subs342ic30tb'''] = devclass(devices.devids['''portalmmm_ver2_subs342i'''], '''portalmmm_ver2_subs342ic30tb''', '''portalmmm/2.0 S342i(c30;TB)''', False, None) +devices.devids['''portalmmm_ver2_subs342ic100tb'''] = devclass(devices.devids['''portalmmm_ver2_subs342i'''], '''portalmmm_ver2_subs342ic100tb''', '''portalmmm/2.0 S342i(c100;TB)''', False, None) +devices.devids['''portalmmm_ver2_subs341ic30tb'''] = devclass(devices.devids['''portalmmm_ver2_subs341i'''], '''portalmmm_ver2_subs341ic30tb''', '''portalmmm/2.0 S341i(c30;TB)''', False, None) +devices.devids['''portalmmm_ver2_subsa341ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subs341i'''], '''portalmmm_ver2_subsa341ic10tb''', '''portalmmm/2.0 SA341i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_sube378i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_sube378i''', '''portalmmm/2.0 E378i''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''jpg''':True,'''max_image_height''':178,'''max_image_width''':176,'''model_name''':'''E378i''','''png''':True,'''resolution_height''':220,'''resolution_width''':176}) +devices.devids['''portalmmm_ver2_sube378ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_sube378i'''], '''portalmmm_ver2_sube378ic10tb''', '''portalmmm/2.0 E378i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_sube378ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_sube378i'''], '''portalmmm_ver2_sube378ic20tb''', '''portalmmm/2.0 E378i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_sube378ic100tb'''] = devclass(devices.devids['''portalmmm_ver2_sube378i'''], '''portalmmm_ver2_sube378ic100tb''', '''portalmmm/2.0 E378i(c100;TB)''', False, None) +devices.devids['''portalmmm_ver2_sube378c10tb'''] = devclass(devices.devids['''portalmmm_ver2_sube378i'''], '''portalmmm_ver2_sube378c10tb''', '''portalmmm/2.0 E378(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subl6imode'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subl6imode''', '''portalmmm/2.0 L6imode''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''doja_1_0''':True,'''doja_1_5''':True,'''doja_2_0''':True,'''doja_2_1''':True,'''doja_2_2''':True,'''jpg''':True,'''max_deck_size''':20480,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''L6imode''','''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':307200,'''video_mp4''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''portalmmm_ver2_subl6imodec10tb'''] = devclass(devices.devids['''portalmmm_ver2_subl6imode'''], '''portalmmm_ver2_subl6imodec10tb''', '''portalmmm/2.0 L6imode(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subl7imode'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subl7imode''', '''portalmmm/2.0 L7imode''', True, {'''brand_name''':'''Motorola''','''colors''':262144,'''doja_1_0''':True,'''doja_1_5''':True,'''doja_2_0''':True,'''doja_2_1''':True,'''doja_2_2''':True,'''html_wi_imode_html_4''':True,'''html_wi_imode_html_5''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':20480,'''max_image_height''':178,'''max_image_width''':176,'''model_name''':'''L7imode''','''png''':True,'''preferred_markup''':'''html_wi_imode_html_5''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':307200,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''portalmmm_ver2_subl7imodec20tb'''] = devclass(devices.devids['''portalmmm_ver2_subl7imode'''], '''portalmmm_ver2_subl7imodec20tb''', '''portalmmm/2.0 L7imode(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subl7imodetb'''] = devclass(devices.devids['''portalmmm_ver2_subl7imode'''], '''portalmmm_ver2_subl7imodetb''', '''portalmmm/2.0 L7i;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn400i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subn400i''', '''portalmmm/2.0 N400i''', True, {'''brand_name''':'''NEC''','''colors''':65536,'''columns''':15,'''downloadfun_support''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':20480,'''max_image_height''':255,'''max_image_width''':240,'''mms_amr''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':51200,'''model_name''':'''N400i''','''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_imode_compact_generic''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''rows''':10,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':102400,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''portalmmm_ver2_subn400ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn400i'''], '''portalmmm_ver2_subn400ic20tb''', '''portalmmm/2.0 N400i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn400ic20commatb'''] = devclass(devices.devids['''portalmmm_ver2_subn400i'''], '''portalmmm_ver2_subn400ic20commatb''', '''portalmmm/2.0 N400i(c20,TB)''', False, None) +devices.devids['''portalmmm_ver2_subs400i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subs400i''', '''portalmmm/2.0 S400i''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''doja_1_0''':True,'''doja_1_5''':True,'''imelody''':True,'''j2me_heap_size''':4194304,'''j2me_max_jar_size''':30720,'''j2me_screen_height''':178,'''j2me_screen_width''':176,'''jpg''':True,'''max_image_height''':178,'''max_image_width''':176,'''model_name''':'''S400i''','''oma_v_1_0_forwardlock''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_max_frame_rate''':15,'''video_mp4''':True,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':148,'''wallpaper_preferred_width''':176}) +devices.devids['''portalmmm_ver2_subs400ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subs400i'''], '''portalmmm_ver2_subs400ic20tb''', '''portalmmm/2.0 S400i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subs400ic100tb'''] = devclass(devices.devids['''portalmmm_ver2_subs400i'''], '''portalmmm_ver2_subs400ic100tb''', '''portalmmm/2.0 S400i(c100,TB)''', False, None) +devices.devids['''portalmmm_ver2_subs400ic30td'''] = devclass(devices.devids['''portalmmm_ver2_subs400i'''], '''portalmmm_ver2_subs400ic30td''', '''portalmmm/2.0 S400i(c30,TD)''', False, None) +devices.devids['''portalmmm_ver2_subs400ic10tj'''] = devclass(devices.devids['''portalmmm_ver2_subs400i'''], '''portalmmm_ver2_subs400ic10tj''', '''portalmmm/2.0 S400i(c10,TJ)''', False, None) +devices.devids['''portalmmm_ver2_subsi400i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subsi400i''', '''portalmmm/2.0 SI400i''', True, {'''brand_name''':'''Siemens''','''colors''':65536,'''max_image_height''':156,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SI400i''','''resolution_height''':176,'''resolution_width''':132,'''voices''':40}) +devices.devids['''portalmmm_ver2_subsi400ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subsi400i'''], '''portalmmm_ver2_subsi400ic10tb''', '''portalmmm/2.0 SI400i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subs401i'''] = devclass(devices.devids['''portalmmm_ver2_subs400i'''], '''portalmmm_ver2_subs401i''', '''portalmmm/2.0 S401i''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''doja_1_0''':True,'''doja_1_5''':True,'''gif_animated''':True,'''j2me_cldc_1_0''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''S401i''','''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''video_preferred_height''':144,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''portalmmm_ver2_subs401ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subs401i'''], '''portalmmm_ver2_subs401ic10tb''', '''portalmmm/2.0 S401i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn401i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subn401i''', '''portalmmm/2.0 N401i''', True, {'''amr''':True,'''brand_name''':'''NEC''','''colors''':65536,'''imelody''':True,'''jpg''':True,'''max_image_height''':176,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':51200,'''model_name''':'''N401i''','''mp3''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_3gpp''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_qcif''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':176}) +devices.devids['''portalmmm_ver2_subn401ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn401i'''], '''portalmmm_ver2_subn401ic10tb''', '''portalmmm/2.0 N401i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn401ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn401i'''], '''portalmmm_ver2_subn401ic20tb''', '''portalmmm/2.0 N401i(c20;TB)''', False, {'''max_deck_size''':20480}) +devices.devids['''portalmmm_ver2_subn401itc20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn401ic20tb'''], '''portalmmm_ver2_subn401itc20tb''', '''portalmmm/2.0 N401i-t(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn401ispacetc20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn401ic20tb'''], '''portalmmm_ver2_subn401ispacetc20tb''', '''portalmmm/2.0 N401i (c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn401ic100tb'''] = devclass(devices.devids['''portalmmm_ver2_subn401i'''], '''portalmmm_ver2_subn401ic100tb''', '''portalmmm/2.0 N401i(c100;TB)''', False, {'''max_deck_size''':102400}) +devices.devids['''portalmmm_ver2_subg402i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subg402i''', '''portalmmm/2.0 G402i''', True, {'''amr''':True,'''brand_name''':'''Grundig''','''colors''':65536,'''downloadfun_support''':True,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''G402i''','''mp3''':True,'''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':102400,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True}) +devices.devids['''portalmmm_ver2_subg402ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subg402i'''], '''portalmmm_ver2_subg402ic10tb''', '''portalmmm/2.0 G402i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subg410i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subg410i''', '''portalmmm/2.0 G410i''', True, {'''bmp''':True,'''brand_name''':'''Grundig''','''colors''':65536,'''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''model_name''':'''G410i''','''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''portalmmm_ver2_subg410ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subg410i'''], '''portalmmm_ver2_subg410ic10tb''', '''portalmmm/2.0 G410i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subg411i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subg411i''', '''portalmmm/2.0 G411i''', True, {'''brand_name''':'''Grundig''','''jpg''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''G411i''','''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''video''':True,'''video_3gpp''':True,'''video_vcodec_h263_0''':True,'''xhtml_preferred_charset''':'''iso8859'''}) +devices.devids['''portalmmm_ver2_subg411ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subg411i'''], '''portalmmm_ver2_subg411ic10tb''', '''portalmmm/2.0 G411i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subg550i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subg550i''', '''portalmmm/2.0 G550i''', True, {'''brand_name''':'''Grundig''','''model_name''':'''G550i'''}) +devices.devids['''portalmmm_ver2_subg550ic100tb'''] = devclass(devices.devids['''portalmmm_ver2_subg550i'''], '''portalmmm_ver2_subg550ic100tb''', '''portalmmm/2.0 G550i(c100;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn410i'''] = devclass(devices.devids['''portalmmm_ver2_subn401i'''], '''portalmmm_ver2_subn410i''', '''portalmmm/2.0 N410i''', True, {'''brand_name''':'''NEC''','''colors''':65536,'''downloadfun_support''':True,'''jpg''':True,'''max_deck_size''':20480,'''max_image_height''':255,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''N410i''','''resolution_height''':320,'''resolution_width''':240,'''screensaver''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':102400,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''portalmmm_ver2_subn410ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn410i'''], '''portalmmm_ver2_subn410ic20tb''', '''portalmmm/2.0 N410i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subcolonn410ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn410i'''], '''portalmmm_ver2_subcolonn410ic20tb''', '''portalmmm/2.0,N410i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn410itc20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn410i'''], '''portalmmm_ver2_subn410itc20tb''', '''portalmmm/2.0 N410i-t(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn411i'''] = devclass(devices.devids['''portalmmm_ver2_subn410i'''], '''portalmmm_ver2_subn411i''', '''portalmmm/2.0 N411i''', True, {'''amr''':True,'''brand_name''':'''NEC''','''built_in_camera''':True,'''colors''':65536,'''directdownload_support''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''inline_support''':True,'''jpg''':True,'''max_deck_size''':20480,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':307200,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''N411i''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_df_size_limit''':102400,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True,'''xhtml_table_support''':True}) +devices.devids['''portalmmm_ver2_subn411ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn411i'''], '''portalmmm_ver2_subn411ic10tb''', '''portalmmm/2.0 N411i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn411ic10spacetb'''] = devclass(devices.devids['''portalmmm_ver2_subn411i'''], '''portalmmm_ver2_subn411ic10spacetb''', '''portalmmm/2.0 N411i(c10 ;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn411ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn411i'''], '''portalmmm_ver2_subn411ic20tb''', '''portalmmm/2.0 N411i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn411ispacec20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn411i'''], '''portalmmm_ver2_subn411ispacec20tb''', '''portalmmm/2.0 N411i (c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn411io2c10tb'''] = devclass(devices.devids['''portalmmm_ver2_subn411i'''], '''portalmmm_ver2_subn411io2c10tb''', '''o2imode/2.0 N411i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn411io2c20tj'''] = devclass(devices.devids['''portalmmm_ver2_subn411i'''], '''portalmmm_ver2_subn411io2c20tj''', '''o2imode/2.0 N411i(c20;TJ)''', False, None) +devices.devids['''portalmmm_ver2_subn411io2c30td'''] = devclass(devices.devids['''portalmmm_ver2_subn411i'''], '''portalmmm_ver2_subn411io2c30td''', '''o2imode/2.0 N411i(c30;TD)''', False, None) +devices.devids['''portalmmm_ver2_subn412i'''] = devclass(devices.devids['''portalmmm_ver2_subn411i'''], '''portalmmm_ver2_subn412i''', '''portalmmm/2.0 N412i''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''directdownload_support''':True,'''doja_1_0''':True,'''doja_1_5''':True,'''gif_animated''':True,'''inline_support''':True,'''jpg''':True,'''max_deck_size''':20480,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''N412i''','''mp3''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''video''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''portalmmm_ver2_subn412ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn412i'''], '''portalmmm_ver2_subn412ic20tb''', '''portalmmm/2.0 N412i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn412itc20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn412i'''], '''portalmmm_ver2_subn412itc20tb''', '''portalmmm/2.0 N412i-t(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subs410i'''] = devclass(devices.devids['''portalmmm_ver2_subs401i'''], '''portalmmm_ver2_subs410i''', '''portalmmm/2.0 S410i''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':16,'''directdownload_support''':True,'''doja_1_0''':True,'''doja_1_5''':True,'''gif_animated''':True,'''inline_support''':True,'''j2me_max_jar_size''':30,'''jpg''':True,'''max_image_height''':178,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''S410i''','''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':30,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':64,'''rows''':10,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':30,'''screensaver_gif''':True,'''screensaver_inline_size_limit''':10,'''screensaver_jpg''':True,'''screensaver_max_height''':144,'''screensaver_max_width''':176,'''screensaver_png''':True,'''screensaver_preferred_height''':144,'''screensaver_preferred_width''':176,'''screensaver_wbmp''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':300000,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':30,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':10,'''wallpaper_jpg''':True,'''wallpaper_max_height''':144,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True}) +devices.devids['''portalmmm_ver2_subs410ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subs410i'''], '''portalmmm_ver2_subs410ic10tb''', '''portalmmm/2.0 S410i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subs410ic10tc'''] = devclass(devices.devids['''portalmmm_ver2_subs410i'''], '''portalmmm_ver2_subs410ic10tc''', '''portalmmm/2.0 S410i(c10;TC)''', False, None) +devices.devids['''portalmmm_ver2_subs410ic10tj'''] = devclass(devices.devids['''portalmmm_ver2_subs410i'''], '''portalmmm_ver2_subs410ic10tj''', '''portalmmm/2.0 S410i(c10;TJ)''', False, None) +devices.devids['''portalmmm_ver2_subs410ic30tb'''] = devclass(devices.devids['''portalmmm_ver2_subs410i'''], '''portalmmm_ver2_subs410ic30tb''', '''portalmmm/2.0 S410i(c30;TB)''', False, None) +devices.devids['''portalmmm_ver2_subs410ic30td'''] = devclass(devices.devids['''portalmmm_ver2_subs410i'''], '''portalmmm_ver2_subs410ic30td''', '''portalmmm/2.0 S410i(c30;TD)''', False, None) +devices.devids['''portalmmm_ver2_subm420i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subm420i''', '''portalmmm/2.0 M420i''', True, {'''brand_name''':'''Mitsubishi''','''colors''':262144,'''directdownload_support''':True,'''doja_1_0''':True,'''doja_1_5''':True,'''j2me_heap_size''':1572864,'''j2me_max_jar_size''':30720,'''jpg''':True,'''max_image_height''':240,'''max_image_width''':176,'''model_name''':'''M420i''','''png''':True,'''resolution_height''':240,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':176}) +devices.devids['''portalmmm_ver2_subm420ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subm420i'''], '''portalmmm_ver2_subm420ic10tb''', '''portalmmm/2.0 M420i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subm420ic10tc'''] = devclass(devices.devids['''portalmmm_ver2_subm420i'''], '''portalmmm_ver2_subm420ic10tc''', '''portalmmm/2.0 M420i(c10;TC)''', False, None) +devices.devids['''portalmmm_ver2_subm430i'''] = devclass(devices.devids['''portalmmm_ver2_subm420i'''], '''portalmmm_ver2_subm430i''', '''portalmmm/2.0 M430i''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Mitsubishi''','''colors''':262144,'''directdownload_support''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':20480,'''max_image_height''':270,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':51200,'''model_name''':'''M430i''','''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_3gpp''':True,'''ringtone_imelody''':True,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''portalmmm_ver2_subm430ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subm430i'''], '''portalmmm_ver2_subm430ic20tb''', '''portalmmm/2.0 M430i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subm430ic20tc'''] = devclass(devices.devids['''portalmmm_ver2_subm430i'''], '''portalmmm_ver2_subm430ic20tc''', '''portalmmm/2.0 M430i(c20;TC)''', False, None) +devices.devids['''portalmmm_ver2_subm430ic100tb'''] = devclass(devices.devids['''portalmmm_ver2_subm430i'''], '''portalmmm_ver2_subm430ic100tb''', '''portalmmm/2.0 M430i(c100;TB)''', False, None) +devices.devids['''portalmmm_ver2_subm430ic100tc'''] = devclass(devices.devids['''portalmmm_ver2_subm430i'''], '''portalmmm_ver2_subm430ic100tc''', '''portalmmm/2.0 M430i(c100;TC)''', False, None) +devices.devids['''portalmmm_ver2_subm430ic300tb'''] = devclass(devices.devids['''portalmmm_ver2_subm430i'''], '''portalmmm_ver2_subm430ic300tb''', '''portalmmm/2.0 M430i(c300;TB)''', False, None) +devices.devids['''portalmmm_ver2_subs500i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subs500i''', '''o2imode/2.0 S500i''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''gif_animated''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':300,'''max_image_width''':240,'''model_name''':'''S500i''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':256,'''wallpaper_preferred_width''':240}) +devices.devids['''portalmmm_ver2_subo2s500ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subs500i'''], '''portalmmm_ver2_subo2s500ic20tb''', '''o2imode/2.0 S500i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subs500ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subs500i'''], '''portalmmm_ver2_subs500ic20tb''', '''portalmmm/2.0 S500i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subg500i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subg500i''', '''portalmmm/2.0 G500i''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''DreamPhone''','''colors''':262144,'''flash_lite_version''':'''1_1''','''gif_animated''':True,'''jpg''':True,'''max_deck_size''':20480,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''G500i''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':176,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True}) +devices.devids['''portalmmm_ver2_subg500ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subg500i'''], '''portalmmm_ver2_subg500ic20tb''', '''portalmmm/2.0 G500i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn500i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subn500i''', '''portalmmm/2.0 N500i''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''directdownload_support''':True,'''doja_1_0''':True,'''doja_1_5''':True,'''gif_animated''':True,'''inline_support''':True,'''j2me_max_jar_size''':30720,'''jpg''':True,'''max_deck_size''':20480,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''N500i''','''mp3''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''portalmmm_ver2_subn500ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn500i'''], '''portalmmm_ver2_subn500ic20tb''', '''portalmmm/2.0 N500i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn500isc20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn500i'''], '''portalmmm_ver2_subn500isc20tb''', '''portalmmm/2.0 N500iS(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subs501i'''] = devclass(devices.devids['''portalmmm_ver2_subs500i'''], '''portalmmm_ver2_subs501i''', '''portalmmm/2.0 S501i''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''doja_1_0''':True,'''doja_1_5''':True,'''doja_2_0''':True,'''doja_2_1''':True,'''doja_2_2''':True,'''flash_lite_version''':'''1_1''','''gif_animated''':True,'''j2me_cldc_1_0''':True,'''jpg''':True,'''max_deck_size''':20480,'''max_image_height''':220,'''max_image_width''':176,'''model_name''':'''S501i''','''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''portalmmm_ver2_subs501ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subs501i'''], '''portalmmm_ver2_subs501ic20tb''', '''portalmmm/2.0 S501i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn600i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subn600i''', '''portalmmm/2.0 N600i''', True, {'''brand_name''':'''NEC''','''colors''':65536,'''columns''':10,'''directdownload_support''':True,'''doja_1_0''':True,'''doja_1_5''':True,'''doja_2_0''':True,'''doja_2_1''':True,'''doja_2_2''':True,'''flash_lite_version''':'''1_1''','''gif_animated''':True,'''inline_support''':True,'''j2me_max_jar_size''':30,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':270,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''600i''','''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_directdownload_size_limit''':30720,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':72,'''rows''':10,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':30720,'''screensaver_gif''':True,'''screensaver_inline_size_limit''':10240,'''screensaver_jpg''':True,'''screensaver_max_height''':270,'''screensaver_max_width''':240,'''screensaver_png''':True,'''screensaver_preferred_height''':270,'''screensaver_preferred_width''':240,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':2048000,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':30720,'''wallpaper_gif''':True,'''wallpaper_inline_size_limit''':10240,'''wallpaper_jpg''':True,'''wallpaper_max_height''':270,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':270,'''wallpaper_preferred_width''':240}) +devices.devids['''portalmmm_ver2_subn600ic100tb'''] = devclass(devices.devids['''portalmmm_ver2_subn600i'''], '''portalmmm_ver2_subn600ic100tb''', '''portalmmm/2.0 N600i(c100;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn600ic100tc'''] = devclass(devices.devids['''portalmmm_ver2_subn600i'''], '''portalmmm_ver2_subn600ic100tc''', '''portalmmm/2.0,N600i(c100;TC)''', False, None) +devices.devids['''portalmmm_ver2_subg600i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subg600i''', '''portalmmm/2.0 G600i''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Grundig''','''colors''':65536,'''directdownload_support''':True,'''doja_1_0''':True,'''doja_1_5''':True,'''gif_animated''':True,'''inline_support''':True,'''j2me_screen_height''':173,'''j2me_screen_width''':176,'''j2me_storage_size''':4823449,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':300000,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''G600i''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''voices''':72,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''portalmmm_ver2_subg600ic100tb'''] = devclass(devices.devids['''portalmmm_ver2_subg600i'''], '''portalmmm_ver2_subg600ic100tb''', '''portalmmm/2.0 G600i(c100;TB)''', False, None) +devices.devids['''portalmmm_ver2_subg600ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subg600i'''], '''portalmmm_ver2_subg600ic10tb''', '''portalmmm/2.0 G600i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subg600ic30td'''] = devclass(devices.devids['''portalmmm_ver2_subg600i'''], '''portalmmm_ver2_subg600ic30td''', '''portalmmm/2.0 G600i(c30;TD)''', False, None) +devices.devids['''portalmmm_ver2_subg600ic100tj'''] = devclass(devices.devids['''portalmmm_ver2_subg600i'''], '''portalmmm_ver2_subg600ic100tj''', '''portalmmm/2.0 G600i(c100;TJ)''', False, None) +devices.devids['''portalmmm_ver2_subnk600i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subnk600i''', '''portalmmm/2.0 NK600i''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':262144,'''directdownload_support''':True,'''doja_1_0''':True,'''doja_1_5''':True,'''gif_animated''':True,'''j2me_max_jar_size''':30720,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':208,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''NK600i''','''mp3''':True,'''png''':True,'''resolution_height''':208,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':208,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':208,'''wallpaper_preferred_width''':176}) +devices.devids['''portalmmm_ver2_subnk600ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subnk600i'''], '''portalmmm_ver2_subnk600ic10tb''', '''portalmmm/2.0 NK600i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subnk600ic100tb'''] = devclass(devices.devids['''portalmmm_ver2_subnk600i'''], '''portalmmm_ver2_subnk600ic100tb''', '''portalmmm/2.0 NK600i(c100;TB)''', False, None) +devices.devids['''portalmmm_ver2_subnk601i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subnk601i''', '''portalmmm/2.0 NK601i''', True, {'''brand_name''':'''Nokia''','''colors''':262144,'''html_wi_oma_xhtmlmp_1_0''':True,'''max_image_height''':208,'''max_image_width''':176,'''model_name''':'''NK601i''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':208,'''resolution_width''':176,'''wap_push_support''':True,'''xhtml_support_level''':3}) +devices.devids['''portalmmm_ver2_subnk601ic100tb'''] = devclass(devices.devids['''portalmmm_ver2_subnk601i'''], '''portalmmm_ver2_subnk601ic100tb''', '''portalmmm/2.0 NK601i(c100;TB)''', True, {'''imelody''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''N70i''','''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''video_3gpp''':True,'''video_qcif''':True,'''video_sqcif''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''portalmmm_ver2_subnk601i7023119'''] = devclass(devices.devids['''portalmmm_ver2_subnk601i'''], '''portalmmm_ver2_subnk601i7023119''', '''portalmmm/2.0 NK601i UP.Browser/7.0.2.3.119 (GUI) MMP/2.0 Push/PO''', False, None) +devices.devids['''portalmmm_ver2_subtsm7'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subtsm7''', '''portalmmm/2.0 TSM7''', True, {'''brand_name''':'''Vitelcom''','''columns''':12,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':130,'''max_image_width''':128,'''model_name''':'''TSM-7''','''resolution_height''':160,'''resolution_width''':128,'''rows''':13}) +devices.devids['''portalmmm_ver2_subtsm7c10tb'''] = devclass(devices.devids['''portalmmm_ver2_subtsm7'''], '''portalmmm_ver2_subtsm7c10tb''', '''portalmmm/2.0 TSM7(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subtsm7_FFFFFFFF'''] = devclass(devices.devids['''portalmmm_ver2_subtsm7'''], '''portalmmm_ver2_subtsm7_FFFFFFFF''', '''TSM-7/53118000 Browser/1.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''portalmmm_ver2_subtsm7i'''] = devclass(devices.devids['''portalmmm_ver2_subtsm7'''], '''portalmmm_ver2_subtsm7i''', '''portalmmm/2.0 TSM7i''', True, {'''brand_name''':'''Vitelcom''','''colors''':65536,'''jpg''':True,'''model_name''':'''TSM-7i'''}) +devices.devids['''portalmmm_ver2_subtsm7ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subtsm7i'''], '''portalmmm_ver2_subtsm7ic10tb''', '''portalmmm/2.0 TSM7i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subtsm30i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_subtsm30i''', '''portalmmm/2.0 TSM30i''', True, {'''bmp''':True,'''brand_name''':'''Vitelcom''','''colors''':32768,'''columns''':12,'''max_image_height''':120,'''max_image_width''':128,'''model_name''':'''30i''','''resolution_height''':160,'''resolution_width''':128,'''rows''':13}) +devices.devids['''portalmmm_ver2_subtsm30ic10tb'''] = devclass(devices.devids['''portalmmm_ver2_subtsm30i'''], '''portalmmm_ver2_subtsm30ic10tb''', '''portalmmm/2.0 TSM30i(c10;TB)''', False, None) +devices.devids['''portalmmm_ver2_subtsm30'''] = devclass(devices.devids['''portalmmm_ver2_subtsm30i'''], '''portalmmm_ver2_subtsm30''', '''portalmmm/2.0 TSM30''', False, None) +devices.devids['''tsm340_ver1'''] = devclass(devices.devids['''generic'''], '''tsm340_ver1''', '''TSM340''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Vitelcom''','''colors''':65536,'''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':83,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':3000,'''max_image_height''':63,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':200000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''TSM340''','''nokia_voice_call''':True,'''png''':True,'''receiver''':True,'''resolution_height''':83,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''sender''':True,'''uaprof''':'''http://www.vitelcom.es/uaprof/UAprofile_VitelcomTSM340_01.xml''','''wap_push_support''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''tsm340_ver1_sub121'''] = devclass(devices.devids['''tsm340_ver1'''], '''tsm340_ver1_sub121''', '''TSM340/83228611 Browser/1.2.1 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''kgt_ver1'''] = devclass(devices.devids['''generic'''], '''kgt_ver1''', '''KGT''', False, None) +devices.devids['''kgt_ver1_submonitor'''] = devclass(devices.devids['''kgt_ver1'''], '''kgt_ver1_submonitor''', '''KGT BBrowser ver 1.0 for E-E Performancee Monitorring''', False, None) +devices.devids['''kgt_ver1_subn400i'''] = devclass(devices.devids['''portalmmm_ver2_subn400ic20tb'''], '''kgt_ver1_subn400i''', '''KGT/2.0 N400i(c20;TB)''', False, None) +devices.devids['''kgt_ver1_subn630i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''kgt_ver1_subn630i''', '''KGT/2.0 N630i-10(c10;TB)''', True, {'''brand_name''':'''NEC''','''model_name''':'''N630i'''}) +devices.devids['''kgt_ver1_subn530i'''] = devclass(devices.devids['''portalmmm_ver1'''], '''kgt_ver1_subn530i''', '''KGT/1.0 N530i-10''', False, None) +devices.devids['''kgt_ver1_subn530ic10'''] = devclass(devices.devids['''kgt_ver1_subn530i'''], '''kgt_ver1_subn530ic10''', '''KGT/1.0 N530i-10(c10)''', False, None) +devices.devids['''kgt_ver1_subn550i'''] = devclass(devices.devids['''portalmmm_ver1'''], '''kgt_ver1_subn550i''', '''KGT/1.0 N550i-10(c10)''', False, None) +devices.devids['''kgt_ver1_subt535i'''] = devclass(devices.devids['''portalmmm_ver1'''], '''kgt_ver1_subt535i''', '''KGT/1.0 T535i-10(c10)''', False, None) +devices.devids['''kgt_ver1_subn590i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''kgt_ver1_subn590i''', '''KGT/2.0 N590i-10(c10;TB)''', False, None) +devices.devids['''kgt_ver1_subn900i'''] = devclass(devices.devids['''portalmmm_ver2'''], '''kgt_ver1_subn900i''', '''KGT/2.0 N900i(c20;TB)''', False, None) +devices.devids['''mercedes_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''mercedes_ver1''', '''Mercedes''', False, None) +devices.devids['''mercedes_ver1_sub00'''] = devclass(devices.devids['''mercedes_ver1'''], '''mercedes_ver1_sub00''', '''Mercedes Benz UP.Browser/5.0.3.3 (GUI)''', False, None) +devices.devids['''iac_ver1'''] = devclass(devices.devids['''generic'''], '''iac_ver1''', '''IAC''', False, None) +devices.devids['''iac_ver1_sub100'''] = devclass(devices.devids['''iac_ver1'''], '''iac_ver1_sub100''', '''IAC KM100''', False, None) +devices.devids['''iac_ver1_sub4123'''] = devclass(devices.devids['''iac_ver1'''], '''iac_ver1_sub4123''', '''IAC KM100/168 UP.Browser/4.1.23c''', False, None) +devices.devids['''iac_ver1_sub178'''] = devclass(devices.devids['''iac_ver1'''], '''iac_ver1_sub178''', '''IAC/KM178/''', False, None) +devices.devids['''iac_ver1_sub63'''] = devclass(devices.devids['''iac_ver1'''], '''iac_ver1_sub63''', '''IAC/KM63/''', False, None) +devices.devids['''iac_ver1_subi3698'''] = devclass(devices.devids['''iac_ver1'''], '''iac_ver1_subi3698''', '''IAC/i-3698/''', False, None) +devices.devids['''iac_h105_ver1'''] = devclass(devices.devids['''generic'''], '''iac_h105_ver1''', '''IAC-H105''', True, {'''brand_name''':'''IAC OKWAP''','''colors''':65536,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''imelody''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':3000,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':51200,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''KM65''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://www.okwap.com.cn/uaprof/km65/km65profile.xml''','''video''':True,'''video_mp4''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''4thpasscom_kbrowser_ver1'''] = devclass(devices.devids['''generic'''], '''4thpasscom_kbrowser_ver1''', '''4thpass.com KBrowser 1.0''', False, None) +devices.devids['''aur_palm_wapper_ver1'''] = devclass(devices.devids['''generic'''], '''aur_palm_wapper_ver1''', '''AUR PALM WAPPER''', False, None) +devices.devids['''aur_palm_wapper_ver1_sub11'''] = devclass(devices.devids['''aur_palm_wapper_ver1'''], '''aur_palm_wapper_ver1_sub11''', '''AUR PALM WAPPER (WAP 1.1)''', False, None) +devices.devids['''aus_ver1'''] = devclass(devices.devids['''generic'''], '''aus_ver1''', '''AUS PALM WAPPER''', False, None) +devices.devids['''emulateur_ver1'''] = devclass(devices.devids['''generic'''], '''emulateur_ver1''', '''Emulateur WAP de Phonevalley''', False, None) +devices.devids['''emulateur_ver1_sub00'''] = devclass(devices.devids['''emulateur_ver1'''], '''emulateur_ver1_sub00''', '''Emulateur Orange''', False, None) +devices.devids['''ezwapbrowser_ver1'''] = devclass(devices.devids['''generic'''], '''ezwapbrowser_ver1''', '''EzWAPBrowser1.0-WAP''', False, None) +devices.devids['''ezwapbrowser_ver1_subce'''] = devclass(devices.devids['''ezwapbrowser_ver1'''], '''ezwapbrowser_ver1_subce''', '''EzWAPBrowserCE1.0-WAP''', False, None) +devices.devids['''ezwapbrowser_ver2'''] = devclass(devices.devids['''ezwapbrowser_ver1'''], '''ezwapbrowser_ver2''', '''EzWAPBrowser2.0-WAP''', False, None) +devices.devids['''psion_cpw_ver1'''] = devclass(devices.devids['''generic'''], '''psion_cpw_ver1''', '''Psion Cpw/1''', False, None) +devices.devids['''psion_cpw_ver1_subrv'''] = devclass(devices.devids['''generic'''], '''psion_cpw_ver1_subrv''', '''Psion Cpw/1.00f(RV) War/1.00f''', False, None) +devices.devids['''psion_cpw_ver1_subs5'''] = devclass(devices.devids['''generic'''], '''psion_cpw_ver1_subs5''', '''Psion Cpw/1.00f(S5) War/1.00f''', False, None) +devices.devids['''netfront_ver3'''] = devclass(devices.devids['''generic_xhtml'''], '''netfront_ver3''', '''Mozilla/4.0 NetFront/3''', False, {'''ajax_support_javascript''':True,'''brand_name''':'''Access''','''colors''':256,'''connectionless_service_indication''':True,'''directdownload_support''':True,'''html_wi_imode_html_1''':True,'''html_wi_imode_html_2''':True,'''html_wi_imode_html_3''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''is_wireless_device''':True,'''model_name''':'''NetFront Ver. 3.0''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':100,'''resolution_width''':120,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_file_upload''':'''supported''','''xhtml_format_as_css_property''':True,'''xhtml_support_level''':1,'''xhtml_supports_file_upload''':True,'''xhtml_table_support''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''samsung_e570_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_e570_ver1''', '''SEC-SGHE570''', True, {'''amr''':True,'''bmp''':False,'''brand_name''':'''Samsung''','''colors''':262144,'''gif_animated''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_deck_size''':102400,'''max_image_height''':144,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':307200,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':64,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E570''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_directdownload_size_limit''':307200,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_directdownload_size_limit''':307200,'''screensaver_gif''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e570_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':307200,'''video_max_frame_rate''':15,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':307200,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':173,'''wallpaper_max_width''':174,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_e770_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_e770_ver1''', '''SAMSUNG-SGH-E770''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''directdownload_support''':True,'''ems''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_image_height''':200,'''max_image_width''':169,'''model_name''':'''E770''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':False,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':173,'''wallpaper_preferred_width''':174}) +devices.devids['''sec_sghe790_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sec_sghe790_ver1''', '''SEC-SGHE790''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_web_4_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':512000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''E790''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''table_support''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wta_phonebook''':True}) +devices.devids['''samsung_p310_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_p310_ver1''', '''SEC-SGHP310''', True, {'''aac''':True,'''amr''':True,'''bmp''':False,'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_data_rate''':200,'''max_image_height''':240,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-P310''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':5242880,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_directdownload_size_limit''':1024000,'''screensaver_gif''':True,'''screensaver_preferred_height''':240,'''screensaver_preferred_width''':320,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/p310_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':1024000,'''video_max_frame_rate''':30,'''video_max_height''':288,'''video_max_width''':352,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_directdownload_size_limit''':1024000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320,'''wap_push_support''':True}) +devices.devids['''samsung_u620_verizon'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_u620_verizon''', '''SCH-U620''', True, {'''brand_name''':'''Samsung''','''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''max_image_height''':165,'''max_image_width''':176,'''model_name''':'''SCH-U620''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176}) +devices.devids['''sec_sgh_x800_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sec_sgh_x800_ver1''', '''SEC-SGHX800''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''X800''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''sec_x820_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sec_x820_ver1''', '''SEC-SGHX820''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':220,'''jpg''':True,'''max_deck_size''':512000,'''max_image_height''':156,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':176,'''mms_max_size''':307200,'''mms_max_width''':220,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X820''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''rows''':6,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x820_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wbmp''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_a707_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_a707_ver1''', '''SAMSUNG-SGH-A707''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''built_in_camera''':True,'''built_in_recorder''':True,'''colors''':2,'''columns''':11,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''j2me_3dapi''':True,'''j2me_bits_per_pixel''':0,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':2048,'''j2me_http''':True,'''j2me_https''':True,'''j2me_max_jar_size''':1024,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mmapi_1_1''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''j2me_socket''':True,'''j2me_udp''':True,'''j2me_wmapi_1_0''':True,'''j2me_wmapi_1_1''':True,'''j2me_wmapi_2_0''':True,'''jpg''':True,'''max_image_height''':320,'''max_image_width''':240,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':240,'''mms_max_size''':614400,'''mms_max_width''':320,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':0,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_xmf''':True,'''model_name''':'''A707 (Cingular SYNC)''','''oma_support''':True,'''oma_v_1_0_combined_delivery''':False,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':False,'''picture''':False,'''picture_bmp''':False,'''picture_colors''':2,'''picture_df_size_limit''':0,'''picture_directdownload_size_limit''':0,'''picture_gif''':False,'''picture_greyscale''':False,'''picture_inline_size_limit''':0,'''picture_jpg''':False,'''picture_max_height''':0,'''picture_max_width''':0,'''picture_oma_size_limit''':0,'''picture_png''':False,'''picture_preferred_height''':0,'''picture_preferred_width''':0,'''picture_resize''':'''none''','''picture_wbmp''':False,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':1,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':2,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':2,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':240,'''screensaver_max_width''':320,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''sender''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_real_media_8''':True,'''streaming_real_media_9''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':240,'''streaming_video_qcif_max_width''':320,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_height''':240,'''video_max_width''':320,'''video_mp4''':True,'''video_real_media_10''':False,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':2,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':240,'''wallpaper_max_width''':320,'''wallpaper_png''':True,'''wallpaper_tiff''':True,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wbmp''':True}) +devices.devids['''samsung_d520_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_d520_ver1''', '''SEC-SGHD520/1.0 NetFront/3.2''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_image_height''':144,'''max_image_width''':162,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-D520''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/d520_10.xml''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_e860_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_e860_ver1''', '''SAMSUNG/SGHE860V''', True, {'''brand_name''':'''Samsung''','''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''model_name''':'''SGH-E860V''','''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sec_e900_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sec_e900_ver1''', '''SEC-SGHE900''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':8000,'''max_image_height''':300,'''max_image_width''':232,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-E900''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_gif''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wml_1_3''':True}) +devices.devids['''sgh_z130_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sgh_z130_ver1''', '''SGH-Z130''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_deck_size''':4194304,'''max_image_height''':200,'''max_image_width''':168,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''Z130''','''mp3''':True,'''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':12,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/z130_00.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':2000000,'''video_max_frame_rate''':15,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':1000000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wta_phonebook''':True}) +devices.devids['''samsung_z140_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_z140_ver1''', '''SAMSUNG-SGH-Z140''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''directdownload_support''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-Z140''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':1000000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_colors''':65536,'''screensaver_directdownload_size_limit''':1000000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_preferred_height''':147,'''screensaver_preferred_width''':176,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':1000000,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':1000000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_z370_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_z370_ver1''', '''SAMSUNG-SGH-Z370''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':220,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':2048000,'''max_image_height''':156,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''Z370''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':12,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_z520_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_z520_ver1''', '''SGH-Z520''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':20,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''Z520''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':16,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z520UAProf2G.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''samsung_zv10_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_zv10_ver1''', '''SAMSUNG-SGH-ZV10''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''flash_lite_version''':'''1_1''','''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':384,'''max_deck_size''':5000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':864,'''mms_max_size''':307200,'''mms_max_width''':1152,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-ZV10''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''svgt_1_1''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/ZV10UAProf3G.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_real_media_8''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':147}) +devices.devids['''samsung_zv30_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_zv30_ver1''', '''SAMSUNG-SGH-ZV30''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':384,'''max_deck_size''':5000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':864,'''mms_max_size''':307200,'''mms_max_width''':1152,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-ZV30''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_directdownload_size_limit''':1024000,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''rows''':16,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_preferred_height''':147,'''screensaver_preferred_width''':176,'''sender''':True,'''smf''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/ZV30UAProf.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':1024000,'''video_max_frame_rate''':15,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':1024000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':147,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_zv40_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_zv40_ver1''', '''SAMSUNG-SGH-ZV40''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':20,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_data_rate''':384,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-ZV40''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''picture''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''rows''':16,'''screensaver''':True,'''screensaver_gif''':True,'''smf''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''samsung_zv50_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_zv50_ver1''', '''SAMSUNG-SGH-ZV50''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''max_data_rate''':384,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''model_name''':'''SGH-ZV50''','''mp3''':True,'''picture''':True,'''picture_max_height''':320,'''picture_max_width''':240,'''picture_preferred_height''':320,'''picture_preferred_width''':240,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''smf''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''sgh_zx20_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sgh_zx20_ver1''', '''SEC-SGHZX20''', True, {'''brand_name''':'''Samsung''','''gif''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':165,'''max_image_width''':176,'''model_name''':'''ZX20''','''png''':True,'''resolution_height''':220,'''resolution_width''':176}) +devices.devids['''mot_cn620_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''mot_cn620_ver1''', '''MOT-CN620''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_deck_size''':4096,'''max_image_height''':200,'''max_image_width''':176,'''model_name''':'''CN620''','''resolution_height''':220,'''resolution_width''':176,'''rows''':15,'''softkey_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/cn620/profile/cn620.rdf'''}) +devices.devids['''sonyericsson_netfront_ver3'''] = devclass(devices.devids['''netfront_ver3'''], '''sonyericsson_netfront_ver3''', '''SonyEricssonNetFront''', False, {'''brand_name''':'''SonyEricsson''','''can_skip_aligned_link_row''':True,'''directdownload_support''':True,'''inline_support''':True,'''mobile_browser''':'''Access Netfront''','''mobile_browser_version''':'''3.0''','''oma_support''':True,'''picture''':True,'''picture_gif''':True,'''ringtone''':True,'''ringtone_imelody''':True,'''screensaver''':True,'''screensaver_gif''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''xhtml_make_phone_call_string''':'''tel:''','''xhtml_support_level''':3}) +devices.devids['''nec_c313_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''nec_c313_ver1''', '''ACS-NF/3.0 NEC-c313''', True, {'''brand_name''':'''NEC''','''model_name''':'''c313''','''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''nec_c338_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''nec_c338_ver1''', '''ACS-NF/3.0 NEC-c338''', True, {'''brand_name''':'''NEC''','''model_name''':'''c338''','''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''nec_c616_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''nec_c616_ver1''', '''ACS-NF/3.0 NEC-c616''', True, {'''brand_name''':'''NEC''','''model_name''':'''c616''','''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''nec_e606_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''nec_e606_ver1''', '''Hutc3G/1 (e606 for Hutchison 3G''', True, {'''aac''':False,'''amr''':False,'''brand_name''':'''NEC''','''colors''':65536,'''directdownload_support''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':121,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_max_size''':51200,'''model_name''':'''e606''','''receiver''':True,'''resolution_height''':162,'''resolution_width''':132,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':20480,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_mp4''':True,'''video_sqcif''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':10752,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':130,'''wallpaper_max_width''':130,'''wallpaper_png''':True,'''wallpaper_preferred_height''':130,'''wallpaper_preferred_width''':130}) +devices.devids['''sanyo_vi2300_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_vi2300_ver1''', '''Mozilla/4.0 (MobilePhone VI-2300/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':16,'''directdownload_support''':True,'''gif''':False,'''gif_animated''':False,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':112,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCP-2300''','''qcelp''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_directdownload_size_limit''':131072,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''rows''':7,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':12,'''screensaver_directdownload_size_limit''':131072,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_png''':True,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''screensaver_wbmp''':True,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP2300/0501SP.rdf''','''voices''':32,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':131072,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''sanyo_scp4900_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_scp4900_ver1''', '''Mozilla/4.0 (MobilePhone SCP-4900/1.0) NetFront/3.0 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''directdownload_support''':True,'''j2me_bits_per_pixel''':12,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':96,'''j2me_screen_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCP-4900''','''resolution_height''':128,'''resolution_width''':120,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':120}) +devices.devids['''sanyo_scp5300_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_scp5300_ver1''', '''Mozilla/4.0 (MobilePhone SCP-5300/1.0) NetFront/3.0 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':22,'''compactmidi''':True,'''directdownload_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':144,'''j2me_canvas_width''':132,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':144,'''j2me_screen_width''':128,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':144,'''max_image_width''':132,'''midi_monophonic''':True,'''model_name''':'''SCP-5300''','''qcelp''':True,'''resolution_height''':176,'''resolution_width''':132,'''ringtone''':True,'''ringtone_directdownload_size_limit''':65536,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':16,'''rows''':12,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP5300/1036SP.rdf''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':65536,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':132,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':132,'''wallpaper_wbmp''':True}) +devices.devids['''sanyo_scp5400_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_scp5400_ver1''', '''Mozilla/4.0 (MobilePhone SCP-5400/US/1.0) NetFront/3.0 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''directdownload_support''':True,'''max_image_height''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCP-5400''','''resolution_height''':176,'''resolution_width''':132,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''wallpaper''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':130}) +devices.devids['''sanyo_scp5500_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_scp5500_ver1''', '''Mozilla/4.0 (MobilePhone SCP-5500/US/1.0) NetFront/3.0 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''colors''':65536,'''directdownload_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_bmp''':True,'''j2me_canvas_height''':144,'''j2me_canvas_width''':132,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':1433600,'''j2me_max_jar_size''':102400,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_png''':True,'''j2me_screen_height''':144,'''j2me_screen_width''':132,'''max_image_height''':144,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCP-5500''','''qcelp''':True,'''resolution_height''':176,'''resolution_width''':132,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':131072,'''screensaver_inline_size_limit''':131072,'''screensaver_jpg''':True,'''screensaver_max_height''':176,'''screensaver_max_width''':132,'''screensaver_png''':True,'''screensaver_preferred_height''':176,'''screensaver_preferred_width''':132,'''screensaver_wbmp''':True,'''voices''':32,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':131072,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':132,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':132,'''wallpaper_wbmp''':True}) +devices.devids['''sanyo_scp6400_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_scp6400_ver1''', '''Mozilla/4.0 (MobilePhone SCP-6400/1.0) NetFront/3.0 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''columns''':15,'''compactmidi''':True,'''j2me_midp_1_0''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':108,'''max_image_width''':120,'''midi_monophonic''':True,'''model_name''':'''SCP-6400''','''resolution_height''':128,'''resolution_width''':120,'''ringtone_midi_monophonic''':True,'''rows''':6,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP6400/1032SP.rdf''','''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sanyo_scp7200_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_scp7200_ver1''', '''Mozilla/4.0 (MobilePhone SCP-7200/US/1.0) NetFront/3.0 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''colors''':4096,'''columns''':20,'''compactmidi''':True,'''directdownload_support''':True,'''j2me_midp_1_0''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':108,'''max_image_width''':120,'''midi_monophonic''':True,'''model_name''':'''SCP-7200''','''resolution_height''':128,'''resolution_width''':120,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''rows''':8,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP7200/2046SP.rdf''','''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':120}) +devices.devids['''sanyo_scp7300_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_scp7300_ver1''', '''Mozilla/4.0 (MobilePhone SCP-7300/US/1.0) NetFront/3.0 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':16,'''directdownload_support''':True,'''gif''':False,'''gif_animated''':False,'''j2me_canvas_height''':144,'''j2me_canvas_width''':132,'''j2me_heap_size''':1048576,'''j2me_max_jar_size''':131072,'''j2me_midp_1_0''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':132,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':144,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCP-7300''','''qcelp''':True,'''resolution_height''':176,'''resolution_width''':132,'''ringtone''':True,'''ringtone_directdownload_size_limit''':131072,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''rows''':12,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':131072,'''screensaver_jpg''':True,'''screensaver_max_height''':176,'''screensaver_max_width''':132,'''screensaver_png''':True,'''screensaver_preferred_height''':176,'''screensaver_preferred_width''':132,'''screensaver_wbmp''':True,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP7300/1004SP.rdf''','''voices''':32,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':131072,'''wallpaper_jpg''':True,'''wallpaper_max_height''':168,'''wallpaper_max_width''':132,'''wallpaper_png''':True,'''wallpaper_preferred_height''':168,'''wallpaper_preferred_width''':132,'''wallpaper_wbmp''':True}) +devices.devids['''sanyo_mm5600_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_mm5600_ver1''', '''Mozilla/4.0 (MobilePhone MM-5600/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''colors''':262144,'''columns''':18,'''directdownload_support''':True,'''gif''':False,'''gif_animated''':False,'''inline_support''':True,'''j2me_midp_1_0''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':261,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''MM5600''','''qcelp''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_directdownload_size_limit''':131072,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':72,'''rows''':11,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':18,'''screensaver_directdownload_size_limit''':131072,'''screensaver_jpg''':True,'''screensaver_max_height''':258,'''screensaver_max_width''':240,'''screensaver_png''':True,'''screensaver_preferred_height''':258,'''screensaver_preferred_width''':240,'''screensaver_wbmp''':True,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/MM5600/0702SP.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''voices''':72,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':131072,'''wallpaper_jpg''':True,'''wallpaper_max_height''':258,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':258,'''wallpaper_preferred_width''':240,'''wallpaper_wbmp''':True}) +devices.devids['''sanyo_scp8300_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_scp8300_ver1''', '''Mozilla/4.0 (MobilePhone MM-8300/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':18,'''compactmidi''':True,'''directdownload_support''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_deck_size''':4096,'''max_image_height''':180,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCP-8300/MM-8300''','''qcelp''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':72,'''rows''':11,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_jpg''':True,'''screensaver_max_height''':200,'''screensaver_max_width''':176,'''screensaver_png''':True,'''screensaver_preferred_height''':200,'''screensaver_preferred_width''':176,'''softkey_support''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''sanyo_mm9000_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_mm9000_ver1''', '''Mozilla/4.0 (MobilePhone MM-9000/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':18,'''directdownload_support''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''MM9000''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''rows''':11,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP9000/0103SP.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''sanyo_pls3200_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_pls3200_ver1''', '''Mozilla/4.0 (MobilePhone PLS3200/US/1.0) NetFront/3.3L MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''model_name''':'''PLS3200'''}) +devices.devids['''sanyo_pls4920_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_pls4920_ver1''', '''Mozilla/4.0 (MobilePhone PLS4920KTQ/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''j2me_midp_1_0''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':92,'''max_image_width''':128,'''midi_monophonic''':True,'''model_name''':'''PLS4920''','''resolution_height''':112,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''rows''':7,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/PLS4920/1000QW.rdf''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sanyo_pls6650_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_pls6650_ver1''', '''Mozilla/4.0 (MobilePhone PLS6650/US/1.0) NetFront/3.3L MMP/2.0''', True, None) +devices.devids['''sanyo_pls7400_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_pls7400_ver1''', '''Mozilla/4.0 (MobilePhone PLS7400KTQ/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''amr''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':18,'''compactmidi''':True,'''j2me_midp_1_0''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''model_name''':'''PLS7400''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''rows''':11,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/PLS7400/1000QW.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sanyo_pls8100_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_pls8100_ver1''', '''Mozilla/4.0 (MobilePhone PLS8100KTQ/US/1.0) NetFront/3.0 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''directdownload_support''':True,'''j2me_midp_1_0''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':124,'''max_image_width''':120,'''midi_monophonic''':True,'''model_name''':'''PLS8100''','''resolution_height''':144,'''resolution_width''':120,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''rows''':12,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/PLS8100/1005QW.rdf''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':120,'''wallpaper_preferred_width''':144}) +devices.devids['''sanyo_pls8200_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_pls8200_ver1''', '''Mozilla/4.0 (MobilePhone PLS8200KTQ/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''directdownload_support''':True,'''j2me_midp_1_0''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':140,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''PLS8200''','''resolution_height''':160,'''resolution_width''':132,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':10,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/PLS8200/1001QW.rdf''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':132}) +devices.devids['''sanyo_scp8100_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_scp8100_ver1''', '''Mozilla/4.0 (MobilePhone SCP-8100/US/1.0) NetFront/3.0 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':16,'''directdownload_support''':True,'''gif''':False,'''gif_animated''':False,'''j2me_canvas_height''':112,'''j2me_canvas_width''':120,'''j2me_heap_size''':1048576,'''j2me_max_jar_size''':102400,'''j2me_midp_1_0''':True,'''j2me_screen_height''':112,'''j2me_screen_width''':120,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':112,'''max_image_width''':120,'''midi_monophonic''':True,'''model_name''':'''SCP-8100''','''qcelp''':True,'''resolution_height''':144,'''resolution_width''':120,'''ringtone''':True,'''ringtone_directdownload_size_limit''':65536,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''rows''':12,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':131072,'''screensaver_jpg''':True,'''screensaver_max_height''':144,'''screensaver_max_width''':120,'''screensaver_png''':True,'''screensaver_preferred_height''':144,'''screensaver_preferred_width''':120,'''screensaver_wbmp''':True,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP8100/1115SP.rdf''','''voices''':32,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':131072,'''wallpaper_jpg''':True,'''wallpaper_max_height''':112,'''wallpaper_max_width''':120,'''wallpaper_png''':True,'''wallpaper_preferred_height''':112,'''wallpaper_preferred_width''':120,'''wallpaper_wbmp''':True}) +devices.devids['''sanyo_pm8200_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_pm8200_ver1''', '''Mozilla/4.0 (MobilePhone PM-8200/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':14,'''compactmidi''':True,'''directdownload_support''':True,'''gif''':False,'''gif_animated''':False,'''j2me_bits_per_pixel''':16,'''j2me_bmp''':True,'''j2me_canvas_height''':144,'''j2me_canvas_width''':132,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':1048576,'''j2me_jpg''':True,'''j2me_max_jar_size''':131072,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':132,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':144,'''max_image_width''':132,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''PM-8200''','''qcelp''':True,'''resolution_height''':160,'''resolution_width''':132,'''ringtone''':True,'''ringtone_directdownload_size_limit''':131072,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''rows''':7,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':131072,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':132,'''screensaver_png''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':132,'''screensaver_wbmp''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/PM8200/1007SP.rdf''','''voices''':32,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':131072,'''wallpaper_jpg''':True,'''wallpaper_max_height''':143,'''wallpaper_max_width''':132,'''wallpaper_png''':True,'''wallpaper_preferred_height''':143,'''wallpaper_preferred_width''':132,'''wallpaper_wbmp''':True}) +devices.devids['''danger_hiptop_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''danger_hiptop_ver1''', '''Mozilla/5.0 (compatible; AvantGo 3.2; ProxiNet; Danger hiptop 1.0)''', True, {'''brand_name''':'''Danger''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':28,'''device_claims_web_support''':True,'''has_pointing_device''':False,'''has_qwerty_keyboard''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''html_wi_imode_compact_generic''':True,'''is_wireless_device''':True,'''max_image_height''':136,'''max_image_width''':236,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_wav''':True,'''model_name''':'''hiptop''','''nokia_voice_call''':True,'''oma_support''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_rmf''':True,'''rmf''':True,'''rows''':13,'''sender''':True,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':240,'''wav''':True,'''wml_1_1''':False,'''wta_phonebook''':True}) +devices.devids['''samsung_e770_ver1_subshort'''] = devclass(devices.devids['''samsung_e770_ver1'''], '''samsung_e770_ver1_subshort''', '''SEC-SGHE770''', False, None) +devices.devids['''samsung_e770_ver1_sub10'''] = devclass(devices.devids['''samsung_e770_ver1'''], '''samsung_e770_ver1_sub10''', '''SEC-SGHE770/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', False, None) +devices.devids['''samsung_e780_ver1'''] = devclass(devices.devids['''samsung_e770_ver1'''], '''samsung_e780_ver1''', '''SAMSUNG-SGH-E780''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_image_height''':200,'''max_image_width''':168,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SGH-E780''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_jpg''':True}) +devices.devids['''netfront_ver3_1'''] = devclass(devices.devids['''netfront_ver3'''], '''netfront_ver3_1''', '''NetFront/3.1''', False, {'''max_deck_size''':30000,'''mobile_browser''':'''Access Netfront''','''mobile_browser_version''':'''3.1''','''model_name''':'''NetFront Ver. 3.1'''}) +devices.devids['''samsung_e780_ver1_sub6233c1101'''] = devclass(devices.devids['''samsung_e780_ver1'''], '''samsung_e780_ver1_sub6233c1101''', '''SAMSUNG-SGH-E780/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_zv10_ver1_sub'''] = devclass(devices.devids['''samsung_zv10_ver1'''], '''samsung_zv10_ver1_sub''', '''SAMSUNG-SGH-ZV10/1.0''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_zv10_ver1_subshpnf32'''] = devclass(devices.devids['''samsung_zv10_ver1'''], '''samsung_zv10_ver1_subshpnf32''', '''SAMSUNG-SGH-ZV10/1.0 SHP/VPP/R5 NetFront/3.2 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sgh_zx20_ver1_subnf32'''] = devclass(devices.devids['''sgh_zx20_ver1'''], '''sgh_zx20_ver1_subnf32''', '''SEC-SGHZX20 SHP/CDR-2.2 NetFront/3.2 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_netfront_ver3_4'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_netfront_ver3_4''', '''SonyEricssonNetFront3_4''', False, {'''max_deck_size''':200000,'''mobile_browser_version''':'''3.4''','''streaming_mp4''':True,'''streaming_video''':True,'''video''':True,'''video_3gpp''':True,'''xhtml_support_level''':4}) +devices.devids['''sonyericsson_k310_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_k310_ver1''', '''SonyEricssonK310''', True, {'''amr''':True,'''colors''':65536,'''j2me_3dapi''':True,'''j2me_amr''':True,'''j2me_canvas_height''':160,'''j2me_canvas_width''':128,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_http''':True,'''j2me_https''':True,'''j2me_jpg''':True,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mp3''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''j2me_wmapi_1_0''':True,'''j2me_wmapi_2_0''':True,'''max_data_rate''':40,'''max_deck_size''':45000,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''K310''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_sqcif''':True,'''svgt_1_1''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wav''':True}) +devices.devids['''sonyericsson_k320i_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_k320i_ver1''', '''SonyEricssonK320i''', True, {'''amr''':True,'''built_in_camera''':True,'''colors''':65536,'''columns''':14,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''max_deck_size''':45000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''K320i''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':9,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K320iR301.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_k510_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_k510_ver1''', '''SonyEricssonK510''', True, {'''aac''':True,'''amr''':True,'''colors''':65536,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':40,'''max_deck_size''':45000,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''K510''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_sqcif''':True,'''svgt_1_1''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K510iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wav''':True}) +devices.devids['''sonyericsson_k610im_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_k610im_ver1''', '''SonyEricssonK610im''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''colors''':262144,'''doja_1_0''':True,'''doja_1_5''':True,'''doja_2_0''':True,'''doja_2_1''':True,'''doja_2_2''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''html_wi_imode_htmlx_1''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''max_deck_size''':45000,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''K610im''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''svgt_1_1''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_real_media_8''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True,'''xmf''':True}) +devices.devids['''sonyericsson_k790_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_k790_ver1''', '''SonyEricssonK790''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''colors''':262144,'''flash_lite_version''':'''1_1''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_image_height''':300,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''K790''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':320,'''resolution_width''':240,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''ringtone_wav''':True,'''screensaver_max_height''':240,'''screensaver_max_width''':320,'''screensaver_preferred_height''':240,'''screensaver_preferred_width''':320,'''svgt_1_1''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_real_media_8''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':'''10 1b''','''video_vcodec_mpeg4''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':240,'''wallpaper_max_width''':320,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True}) +devices.devids['''sonyericsson_k800_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_k800_ver1''', '''SonyEricssonK800''', False, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_javascript''':True,'''amr''':True,'''awb''':True,'''colors''':262144,'''flash_lite_version''':'''1_1''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''K800''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''svgt_1_1''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K800iR101.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_real_media_8''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':10,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True,'''xhtml_support_level''':3}) +devices.devids['''sonyericsson_k810_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_k810_ver1''', '''SonyEricssonK810''', False, {'''ajax_manipulate_css''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_javascript''':True,'''bmp''':False,'''colors''':65536,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':240,'''model_name''':'''K810''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K810iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h264''':10,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''sonyericsson_k850i_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_k850i_ver1''', '''SonyEricssonK850i''', True, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':16,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':230,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':614400,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''K850i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K850iR101.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h264''':'''10 1b''','''wallpaper_jpg''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sonyericsson_w200i_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_w200i_ver1''', '''SonyEricssonW200i''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':14,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''flash_lite_version''':'''1_1''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':45000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W200i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':9,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W200iR301.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''sonyericsson_z530_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_z530_ver1''', '''SonyEricssonZ530''', False, {'''aac''':True,'''amr''':True,'''awb''':True,'''colors''':65536,'''j2me_3dapi''':True,'''j2me_btapi''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mmapi_1_1''':True,'''j2me_nokia_ui''':True,'''j2me_wmapi_1_0''':True,'''j2me_wmapi_1_1''':True,'''j2me_wmapi_2_0''':True,'''max_image_height''':160,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''Z530''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':128,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''svgt_1_1''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_real_media_8''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wav''':True}) +devices.devids['''sonyericsson_v630_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_v630_ver1''', '''SonyEricssonV630''', False, {'''aac''':True,'''amr''':True,'''built_in_camera''':True,'''built_in_recorder''':True,'''ems''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':384,'''max_image_height''':200,'''max_image_width''':168,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':0,'''mms_max_size''':0,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':False,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_xmf''':True,'''model_name''':'''V630''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''svgt_1_1''':True,'''svgt_1_1_plus''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_real_media_8''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':True,'''wallpaper_colors''':24,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':182,'''wallpaper_preferred_width''':176,'''wav''':True}) +devices.devids['''sonyericsson_w550_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_w550_ver1''', '''SonyEricssonW550/1.0 (05.02) Profile/MIDP-1.0 Configuration/CLDC-1.0''', True, {'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':18,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''flash_lite_version''':'''1_1''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W550c''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W550cR101.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sonyericsson_w550i_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_w550i_ver1''', '''SonyEricssonW550i''', True, {'''amr''':True,'''colors''':262144,'''columns''':18,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''flash_lite_version''':'''1_1''','''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':200,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W550i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W550iR101.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_w600i_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_w600i_ver1''', '''SonyEricssonW600i''', True, {'''aac''':True,'''amr''':True,'''colors''':262144,'''columns''':18,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''flash_lite_version''':'''1_1''','''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':200,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W600i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture''':True,'''picture_colors''':16,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':220,'''picture_max_width''':176,'''picture_preferred_height''':220,'''picture_preferred_width''':176,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''screensaver''':True,'''screensaver_colors''':18,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_png''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W600iR101.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_w580_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_w580_ver1''', '''SonyEricssonW580/1.0 (05.02) Profile/MIDP-1.0 Configuration/CLDC-1.0''', True, {'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':16,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':232,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1224,'''mms_max_size''':614400,'''mms_max_width''':1632,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W580''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W580iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sonyericsson_w580i_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_w580i_ver1''', '''SonyEricssonW580i/R6BC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SonyEricsson''','''colors''':262144,'''columns''':16,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':232,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1224,'''mms_max_size''':614400,'''mms_max_width''':1632,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W580i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W580iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_w660i_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_w660i_ver1''', '''SonyEricssonW660i''', True, {'''aac''':True,'''amr''':True,'''ascii_support''':True,'''brand_name''':'''SonyEricsson''','''colors''':65536,'''columns''':11,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':210,'''max_image_width''':168,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_max_size''':307200,'''mms_png''':True,'''model_name''':'''W660i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_max_height''':220,'''picture_max_width''':176,'''picture_preferred_height''':220,'''picture_preferred_width''':176,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':4,'''ringtone_wav''':True,'''rows''':10,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_real_media_8''':True,'''streaming_real_media_9''':True,'''streaming_video''':True,'''streaming_video_max_bit_rate''':65536,'''streaming_video_max_frame_rate''':15,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''streaming_video_sqcif_max_height''':96,'''streaming_video_sqcif_max_width''':128,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''svgt_1_1''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W660iR201.xml''','''uaprof2''':'''http://wap.sonyericsson.com/UAprof/W660iR201-3G.xml''','''utf8_support''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_amr''':True,'''video_max_height''':220,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':220,'''video_preferred_width''':176,'''video_vcodec_h264''':'''10 1b''','''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wav''':True,'''wbmp''':True,'''xhtml_table_support''':True,'''xmf''':True}) +devices.devids['''sonyericsson_w810_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_w810_ver1''', '''SonyEricssonW810''', True, {'''aac''':True,'''colors''':262144,'''ems''':True,'''fl_browser''':True,'''flash_lite_version''':'''1_1''','''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_deck_size''':45000,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''W810''','''mp3''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W810iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':176,'''wallpaper_png''':True}) +devices.devids['''sonyericsson_w850_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_w850_ver1''', '''SonyEricssonW850''', False, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''amr''':True,'''awb''':True,'''colors''':262144,'''columns''':16,'''imelody''':True,'''j2me_3dapi''':True,'''j2me_btapi''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_jtwi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mmapi_1_1''':True,'''j2me_wmapi_1_0''':True,'''j2me_wmapi_1_1''':True,'''j2me_wmapi_2_0''':True,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W850''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''rows''':16,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_qcif''':True,'''streaming_video_vcodec_h263_0''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_real_media_8''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':'''10 1b''','''video_vcodec_mpeg4''':True,'''video_wmv''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_w880_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_w880_ver1''', '''SonyEricssonW880''', False, {'''ajax_manipulate_css''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''none''','''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''columns''':16,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1224,'''mms_max_size''':307200,'''mms_max_width''':1632,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W880''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':15,'''sender''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h264''':10,'''wap_push_support''':True,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sonyericsson_w900i_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_w900i_ver1''', '''SonyEricssonW900i''', True, {'''amr''':True,'''colors''':262144,'''columns''':19,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W900i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':13,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':320,'''streaming_video_qcif_max_width''':240,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W900iR101.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':174,'''wallpaper_preferred_width''':173,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''samsung_p310_ver132'''] = devclass(devices.devids['''samsung_p310_ver1'''], '''samsung_p310_ver132''', '''SEC-SGHP310/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e570_ver132'''] = devclass(devices.devids['''samsung_e570_ver1'''], '''samsung_e570_ver132''', '''SEC-SGHE570/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_e570_ver132_voda'''] = devclass(devices.devids['''samsung_e570_ver1'''], '''samsung_e570_ver132_voda''', '''Vodafone/1.0/SamsungSGHE570V/E570AEGB1 Browser/NF/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_z370_ver1_sub1'''] = devclass(devices.devids['''samsung_z370_ver1'''], '''samsung_z370_ver1_sub1''', '''SGH-Z370/1.0 NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_k800i_ver1'''] = devclass(devices.devids['''sonyericsson_k800_ver1'''], '''sonyericsson_k800i_ver1''', '''SonyEricssonK800i''', True, {'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':17,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''flash_lite_version''':'''''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':232,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''K800i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K800iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h264''':'''10 1b''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':1,'''xmf''':True}) +devices.devids['''sonyericsson_k800c_ver1'''] = devclass(devices.devids['''sonyericsson_k800_ver1'''], '''sonyericsson_k800c_ver1''', '''SonyEricssonK800c''', True, {'''max_data_rate''':384,'''model_name''':'''K800c'''}) +devices.devids['''samsung_zv40_ver1_subv'''] = devclass(devices.devids['''samsung_zv40_ver1'''], '''samsung_zv40_ver1_subv''', '''SAMSUNG-SGH-ZV40-Vodafone''', False, None) +devices.devids['''samsung_z520_ver1_subvodafone'''] = devclass(devices.devids['''samsung_z520_ver1'''], '''samsung_z520_ver1_subvodafone''', '''SAMSUNG-SGH-Z520-Vodafone''', False, None) +devices.devids['''sec_sghe790_ver1_sub10'''] = devclass(devices.devids['''sec_sghe790_ver1'''], '''sec_sghe790_ver1_sub10''', '''SEC-SGHE790/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sanyo_scp-8400_ver1'''] = devclass(devices.devids['''sanyo_scp8300_ver1'''], '''sanyo_scp-8400_ver1''', '''Mozilla/4.0 (MobilePhone SCP-8400/US/1.0) NetFront/3.3 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''model_name''':'''SCP-8400''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_mp3''':True,'''ringtone_wav''':True,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320}) +devices.devids['''sonyericsson_w550i_ver1_subr4ab'''] = devclass(devices.devids['''sonyericsson_w550i_ver1'''], '''sonyericsson_w550i_ver1_subr4ab''', '''SonyEricssonW550i/R4AB Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_a707_ver1_subshpvppr5'''] = devclass(devices.devids['''samsung_a707_ver1'''], '''samsung_a707_ver1_subshpvppr5''', '''SAMSUNG-SGH-A707/1.0 SHP/VPP/R5 NetFront/3.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, None) +devices.devids['''sanyo_scp8200_ver1'''] = devclass(devices.devids['''sanyo_pm8200_ver1'''], '''sanyo_scp8200_ver1''', '''Mozilla/4.0 (MobilePhone SCP-8200/US/1.0) NetFront/3.0 MMP/2.0''', True, {'''max_data_rate''':9,'''model_name''':'''SCP-8200'''}) +devices.devids['''sonyericsson_k810i_ver1'''] = devclass(devices.devids['''sonyericsson_k810_ver1'''], '''sonyericsson_k810i_ver1''', '''SonyEricssonK810i''', True, {'''ajax_support_full_dom''':True,'''ajax_support_inner_html''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':17,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''K810i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K810iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h264''':'''10 1b''','''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sonyericsson_k810c_ver1'''] = devclass(devices.devids['''sonyericsson_k810_ver1'''], '''sonyericsson_k810c_ver1''', '''SonyEricssonK810c''', True, {'''max_data_rate''':384,'''model_name''':'''K810c''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''samsung_zv50_ver1_subv'''] = devclass(devices.devids['''samsung_zv50_ver1'''], '''samsung_zv50_ver1_subv''', '''SAMSUNG-SGH-ZV50-Vodafone''', False, None) +devices.devids['''sonyericsson_k850i_ver1_subua'''] = devclass(devices.devids['''sonyericsson_k850i_ver1'''], '''sonyericsson_k850i_ver1_subua''', '''SonyEricssonK850i/R1BA Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''danger_hiptop_ver2'''] = devclass(devices.devids['''danger_hiptop_ver1'''], '''danger_hiptop_ver2''', '''Mozilla/5.0 (Danger hiptop 2.0''', True, {'''brand_name''':'''T-Mobile''','''model_name''':'''Sidekick II'''}) +devices.devids['''sonyericsson_v630i_ver1'''] = devclass(devices.devids['''sonyericsson_v630_ver1'''], '''sonyericsson_v630i_ver1''', '''SonyEricssonV630i''', True, {'''max_data_rate''':384,'''model_name''':'''V630i''','''ringtone_3gpp''':True,'''ringtone_voices''':16,'''video_preferred_height''':144,'''video_preferred_width''':176,'''wallpaper_preferred_height''':144}) +devices.devids['''portalmmm_ver2_subk610imc100tb'''] = devclass(devices.devids['''sonyericsson_k610im_ver1'''], '''portalmmm_ver2_subk610imc100tb''', '''portalmmm/2.0 K610im(c100;TB)''', False, {'''max_deck_size''':102400}) +devices.devids['''sonyericsson_z530i_ver1'''] = devclass(devices.devids['''sonyericsson_z530_ver1'''], '''sonyericsson_z530i_ver1''', '''SonyEricssonZ530i''', True, {'''max_data_rate''':40,'''model_name''':'''Z530i''','''ringtone_voices''':16}) +devices.devids['''sonyericsson_z530c_ver1'''] = devclass(devices.devids['''sonyericsson_z530_ver1'''], '''sonyericsson_z530c_ver1''', '''SonyEricssonZ530c''', True, {'''max_data_rate''':40,'''model_name''':'''Z530c'''}) +devices.devids['''sonyericsson_k510i_ver1'''] = devclass(devices.devids['''sonyericsson_k510_ver1'''], '''sonyericsson_k510i_ver1''', '''SonyEricssonK510i''', True, {'''max_data_rate''':40,'''max_deck_size''':45000,'''model_name''':'''K510i''','''ringtone_voices''':16,'''xhtml_marquee_as_css_property''':True}) +devices.devids['''sonyericsson_k510c_ver1'''] = devclass(devices.devids['''sonyericsson_k510_ver1'''], '''sonyericsson_k510c_ver1''', '''SonyEricssonK510c''', True, {'''max_deck_size''':45000,'''model_name''':'''K510c'''}) +devices.devids['''sonyericsson_k510a_ver1'''] = devclass(devices.devids['''sonyericsson_k510_ver1'''], '''sonyericsson_k510a_ver1''', '''SonyEricssonK510a''', True, {'''max_data_rate''':40,'''max_deck_size''':45000,'''model_name''':'''K510a'''}) +devices.devids['''sgh_z130_ver1_submms110'''] = devclass(devices.devids['''sgh_z130_ver1'''], '''sgh_z130_ver1_submms110''', '''SGH-Z130 SHP/VPP/R5 SMB3.1 SMM-MMS/1.1.0 profile/MIDP-2.0 configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''sgh_z130_ver1_subcldc11'''] = devclass(devices.devids['''sgh_z130_ver1'''], '''sgh_z130_ver1_subcldc11''', '''SGH-Z130/1.0 Mozilla/4.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sgh_z130_ver1_subnf32'''] = devclass(devices.devids['''sgh_z130_ver1'''], '''sgh_z130_ver1_subnf32''', '''SGH-Z130/1.0 NF3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sanyo_scp7300_ver1_subiu'''] = devclass(devices.devids['''sanyo_scp7300_ver1'''], '''sanyo_scp7300_ver1_subiu''', '''Mozilla/4.0 (MobilePhone SCP-7300/IU/1.0) NetFront/3.0 MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''sonyericsson_w810i_ver1'''] = devclass(devices.devids['''sonyericsson_w810_ver1'''], '''sonyericsson_w810i_ver1''', '''SonyEricssonW810i''', True, {'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':18,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser_version''':'''3.3''','''model_name''':'''W810i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W810iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sonyericsson_w810c_ver1'''] = devclass(devices.devids['''sonyericsson_w810_ver1'''], '''sonyericsson_w810c_ver1''', '''SonyEricssonW810c''', True, {'''model_name''':'''W810c''','''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''nec_c338_ver1_sub00101'''] = devclass(devices.devids['''nec_c338_ver1'''], '''nec_c338_ver1_sub00101''', '''ACS-NF/3.0 NEC-c338/001.01''', False, None) +devices.devids['''SonyEricssonV630iv_ver1'''] = devclass(devices.devids['''sonyericsson_v630i_ver1'''], '''SonyEricssonV630iv_ver1''', '''SonyEricssonV630iv''', False, {'''html_wi_imode_html_1''':True,'''html_wi_imode_html_2''':True,'''html_wi_imode_html_3''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''model_name''':'''V630i-Vodafone''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_table_support''':True}) +devices.devids['''samsung_zv30_ver1_sub10nf32120'''] = devclass(devices.devids['''samsung_zv30_ver1'''], '''samsung_zv30_ver1_sub10nf32120''', '''SamsungSGH-ZV30/1.0 SHP/VPP/R5 NetFront/3.2 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_d520_ver1_submidp'''] = devclass(devices.devids['''samsung_d520_ver1'''], '''samsung_d520_ver1_submidp''', '''SEC-SGHD520/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_d520_ver1_subsgh'''] = devclass(devices.devids['''samsung_d520_ver1'''], '''samsung_d520_ver1_subsgh''', '''SAMSUNG-SGH-D520''', False, None) +devices.devids['''sonyericsson_w880i_ver1'''] = devclass(devices.devids['''sonyericsson_w880_ver1'''], '''sonyericsson_w880i_ver1''', '''SonyEricssonW880i''', True, {'''ajax_support_full_dom''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':16,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':234,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1224,'''mms_max_size''':307200,'''mms_max_width''':1632,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W880i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W880iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h264''':'''10 1b''','''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''samsung_z140_ver1_sub10'''] = devclass(devices.devids['''samsung_z140_ver1'''], '''samsung_z140_ver1_sub10''', '''SAMSUNG-SGH-Z140/1.0 SHP/VPP/R5 SMB3.1 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_z140_ver1_sub00'''] = devclass(devices.devids['''samsung_z140_ver1'''], '''samsung_z140_ver1_sub00''', '''SGH-Z140 SHP/VPP/R5 SMB3.1 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_z140_ver1_sub10shpvppr5'''] = devclass(devices.devids['''samsung_z140_ver1'''], '''samsung_z140_ver1_sub10shpvppr5''', '''SGH-Z140/1.0 SHP/VPP/R5 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_w850i_ver1'''] = devclass(devices.devids['''sonyericsson_w850_ver1'''], '''sonyericsson_w850i_ver1''', '''SonyEricssonW850i''', True, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''max_image_width''':235,'''model_name''':'''W850i''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/W850iR101.xml''','''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''mot_cn620_ver1_sub010000r'''] = devclass(devices.devids['''mot_cn620_ver1'''], '''mot_cn620_ver1_sub010000r''', '''MOT-CN620/01.00.00R Mozilla/4.5 (Windows; U) NetFront/3.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_z530i_ver1_subr6aa'''] = devclass(devices.devids['''sonyericsson_z530i_ver1'''], '''sonyericsson_z530i_ver1_subr6aa''', '''SonyEricssonZ530i/R6AA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k810i_ver1_sub33'''] = devclass(devices.devids['''sonyericsson_k810i_ver1'''], '''sonyericsson_k810i_ver1_sub33''', '''SonyEricssonK810i/R1JC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nec_c616_ver1_sub000000000'''] = devclass(devices.devids['''nec_c616_ver1'''], '''nec_c616_ver1_sub000000000''', '''ACS-NF/3.0 NEC-c616/000.000.000''', False, None) +devices.devids['''samsung_e860_ver1_sub10'''] = devclass(devices.devids['''samsung_e860_ver1'''], '''samsung_e860_ver1_sub10''', '''SAMSUNG/SGHE860V/1.0/1.0 Browser/NF3/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_e860_ver1_subvodaaeeg1'''] = devclass(devices.devids['''samsung_e860_ver1'''], '''samsung_e860_ver1_subvodaaeeg1''', '''Vodafone/SamsungSGHE860V/E860AEEG1/Browser/NF/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sec_sgh_x800_ver110netfront32'''] = devclass(devices.devids['''sec_sgh_x800_ver1'''], '''sec_sgh_x800_ver110netfront32''', '''SEC-SGHX800/1.0 NetFront/3.2''', False, None) +devices.devids['''sonyericsson_k790_ver1_sub1'''] = devclass(devices.devids['''sonyericsson_k790_ver1'''], '''sonyericsson_k790_ver1_sub1''', '''SonyEricssonK790a/R1EG Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_k790i_ver1'''] = devclass(devices.devids['''sonyericsson_k790_ver1'''], '''sonyericsson_k790i_ver1''', '''SonyEricssonK790i''', True, {'''fl_browser''':True,'''max_deck_size''':45000,'''model_name''':'''K790i'''}) +devices.devids['''sonyericsson_k790c_ver1'''] = devclass(devices.devids['''sonyericsson_k790_ver1'''], '''sonyericsson_k790c_ver1''', '''SonyEricssonK790c''', True, {'''model_name''':'''K790c'''}) +devices.devids['''sonyericsson_k790a_ver1'''] = devclass(devices.devids['''sonyericsson_k790_ver1'''], '''sonyericsson_k790a_ver1''', '''SonyEricssonK790a''', True, {'''model_name''':'''K790a'''}) +devices.devids['''nec_c313_ver1_sub00100'''] = devclass(devices.devids['''nec_c313_ver1'''], '''nec_c313_ver1_sub00100''', '''ACS-NF/3.0 NEC-c313/001.00''', False, None) +devices.devids['''nec_c313_ver1_sub00101'''] = devclass(devices.devids['''nec_c313_ver1'''], '''nec_c313_ver1_sub00101''', '''ACS-NF/3.0 NEC-c313/001.01''', False, None) +devices.devids['''sec_x820_ver1_sub10'''] = devclass(devices.devids['''sec_x820_ver1'''], '''sec_x820_ver1_sub10''', '''SEC-SGHX820/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sec_x820_ver1_uavariation'''] = devclass(devices.devids['''sec_x820_ver1'''], '''sec_x820_ver1_uavariation''', '''SAMSUNG-SGH-X820''', False, None) +devices.devids['''sonyericsson_w580i_ver0'''] = devclass(devices.devids['''sonyericsson_w580i_ver1'''], '''sonyericsson_w580i_ver0''', '''SonyEricssonW580i''', False, {'''max_image_height''':300,'''max_image_width''':230,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0'''}) +devices.devids['''sec_e900_ver1_sub10'''] = devclass(devices.devids['''sec_e900_ver1'''], '''sec_e900_ver1_sub10''', '''SEC-SGHE900/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_sgh_e950_ver1'''] = devclass(devices.devids['''sec_e900_ver1'''], '''samsung_sgh_e950_ver1''', '''SEC-SGHE950''', True, {'''max_image_height''':280,'''max_image_width''':233,'''model_name''':'''SGH-E950''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''sonyericsson_w810i_ver1_subr301'''] = devclass(devices.devids['''sonyericsson_w810i_ver1'''], '''sonyericsson_w810i_ver1_subr301''', '''SonyEricssonW810i/R301 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':200}) +devices.devids['''sonyericsson_w810iv_ver1_subr4ce'''] = devclass(devices.devids['''sonyericsson_w810i_ver1'''], '''sonyericsson_w810iv_ver1_subr4ce''', '''SonyEricssonW810iv/R4CE Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''samsung_u620_verizon_sub10'''] = devclass(devices.devids['''samsung_u620_verizon'''], '''samsung_u620_verizon_sub10''', '''SCH-U620/1.0 NetFront/3.0.22.2.3 (GUI) MMP/2.0''', False, None) +devices.devids['''sonyericsson_w890i_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3_4'''], '''sonyericsson_w890i_ver1''', '''SonyEricssonW890i''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SonyEricsson''','''colors''':262144,'''columns''':16,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':614400,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W890i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W890iR101.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':4,'''xmf''':True}) +devices.devids['''nec_e313_ver1'''] = devclass(devices.devids['''nec_e606_ver1'''], '''nec_e313_ver1''', '''ACS-NF/3.0 NEC-e313''', True, {'''max_image_height''':190,'''max_image_width''':169,'''model_name''':'''e313''','''resolution_height''':220,'''resolution_width''':176,'''ringtone_mp3''':True,'''video_qcif''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''nec_e606_ver1_sub1'''] = devclass(devices.devids['''nec_e606_ver1'''], '''nec_e606_ver1_sub1''', '''Hutc3G/1 (e606 for Hutchison 3G/c100;ser351070702865112;icc8939991010001266544F)''', False, None) +devices.devids['''nec_e606_ver1_sub606'''] = devclass(devices.devids['''nec_e606_ver1'''], '''nec_e606_ver1_sub606''', '''NEC-606''', False, None) +devices.devids['''nec_e606_ver1_subc100'''] = devclass(devices.devids['''nec_e606_ver1'''], '''nec_e606_ver1_subc100''', '''Hutc3G/1 e606 for Hutchison 3G/c100''', False, None) +devices.devids['''nec_e808_ver1'''] = devclass(devices.devids['''nec_e606_ver1'''], '''nec_e808_ver1''', '''Hutc3G/1 (e808 for Hutchison 3G''', True, {'''max_image_height''':121,'''max_image_width''':132,'''model_name''':'''e808''','''video''':False,'''video_mp4''':False,'''video_sqcif''':False}) +devices.devids['''sanyo_rl4920_ver1'''] = devclass(devices.devids['''netfront_ver3_1'''], '''sanyo_rl4920_ver1''', '''Mozilla/4.0 (MobilePhone RL-4920/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''directdownload_support''':True,'''j2me_midp_1_0''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':92,'''max_image_width''':120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCP4920''','''resolution_height''':112,'''resolution_width''':128,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':7,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP4920/1006SP.rdf''','''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':112,'''wallpaper_preferred_width''':120}) +devices.devids['''sanyo_mm7400_ver1'''] = devclass(devices.devids['''netfront_ver3_1'''], '''sanyo_mm7400_ver1''', '''Mozilla/4.0 (MobilePhone MM-7400/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':18,'''compactmidi''':True,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':False,'''j2me_midp_1_0''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':180,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''MM7400''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''qcelp''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':131072,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':72,'''rows''':11,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':262144,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':176,'''screensaver_png''':True,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':176,'''softkey_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/MM7400/1030SP.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''voices''':72,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':262144,'''wallpaper_jpg''':True,'''wallpaper_max_height''':200,'''wallpaper_max_width''':176,'''wallpaper_png''':True,'''wallpaper_preferred_height''':200,'''wallpaper_preferred_width''':176,'''wallpaper_wbmp''':True}) +devices.devids['''sanyo_mm7500_ver1'''] = devclass(devices.devids['''netfront_ver3_1'''], '''sanyo_mm7500_ver1''', '''Sanyo MM-7500''', True, {'''aac''':True,'''brand_name''':'''Sanyo''','''colors''':262144,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''MM7500''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP7500/1022SP.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sanyo_scp8500_ver1'''] = devclass(devices.devids['''netfront_ver3_1'''], '''sanyo_scp8500_ver1''', '''Mozilla/4.0 (MobilePhone SCP-8500/US/1.0) NetFront/3.3 MMP/2.0''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''none''','''amr''':True,'''bmp''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':26,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''model_name''':'''SCP8500''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':14,'''softkey_support''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP8500/1000SP.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_h264''':'''10 1b''','''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''sonyericsson_k790a_ver1_subr1cb'''] = devclass(devices.devids['''sonyericsson_k790a_ver1'''], '''sonyericsson_k790a_ver1_subr1cb''', '''SonyEricssonK790a/R1CB''', False, None) +devices.devids['''sonyericsson_k510i_ver1_subr4ca'''] = devclass(devices.devids['''sonyericsson_k510i_ver1'''], '''sonyericsson_k510i_ver1_subr4ca''', '''SonyEricssonK510i/R4CA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_k510i_ver1_subr4ch'''] = devclass(devices.devids['''sonyericsson_k510i_ver1'''], '''sonyericsson_k510i_ver1_subr4ch''', '''SonyEricssonK510i/R4CH Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_w660i_ver1_subr6aa'''] = devclass(devices.devids['''sonyericsson_w660i_ver1'''], '''sonyericsson_w660i_ver1_subr6aa''', '''SonyEricssonW660i/R6AA Browser/NetFront/3.3''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_zv40_ver1_subv10shpvppr5'''] = devclass(devices.devids['''samsung_zv40_ver1_subv'''], '''samsung_zv40_ver1_subv10shpvppr5''', '''SAMSUNG-SGH-ZV40-Vodafone/1.0 SHP/VPP/R5 NetFront/3.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, None) +devices.devids['''sanyo_mm7500_ver2'''] = devclass(devices.devids['''sanyo_mm7500_ver1'''], '''sanyo_mm7500_ver2''', '''Mozilla/4.0 (MobilePhone MM-7500/US/1.0) NetFront/3.1 MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''sanyo_mm7500_ver2_scp'''] = devclass(devices.devids['''sanyo_mm7500_ver1'''], '''sanyo_mm7500_ver2_scp''', '''Mozilla/4.0 (MobilePhone SCP-7500/CA/1.0) NetFront/3.1 MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''sonyericsson_w610_ver1'''] = devclass(devices.devids['''sonyericsson_w600i_ver1'''], '''sonyericsson_w610_ver1''', '''SonyEricssonW610/1.0 (05.02) Profile/MIDP-1.0 Configuration/CLDC-1.0''', True, {'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':11,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1224,'''mms_max_size''':307200,'''mms_max_width''':1632,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W610''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W610iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':1,'''xmf''':True}) +devices.devids['''sonyericsson_w600i_ver1_subr7b'''] = devclass(devices.devids['''sonyericsson_w600i_ver1'''], '''sonyericsson_w600i_ver1_subr7b''', '''SonyEricssonW600i/R7B Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''sonyericsson_s600i_ver1'''] = devclass(devices.devids['''sonyericsson_w600i_ver1'''], '''sonyericsson_s600i_ver1''', '''SonyEricssonS600i''', False, {'''model_name''':'''S600i'''}) +devices.devids['''sonyericsson_w600i_ver1_subr7bsn35'''] = devclass(devices.devids['''sonyericsson_w600i_ver1'''], '''sonyericsson_w600i_ver1_subr7bsn35''', '''SonyEricssonW600i/R7B/SN357445003324916 Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''sonyericsson_w610i_ver1'''] = devclass(devices.devids['''sonyericsson_w600i_ver1'''], '''sonyericsson_w610i_ver1''', '''SonyEricssonW610i''', True, {'''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''columns''':11,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':45000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1224,'''mms_max_size''':307200,'''mms_max_width''':1632,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W610i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_mp3''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W610iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h264''':'''10 1b''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''nec_e228_ver1'''] = devclass(devices.devids['''nec_e313_ver1'''], '''nec_e228_ver1''', '''ACS-NF/3.0 NEC-e228''', True, {'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''model_name''':'''e228'''}) +devices.devids['''nec_e338_ver1'''] = devclass(devices.devids['''nec_e313_ver1'''], '''nec_e338_ver1''', '''ACS-NF/3.0 NEC-e338''', True, {'''model_name''':'''e338'''}) +devices.devids['''nec_e313_ver1_sub00100'''] = devclass(devices.devids['''nec_e313_ver1'''], '''nec_e313_ver1_sub00100''', '''ACS-NF/3.0 NEC-e313/001.00''', False, None) +devices.devids['''nec_e313_ver1_sub00101'''] = devclass(devices.devids['''nec_e313_ver1'''], '''nec_e313_ver1_sub00101''', '''ACS-NF/3.0 NEC-e313/001.01''', False, None) +devices.devids['''nec_e616_ver1'''] = devclass(devices.devids['''nec_e313_ver1'''], '''nec_e616_ver1''', '''ACS-NF/3.0 NEC-e616''', True, {'''amr''':True,'''max_image_width''':168,'''model_name''':'''e616''','''mp3''':True,'''resolution_height''':240,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''wallpaper_max_height''':200,'''wallpaper_max_width''':176,'''wallpaper_preferred_height''':200,'''wallpaper_preferred_width''':176,'''wav''':True}) +devices.devids['''sonyericsson_w200i_ver1_subr4gb'''] = devclass(devices.devids['''sonyericsson_w200i_ver1'''], '''sonyericsson_w200i_ver1_subr4gb''', '''SonyEricssonW200i/R4GB Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_w900i_ver1_subr5aa'''] = devclass(devices.devids['''sonyericsson_w900i_ver1'''], '''sonyericsson_w900i_ver1_subr5aa''', '''SonyEricssonW900i/R5AA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_w900i_ver1_subr5bc'''] = devclass(devices.devids['''sonyericsson_w900i_ver1'''], '''sonyericsson_w900i_ver1_subr5bc''', '''SonyEricssonW900i/R5BC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-13G''', False, {'''max_data_rate''':384}) +devices.devids['''SonyEricssonV630iv_ver1_subr1cb'''] = devclass(devices.devids['''SonyEricssonV630iv_ver1'''], '''SonyEricssonV630iv_ver1_subr1cb''', '''SonyEricssonV630iv/R1CB Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''SonyEricssonV630iv_ver1_subr1ce'''] = devclass(devices.devids['''SonyEricssonV630iv_ver1'''], '''SonyEricssonV630iv_ver1_subr1ce''', '''SonyEricssonV630iv/R1CE Browser/NetFront/3''', False, {'''uaprof''':'''http://wap.sonyericsson.com/UAprof/V630iR201-3G.xml'''}) +devices.devids['''netfront_ver3_2'''] = devclass(devices.devids['''netfront_ver3_1'''], '''netfront_ver3_2''', '''NetFront/3.2''', False, {'''max_deck_size''':40000,'''mobile_browser_version''':'''3.2''','''model_name''':'''NetFront Ver. 3.2''','''xhtml_support_level''':3}) +devices.devids['''sonyericsson_k310i_ver1'''] = devclass(devices.devids['''sonyericsson_k310_ver1'''], '''sonyericsson_k310i_ver1''', '''SonyEricssonK310i''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':14,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''K310i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':9,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K310iR301.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sonyericsson_k310_ver1_subr4ea'''] = devclass(devices.devids['''sonyericsson_k310_ver1'''], '''sonyericsson_k310_ver1_subr4ea''', '''SonyEricssonK310i/R4EA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_k310_ver1_subr2bb'''] = devclass(devices.devids['''sonyericsson_k310_ver1'''], '''sonyericsson_k310_ver1_subr2bb''', '''SonyEricssonK310i/R2BB SEMC-Browser/4.0.3 Profile/MIDP-2.0 Config''', False, None) +devices.devids['''sonyericsson_k310iv_ver1_subr4da'''] = devclass(devices.devids['''sonyericsson_k310_ver1'''], '''sonyericsson_k310iv_ver1_subr4da''', '''SonyEricssonK310iv/R4DA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_k310c_ver1'''] = devclass(devices.devids['''sonyericsson_k310_ver1'''], '''sonyericsson_k310c_ver1''', '''SonyEricssonK310c''', True, {'''model_name''':'''K310c'''}) +devices.devids['''sonyericsson_k310a_ver1'''] = devclass(devices.devids['''sonyericsson_k310_ver1'''], '''sonyericsson_k310a_ver1''', '''SonyEricssonK310a''', True, {'''model_name''':'''K310a'''}) +devices.devids['''sonyericsson_k320i_ver1_subr4ea'''] = devclass(devices.devids['''sonyericsson_k320i_ver1'''], '''sonyericsson_k320i_ver1_subr4ea''', '''SonyEricssonK320i/R4EA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_e950_ver1_sub1'''] = devclass(devices.devids['''samsung_sgh_e950_ver1'''], '''samsung_sgh_e950_ver1_sub1''', '''SEC-SGHE950/1.0 NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nec_e228_ver1_sub00100'''] = devclass(devices.devids['''nec_e228_ver1'''], '''nec_e228_ver1_sub00100''', '''ACS-NF/3.0 NEC-e228/001.00''', False, None) +devices.devids['''nec_e228_ver1_sub00101'''] = devclass(devices.devids['''nec_e228_ver1'''], '''nec_e228_ver1_sub00101''', '''ACS-NF/3.0 NEC-e228/001.01''', False, None) +devices.devids['''sonyericsson_k800i_ver1_subr1aa'''] = devclass(devices.devids['''sonyericsson_k800i_ver1'''], '''sonyericsson_k800i_ver1_subr1aa''', '''SonyEricssonK800i/R1AA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k800i_ver1_subr1cb'''] = devclass(devices.devids['''sonyericsson_k800i_ver1'''], '''sonyericsson_k800i_ver1_subr1cb''', '''SonyEricssonK800i/R1CB Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_k800iv_ver1'''] = devclass(devices.devids['''sonyericsson_k800i_ver1'''], '''sonyericsson_k800iv_ver1''', '''SonyEricssonK800iv''', True, {'''model_name''':'''K800iv''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/K800iR201-3G.xml'''}) +devices.devids['''samsung_f300_ver1'''] = devclass(devices.devids['''netfront_ver3_2'''], '''samsung_f300_ver1''', '''SAMSUNG-SGH-F300''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':266240,'''ems''':True,'''imelody''':True,'''max_data_rate''':200,'''max_deck_size''':512000,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-F300''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture''':True,'''picture_bmp''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_png''':True,'''picture_wbmp''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''rows''':12,'''sender''':True,'''softkey_support''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''svgt_1_1''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_jpg''':True}) +devices.devids['''samsung_sgh_d830_ver1'''] = devclass(devices.devids['''netfront_ver3_2'''], '''samsung_sgh_d830_ver1''', '''SAMSUNG-SGH-D830''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''directdownload_support''':True,'''gif_animated''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':200,'''max_deck_size''':512000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':320,'''mms_max_size''':307200,'''mms_max_width''':240,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-D830''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':False,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':False,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''rows''':6,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/d830_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_e908_ver1'''] = devclass(devices.devids['''netfront_ver3_2'''], '''samsung_e908_ver1''', '''SAMSUNG-SGH-E908/NetFront 3.2/WAP2.0''', True, {'''amr''':True,'''ascii_support''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''gif''':True,'''https_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':512000,'''max_image_height''':310,'''max_image_width''':235,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_max_height''':320,'''mms_max_size''':307200,'''mms_max_width''':240,'''mms_png''':True,'''model_name''':'''SGH-E908''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_max_height''':320,'''picture_max_width''':240,'''picture_preferred_height''':320,'''picture_preferred_width''':240,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':6,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e908_10.xml''','''utf8_support''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_max_height''':320,'''video_max_width''':240,'''video_mp4''':True,'''video_preferred_height''':320,'''video_preferred_width''':240,'''video_wmv''':False,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wbmp''':True,'''xhtml_table_support''':True}) +devices.devids['''samsung_sgh_t519_ver1'''] = devclass(devices.devids['''netfront_ver3_2'''], '''samsung_sgh_t519_ver1''', '''SAMSUNG-SGH-T519/T519UVFG8 Profile/MIDP-2.0 Configuration/CLDC-1.1 NetFront/3.2''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':220,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':512000,'''max_image_height''':156,'''max_image_width''':220,'''midi_monophonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':768,'''mms_max_size''':307200,'''mms_max_width''':1024,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-T519''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/t519_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_sgh_t629_ver1'''] = devclass(devices.devids['''netfront_ver3_2'''], '''samsung_sgh_t629_ver1''', '''SAMSUNG-SGH-T629/T629UVFG8 Profile/MIDP-2.0 Configuration/CLDC-1.1 NetFront/3.2''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':512000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':768,'''mms_max_size''':307200,'''mms_max_width''':1024,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''T629''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/t629_10.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_u100_ver1'''] = devclass(devices.devids['''netfront_ver3_2'''], '''samsung_u100_ver1''', '''SEC-SGHU100/1.0 NetFront/3.2''', True, {'''amr''':True,'''ascii_support''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''gif''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''https_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':220,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':512000,'''max_image_height''':166,'''max_image_width''':215,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_png''':True,'''model_name''':'''SGH-U100''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_max_height''':176,'''picture_max_width''':220,'''picture_preferred_height''':176,'''picture_preferred_width''':220,'''png''':True,'''receiver''':True,'''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':6,'''screensaver_max_height''':176,'''screensaver_max_width''':220,'''screensaver_preferred_height''':176,'''screensaver_preferred_width''':220,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/u100_10.xml''','''utf8_support''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_max_height''':176,'''video_max_width''':220,'''video_mp4''':True,'''video_preferred_height''':176,'''video_preferred_width''':220,'''video_wmv''':False,'''wallpaper_max_height''':176,'''wallpaper_max_width''':220,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':220,'''wbmp''':True,'''xhtml_table_support''':True}) +devices.devids['''samsung_u600_ver1'''] = devclass(devices.devids['''netfront_ver3_2'''], '''samsung_u600_ver1''', '''SEC-SGHU600''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':44,'''ems''':True,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':False,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_image_height''':300,'''max_image_width''':235,'''mms_video''':True,'''model_name''':'''SGH-U600''','''mp3''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''rows''':19,'''screensaver_gif''':True,'''sender''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/u600_10.xml''','''video''':False,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_directdownload_size_limit''':15360,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_z510_ver1'''] = devclass(devices.devids['''netfront_ver3_2'''], '''samsung_z510_ver1''', '''SGH-Z510''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':20,'''directdownload_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''Z510''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':16,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/z510_00.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''nec_e373_ver1'''] = devclass(devices.devids['''netfront_ver3_2'''], '''nec_e373_ver1''', '''NEC-e373''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''brand_name''':'''NEC''','''colors''':65536,'''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':220,'''jpg''':True,'''max_deck_size''':50000,'''max_image_height''':156,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':176,'''mms_max_size''':307200,'''mms_max_width''':180,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''e373''','''mp3''':True,'''png''':True,'''receiver''':True,'''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''sender''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True}) +devices.devids['''nec_e353_ver1'''] = devclass(devices.devids['''netfront_ver3_2'''], '''nec_e353_ver1''', '''NEC-e353''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''gif''':True,'''html_web_4_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':220,'''jpg''':True,'''max_deck_size''':50000,'''max_image_height''':156,'''max_image_width''':220,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':176,'''mms_max_size''':307200,'''mms_max_width''':180,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''e353''','''mp3''':True,'''png''':True,'''receiver''':True,'''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://nec-uap.com/prof/e353V01.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wml_1_3''':True}) +devices.devids['''sonyericsson_w850i_ver1_subr1da'''] = devclass(devices.devids['''sonyericsson_w850i_ver1'''], '''sonyericsson_w850i_ver1_subr1da''', '''SonyEricssonW850i/R1DA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_w850i_ver1_subr1ed'''] = devclass(devices.devids['''sonyericsson_w850i_ver1'''], '''sonyericsson_w850i_ver1_subr1ed''', '''SonyEricssonW850i/R1ED Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''danger_hiptop_ver4'''] = devclass(devices.devids['''danger_hiptop_ver2'''], '''danger_hiptop_ver4''', '''Mozilla/5.0 (Danger hiptop 4.102; U; AvantGo 3.2)''', True, {'''brand_name''':'''Danger''','''model_name''':'''Sidekick II'''}) +devices.devids['''nec_e808_ver1_sub1'''] = devclass(devices.devids['''nec_e808_ver1'''], '''nec_e808_ver1_sub1''', '''Hutc3G/1 (e808 for Hutchison 3G/c100;ser351374135292567;icc8939991030003748216F)''', False, None) +devices.devids['''sonyericsson_w580i_ver1_subr6aa'''] = devclass(devices.devids['''sonyericsson_w580i_ver0'''], '''sonyericsson_w580i_ver1_subr6aa''', '''SonyEricssonW580i/R6AA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nec_e338_ver1_sub00101'''] = devclass(devices.devids['''nec_e338_ver1'''], '''nec_e338_ver1_sub00101''', '''ACS-NF/3.0 NEC-e338/001.01''', False, None) +devices.devids['''nec_e616_ver1_sub00'''] = devclass(devices.devids['''nec_e616_ver1'''], '''nec_e616_ver1_sub00''', '''ACS-NF/3.0 NEC-e616/001.00''', False, None) +devices.devids['''nec_e616_ver1_sub01'''] = devclass(devices.devids['''nec_e616_ver1'''], '''nec_e616_ver1_sub01''', '''ACS-NF/3.0 NEC-e616/001.01''', False, None) +devices.devids['''nec_e616_ver1_subshort'''] = devclass(devices.devids['''nec_e616_ver1'''], '''nec_e616_ver1_subshort''', '''NEC-616''', False, None) +devices.devids['''samsung_u600_ver1_sub32'''] = devclass(devices.devids['''samsung_u600_ver1'''], '''samsung_u600_ver1_sub32''', '''SEC-SGHU600/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_u600_ver1_suborange'''] = devclass(devices.devids['''samsung_u600_ver1'''], '''samsung_u600_ver1_suborange''', '''SEC-SGHU600-ORANGE/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sonyericsson_w880i_ver1_subr1jc'''] = devclass(devices.devids['''sonyericsson_w880i_ver1'''], '''sonyericsson_w880i_ver1_subr1jc''', '''SonyEricssonW880i/R1JC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''mobile_browser_version''':'''3.3'''}) +devices.devids['''samsung_z510_ver1_sub'''] = devclass(devices.devids['''samsung_z510_ver1'''], '''samsung_z510_ver1_sub''', '''SAMSUNG-SGH-Z510/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z510_ver1_sub10'''] = devclass(devices.devids['''samsung_z510_ver1'''], '''samsung_z510_ver1_sub10''', '''SGH-Z510/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-13G''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z510_ver1_sub3211'''] = devclass(devices.devids['''samsung_z510_ver1'''], '''samsung_z510_ver1_sub3211''', '''SGH-Z510/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z510_ver1_sub1'''] = devclass(devices.devids['''samsung_z510_ver1'''], '''samsung_z510_ver1_sub1''', '''SAMSUNG-SGH-Z510''', False, None) +devices.devids['''sgh_z710_ver1'''] = devclass(devices.devids['''samsung_z510_ver1'''], '''sgh_z710_ver1''', '''SGH-Z710''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-Z710''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''screensaver_wbmp''':True,'''streaming_video_qcif''':True,'''streaming_video_sqcif''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_wmv''':False,'''wallpaper_wbmp''':True}) +devices.devids['''sonyericsson_w890i_ver1_submoz'''] = devclass(devices.devids['''sonyericsson_w890i_ver1'''], '''sonyericsson_w890i_ver1_submoz''', '''Mozilla/4.0 SonyEricssonW890i''', False, {'''max_data_rate''':384}) +devices.devids['''sec_sgh_d830_ver1_sub10'''] = devclass(devices.devids['''samsung_sgh_d830_ver1'''], '''sec_sgh_d830_ver1_sub10''', '''SEC-SGHD830/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_f300_ver1_sub1032'''] = devclass(devices.devids['''samsung_f300_ver1'''], '''samsung_f300_ver1_sub1032''', '''SEC-SGHF300/1.0 NetFront/3.2''', False, None) +devices.devids['''sonyericsson_k800iv_ver1_subr1ed'''] = devclass(devices.devids['''sonyericsson_k800iv_ver1'''], '''sonyericsson_k800iv_ver1_subr1ed''', '''SonyEricssonK800iv/R1ED Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nec_e353_ver1_sub10'''] = devclass(devices.devids['''nec_e353_ver1'''], '''nec_e353_ver1_sub10''', '''NEC-e353/001.00 ACS-NF/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 Qtv/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''nec_e373_ver1_sub00100'''] = devclass(devices.devids['''nec_e373_ver1'''], '''nec_e373_ver1_sub00100''', '''NEC-e373/001.00 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 Qtv/1.00''', False, None) +devices.devids['''sonyericsson_k310iv_ver1'''] = devclass(devices.devids['''sonyericsson_k310i_ver1'''], '''sonyericsson_k310iv_ver1''', '''SonyEricssonK310iv''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':14,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''K310iv''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':9,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K310iR301.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''netfront_ver3_3'''] = devclass(devices.devids['''netfront_ver3_2'''], '''netfront_ver3_3''', '''NetFront/3.3''', False, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''none''','''colors''':65536,'''max_deck_size''':100000,'''mobile_browser_version''':'''3.3''','''model_name''':'''NetFront Ver. 3.3''','''streaming_mp4''':True,'''streaming_video''':True,'''video''':True,'''video_3gpp''':True,'''xhtml_support_level''':3,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''sgh_z710_ver1_sub32'''] = devclass(devices.devids['''sgh_z710_ver1'''], '''sgh_z710_ver1_sub32''', '''SGH-Z710/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sgh_f310_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''sgh_f310_ver1''', '''SGH-F310/1.0 NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':2048000,'''max_image_height''':220,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''F310''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':12,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/f310_00.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_f500_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''samsung_f500_ver1''', '''SGH-F500/1.0 NetFront/3.3''', True, {'''aac''':True,'''amr''':True,'''ascii_support''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':16,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''directdownload_support''':True,'''gif''':True,'''https_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':220,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':2048000,'''max_image_height''':166,'''max_image_width''':215,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_png''':True,'''model_name''':'''SGH-F500''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_max_height''':176,'''picture_max_width''':220,'''picture_preferred_height''':176,'''picture_preferred_width''':220,'''png''':True,'''receiver''':True,'''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':12,'''screensaver_max_height''':176,'''screensaver_max_width''':220,'''screensaver_preferred_height''':176,'''screensaver_preferred_width''':220,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/f500.xml''','''utf8_support''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_max_height''':176,'''video_max_width''':220,'''video_mp4''':True,'''video_preferred_height''':176,'''video_preferred_width''':220,'''video_wmv''':False,'''wallpaper_max_height''':176,'''wallpaper_max_width''':220,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':220,'''wav''':True,'''wbmp''':True,'''xhtml_table_support''':True}) +devices.devids['''samsung_z240_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''samsung_z240_ver1''', '''SGH-Z240/''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262000,'''columns''':29,'''gif_animated''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_deck_size''':10000,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_video''':True,'''mms_wav''':True,'''model_name''':'''Z240''','''mp3''':True,'''oma_support''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''rows''':10,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_real_media_8''':True,'''streaming_video''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z240UAProf.rdf''','''uaprof2''':'''http://wap.samsungmobile.com/uaprof/Z240UAProf3G.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_directdownload_size_limit''':5000000,'''video_max_frame_rate''':15,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wav''':True}) +devices.devids['''samsung_z400_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''samsung_z400_ver1''', '''SGH-Z400''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':20,'''directdownload_support''':True,'''fl_browser''':True,'''fl_standalone''':True,'''flash_lite_version''':'''1_1''','''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-Z400''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':16,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z400UAProf3G.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wav''':True}) +devices.devids['''samsung_z620_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''samsung_z620_ver1''', '''SAMSUNG-SGH-Z620''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''ems''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':320,'''max_image_width''':240,'''model_name''':'''SGH-Z620''','''mp3''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''sender''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wml_1_2''':True}) +devices.devids['''samsung_z720_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''samsung_z720_ver1''', '''SGH-Z720''', True, {'''aac''':True,'''amr''':True,'''ascii_support''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':20,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''directdownload_support''':True,'''https_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':384,'''max_deck_size''':5000,'''max_image_height''':310,'''max_image_width''':235,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_max_size''':307200,'''mms_png''':True,'''model_name''':'''SGH-Z720''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture''':True,'''picture_max_height''':320,'''picture_max_width''':240,'''picture_preferred_height''':320,'''picture_preferred_width''':240,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':16,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''screensaver_wbmp''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_real_media_8''':True,'''streaming_real_media_9''':True,'''streaming_video''':True,'''streaming_video_max_bit_rate''':65536,'''streaming_video_max_frame_rate''':15,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''streaming_video_sqcif_max_height''':96,'''streaming_video_sqcif_max_width''':128,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''streaming_wmv''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z720UAProf3G.rdf''','''utf8_support''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_max_height''':320,'''video_max_width''':240,'''video_mp4''':True,'''video_preferred_height''':320,'''video_preferred_width''':240,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h264''':10,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_wbmp''':True}) +devices.devids['''sonyericsson_t650i_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''sonyericsson_t650i_ver1''', '''SonyEricssonT650i/R7AA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SonyEricsson''','''colors''':262144,'''columns''':16,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':232,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''T650i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAProf/T650iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sanyo_m1_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''sanyo_m1_ver1''', '''Mozilla/4.0(Mobile Phone SCP-M1/US/1.0) NetFront/3.3 MMP/2.0''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':26,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''model_name''':'''SCP-M1''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':14,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCPM1/1001SP.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''sanyo_m1_ver1_subspace'''] = devclass(devices.devids['''sanyo_m1_ver1'''], '''sanyo_m1_ver1_subspace''', '''Mozilla/4.0 (MobilePhone SCP-M1/1.0) NetFront/3.3 MMP/2.0''', False, {'''max_data_rate''':9}) +devices.devids['''samsung_z400_ver1_sub'''] = devclass(devices.devids['''samsung_z400_ver1'''], '''samsung_z400_ver1_sub''', '''SAMSUNG-SGH-Z400''', False, None) +devices.devids['''samsung_z400_ver1_subv'''] = devclass(devices.devids['''samsung_z400_ver1'''], '''samsung_z400_ver1_subv''', '''SAMSUNG-SGH-Z400-Vodafone''', False, None) +devices.devids['''samsung_z400_ver1_subshpvppr5'''] = devclass(devices.devids['''samsung_z400_ver1'''], '''samsung_z400_ver1_subshpvppr5''', '''SAMSUNG-SGH-Z400/1.0 SHP/VPP/R5 NetFront/3.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z240_ver1_patch'''] = devclass(devices.devids['''samsung_z240_ver1'''], '''samsung_z240_ver1_patch''', '''SGH-Z240''', False, {'''video_directdownload_size_limit''':5000000,'''video_max_frame_rate''':15,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True}) +devices.devids['''samsung_z240_ver1_sub10shpvppr5'''] = devclass(devices.devids['''samsung_z240_ver1'''], '''samsung_z240_ver1_sub10shpvppr5''', '''SAMSUNG-SGH-Z240/1.0 SHP/VPP/R5 NetFront/3.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z240UAProf.rdf'''}) +devices.devids['''samsung_z620_ver1_uavariation'''] = devclass(devices.devids['''samsung_z620_ver1'''], '''samsung_z620_ver1_uavariation''', '''SGH-Z620''', False, None) +devices.devids['''samsung_z630_ver1'''] = devclass(devices.devids['''samsung_z620_ver1'''], '''samsung_z630_ver1''', '''SAMSUNG-SGH-Z630''', True, {'''aac''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''ems''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':300,'''max_image_width''':240,'''mmf''':True,'''mms_video''':True,'''model_name''':'''SGH-Z630''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':8,'''sender''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_qcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/z630_00.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_mp4''':False,'''video_vcodec_h263_0''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_wbmp''':True,'''wav''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_z630_ver1sec'''] = devclass(devices.devids['''samsung_z630_ver1'''], '''samsung_z630_ver1sec''', '''SGH-Z630''', False, None) +devices.devids['''samsung_z630_ver133'''] = devclass(devices.devids['''samsung_z630_ver1'''], '''samsung_z630_ver133''', '''SGH-Z630/1.0 NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''netfront_ver3_4'''] = devclass(devices.devids['''netfront_ver3_3'''], '''netfront_ver3_4''', '''NetFront/3.4''', False, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''max_deck_size''':200000,'''mobile_browser_version''':'''3.4''','''model_name''':'''NetFront Ver. 3.4''','''streaming_mp4''':True,'''streaming_video''':True,'''video''':True,'''video_3gpp''':True,'''xhtml_support_level''':4}) +devices.devids['''samsung_z720_ver1_subz720'''] = devclass(devices.devids['''samsung_z720_ver1'''], '''samsung_z720_ver1_subz720''', '''SAMSUNG-SGH-Z720''', False, None) +devices.devids['''samsung_z720_ver1_subshpvppr5'''] = devclass(devices.devids['''samsung_z720_ver1'''], '''samsung_z720_ver1_subshpvppr5''', '''SAMSUNG-SGH-Z720/1.0 SHP/VPP/R5 NetFront/3.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z720_ver1_subvodafoner5'''] = devclass(devices.devids['''samsung_z720_ver1'''], '''samsung_z720_ver1_subvodafoner5''', '''SAMSUNG-SGH-Z720-Vodafone/1.0 SHP/VPP/R5 NetFront/3.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z720VUAProf3G.rdf''','''uaprof2''':'''http://wap.samsungmobile.com/uaprof/Z720VUAProf3G.rdf'''}) +devices.devids['''samsung_z720mv_ver1'''] = devclass(devices.devids['''samsung_z720_ver1'''], '''samsung_z720mv_ver1''', '''SGH-Z720M''', True, {'''model_name''':'''SGH-Z720 Joy McLaren Vodafone''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''samsung_sgh_f110_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''samsung_sgh_f110_ver1''', '''SAMSUNG-SGH-F110/F110AOGJ1 NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':16384,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-F110''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':28,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-F110.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':4}) +devices.devids['''samsung_sgh_f210_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''samsung_sgh_f210_ver1''', '''SEC-SGHF210''', True, {'''brand_name''':'''Samsung''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':200,'''max_image_width''':121,'''model_name''':'''SGH-F210''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':128,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''video_mp4''':True,'''video_qcif''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_f330_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''samsung_f330_ver1''', '''SAMSUNG-SGH-F330/F330XBGJ1 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':3600,'''max_deck_size''':5000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':307200,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-F330''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/F330UAProf3G.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':320,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':4,'''xmf''':True}) +devices.devids['''sec_e840_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''sec_e840_ver1''', '''SEC-SGHE840/1.0 NetFront/3.4''', True, {'''amr''':True,'''ascii_support''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''directdownload_support''':True,'''gif''':True,'''gif_animated''':True,'''https_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':512000,'''max_image_height''':310,'''max_image_width''':235,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E840''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_max_height''':320,'''picture_max_width''':240,'''picture_preferred_height''':320,'''picture_preferred_width''':240,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':10240,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':6,'''screensaver''':True,'''screensaver_directdownload_size_limit''':10240,'''screensaver_gif''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/e840_10.xml''','''utf8_support''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_height''':320,'''video_max_width''':240,'''video_mp4''':True,'''video_preferred_height''':320,'''video_preferred_width''':240,'''video_real_media_8''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_directdownload_size_limit''':10240,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''xhtml_table_support''':True}) +devices.devids['''samsung_z170_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''samsung_z170_ver1''', '''SAMSUNG-SGH-Z170''', True, {'''aac''':True,'''amr''':True,'''ascii_support''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''https_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':5000,'''max_image_height''':200,'''max_image_width''':170,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_size''':1500,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-Z170''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_max_height''':320,'''picture_max_width''':240,'''picture_preferred_height''':320,'''picture_preferred_width''':240,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':16,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_real_media_8''':True,'''streaming_real_media_9''':True,'''streaming_video''':True,'''streaming_video_max_bit_rate''':65536,'''streaming_video_max_frame_rate''':15,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''streaming_video_sqcif_max_height''':96,'''streaming_video_sqcif_max_width''':128,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''streaming_wmv''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/Z170UAProf3G.rdf''','''utf8_support''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':5000000,'''video_max_height''':320,'''video_max_width''':240,'''video_mp4''':True,'''video_preferred_height''':176,'''video_preferred_width''':220,'''video_qcif''':True,'''video_real_media_8''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':220,'''xhtml_table_support''':True}) +devices.devids['''samsung_zv60_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''samsung_zv60_ver1''', '''SAMSUNG-SGH-ZV60-Vodafone/BUGE4 SHP/VPP/R5 NetFront/3.4 Qtv5.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':5000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':307200,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-ZV60''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/ZV60UAProf3G.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_wmv''':False,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xmf''':True}) +devices.devids['''sonyericsson_t123i_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''sonyericsson_t123i_ver1''', '''SonyEricssonT123i/R1DA Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SonyEricsson''','''colors''':65536,'''columns''':11,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':45000,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''T123i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':8,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/T123iR101.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''sec_e840_ver1_sub0'''] = devclass(devices.devids['''sec_e840_ver1'''], '''sec_e840_ver1_sub0''', '''SAMSUNG-SGH-E840''', False, {'''max_data_rate''':200}) +devices.devids['''sec_e840_ver1_sub34'''] = devclass(devices.devids['''sec_e840_ver1'''], '''sec_e840_ver1_sub34''', '''SEC-SGHE840/1.0 NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''sec_e840_ver1_suborange'''] = devclass(devices.devids['''sec_e840_ver1'''], '''sec_e840_ver1_suborange''', '''SEC-SGHE840-ORANGE''', False, None) +devices.devids['''samsung_z720mv_ver1_subbugb6'''] = devclass(devices.devids['''samsung_z720mv_ver1'''], '''samsung_z720mv_ver1_subbugb6''', '''SAMSUNG-SGH-Z720M-Vodafone/BUGB6 SHP/VPP/R5 NetFront/3.3 SMM-MMS/ 1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z170_ver1_subnf34'''] = devclass(devices.devids['''samsung_z170_ver1'''], '''samsung_z170_ver1_subnf34''', '''SAMSUNG-SGH-Z170/1.0 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_z170_ver1_sub10shpvppr5'''] = devclass(devices.devids['''samsung_z170_ver1'''], '''samsung_z170_ver1_sub10shpvppr5''', '''SAMSUNG-SGH-Z170/1.0 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''netfront_ver3_5'''] = devclass(devices.devids['''netfront_ver3_4'''], '''netfront_ver3_5''', '''NetFront/3.5''', False, {'''max_deck_size''':200000,'''mobile_browser_version''':'''3.5''','''model_name''':'''NetFront Ver. 3.5'''}) +devices.devids['''samsung_sgh_f210_ver1_sub1'''] = devclass(devices.devids['''samsung_sgh_f210_ver1'''], '''samsung_sgh_f210_ver1_sub1''', '''SEC-SGHF210/1.0 NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''netfront_ver3_subavantgnf30'''] = devclass(devices.devids['''netfront_ver3'''], '''netfront_ver3_subavantgnf30''', '''Mozilla/4.0 (MobilePhone; Avantg/1.0) NetFront/3.0''', False, None) +devices.devids['''netfront_ver3_subpda101nf30'''] = devclass(devices.devids['''netfront_ver3'''], '''netfront_ver3_subpda101nf30''', '''Mozilla/4.0 (PDA; Windows CE/1.0.1) NetFront/3.0''', False, None) +devices.devids['''netfront_ver3_subsymbian091nf30'''] = devclass(devices.devids['''netfront_ver3'''], '''netfront_ver3_subsymbian091nf30''', '''Mozilla/4.0 (SmartPhone; Symbian OS/0.9.1) NetFront/3.0''', False, None) +devices.devids['''netfront_ver3_subfbed09nf30'''] = devclass(devices.devids['''netfront_ver3'''], '''netfront_ver3_subfbed09nf30''', '''Mozilla/4.0 (Wireless; Frontbed/0.9) NetFront/3.0''', False, None) +devices.devids['''netfront_ver3_subpda100nf31'''] = devclass(devices.devids['''netfront_ver3_1'''], '''netfront_ver3_subpda100nf31''', '''Mozilla/4.08 (PDA; Windows CE/1.0.0) NetFront/3.1''', False, None) +devices.devids['''netfront_ver3_subsymbianosuiq100'''] = devclass(devices.devids['''netfront_ver3_1'''], '''netfront_ver3_subsymbianosuiq100''', '''Mozilla/4.0 (compatible; MSIE 4.0; SmartPhone; SymbianOS-UIQ/1.0.0) NetFront/3.1''', False, None) +devices.devids['''netfront_ver3_subsymbianos110'''] = devclass(devices.devids['''netfront_ver3_1'''], '''netfront_ver3_subsymbianos110''', '''Mozilla/4.0 (compatible; MSIE 4.0; SmartPhone; Symbian OS/1.1.0) NetFront/3.1''', False, {'''screensaver_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''netfront_ver3_subseries60nf32'''] = devclass(devices.devids['''netfront_ver3_2'''], '''netfront_ver3_subseries60nf32''', '''Mozilla/4.0 (compatible; MSIE 5.5; Symbian OS-Series60) NetFront/3.2''', False, None) +devices.devids['''netfront_ver3_subseries60nf32msie6'''] = devclass(devices.devids['''netfront_ver3_2'''], '''netfront_ver3_subseries60nf32msie6''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS-Series60) NetFront/3.2''', False, None) +devices.devids['''netfront_ver3_subseries60103nf32'''] = devclass(devices.devids['''netfront_ver3_2'''], '''netfront_ver3_subseries60103nf32''', '''Mozilla/4.08 (SmartPhone; Symbian OS-Series60/1.03) NetFront/3.2''', False, None) +devices.devids['''netfront_ver3_subseries6026nf33'''] = devclass(devices.devids['''netfront_ver3_2'''], '''netfront_ver3_subseries6026nf33''', '''Mozilla/4.08 (SmartPhone; Symbian OS-Series60/2.6 ) NetFront/3.2''', False, None) +devices.devids['''netfront_ver3_subseries60nf32de'''] = devclass(devices.devids['''netfront_ver3_2'''], '''netfront_ver3_subseries60nf32de''', '''Mozilla/4.78 [de] (Symbian OS-Series60; U) NetFront/3.2''', False, None) +devices.devids['''netfront_ver3_subseries60nf32en'''] = devclass(devices.devids['''netfront_ver3_2'''], '''netfront_ver3_subseries60nf32en''', '''Mozilla/4.78 [en] (Symbian OS-Series60; U) NetFront/3.2''', False, None) +devices.devids['''netfront_ver3_subseries60nf32geckoen'''] = devclass(devices.devids['''netfront_ver3_2'''], '''netfront_ver3_subseries60nf32geckoen''', '''Mozilla/5.0 (Symbian OS; U; Symbian OS-Series60; en; rv:1.0.1) Gecko/20020823 NetFront/3.2''', False, None) +devices.devids['''netfront_ver3_subseries60nf32geckoennospace'''] = devclass(devices.devids['''netfront_ver3_2'''], '''netfront_ver3_subseries60nf32geckoennospace''', '''Mozilla/5.0 (Symbian OS; U; Symbian OS-Series60; en;rv:1.0.1) Gecko/20020823 NetFront/3.2''', False, None) +devices.devids['''netfront_ver3_subseries60nf32msie55'''] = devclass(devices.devids['''netfront_ver3_2'''], '''netfront_ver3_subseries60nf32msie55''', '''Mozilla/5.0 (compatible; MSIE 5.5; Symbian OS-Series60) NetFront/3.2''', False, None) +devices.devids['''netfront_ver3_subseries60206nf32'''] = devclass(devices.devids['''netfront_ver3_3'''], '''netfront_ver3_subseries60206nf32''', '''Mozilla/4.08 (SmartPhone; Symbian OS-Series60/2.06) NetFront/3.3''', False, None) +devices.devids['''netfront_ver3_subseries60nf33en'''] = devclass(devices.devids['''netfront_ver3_3'''], '''netfront_ver3_subseries60nf33en''', '''Mozilla/4.78 [en] (Symbian OS-Series60; U) NetFront/3.3''', False, None) +devices.devids['''netfront_ver3_subseries60nf33geckode'''] = devclass(devices.devids['''netfront_ver3_3'''], '''netfront_ver3_subseries60nf33geckode''', '''Mozilla/5.0 (Symbian OS; U; Symbian OS-Series60; de; rv:1.0.1) Gecko/20020823 NetFront/3.3''', False, None) +devices.devids['''sonypegth55_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sonypegth55_ver1''', '''Mozilla/4.08 (PDA; PalmOS/sony/model atom''', True, {'''brand_name''':'''Sony''','''colors''':65536,'''max_image_height''':360,'''max_image_width''':320,'''model_name''':'''PEG-TH55''','''resolution_height''':480,'''resolution_width''':320}) +devices.devids['''sonypegtj37_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sonypegtj37_ver1''', '''Mozilla/4.08 (PDA; PalmOS/sony/model luke''', True, {'''brand_name''':'''Sony''','''colors''':65536,'''max_image_height''':240,'''max_image_width''':320,'''model_name''':'''PEG-TJ37''','''resolution_height''':320,'''resolution_width''':320,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True}) +devices.devids['''sonypegux50'''] = devclass(devices.devids['''netfront_ver3'''], '''sonypegux50''', '''Mozilla/4.0 (PDA; PalmOS/sony/model prmr''', True, {'''brand_name''':'''Sony''','''colors''':65536,'''max_image_height''':240,'''max_image_width''':480,'''model_name''':'''PEG-UX50''','''resolution_height''':320,'''resolution_width''':480}) +devices.devids['''sonypegth55_ver1_sub2026de_nf31'''] = devclass(devices.devids['''sonypegth55_ver1'''], '''sonypegth55_ver1_sub2026de_nf31''', '''Mozilla/4.08 (PDA; PalmOS/sony/model atom/Revision:2.0.26 (de)) NetFront/3.1''', False, None) +devices.devids['''sonypegth55_ver1_sub2026en_nf31'''] = devclass(devices.devids['''sonypegth55_ver1'''], '''sonypegth55_ver1_sub2026en_nf31''', '''Mozilla/4.08 (PDA; PalmOS/sony/model atom/Revision:2.0.26 (en)) NetFront/3.1''', False, None) +devices.devids['''sonypegtj37_ver1_sub2026de_nf31'''] = devclass(devices.devids['''sonypegtj37_ver1'''], '''sonypegtj37_ver1_sub2026de_nf31''', '''Mozilla/4.08 (PDA; PalmOS/sony/model luke/Revision:2.0.26 (de)) NetFront/3.1''', False, None) +devices.devids['''sonypegux50_sub1155de_nf30'''] = devclass(devices.devids['''sonypegux50'''], '''sonypegux50_sub1155de_nf30''', '''Mozilla/4.0 (PDA; PalmOS/sony/model prmr/Revision:1.1.55 (de)) NetFront/3.0''', False, None) +devices.devids['''upg1_ver1_subblazer10'''] = devclass(devices.devids['''generic'''], '''upg1_ver1_subblazer10''', '''UPG1 UP/4.0 (compatible; Blazer 1.0)''', True, {'''brand_name''':'''Palm''','''chtml_table_support''':True,'''colors''':4096,'''device_claims_web_support''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''html_wi_imode_compact_generic''':True,'''html_wi_imode_html_1''':True,'''html_wi_imode_html_2''':True,'''html_wi_imode_html_3''':True,'''max_image_height''':120,'''max_image_width''':160,'''model_name''':'''Blazer''','''preferred_markup''':'''html_wi_imode_compact_generic''','''resolution_height''':160,'''resolution_width''':160,'''streaming_video''':False,'''video''':True,'''video_3gpp''':True,'''wallpaper_colors''':12,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''upg1_ver1_subblazer30'''] = devclass(devices.devids['''upg1_ver1_subblazer10'''], '''upg1_ver1_subblazer30''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 95; PalmSource; Blazer 3.0) 16;160x160''', True, {'''amr''':True,'''brand_name''':'''Palm''','''columns''':19,'''gif''':True,'''gif_animated''':True,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''j2me_midp_1_0''':True,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':120,'''max_image_width''':160,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''Treo 600''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''rows''':12,'''screensaver''':True,'''screensaver_colors''':12,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':160,'''screensaver_max_width''':160,'''screensaver_png''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':160,'''uaprof''':'''http://www.handspring.com/profilespecs/Blazer300_OR.rdf''','''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':160,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':160,'''wap_push_support''':True,'''xhtml_support_level''':1}) +devices.devids['''upg1_ver1_subblazer300120'''] = devclass(devices.devids['''upg1_ver1_subblazer30'''], '''upg1_ver1_subblazer300120''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 95) 16;160x160''', False, {'''max_data_rate''':9}) +devices.devids['''upg1_ver1_subblazer300palmsource120'''] = devclass(devices.devids['''upg1_ver1_subblazer30'''], '''upg1_ver1_subblazer300palmsource120''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 95; PalmSource; Blazer 3.0)16;160x160)''', False, {'''max_data_rate''':9}) +devices.devids['''upg1_ver1_subblazer40'''] = devclass(devices.devids['''upg1_ver1_subblazer30'''], '''upg1_ver1_subblazer40''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/hspr-H102; Blazer/4.0) 16;320x320''', True, {'''bmp''':True,'''brand_name''':'''Palm''','''colors''':65536,'''columns''':38,'''has_qwerty_keyboard''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''max_data_rate''':9,'''max_image_height''':300,'''max_image_width''':320,'''model_name''':'''Treo 650''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':320,'''rows''':24,'''screensaver_max_height''':320,'''screensaver_max_width''':320,'''softkey_support''':True,'''uaprof''':'''http://downloads.palmone.com/profiles/Blazer400.rdf''','''uaprof2''':'''http://device.sprintpcs.com/PALMONE/POTR650HK/Blazer400103.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_real_media_8''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_max_height''':320,'''wallpaper_max_width''':320,'''wav''':True,'''xhtml_support_level''':1}) +devices.devids['''upg1_ver1_subblazer40_subtnt5'''] = devclass(devices.devids['''upg1_ver1_subblazer40'''], '''upg1_ver1_subblazer40_subtnt5''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-TnT5; Blazer/4.0) 16;320x320''', False, {'''has_qwerty_keyboard''':True,'''max_data_rate''':9,'''model_name''':'''Treo600''','''uaprof''':'''http://downloads.palmone.com/profiles/Blazer400.rdf'''}) +devices.devids['''upg1_ver1_subblazer40tnt5448'''] = devclass(devices.devids['''upg1_ver1_subblazer40'''], '''upg1_ver1_subblazer40tnt5448''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-TnT5; Blazer/4.0) 16;320x448''', False, {'''max_data_rate''':9,'''max_image_width''':428,'''resolution_width''':448}) +devices.devids['''upg1_ver_1_subblazer43do50'''] = devclass(devices.devids['''upg1_ver1_subblazer40'''], '''upg1_ver_1_subblazer43do50''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D050; Blazer/4.3)''', True, {'''max_data_rate''':9,'''max_image_height''':448,'''model_name''':'''TX''','''resolution_height''':448,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''upg1_ver_1_subblazer43do50448'''] = devclass(devices.devids['''upg1_ver_1_subblazer43do50'''], '''upg1_ver_1_subblazer43do50448''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D050; Blazer/4.3) 16;320x448''', False, {'''max_data_rate''':9}) +devices.devids['''upg1_ver_1_subblazer43do50320'''] = devclass(devices.devids['''upg1_ver_1_subblazer43do50'''], '''upg1_ver_1_subblazer43do50320''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D050; Blazer/4.3) 16;320x320''', False, {'''max_data_rate''':9,'''max_image_height''':320,'''resolution_height''':320}) +devices.devids['''palm_treo700p_ver1'''] = devclass(devices.devids['''upg1_ver1_subblazer40'''], '''palm_treo700p_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D052; Blazer/4.5) 16;320x320''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Palm''','''colors''':65536,'''columns''':38,'''gif''':True,'''has_qwerty_keyboard''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':320,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':8000000,'''max_image_height''':300,'''max_image_width''':320,'''midi_monophonic''':True,'''model_name''':'''Treo 700P''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':24,'''softkey_support''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/PALM/PTR700PHK/Blazer450108.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''palm_treo680_ver1_subblazer45'''] = devclass(devices.devids['''upg1_ver1_subblazer40'''], '''palm_treo680_ver1_subblazer45''', '''PalmSource/Palm-D053; Blazer/4.5''', True, {'''bmp''':False,'''brand_name''':'''Palm''','''colors''':65536,'''gif''':True,'''gif_animated''':True,'''has_qwerty_keyboard''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':False,'''j2me_midp_1_0''':False,'''j2me_screen_height''':320,'''j2me_screen_width''':320,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':240,'''max_image_width''':320,'''midi_monophonic''':True,'''model_name''':'''Treo 680''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':320,'''ringtone_midi_monophonic''':True,'''uaprof''':'''http://downloads.palm.com/profiles/Blazer453-ROW.rdf''','''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':320,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''palm_treo680_ver1'''] = devclass(devices.devids['''palm_treo680_ver1_subblazer45'''], '''palm_treo680_ver1''', '''Palm680''', False, {'''brand_name''':'''Palm''','''max_image_width''':307,'''model_name''':'''Treo 680''','''uaprof''':'''http://downloads.palm.com/profiles/Blazer453-ROW.rdf'''}) +devices.devids['''palm_treo680_ver1_subblazer45_subua'''] = devclass(devices.devids['''palm_treo680_ver1'''], '''palm_treo680_ver1_subblazer45_subua''', '''Palm680/RC1 Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D053; Blazer/4.5) 16;320x320''', False, {'''max_data_rate''':9}) +devices.devids['''palm_treo680_ver1_subblazer45_subua2'''] = devclass(devices.devids['''palm_treo680_ver1'''], '''palm_treo680_ver1_subblazer45_subua2''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D053; Blazer/4.5) 16;320x320''', False, {'''max_data_rate''':9}) +devices.devids['''palm_treo680_ver1_suborange'''] = devclass(devices.devids['''palm_treo680_ver1'''], '''palm_treo680_ver1_suborange''', '''Palm680/Orange Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D053; Blazer/4.5) 16;320x320''', False, {'''max_data_rate''':9}) +devices.devids['''palm_treo750v_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''palm_treo750v_ver1''', '''Palm750/v0100 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', True, {'''brand_name''':'''Palm''','''colors''':65536,'''columns''':16,'''directdownload_support''':True,'''has_qwerty_keyboard''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':240,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':240,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''Treo 750v''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_web_4_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':36,'''sp_midi''':True,'''streaming_video''':True,'''streaming_wmv''':True,'''uaprof''':'''http://downloads.palm.com/profiles/Treo750R1.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_sqcif''':True,'''video_wmv''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''palm_treo755p_ver1'''] = devclass(devices.devids['''upg1_ver1_subblazer10'''], '''palm_treo755p_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D060; Blazer/4.5) 16;320x320''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Palm''','''colors''':65536,'''columns''':38,'''device_claims_web_support''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':320,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':8000000,'''max_image_height''':300,'''max_image_width''':320,'''midi_monophonic''':True,'''model_name''':'''Treo 755p''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':24,'''softkey_support''':True,'''streaming_video''':True,'''streaming_wmv''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/PALM/PTR755PHK/Blazer450104.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''palm_centro'''] = devclass(devices.devids['''generic_xhtml'''], '''palm_centro''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Palmsource/Palm-D062; Blazer/4.5) 16;320X320''', True, {'''brand_name''':'''Palm''','''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''max_image_height''':320,'''max_image_width''':320,'''model_name''':'''Centro/Gryphon''','''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':352,'''streaming_video_qcif_max_width''':288,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_preferred_height''':352,'''video_preferred_width''':288,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_h264''':10}) +devices.devids['''wapuniverse_ver1'''] = devclass(devices.devids['''generic'''], '''wapuniverse_ver1''', '''WAPUniverse/1''', False, {'''brand_name''':'''WAPUniverse''','''max_data_rate''':40,'''model_name''':'''WAPUniverse''','''table_support''':False,'''uaprof''':'''http://www.wapuniverse.com/devices/palmos_generic/wapuniverse.rdf''','''wml_1_3''':True}) +devices.devids['''wapuniverse_ver1_sub178'''] = devclass(devices.devids['''wapuniverse_ver1'''], '''wapuniverse_ver1_sub178''', '''WAPUniverse/1.7.8 (PalmOS; N; X-Scale; en) MobileToken/20041020 (WAP 1.1; WAPUniverse.com)''', False, {'''colors''':256,'''jpg''':True,'''max_data_rate''':40}) +devices.devids['''wapuniverse_ver1_sub193'''] = devclass(devices.devids['''wapuniverse_ver1'''], '''wapuniverse_ver1_sub193''', '''WAPUniverse/1.9.3 (PalmOS; N; X-Scale; en) MobileToken/20041110 (WAP 1.1; WAPUniverse.com)''', False, {'''columns''':16,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':113,'''max_image_width''':157,'''nokia_voice_call''':True,'''resolution_height''':133,'''resolution_width''':157,'''rows''':32,'''wta_phonebook''':True}) +devices.devids['''wapuniverse_ver1_sub196'''] = devclass(devices.devids['''wapuniverse_ver1_sub193'''], '''wapuniverse_ver1_sub196''', '''WAPUniverse/1.9.6 (PalmOS; N; X-Scale; en) MobileToken/20041121 (WAP 1.1; WAPUniverse.com)''', False, {'''max_data_rate''':40}) +devices.devids['''wapuniverse_ver2'''] = devclass(devices.devids['''wapuniverse_ver1'''], '''wapuniverse_ver2''', '''WAPUniverse/2''', False, {'''max_data_rate''':40}) +devices.devids['''wapuniverse_ver2_sub200'''] = devclass(devices.devids['''wapuniverse_ver2'''], '''wapuniverse_ver2_sub200''', '''WAPUniverse/2.0.0 (PalmOS; N; X-Scale; en) MobileToken/20041222 (WAP 1.3; WAPUniverse.com)''', False, {'''max_data_rate''':40}) +devices.devids['''opera_symbian_ver1'''] = devclass(devices.devids['''generic'''], '''opera_symbian_ver1''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS''', False, {'''brand_name''':'''Opera''','''device_claims_web_support''':True,'''gif''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''html_wi_imode_compact_generic''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''model_name''':'''Symbian Client''','''multipart_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2,'''xhtml_table_support''':True}) +devices.devids['''motorola_a1000_ver1'''] = devclass(devices.devids['''opera_symbian_ver1'''], '''motorola_a1000_ver1''', '''MOT-A1000''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''brand_name''':'''Motorola''','''built_in_camera''':True,'''built_in_recorder''':True,'''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':15,'''directdownload_support''':True,'''ems''':True,'''has_pointing_device''':True,'''imelody''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_canvas_height''':180,'''j2me_canvas_width''':208,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':16777216,'''j2me_http''':True,'''j2me_https''':True,'''j2me_jpg''':True,'''j2me_jtwi''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':25165824,'''j2me_max_record_store_size''':25165824,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mpeg4''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':320,'''j2me_screen_width''':208,'''j2me_socket''':True,'''j2me_storage_size''':25165824,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_data_rate''':384,'''max_image_height''':240,'''max_image_width''':189,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':480,'''mms_max_size''':2000000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':24,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''A1000''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':False,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':208,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':20,'''sender''':True,'''smf''':True,'''sp_midi''':True,'''streaming_3gpp''':False,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''uaprof''':'''http://motorola.handango.com/phoneconfig/a1000/Profile/a1000.rdf''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':True,'''voices''':24,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':208,'''wallpaper_png''':True,'''wallpaper_preferred_height''':256,'''wallpaper_preferred_width''':208,'''wallpaper_wbmp''':True,'''wav''':True,'''xmf''':True}) +devices.devids['''mot_a780_ver1'''] = devclass(devices.devids['''opera_symbian_ver1'''], '''mot_a780_ver1''', '''MOT-A780''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''j2me_3gpp''':True,'''j2me_amr''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_gif''':True,'''j2me_heap_size''':2097152,'''j2me_http''':True,'''j2me_https''':True,'''j2me_jpg''':True,'''j2me_jtwi''':True,'''j2me_left_softkey_code''':21,'''j2me_max_jar_size''':1048576,'''j2me_middle_softkey_code''':23,'''j2me_midi''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_mmapi_1_0''':True,'''j2me_mp3''':True,'''j2me_mpeg4''':True,'''j2me_png''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''j2me_serial''':True,'''j2me_socket''':True,'''j2me_storage_size''':52428800,'''j2me_udp''':True,'''j2me_wav''':True,'''j2me_wmapi_1_0''':True,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A780''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':1280,'''picture_max_width''':1024,'''picture_png''':True,'''picture_preferred_width''':'''''','''picture_wbmp''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_resize''':'''fixed_ratio''','''streaming_3gpp''':False,'''streaming_mp4''':True,'''streaming_real_media_8''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_vcodec_mpeg4''':True,'''streaming_wmv''':False,'''uaprof''':'''http://motorola.handango.com/phoneconfig/a780/Profile/a780.rdf''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_max_frame_rate''':30,'''video_max_height''':320,'''video_max_width''':240,'''video_mp4''':True,'''video_preferred_height''':320,'''video_preferred_width''':240,'''video_qcif''':True,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_resize''':'''fixed_ratio''','''wav''':True}) +devices.devids['''mot_a910_ver1'''] = devclass(devices.devids['''opera_symbian_ver1'''], '''mot_a910_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Linux; Motorola A910;''', True, {'''brand_name''':'''Motorola''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':200,'''max_image_height''':320,'''max_image_width''':235,'''model_name''':'''A910''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''picture''':True,'''picture_bmp''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':1024,'''picture_max_width''':1280,'''picture_png''':True,'''picture_wbmp''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':24,'''screensaver''':True,'''screensaver_gif''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_max_audio_bit_rate''':32,'''streaming_video_max_bit_rate''':128,'''streaming_video_max_video_bit_rate''':96,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''streaming_video_sqcif''':True,'''streaming_video_sqcif_max_height''':144,'''streaming_video_sqcif_max_width''':176,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_max_frame_rate''':15,'''video_max_height''':144,'''video_max_width''':176,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''motorizr_z8_ver1'''] = devclass(devices.devids['''opera_symbian_ver1'''], '''motorizr_z8_ver1''', '''MOTORIZR-Z8/46.00.00 Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; 342) Opera 8.65''', False, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':16777216,'''columns''':18,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':1800,'''max_deck_size''':60000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':300000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MOTORIZR-Z8''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''streaming_video_qcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.motorola.com/phoneconfig/motorizrz8/profile/motorizrz8.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''mot_a925_ver1'''] = devclass(devices.devids['''opera_symbian_ver1'''], '''mot_a925_ver1''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS) Opera 6.0 [de]./MOT-A925./P243''', True, {'''aac''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''directdownload_support''':True,'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':8388608,'''j2me_left_softkey_code''':21,'''j2me_middle_softkey_code''':23,'''j2me_midp_1_0''':True,'''j2me_right_softkey_code''':22,'''j2me_screen_height''':320,'''j2me_screen_width''':208,'''max_data_rate''':384,'''max_image_height''':240,'''max_image_width''':208,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A925''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':208,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':20480,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':256,'''wallpaper_preferred_width''':208,'''xhtml_support_level''':1}) +devices.devids['''mot_e680i_ver1'''] = devclass(devices.devids['''opera_symbian_ver1'''], '''mot_e680i_ver1''', '''MOT-E680i''', True, {'''aac''':True,'''ajax_support_javascript''':True,'''amr''':True,'''awb''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':22,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''max_data_rate''':40,'''max_deck_size''':357000,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':1048576,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''E680i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_png''':True,'''picture_wbmp''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':14,'''sender''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/e680i/Profile/e680i.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_amr''':True,'''video_max_frame_rate''':15,'''video_max_height''':240,'''video_max_width''':320,'''video_mp4''':True,'''video_preferred_height''':240,'''video_preferred_width''':320,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_resize''':'''fixed_ratio''','''wap_push_support''':True,'''wav''':True}) +devices.devids['''mot_razr_v6_ver1'''] = devclass(devices.devids['''opera_symbian_ver1'''], '''mot_razr_v6_ver1''', '''MOT-RAZRV6''', True, {'''amr''':True,'''au''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':262144,'''columns''':19,'''flash_lite_version''':'''1_1''','''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':2097152,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':10000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':307200,'''mms_max_width''':1200,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''RAZR V6''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture''':True,'''picture_bmp''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_png''':True,'''picture_wbmp''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':8,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_png''':True,'''screensaver_wbmp''':True,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/razrv6/Profile/RAZRv6.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':173,'''wallpaper_preferred_width''':174,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wav''':True,'''xmf''':True}) +devices.devids['''nintendo_ds_ver1'''] = devclass(devices.devids['''opera_symbian_ver1'''], '''nintendo_ds_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Nitro) Opera 8.50 [en]''', True, {'''brand_name''':'''Nintendo''','''html_wi_oma_xhtmlmp_1_0''':True,'''is_wireless_device''':True,'''max_image_height''':288,'''max_image_width''':256,'''model_name''':'''DS''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':384,'''resolution_width''':256,'''xhtml_support_level''':2}) +devices.devids['''nintendo_wii_ver1'''] = devclass(devices.devids['''opera_symbian_ver1'''], '''nintendo_wii_ver1''', '''Opera/9.10 (Nintendo Wii; U; ; 1621; en)''', True, {'''is_wireless_device''':False,'''max_image_height''':225,'''max_image_width''':770}) +devices.devids['''nokia_770_ver1'''] = devclass(devices.devids['''opera_symbian_ver1'''], '''nokia_770_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux armv6l; U) Opera 8.5 [en_GB] Tablet browser 0.1.16 RX-34_2007SE_4.2007.38-2''', True, {'''brand_name''':'''Nokia''','''has_pointing_device''':True,'''is_wireless_device''':True,'''max_image_height''':225,'''max_image_width''':770,'''model_name''':770}) +devices.devids['''nintendo_wii_ver1_subua'''] = devclass(devices.devids['''nintendo_wii_ver1'''], '''nintendo_wii_ver1_subua''', '''Opera/9.00 (Nintendo Wii''', False, None) +devices.devids['''mot_e680i_ver1_sube680ig0dc3a8pzhtw'''] = devclass(devices.devids['''mot_e680i_ver1'''], '''mot_e680i_ver1_sube680ig0dc3a8pzhtw''', '''MOT-E680i/E680I_G_0D.C3.A8P Mozilla/4.0 (compatible; MSIE 6.0; Motorola; 1030) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 7.50 [zh-tw]''', False, {'''max_data_rate''':40}) +devices.devids['''mot_e680i_ver1_sube680ig0dc3a8pzhcn'''] = devclass(devices.devids['''mot_e680i_ver1'''], '''mot_e680i_ver1_sube680ig0dc3a8pzhcn''', '''MOT-E680i/E680I_G_0D.C3.A8P Mozilla/4.0 (compatible; MSIE 6.0; Linux; Motorola E680i; 1030) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 7.50 [zh-cn]''', False, {'''max_data_rate''':40}) +devices.devids['''mot_a780_ver1_subr52g0d43a3p'''] = devclass(devices.devids['''mot_a780_ver1'''], '''mot_a780_ver1_subr52g0d43a3p''', '''MOT-A780/R52_G_0D.43.A3P Mozilla/4.0 (compatible; MSIE 6.0; Motorola; 850) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 7.50 [zh-tw]''', False, None) +devices.devids['''mot_a780_ver1_submozr52g0d37a2p'''] = devclass(devices.devids['''mot_a780_ver1'''], '''mot_a780_ver1_submozr52g0d37a2p''', '''Mozilla/4.0 (compatible; MSIE 6.0; Linux; Motorola A780; 780) MOT-A780/R52_G_0D.37.A2P Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 7.50 [en]''', False, None) +devices.devids['''mot_a780_ver1_submozr52g0d50a7p'''] = devclass(devices.devids['''mot_a780_ver1'''], '''mot_a780_ver1_submozr52g0d50a7p''', '''Mozilla/4.0 (compatible; MSIE 6.0; Linux; Motorola A780; 781) MOT-A780/R52_G_0D.50.A7P Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 7.50 [en]''', False, None) +devices.devids['''mot_a780_ver1_submozr52g0d55a1r'''] = devclass(devices.devids['''mot_a780_ver1'''], '''mot_a780_ver1_submozr52g0d55a1r''', '''Mozilla/4.0 (compatible; MSIE 6.0; Linux; Motorola A780; 935) MOT-A780/R52_G_0D.55.A1R Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 7.50 [en]''', False, None) +devices.devids['''mot_razr_v6_ver1_sub996673br'''] = devclass(devices.devids['''mot_razr_v6_ver1'''], '''mot_razr_v6_ver1_sub996673br''', '''MOT-RAZRV6/96.66.73BR BER2.2 Mozilla/4.0 (compatible; MSIE 6.0; 11033063) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.00 [it]''', False, {'''max_data_rate''':384}) +devices.devids['''mot_a910_ver1_subfr'''] = devclass(devices.devids['''mot_a910_ver1'''], '''mot_a910_ver1_subfr''', '''Mozilla/4.0 (compatible; MSIE 6.0; Linux; Motorola A910; 781) MOT-A910/R57_G_10.06.42I Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.50 [fr]''', False, None) +devices.devids['''mot_a910_ver1_subr57g100642i'''] = devclass(devices.devids['''mot_a910_ver1'''], '''mot_a910_ver1_subr57g100642i''', '''MOT-A910/R57_G_10.06.42I''', False, None) +devices.devids['''motorola_a1000_ver1_uavariation'''] = devclass(devices.devids['''motorola_a1000_ver1'''], '''motorola_a1000_ver1_uavariation''', '''Motorola A1000''', False, None) +devices.devids['''motorola_a1000_ver1_sub'''] = devclass(devices.devids['''motorola_a1000_ver1'''], '''motorola_a1000_ver1_sub''', '''Motorola/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''motorola_a1000_ver1_sub3421'''] = devclass(devices.devids['''motorola_a1000_ver1'''], '''motorola_a1000_ver1_sub3421''', '''Motorola/1.0 (3.42.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, {'''max_data_rate''':40}) +devices.devids['''motorola_a1000_ver1_subopera70'''] = devclass(devices.devids['''motorola_a1000_ver1'''], '''motorola_a1000_ver1_subopera70''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS) Opera 7.0 [en]./MOT-A1000''', False, {'''max_data_rate''':40}) +devices.devids['''motorola_a1000_ver1_sub696'''] = devclass(devices.devids['''motorola_a1000_ver1'''], '''motorola_a1000_ver1_sub696''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Motorola A1000;696) Opera 7.50 [en]./MOT-A925./P243''', False, {'''max_data_rate''':40}) +devices.devids['''motorola_a1000_ver1_subopera60es'''] = devclass(devices.devids['''motorola_a1000_ver1'''], '''motorola_a1000_ver1_subopera60es''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS) Opera 6.0 [es]./MOT-A925./P243''', False, {'''max_data_rate''':40}) +devices.devids['''mot_ming_ver1'''] = devclass(devices.devids['''motorola_a1000_ver1'''], '''mot_ming_ver1''', '''MOT-A1200''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Motorola''','''colors''':256000,'''directdownload_support''':True,'''inline_support''':True,'''j2me_3dapi''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_image_height''':280,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''MOTOMING A1200''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''ringtone_wav''':True,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''sp_midi''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True}) +devices.devids['''sharp_zaurus_c750_ver1'''] = devclass(devices.devids['''opera_symbian_ver1'''], '''sharp_zaurus_c750_ver1''', '''Mozilla/4.0 (compatible; MSIE 5.0; Linux 2.4.18-rmk7-pxa3-embedix armv5tel; 480x640) Opera 6.0 [en]''', True, {'''brand_name''':'''Sharp''','''max_image_height''':480,'''max_image_width''':480,'''model_name''':'''Zaurus (Opera)''','''resolution_height''':640,'''resolution_width''':480}) +devices.devids['''mot_a920_ver1'''] = devclass(devices.devids['''mot_a925_ver1'''], '''mot_a920_ver1''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS) Opera 6.0 [en]./MOT-A920./P325''', True, {'''bmp''':True,'''max_data_rate''':384,'''max_image_height''':240,'''max_image_width''':208,'''model_name''':'''A920''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_a925_ver1_subennonumber'''] = devclass(devices.devids['''mot_a925_ver1'''], '''mot_a925_ver1_subennonumber''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS) Opera 6.0 [en]./MOT-A925''', False, None) +devices.devids['''mot_a925_ver1_subenuppercase'''] = devclass(devices.devids['''mot_a925_ver1'''], '''mot_a925_ver1_subenuppercase''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS) Opera 7.50 [EN]./MOT-A925./P243''', False, None) +devices.devids['''mot_a920_ver1_subsv'''] = devclass(devices.devids['''mot_a920_ver1'''], '''mot_a920_ver1_subsv''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS) Opera 6.0 [sv]./MOT-A920./P325''', False, None) +devices.devids['''mot_a920_ver2'''] = devclass(devices.devids['''mot_a920_ver1'''], '''mot_a920_ver2''', '''MOT-A920''', False, None) +devices.devids['''mot_ming_ver1_subr532g110053p'''] = devclass(devices.devids['''mot_ming_ver1'''], '''mot_ming_ver1_subr532g110053p''', '''MOT-A1200/R532_G_11.00.53P Mozilla/4.0(compatible; MSIE 6.0; Linux; Motorola A1200; 1862) Profile/MIDP-2.0 Configuration/CLDC 1.1 Opera 8.00 [en]''', False, None) +devices.devids['''mot_a1200i_ver1'''] = devclass(devices.devids['''mot_ming_ver1'''], '''mot_a1200i_ver1''', '''MOT-A1200i''', True, {'''colors''':262000,'''model_name''':'''MOTOMING A1200i''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''video_wmv''':False}) +devices.devids['''opera_sonyericsson_p800_ver1'''] = devclass(devices.devids['''sonyericsson_p800_ver1'''], '''opera_sonyericsson_p800_ver1''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P800''', False, {'''max_data_rate''':40}) +devices.devids['''mot_a1200i_ver1_subr532l4g11400fr'''] = devclass(devices.devids['''mot_a1200i_ver1'''], '''mot_a1200i_ver1_subr532l4g11400fr''', '''MOT-A1200i/R532L4_G_11.40.0FR Mozilla/4.0 (compatible; MSIE 6.0; Linux; Motorola A1200i;nnn) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.00 [pt-br]''', False, None) +devices.devids['''opera_sonyericsson_p800_ver1_sub305'''] = devclass(devices.devids['''opera_sonyericsson_p800_ver1'''], '''opera_sonyericsson_p800_ver1_sub305''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P800; 305) Opera 6.30 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p800_ver1_sub305sv'''] = devclass(devices.devids['''opera_sonyericsson_p800_ver1'''], '''opera_sonyericsson_p800_ver1_sub305sv''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P800; 305) Opera 6.30 [sv]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p800_ver1_sub306'''] = devclass(devices.devids['''opera_sonyericsson_p800_ver1'''], '''opera_sonyericsson_p800_ver1_sub306''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P800; 306) Opera 6.30 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p800_ver1_sub316'''] = devclass(devices.devids['''opera_sonyericsson_p800_ver1'''], '''opera_sonyericsson_p800_ver1_sub316''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P800; 316) Opera 6.31 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p800_ver1_sub316de'''] = devclass(devices.devids['''opera_sonyericsson_p800_ver1'''], '''opera_sonyericsson_p800_ver1_sub316de''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P800; 316) Opera 6.31 [de]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p800_ver1_sub316sv'''] = devclass(devices.devids['''opera_sonyericsson_p800_ver1'''], '''opera_sonyericsson_p800_ver1_sub316sv''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P800; 316) Opera 6.31 [sv]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p900_ver1'''] = devclass(devices.devids['''sonyericsson_p900_ver1'''], '''opera_sonyericsson_p900_ver1''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P900;''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p900_ver1_sub305'''] = devclass(devices.devids['''opera_sonyericsson_p900_ver1'''], '''opera_sonyericsson_p900_ver1_sub305''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P900; 305) Opera 6.30 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p900_ver1_sub305nl'''] = devclass(devices.devids['''opera_sonyericsson_p900_ver1'''], '''opera_sonyericsson_p900_ver1_sub305nl''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P900; 305) Opera 6.30 [nl]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p900_ver1_sub306'''] = devclass(devices.devids['''opera_sonyericsson_p900_ver1'''], '''opera_sonyericsson_p900_ver1_sub306''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P900; 306) Opera 6.30 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p900_ver1_sub306it'''] = devclass(devices.devids['''opera_sonyericsson_p900_ver1'''], '''opera_sonyericsson_p900_ver1_sub306it''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P900; 306) Opera 6.30 [it]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p900_ver1_sub306pt'''] = devclass(devices.devids['''opera_sonyericsson_p900_ver1'''], '''opera_sonyericsson_p900_ver1_sub306pt''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P900; 306) Opera 6.30 [pt]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p900_ver1_sub316'''] = devclass(devices.devids['''opera_sonyericsson_p900_ver1'''], '''opera_sonyericsson_p900_ver1_sub316''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P900; 316) Opera 6.31 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p900_ver1_sub316de'''] = devclass(devices.devids['''opera_sonyericsson_p900_ver1'''], '''opera_sonyericsson_p900_ver1_sub316de''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P900; 316) Opera 6.31 [de]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p900_ver1_sub316fr'''] = devclass(devices.devids['''opera_sonyericsson_p900_ver1'''], '''opera_sonyericsson_p900_ver1_sub316fr''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P900; 316) Opera 6.31 [fr]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p900_ver1_sub316sv'''] = devclass(devices.devids['''opera_sonyericsson_p900_ver1'''], '''opera_sonyericsson_p900_ver1_sub316sv''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P900; 316) Opera 6.31 [sv]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p910i_ver1'''] = devclass(devices.devids['''sonyericsson_p910i_ver1'''], '''opera_sonyericsson_p910i_ver1''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P910''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p910i_ver1_sub318en'''] = devclass(devices.devids['''opera_sonyericsson_p910i_ver1'''], '''opera_sonyericsson_p910i_ver1_sub318en''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P910; 318) Opera 6.31 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p910i_ver1-sub319sv'''] = devclass(devices.devids['''opera_sonyericsson_p910i_ver1'''], '''opera_sonyericsson_p910i_ver1-sub319sv''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P910; 318) Opera 6.31 [sv]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p910i_ver1_sub320en'''] = devclass(devices.devids['''opera_sonyericsson_p910i_ver1'''], '''opera_sonyericsson_p910i_ver1_sub320en''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P910; 320) Opera 6.32 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_sonyericsson_p910i_ver1_sub320sv'''] = devclass(devices.devids['''opera_sonyericsson_p910i_ver1'''], '''opera_sonyericsson_p910i_ver1_sub320sv''', '''Mozilla/4.0 (compatible; MSIE 5.0; Symbian OS; SonyEricsson P910; 320) Opera 6.32 [sv]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_generic_series80'''] = devclass(devices.devids['''nokia_generic_series80'''], '''opera_nokia_generic_series80''', '''Mozilla/4.1 (compatible; MSIE 5.0; EPOC) Opera 6.0 [it]Nokia/Series-9200''', False, None) +devices.devids['''opera_nokia_generic_series80_subde'''] = devclass(devices.devids['''opera_nokia_generic_series80'''], '''opera_nokia_generic_series80_subde''', '''Mozilla/4.1 (compatible; MSIE 5.0; EPOC) Opera 6.0 [de]Nokia/Series-9200''', False, None) +devices.devids['''opera_nokia_generic_series80_subenus'''] = devclass(devices.devids['''opera_nokia_generic_series80'''], '''opera_nokia_generic_series80_subenus''', '''Mozilla/4.1 (compatible; MSIE 5.0; EPOC) Opera 6.0 [en-US]Nokia/Series-9200''', False, None) +devices.devids['''opera_nokia_generic_series80_suben'''] = devclass(devices.devids['''opera_nokia_generic_series80'''], '''opera_nokia_generic_series80_suben''', '''Mozilla/4.1 (compatible; MSIE 5.0; EPOC) Opera 6.0 [en]Nokia/Series-9200''', False, None) +devices.devids['''opera_nokia_generic_series80_subfr'''] = devclass(devices.devids['''opera_nokia_generic_series80'''], '''opera_nokia_generic_series80_subfr''', '''Mozilla/4.1 (compatible; MSIE 5.0; EPOC) Opera 6.0 [fr]Nokia/Series-9200''', False, None) +devices.devids['''opera_nokia_generic_series80_subno'''] = devclass(devices.devids['''opera_nokia_generic_series80'''], '''opera_nokia_generic_series80_subno''', '''Mozilla/4.1 (compatible; MSIE 5.0; EPOC) Opera 6.0 [no]Nokia/Series-9200''', False, None) +devices.devids['''opera_symbian_ver1_subnl'''] = devclass(devices.devids['''opera_symbian_ver1'''], '''opera_symbian_ver1_subnl''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS) Opera 6.0 [nl]''', False, None) +devices.devids['''opera_nokia_series60_ver1_sub432'''] = devclass(devices.devids['''nokia_generic_series60'''], '''opera_nokia_series60_ver1_sub432''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Series 60;432) Opera 6.10 [en]''', False, {'''brand_name''':'''Opera''','''model_name''':'''Opera for Series 60'''}) +devices.devids['''opera_nokia_series60_ver1_sub424'''] = devclass(devices.devids['''opera_nokia_series60_ver1_sub432'''], '''opera_nokia_series60_ver1_sub424''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Series 60;424) Opera 6.10 [en]''', False, None) +devices.devids['''opera_nokia_series60_ver1_sub452'''] = devclass(devices.devids['''opera_nokia_series60_ver1_sub432'''], '''opera_nokia_series60_ver1_sub452''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Series 60;452) Opera 6.20 [en]''', False, None) +devices.devids['''opera_series60_ver620'''] = devclass(devices.devids['''nokia_generic_series60'''], '''opera_series60_ver620''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS) Opera 6.20 [en]''', False, None) +devices.devids['''opera_nokia_series60_ver1_sub620'''] = devclass(devices.devids['''nokia_generic_series60'''], '''opera_nokia_series60_ver1_sub620''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia''', False, None) +devices.devids['''opera_nokia_3650_ver1'''] = devclass(devices.devids['''nokia_3650_ver1'''], '''opera_nokia_3650_ver1''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 3650''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_3650_ver1_subopera610'''] = devclass(devices.devids['''opera_nokia_3650_ver1'''], '''opera_nokia_3650_ver1_subopera610''', '''Mozilla/5.0 (Symbian OS; U) Opera 6.10 [Nokia 3650]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_3650_ver1_sub424'''] = devclass(devices.devids['''opera_nokia_3650_ver1'''], '''opera_nokia_3650_ver1_sub424''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 3650;424) Opera 6.10 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_3650_ver1_sub432'''] = devclass(devices.devids['''opera_nokia_3650_ver1'''], '''opera_nokia_3650_ver1_sub432''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 3650;432) Opera 6.10 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_3650_ver1_sub452enus'''] = devclass(devices.devids['''opera_nokia_3650_ver1'''], '''opera_nokia_3650_ver1_sub452enus''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 3650;452) Opera 6.20 [en-US]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_3650_ver1_sub452en'''] = devclass(devices.devids['''opera_nokia_3650_ver1'''], '''opera_nokia_3650_ver1_sub452en''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 3650;452) Opera 6.20 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_3650_ver1_sub452it'''] = devclass(devices.devids['''opera_nokia_3650_ver1'''], '''opera_nokia_3650_ver1_sub452it''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 3650;452) Opera 6.20 [it]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_6600_ver1'''] = devclass(devices.devids['''nokia_6600_ver1'''], '''opera_nokia_6600_ver1''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 6600''', False, {'''max_data_rate''':40,'''model_name''':'''Opera for 6600'''}) +devices.devids['''opera_nokia_6600_ver1_sub693EN'''] = devclass(devices.devids['''opera_nokia_6600_ver1'''], '''opera_nokia_6600_ver1_sub693EN''', '''Mozilla/4.1 (compatible; MSIE 6.0; Symbian OS; Nokia 6600; 693) Opera 7.50 [EN]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_6670_ver1'''] = devclass(devices.devids['''nokia_6670_ver1'''], '''opera_nokia_6670_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Nokia 6670''', False, {'''max_data_rate''':40,'''model_name''':'''Opera for 6670'''}) +devices.devids['''opera_nokia_6670_ver1_sub4042446329'''] = devclass(devices.devids['''opera_nokia_6670_ver1'''], '''opera_nokia_6670_ver1_sub4042446329''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Nokia 6670/4.0424.4; 6329) Opera 8.00 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_6670_ver1_sub4044106936'''] = devclass(devices.devids['''opera_nokia_6670_ver1'''], '''opera_nokia_6670_ver1_sub4044106936''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Nokia 6670/4.0441.0; 6936) Opera 8.50 [ru]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_6670_ver1_sub5050906329'''] = devclass(devices.devids['''opera_nokia_6670_ver1'''], '''opera_nokia_6670_ver1_sub5050906329''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Nokia 6670/5.0509.0; 6329) Opera 8.00 [ru]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_6670_ver1_sub6052206936'''] = devclass(devices.devids['''opera_nokia_6670_ver1'''], '''opera_nokia_6670_ver1_sub6052206936''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Nokia 6670/6.0522.0; 6936) Opera 8.50 [ru]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_6670_ver1_sub4042146936'''] = devclass(devices.devids['''opera_nokia_6670_ver1'''], '''opera_nokia_6670_ver1_sub4042146936''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Nokia 6670/4.0421.4; 6936) Opera 8.50 [ru]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_6670_ver1_sub5050906936'''] = devclass(devices.devids['''opera_nokia_6670_ver1'''], '''opera_nokia_6670_ver1_sub5050906936''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Nokia 6670/5.0509.0; 6936) Opera 8.50 [ru]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_6670_ver1_sub4043746329'''] = devclass(devices.devids['''opera_nokia_6670_ver1'''], '''opera_nokia_6670_ver1_sub4043746329''', '''Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Nokia 6670/4.0437.4; 6329) Opera 8.00 [es]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_6680_ver1'''] = devclass(devices.devids['''nokia_6680_ver1'''], '''opera_nokia_6680_ver1''', '''Mozilla/4.1 (compatible; MSIE 6.0; Symbian OS; Nokia 6680''', False, {'''max_data_rate''':200,'''model_name''':'''Opera for 6680'''}) +devices.devids['''opera_nokia_6680_ver1_sub857760'''] = devclass(devices.devids['''opera_nokia_6680_ver1'''], '''opera_nokia_6680_ver1_sub857760''', '''Mozilla/4.1 (compatible; MSIE 6.0; Symbian OS; Nokia 6680; 857) Opera 7.60 [ru]''', False, {'''max_data_rate''':200}) +devices.devids['''opera_nokia_7610_ver1'''] = devclass(devices.devids['''nokia_7610_ver1'''], '''opera_nokia_7610_ver1''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610''', False, {'''max_data_rate''':40,'''model_name''':'''Opera for 7610'''}) +devices.devids['''opera_nokia_7610_ver1_sub447en'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''opera_nokia_7610_ver1_sub447en''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610;447) Opera 6.20 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_7610_ver1_sub451de'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''opera_nokia_7610_ver1_sub451de''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610;451) Opera 6.20 [de]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_7610_ver1_sub451en'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''opera_nokia_7610_ver1_sub451en''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610;451) Opera 6.20 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_7610_ver1_sub451enus'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''opera_nokia_7610_ver1_sub451enus''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610;451) Opera 6.20 [en-US]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_7610_ver1_sub451es'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''opera_nokia_7610_ver1_sub451es''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610;451) Opera 6.20 [es]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_7610_ver1_sub451fi'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''opera_nokia_7610_ver1_sub451fi''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610;451) Opera 6.20 [fi]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_7610_ver1_sub451fr'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''opera_nokia_7610_ver1_sub451fr''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610;451) Opera 6.20 [fr]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_7610_ver1_sub451ru'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''opera_nokia_7610_ver1_sub451ru''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610;451) Opera 6.20 [ru]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_7610_ver1_sub451tr'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''opera_nokia_7610_ver1_sub451tr''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610;451) Opera 6.20 [tr]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_7610_ver1_sub451zhhk'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''opera_nokia_7610_ver1_sub451zhhk''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610;451) Opera 6.20 [zh-HK]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_7610_ver1_sub452en'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''opera_nokia_7610_ver1_sub452en''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610;452) Opera 6.20 [en]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_7610_ver1_sub452it'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''opera_nokia_7610_ver1_sub452it''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610;452) Opera 6.20 [it]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_7610_ver1_sub452nl'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''opera_nokia_7610_ver1_sub452nl''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610;452) Opera 6.20 [nl]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_7610_ver1_sub452ru'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''opera_nokia_7610_ver1_sub452ru''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7610;452) Opera 6.20 [ru]''', False, {'''max_data_rate''':40}) +devices.devids['''mozilla_ver1_sub7610_sub620'''] = devclass(devices.devids['''opera_nokia_7610_ver1'''], '''mozilla_ver1_sub7610_sub620''', '''Mozilla/5.0 (Symbian OS; U) Opera 6.20 [Nokia 7610]''', False, {'''max_data_rate''':40}) +devices.devids['''opera_nokia_7650_ver1'''] = devclass(devices.devids['''nokia_7650_ver1'''], '''opera_nokia_7650_ver1''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 7650;424) Opera 6.10 [it]''', False, {'''html_wi_imode_compact_generic''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''max_data_rate''':40,'''model_name''':'''Opera for 7650''','''preferred_markup''':'''html_web_4_0'''}) +devices.devids['''opera_nokia_ngage_ver1'''] = devclass(devices.devids['''nokia_ngage_ver1'''], '''opera_nokia_ngage_ver1''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; N-Gage;450) Opera 6.20 [fr]''', False, {'''html_wi_imode_compact_generic''':True,'''model_name''':'''Opera for N-Gage''','''preferred_markup''':'''html_web_4_0'''}) +devices.devids['''opera_nokia_ngage_ver1_sub_452'''] = devclass(devices.devids['''opera_nokia_ngage_ver1'''], '''opera_nokia_ngage_ver1_sub_452''', '''Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; N-Gage;452) Opera 6.20 [pt]''', False, None) +devices.devids['''bilbo_ver1'''] = devclass(devices.devids['''generic'''], '''bilbo_ver1''', '''Bilbo''', False, None) +devices.devids['''bilbo_ver1_sub21a'''] = devclass(devices.devids['''bilbo_ver1'''], '''bilbo_ver1_sub21a''', '''Bilbo/2.1a-UNIX''', False, None) +devices.devids['''bilbo_ver1_sub22a'''] = devclass(devices.devids['''bilbo_ver1'''], '''bilbo_ver1_sub22a''', '''Bilbo/2.2a-UNIX''', False, None) +devices.devids['''bilbo_ver1_sub23a'''] = devclass(devices.devids['''bilbo_ver1'''], '''bilbo_ver1_sub23a''', '''Bilbo/2.3a-UNIX''', False, None) +devices.devids['''bilbo_ver1_sub23b'''] = devclass(devices.devids['''bilbo_ver1'''], '''bilbo_ver1_sub23b''', '''Bilbo/2.3b-UNIX''', False, None) +devices.devids['''ccwap_browser_ver1'''] = devclass(devices.devids['''generic'''], '''ccwap_browser_ver1''', '''ccWAP-Browser''', False, {'''brand_name''':'''CheckCom''','''model_name''':'''WAP Browser''','''preferred_markup''':'''wml_1_3''','''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''ccwap_browser_ver1_sub0'''] = devclass(devices.devids['''ccwap_browser_ver1'''], '''ccwap_browser_ver1_sub0''', '''ccWAP-Browser (www.ccwap.com)''', False, None) +devices.devids['''ccwap_browser_ver1_subsl45'''] = devclass(devices.devids['''ccwap_browser_ver1'''], '''ccwap_browser_ver1_subsl45''', '''SIE-SL45/1.0 (ccWAP-Browser)''', False, None) +devices.devids['''ccwap_browser_ver1_subr520'''] = devclass(devices.devids['''ccwap_browser_ver1'''], '''ccwap_browser_ver1_subr520''', '''EricssonR520/R1A (ccWAP-Browser)''', False, None) +devices.devids['''ccwap_browser_ver1_subnokia6210'''] = devclass(devices.devids['''ccwap_browser_ver1'''], '''ccwap_browser_ver1_subnokia6210''', '''Nokia6210/1.0 (ccWAP-Browser)''', False, None) +devices.devids['''ccwap_browser_ver1_subnokia7110'''] = devclass(devices.devids['''ccwap_browser_ver1'''], '''ccwap_browser_ver1_subnokia7110''', '''Nokia7110/1.0 (ccWAP-Browser)''', False, None) +devices.devids['''ccwap_browser_ver1_subsiec35'''] = devclass(devices.devids['''ccwap_browser_ver1'''], '''ccwap_browser_ver1_subsiec35''', '''SIE-C35/1.0 (ccWAP-Browser)''', False, None) +devices.devids['''ccwap_browser_ver1_subsies35'''] = devclass(devices.devids['''ccwap_browser_ver1'''], '''ccwap_browser_ver1_subsies35''', '''SIE-S35/1.0 (ccWAP-Browser)''', False, None) +devices.devids['''ccwap_browser_ver1_subsieme45'''] = devclass(devices.devids['''ccwap_browser_ver1'''], '''ccwap_browser_ver1_subsieme45''', '''SIE-ME45/1.0 (ccWAP-Browser)''', False, None) +devices.devids['''ccwap_browser_ver1_subsies40'''] = devclass(devices.devids['''ccwap_browser_ver1'''], '''ccwap_browser_ver1_subsies40''', '''SIE-S40/1.0 (ccWAP-Browser)''', False, None) +devices.devids['''conduits_palmbrowser_ver1'''] = devclass(devices.devids['''generic'''], '''conduits_palmbrowser_ver1''', '''Conduits-PalmBrowser/1.5''', False, None) +devices.devids['''device_ver1'''] = devclass(devices.devids['''generic'''], '''device_ver1''', '''Device V1.12''', False, None) +devices.devids['''ezos_ver1'''] = devclass(devices.devids['''generic'''], '''ezos_ver1''', '''EZOS''', False, None) +devices.devids['''ezos_ver1_sub10'''] = devclass(devices.devids['''ezos_ver1'''], '''ezos_ver1_sub10''', '''EZOS - EzWAP 1.0 for Pocket PC''', False, None) +devices.devids['''ezos_ver1_sub20'''] = devclass(devices.devids['''ezos_ver1'''], '''ezos_ver1_sub20''', '''EZOS - EzWAP v2.0''', False, None) +devices.devids['''ezos_ver1_sub21desktoppc'''] = devclass(devices.devids['''ezos_ver1'''], '''ezos_ver1_sub21desktoppc''', '''EZOS - EzWAP 2.1 for Desktop PC''', False, None) +devices.devids['''ezos_ver1_sub21pocketpc'''] = devclass(devices.devids['''ezos_ver1'''], '''ezos_ver1_sub21pocketpc''', '''EZOS - EzWAP 2.1 for Pocket PC''', False, None) +devices.devids['''ezos_ver1_sub21hpc'''] = devclass(devices.devids['''ezos_ver1'''], '''ezos_ver1_sub21hpc''', '''EZOS - EzWAP 2.1 for HPC/2000''', False, None) +devices.devids['''ezos_ver1_sub25'''] = devclass(devices.devids['''ezos_ver1'''], '''ezos_ver1_sub25''', '''EZOS - EzWAP 2.5 for Pocket PC''', False, None) +devices.devids['''ezos_ver1_subm5alphacell'''] = devclass(devices.devids['''ezos_ver1'''], '''ezos_ver1_subm5alphacell''', '''EZOS - M5 AlphaCell WAP Browser''', True, {'''amr''':True,'''brand_name''':'''AlphaCell Wireless''','''colors''':65536,'''columns''':17,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':112640,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''M5''','''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''wml_1_3''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':22,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://pluto.alphacell.com/uaprof/m5p.xml''','''wap_push_support''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''ezos_ver1_subalphacell'''] = devclass(devices.devids['''ezos_ver1'''], '''ezos_ver1_subalphacell''', '''EZOS - AlphaCell WAP Browser''', False, None) +devices.devids['''ezos_ver1_subonlinepilot'''] = devclass(devices.devids['''ezos_ver1'''], '''ezos_ver1_subonlinepilot''', '''EZOS - OnlinePilot''', False, None) +devices.devids['''ezos_ver1_subopelehu3'''] = devclass(devices.devids['''ezos_ver1'''], '''ezos_ver1_subopelehu3''', '''EZOS - Opel EHU3''', False, None) +devices.devids['''ezos_ver1_sub_t68'''] = devclass(devices.devids['''ezos_ver1'''], '''ezos_ver1_sub_t68''', '''EZOS - EricssonT68/R1 (embedded)SAAB_1''', False, None) +devices.devids['''ezos_ver1_subsiemens'''] = devclass(devices.devids['''ezos_ver1'''], '''ezos_ver1_subsiemens''', '''EZOS - Siemens-DCW220H/10.20.2''', False, None) +devices.devids['''hd_mmd1010_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''hd_mmd1010_ver1''', '''HD-MMD1010/001.1a UP/4.1.20i UP.Browser/4.1.20i-XXXX''', False, None) +devices.devids['''hd_mmd1010_ver1_sub41201936483180'''] = devclass(devices.devids['''uptext_generic'''], '''hd_mmd1010_ver1_sub41201936483180''', '''HD-MMD1010/001.1a UP/4.1.20i UP/4.1.20i''', False, None) +devices.devids['''hd_pd20_ver1_sub4120'''] = devclass(devices.devids['''uptext_generic'''], '''hd_pd20_ver1_sub4120''', '''HD-PD20/058.1a UP/4.1.20e UP.Browser/4.1.20e-XXXX''', False, None) +devices.devids['''hd_tx20b0011a_ver1_sub4122'''] = devclass(devices.devids['''uptext_generic'''], '''hd_tx20b0011a_ver1_sub4122''', '''HD-TX20B001.1a/ UP.Browser/4.1.22b''', False, None) +devices.devids['''hd_mmp1020_ver1_sub4120'''] = devclass(devices.devids['''uptext_generic'''], '''hd_mmp1020_ver1_sub4120''', '''HD-MMP1020/001.1a UP/4.1.20i UP.Browser/4.1.20i-XXXX''', False, None) +devices.devids['''ibrowser_ver1'''] = devclass(devices.devids['''generic'''], '''ibrowser_ver1''', '''iBrowser/1.1''', False, None) +devices.devids['''jataayu_ver1'''] = devclass(devices.devids['''generic'''], '''jataayu_ver1''', '''Jataayu''', False, None) +devices.devids['''jataayu_ver1_sub1'''] = devclass(devices.devids['''jataayu_ver1'''], '''jataayu_ver1_sub1''', '''Jataayu browser for Palm''', False, None) +devices.devids['''jataayu_ver1_sub11'''] = devclass(devices.devids['''jataayu_ver1'''], '''jataayu_ver1_sub11''', '''Jataayu browser for Palm, Jataayu browser for Palm''', False, None) +devices.devids['''jataayu_ver2'''] = devclass(devices.devids['''jataayu_ver1'''], '''jataayu_ver2''', '''Jataayu WAP 2''', False, None) +devices.devids['''jataayu_ver2_sub261'''] = devclass(devices.devids['''jataayu_ver2'''], '''jataayu_ver2_sub261''', '''Jataayu browser for Palm/Jataayu Ver 2.6.1''', False, None) +devices.devids['''jataayu_ver2_subbrowser'''] = devclass(devices.devids['''jataayu_ver2'''], '''jataayu_ver2_subbrowser''', '''Jataayu WAP 2 Browser''', False, None) +devices.devids['''jataayu_ver2_subtoolkit'''] = devclass(devices.devids['''jataayu_ver2'''], '''jataayu_ver2_subtoolkit''', '''Jataayu WAP 2 Toolkit''', False, None) +devices.devids['''jataayu_ver2_subtoolkitbis'''] = devclass(devices.devids['''jataayu_ver2'''], '''jataayu_ver2_subtoolkitbis''', '''Jataayu WAP 2 Toolkit, Jataayu WAP 2 Toolkit''', False, None) +devices.devids['''java_ver1'''] = devclass(devices.devids['''generic'''], '''java_ver1''', '''Java1.1.8''', False, {'''device_claims_web_support''':False,'''is_wireless_device''':False}) +devices.devids['''klondike_ver1'''] = devclass(devices.devids['''generic'''], '''klondike_ver1''', '''Klondike/1''', False, None) +devices.devids['''m1_wapmore_ver1'''] = devclass(devices.devids['''generic'''], '''m1_wapmore_ver1''', '''M1-wapmore/1.0(03.01)''', False, None) +devices.devids['''m3gate_ver1'''] = devclass(devices.devids['''generic'''], '''m3gate_ver1''', '''M3GATE''', False, None) +devices.devids['''m3gate_ver1_sub04'''] = devclass(devices.devids['''m3gate_ver1'''], '''m3gate_ver1_sub04''', '''M3GATE/0.4''', False, None) +devices.devids['''m3gate_ver1_sub0595'''] = devclass(devices.devids['''m3gate_ver1'''], '''m3gate_ver1_sub0595''', '''M3GATE [Microsoft Windows 95]/0.5''', False, None) +devices.devids['''m3gate_ver1_sub0598'''] = devclass(devices.devids['''m3gate_ver1'''], '''m3gate_ver1_sub0598''', '''M3GATE [Microsoft Windows 98]/0.5''', False, None) +devices.devids['''m3gate_ver1_sub05nt'''] = devclass(devices.devids['''m3gate_ver1'''], '''m3gate_ver1_sub05nt''', '''M3GATE [Microsoft Windows NT 4.0]/0.5''', False, None) +devices.devids['''m3gate_ver1_sub502000'''] = devclass(devices.devids['''m3gate_ver1'''], '''m3gate_ver1_sub502000''', '''M3GATE [Microsoft Windows 2000 5.0]/0.5''', False, None) +devices.devids['''m3gate_ver1_sub06'''] = devclass(devices.devids['''m3gate_ver1'''], '''m3gate_ver1_sub06''', '''M3Gate/0.6''', False, None) +devices.devids['''pocket_ver1_sub12b2'''] = devclass(devices.devids['''m3gate_ver1'''], '''pocket_ver1_sub12b2''', '''Pocket M3Gate/1.2 beta 2''', False, None) +devices.devids['''m3gate_ver1_sub12'''] = devclass(devices.devids['''m3gate_ver1'''], '''m3gate_ver1_sub12''', '''M3Gate/1.2''', False, None) +devices.devids['''materna_wappreview_ver1'''] = devclass(devices.devids['''generic'''], '''materna_wappreview_ver1''', '''Materna-WAPPreview/1''', False, None) +devices.devids['''annyway_ver1'''] = devclass(devices.devids['''generic'''], '''annyway_ver1''', '''AnnyWay''', False, None) +devices.devids['''annyway_ver1_sub12'''] = devclass(devices.devids['''annyway_ver1'''], '''annyway_ver1_sub12''', '''AnnyWay WAP/1.2''', False, None) +devices.devids['''annyway_ver1_sub1212'''] = devclass(devices.devids['''annyway_ver1'''], '''annyway_ver1_sub1212''', '''AnnyWay WAP/1.2, AnnyWay WAP/1.2''', False, None) +devices.devids['''annyway_ver1_sub12110'''] = devclass(devices.devids['''annyway_ver1'''], '''annyway_ver1_sub12110''', '''AnnyWay WAP/V 1.2.110''', False, None) +devices.devids['''annyway_ver1_sub12113'''] = devclass(devices.devids['''annyway_ver1'''], '''annyway_ver1_sub12113''', '''AnnyWay WAP/V 1.2.113''', False, None) +devices.devids['''annyway_ver1_sub12114'''] = devclass(devices.devids['''annyway_ver1'''], '''annyway_ver1_sub12114''', '''AnnyWay WAP/V 1.2.114''', False, None) +devices.devids['''mercator_ver1'''] = devclass(devices.devids['''generic'''], '''mercator_ver1''', '''Mercator''', False, None) +devices.devids['''mercator_ver1_sub11'''] = devclass(devices.devids['''mercator_ver1'''], '''mercator_ver1_sub11''', '''Mercator-1.1''', False, None) +devices.devids['''mercator_ver1_sub20'''] = devclass(devices.devids['''mercator_ver1'''], '''mercator_ver1_sub20''', '''Mercator-2.0''', False, None) +devices.devids['''smith_ver1'''] = devclass(devices.devids['''generic'''], '''smith_ver1''', '''Smith''', False, None) +devices.devids['''smith_ver1_sub10'''] = devclass(devices.devids['''smith_ver1'''], '''smith_ver1_sub10''', '''Smith WAP Emulator/1.0 (http://www.ceskywap.cz/smith)''', False, None) +devices.devids['''mobileexplorer_ver1_subgenericsmall'''] = devclass(devices.devids['''generic'''], '''mobileexplorer_ver1_subgenericsmall''', '''Mozilla/1.22 (compatible; MMEF20; Cellphone, GenericSmall)''', False, None) +devices.devids['''mobileexplorer_ver3'''] = devclass(devices.devids['''generic'''], '''mobileexplorer_ver3''', '''MobileExplorer/3.00 (MMEF300''', False, {'''brand_name''':'''Microsoft''','''colors''':256,'''device_claims_web_support''':True,'''gif''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''html_wi_imode_compact_generic''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''model_name''':'''Mobile Explorer''','''preferred_markup''':'''html_web_4_0''','''resolution_height''':160,'''resolution_width''':128,'''wml_1_2''':True}) +devices.devids['''mobileexplorer_ver1_submmef300'''] = devclass(devices.devids['''mobileexplorer_ver3'''], '''mobileexplorer_ver1_submmef300''', '''MobileExplorer/3.00 (MMEF300; Microsoft; Windows; GenericLarge)''', False, None) +devices.devids['''mobileexplorer_ver1_submmef300122'''] = devclass(devices.devids['''mobileexplorer_ver3'''], '''mobileexplorer_ver1_submmef300122''', '''MobileExplorer/3.00 (Mozilla/1.22; compatible; MMEF300; Microsoft; Windows; GenericSmall)''', False, None) +devices.devids['''mobileexplorer_ver1_sub300'''] = devclass(devices.devids['''mobileexplorer_ver3'''], '''mobileexplorer_ver1_sub300''', '''MobileExplorer/3.00 (Mozilla/1.22; compatible; MMEF300; Microsoft; Windows; GenericLarge)''', False, None) +devices.devids['''mobileexplorer_ver1_subamstradgamma'''] = devclass(devices.devids['''mobileexplorer_ver3'''], '''mobileexplorer_ver1_subamstradgamma''', '''MobileExplorer/3.00 (MMEF300; Amstrad; Gamma)''', False, None) +devices.devids['''mobileexplorer_ver1_submmef300sendo'''] = devclass(devices.devids['''mobileexplorer_ver3'''], '''mobileexplorer_ver1_submmef300sendo''', '''MobileExplorer/3.00 (MMEF300; Sendo; Wap)''', False, None) +devices.devids['''opwv_sdk_ver1_sub405c'''] = devclass(devices.devids['''uptext_generic'''], '''opwv_sdk_ver1_sub405c''', '''UPG1 UP/4.0.5c''', False, None) +devices.devids['''opwv_sdk_ver1_sub407'''] = devclass(devices.devids['''uptext_generic'''], '''opwv_sdk_ver1_sub407''', '''UPG1 UP/4.0.7''', False, None) +devices.devids['''opwv_sdk_ver1_sub407xxx'''] = devclass(devices.devids['''uptext_generic'''], '''opwv_sdk_ver1_sub407xxx''', '''UPG1 UP/4.0.7, UPG1 UP/4.0.7 UP.Browser/4.0.7-XXXX''', False, None) +devices.devids['''opwv_sdk_ver1_sub4010'''] = devclass(devices.devids['''uptext_generic'''], '''opwv_sdk_ver1_sub4010''', '''UPG1 UP/4.0.10''', False, None) +devices.devids['''opwv_sdk_ver1_sub4010xxxx'''] = devclass(devices.devids['''uptext_generic'''], '''opwv_sdk_ver1_sub4010xxxx''', '''UPG1 UP/4.0.10 UP.Browser/4.0.10-XXXX''', False, None) +devices.devids['''opwv_sdk_ver1_sub4010xxxxhttp'''] = devclass(devices.devids['''uptext_generic'''], '''opwv_sdk_ver1_sub4010xxxxhttp''', '''UPG1 UP/4.0.10 UP.Browser/4.0.10-XXXX RPT-HTTPClient/0.3-3''', False, None) +devices.devids['''opwv_sdk_ver1_sub40wpk010149'''] = devclass(devices.devids['''uptext_generic'''], '''opwv_sdk_ver1_sub40wpk010149''', '''UPG1 UP/4.0.WPK_V01.01.49''', False, None) +devices.devids['''opwv1_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''opwv1_ver1''', '''OPWV1/4.0 UP/5.0.1.2 (GUI) UP.Browser/5.0.1.2 (GUI)-XXXX''', False, None) +devices.devids['''opwv1_ver1_sub0'''] = devclass(devices.devids['''opwv1_ver1'''], '''opwv1_ver1_sub0''', '''OPWV1/4.0 UP.Browser/5.0.1.2 (GUI)''', False, None) +devices.devids['''opwv_ver1_subgen02'''] = devclass(devices.devids['''upgui_generic'''], '''opwv_ver1_subgen02''', '''OPWV-GEN-02/UNI10 UP.Browser/5.0.2.375 (GUI)''', False, None) +devices.devids['''opwv_ver1_subgen02xxxx'''] = devclass(devices.devids['''upgui_generic'''], '''opwv_ver1_subgen02xxxx''', '''OPWV-GEN-02/UNI10 UP/5.0.2.375 (GUI) UP.Browser/5.0.2.375 (GUI)-XXXX''', False, None) +devices.devids['''opwv_ver1_subgen99602221'''] = devclass(devices.devids['''opwv_v6_generic'''], '''opwv_ver1_subgen99602221''', '''OPWV-GEN-99/UNI10 UP.Browser/6.0.2.221 (GUI) HTTP-DIRECT/5.1''', False, None) +devices.devids['''opwv_ver1_subgen99602224'''] = devclass(devices.devids['''opwv_v6_generic'''], '''opwv_ver1_subgen99602224''', '''OPWV-GEN-99/UNI10 UP.Browser/6.0.2.224 (GUI) MMP/HTTP-DIRECT''', False, None) +devices.devids['''opwv_ver1_subsdk51'''] = devclass(devices.devids['''opwv_v6_generic'''], '''opwv_ver1_subsdk51''', '''OPWV-SDK/51 UP.Browser/6.0.2.273 (GUI) MMP/HTTP-DIRECT''', False, None) +devices.devids['''opwv_ver1_subsdk51xxxx'''] = devclass(devices.devids['''upgui_generic'''], '''opwv_ver1_subsdk51xxxx''', '''OPWV-SDK/51 UP/5.0.2.1.103 (GUI) UP.Browser/5.0.2.1.103 (GUI)-XXXX''', False, None) +devices.devids['''opwv_sdk_ver1_subsdk51'''] = devclass(devices.devids['''upgui_generic'''], '''opwv_sdk_ver1_subsdk51''', '''OPWV-SDK/51 UP.Browser/5.0.2.1.103 (GUI)''', False, None) +devices.devids['''opwv_sdk_ver1_subsdk11'''] = devclass(devices.devids['''opwv_v6_generic'''], '''opwv_sdk_ver1_subsdk11''', '''OPWV-SDK/11 UP.Browser/6.0.2.273 (GUI) MMP/HTTP-DIRECT''', False, {'''bmp''':True,'''brand_name''':'''Openwave''','''colors''':16777216,'''columns''':12,'''compactmidi''':True,'''imelody''':True,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':65535,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''OPWV-SDK/60''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''rows''':8,'''sender''':True,'''wav''':True}) +devices.devids['''opwv_sdk_ver1_subsdk11mmp11'''] = devclass(devices.devids['''opwv_sdk_ver1_subsdk11'''], '''opwv_sdk_ver1_subsdk11mmp11''', '''OPWV-SDK/11 UP.Browser/6.0.2.273 (GUI) MMP/1.1''', False, None) +devices.devids['''opwv_sdk_ver1_sub6102135'''] = devclass(devices.devids['''opwv_v61_generic'''], '''opwv_sdk_ver1_sub6102135''', '''OPWV-SDK/61 UP.Browser/6.1.0.2.135 (GUI) MMP/2.0''', False, {'''bmp''':True,'''brand_name''':'''Openwave''','''colors''':16777216,'''columns''':12,'''compactmidi''':True,'''imelody''':True,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':65535,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''OPWV-SDK/61''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''rows''':8,'''sender''':True,'''wav''':True}) +devices.devids['''opwv_sdk_ver1_sub6103121c1'''] = devclass(devices.devids['''opwv_sdk_ver1_subsdk11'''], '''opwv_sdk_ver1_sub6103121c1''', '''OPWV-SDK/61 UP.Browser/6.1.0.3.121c (GUI) MMP/1.0''', False, None) +devices.devids['''opwv_sdk_ver1_sub6103121c2'''] = devclass(devices.devids['''opwv_sdk_ver1_subsdk11'''], '''opwv_sdk_ver1_sub6103121c2''', '''OPWV-SDK/61 UP.Browser/6.1.0.3.121c (GUI) MMP/2.0''', False, None) +devices.devids['''opwv_sdk_ver1_sub6226'''] = devclass(devices.devids['''opwv_v62_generic'''], '''opwv_sdk_ver1_sub6226''', '''UPG1/4.0 UP.Browser/6.2.2.6 (GUI) MMP/1.0''', False, None) +devices.devids['''opwv_sdk_ver1_sub6201103'''] = devclass(devices.devids['''opwv_v62_generic'''], '''opwv_sdk_ver1_sub6201103''', '''OPWV-SDK/62 UP.Browser/6.2.0.1.103 (GUI) MMP/2.0''', False, {'''bmp''':True,'''brand_name''':'''Openwave''','''colors''':16777216,'''columns''':12,'''compactmidi''':True,'''imelody''':True,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':65535,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''OPWV-SDK/62''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''rows''':8,'''sender''':True,'''wav''':True}) +devices.devids['''opwv_sdk_ver1_sub6201185mmp1'''] = devclass(devices.devids['''opwv_sdk_ver1_sub6201103'''], '''opwv_sdk_ver1_sub6201185mmp1''', '''OPWV-SDK/62 UP.Browser/6.2.0.1.185 (GUI) MMP/1.0''', False, None) +devices.devids['''opwv_sdk_ver1_sub6201182mmp2'''] = devclass(devices.devids['''opwv_sdk_ver1_sub6201103'''], '''opwv_sdk_ver1_sub6201182mmp2''', '''OPWV-SDK/62 UP.Browser/6.2.0.1.185 (GUI) MMP/2.0''', False, None) +devices.devids['''opwv_sdk_ver1_sub6221208mmp1'''] = devclass(devices.devids['''opwv_sdk_ver1_sub6201103'''], '''opwv_sdk_ver1_sub6221208mmp1''', '''OPWV-SDK/62 UP.Browser/6.2.2.1.208 (GUI) MMP/1.0''', False, None) +devices.devids['''opwv_sdk_ver1_sub6221208mmp2'''] = devclass(devices.devids['''opwv_sdk_ver1_sub6201103'''], '''opwv_sdk_ver1_sub6221208mmp2''', '''OPWV-SDK/62 UP.Browser/6.2.2.1.208 (GUI) MMP/2.0''', False, None) +devices.devids['''opwv_sdk_ver1_sub702115'''] = devclass(devices.devids['''opwv_v7_generic'''], '''opwv_sdk_ver1_sub702115''', '''OPWV-SDK UP.Browser/7.0.2.115 (GUI) MMP/2.0''', False, {'''bmp''':True,'''brand_name''':'''Openwave''','''colors''':16777216,'''columns''':12,'''compactmidi''':True,'''downloadfun_support''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':120,'''max_data_rate''':9,'''midi_monophonic''':True,'''mmf''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':65535,'''mms_max_width''':120,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''OPWV-SDK/70''','''oma_support''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':120,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_mmf''':True,'''rows''':8,'''uaprof''':'''http://devgate2.openwave.com/uaprof/OPWVSDK70.xml''','''video''':True,'''video_mp4''':True,'''wav''':True}) +devices.devids['''opwv_sdk_ver1_sub702115s65'''] = devclass(devices.devids['''opwv_v7_generic'''], '''opwv_sdk_ver1_sub702115s65''', '''OPWV-SDK/S65 UP.Browser/7.0.2.115 (GUI) MMP/2.0''', False, None) +devices.devids['''opwv_sdk_ver1_sub7023119'''] = devclass(devices.devids['''opwv_sdk_ver1_sub702115'''], '''opwv_sdk_ver1_sub7023119''', '''OPWV-SDK UP.Browser/7.0.2.3.119 (GUI) MMP/2.0 Push/PO''', False, {'''chtml_display_accesskey''':True,'''max_data_rate''':9,'''max_image_height''':128,'''max_image_width''':113,'''midi_polyphonic''':True,'''model_name''':'''OPWV-SDK/7.0.2.3'''}) +devices.devids['''upbrowser_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''upbrowser_ver1''', '''UP.Browser/4.1.2a-XXXX''', False, None) +devices.devids['''tagtag_ver112'''] = devclass(devices.devids['''generic'''], '''tagtag_ver112''', '''TagTag emulator v1.12''', False, {'''colors''':4096,'''gif''':True,'''jpg''':True,'''max_deck_size''':10240,'''max_image_width''':170,'''png''':True}) +devices.devids['''argogroupwapdevice_ver1'''] = devclass(devices.devids['''generic'''], '''argogroupwapdevice_ver1''', '''ArgogroupWAPDevice''', False, None) +devices.devids['''argogroupwapdevice_ver1_sub10'''] = devclass(devices.devids['''argogroupwapdevice_ver1'''], '''argogroupwapdevice_ver1_sub10''', '''ArgogroupWAPDevice/1.0''', False, None) +devices.devids['''argogroupwapdevice_ver2'''] = devclass(devices.devids['''argogroupwapdevice_ver1'''], '''argogroupwapdevice_ver2''', '''ArgogroupWAPDevice/2.0''', False, None) +devices.devids['''nzphone_ver1'''] = devclass(devices.devids['''generic'''], '''nzphone_ver1''', '''NzPhone/0.1''', False, None) +devices.devids['''wapman_ver1'''] = devclass(devices.devids['''generic'''], '''wapman_ver1''', '''WAPman Version 1''', False, None) +devices.devids['''qwapper_ver1'''] = devclass(devices.devids['''generic'''], '''qwapper_ver1''', '''QWAPPER/1.0''', False, None) +devices.devids['''plms_wapbrowser_ver1'''] = devclass(devices.devids['''generic'''], '''plms_wapbrowser_ver1''', '''PLM's WapBrowser''', False, None) +devices.devids['''wapjag_virtual_wap_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''wapjag_virtual_wap_ver1''', '''WAPJAG Virtual WAP''', False, None) +devices.devids['''wapjag_virtual_wap_ver5'''] = devclass(devices.devids['''wapjag_virtual_wap_ver1'''], '''wapjag_virtual_wap_ver5''', '''WAPJAG Virtual WAP Device V5.01''', False, None) +devices.devids['''wapview_ver1'''] = devclass(devices.devids['''generic'''], '''wapview_ver1''', '''WapView 0''', False, None) +devices.devids['''wapview_ver1_sub000'''] = devclass(devices.devids['''wapview_ver1'''], '''wapview_ver1_sub000''', '''WapView 0.00''', False, None) +devices.devids['''wapsilon_ver2'''] = devclass(devices.devids['''generic'''], '''wapsilon_ver2''', '''Wapsilon/2 (www.wapsilon.com)''', False, None) +devices.devids['''wapsilon_ver2_sub1'''] = devclass(devices.devids['''wapsilon_ver2'''], '''wapsilon_ver2_sub1''', '''Wapsilon/2.1 (www.wapsilon.com)''', False, None) +devices.devids['''wapyeah_ver1'''] = devclass(devices.devids['''generic'''], '''wapyeah_ver1''', '''WapYeah''', False, None) +devices.devids['''wapyeah_ver1_sub10'''] = devclass(devices.devids['''wapyeah_ver1'''], '''wapyeah_ver1_sub10''', '''WapYeah Simulator 1.0''', False, None) +devices.devids['''wapalizer_ver1'''] = devclass(devices.devids['''generic'''], '''wapalizer_ver1''', '''Wapalizer/1''', False, None) +devices.devids['''wapalizer_ver1_sub10'''] = devclass(devices.devids['''wapalizer_ver1'''], '''wapalizer_ver1_sub10''', '''Wapalizer/1.0''', False, None) +devices.devids['''wapalizer_ver1_sub11'''] = devclass(devices.devids['''wapalizer_ver1'''], '''wapalizer_ver1_sub11''', '''Wapalizer/1.1''', False, None) +devices.devids['''wapalizer_ver1_sub11phonevalley'''] = devclass(devices.devids['''wapalizer_ver1'''], '''wapalizer_ver1_sub11phonevalley''', '''Wapalizer /1.1 Phonevalley''', False, None) +devices.devids['''wapalizer_ver1_sub12'''] = devclass(devices.devids['''wapalizer_ver1'''], '''wapalizer_ver1_sub12''', '''Wapalizer/1.2''', False, None) +devices.devids['''wapalizer_ver1_sub12s35i'''] = devclass(devices.devids['''wapalizer_ver1'''], '''wapalizer_ver1_sub12s35i''', '''Wapalizer/1.2 - Siemens s35i''', False, None) +devices.devids['''wapalizer_ver1_sub12gen'''] = devclass(devices.devids['''wapalizer_ver1'''], '''wapalizer_ver1_sub12gen''', '''Wapalizer/1.2 - unbranded''', False, None) +devices.devids['''wapalizer_ver1_submot6188'''] = devclass(devices.devids['''wapalizer_ver1'''], '''wapalizer_ver1_submot6188''', '''Wapalizer/1.2 - Motorola a6188''', False, None) +devices.devids['''wapalizer_ver1_subnokia7110'''] = devclass(devices.devids['''wapalizer_ver1'''], '''wapalizer_ver1_subnokia7110''', '''Wapalizer/1.2 - Nokia7110''', False, None) +devices.devids['''winwap_ppc_ver1'''] = devclass(devices.devids['''generic'''], '''winwap_ppc_ver1''', '''WinWAP for Pocket PC 1''', False, None) +devices.devids['''winwap_ppc_ver1_sub10'''] = devclass(devices.devids['''winwap_ppc_ver1'''], '''winwap_ppc_ver1_sub10''', '''WinWAP for Pocket PC 1.0''', False, None) +devices.devids['''winwap_ppc_ver1_sub11'''] = devclass(devices.devids['''winwap_ppc_ver1'''], '''winwap_ppc_ver1_sub11''', '''WinWAP for Pocket PC 1.1''', False, None) +devices.devids['''winwap_ver2'''] = devclass(devices.devids['''generic'''], '''winwap_ver2''', '''WinWAP 2''', False, None) +devices.devids['''winwap_ver1_sub22'''] = devclass(devices.devids['''winwap_ver2'''], '''winwap_ver1_sub22''', '''WinWAP 2.2 WML 1.1''', False, None) +devices.devids['''winwap_ver1_sub23light'''] = devclass(devices.devids['''winwap_ver2'''], '''winwap_ver1_sub23light''', '''WinWAP 2.3 Light''', False, None) +devices.devids['''winwap_ver1_sub23pro'''] = devclass(devices.devids['''winwap_ver2'''], '''winwap_ver1_sub23pro''', '''WinWAP 2.3 PRO''', False, None) +devices.devids['''winwap_ce_generic'''] = devclass(devices.devids['''generic'''], '''winwap_ce_generic''', '''WinWAP-CE/1.2''', False, {'''built_in_back_button_support''':True,'''colors''':256,'''gif''':True,'''https_support''':True,'''image_as_link_support''':True,'''jpg''':True,'''max_deck_size''':8192,'''max_no_of_bookmarks''':256,'''max_no_of_connection_settings''':128,'''max_url_length_bookmark''':1024,'''max_url_length_cached_page''':1024,'''max_url_length_homepage''':1024,'''max_url_length_in_requests''':1024,'''png''':True,'''softkey_support''':True,'''wrap_mode_support''':True}) +devices.devids['''winwap_ce_ver12_subbe300'''] = devclass(devices.devids['''winwap_ce_generic'''], '''winwap_ce_ver12_subbe300''', '''WinWAP-CE/1.2 (CASIO BE-300)''', False, None) +devices.devids['''winwap_ce_ver13_subppc2002'''] = devclass(devices.devids['''winwap_ce_generic'''], '''winwap_ce_ver13_subppc2002''', '''WinWAP/1.3 (1.3.0.0;WinCE;PPC2000)''', False, None) +devices.devids['''winwap_ce_ver13_subppc2003'''] = devclass(devices.devids['''winwap_ce_generic'''], '''winwap_ce_ver13_subppc2003''', '''WinWAP/1.3 (1.3.0.0;WinCE;PPC2003)''', False, None) +devices.devids['''winwap_ce_ver13_sub1312ppc2003'''] = devclass(devices.devids['''winwap_ce_generic'''], '''winwap_ce_ver13_sub1312ppc2003''', '''WinWAP/1.3 (1.3.1.2;WinCE;PPC2003)''', False, None) +devices.devids['''winwap_ce_ver13_sub1313ppc2002'''] = devclass(devices.devids['''winwap_ce_generic'''], '''winwap_ce_ver13_sub1313ppc2002''', '''WinWAP/1.3 (1.3.1.3;WinCE;PPC2000)''', False, None) +devices.devids['''winwap_ver3'''] = devclass(devices.devids['''generic'''], '''winwap_ver3''', '''WinWAP 3''', False, {'''brand_name''':'''SlobTrot Software''','''built_in_back_button_support''':True,'''colors''':256,'''gif''':True,'''https_support''':True,'''image_as_link_support''':True,'''jpg''':True,'''max_deck_size''':65536,'''max_no_of_bookmarks''':2048,'''max_no_of_connection_settings''':256,'''max_url_length_bookmark''':1024,'''max_url_length_cached_page''':1024,'''max_url_length_homepage''':1024,'''max_url_length_in_requests''':2048,'''model_name''':'''WinWAP Pro 3''','''png''':True,'''resolution_height''':240,'''resolution_width''':480,'''rows''':15,'''softkey_support''':True,'''total_cache_disable_support''':True,'''wrap_mode_support''':True}) +devices.devids['''winwap_ver3_sub30pro'''] = devclass(devices.devids['''winwap_ver3'''], '''winwap_ver3_sub30pro''', '''WinWAP 3.0 PRO''', False, None) +devices.devids['''winwap_ver3_sub3031upg1'''] = devclass(devices.devids['''winwap_ver3'''], '''winwap_ver3_sub3031upg1''', '''WinWAP 3.0 PRO 3.1-UPG1 UP''', False, None) +devices.devids['''winwap_ver3_sub30304179'''] = devclass(devices.devids['''winwap_ver3'''], '''winwap_ver3_sub30304179''', '''WinWAP 3.0 PRO (3.0.4.179)''', False, None) +devices.devids['''winwap_ver3_sub30304179square'''] = devclass(devices.devids['''winwap_ver3'''], '''winwap_ver3_sub30304179square''', '''WinWAP 3.0 PRO [3.0.4.179]''', False, None) +devices.devids['''winwap_ver31'''] = devclass(devices.devids['''winwap_ver3'''], '''winwap_ver31''', '''WinWAP-PRO/3.1''', False, {'''greyscale''':True,'''model_name''':'''WinWAP Pro 3.1''','''png''':False}) +devices.devids['''winwap_ver31_sub31315190'''] = devclass(devices.devids['''winwap_ver31'''], '''winwap_ver31_sub31315190''', '''WinWAP-PRO/3.1 (3.1.5.190)''', False, None) +devices.devids['''winwap_ver31_sub31316191'''] = devclass(devices.devids['''winwap_ver31'''], '''winwap_ver31_sub31316191''', '''WinWAP-PRO/3.1 (3.1.6.191)''', False, None) +devices.devids['''winwap_ver31_sub31316192'''] = devclass(devices.devids['''winwap_ver31'''], '''winwap_ver31_sub31316192''', '''WinWAP-PRO/3.1 (3.1.6.192)''', False, None) +devices.devids['''winwap_ver31_sub31317193'''] = devclass(devices.devids['''winwap_ver31'''], '''winwap_ver31_sub31317193''', '''WinWAP-PRO/3.1 (3.1.7.193)''', False, None) +devices.devids['''winwap_ver3_sub32123'''] = devclass(devices.devids['''winwap_ver3'''], '''winwap_ver3_sub32123''', '''WinWAP/3.2 (3.2.1.23; Win32)''', False, None) +devices.devids['''winwap_ver3_sub32124'''] = devclass(devices.devids['''winwap_ver3'''], '''winwap_ver3_sub32124''', '''WinWAP/3.2 (3.2.1.24; Win32)''', False, None) +devices.devids['''winwap_ver3_sub32125'''] = devclass(devices.devids['''winwap_ver3'''], '''winwap_ver3_sub32125''', '''WinWAP/3.2 (3.2.1.25; Win32)''', False, {'''menu_with_select_element_recommended''':True,'''xhtml_supports_table_for_layout''':True}) +devices.devids['''winwap_ver3_sub32128'''] = devclass(devices.devids['''winwap_ver3'''], '''winwap_ver3_sub32128''', '''WinWAP/3.2 (3.2.1.28; Win32)''', False, None) +devices.devids['''winwap_spbe_ver12'''] = devclass(devices.devids['''generic'''], '''winwap_spbe_ver12''', '''WinWAP-SPBE/1.2 (1.2.0.17;Win32)''', False, {'''brand_name''':'''WinWAP Technologies''','''built_in_back_button_support''':True,'''image_as_link_support''':True,'''model_name''':'''WinWAP Smarthpone Browser Emulator''','''resolution_height''':196,'''resolution_width''':193,'''rows''':15,'''softkey_support''':True,'''table_support''':False,'''wml_1_2''':True,'''wml_1_3''':True,'''wrap_mode_support''':True}) +devices.devids['''winwap_xl_ver12'''] = devclass(devices.devids['''winwap_ver3'''], '''winwap_xl_ver12''', '''WinWAP-XL/1.2''', False, None) +devices.devids['''winwap_x_ver210'''] = devclass(devices.devids['''winwap_ver3'''], '''winwap_x_ver210''', '''WinWAP-X/2.10''', False, None) +devices.devids['''winwap_x_ver212'''] = devclass(devices.devids['''winwap_ver3'''], '''winwap_x_ver212''', '''WinWAP-X/2.12''', False, None) +devices.devids['''ce_ver1'''] = devclass(devices.devids['''generic'''], '''ce_ver1''', '''CE''', False, None) +devices.devids['''g1_up4_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''g1_up4_ver1''', '''G1 UP/4''', False, None) +devices.devids['''motorola_voxgateway2_ver1'''] = devclass(devices.devids['''generic'''], '''motorola_voxgateway2_ver1''', '''Motorola VoxGateway/2.0''', False, None) +devices.devids['''waptor_ver1'''] = devclass(devices.devids['''generic'''], '''waptor_ver1''', '''Waptor 1.0''', False, None) +devices.devids['''wince_ver1'''] = devclass(devices.devids['''generic'''], '''wince_ver1''', '''WinCE''', False, None) +devices.devids['''wmlb_ver1'''] = devclass(devices.devids['''generic'''], '''wmlb_ver1''', '''wmlb''', False, None) +devices.devids['''yourwap_com_ver1'''] = devclass(devices.devids['''generic'''], '''yourwap_com_ver1''', '''YOURWAP.com Wireless Companion''', False, None) +devices.devids['''yourwap_ver1'''] = devclass(devices.devids['''generic'''], '''yourwap_ver1''', '''YourWap/''', False, None) +devices.devids['''yourwap_ver1_sub091'''] = devclass(devices.devids['''yourwap_ver1'''], '''yourwap_ver1_sub091''', '''YourWap/0.91''', False, None) +devices.devids['''yourwap_ver1_sub116'''] = devclass(devices.devids['''yourwap_ver1'''], '''yourwap_ver1_sub116''', '''YourWap/1.16''', False, None) +devices.devids['''yourwap_ver1_subalcaviewdb'''] = devclass(devices.devids['''yourwap_ver1'''], '''yourwap_ver1_subalcaviewdb''', '''YourWap Alcatel View DB/2.63''', False, None) +devices.devids['''yourwap_ver1_subr320'''] = devclass(devices.devids['''ericsson_r320_ver1'''], '''yourwap_ver1_subr320''', '''YourWap Ericsson 320/2.63''', False, None) +devices.devids['''yourwap_ver1_sub380262'''] = devclass(devices.devids['''ericsson_r380_ver2'''], '''yourwap_ver1_sub380262''', '''YourWap Ericsson 380/2.62''', False, {'''max_data_rate''':9}) +devices.devids['''yourwap_ver1_subr380263'''] = devclass(devices.devids['''ericsson_r380_ver2'''], '''yourwap_ver1_subr380263''', '''YourWap Ericsson 380/2.63''', False, {'''max_data_rate''':9}) +devices.devids['''yourwap_ver1_sub7389263'''] = devclass(devices.devids['''yourwap_ver1'''], '''yourwap_ver1_sub7389263''', '''YourWap Motorola 7389/2.63''', False, None) +devices.devids['''yourwap_ver1_subnokia6210262'''] = devclass(devices.devids['''nokia_6210_ver1'''], '''yourwap_ver1_subnokia6210262''', '''YourWap Nokia 6210/2.62''', False, None) +devices.devids['''yourwap_ver1_subnokia6210263'''] = devclass(devices.devids['''nokia_6210_ver1'''], '''yourwap_ver1_subnokia6210263''', '''YourWap Nokia 6210/2.63''', False, None) +devices.devids['''yourwap_ver1_subnokia6210252'''] = devclass(devices.devids['''nokia_6210_ver1'''], '''yourwap_ver1_subnokia6210252''', '''YourWap Nokia 6210/2.52''', False, None) +devices.devids['''yourwap_ver1_subnokia7110260'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''yourwap_ver1_subnokia7110260''', '''YourWap Nokia7110/2.60''', False, None) +devices.devids['''yourwap_ver1_subnokia7110262'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''yourwap_ver1_subnokia7110262''', '''YourWap Nokia7110/2.62''', False, None) +devices.devids['''yourwap_ver1_subnokia7110263'''] = devclass(devices.devids['''nokia_7110_ver1'''], '''yourwap_ver1_subnokia7110263''', '''YourWap Nokia7110/2.63''', False, None) +devices.devids['''yourwap_ver1_subsiec35i'''] = devclass(devices.devids['''sie_c3i_ver1'''], '''yourwap_ver1_subsiec35i''', '''YourWap Siemens C35i/2.63''', False, None) +devices.devids['''yourwap_ver1_subsieic35i'''] = devclass(devices.devids['''sie_ic35_ver1'''], '''yourwap_ver1_subsieic35i''', '''YourWap Siemens IC35i/2.63''', False, None) +devices.devids['''yourwap_ver1_sub35260'''] = devclass(devices.devids['''yourwap_ver1'''], '''yourwap_ver1_sub35260''', '''YourWap Siemens S35i/2.60''', False, None) +devices.devids['''yourwap_ver1_sub35263'''] = devclass(devices.devids['''yourwap_ver1'''], '''yourwap_ver1_sub35263''', '''YourWap Siemens S35i/2.63''', False, None) +devices.devids['''yourwap_ver1_subsies40263'''] = devclass(devices.devids['''sie_s40_ver1'''], '''yourwap_ver1_subsies40263''', '''YourWap Siemens S40/2.63''', False, None) +devices.devids['''yourwap_ver1_subsie45260'''] = devclass(devices.devids['''sie_sl45_ver1'''], '''yourwap_ver1_subsie45260''', '''YourWap Siemens SL45/2.60''', False, None) +devices.devids['''yourwap_ver1_subsie45262'''] = devclass(devices.devids['''sie_sl45_ver1'''], '''yourwap_ver1_subsie45262''', '''YourWap Siemens SL45/2.62''', False, None) +devices.devids['''yourwap_ver1_subsiesl45'''] = devclass(devices.devids['''sie_sl45_ver1'''], '''yourwap_ver1_subsiesl45''', '''YourWap Siemens SL45/2.63''', False, None) +devices.devids['''yourwap_ver1_subcmdz5'''] = devclass(devices.devids['''sony_cmd_z5'''], '''yourwap_ver1_subcmdz5''', '''YourWap Sony Cmd z5/2.63''', False, None) +devices.devids['''yourwap_ver1_sub263'''] = devclass(devices.devids['''yourwap_ver1'''], '''yourwap_ver1_sub263''', '''YourWap Trium Geo/2.63''', False, None) +devices.devids['''zetor_ver1'''] = devclass(devices.devids['''generic'''], '''zetor_ver1''', '''Zetor''', False, None) +devices.devids['''sendo_w622_ver1'''] = devclass(devices.devids['''generic'''], '''sendo_w622_ver1''', '''120770-SendoW622''', False, {'''built_in_camera''':True,'''colors''':256,'''columns''':20,'''compactmidi''':True,'''digiplug''':True,'''directdownload_support''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''max_image_height''':213,'''max_image_width''':176,'''mld''':True,'''mms_max_height''':150,'''mms_max_size''':50000,'''mms_max_width''':174,'''mms_png''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':223,'''resolution_width''':177,'''ringtone''':True,'''ringtone_compactmidi''':True,'''ringtone_digiplug''':True,'''ringtone_voices''':16,'''rows''':10,'''sender''':True,'''smf''':True,'''wap_push_support''':True,'''xhtml_support_level''':2}) +devices.devids['''sendo_w622_ver1_sub226h12'''] = devclass(devices.devids['''sendo_w622_ver1'''], '''sendo_w622_ver1_sub226h12''', '''SendoW622/226-H-12''', False, None) +devices.devids['''pirelli_d910'''] = devclass(devices.devids['''generic'''], '''pirelli_d910''', '''Pirelli D910.0.3.99c FS_D910.0.2.81_ACR''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Pirelli-Arcor''','''colors''':65536,'''columns''':18,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':131072,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':204800,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''DH910/DP-L10''','''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_wav''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.arcor.de/home/redir.php/UAProfile.XML''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''wapaka_ver1'''] = devclass(devices.devids['''generic'''], '''wapaka_ver1''', '''Wapaka/03''', False, {'''access_key_support''':True,'''built_in_back_button_support''':True,'''deck_prefetch_support''':True,'''gif''':True,'''greyscale''':True,'''https_detectable''':True,'''icons_on_menu_items_support''':True,'''image_as_link_support''':True,'''insert_br_element_after_widget_recommended''':True,'''jpg''':True,'''max_deck_size''':0,'''max_url_length_homepage''':255,'''max_url_length_in_requests''':255,'''menu_with_select_element_recommended''':True,'''numbered_menus''':True,'''png''':True,'''proportional_font''':True,'''softkey_support''':True,'''total_cache_disable_support''':True,'''wap_push_support''':True,'''wrap_mode_support''':True}) +devices.devids['''wapaka_ver1_sub0311'''] = devclass(devices.devids['''wapaka_ver1'''], '''wapaka_ver1_sub0311''', '''Wapaka/03.11''', False, None) +devices.devids['''wapaka_ver1_sub0317'''] = devclass(devices.devids['''wapaka_ver1'''], '''wapaka_ver1_sub0317''', '''Wapaka/03.17 (Windows XP; 5.1; x86) DAW/1.0 Symb1/1.00 UP/4.1.9''', False, None) +devices.devids['''wapaka_ver1_sub0319'''] = devclass(devices.devids['''wapaka_ver1_sub0311'''], '''wapaka_ver1_sub0319''', '''Wapaka/03.19 (Linux; 2.6.10-3mdk; i386) DAW/1.0 Symb1/1.00 UP/4.1.9''', False, None) +devices.devids['''wapaka_ver1_sub0320'''] = devclass(devices.devids['''wapaka_ver1_sub0311'''], '''wapaka_ver1_sub0320''', '''Wapaka/03.20 (Windows XP; 5.1; x86) DAW/1.0 Symb1/1.00 UP/4.1.9''', False, None) +devices.devids['''waprunner_ver1'''] = devclass(devices.devids['''generic'''], '''waprunner_ver1''', '''WapRunner''', False, None) +devices.devids['''waprunner_ver1_submmef20'''] = devclass(devices.devids['''waprunner_ver1'''], '''waprunner_ver1_submmef20''', '''WapRunner (compatible; vnd.wap.wml; MMEF20; Cellphone; Sony; Ericsson; Nokia; Siemens; Motorola)''', False, None) +devices.devids['''goodaccess_ver1'''] = devclass(devices.devids['''generic'''], '''goodaccess_ver1''', '''GoodAccess''', False, None) +devices.devids['''goodaccess_ver1_sub30552desktop'''] = devclass(devices.devids['''goodaccess_ver1'''], '''goodaccess_ver1_sub30552desktop''', '''GoodAccess 3.0.5.52 (Desktop 5.1)''', False, None) +devices.devids['''goodaccess_ver1_sub30552palmos'''] = devclass(devices.devids['''goodaccess_ver1'''], '''goodaccess_ver1_sub30552palmos''', '''GoodAccess 3.0.5.52 (PalmOS 5.1)''', False, {'''brand_name''':'''Handspring'''}) +devices.devids['''goodaccess_ver1_sub3806desktop'''] = devclass(devices.devids['''goodaccess_ver1'''], '''goodaccess_ver1_sub3806desktop''', '''GoodAccess 3.8.0.6 Beta (Desktop; GoodLink; OS 5.1)''', False, None) +devices.devids['''goodaccess_ver1_sub3806pocketpc'''] = devclass(devices.devids['''goodaccess_ver1'''], '''goodaccess_ver1_sub3806pocketpc''', '''GoodAccess 3.8.0.6 Beta (PocketPC; GoodLink; OS 4.4)''', False, None) +devices.devids['''goodaccess_ver4'''] = devclass(devices.devids['''goodaccess_ver1'''], '''goodaccess_ver4''', '''GoodAccess 4''', False, None) +devices.devids['''goodaccess_ver4_sub40013desktop51'''] = devclass(devices.devids['''goodaccess_ver4'''], '''goodaccess_ver4_sub40013desktop51''', '''GoodAccess 4.0.0.13 (Desktop 5.1)''', False, None) +devices.devids['''goodaccess_ver4_sub40027ppc'''] = devclass(devices.devids['''goodaccess_ver4'''], '''goodaccess_ver4_sub40027ppc''', '''GoodAccess 4.0.0.27 (PocketPC 4.4)''', False, None) +devices.devids['''goodaccess_ver4_sub40035palm'''] = devclass(devices.devids['''goodaccess_ver4'''], '''goodaccess_ver4_sub40035palm''', '''GoodAccess 4.0.0.35 (PalmOS 5.1)''', False, None) +devices.devids['''goodaccess_ver1_submsiepalmos'''] = devclass(devices.devids['''generic_xhtml'''], '''goodaccess_ver1_submsiepalmos''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; GoodAccess 3.7.0.9 (PalmOS 5.1))''', False, None) +devices.devids['''goodaccess_ver1_submsiepocketpc'''] = devclass(devices.devids['''generic_xhtml'''], '''goodaccess_ver1_submsiepocketpc''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; GoodAccess 3.7.0.9 (PocketPC 4.4))''', False, None) +devices.devids['''goodinfo_ver1'''] = devclass(devices.devids['''generic'''], '''goodinfo_ver1''', '''GoodInfo''', False, None) +devices.devids['''goodinfo_ver1_sub3806'''] = devclass(devices.devids['''goodinfo_ver1'''], '''goodinfo_ver1_sub3806''', '''GoodInfo 3.8.0.6 Beta (PocketPC; GoodLink; OS 4.4)''', False, None) +devices.devids['''thinflow_nokia_client_ver1'''] = devclass(devices.devids['''nokia_generic'''], '''thinflow_nokia_client_ver1''', '''Nokia_compliant_Thinflow_Client''', False, None) +devices.devids['''mobilsurf_ver1'''] = devclass(devices.devids['''generic'''], '''mobilsurf_ver1''', '''Mobilsurf/1.0''', False, None) +devices.devids['''mobilsurf_ver1_sub8310'''] = devclass(devices.devids['''nokia_8310_ver1'''], '''mobilsurf_ver1_sub8310''', '''Mobilsurf/1.0 - Nokia 8310''', False, None) +devices.devids['''esato_ericssont68_ver1'''] = devclass(devices.devids['''ericsson_t68_ver1'''], '''esato_ericssont68_ver1''', '''EricssonT68/T68 emulator from esato.com''', False, {'''max_data_rate''':40}) +devices.devids['''abachobot_ver1'''] = devclass(devices.devids['''generic'''], '''abachobot_ver1''', '''AbachoBOT''', False, None) +devices.devids['''acoonwap_ver1'''] = devclass(devices.devids['''generic'''], '''acoonwap_ver1''', '''AcoonWap Robot v1.00 (www.acoon.de)''', False, None) +devices.devids['''anywhereyougocom_ver1'''] = devclass(devices.devids['''generic'''], '''anywhereyougocom_ver1''', '''AnywhereYouGo.com Online Testing Tool v1.0''', False, None) +devices.devids['''aptus_ver1'''] = devclass(devices.devids['''generic'''], '''aptus_ver1''', '''Aptus WAP.INFO.PL search engine''', False, None) +devices.devids['''architextspider_ver1'''] = devclass(devices.devids['''generic'''], '''architextspider_ver1''', '''ArchitextSpider''', False, None) +devices.devids['''brvwap_ver1'''] = devclass(devices.devids['''generic'''], '''brvwap_ver1''', '''brvWAP v0.9''', False, None) +devices.devids['''bumblebeerelevarecom_ver1'''] = devclass(devices.devids['''generic'''], '''bumblebeerelevarecom_ver1''', '''bumblebee@relevare.com''', False, None) +devices.devids['''crawlerboy'''] = devclass(devices.devids['''generic'''], '''crawlerboy''', '''CrawlerBoy Pinpoint.com''', False, None) +devices.devids['''fast_wireless_crawler_ver1'''] = devclass(devices.devids['''generic'''], '''fast_wireless_crawler_ver1''', '''EricssonR320/R1A (Fast Wireless Crawler)''', False, None) +devices.devids['''fetchpage_ver1'''] = devclass(devices.devids['''generic'''], '''fetchpage_ver1''', '''fetchpage.cgi/0.53''', False, None) +devices.devids['''libwww_perl_ver1'''] = devclass(devices.devids['''generic'''], '''libwww_perl_ver1''', '''libwww-perl''', False, {'''device_claims_web_support''':True,'''is_wireless_device''':False}) +devices.devids['''libwww_perl_ver1_sub547'''] = devclass(devices.devids['''libwww_perl_ver1'''], '''libwww_perl_ver1_sub547''', '''libwww-perl/5.47''', False, None) +devices.devids['''libwww_perl_ver1_sub5803'''] = devclass(devices.devids['''libwww_perl_ver1'''], '''libwww_perl_ver1_sub5803''', '''libwww-perl/5.803''', False, None) +devices.devids['''m_crawler_ver1'''] = devclass(devices.devids['''generic'''], '''m_crawler_ver1''', '''m-crawler/1.0 WAP''', False, None) +devices.devids['''googlebot_ver1'''] = devclass(devices.devids['''generic'''], '''googlebot_ver1''', '''Nokia-WAPToolkit/1.2 googlebot(at)googlebot.com''', False, None) +devices.devids['''m_crawler_ver1_sub23'''] = devclass(devices.devids['''m_crawler_ver1'''], '''m_crawler_ver1_sub23''', '''m-crawler/2.3 WAP (m-crawler@m-central.com; http://m-central.com)''', False, None) +devices.devids['''m_crawler_ver1_sub25'''] = devclass(devices.devids['''m_crawler_ver1'''], '''m_crawler_ver1_sub25''', '''m-crawler/2.5 WAP (m-crawler@m-find.com; http://m-find.com)''', False, None) +devices.devids['''sammy_ver1'''] = devclass(devices.devids['''generic'''], '''sammy_ver1''', '''Sammy the WAPworker.co.uk WAP Search Agent''', False, None) +devices.devids['''scooter_ver1'''] = devclass(devices.devids['''generic'''], '''scooter_ver1''', '''Scooter-1.0''', False, None) +devices.devids['''scooter_ver1_sub32ex'''] = devclass(devices.devids['''scooter_ver1'''], '''scooter_ver1_sub32ex''', '''Scooter-3.2.EX''', False, None) +devices.devids['''scooter_ver1_subw310'''] = devclass(devices.devids['''scooter_ver1'''], '''scooter_ver1_subw310''', '''Scooter-W3-1.0''', False, None) +devices.devids['''scooter_ver1_subw312'''] = devclass(devices.devids['''scooter_ver1'''], '''scooter_ver1_subw312''', '''Scooter-W3.1.2''', False, None) +devices.devids['''scooterwap_ver1'''] = devclass(devices.devids['''generic'''], '''scooterwap_ver1''', '''Scooter/WAP''', False, None) +devices.devids['''scooterwap_ver3'''] = devclass(devices.devids['''scooterwap_ver1'''], '''scooterwap_ver3''', '''Scooter-3.0.WAP''', False, None) +devices.devids['''jbrowser_ver1'''] = devclass(devices.devids['''generic'''], '''jbrowser_ver1''', '''jBrowser''', False, None) +devices.devids['''jbrowser_desktop_ver1'''] = devclass(devices.devids['''jbrowser_ver1'''], '''jbrowser_desktop_ver1''', '''jBrowser-Desktop''', False, None) +devices.devids['''jbrowser_j2me_ver1'''] = devclass(devices.devids['''jbrowser_ver1'''], '''jbrowser_j2me_ver1''', '''jBrowser-J2ME''', False, None) +devices.devids['''jbrowser_ver1_submidp10'''] = devclass(devices.devids['''jbrowser_ver1'''], '''jbrowser_ver1_submidp10''', '''jBrowser/J2ME Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''jbrowser_wap_ver1'''] = devclass(devices.devids['''jbrowser_ver1'''], '''jbrowser_wap_ver1''', '''jBrowser-WAP''', False, None) +devices.devids['''jbrowser_wap_ppc_ver1_subppc'''] = devclass(devices.devids['''jbrowser_wap_ver1'''], '''jbrowser_wap_ppc_ver1_subppc''', '''jBrowser-WAP (PPC)''', False, None) +devices.devids['''jbrowser_wap_ver1_sub101'''] = devclass(devices.devids['''jbrowser_wap_ver1'''], '''jbrowser_wap_ver1_sub101''', '''jBrowser-WAP/1.0.1''', False, None) +devices.devids['''jbrowser_wap_ver1_sub104'''] = devclass(devices.devids['''jbrowser_wap_ver1'''], '''jbrowser_wap_ver1_sub104''', '''jBrowser-WAP/1.0.4''', False, None) +devices.devids['''jbrowser_wap_ver1_sub105'''] = devclass(devices.devids['''jbrowser_wap_ver1'''], '''jbrowser_wap_ver1_sub105''', '''jBrowser-WAP/1.0.5''', False, None) +devices.devids['''jbrowser_wap_ver1_sub106'''] = devclass(devices.devids['''jbrowser_wap_ver1'''], '''jbrowser_wap_ver1_sub106''', '''jBrowser-WAP/1.0.6''', False, None) +devices.devids['''jbrowser_wap_ver1_sub107'''] = devclass(devices.devids['''jbrowser_wap_ver1'''], '''jbrowser_wap_ver1_sub107''', '''jBrowser-WAP/1.0.7''', False, None) +devices.devids['''jbrowser_wap_ver1_sub108'''] = devclass(devices.devids['''jbrowser_wap_ver1'''], '''jbrowser_wap_ver1_sub108''', '''jBrowser-WAP/1.0.8''', False, None) +devices.devids['''jbrowser_wap_ver2'''] = devclass(devices.devids['''jbrowser_wap_ver1'''], '''jbrowser_wap_ver2''', '''jBrowser-WAP 2''', False, None) +devices.devids['''jbrowser_wap_ver2_subppc'''] = devclass(devices.devids['''jbrowser_wap_ver2'''], '''jbrowser_wap_ver2_subppc''', '''jBrowser-WAP 2.0 (PPC)''', False, None) +devices.devids['''jbrowser_wap_ver2_subppcdouble'''] = devclass(devices.devids['''jbrowser_wap_ver2'''], '''jbrowser_wap_ver2_subppcdouble''', '''jBrowser-WAP 2.0 (PPC), jBrowser-WAP 2.0 (PPC)''', False, None) +devices.devids['''jbrowser_wap_ver3'''] = devclass(devices.devids['''jbrowser_wap_ver2'''], '''jbrowser_wap_ver3''', '''jBrowser-WAP 3''', False, None) +devices.devids['''jbrowser_wap_ver3_sub303'''] = devclass(devices.devids['''jbrowser_wap_ver3'''], '''jbrowser_wap_ver3_sub303''', '''jBrowser-WAP 3.0.3''', False, None) +devices.devids['''jbrowser10_ver1'''] = devclass(devices.devids['''jbrowser_ver1'''], '''jbrowser10_ver1''', '''jBrowser1.0''', False, None) +devices.devids['''jbrowser10_ver1_sub10'''] = devclass(devices.devids['''jbrowser10_ver1'''], '''jbrowser10_ver1_sub10''', '''jBrowser1.0 , jBrowser1.0''', False, None) +devices.devids['''jbrowser_wap_ver1_subsavaje10'''] = devclass(devices.devids['''jbrowser_wap_ver1'''], '''jbrowser_wap_ver1_subsavaje10''', '''jBrowser1.0/Savaje1.0''', False, None) +devices.devids['''jbrowser_ver2'''] = devclass(devices.devids['''jbrowser_ver1'''], '''jbrowser_ver2''', '''jBrowser 2.0''', False, None) +devices.devids['''jbrowser_ver2_subwap207'''] = devclass(devices.devids['''jbrowser_ver2'''], '''jbrowser_ver2_subwap207''', '''jBrowser2.07-WAP, jBrowser2.07-WAP''', False, None) +devices.devids['''jbrowser_ver3'''] = devclass(devices.devids['''jbrowser_ver1'''], '''jbrowser_ver3''', '''jBrowser 3.0''', False, None) +devices.devids['''jbrowser_ver3_subppc'''] = devclass(devices.devids['''jbrowser_ver3'''], '''jbrowser_ver3_subppc''', '''jBrowser3.0-PPC''', False, None) +devices.devids['''jbrowser_ver3_sub30ppc'''] = devclass(devices.devids['''jbrowser_ver3'''], '''jbrowser_ver3_sub30ppc''', '''jBrowser3.0-PPC, jBrowser3.0-PPC''', False, None) +devices.devids['''jbrowser_ver3_sub_savaje201'''] = devclass(devices.devids['''jbrowser_ver3'''], '''jbrowser_ver3_sub_savaje201''', '''jBrowser 3.0/Savaje 2.0/1''', False, None) +devices.devids['''jbrowser_ver3_sub_savaje201bis'''] = devclass(devices.devids['''jbrowser_ver3'''], '''jbrowser_ver3_sub_savaje201bis''', '''jBrowser 3.0/Savaje 2.0/1, jBrowser 3.0/Savaje 2.0/1''', False, None) +devices.devids['''jbrowser_ver1_submio8380'''] = devclass(devices.devids['''jbrowser_ver1'''], '''jbrowser_ver1_submio8380''', '''jBrowser/SP/1.0 MIO/8380 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''jbrowser_ver1_submio8380double'''] = devclass(devices.devids['''jbrowser_ver1'''], '''jbrowser_ver1_submio8380double''', '''jBrowser/SP/1.0 MIO/8380 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.0, jBrowser/SP/1.0 MIO/8380 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''jbrowser_ver1_submio8380r44'''] = devclass(devices.devids['''jbrowser_ver1'''], '''jbrowser_ver1_submio8380r44''', '''jBrowser/SP/1.0 MIO8380/R44 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''jbrowser_ver1_submio8380r44double'''] = devclass(devices.devids['''jbrowser_ver1'''], '''jbrowser_ver1_submio8380r44double''', '''jBrowser/SP/1.0 MIO8380/R44 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.0, jBrowser/SP/1.0 MIO8380/R44 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''jbrowser_ver1_submio8380msie401'''] = devclass(devices.devids['''jbrowser_ver1'''], '''jbrowser_ver1_submio8380msie401''', '''jBrowser/SP/1.0 MIO8380/R44 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220)''', False, {'''resolution_height''':220,'''resolution_width''':176}) +devices.devids['''jemulator_ver1'''] = devclass(devices.devids['''generic'''], '''jemulator_ver1''', '''jEmulator''', False, None) +devices.devids['''generic_web_browser'''] = devclass(devices.devids['''generic'''], '''generic_web_browser''', '''Mozilla/4.0''', False, {'''bmp''':True,'''chtml_table_support''':True,'''colors''':1024,'''columns''':120,'''device_claims_web_support''':True,'''gif''':True,'''gif_animated''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''https_detectable''':True,'''https_support''':True,'''is_wireless_device''':False,'''jpg''':True,'''max_deck_size''':50000,'''max_image_height''':600,'''max_image_width''':600,'''png''':True,'''preferred_markup''':'''html_web_4_0''','''resolution_height''':300,'''resolution_width''':770,'''rows''':200,'''wbmp''':False,'''wml_1_1''':False,'''xhtml_file_upload''':'''supported''','''xhtml_honors_bgcolor''':True,'''xhtml_select_as_dropdown''':True,'''xhtml_select_as_popup''':True,'''xhtml_select_as_radiobutton''':True,'''xhtml_support_level''':4,'''xhtml_supports_file_upload''':True,'''xhtml_supports_forms_in_table''':True,'''xhtmlmp_preferred_mime_type''':'''text/html'''}) +devices.devids['''webpro_ver3'''] = devclass(devices.devids['''generic_web_browser'''], '''webpro_ver3''', '''Mozilla/4.76 [en] (PalmOS; U; WebPro3.0''', True, {'''ajax_support_javascript''':True,'''brand_name''':'''Palm''','''colors''':65536,'''is_wireless_device''':True,'''max_image_height''':300,'''max_image_width''':300,'''model_name''':'''Tungsten T3''','''resolution_height''':320,'''resolution_width''':320,'''xhtml_preferred_charset''':'''iso8859'''}) +devices.devids['''mozilla_ver1_sub21'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla_ver1_sub21''', '''Mozilla/1.22 (compatible; MSIE 5.01; PalmOS 3.0) EudoraWeb 2.1''', False, None) +devices.devids['''webpro_ver3_subarz1'''] = devclass(devices.devids['''webpro_ver3'''], '''webpro_ver3_subarz1''', '''Mozilla/4.76 [en] (PalmOS; U; WebPro3.0; Palm-Arz1)''', False, None) +devices.devids['''webpro_ver3_sub301arz1'''] = devclass(devices.devids['''webpro_ver3'''], '''webpro_ver3_sub301arz1''', '''Mozilla/4.76 [en] (PalmOS; U; WebPro/3.0.1a; Palm-Arz1)''', False, None) +devices.devids['''webpro_ver3_sub301b_palmmt64'''] = devclass(devices.devids['''webpro_ver3'''], '''webpro_ver3_sub301b_palmmt64''', '''Mozilla/4.76 [en] (PalmOS; U; WebPro/3.0.1b; palm-MT64)''', True, {'''j2me_bits_per_pixel''':16,'''j2me_cldc_1_0''':True,'''j2me_heap_size''':4194304,'''j2me_http''':True,'''j2me_https''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':300,'''j2me_screen_width''':300,'''j2me_socket''':True,'''j2me_storage_size''':53477376,'''j2me_wav''':True,'''model_name''':'''Tungsten C'''}) +devices.devids['''mozilla_ver5'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla_ver5''', '''Mozilla/5.0''', False, None) +devices.devids['''webpro_ver3_subtungstenc'''] = devclass(devices.devids['''webpro_ver3_sub301b_palmmt64'''], '''webpro_ver3_subtungstenc''', '''Mozilla/4.76 (compatible; MSIE 6.0; U; Windows 95; PalmSource; PalmOS; WebPro; Tungsten Proxyless 1.1 320x320x16)''', False, None) +devices.devids['''w3c_ddc_ver1'''] = devclass(devices.devids['''generic'''], '''w3c_ddc_ver1''', '''W3C-mobileOK/DDC-1.0 (see http://www.w3.org/2006/07/mobileok-ddc)''', False, {'''brand_name''':'''W3C''','''colors''':256,'''columns''':15,'''device_claims_web_support''':False,'''gif''':True,'''gif_animated''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''jpg''':True,'''max_deck_size''':20480,'''max_image_height''':120,'''max_image_width''':128,'''model_name''':'''DDC''','''multipart_support''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':120,'''resolution_width''':128,'''rows''':5,'''time_to_live_support''':True,'''total_cache_disable_support''':True,'''wml_1_1''':False,'''xhtml_honors_bgcolor''':True,'''xhtml_preferred_charset''':'''utf8''','''xhtml_supports_css_cell_table_coloring''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''w3c_ddc_ver1_old'''] = devclass(devices.devids['''w3c_ddc_ver1'''], '''w3c_ddc_ver1_old''', '''W3C mobileOK DDC (http://www.w3.org/2006/07/mobileOK-ddc)''', False, None) +devices.devids['''google_crawler_ver1'''] = devclass(devices.devids['''w3c_ddc_ver1'''], '''google_crawler_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Google Wireless Transcoder;)''', False, {'''unique''':False}) +devices.devids['''stupid_novarra_proxy'''] = devclass(devices.devids['''generic_xhtml'''], '''stupid_novarra_proxy''', '''Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7 MG (Novarra-Vision/6.1)''', False, {'''unique''':False}) +devices.devids['''benqsie_ef51_ver1'''] = devclass(devices.devids['''sie_ef51_ver1'''], '''benqsie_ef51_ver1''', '''BenQ-EF51''', True, {'''brand_name''':'''BenQ-Siemens'''}) +devices.devids['''benqsie_ef81_ver1'''] = devclass(devices.devids['''sie_ef81_ver1'''], '''benqsie_ef81_ver1''', '''FAKE_SIE-EF81''', True, {'''brand_name''':'''BenQ-Siemens'''}) +devices.devids['''sie_sl7f_ver1'''] = devclass(devices.devids['''sie_sl75_ver1'''], '''sie_sl7f_ver1''', '''SIE-SL7F''', True, {'''max_image_width''':130,'''model_name''':'''SL7F'''}) +devices.devids['''benqsie_s68_ver1'''] = devclass(devices.devids['''sie_s68_ver1'''], '''benqsie_s68_ver1''', '''FAKE_SIE-S68''', True, {'''brand_name''':'''BenQ-Siemens'''}) +devices.devids['''benq_m580_ver1'''] = devclass(devices.devids['''generic'''], '''benq_m580_ver1''', '''BenQ-M580''', True, {'''brand_name''':'''BenQ''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''M580''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''benq_s660c_ver1'''] = devclass(devices.devids['''generic'''], '''benq_s660c_ver1''', '''BENQS660C/1.36/WAP2.0/MIDP1.0/CLDC1.0 UP.Browser/6.1.0.7.8.c.1.100 (GUI) MMP/1.0''', True, {'''brand_name''':'''BenQ''','''colors''':65535,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''S660C''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''benq_s700_ver1_sub20'''] = devclass(devices.devids['''benq_s700_ver1'''], '''benq_s700_ver1_sub20''', '''BENQS700\1.00\WAP2.0\MIDP2.0\CLDC1.0 UP.Browser/6.1.0.5 (GUI) MMP/1.0''', False, None) +devices.devids['''benqsie_al26_ver1'''] = devclass(devices.devids['''generic'''], '''benqsie_al26_ver1''', '''SIE-AL26''', True, {'''brand_name''':'''BenQ-Siemens''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''AL26''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':130,'''wallpaper_preferred_width''':130}) +devices.devids['''sie_p51_ver1benq'''] = devclass(devices.devids['''sie_p51_ver1'''], '''sie_p51_ver1benq''', '''BenQ-P51''', False, None) +devices.devids['''elson_esl808_ver1'''] = devclass(devices.devids['''generic'''], '''elson_esl808_ver1''', '''ESL808''', True, {'''brand_name''':'''Elson''','''model_name''':'''ESL808''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''nokia_2125_ver1'''] = devclass(devices.devids['''nokia_uptext_generic'''], '''nokia_2125_ver1''', '''Nokia2125''', True, {'''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':2125,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':65,'''wallpaper_preferred_width''':95}) +devices.devids['''nokia_2310_ver1'''] = devclass(devices.devids['''nokia_2300_ver1'''], '''nokia_2310_ver1''', '''Nokia2310''', True, {'''model_name''':2310,'''ringtone_voices''':4,'''wallpaper_preferred_height''':68,'''wallpaper_preferred_width''':96}) +devices.devids['''nokia_2355_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nokia_2355_ver1''', '''Nokia2355/1.0 (JN100V0200.nep) UP.Browser/6.2.2.1.c.1.108 (GUI) MMP/2.0''', True, {'''brand_name''':'''Nokia''','''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''max_image_height''':96,'''max_image_width''':128,'''model_name''':2355,'''resolution_height''':128,'''resolution_width''':128}) +devices.devids['''nokia_2855_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_2855_ver1''', '''Nokia2855''', True, {'''max_image_height''':140,'''model_name''':2855,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':160,'''ringtone_voices''':16,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':160}) +devices.devids['''nokia_2865_ver1'''] = devclass(devices.devids['''nokia_2855_ver1'''], '''nokia_2865_ver1''', '''Nokia2865''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':2865}) +devices.devids['''nokia_2865i_ver1'''] = devclass(devices.devids['''nokia_2865_ver1'''], '''nokia_2865i_ver1''', '''Nokia2865i''', True, {'''model_name''':'''2865i'''}) +devices.devids['''nokia_3588i_ver1'''] = devclass(devices.devids['''nokia_3587i_ver1'''], '''nokia_3588i_ver1''', '''Nokia3588i''', True, {'''max_image_height''':48,'''model_name''':'''3588i'''}) +devices.devids['''nokia_6016_ver1'''] = devclass(devices.devids['''nokia_6015_ver1'''], '''nokia_6016_ver1''', '''Nokia6016''', True, {'''model_name''':6016}) +devices.devids['''nokia_6016i_ver1'''] = devclass(devices.devids['''nokia_6015i_ver1'''], '''nokia_6016i_ver1''', '''Nokia6016i''', True, {'''model_name''':'''6016i'''}) +devices.devids['''nokia_6102i_ver1'''] = devclass(devices.devids['''nokia_6102_ver1'''], '''nokia_6102i_ver1''', '''Nokia6102i''', True, {'''model_name''':'''6102i''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_6110navigator_ver1'''] = devclass(devices.devids['''nokia_6100_ver1'''], '''nokia_6110navigator_ver1''', '''Nokia6110/03.23''', True, {'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''flash_lite_version''':'''2_0''','''max_data_rate''':40,'''model_name''':'''6110 Navigator''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_voices''':24,'''ringtone_wav''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''wallpaper_colors''':24,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320}) +devices.devids['''nokia_6135_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6135_ver1''', '''Nokia6135''', True, {'''colors''':65536,'''model_name''':6135,'''ringtone_voices''':32,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':160}) +devices.devids['''nokia_6163_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6163_ver1''', '''Nokia6163''', True, {'''model_name''':6163,'''ringtone_voices''':16,'''wallpaper_colors''':16}) +devices.devids['''nokia_6165_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia_6165_ver1''', '''Nokia6165''', True, {'''model_name''':6165,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''video_vcodec_h264''':10,'''wallpaper_colors''':18,'''wallpaper_preferred_width''':160}) +devices.devids['''nokia6236i_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp20'''], '''nokia6236i_ver1''', '''Nokia6236i''', True, {'''model_name''':'''6236i'''}) +devices.devids['''nokia_6680i_ver1'''] = devclass(devices.devids['''nokia_6680_ver1'''], '''nokia_6680i_ver1''', '''Nokia6680i''', True, {'''model_name''':'''6680i''','''preferred_markup''':'''html_wi_imode_compact_generic''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_8800si_ver1'''] = devclass(devices.devids['''nokia_8800_ver1'''], '''nokia_8800si_ver1''', '''Nokia8800SI''', True, {'''model_name''':'''8800SI''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_n73_ver1_submozilla50_91_it'''] = devclass(devices.devids['''nokia_n73_ver1'''], '''nokia_n73_ver1_submozilla50_91_it''', '''Mozilla/5.0 (SymbianOS/9.1; U; [it]; NokiaN73-1''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_n73_ver1_submozilla30638_en'''] = devclass(devices.devids['''nokia_n73_ver1'''], '''nokia_n73_ver1_submozilla30638_en''', '''Mozilla/5.0 (SymbianOS/9.1; U; [en]; NokiaN73-1/3.0638.0.0.1 Series60/3.0) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':384}) +devices.devids['''sie_sfg75_ver1'''] = devclass(devices.devids['''generic'''], '''sie_sfg75_ver1''', '''SIEMENS-SFG75''', True, {'''brand_name''':'''Siemens''','''colors''':262144,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SFG75''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''video_3gpp''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_spha560_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_spha560_ver1''', '''Samsung-SPHA560''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SPH-A560''','''ringtone_voices''':32,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_spha580_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_spha580_ver1''', '''Samsung-SPHA580''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A580''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_a620_subsamsung'''] = devclass(devices.devids['''samsung_spha620_ver1'''], '''samsung_a620_subsamsung''', '''FAKE_Samsung-SPHA620''', False, {'''model_name''':'''VGA1000'''}) +devices.devids['''sch_a630_ver1'''] = devclass(devices.devids['''generic'''], '''sch_a630_ver1''', '''SCH-A630''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCH-A630''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''fake_samsung_spha660_ver1'''] = devclass(devices.devids['''samsung_spha660_ver1'''], '''fake_samsung_spha660_ver1''', '''FAKE_USER_AGENT Samsung-SPHA660''', True, {'''model_name''':'''VI660'''}) +devices.devids['''fake_samsung_spha740_ver1'''] = devclass(devices.devids['''samsung_spha740_ver1'''], '''fake_samsung_spha740_ver1''', '''FAKE_USER_AGENT Samsung PM-A740''', True, {'''model_name''':'''PM-A740'''}) +devices.devids['''fake_samsung_spha760_ver1'''] = devclass(devices.devids['''samsung_spha760_ver1'''], '''fake_samsung_spha760_ver1''', '''FAKE_USER_AGENT Samsung RL-A760''', True, {'''model_name''':'''RL-A760'''}) +devices.devids['''fake_samsung_spha790_ver1'''] = devclass(devices.devids['''samsung_spha790_ver1'''], '''fake_samsung_spha790_ver1''', '''FAKE_USER_AGENT Samsung IP-A790''', True, {'''model_name''':'''IP-A790''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''samsung_spha795_ver1'''] = devclass(devices.devids['''samsung_spha790_ver1'''], '''samsung_spha795_ver1''', '''Samsung-SPHA795''', True, {'''model_name''':'''SPH-A795''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''fake_samsung_spha840_ver1'''] = devclass(devices.devids['''samsung_spha840_ver1'''], '''fake_samsung_spha840_ver1''', '''FAKE_USER_AGENT Samsung PM-A840''', True, {'''model_name''':'''PM-A840'''}) +devices.devids['''fake_samsung_spha900_ver1'''] = devclass(devices.devids['''samsung_spha900_ver1'''], '''fake_samsung_spha900_ver1''', '''FAKE_USER_AGENT Samsung-SPHA900''', True, {'''model_name''':'''MM-A900''','''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':False,'''video_wmv''':False}) +devices.devids['''samsung_spha900p_ver1'''] = devclass(devices.devids['''samsung_spha900_ver1'''], '''samsung_spha900p_ver1''', '''Samsung-SPHA900P''', True, {'''model_name''':'''SPH-A900P''','''ringtone_voices''':16,'''streaming_3gpp''':False,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':False,'''video_mp4''':False,'''video_wmv''':False}) +devices.devids['''fake_samsung_a920_ver1'''] = devclass(devices.devids['''samsung_a920_ver1'''], '''fake_samsung_a920_ver1''', '''FAKE_USER_AGENT Samsung-SPHA920''', True, {'''model_name''':'''MM-A920''','''streaming_3gpp''':False,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''sec_sghu300_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''sec_sghu300_ver1''', '''SEC-SGHU300/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':512000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-U300''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/u300_10.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wbmp''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''samsung_u700_ver1'''] = devclass(devices.devids['''samsung_u600_ver1'''], '''samsung_u700_ver1''', '''SAMSUNG-SGH-U700''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_xhr_type''':'''standard''','''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':20,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':3600,'''max_deck_size''':5000,'''max_image_height''':300,'''max_image_width''':230,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':307200,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-U700''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/U700UAProf.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_preferred_height''':320,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''samsung_u700_ver1_subua'''] = devclass(devices.devids['''samsung_u700_ver1'''], '''samsung_u700_ver1_subua''', '''SAMSUNG-SGH-U700/1.0 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_sgh_c260_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_sgh_c260_ver1''', '''SAMSUNG-SGHC260''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-C260''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sec_sgha127_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sec_sgha127_ver1''', '''SEC-SGHA127/A127UCGF2 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':49152,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-A127''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/a127_10.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_a501_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''sec_a501_ver1''', '''SEC-SGHA501''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-A501''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_a701_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''samsung_a701_ver1''', '''SAMSUNG-SGH-A701''', True, {'''brand_name''':'''Samsung''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''model_name''':'''SGH-A701''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''sgh_a717_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''sgh_a717_ver1''', '''SAMSUNG-SGH-A717/1.0 SHP/VPP/R5 NetFront/3.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':5000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':614400,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-A717''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/A717UAProf.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sgh_a727_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''sgh_a727_ver1''', '''SAMSUNG-SGH-A727/1.0 SHP/VPP/R5 NetFront/3.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':176,'''j2me_screen_width''':220,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':5000,'''max_image_height''':156,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':614400,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-A727''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/A727UAProf.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sec_sghc520_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sec_sghc520_ver1''', '''SEC-SGHC520/1.0 Openwave/6.2.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':49152,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''C520''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':6,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/c520_10.xml''','''wallpaper_jpg''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_d900i_ver1'''] = devclass(devices.devids['''samsung_d900_ver1'''], '''samsung_d900i_ver1''', '''SAMSUNG-SGH-D900i''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':8,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':49152,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''D900i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':28,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-D900i.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''samsung_d900i_ver1_sub1'''] = devclass(devices.devids['''samsung_d900i_ver1'''], '''samsung_d900i_ver1_sub1''', '''SAMSUNG-SGH-D900i/1.0 Profile/MIDP-2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sghe420_ver1'''] = devclass(devices.devids['''sec_e420_ver1'''], '''samsung_sghe420_ver1''', '''SAMSUNG-SGH-E420''', False, {'''wallpaper_colors''':16,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_sgh_e480_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_sgh_e480_ver1''', '''SAMSUNG-SGH-E480/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':49152,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''model_name''':'''SGH-E480''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E480.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_sghe830_ver1'''] = devclass(devices.devids['''samsung_e820_ver1'''], '''samsung_sghe830_ver1''', '''SAMSUNG-SGH-E830/1.0''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':49152,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-E830''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':20,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-E830.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''samsung_sghe830_ver1_sub1'''] = devclass(devices.devids['''samsung_sghe830_ver1'''], '''samsung_sghe830_ver1_sub1''', '''SAMSUNG-SGH-E830/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_g800_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''samsung_sgh_g800_ver1''', '''SAMSUNG-SGH-G800/XBGJ2 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':5000,'''max_image_height''':300,'''max_image_width''':230,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':614400,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-G800''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_xmf''':True,'''rows''':16,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/G800UAProf3G.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':4,'''xmf''':True}) +devices.devids['''samsung_sgh_g600_ver1'''] = devclass(devices.devids['''samsung_sgh_g800_ver1'''], '''samsung_sgh_g600_ver1''', '''SAMSUNG-SGH-G600''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':16384,'''max_image_height''':290,'''max_image_width''':232,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-G600''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-G600.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':4}) +devices.devids['''samsung_sgh_g600_ver1_sub1'''] = devclass(devices.devids['''samsung_sgh_g600_ver1'''], '''samsung_sgh_g600_ver1_sub1''', '''SAMSUNG-SGH-G600/G600XAGH2 NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_sgh_i320n_ver1'''] = devclass(devices.devids['''sec_i320_ver1'''], '''samsung_sgh_i320n_ver1''', '''SAMSUNG-SGH-I320N''', True, {'''max_data_rate''':200,'''model_name''':'''SGH-I320N''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_voices''':64,'''screensaver''':True,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''samsung_sgh_l600_ver1'''] = devclass(devices.devids['''samsung_e250_ver1'''], '''samsung_sgh_l600_ver1''', '''SAMSUNG-SGH-L600''', True, {'''max_image_height''':200,'''max_image_width''':173,'''model_name''':'''SGH-L600''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-L600.xml '''}) +devices.devids['''samsung_sgh_l600_ver1_sub1'''] = devclass(devices.devids['''samsung_sgh_l600_ver1'''], '''samsung_sgh_l600_ver1_sub1''', '''SAMSUNG-SGH-L600/L600XAGI1 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_sgh_l760_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''samsung_sgh_l760_ver1''', '''SAMSUNG-SGH-L760/XXGF1 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':5000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':307200,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-L760''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_xmf''':True,'''rows''':16,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/L760UAProf.rdf''','''uaprof2''':'''http://wap.samsungmobile.com/uaprof/L760UAProf3G.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''samsung_sgh_l760_ver1_subua'''] = devclass(devices.devids['''samsung_sgh_l760_ver1'''], '''samsung_sgh_l760_ver1_subua''', '''SAMSUNG-SGH-L760/AOGG1 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_sgh_i520_ver1'''] = devclass(devices.devids['''samsung_sgh_i320n_ver1'''], '''samsung_sgh_i520_ver1''', '''SAMSUNG-SGH-I520''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':'''SGH-I520''','''ringtone_voices''':16,'''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':18}) +devices.devids['''samsung_sgh_i520v_ver1'''] = devclass(devices.devids['''samsung_sgh_i520_ver1'''], '''samsung_sgh_i520v_ver1''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Samsung/SGH-i520V/BUGD9 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''max_data_rate''':40,'''model_name''':'''I520v'''}) +devices.devids['''samsung_sgh_i710_ver1'''] = devclass(devices.devids['''sec_i700_ver1'''], '''samsung_sgh_i710_ver1''', '''SAMSUNG-SGH-I710''', True, {'''html_wi_oma_xhtmlmp_1_0''':True,'''model_name''':'''SGH-I710''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''streaming_3gpp''':True,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''xhtml_support_level''':3}) +devices.devids['''samsung_sgh_i750_ver1'''] = devclass(devices.devids['''samsung_sgh_i520_ver1'''], '''samsung_sgh_i750_ver1''', '''SAMSUNG-SGH-I750''', True, {'''model_name''':'''SGH-I750''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320,'''wifi''':True}) +devices.devids['''samsung_sphi500_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''samsung_sphi500_ver1''', '''SEC05''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SPH-i500''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':162}) +devices.devids['''sec_sghm300_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sec_sghm300_ver1''', '''SEC-SGHM300''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':49152,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-M300''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':6,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/m300_10.xml''','''wallpaper_gif''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sec_sghm300_ver1_sub1'''] = devclass(devices.devids['''sec_sghm300_ver1'''], '''sec_sghm300_ver1_sub1''', '''SEC-SGHM300/1.0 Openwave/6.2.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sphm300_ver1'''] = devclass(devices.devids['''sec_sghm300_ver1'''], '''samsung_sphm300_ver1''', '''Samsung-SPHM300 AU-MIC-M300/2.0 MMP/2.0''', False, {'''max_data_rate''':9,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-M300/AD02.rdf'''}) +devices.devids['''sec_p910_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sec_p910_ver1''', '''SEC-SGHP910''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':5000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-P910''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_xmf''':True,'''rows''':16,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/P910UAProf2G.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_qcif''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xmf''':True}) +devices.devids['''sec_p910_ver1_sub1'''] = devclass(devices.devids['''sec_p910_ver1'''], '''sec_p910_ver1_sub1''', '''SAMSUNG-SGH-P910/1.0 SHP/VPP/R5 NetFront/3.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sec_p900_ver1'''] = devclass(devices.devids['''generic'''], '''sec_p900_ver1''', '''SEC-SGHP900''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-P900''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_3gpp''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''video_qcif''':True,'''video_sqcif''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''samsung_t319r_ver1'''] = devclass(devices.devids['''samsung_sgh-t319_ver1'''], '''samsung_t319r_ver1''', '''SAMSUNG-SGH-T319R''', True, {'''model_name''':'''SGH-T319R''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''xhtml_support_level''':2}) +devices.devids['''sec_x150l_ver1'''] = devclass(devices.devids['''sec_x140_ver1'''], '''sec_x150l_ver1''', '''SEC-SGHX150L''', True, {'''midi_polyphonic''':True,'''model_name''':'''X150L''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sec_x160_ver1'''] = devclass(devices.devids['''sec_x150l_ver1'''], '''sec_x160_ver1''', '''SEC-SGHX160''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':160,'''mms_max_size''':51200,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_wbmp''':True,'''model_name''':'''X160''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x160_10.xml''','''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wml_1_2''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_sghx490_ver1'''] = devclass(devices.devids['''sec_x490_ver1'''], '''samsung_sghx490_ver1''', '''SAMSUNG-SGH-X490''', False, None) +devices.devids['''sec_x160_ver1_sub10'''] = devclass(devices.devids['''sec_x160_ver1'''], '''sec_x160_ver1_sub10''', '''SEC-SGHX160/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_x496_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_sgh_x496_ver1''', '''SAMSUNG-SGH-X496/1.0 (05.02) Profile/MIDP-1.0 Configuration/CLDC-1.0''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':16384,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-X496''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-X496.xml''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''sec_sghx507_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''sec_sghx507_ver1''', '''SEC-SGHX507, TSS/2.5, Rev 1.4''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10240,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':768,'''mms_max_size''':102400,'''mms_max_width''':1024,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''X507''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':6,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/x507_10.xml''','''video''':True,'''video_3gpp''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''samsung_x520x_ver1'''] = devclass(devices.devids['''samsung_x510_ver1'''], '''samsung_x520x_ver1''', '''SEC-SGHX520X''', True, {'''j2me_midp_2_0''':True,'''model_name''':'''SGH-X520X''','''ringtone_mp3''':True}) +devices.devids['''sec_sghx630_ver1'''] = devclass(devices.devids['''samsung_x630_ver1'''], '''sec_sghx630_ver1''', '''SEC-SGHX630/1.0 TSS/2.5''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_z500v_ver1'''] = devclass(devices.devids['''samsung_z500_ver1'''], '''samsung_z500v_ver1''', '''SGH-Z500V''', True, {'''model_name''':'''SGH-Z500V''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_directdownload_size_limit''':1024000,'''video_max_frame_rate''':15,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_wmv''':False}) +devices.devids['''sec_zx10_ver1'''] = devclass(devices.devids['''generic'''], '''sec_zx10_ver1''', '''SEC-SGHZX10''', True, {'''brand_name''':'''Samsung''','''colors''':262144,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''ZX10''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''portalmmm_ver2_subs341ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subs341i'''], '''portalmmm_ver2_subs341ic20tb''', '''portalmmm/2.0 S341i(c20;TB)''', False, None) +devices.devids['''fake_sanyo_vm4500_ver1'''] = devclass(devices.devids['''sanyo_scp5500_ver1'''], '''fake_sanyo_vm4500_ver1''', '''FAKE_USER_AGENT Sanyo VM-4500''', True, {'''model_name''':'''VM-4500'''}) +devices.devids['''fake_sanyo_mm8300_ver1'''] = devclass(devices.devids['''sanyo_scp8300_ver1'''], '''fake_sanyo_mm8300_ver1''', '''FAKE_USER_AGENT Sanyo MM-8300''', True, {'''model_name''':'''MM-8300''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''sonyericsson_k610iv_ver1'''] = devclass(devices.devids['''sonyericsson_k610i_ver1'''], '''sonyericsson_k610iv_ver1''', '''SonyEricssonK610iv''', True, {'''model_name''':'''K610iv'''}) +devices.devids['''sonyericsson_s500i_ver1'''] = devclass(devices.devids['''sonyericsson_401_generic'''], '''sonyericsson_s500i_ver1''', '''SonyEricssonS500i''', True, {'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':16,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''1_1''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1224,'''mms_max_size''':614400,'''mms_max_width''':1632,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''S500i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':72,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/S500iR201.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_vcodec_h264''':'''10 1b''','''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''sonyericsson_s600_ver1'''] = devclass(devices.devids['''sonyericsson_s500i_ver1'''], '''sonyericsson_s600_ver1''', '''SonyEricssonS600''', True, {'''model_name''':'''S600'''}) +devices.devids['''sonyericsson_s500i_ver1_subua'''] = devclass(devices.devids['''sonyericsson_s500i_ver1'''], '''sonyericsson_s500i_ver1_subua''', '''SonyEricssonS500i/R6BC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''sonyericsson_w850iv_ver1'''] = devclass(devices.devids['''sonyericsson_w850i_ver1'''], '''sonyericsson_w850iv_ver1''', '''SonyEricssonW850iv''', True, {'''model_name''':'''W850iv'''}) +devices.devids['''sonyericsson_w880iv_ver1'''] = devclass(devices.devids['''sonyericsson_w880i_ver1'''], '''sonyericsson_w880iv_ver1''', '''SonyEricssonW880iv''', True, {'''model_name''':'''W880iv''','''uaprof''':'''http://wap.sonyericsson.com/UAprof/W880iR201.xml'''}) +devices.devids['''sonyericsson_w910i_ver1'''] = devclass(devices.devids['''sonyericsson_p910_ver1'''], '''sonyericsson_w910i_ver1''', '''SonyEricssonW910i''', True, {'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''j2me_cldc_1_1''':True,'''max_image_height''':270,'''max_image_width''':231,'''model_name''':'''W910i''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone_voices''':72,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W910iR101.xml''','''wallpaper_jpg''':True}) +devices.devids['''sonyericsson_w910i_ver1_R1BA'''] = devclass(devices.devids['''sonyericsson_w910i_ver1'''], '''sonyericsson_w910i_ver1_R1BA''', '''SonyEricssonW910i/R1BA Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''sonyericsson_w910iv_ver1'''] = devclass(devices.devids['''sonyericsson_42_generic'''], '''sonyericsson_w910iv_ver1''', '''Mozilla/4.0 SonyEricssonW910iv/R1BA Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, {'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':16,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1224,'''mms_max_size''':614400,'''mms_max_width''':1632,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W910i''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W910iR101-3G.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True,'''xhtml_support_level''':4,'''xmf''':True}) +devices.devids['''sonyericsson_t39m_ver1'''] = devclass(devices.devids['''ericssont39m_ver1'''], '''sonyericsson_t39m_ver1''', '''SonyEricssonT39M''', True, {'''brand_name''':'''SonyEricsson''','''max_image_width''':72,'''midi_monophonic''':True,'''model_name''':'''T39M''','''ringtone_midi_monophonic''':True,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_preferred_height''':54,'''wallpaper_preferred_width''':101}) +devices.devids['''sonyericsson_w200iv_ver1'''] = devclass(devices.devids['''sonyericsson_w200i_ver1'''], '''sonyericsson_w200iv_ver1''', '''SonyEricssonW200iv''', True, {'''max_deck_size''':45000,'''model_name''':'''W200iv'''}) +devices.devids['''sonyericsson_w810a_ver1'''] = devclass(devices.devids['''sonyericsson_w810_ver1'''], '''sonyericsson_w810a_ver1''', '''SonyEricssonW810a''', True, {'''model_name''':'''W810a'''}) +devices.devids['''sonyericsson_z310a_ver1'''] = devclass(devices.devids['''sonyericsson_z300_ver1'''], '''sonyericsson_z310a_ver1''', '''SonyEricssonZ310a''', True, {'''model_name''':'''Z310a''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_mp3''':True,'''ringtone_voices''':16,'''wallpaper_preferred_height''':160}) +devices.devids['''lge_ax4750_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lge_ax4750_ver1''', '''LGE-AX4750''', True, {'''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''AX4750''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''lge_ax5000_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lge_ax5000_ver1''', '''LGE-AX5000''', True, {'''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''AX5000''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''lg_kg120_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg120_ver1''', '''LG-KG120''', True, {'''amr''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''max_deck_size''':5120,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG120''','''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':False,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG120.xml''','''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wav''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''lg_kg120_ver1_subua'''] = devclass(devices.devids['''lg_kg120_ver1'''], '''lg_kg120_ver1_subua''', '''LG-KG120 MIC/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_kg130_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg130_ver1''', '''LG-KG130 obigo/1.0 (05.02) Profile/MIDP-1.0''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':25600,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG130''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':40,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG130.xml''','''wallpaper''':True,'''wallpaper_colors''':10,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''lg_kg320s_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg320s_ver1''', '''LG-KG320S''', True, {'''colors''':262144,'''gif''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''AEGIS''','''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''lg_ks10_ver1'''] = devclass(devices.devids['''lg_ks10_symbian_ver1'''], '''lg_ks10_ver1''', '''LG-KS10''', False, {'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''xhtml_support_level''':3}) +devices.devids['''lg_ku950_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ku950_ver1''', '''LG/KU950''', True, {'''model_name''':'''KU950''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_3gpp''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''screensaver''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_wmv''':False,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''lg_ku970_ver1'''] = devclass(devices.devids['''lg_ku950_ver1'''], '''lg_ku970_ver1''', '''LG/KU970/v10a Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':5120,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''KU970''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KU970.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''lg_ku990_ver1'''] = devclass(devices.devids['''lg_ke850_ver1'''], '''lg_ku990_ver1''', '''LG/KU990''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''amr''':True,'''au''':True,'''bmp''':True,'''brand_name''':'''LG''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''fl_browser''':True,'''flash_lite_version''':'''2_1''','''gif''':True,'''has_pointing_device''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':400,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':1800,'''max_deck_size''':49152,'''max_image_height''':380,'''max_image_width''':222,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1944,'''mms_max_size''':307200,'''mms_max_width''':2592,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''5.0''','''model_name''':'''KU990''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':400,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':262144,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_oma_size_limit''':262144,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':15,'''sender''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KU990.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''lg_ku990_ver1_subv10aobigo'''] = devclass(devices.devids['''lg_ku990_ver1'''], '''lg_ku990_ver1_subv10aobigo''', '''LG/KU990/v10a Browser/Obigo-Q05A/3.6 MMS/LG-MMS-V1.0/1.2 Java/ASVM/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':1800}) +devices.devids['''lg_ku990_ver1_subvodafone'''] = devclass(devices.devids['''lg_ku990_ver1'''], '''lg_ku990_ver1_subvodafone''', '''Vodafone/1.0/LG-KU990/V10a Browser/Obigo-Q05A/3.6 MMS/LG-MMS-V1.0/1.2 Java/ASVM/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':1800,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KU990-VDF.xml'''}) +devices.devids['''lge_lx125_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lge_lx125_ver1''', '''LGE-LX125''', True, {'''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''LX125''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''lge_lx125vno_ver1'''] = devclass(devices.devids['''lge_lx125_ver1'''], '''lge_lx125vno_ver1''', '''LGE-LX125VNO''', False, None) +devices.devids['''lg_lx350_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_lx350_ver1''', '''LG-LX350 AU-MIC-LX350/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''colors''':262144,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''LX350''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':72,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''lg_lx160_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_lx160_ver1''', '''LG-LX160 AU-MIC-LX160/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''colors''':65536,'''columns''':14,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':65536,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''LX160''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''rows''':12,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/LG/LX160/LX160V0a.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''lg_lx570_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_lx570_ver1''', '''LG-LX570 AU-MIC-LX570/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':65536,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''LX570''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''rows''':11,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/LG/LX570/LX570V0c.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''lg_me970_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_me970_ver1''', '''LG-ME970 MIC/1.1.14 MIDP-2.0/CLDC-1.1''', True, {'''model_name''':'''ME970''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''lg_mg100_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_mg100_ver1''', '''LG-MG100''', True, {'''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''MG100''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''lg_mg100c_ver1'''] = devclass(devices.devids['''lg_mg100_ver1'''], '''lg_mg100c_ver1''', '''LG-MG100c''', True, {'''model_name''':'''MG100c''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''wallpaper_png''':True}) +devices.devids['''lg_mg120_ver1'''] = devclass(devices.devids['''lg_mg100_ver1'''], '''lg_mg120_ver1''', '''LG-MG120''', True, {'''model_name''':'''MG120''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_voices''':32,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-MG120.xml''','''wallpaper_png''':True}) +devices.devids['''lg_mg125_ver1'''] = devclass(devices.devids['''lg_mg120_ver1'''], '''lg_mg125_ver1''', '''LG-MG125''', True, {'''model_name''':'''MG125'''}) +devices.devids['''lg_mg160_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_mg160_ver1''', '''LG-MG160''', True, {'''model_name''':'''MG160''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''lg_mg185_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_mg185_ver1''', '''LG-MG185''', True, {'''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''MG185''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''lg_mg210_ver1'''] = devclass(devices.devids['''lg_mg200_ver1'''], '''lg_mg210_ver1''', '''LG-MG210''', True, {'''brand_name''':'''LG''','''colors''':65536,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''MG210''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''lg_mg220_ver1'''] = devclass(devices.devids['''lg_mg210_ver1'''], '''lg_mg220_ver1''', '''LG-MG220''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''built_in_camera''':True,'''colors''':65536,'''columns''':8,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':95,'''j2me_screen_width''':128,'''max_image_height''':75,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''MG220''','''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':95,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_spmidi''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-MG220.xml''','''wallpaper_preferred_height''':160,'''wbmp''':True,'''wta_phonebook''':True}) +devices.devids['''lg_mg220_ver1_sub10'''] = devclass(devices.devids['''lg_mg220_ver1'''], '''lg_mg220_ver1_sub10''', '''LG-MG220 UP.Browser/6.2.3 (GUI) MMP/1.0''', False, {'''max_data_rate''':40}) +devices.devids['''lg_mg280c_ver1'''] = devclass(devices.devids['''lg_mg220_ver1'''], '''lg_mg280c_ver1''', '''LG-MG280c''', True, {'''model_name''':'''MG280c''','''ringtone_voices''':16,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-MG280c.xml'''}) +devices.devids['''lg_mg320_ver1'''] = devclass(devices.devids['''lg_mg300d_ver1'''], '''lg_mg320_ver1''', '''LG-MG320''', True, {'''model_name''':'''MG320''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_voices''':16,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''lge_pls535_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_pls535_ver1''', '''LGE-PLS535''', False, None) +devices.devids['''lg_tu500_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_tu500_ver1''', '''LG-TU500''', True, {'''model_name''':'''TU500''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''lg_u900_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_u900_ver1''', '''LG-U900''', True, {'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''model_name''':'''U900''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_3gpp''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':72,'''ringtone_wav''':True,'''screensaver''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320}) +devices.devids['''lg_u960_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_u960_ver1''', '''LG/U960/v1.0''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':262144,'''columns''':30,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':1800,'''max_deck_size''':1024,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''U960''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-U960.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_wmv''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''lg_u970_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_u970_ver1''', '''LG/U970/v1.0''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':30,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':1800,'''max_deck_size''':1024,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':300000,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''U970 (Shine)''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-U970.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_wmv''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''lge_vx3300_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lge_vx3300_ver1''', '''LGE-VX3300''', True, {'''colors''':65536,'''gif''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''VX3300''','''ringtone_voices''':32,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''lge_vx4650_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lge_vx4650_ver1''', '''LGE-VX4650''', True, {'''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''VX4650''','''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''lge_vx8350_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx8350_ver1''', '''LGE-VX8350/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':12,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_screen_height''':184,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':164,'''max_image_width''':176,'''midi_monophonic''':True,'''model_name''':'''VX-8350''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':184,'''resolution_width''':176,'''ringtone_midi_monophonic''':True,'''rows''':11,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vtext.com/lg/vx8350/vx8350.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''xhtml_support_level''':3}) +devices.devids['''lge_vx8600_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx8600_ver1''', '''LGE-VX8600/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':14,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_screen_height''':184,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':164,'''max_image_width''':176,'''midi_monophonic''':True,'''model_name''':'''VX-8600''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':184,'''resolution_width''':176,'''ringtone_midi_monophonic''':True,'''rows''':13,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vtext.com/lg/vx8600/vx8600.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''xhtml_support_level''':3}) +devices.devids['''mot_a388_ver1'''] = devclass(devices.devids['''mot_f6_ver1'''], '''mot_a388_ver1''', '''MOT-A388''', True, {'''colors''':65000,'''jpg''':True,'''max_image_height''':240,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''A388''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_blackmonster_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_blackmonster_ver1''', '''MOT-Black Monster/0E.30.48R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':17,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''E1''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':11,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/e1/Profile/e1.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''motorola_e1_ver2_subbloodkasch'''] = devclass(devices.devids['''mot_blackmonster_ver1'''], '''motorola_e1_ver2_subbloodkasch''', '''MOT-BloodKasch/0E.30.79R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''motorola_c139_ver1'''] = devclass(devices.devids['''generic'''], '''motorola_c139_ver1''', '''MOT-C139''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C139''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':24,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':64,'''wallpaper_preferred_width''':96}) +devices.devids['''mot_c140_ver1'''] = devclass(devices.devids['''generic'''], '''mot_c140_ver1''', '''MOT-C140''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''C140''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_c202_ver1'''] = devclass(devices.devids['''mot_c200_ver1'''], '''mot_c202_ver1''', '''MOT-C202''', True, {'''model_name''':'''C202'''}) +devices.devids['''motorola_c290_ver1'''] = devclass(devices.devids['''generic'''], '''motorola_c290_ver1''', '''MOT-C290''', True, {'''aac''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':14,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':65536,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''C290''','''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''rows''':9,'''screensaver''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Motorola/C290/2440.rdf''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''motorola_c290_ver1_sub1'''] = devclass(devices.devids['''motorola_c290_ver1'''], '''motorola_c290_ver1_sub1''', '''Motorola-C290 Obigo/Q04C1-1.9 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':9}) +devices.devids['''mot_c350i_ver1'''] = devclass(devices.devids['''mot_c350_ver1'''], '''mot_c350i_ver1''', '''MOT-c350i''', True, {'''jpg''':True,'''max_image_height''':48,'''max_image_width''':96,'''model_name''':'''C350i''','''screensaver''':True,'''wallpaper_preferred_height''':64}) +devices.devids['''mot_e615_ver1'''] = devclass(devices.devids['''mot_e610_ver1'''], '''mot_e615_ver1''', '''MOT-E615''', True, {'''model_name''':'''E615''','''screensaver''':True,'''wallpaper''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_razr_v6vc_ver1'''] = devclass(devices.devids['''mot_razr_v6_ver1'''], '''mot_razr_v6vc_ver1''', '''MOT-RAZRV6vc''', False, None) +devices.devids['''mot_motorazr_v9_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_motorazr_v9_ver1''', '''MOT-MOTORAZRV9/9C.13.16R BER2.2 Mozilla/4.0 (compatible; MSIE 6.0; 14003205) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.00 [en]''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':19,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':10000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':614400,'''mms_max_width''':1200,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MOTORAZR V9''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':8,'''screensaver''':True,'''screensaver_gif''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.motorola.com/phoneconfig/v9/profile/v9.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wallpaper''':True,'''wallpaper_jpg''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''mot_l7_ver1_sublvr'''] = devclass(devices.devids['''mot_l7_ver1'''], '''mot_l7_ver1_sublvr''', '''MOT SLVR-L7''', False, None) +devices.devids['''mot_t190_ver1'''] = devclass(devices.devids['''generic'''], '''mot_t190_ver1''', '''MOT-T190''', True, {'''brand_name''':'''Motorola''','''midi_monophonic''':True,'''model_name''':'''T190''','''ringtone_midi_monophonic''':True,'''screensaver''':True,'''wallpaper''':True}) +devices.devids['''motorola_t730_ver1'''] = devclass(devices.devids['''generic'''], '''motorola_t730_ver1''', '''MOT-T730''', True, {'''brand_name''':'''Motorola''','''colors''':4096,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''T730''','''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120}) +devices.devids['''mot_v3iv_ver1'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v3iv_ver1''', '''MOT-V3iv''', True, {'''model_name''':'''RAZR V3iv''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':18}) +devices.devids['''mot_v3t_ver1'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v3t_ver1''', '''MOT-V3t/0E.C8.0DR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''model_name''':'''RAZR V3t''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':18}) +devices.devids['''mot_v3am_ver1'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v3am_ver1''', '''MOT-V3am/00.62 UP.Browser/6.2.3.4.c.1.123 (GUI) MMP/2.0''', False, None) +devices.devids['''mot_v3xm_ver1'''] = devclass(devices.devids['''mot_v3x_ver1'''], '''mot_v3xm_ver1''', '''MOT-RAZRV3xM''', True, {'''model_name''':'''RAZR V3xM''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_v195_ver1'''] = devclass(devices.devids['''generic'''], '''mot_v195_ver1''', '''MOT-V195''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V195''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':24,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v220i_ver1'''] = devclass(devices.devids['''mot_v220_ver1'''], '''mot_v220i_ver1''', '''MOT-V220i''', True, {'''max_image_height''':96,'''model_name''':'''V220i''','''ringtone_voices''':16,'''screensaver''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''mot_v260_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v260_ver1''', '''MOT-V260''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''directdownload_support''':True,'''gif_animated''':True,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':128,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':64,'''mms_mp3''':True,'''model_name''':'''V260''','''mp3''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_directdownload_size_limit''':350000,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''screensaver_colors''':16,'''screensaver_directdownload_size_limit''':350000,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':128,'''screensaver_max_width''':128,'''screensaver_preferred_height''':128,'''screensaver_preferred_width''':128,'''voices''':64,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':350000,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':128,'''wallpaper_max_width''':128,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''motorola_v262_ver1'''] = devclass(devices.devids['''generic'''], '''motorola_v262_ver1''', '''MOT-V262''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V262''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v270_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v270_ver1''', '''MOT-V270''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V270''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''screensaver''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v291_ver1'''] = devclass(devices.devids['''mot_v290_ver1'''], '''mot_v291_ver1''', '''MOT-V291''', True, {'''colors''':4096,'''model_name''':'''V291''','''wallpaper_colors''':8}) +devices.devids['''mot_v628_ver1'''] = devclass(devices.devids['''mot_v600_ver1'''], '''mot_v628_ver1''', '''MOT-V628''', True, {'''colors''':262144,'''j2me_max_jar_size''':204800,'''model_name''':'''V628''','''ringtone_voices''':64,'''screensaver''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v660_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v660_ver1''', '''MOT-V660''', True, {'''colors''':65536,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V660''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v688_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v688_ver1''', '''MOT-V688''', True, {'''colors''':65536,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V688''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v750_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_v750_ver1''', '''MOT-V750''', True, {'''brand_name''':'''Motorola''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V750''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':120}) +devices.devids['''mot_v820_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_v820_ver1''', '''MOT-V820''', True, {'''brand_name''':'''Motorola''','''colors''':262144,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V820''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_v875_ver1'''] = devclass(devices.devids['''mot_v870_ver1'''], '''mot_v875_ver1''', '''MOT-V875''', True, {'''model_name''':'''V875''','''ringtone_mp3''':True,'''ringtone_voices''':40}) +devices.devids['''mot_v1000_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v1000_ver1''', '''MOT-V1000''', True, {'''colors''':262144,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''V1000''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''mot_v3xxv_ver1'''] = devclass(devices.devids['''mot_v3xx_ver1'''], '''mot_v3xxv_ver1''', '''MOT-RAZRV3xxv''', True, {'''model_name''':'''RAZR V3xxv''','''streaming_3gpp''':False,'''streaming_mp4''':False,'''streaming_video''':True,'''streaming_wmv''':False,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nec_n600_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''nec_n600_ver1''', '''NEC-N600''', True, {'''brand_name''':'''NEC''','''colors''':65536,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''N600''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''wallpaper''':True,'''wallpaper_colors''':65536,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':176}) +devices.devids['''portalmmm_ver2_subn223ic20tb'''] = devclass(devices.devids['''portalmmm_ver2_subn223i'''], '''portalmmm_ver2_subn223ic20tb''', '''portalmmm/2.0 N223i(c20;TB)''', False, None) +devices.devids['''portalmmm_ver2_subn500iS'''] = devclass(devices.devids['''portalmmm_ver2_subn500i'''], '''portalmmm_ver2_subn500iS''', '''portalmmm/2.0 N500iS''', True, {'''imelody''':True,'''model_name''':'''N500iS''','''ringtone_3gpp''':True,'''ringtone_imelody''':True,'''video_preferred_height''':144,'''video_preferred_width''':176}) +devices.devids['''ms_mobile_browser_ver1_sub40240320_sub55240320'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320_sub41240320'''], '''ms_mobile_browser_ver1_sub40240320_sub55240320''', '''Mozilla/4.0 (compatible; MSIE 5.5; Windows CE; PPC; 240x320)''', False, {'''brand_name''':'''Microsoft''','''model_name''':'''Pocket PC''','''unique''':False}) +devices.devids['''audiovox_cdm120_ver1'''] = devclass(devices.devids['''generic'''], '''audiovox_cdm120_ver1''', '''AUDIOVOX-CDM120''', True, {'''brand_name''':'''Audiovox''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''CDM-120''','''ringtone_mp3''':True,'''ringtone_voices''':32,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''fake_audiovox_cdm8912sp_ver1'''] = devclass(devices.devids['''audiovox_cdm8912sp_ver1'''], '''fake_audiovox_cdm8912sp_ver1''', '''AUDIOVOX-PM8910KIT''', True, {'''model_name''':'''PM-8912'''}) +devices.devids['''fake_cdm_8450sp_ver1'''] = devclass(devices.devids['''cdm_8450sp_ver1'''], '''fake_cdm_8450sp_ver1''', '''FAKE_USER_AGENT Audiovox VI600''', True, {'''model_name''':'''VI600'''}) +devices.devids['''sanyo_scp200_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sanyo_scp200_ver1''', '''Mozilla/4.0 (MobilePhone SCP-200/US/1.0) NetFront/3.0 MMP/2.0''', True, {'''brand_name''':'''Sanyo''','''colors''':65536,'''jpg''':False,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''SCP-200''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':32,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''fake_sanyo_scp7300_ver1'''] = devclass(devices.devids['''sanyo_scp7300_ver1'''], '''fake_sanyo_scp7300_ver1''', '''FAKE_USER_AGENT Sanyo RL-7300''', True, {'''model_name''':'''RL-7300'''}) +devices.devids['''fake_sanyo_vi2300_ver1'''] = devclass(devices.devids['''sanyo_vi2300_ver1'''], '''fake_sanyo_vi2300_ver1''', '''FAKE_USER_AGENT Sanyo VI-2300''', True, {'''model_name''':'''VI-2300'''}) +devices.devids['''fake_vm4050_ver1'''] = devclass(devices.devids['''vm4050_ver1'''], '''fake_vm4050_ver1''', '''FAKE_USER_AGENT Toshiba VM-4050''', True, {'''model_name''':'''VM-4050'''}) +devices.devids['''blackberry7130c_ver1'''] = devclass(devices.devids['''blackberry7130_ver1'''], '''blackberry7130c_ver1''', '''BlackBerry7130c''', True, {'''amr''':True,'''colors''':65536,'''columns''':26,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':260,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':32768,'''max_image_height''':240,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''BlackBerry 7130c''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':260,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':32,'''ringtone_wav''':True,'''rows''':18,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':260,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''blackberry7130e_ver1'''] = devclass(devices.devids['''blackberry7130_ver1'''], '''blackberry7130e_ver1''', '''BlackBerry7130e''', True, {'''model_name''':'''BlackBerry 7130e''','''ringtone_voices''':32,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/7130/4.1.03.rdf''','''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':260,'''wallpaper_preferred_width''':240}) +devices.devids['''blackberry8100_mozilla_ver1'''] = devclass(devices.devids['''blackberry8100_ver1'''], '''blackberry8100_mozilla_ver1''', '''Mozilla/4.0 BlackBerry8100''', False, {'''ajax_manipulate_css''':False,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':False,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''none''','''max_data_rate''':200}) +devices.devids['''blackberry_8310_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry_8310_ver1''', '''BlackBerry8310/4.2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/179''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':32,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':32768,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''BlackBerry 8310''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/8310/4.2.2.rdf''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''blackberry8700g_ver1'''] = devclass(devices.devids['''blackberry8700_ver1'''], '''blackberry8700g_ver1''', '''BlackBerry8700g''', True, {'''model_name''':'''BlackBerry 8700g'''}) +devices.devids['''hp_ipaq_rw6815_ver1'''] = devclass(devices.devids['''hp_ipaq_hw6515_ver1'''], '''hp_ipaq_rw6815_ver1''', '''HPiPAQrw6815/1.0 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', True, {'''au''':True,'''bmp''':True,'''brand_name''':'''HP''','''colors''':65536,'''columns''':16,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':4096,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''iPAQ RW6815''','''mp3''':True,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':36,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.hp.com/ipaqcarrier/hpipaqrw6815v10.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''HPiPAQ510'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''HPiPAQ510''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) Smartphone; 176x220; HPiPAQ510/1.0''', True, {'''au''':True,'''bmp''':True,'''brand_name''':'''HP''','''colors''':65536,'''columns''':16,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':4096,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''iPAQ 510 Voice Messenger''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':36,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.hp.com/ipaqcarrier/hpipaq510v10.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''htc_artist_ver1_sub112153'''] = devclass(devices.devids['''htc_artist_ver1'''], '''htc_artist_ver1_sub112153''', '''HTCArtist/112153 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, {'''wallpaper_colors''':12}) +devices.devids['''htc_ppc6700_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''htc_ppc6700_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Sprint:PPC-6700; PPC; 240x320)''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''PPC 6700 Apache''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':128,'''ringtone_wav''':True,'''rows''':36,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/apache-2.0.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''htc_ppc6800_ver1'''] = devclass(devices.devids['''htc_ppc6700_ver1'''], '''htc_ppc6800_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) Sprint:PPC6800''', True, {'''bmp''':True,'''colors''':65536,'''columns''':16,'''gif''':True,'''has_pointing_device''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_deck_size''':3000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''PPC6800 (Mogul)''','''mp3''':True,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':36,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/Sprint/Titan-1.0.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_wmv''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''htc_vogue_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''htc_vogue_ver1''', '''Mozilla 4.0 (compatible:MSIE 6.0; Windows CE; IEMobile 7.6) Sprint MP6900SP''', True, {'''brand_name''':'''HTC''','''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''mobile_browser_version''':'''7.6''','''model_name''':'''Vogue''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240}) +devices.devids['''htc_p3450_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''htc_p3450_ver1''', '''PPC; 240x320; HTC_P3450/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':300,'''max_image_width''':224,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser_version''':'''6.12''','''model_name''':'''P3450 Elf''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':36,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/elf-1.0.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''htc_p3450_ver1_sub231022741'''] = devclass(devices.devids['''htc_p3450_ver1'''], '''htc_p3450_ver1_sub231022741''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) PPC; 240x320; HTC P3450; OpVer 23.102.2.741''', False, {'''max_data_rate''':40}) +devices.devids['''htc_p3450_ver1_extraua'''] = devclass(devices.devids['''htc_p3450_ver1'''], '''htc_p3450_ver1_extraua''', '''HTC-P3450''', False, None) +devices.devids['''htc_p3450_ver1suborange'''] = devclass(devices.devids['''htc_p3450_ver1'''], '''htc_p3450_ver1suborange''', '''HTC-P3450-orange/PPC; 240x320; OpVer 23.114.2.741 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)''', False, None) +devices.devids['''htc_hermes_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_hermes_ver1''', '''HTC_TyTN Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Hermes''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':36,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Hermes-2.0.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3}) +devices.devids['''htc_xda_trion_ver1'''] = devclass(devices.devids['''htc_hermes_ver1'''], '''htc_xda_trion_ver1''', '''Xda_trion; 240x320 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)''', True, {'''brand_name''':'''HTC''','''model_name''':'''XDA Trion''','''uaprof''':'''http://www.htcmms.com.tw/gen/hermes-1.0.xml'''}) +devices.devids['''htc_hermes_ver2'''] = devclass(devices.devids['''htc_hermes_ver1'''], '''htc_hermes_ver2''', '''HTC_TyTN_II Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', False, {'''ajax_manipulate_css''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''msxml2''','''max_data_rate''':40}) +devices.devids['''htc_9090_ver1'''] = devclass(devices.devids['''qtek_9090_ver1'''], '''htc_9090_ver1''', '''FAKE_Qtek_9090''', True, {'''brand_name''':'''HTC''','''video''':True,'''video_3gpp''':False,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True}) +devices.devids['''htc_s411_ver1'''] = devclass(devices.devids['''generic'''], '''htc_s411_ver1''', '''HTC-S411''', True, {'''brand_name''':'''HTC''','''model_name''':'''S411''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''htc_s621_ver1'''] = devclass(devices.devids['''htc_s620_ver1'''], '''htc_s621_ver1''', '''HTC-S621''', True, {'''model_name''':'''S621''','''screensaver''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':True,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320}) +devices.devids['''kwc_kx16_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kwc_kx16_ver1''', '''KWC-KX16/1.0.26 UP.Browser/6.2.3.6 (GUI) MMP/2.0''', True, {'''brand_name''':'''Kyocera''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''KX16''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':32,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sanyo_scp2400_ver1'''] = devclass(devices.devids['''netfront_ver3_1'''], '''sanyo_scp2400_ver1''', '''Mozilla/4.0 (MobilePhone SCP-2400/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':21,'''compactmidi''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''model_name''':'''SCP2400''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''rows''':11,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP2400/1004SP.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''sanyo_scp3100_ver1'''] = devclass(devices.devids['''netfront_ver3_1'''], '''sanyo_scp3100_ver1''', '''Mozilla/4.0 (MobilePhone SCP-3100/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':21,'''compactmidi''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''model_name''':'''SCP3100''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''rows''':11,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP3100/1005SP.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''sanyo_scp3200_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''sanyo_scp3200_ver1''', '''Mozilla/4.0 (MobilePhone SCP-3200/US/1.0) NetFront/3.3L MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''model_name''':'''SCP3200''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''rows''':8,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP3200/1000SP.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''sanyo_rl4930_ver1'''] = devclass(devices.devids['''sanyo_rl4920_ver1'''], '''sanyo_rl4930_ver1''', '''Mozilla/4.0 (MobilePhone RL-4930/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':16,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':112,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':92,'''max_image_width''':128,'''midi_monophonic''':True,'''model_name''':'''SCP-4930''','''png''':True,'''resolution_height''':112,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''ringtone_voices''':32,'''rows''':7,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP4930/1004SP.rdf''','''voices''':32,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sanyo_scp6600_ver1'''] = devclass(devices.devids['''netfront_ver3_1'''], '''sanyo_scp6600_ver1''', '''Mozilla/4.0 (MobilePhone SCP-6600/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':26,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''model_name''':'''SCP6600 (Katana)''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone_midi_monophonic''':True,'''rows''':14,'''softkey_support''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP6600/1001SP.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''sanyo_scp6650_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''sanyo_scp6650_ver1''', '''Mozilla/4.0 (MobilePhone SCP-6650/US/1.0) NetFront/3.3L MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':26,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''model_name''':'''SCP-6650 Katana II''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_qcelp''':True,'''ringtone_voices''':16,'''rows''':14,'''screensaver''':True,'''softkey_support''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP6650/1004SP.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''sanyo_scp7000_ver1'''] = devclass(devices.devids['''netfront_ver3_1'''], '''sanyo_scp7000_ver1''', '''Mozilla/4.0 (MobilePhone SCP-7000/US/1.0) NetFront/3.1 MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':21,'''compactmidi''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''model_name''':'''SCP7000''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_midi_monophonic''':True,'''rows''':11,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP7000/1000SP.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':2}) +devices.devids['''sanyo_scp7050_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''sanyo_scp7050_ver1''', '''Mozilla/4.0 (MobilePhone SCP-7050/US/1.0) NetFront/3.3 MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':26,'''compactmidi''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':9,'''max_deck_size''':4096,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''model_name''':'''SCP7050''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':240,'''ringtone_midi_monophonic''':True,'''rows''':14,'''softkey_support''':True,'''streaming_mp4''':True,'''streaming_video''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/SCP7050/1002SP.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''Fly_2040_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''Fly_2040_ver1''', '''Fly_2040''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':160,'''jpg''':True,'''max_deck_size''':65536,'''max_image_height''':108,'''max_image_width''':160,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':71680,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':2040,'''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''receiver''':True,'''resolution_height''':128,'''resolution_width''':160,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_mp3''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''Fly_2040_ver1_sub11'''] = devclass(devices.devids['''Fly_2040_ver1'''], '''Fly_2040_ver1_sub11''', '''FLY-2040/2.0 (03.15) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''uaprof''':'''http://211.42.201.70/ua_profile/FLY-2040.xml'''}) +devices.devids['''fly_2040i_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_2040i_ver1''', '''FLY-2040i/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':160,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':108,'''max_image_width''':160,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':71680,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''2040i''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':160,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/FLY-2040i.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''fly_mp500_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_mp500_ver1''', '''FLY-MP500/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Elson''','''colors''':65536,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':97000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MP500''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''rows''':7,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/MP500.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''fly_mx200_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_mx200_ver1''', '''FLY-MX200''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''EZZE''','''colors''':65536,'''columns''':16,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':65536,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':71680,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MX200''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/mx200.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''fly_mx230_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_mx230_ver1''', '''FLY-MX230/Profile/MIDP.2.0Configuration/CLDC.1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MX230''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/FLY-MX230.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''fly_mx330_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_mx330_ver1''', '''FLY-MX330/Profile/MIDP.2.0Configuration/CLDC.1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MX330''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/FLY-MX330.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''Fly_SL500i_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''Fly_SL500i_ver1''', '''Fly_SL500i''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':65536,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SL500i''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_mp3''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/SL500i.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''Fly_SL500i_ver1_sub11'''] = devclass(devices.devids['''Fly_SL500i_ver1'''], '''Fly_SL500i_ver1_sub11''', '''FLY-SL500i/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', False, None) +devices.devids['''fly_sx210_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_sx210_ver1''', '''FLY-SX210/Profile/MIDP.2.0Configuration/CLDC.1.0''', True, {'''amr''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SX210''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/FLY-SX210.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''skyspring_sp710_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''skyspring_sp710_ver1''', '''SP710/Teleca/1.1.14 Profile/MIDP-1.0 Configuration/CLDC-1.0 MIDP-2.0/CLDC-1.0''', True, {'''amr''':True,'''brand_name''':'''Skyspring Vitelcom''','''colors''':65536,'''columns''':16,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':120,'''j2me_screen_width''':120,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':10240,'''max_image_height''':100,'''max_image_width''':120,'''midi_monophonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''1.0''','''model_name''':'''SP710''','''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':120,'''resolution_width''':120,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mmf''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://skyspring.co.kr/UAprof/UAprof_Sp710_wap20.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''fly_sx240_ver1'''] = devclass(devices.devids['''generic'''], '''fly_sx240_ver1''', '''Fly SX240/Teleca/Q03C1.22 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Uriver''','''colors''':4096,'''columns''':18,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''SP770''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://uriver.co.kr/UAprof/UAprof_SP770.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2}) +devices.devids['''skyspring_sx240_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''skyspring_sx240_ver1''', '''SX240/Teleca/Q03C1.22 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Skyspring''','''colors''':4096,'''columns''':18,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':50000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''X900''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':5,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://skyspring.co.kr/UAprof/UAprof_SP770.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''fly_sx300_ver2'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_sx300_ver2''', '''FLY-SX300/2.0 (03.15) Profile/MIDP-2.0 Configuration/CLDC-1.1 FLY-SX300/2.0 (03.15) Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':0,'''j2me_screen_width''':0,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':176,'''max_image_width''':220,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SX300''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':176,'''resolution_width''':220,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/FLY-SX300.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':0}) +devices.devids['''fly_sx305_ver2'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_sx305_ver2''', '''FLY-SX305/2.0 (03.15) Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':0,'''j2me_screen_width''':0,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SX305''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/FLY-SX305.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''fly_sx310_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_sx310_ver1''', '''FLY-SX310/2.0 (03.15) Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':0,'''j2me_screen_width''':0,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':220,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':300000,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SX310''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/FLY-SX310.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''eten_x500_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''eten_x500_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC)''', True, {'''brand_name''':'''ETEN''','''model_name''':'''X500'''}) +devices.devids['''vertu_generic'''] = devclass(devices.devids['''nokia_8800_ver1'''], '''vertu_generic''', '''Vertu Ltd/2.0 (503.03) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''brand_name''':'''Vertu''','''max_data_rate''':40,'''model_name''':'''Unrecognized Vertu (expensive phone)'''}) +devices.devids['''vertu_ascenti_ver1'''] = devclass(devices.devids['''vertu_generic'''], '''vertu_ascenti_ver1''', '''VertuAscentTi/2.0 (402.00) Profile/MIDP-2.1 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':131072,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':'''AscentTi''','''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/NVAscentTir100_3G.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''sagem_my213x_ver1'''] = devclass(devices.devids['''generic'''], '''sagem_my213x_ver1''', '''SAGEM-my213X''', True, {'''brand_name''':'''Sagem''','''model_name''':'''my213x''','''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':8,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sagem_my302x_ver1'''] = devclass(devices.devids['''sagem_my301x_ver1'''], '''sagem_my302x_ver1''', '''SAGEM-my302X''', True, {'''model_name''':'''my302x''','''ringtone_voices''':16,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''sagem_my401v_ver1'''] = devclass(devices.devids['''sagem_my401c_ver1'''], '''sagem_my401v_ver1''', '''SAGEM-my400V''', True, {'''model_name''':'''my400V''','''oma_v_1_0_forwardlock''':False,'''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':32,'''screensaver''':True,'''video_3gpp''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''sagem_my411v_ver1'''] = devclass(devices.devids['''sagem_my411x_ver1'''], '''sagem_my411v_ver1''', '''SAGEM-my411V''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':48128,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''my411V''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':32,'''ringtone_wav''':True,'''sender''':True,'''sp_midi''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/897330.xml''','''video''':True,'''video_3gpp''':True,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wav''':True,'''wbmp''':True,'''xhtml_support_level''':3}) +devices.devids['''sagem_my600v_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''sagem_my600v_ver1''', '''SAGEM-my600v/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':65536,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''my600v''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/896817.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_colors''':8,'''wallpaper_gif''':True,'''wav''':True,'''wbmp''':True,'''xhtml_support_level''':3}) +devices.devids['''hp_ipaq_hw6925_ver1'''] = devclass(devices.devids['''generic'''], '''hp_ipaq_hw6925_ver1''', '''HP iPAQ hw6925''', True, {'''brand_name''':'''HP''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''iPAQ HW6925''','''ringtone_mp3''':True,'''ringtone_voices''':64,'''wallpaper''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':240}) +devices.devids['''tim_igo_610_ver1'''] = devclass(devices.devids['''i_go610_ver1'''], '''tim_igo_610_ver1''', '''TIM-iGO610''', False, None) +devices.devids['''i_go620_ver1'''] = devclass(devices.devids['''i_go610_ver1'''], '''i_go620_ver1''', '''I-GO620''', True, {'''imelody''':True,'''model_name''':'''i-GO 620''','''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_voices''':40,'''wallpaper_png''':True}) +devices.devids['''tmobile_sidekick3_ver1'''] = devclass(devices.devids['''danger_hiptop_ver1'''], '''tmobile_sidekick3_ver1''', '''FAKE_Mozilla/5.0 (compatible; AvantGo 3.2; ProxiNet; Danger hiptop 1.0)''', True, {'''brand_name''':'''T-Mobile''','''model_name''':'''Sidekick 3''','''ringtone_amr''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''screensaver''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_png''':True}) +devices.devids['''lg_kg200_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg200_ver1''', '''LG-KG200/V01 Obigo/WAP2.0''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':16777216,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':30720,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG200''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG200.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_kg200j_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg200j_ver1''', '''LG-KG200j/V01 Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':16777216,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':30720,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG200j''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''ringtone_wav''':True,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG200j.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_kg280_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg280_ver1''', '''LG-KG280Obigo/WAP2.0MIDP-2.0/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':25600,'''max_image_height''':140,'''max_image_width''':128,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG280''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':160,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_voices''':64,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG280.xml''','''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''lg_kg290_ver1'''] = devclass(devices.devids['''lg_kg245_ver1'''], '''lg_kg290_ver1''', '''LG-KG290 Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':110,'''max_image_width''':122,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG290''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG290.xml'''}) +devices.devids['''lg_kg290_ver1_sub1'''] = devclass(devices.devids['''lg_kg290_ver1'''], '''lg_kg290_ver1_sub1''', '''LG-KG290/V10b Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''lg_ku580_orange_ver1'''] = devclass(devices.devids['''lg_ku580_ver1'''], '''lg_ku580_orange_ver1''', '''LG-KU580-Orange''', True, {'''max_image_height''':185,'''max_image_width''':311,'''model_name''':'''KU580-Orange''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':240,'''resolution_width''':320,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KU580.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':False,'''video_mp4''':True,'''video_wmv''':False}) +devices.devids['''nokia_2630_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_2630_ver1''', '''Nokia2630''', True, {'''j2me_cldc_1_1''':True,'''max_image_height''':130,'''max_image_width''':122,'''model_name''':2630,'''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_mp3''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N2630r100.xml'''}) +devices.devids['''nokia_2630_ver1_sub1'''] = devclass(devices.devids['''nokia_2630_ver1'''], '''nokia_2630_ver1_sub1''', '''Nokia2630/2.0 (p) Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_2760_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_2760_ver1''', '''Nokia2760''', True, {'''colors''':65536,'''columns''':18,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''max_image_height''':130,'''max_image_width''':122,'''model_name''':2760,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N2760r100.xml'''}) +devices.devids['''nokia_2760_ver1_sub1'''] = devclass(devices.devids['''nokia_2760_ver1'''], '''nokia_2760_ver1_sub1''', '''Nokia2760/2.0 (03.62) Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_3109c_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_3109c_ver1''', '''Nokia3109c''', True, {'''aac''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''connectionless_service_load''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''j2me_cldc_1_1''':True,'''j2me_screen_height''':160,'''max_deck_size''':32200,'''max_image_height''':110,'''max_image_width''':119,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_max_height''':960,'''mms_max_size''':309760,'''mms_max_width''':1280,'''mms_mp3''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''model_name''':'''3109c''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_aac''':True,'''ringtone_awb''':True,'''ringtone_mp3''':True,'''ringtone_xmf''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N3109cr100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''xmf''':True}) +devices.devids['''nokia_3109c_ver1_sub1'''] = devclass(devices.devids['''nokia_3109c_ver1'''], '''nokia_3109c_ver1_sub1''', '''Nokia3109c/2.0 (cp06w15_07w16) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_3109c_ver1_sub0530'''] = devclass(devices.devids['''nokia_3109c_ver1'''], '''nokia_3109c_ver1_sub0530''', '''Nokia3109c/2.0 (05.30) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':200}) +devices.devids['''nokia_6555_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_6555_ver1''', '''Nokia6555''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':262144,'''columns''':15,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_sub_lcd''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_1''','''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':131072,'''max_image_height''':280,'''max_image_width''':230,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wbmp''':True,'''model_name''':6555,'''mp3''':True,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''sp_midi''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_max_frame_rate''':15,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':176,'''streaming_video_qcif_max_width''':144,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N6555r100.xml''','''uaprof2''':'''http://nds1.nds.nokia.com/uaprof/N6555br100_3G.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_frame_rate''':15,'''video_max_height''':176,'''video_max_width''':144,'''video_mp4''':True,'''video_preferred_height''':176,'''video_preferred_width''':144,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':2,'''xmf''':True}) +devices.devids['''nokia_6555_ver1_sub1'''] = devclass(devices.devids['''nokia_6555_ver1'''], '''nokia_6555_ver1_sub1''', '''Nokia6555/2.0 (p) Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''nokia_6555_ver1_sub2'''] = devclass(devices.devids['''nokia_6555_ver1'''], '''nokia_6555_ver1_sub2''', '''Nokia6555b/2.0 (gr3.21) Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''castor_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''castor_ver1''', '''CASTOR/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Asmobile''','''colors''':65536,'''columns''':15,'''connectionless_cache_operation''':True,'''connectionless_service_indication''':True,'''connectionless_service_load''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':65536,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':50000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Castor''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':7,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://asmobile.ehosting.com.tw/uaprof/castor.xml''','''video''':True,'''video_3gpp''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''VX400'''] = devclass(devices.devids['''generic_xhtml'''], '''VX400''', '''VX400''', True, {'''amr''':True,'''brand_name''':'''Asmobile''','''colors''':65536,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':128,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':51200,'''max_image_height''':108,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''VS400''','''mp3''':True,'''oma_support''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':128,'''resolution_width''':128,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.voxtel.ru/UAProf/Voxtel_vs400.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''wta_voice_call''':True,'''xhtml_support_level''':1}) +devices.devids['''uniscope-U2ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''uniscope-U2ver1''', '''UNISCOPE-U2/(2006.01.01)Ver1.0.1/WAP1.2''', True, {'''brand_name''':'''Uniscope''','''colors''':65536,'''connectionless_cache_operation''':True,'''connectionoriented_confirmed_cache_operation''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_cache_operation''':True,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_data_rate''':40,'''max_deck_size''':3000,'''max_image_height''':200,'''max_image_width''':176,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':51200,'''mms_max_width''':240,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''PU2''','''nokia_voice_call''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''sender''':True,'''table_support''':True,'''uaprof''':'''http://www.uniscope.com.cn/wapup/unipu2.xml''','''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':1}) +devices.devids['''sagem_my-419x_orange_ver1'''] = devclass(devices.devids['''sagem_my405x_ver1'''], '''sagem_my-419x_orange_ver1''', '''SAGEM-my419x''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':125,'''max_image_width''':122,'''model_name''':'''my419X''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':160,'''resolution_width''':128}) +devices.devids['''sagem_my-419x_orange_ver1_sub1'''] = devclass(devices.devids['''sagem_my-419x_orange_ver1'''], '''sagem_my-419x_orange_ver1_sub1''', '''SAGEM-my419x-orange/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.1.0.f.1.165 (GUI)''', False, None) +devices.devids['''amazon_kindle_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''amazon_kindle_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0) NetFront/3.3''', True, {'''brand_name''':'''Amazon''','''max_image_height''':380,'''max_image_width''':300,'''model_name''':'''Kindle''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':400,'''resolution_width''':320,'''xhtml_support_level''':3}) +devices.devids['''mozilla40_msie60_nt50_dotnet_ver1'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla40_msie60_nt50_dotnet_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET''', False, None) +devices.devids['''mozilla40_msie60_nt50_dotnet_clr_ver1'''] = devclass(devices.devids['''mozilla40_msie60_nt50_dotnet_ver1'''], '''mozilla40_msie60_nt50_dotnet_clr_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR''', False, None) +devices.devids['''mozilla40_msie60_nt50_dotnet_clr_114322_ver1'''] = devclass(devices.devids['''mozilla40_msie60_nt50_dotnet_clr_ver1'''], '''mozilla40_msie60_nt50_dotnet_clr_114322_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)''', False, None) +devices.devids['''airness_mk99_ver1'''] = devclass(devices.devids['''airness_air99_ver1'''], '''airness_mk99_ver1''', '''MK99''', True, {'''model_name''':'''MK99''','''ringtone_amr''':True,'''ringtone_mmf''':False,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''bird_d615_ver1'''] = devclass(devices.devids['''generic'''], '''bird_d615_ver1''', '''Boost D615''', True, {'''brand_name''':'''Bird''','''model_name''':'''D615''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''bird_d736_ver1'''] = devclass(devices.devids['''generic'''], '''bird_d736_ver1''', '''OptusD736''', True, {'''brand_name''':'''Bird''','''model_name''':'''D736''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''dopod_900_ver1'''] = devclass(devices.devids['''generic'''], '''dopod_900_ver1''', '''Dopod900''', True, {'''brand_name''':'''Dopod''','''model_name''':900,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''video_qcif''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':480,'''wallpaper_preferred_width''':640}) +devices.devids['''portalmmm_ver2_subs710i'''] = devclass(devices.devids['''samsung_s720i_ver1'''], '''portalmmm_ver2_subs710i''', '''portalmmm/2.0S710i''', True, {'''model_name''':'''SGH-S710i'''}) +devices.devids['''elson_el370_ver1'''] = devclass(devices.devids['''el490_ver1'''], '''elson_el370_ver1''', '''EL370''', True, {'''model_name''':'''EL370''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''wallpaper_preferred_height''':120,'''wallpaper_preferred_width''':120}) +devices.devids['''elson_sl900_ver1'''] = devclass(devices.devids['''el490_ver1'''], '''elson_sl900_ver1''', '''SL900''', True, {'''model_name''':'''SL900''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''mp500_ver1'''] = devclass(devices.devids['''fly_mp500_ver1'''], '''mp500_ver1''', '''MP500''', False, None) +devices.devids['''nokia_2660_ver1'''] = devclass(devices.devids['''nokia_generic_series40'''], '''nokia_2660_ver1''', '''Nokia2660''', True, {'''model_name''':2660,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_mp3''':True,'''ringtone_voices''':24,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':160}) +devices.devids['''nokia_3500c_ver1'''] = devclass(devices.devids['''nokia_3500_ver1'''], '''nokia_3500c_ver1''', '''Nokia3500c''', False, {'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_h264''':'''10 1b 11 12'''}) +devices.devids['''nokia_3555_ver1'''] = devclass(devices.devids['''nokia_generic_series30'''], '''nokia_3555_ver1''', '''Nokia3555''', True, {'''model_name''':3555,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''video_3gpp''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320}) +devices.devids['''nokia_6131nfc_ver1'''] = devclass(devices.devids['''nokia_6131_ver1'''], '''nokia_6131nfc_ver1''', '''Nokia6131NFC''', True, {'''model_name''':'''6131 NFC''','''ringtone_mmf''':True,'''ringtone_wav''':True,'''wallpaper_colors''':24,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''nokia_9500_ver1_moz'''] = devclass(devices.devids['''nokia_9500_ver1'''], '''nokia_9500_ver1_moz''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series80/2.0 Nokia9500''', False, None) +devices.devids['''sec_sgh_c161_ver1'''] = devclass(devices.devids['''samsung_sgh_c160_ver1'''], '''sec_sgh_c161_ver1''', '''SEC-SGHC161''', True, {'''model_name''':'''SGH-C161''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''samsung_sgh_c161_ver1'''] = devclass(devices.devids['''sec_sgh_c161_ver1'''], '''samsung_sgh_c161_ver1''', '''SAMSUNG-SGH-C161''', False, None) +devices.devids['''sec_sgh_c260_ver1'''] = devclass(devices.devids['''samsung_sgh_c260_ver1'''], '''sec_sgh_c260_ver1''', '''SEC-SGHC260''', False, None) +devices.devids['''sec_sgh_c266_ver1'''] = devclass(devices.devids['''samsung_sgh_c260_ver1'''], '''sec_sgh_c266_ver1''', '''SEC-SGHC266''', True, {'''model_name''':'''SGH-C266'''}) +devices.devids['''sec_c421_ver1'''] = devclass(devices.devids['''samsung_sgh_c417_ver1'''], '''sec_c421_ver1''', '''SAMSUNG-SGH-C421''', True, {'''model_name''':'''SGH-C421''','''wallpaper_preferred_height''':128}) +devices.devids['''sec_sgh_c510_ver1'''] = devclass(devices.devids['''samsung_c510v_ver1'''], '''sec_sgh_c510_ver1''', '''SEC-SGHC510''', True, {'''model_name''':'''SGH-C510'''}) +devices.devids['''samsung_c510l_ver1'''] = devclass(devices.devids['''sec_sgh_c510_ver1'''], '''samsung_c510l_ver1''', '''SAMSUNG-SGH-C510L''', True, {'''model_name''':'''SGH-C510L''','''video_mp4''':True}) +devices.devids['''samsung_a412_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_a412_ver1''', '''SAMSUNG-SGH-A412''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-A412''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_a711_ver1'''] = devclass(devices.devids['''samsung_a701_ver1'''], '''samsung_a711_ver1''', '''SAMSUNG-SGH-A711''', True, {'''model_name''':'''SGH-A711''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_amr''':True,'''ringtone_voices''':16,'''video_mp4''':True,'''video_qcif''':True}) +devices.devids['''sgh_a801_ver1'''] = devclass(devices.devids['''generic'''], '''sgh_a801_ver1''', '''SAMSUNG-SGH-A801''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-A801''','''oma_v_1_0_forwardlock''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_sgh_e210_ver1'''] = devclass(devices.devids['''samsung_sgh_e200_ver1'''], '''samsung_sgh_e210_ver1''', '''SEC-SGHE210''', True, {'''model_name''':'''SGH-E210''','''ringtone_mmf''':True,'''ringtone_voices''':40,'''screensaver_directdownload_size_limit''':1536000,'''screensaver_gif''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''video_acodec_amr''':True,'''video_max_frame_rate''':30,'''video_max_height''':288,'''video_max_width''':352,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''samsung_e200l_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_e200l_ver1''', '''SAMSUNG-SGH-E230L''', True, {'''brand_name''':'''Samsung''','''max_data_rate''':200,'''model_name''':'''SGH-E230L''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_e256_ver1'''] = devclass(devices.devids['''samsung_e250_ver1'''], '''samsung_e256_ver1''', '''SAMSUNG-SGH-E256''', True, {'''model_name''':'''SGH-E256''','''screensaver''':True,'''wallpaper_jpg''':True}) +devices.devids['''samsung_e570l_ver1'''] = devclass(devices.devids['''samsung_e570_ver1'''], '''samsung_e570l_ver1''', '''SEC-SGHE570L''', True, {'''model_name''':'''SGH-E570L''','''ringtone_amr''':True,'''screensaver''':True,'''wallpaper_jpg''':True}) +devices.devids['''sec_sgh_e576_ver1'''] = devclass(devices.devids['''samsung_e570_ver1'''], '''sec_sgh_e576_ver1''', '''SEC-SGHE576''', True, {'''model_name''':'''SGH-E576''','''ringtone_voices''':16,'''screensaver''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_sgh_i718_ver1'''] = devclass(devices.devids['''samsung_sgh_i710_ver1'''], '''samsung_sgh_i718_ver1''', '''SAMSUNG-SGH-i718''', True, {'''model_name''':'''SGH-I718''','''screensaver''':True,'''wallpaper_colors''':16}) +devices.devids['''sec_sghm600_ver1'''] = devclass(devices.devids['''generic'''], '''sec_sghm600_ver1''', '''SEC-SGHM600''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-M600''','''ringtone_directdownload_size_limit''':51200,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_directdownload_size_limit''':51200,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_sghm610_ver1'''] = devclass(devices.devids['''sec_sghm600_ver1'''], '''samsung_sghm610_ver1''', '''SAMSUNG-SGH-M610''', True, {'''max_data_rate''':200,'''model_name''':'''SGH-M610''','''oma_v_1_0_forwardlock''':True,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''video_mp4''':True,'''video_qcif''':True,'''wallpaper_preferred_height''':160}) +devices.devids['''samsung_sghp910_ver1'''] = devclass(devices.devids['''sec_p910_ver1'''], '''samsung_sghp910_ver1''', '''SAMSUNG-SGH-P910''', False, {'''max_data_rate''':384}) +devices.devids['''samsung_sphm520_ver1'''] = devclass(devices.devids['''samsung_sphm500_ver1'''], '''samsung_sphm520_ver1''', '''Samsung-SPHM520''', True, {'''model_name''':'''SPH-M520''','''oma_support''':False,'''oma_v_1_0_forwardlock''':False,'''wallpaper_jpg''':False,'''wallpaper_preferred_height''':220}) +devices.devids['''sgh_t209r_ver1'''] = devclass(devices.devids['''sgh_t209_ver1'''], '''sgh_t209r_ver1''', '''SAMSUNG-SGH-T209R''', True, {'''model_name''':'''SGH-T209R'''}) +devices.devids['''samsung_sghx200_ver1'''] = devclass(devices.devids['''sec_x200_ver1'''], '''samsung_sghx200_ver1''', '''SAMSUNG-SGH-X200''', False, {'''max_data_rate''':40}) +devices.devids['''samsung_sgh_x560l_ver1'''] = devclass(devices.devids['''samsung_sgh_x550_ver1'''], '''samsung_sgh_x560l_ver1''', '''SAMSUNG-SGH-X560L''', True, {'''model_name''':'''SGH-X560L''','''screensaver''':True}) +devices.devids['''samsung_zv60vodafone_ver1'''] = devclass(devices.devids['''samsung_zv60_ver1'''], '''samsung_zv60vodafone_ver1''', '''SAMSUNG-SGH-ZV60-Vodafone''', True, {'''model_name''':'''SGH-ZV60-Vodafone'''}) +devices.devids['''o2_cocoon_ver1'''] = devclass(devices.devids['''o2_x2i_ver1'''], '''o2_cocoon_ver1''', '''COCOON''', True, {'''max_data_rate''':384,'''model_name''':'''COCOON''','''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''sonyericsson_v640iv_ver1'''] = devclass(devices.devids['''sonyericsson_v630i_ver1'''], '''sonyericsson_v640iv_ver1''', '''Mozilla/4.0 SonyEricssonV640iv''', True, {'''max_data_rate''':1800,'''model_name''':'''V640iv'''}) +devices.devids['''sonyericsson_k530i'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_k530i''', '''SonyEricssonK530i''', True, {'''columns''':24,'''fl_browser''':False,'''fl_screensaver''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''''','''max_data_rate''':384,'''max_image_height''':144,'''max_image_width''':166,'''model_name''':'''K530i''','''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':240,'''resolution_width''':176,'''ringtone_3gpp''':True,'''ringtone_voices''':40,'''rows''':10,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K530iR201.xml''','''video_qcif''':True,'''video_sqcif''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''sonyericsson_w660iv_ver1'''] = devclass(devices.devids['''sonyericsson_w660i_ver1'''], '''sonyericsson_w660iv_ver1''', '''SonyEricssonW660iv''', True, {'''model_name''':'''W660iv'''}) +devices.devids['''sonyericsson_w880i_ver1_subr1je'''] = devclass(devices.devids['''sonyericsson_w880i_ver1'''], '''sonyericsson_w880i_ver1_subr1je''', '''SonyEricssonW880i/R1JE''', False, None) +devices.devids['''sonyericsson_w830i_ver1'''] = devclass(devices.devids['''sonyericsson_w810i_ver1'''], '''sonyericsson_w830i_ver1''', '''SonyEricssonW830i''', True, {'''fl_screensaver''':True,'''fl_wallpaper''':True,'''model_name''':'''W830i''','''video_qcif''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''lg_ku450_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ku450_ver1''', '''LG/KU450''', True, {'''model_name''':'''KU450''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''lg_me550_ver1'''] = devclass(devices.devids['''lg_me540c_ver1'''], '''lg_me550_ver1''', '''LG-ME550''', True, {'''model_name''':'''ME550''','''ringtone_mp3''':True,'''ringtone_voices''':64,'''video_3gpp''':True,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''lg_me550c_ver1'''] = devclass(devices.devids['''lg_me550_ver1'''], '''lg_me550c_ver1''', '''LG-ME550c''', True, {'''model_name''':'''ME550c'''}) +devices.devids['''lg_me770c_ver1'''] = devclass(devices.devids['''lg_me550c_ver1'''], '''lg_me770c_ver1''', '''LG-ME770c''', True, {'''model_name''':'''ME770c''','''ringtone_voices''':16}) +devices.devids['''lg_me770d_ver1'''] = devclass(devices.devids['''lg_me550c_ver1'''], '''lg_me770d_ver1''', '''LG-ME770d''', True, {'''model_name''':'''ME770d''','''ringtone_amr''':True,'''ringtone_voices''':16,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True}) +devices.devids['''lg_me850c_ver1'''] = devclass(devices.devids['''lg_me550c_ver1'''], '''lg_me850c_ver1''', '''LG-ME850c''', True, {'''model_name''':'''ME850c PRADA''','''ringtone_voices''':16,'''wallpaper_preferred_height''':400,'''wallpaper_preferred_width''':240}) +devices.devids['''lg_me970d_ver1'''] = devclass(devices.devids['''lg_me970_ver1'''], '''lg_me970d_ver1''', '''LG-ME970d MIC/1.1.14 MIDP-2.0/CLDC-1.1''', True, {'''model_name''':'''ME970d''','''ringtone_voices''':40}) +devices.devids['''lg_me970c_ver1'''] = devclass(devices.devids['''lg_me970_ver1'''], '''lg_me970c_ver1''', '''LG-ME970c MIC/1.1.14 MIDP-2.0/CLDC-1.1''', True, {'''model_name''':'''ME970c''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_amr''':True,'''ringtone_wav''':True}) +devices.devids['''lg_mg180c_ver1'''] = devclass(devices.devids['''lg_mg160_ver1'''], '''lg_mg180c_ver1''', '''LG-MG180c''', True, {'''model_name''':'''MG180c''','''ringtone_voices''':4,'''wallpaper_colors''':8,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101}) +devices.devids['''lg_mg320c_ver1'''] = devclass(devices.devids['''lg_mg320_ver1'''], '''lg_mg320c_ver1''', '''LG-MG320c''', True, {'''model_name''':'''MG320c''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''lg_mg320d_ver1'''] = devclass(devices.devids['''lg_mg320_ver1'''], '''lg_mg320d_ver1''', '''LG-MG320d''', True, {'''model_name''':'''MG320D''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_voices''':64,'''video_mp4''':True}) +devices.devids['''lg_tu550_ver1'''] = devclass(devices.devids['''lg_tu500_ver1'''], '''lg_tu550_ver1''', '''LG-TU550''', True, {'''model_name''':'''TU550''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_amr''':True,'''ringtone_wav''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_preferred_height''':144,'''video_preferred_width''':176,'''video_qcif''':True}) +devices.devids['''lg_u830_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_u830_ver1''', '''LG/U830''', True, {'''model_name''':'''U830''','''ringtone_3gpp''':True,'''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''xhtml_format_as_attribute''':True,'''xhtml_format_as_css_property''':True}) +devices.devids['''mot_a1200e_ver1'''] = devclass(devices.devids['''mot_ming_ver1'''], '''mot_a1200e_ver1''', '''MOT-A1200e''', True, {'''model_name''':'''MOTOMING A1200e'''}) +devices.devids['''mot_a1200r_ver1'''] = devclass(devices.devids['''mot_ming_ver1'''], '''mot_a1200r_ver1''', '''MOT-A1200r''', True, {'''model_name''':'''MOTOMING A1200r'''}) +devices.devids['''mot_k1v_ver1'''] = devclass(devices.devids['''mot_k1_ver1'''], '''mot_k1v_ver1''', '''MOT-K1v''', True, {'''model_name''':'''KRZR K1v'''}) +devices.devids['''mot_k3_ver1'''] = devclass(devices.devids['''mot_k1_ver1'''], '''mot_k3_ver1''', '''MOT-K3''', True, {'''model_name''':'''KRZR K3''','''ringtone_voices''':64,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''nec_e235_ver1'''] = devclass(devices.devids['''nec_e232_ver1'''], '''nec_e235_ver1''', '''NEC-e235''', True, {'''model_name''':'''e235'''}) +devices.devids['''blackberry8705g_ver1'''] = devclass(devices.devids['''blackberry8703_ver1'''], '''blackberry8705g_ver1''', '''BlackBerry8705g''', True, {'''model_name''':'''BlackBerry 8705g'''}) +devices.devids['''hp_ipaq_510_ver1'''] = devclass(devices.devids['''generic'''], '''hp_ipaq_510_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 176x220; HP iPAQ 510)''', True, {'''brand_name''':'''HP''','''model_name''':'''iPAQ 510''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''hp_ipaq_rw6800_ver1'''] = devclass(devices.devids['''generic'''], '''hp_ipaq_rw6800_ver1''', '''HPiPAQrw6800''', True, {'''brand_name''':'''HP''','''model_name''':'''iPAQ RW6800''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''video_mp4''':True,'''video_qcif''':True,'''video_sqcif''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''htc_p3450_ver1_vodafone'''] = devclass(devices.devids['''htc_p3450_ver1'''], '''htc_p3450_ver1_vodafone''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) Vodafone/1.0/HTC_Elf''', False, None) +devices.devids['''htc_p3600i_ver1'''] = devclass(devices.devids['''htc_p3600_ver1'''], '''htc_p3600i_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) PPC; 240x320; HTC_P3600i''', False, None) +devices.devids['''i_mate_jasjam_ver1'''] = devclass(devices.devids['''generic'''], '''i_mate_jasjam_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; i-mate JASJAM V2 PPC; 240x320; i-mate JASJAM PPC; 240x320; PPC; 240x320)''', True, {'''brand_name''':'''i-mate''','''model_name''':'''JASJAM''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''sagem_my401z_ver1'''] = devclass(devices.devids['''sagem_my401c_ver1'''], '''sagem_my401z_ver1''', '''SAGEM-my401Z''', True, {'''model_name''':'''my401Z'''}) +devices.devids['''sagem_my810xorange_ver1'''] = devclass(devices.devids['''sagem_my800x_ver1'''], '''sagem_my810xorange_ver1''', '''SAGEM-my810x-orange ''', True, {'''model_name''':'''my810X''','''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''gradiente_gc202x_ver1'''] = devclass(devices.devids['''generic_gradiente'''], '''gradiente_gc202x_ver1''', '''GRADIENTE-GC-202X''', True, {'''imelody''':True,'''model_name''':'''GC-202X''','''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':12,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':80,'''wallpaper_preferred_width''':101}) +devices.devids['''gradiente_gc370_ver1sub1'''] = devclass(devices.devids['''gradiente_gc370_ver1'''], '''gradiente_gc370_ver1sub1''', '''GRADIENTE-GC370''', False, None) +devices.devids['''gradiente_gf500_ver1'''] = devclass(devices.devids['''generic_gradiente'''], '''gradiente_gf500_ver1''', '''GF500/BSI AU.Browser/2.0 QO3C1 MMP/1.0 GF500/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', True, {'''model_name''':'''GF-500''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''gradiente_gf600_ver1'''] = devclass(devices.devids['''sagem_myc3_2_ver1'''], '''gradiente_gf600_ver1''', '''FAKE_SAGEM-myC3-2''', True, {'''brand_name''':'''Gradiente''','''imelody''':True,'''model_name''':'''GF-600''','''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''wallpaper''':True}) +devices.devids['''gradiente_gf950_sub1'''] = devclass(devices.devids['''gradiente_gf950'''], '''gradiente_gf950_sub1''', '''GF950/BSI AU.Browser/2.0 QO3C1 MMP/1.0 GF950/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', False, None) +devices.devids['''gradiente_gx2_ver1'''] = devclass(devices.devids['''sagem_myx_2_ver1'''], '''gradiente_gx2_ver1''', '''FAKE_SAGEM-myX-2''', True, {'''brand_name''':'''Gradiente''','''model_name''':'''Concept GX-2''','''ringtone_voices''':16,'''wallpaper_colors''':12}) +devices.devids['''vkmobile_vk2020_ver1'''] = devclass(devices.devids['''vkmobile_vk2010_ver1'''], '''vkmobile_vk2020_ver1''', '''VK-VK2020''', True, {'''model_name''':'''VK2020''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':64,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''vkmobile_vk4000_ver1'''] = devclass(devices.devids['''vkmobile_vk2020_ver1'''], '''vkmobile_vk4000_ver1''', '''VK-VK4000''', True, {'''model_name''':'''VK4000''','''ringtone_mp3''':True}) +devices.devids['''vkmobile_vk4500_ver1'''] = devclass(devices.devids['''vkmobile_vk4000_ver1'''], '''vkmobile_vk4500_ver1''', '''VK-VK4500''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''VK Mobile''','''colors''':65000,'''gif''':True,'''gif_animated''':True,'''greyscale''':False,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''max_image_height''':144,'''max_image_width''':176,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''VK4500''','''mp3''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':220,'''resolution_width''':176,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''verizon_mot325_ver1'''] = devclass(devices.devids['''mot_v325_verizon_ver1'''], '''verizon_mot325_ver1''', '''motov325''', True, {'''gif_animated''':True,'''model_name''':'''V325 (Verizon Wireless)''','''wallpaper_jpg''':True}) +devices.devids['''asus_v75_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''asus_v75_ver1''', '''ASUS-V75''', True, {'''brand_name''':'''Asus''','''model_name''':'''V75''','''screensaver_gif''':True,'''uaprof''':'''http://uaprofile.asus.com/uaprof/ASUS-V75_UAProf.xml''','''wallpaper_jpg''':True}) +devices.devids['''lg_mu500_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_mu500_ver1''', '''LG-MU500''', True, {'''model_name''':'''MU500''','''uaprof''':'''http://gsm.lge.com/html/gsm/LG-MU500.xml'''}) +devices.devids['''lg_cu720_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_cu720_ver1''', '''LG-CU720/V0.9 Obigo/Q05A Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_heap_size''':1000,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':384,'''max_deck_size''':60000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':614400,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''5.0''','''model_name''':'''CU720''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''picture_colors''':65536,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':15,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_real_media_10''':True,'''streaming_real_media_8''':True,'''streaming_real_media_9''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':320,'''streaming_video_qcif_max_width''':240,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-CU720.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_max_frame_rate''':15,'''video_max_height''':320,'''video_max_width''':240,'''video_mp4''':True,'''video_preferred_height''':320,'''video_preferred_width''':240,'''video_qcif''':True,'''video_real_media_10''':True,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_h264''':10,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':65536,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wav''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_cu920_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_cu920_ver1''', '''LG-CU920/V0.9 Obigo/Q05A Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':65536,'''columns''':25,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':400,'''j2me_screen_width''':240,'''max_data_rate''':384,'''max_deck_size''':60000,'''max_image_height''':240,'''max_image_width''':380,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_frame_rate''':15,'''mms_max_height''':1200,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''5.0''','''model_name''':'''CU920''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''picture''':True,'''picture_colors''':65536,'''picture_jpg''':True,'''picture_png''':True,'''png''':True,'''receiver''':True,'''resolution_height''':400,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':15,'''screensaver_colors''':65536,'''sender''':True,'''softkey_support''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_real_media_10''':True,'''streaming_real_media_8''':True,'''streaming_real_media_9''':True,'''streaming_video''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_max_frame_rate''':15,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':320,'''streaming_video_qcif_max_width''':240,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-CU920.xml''','''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_max_frame_rate''':15,'''video_max_height''':320,'''video_max_width''':240,'''video_mp4''':True,'''video_preferred_height''':320,'''video_preferred_width''':240,'''video_real_media_10''':True,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_h264''':10,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':65536,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':400,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':400,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wav''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''verizon_mot_krzr_k1c_ver1'''] = devclass(devices.devids['''mot_krzr_k1c_ver1'''], '''verizon_mot_krzr_k1c_ver1''', '''Motok1c''', True, {'''gif_animated''':True,'''model_name''':'''KRZR K1c (Verizon Wireless)''','''ringtone_midi_polyphonic''':True,'''wallpaper_jpg''':True}) +devices.devids['''verizon_mot_slv_l7c_ver1'''] = devclass(devices.devids['''mot_slv_l7c_ver1'''], '''verizon_mot_slv_l7c_ver1''', '''motol7c''', True, {'''model_name''':'''L7c (Verizon Wireless)''','''ringtone_midi_polyphonic''':True,'''wallpaper_jpg''':True}) +devices.devids['''verizon_mot_v9m_ver1'''] = devclass(devices.devids['''mot_v9m_ver1'''], '''verizon_mot_v9m_ver1''', '''motv9m''', True, {'''model_name''':'''RAZR V9m (Verizon Wireless)'''}) +devices.devids['''verizon_mot_w385_ver1'''] = devclass(devices.devids['''mot_w385_ver1'''], '''verizon_mot_w385_ver1''', '''motow385''', True, {'''model_name''':'''W385m (Verizon Wireless)'''}) +devices.devids['''verizon_sch_u540_ver1'''] = devclass(devices.devids['''sch_u540_ver1'''], '''verizon_sch_u540_ver1''', '''samu540''', True, {'''model_name''':'''SCH-U540 (Verizon Wireless)'''}) +devices.devids['''verizon_sch_u620_ver1'''] = devclass(devices.devids['''samsung_u620_verizon'''], '''verizon_sch_u620_ver1''', '''samu620''', True, {'''model_name''':'''SCH-U620 (Verizon Wireless)'''}) +devices.devids['''verizon_sch_u740_ver1'''] = devclass(devices.devids['''samsung_u740_verizon'''], '''verizon_sch_u740_ver1''', '''samu740''', True, {'''model_name''':'''SCH-U740 (Verizon Wireless)'''}) +devices.devids['''verizon_lge_vx8550_ver1'''] = devclass(devices.devids['''lge_vx8550_ver1'''], '''verizon_lge_vx8550_ver1''', '''VX8550v1''', True, {'''model_name''':'''VX-8550 (Verizon Wireless)'''}) +devices.devids['''verizon_lge_vx8350_ver1'''] = devclass(devices.devids['''lge_vx8350_ver1'''], '''verizon_lge_vx8350_ver1''', '''VX8350v1''', True, {'''model_name''':'''VX-8350 (Verizon Wireless)'''}) +devices.devids['''verizon_lge_vx8700_ver1'''] = devclass(devices.devids['''lge_vx8700_ver1'''], '''verizon_lge_vx8700_ver1''', '''VX8700v1''', True, {'''model_name''':'''VX-8700 (Verizon Wireless)'''}) +devices.devids['''verizon_lge_vx8600_ver1'''] = devclass(devices.devids['''lge_vx8600_ver1'''], '''verizon_lge_vx8600_ver1''', '''VX8600v1''', True, {'''gif_animated''':True,'''model_name''':'''VX-8600 (Verizon Wireless)''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''wallpaper_jpg''':True}) +devices.devids['''verizon_lge_vx9400_ver1'''] = devclass(devices.devids['''lge_vx9400_ver1'''], '''verizon_lge_vx9400_ver1''', '''VX9400v1''', True, {'''gif_animated''':True,'''model_name''':'''VX-9400 (Verizon Wireless)''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''wallpaper_jpg''':True}) +devices.devids['''verizon_lge_vx9900_ver1'''] = devclass(devices.devids['''lge_vx9900_ver1'''], '''verizon_lge_vx9900_ver1''', '''VX9900v1''', True, {'''gif_animated''':True,'''model_name''':'''VX-9900 (Verizon Wireless)''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''wallpaper_jpg''':True}) +devices.devids['''verizon_utstargz1_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''verizon_utstargz1_ver1''', '''Utstargz1''', True, {'''brand_name''':'''UTStarcom''','''model_name''':'''G'zOne Type-V (Verizon Wireless)'''}) +devices.devids['''verizon_utstargz1s_ver1'''] = devclass(devices.devids['''utstargz1s_ver1'''], '''verizon_utstargz1s_ver1''', '''Utstargz1s''', True, {'''gif_animated''':True,'''model_name''':'''G'zOne Type-S (Verizon Wireless)''','''wallpaper_jpg''':True}) +devices.devids['''sgh_a747_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''sgh_a747_ver1''', '''SAMSUNG-SGH-A747/1.0 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''columns''':20,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''max_data_rate''':384,'''max_deck_size''':5000,'''max_image_height''':200,'''max_image_width''':176,'''mmf''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':614400,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''model_name''':'''SGH-A747''','''mp3''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''receiver''':True,'''resolution_height''':200,'''resolution_width''':176,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':176,'''streaming_video_qcif_max_width''':144,'''streaming_video_sqcif''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/A747UAProf.xml''','''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_height''':176,'''video_max_width''':144,'''video_mp4''':True,'''video_preferred_height''':176,'''video_preferred_width''':144,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''wav''':True,'''xmf''':True}) +devices.devids['''SonyEricsson_z750a_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3_4'''], '''SonyEricsson_z750a_ver1''', '''SonyEricssonZ750a/R1BA Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''bmp''':True,'''colors''':262144,'''columns''':16,'''connectionless_service_load''':True,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''connectionoriented_unconfirmed_service_indication''':True,'''connectionoriented_unconfirmed_service_load''':True,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':384,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''z750a''','''mp3''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_awb''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_max_frame_rate''':15,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':320,'''streaming_video_qcif_max_width''':240,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/z750ar101.xml''','''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_max_frame_rate''':15,'''video_max_height''':320,'''video_max_width''':240,'''video_mp4''':True,'''video_preferred_height''':320,'''video_preferred_width''':240,'''video_real_media_10''':True,'''video_real_media_8''':True,'''video_real_media_9''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_h264''':10,'''video_vcodec_mpeg4''':True,'''video_wmv''':True,'''wav''':True,'''wta_pdc''':True,'''xmf''':True}) +devices.devids['''lg_380_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_380_ver1''', '''LG380''', True, {'''model_name''':380,'''uaprof''':'''http://device.telusmobility.com/lg/LG380-0.rdf'''}) +devices.devids['''samsung_i620_opera865'''] = devclass(devices.devids['''samsung_i620_ver1'''], '''samsung_i620_opera865''', '''SEC-SGHI620/1.0 Browser/Opera/8.65 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''palm_centro_gsm_ver1'''] = devclass(devices.devids['''palm_centro'''], '''palm_centro_gsm_ver1''', '''PalmCentro/v0001/RC1 Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D061; Blazer/4.5) 16;320x320''', True, {'''model_name''':'''Centro'''}) +devices.devids['''lg_cu915_ver1'''] = devclass(devices.devids['''lg_cu920_ver1'''], '''lg_cu915_ver1''', '''LG-CU915/V0.9 Obigo/Q05A Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''j2me_cldc_1_1''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''5.0''','''model_name''':'''CU915''','''uaprof''':'''http://gsm.lge.com/html/gsm/LG-CU915.xml'''}) +devices.devids['''samsung_i617_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''samsung_i617_ver1''', '''SAMSUNG-SGH-I617/1.0 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)''', True, {'''aac''':True,'''amr''':True,'''awb''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':33,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':240,'''j2me_screen_width''':320,'''max_data_rate''':384,'''max_deck_size''':3000,'''max_image_height''':220,'''max_image_width''':320,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':614400,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_spmidi''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-I617 BlackJack II''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''preferred_markup''':'''html_web_4_0''','''receiver''':True,'''resolution_height''':240,'''resolution_width''':320,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''rows''':12,'''screensaver''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/i617_10.xml''','''video_3gpp''':True,'''video_acodec_amr''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''blackberry8130_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry8130_ver1''', '''BlackBerry8130/4.3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/109''', True, {'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''model_name''':'''BlackBerry 8130 (Pearl)''','''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/8130/4.3.0.rdf'''}) +devices.devids['''nokia_n82_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_n82_ver1''', '''Mozilla/5.0(SymbianOS/9.2; U; Series60/3.1 NokiaN82/10.0.035; Profile/MIDP-2.0 Configuration/CLDC-1.1;) AppleWebKit/413(KHTML, like Gecko)Safari/413''', True, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_xhr_type''':'''standard''','''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''fl_wallpaper''':False,'''flash_lite_version''':'''2_0''','''j2me_cldc_1_1''':True,'''max_data_rate''':384,'''max_image_height''':320,'''max_image_width''':240,'''model_name''':'''N82''','''resolution_height''':320,'''resolution_width''':240,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/NN82-1r100.xml'''}) +devices.devids['''lg_ku380_ver1_subvoda'''] = devclass(devices.devids['''lg_ku380_ver1'''], '''lg_ku380_ver1_subvoda''', '''Vodafone/1.0/LG-KU380/V10a''', False, {'''uaprof2''':'''http://gsm.lge.com/html/gsm/LG-KU380-VDF.xml'''}) +devices.devids['''lg_cg180_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_cg180_ver1''', '''LG-CG180/V0.9 UP.Browser/6.2.3 (GUI) MMP/1.0''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':8,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_screen_height''':95,'''j2me_screen_width''':128,'''max_deck_size''':4096,'''max_image_height''':75,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mobile_browser''':'''OpenWave''','''mobile_browser_version''':'''6.2''','''model_name''':'''CG180''','''mp3''':True,'''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''resolution_height''':95,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':16,'''softkey_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-CG180.xml''','''wap_push_support''':True,'''wta_phonebook''':True}) +devices.devids['''pantech_c810_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''pantech_c810_ver1''', '''PANTECH-C810/R01 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''brand_name''':'''Pantech''','''colors''':65536,'''columns''':33,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''has_qwerty_keyboard''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''max_data_rate''':384,'''max_deck_size''':3000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mmf''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':614400,'''mms_max_width''':1024,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''IEMobile''','''mobile_browser_version''':'''7.6''','''model_name''':'''C810 (Duo)''','''mp3''':True,'''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_web_4_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''rows''':12,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_mp4''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_max_frame_rate''':15,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':320,'''streaming_video_qcif_max_width''':240,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://www.pantech.com/Uaprof/umts/PU-C810.xml''','''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_frame_rate''':15,'''video_max_height''':320,'''video_max_width''':240,'''video_mp4''':True,'''video_preferred_height''':320,'''video_preferred_width''':240,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_h264''':10,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':65536,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wav''':True,'''wta_phonebook''':True}) +devices.devids['''mot_z9_ver1'''] = devclass(devices.devids['''mot_v3xx_ver1'''], '''mot_z9_ver1''', '''MOT-MOTOZ9/9E.01.03R BER2.2 Mozilla/4.0 (compatible; MSIE 6.0; 13003280) Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''j2me_cldc_1_1''':True,'''max_data_rate''':384,'''mobile_browser''':'''Opera''','''mobile_browser_version''':'''8.6''','''model_name''':'''Z9''','''ringtone_aac''':True,'''ringtone_awb''':True,'''streaming_3gpp''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_max_frame_rate''':15,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':176,'''streaming_video_qcif_max_width''':144,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://uaprof.motorola.com/phoneconfig/MOTOz9/Profile/MOTOz9.rdf''','''uaprof2''':'''''','''video_acodec_aac''':True,'''video_acodec_awb''':True,'''video_max_frame_rate''':15}) +devices.devids['''nokia_6263_ver1'''] = devclass(devices.devids['''nokia_6133_ver1'''], '''nokia_6263_ver1''', '''Nokia6263/2.0 (04.44) Profile/MIDP-2.1 Configuration/CLDC-1.1''', True, {'''aac''':True,'''awb''':True,'''bmp''':True,'''flash_lite_version''':'''2_1''','''html_web_4_0''':True,'''max_data_rate''':384,'''max_deck_size''':131072,'''mms_3gpp''':True,'''mms_max_frame_rate''':15,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_mp3''':True,'''mms_vcalendar''':True,'''mms_video''':True,'''model_name''':6263,'''mp3''':True,'''ringtone_aac''':True,'''ringtone_awb''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''streaming_video_acodec_aac''':True,'''streaming_video_acodec_aac_ltp''':True,'''streaming_video_acodec_amr''':True,'''streaming_video_acodec_awb''':True,'''streaming_video_max_frame_rate''':15,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':176,'''streaming_video_qcif_max_width''':144,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_mpeg4''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/N6263r100_3G.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_aac''':True,'''video_acodec_aac_ltp''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_max_frame_rate''':15,'''video_max_height''':176,'''video_max_width''':144,'''video_mp4''':True,'''video_preferred_height''':176,'''video_preferred_width''':144,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_bmp''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True,'''xmf''':True}) +devices.devids['''nokia_5140_ver1_sub375'''] = devclass(devices.devids['''nokia_5140_ver1'''], '''nokia_5140_ver1_sub375''', '''Nokia5140i/2.0 (03.75) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_f700_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''samsung_f700_ver1''', '''SAMSUNG-SGH-F700-Vodafone/F700AMGJ8 SHP/VPP/R5 NetFront/3.4 Qtv5.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', True, {'''brand_name''':'''Samsung''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':20,'''gif_animated''':True,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':3600,'''max_image_height''':320,'''max_image_width''':240,'''max_object_size''':5000000,'''mobile_browser''':'''Access''','''mobile_browser_version''':'''3.4''','''model_name''':'''SGH-F700''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_colors''':65536,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':320,'''picture_max_width''':240,'''picture_oma_size_limit''':300000,'''picture_preferred_height''':320,'''picture_preferred_width''':240,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_mp3''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':16,'''screensaver''':True,'''screensaver_colors''':256,'''screensaver_gif''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_oma_size_limit''':300000,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''sp_midi''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/F700VUAProf3G.rdf''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_max_height''':288,'''video_max_width''':352,'''video_mp4''':True,'''video_preferred_height''':288,'''video_preferred_width''':352,'''video_vcodec_h263_0''':True,'''video_vcodec_mpeg4''':True,'''wallpaper_colors''':65536,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_oma_size_limit''':300000,'''wap_push_support''':True,'''wbmp''':False}) +devices.devids['''nokia_n73_ver1_submozilla30638_de'''] = devclass(devices.devids['''nokia_n73_ver1_submozilla30638_en'''], '''nokia_n73_ver1_submozilla30638_de''', '''NokiaN73-1/3.0638.0.0.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_f490_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''samsung_f490_ver1''', '''SAMSUNG-SGH-F490/F490XXGL3 SHP/VPP/R5 NetFront/3.4 Qtv5.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', True, {'''brand_name''':'''Samsung''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':3600,'''model_name''':'''SGH-F490'''}) +devices.devids['''nokia_6288_ver1_sub0643'''] = devclass(devices.devids['''nokia_6288_ver1'''], '''nokia_6288_ver1_sub0643''', '''Nokia6288/2.0 (06.43) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_k770iv_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3'''], '''sonyericsson_k770iv_ver1''', '''SonyEricssonK770iv/R8AC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''brand_name''':'''SonyEricsson''','''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':320,'''max_image_width''':240,'''model_name''':'''K770iv''','''resolution_height''':320,'''resolution_width''':240,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K770iR201-3G.xml'''}) +devices.devids['''samsung_d500_ver1_sub1'''] = devclass(devices.devids['''samsung_d500_ver1'''], '''samsung_d500_ver1_sub1''', '''SAMSUNG-SGH-D500/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6111_ver1_sub0358'''] = devclass(devices.devids['''nokia_6111_ver1'''], '''nokia_6111_ver1_sub0358''', '''Nokia6111/2.0 (03.58) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_w800i_sub_r1aa'''] = devclass(devices.devids['''sonyericsson_w800i'''], '''sonyericsson_w800i_sub_r1aa''', '''SonyEricssonW800i/R1AA Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_3110c_ver1_sub0550'''] = devclass(devices.devids['''nokia_3110c_ver1'''], '''nokia_3110c_ver1_sub0550''', '''Nokia3110c/2.0 (05.50) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_w810i_subr4ea'''] = devclass(devices.devids['''sonyericsson_w810i_ver1'''], '''sonyericsson_w810i_subr4ea''', '''SonyEricssonW810i/R4EA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_k800i_ver1_subr1kg'''] = devclass(devices.devids['''sonyericsson_k800i_ver1'''], '''sonyericsson_k800i_ver1_subr1kg''', '''SonyEricssonK800i/R1KG Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_v630i_ver1_subr1jc'''] = devclass(devices.devids['''sonyericsson_v630i_ver1'''], '''sonyericsson_v630i_ver1_subr1jc''', '''SonyEricssonV630iv/R1JC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_v3r_ver1_sub08bdb3r'''] = devclass(devices.devids['''mot_v3r_ver1'''], '''mot_v3r_ver1_sub08bdb3r''', '''MOT-V3r/08.BD.B3R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_e250_ver1_sub1'''] = devclass(devices.devids['''samsung_e250_ver1'''], '''samsung_e250_ver1_sub1''', '''SAMSUNG-SGH-E250/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_f200_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''samsung_f200_ver1''', '''SEC-SGHF200/1.0 NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''brand_name''':'''Samsung''','''gif_animated''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':220,'''max_object_size''':2500000,'''mmf''':True,'''mobile_browser''':'''Access''','''mobile_browser_version''':'''3.4''','''model_name''':'''SGH-F200''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture''':True,'''picture_colors''':65536,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':220,'''picture_max_width''':128,'''picture_oma_size_limit''':2500000,'''picture_preferred_height''':220,'''picture_preferred_width''':128,'''resolution_height''':220,'''ringtone''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_colors''':256,'''screensaver_gif''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':128,'''screensaver_oma_size_limit''':2500000,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':128,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_max_height''':288,'''video_max_width''':352,'''video_mp4''':True,'''video_oma_size_limit''':3000000,'''video_preferred_height''':288,'''video_preferred_width''':352,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_colors''':65536,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':128,'''wallpaper_oma_size_limit''':2500000,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wav''':True}) +devices.devids['''nokia_7373_ver1_sub0470'''] = devclass(devices.devids['''nokia_7373_ver1'''], '''nokia_7373_ver1_sub0470''', '''Nokia7373/2.0 (04.70) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_u700_ver1_subakg12'''] = devclass(devices.devids['''samsung_u700_ver1'''], '''samsung_u700_ver1_subakg12''', '''SAMSUNG-SGH-U700/AKGI2 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_e250_ver1_subboga3'''] = devclass(devices.devids['''samsung_e250_ver1'''], '''samsung_e250_ver1_subboga3''', '''SAMSUNG-SGH-E250/E250BOGA3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_u700_ver1_subvoda'''] = devclass(devices.devids['''samsung_u700_ver1'''], '''samsung_u700_ver1_subvoda''', '''SAMSUNG-SGH-U700-Vodafone/AMGE1 SHP/VPP/R5 NetFront/3.4 Qtv5.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_d900i_ver1_subbogj1'''] = devclass(devices.devids['''samsung_d900i_ver1'''], '''samsung_d900i_ver1_subbogj1''', '''SAMSUNG-SGH-D900i/D900iBOGJ1 Profile/MIDP-2.0 Configuration/CLDC-1.1 ''', False, None) +devices.devids['''nokia_7360_ver1_sub0522'''] = devclass(devices.devids['''nokia_7360_ver1'''], '''nokia_7360_ver1_sub0522''', '''Nokia7360/2.0 (05.22) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6500c_ver1'''] = devclass(devices.devids['''nokia_6500_ver1'''], '''nokia_6500c_ver1''', '''Nokia6500c/2.0 (03.21) Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, {'''ajax_support_getelementbyid''':True,'''ajax_support_javascript''':True}) +devices.devids['''samsung_u700_ver1_subakgf1'''] = devclass(devices.devids['''samsung_u700_ver1'''], '''samsung_u700_ver1_subakgf1''', '''SAMSUNG-SGH-U700/AKGF1 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, None) +devices.devids['''mot_v220_ver1_sub0bd22cr'''] = devclass(devices.devids['''mot_v220_ver1'''], '''mot_v220_ver1_sub0bd22cr''', '''MOT-V220/0B.D2.2CR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v3i_ver1_sub08b48dr'''] = devclass(devices.devids['''mot_v3i_ver1'''], '''mot_v3i_ver1_sub08b48dr''', '''MOT-V3i/08.B4.8DR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_m55_ver1_sub1'''] = devclass(devices.devids['''sie_m55_ver1'''], '''sie_m55_ver1_sub1''', '''SIE-M55/10''', False, None) +devices.devids['''sie_s88_ver1_sub1'''] = devclass(devices.devids['''sie_s88_ver1'''], '''sie_s88_ver1_sub1''', '''BenQ-S88/1.00/WAP2.0/MIDP2.0/CLDC1.0 ''', False, None) +devices.devids['''nokia_5140i_ver1_sub0385'''] = devclass(devices.devids['''nokia_5140i_ver1'''], '''nokia_5140i_ver1_sub0385''', '''Nokia5140i/2.0 (03.85) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6670_ver1_sub404374'''] = devclass(devices.devids['''nokia_6670_ver1'''], '''nokia_6670_ver1_sub404374''', '''Nokia6670/2.0 (4.0437.4) SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''samsung_f700_ver1_subvoda'''] = devclass(devices.devids['''samsung_f700_ver1'''], '''samsung_f700_ver1_subvoda''', '''SAMSUNG-SGH-F700-Vodafone/F700AUGK1 SHP/VPP/R5 NetFront/3.4 Qtv5.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6100_ver1_sub0516'''] = devclass(devices.devids['''nokia_6100_ver1'''], '''nokia_6100_ver1_sub0516''', '''Nokia6100/1.0 (05.16) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_6020_ver1_sub0490'''] = devclass(devices.devids['''nokia_6020_ver1'''], '''nokia_6020_ver1_sub0490''', '''Nokia6021/2.0 (04.90) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_5500d_ver1_sub0314'''] = devclass(devices.devids['''nokia_5500d_ver1'''], '''nokia_5500d_ver1_sub0314''', '''Nokia5500d/2.0 (03.14) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_k1_ver1_sub080308r'''] = devclass(devices.devids['''mot_k1_ver1'''], '''mot_k1_ver1_sub080308r''', '''MOT-K1/08.03.08R MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', False, None) +devices.devids['''mot_pebl_ver1_sub088376r'''] = devclass(devices.devids['''mot_pebl_ver1'''], '''mot_pebl_ver1_sub088376r''', '''MOT-PEBL U6/08.83.76R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':40}) +devices.devids['''nokia_6030_ver1_sub343'''] = devclass(devices.devids['''nokia_6030_ver1'''], '''nokia_6030_ver1_sub343''', '''Nokia6030/2.0 (y3.43) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_l6_ver1_sub0a531ar'''] = devclass(devices.devids['''mot_l6_ver1'''], '''mot_l6_ver1_sub0a531ar''', '''MOT-L6/0A.53.1AR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6020_ver1_sub490'''] = devclass(devices.devids['''nokia_6020_ver1'''], '''nokia_6020_ver1_sub490''', '''Nokia6020/2.0 (04.90) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_cf62_ver1_sub11'''] = devclass(devices.devids['''sie_cf62_ver1'''], '''sie_cf62_ver1_sub11''', '''SIE-CF62/11 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.7.3 (GUI) MMP/1.0''', False, None) +devices.devids['''sie_c65_ver1_sub25'''] = devclass(devices.devids['''sie_c65_ver1'''], '''sie_c65_ver1_sub25''', '''SIE-C65/25''', False, None) +devices.devids['''sonyericsson_k550i_ver1_subr1jd'''] = devclass(devices.devids['''sonyericsson_k550i_ver1'''], '''sonyericsson_k550i_ver1_subr1jd''', '''SonyEricssonK550i/R1JD Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''htc_wizard_ver1_subvoda'''] = devclass(devices.devids['''htc_wizard_ver1'''], '''htc_wizard_ver1_subvoda''', '''Vodafone/1.0/HTC_wizard/2.21.3.102/Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''nokia_n95_ver1_sub_mozilla_d'''] = devclass(devices.devids['''nokia_n95_ver1_sub_mozilla'''], '''nokia_n95_ver1_sub_mozilla_d''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95_8GB/10.0.021; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''samsung_d900i_ver1_sub1_a'''] = devclass(devices.devids['''samsung_d900i_ver1'''], '''samsung_d900i_ver1_sub1_a''', '''SAMSUNG-SGH-D900i/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_x660_ver1_subel3'''] = devclass(devices.devids['''samsung_x660_ver1'''], '''samsung_x660_ver1_subel3''', '''SEC-SGHX660/EL3 TSS/2.5''', False, None) +devices.devids['''sonyericsson_j220i_ver1_subr5f'''] = devclass(devices.devids['''sonyericsson_j220i_ver1'''], '''sonyericsson_j220i_ver1_subr5f''', '''SonyEricssonJ220i/R5F TelecaBrowser/4.08''', False, None) +devices.devids['''nokia_6230_ver1_sub0314'''] = devclass(devices.devids['''nokia_6230_ver1'''], '''nokia_6230_ver1_sub0314''', '''Nokia6230/2.0 (03.14) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_e380_ver1_sub1'''] = devclass(devices.devids['''samsung_e380_ver1'''], '''samsung_e380_ver1_sub1''', '''SAMSUNG-SGH-E380/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_w880iv_ver1_subr1jc'''] = devclass(devices.devids['''sonyericsson_w880iv_ver1'''], '''sonyericsson_w880iv_ver1_subr1jc''', '''SonyEricssonW880iv/R1JC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_e351_ver1'''] = devclass(devices.devids['''samsung_e350_ver1'''], '''samsung_e351_ver1''', '''SAMSUNG-SGH-E351/1.0''', False, None) +devices.devids['''samsung_x830_ver1'''] = devclass(devices.devids['''sec_x830_ver1'''], '''samsung_x830_ver1''', '''SEC-SGHX830/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''brand_name''':'''Samsung''','''gif_animated''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_image_height''':220,'''max_object_size''':3000000,'''mobile_browser''':'''ACCESS''','''mobile_browser_version''':'''3.2''','''model_name''':'''X830''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture''':True,'''picture_gif''':True,'''picture_jpg''':True,'''picture_max_height''':220,'''picture_max_width''':128,'''picture_preferred_height''':220,'''picture_preferred_width''':128,'''resolution_height''':220,'''ringtone''':True,'''ringtone_mp3''':True,'''screensaver''':True,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':220,'''screensaver_max_width''':128,'''screensaver_oma_size_limit''':700000,'''screensaver_preferred_height''':220,'''screensaver_preferred_width''':128,'''smf''':True,'''sp_midi''':True,'''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_acodec_amr''':True,'''video_acodec_awb''':True,'''video_mp4''':True,'''video_preferred_height''':96,'''video_preferred_width''':128,'''video_qcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_mpeg4''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':220,'''wallpaper_max_width''':128,'''wallpaper_oma_size_limit''':700000,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':128,'''wap_push_support''':True}) +devices.devids['''nokia_3100_ver1_sub0601'''] = devclass(devices.devids['''nokia_3100_ver1'''], '''nokia_3100_ver1_sub0601''', '''Nokia3100/1.0 (06.01) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''sie_ax72_ver1_sub1'''] = devclass(devices.devids['''sie_ax72_ver1'''], '''sie_ax72_ver1_sub1''', '''SIE-AX72/01 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_n91_ver1_sub110030'''] = devclass(devices.devids['''nokia_n91_ver1'''], '''nokia_n91_ver1_sub110030''', '''NokiaN91-1/3.0 (1.10.030) SymbianOS/9.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sie_a60_ver1_sub23'''] = devclass(devices.devids['''sie_a60_ver1'''], '''sie_a60_ver1_sub23''', '''SIE-A60/23 Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_7210_ver1_sub563'''] = devclass(devices.devids['''nokia_7210_ver1'''], '''nokia_7210_ver1_sub563''', '''Nokia7210/1.0 (5.63) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_6020_ver1_sub0392'''] = devclass(devices.devids['''nokia_6020_ver1'''], '''nokia_6020_ver1_sub0392''', '''Nokia6020/2.0 (03.92) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6260_ver1_sub505360'''] = devclass(devices.devids['''nokia_6260_ver1'''], '''nokia_6260_ver1_sub505360''', '''Nokia6260/2.0 (5.0536.0) SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_6233_ver1_sub0510'''] = devclass(devices.devids['''nokia_6233_ver1'''], '''nokia_6233_ver1_sub0510''', '''Nokia6233/2.0 (05.10) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6131_ver1_sub0550'''] = devclass(devices.devids['''nokia_6131_ver1'''], '''nokia_6131_ver1_sub0550''', '''Nokia6131/2.0 (05.50) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_n73_ver1_sub40727221'''] = devclass(devices.devids['''nokia_n73_ver1'''], '''nokia_n73_ver1_sub40727221''', '''NokiaN73-1/4.0727.2.2.1 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6234_ver1_sub0543'''] = devclass(devices.devids['''nokia_6234_ver1'''], '''nokia_6234_ver1_sub0543''', '''Nokia6234/2.0 (05.43) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_k750i_ver1_subr1ca'''] = devclass(devices.devids['''sonyericsson_k750i_ver1'''], '''sonyericsson_k750i_ver1_subr1ca''', '''SonyEricssonK750i/R1CA Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''mot_v3_ver1_sub0e403er'''] = devclass(devices.devids['''mot_v3_ver1'''], '''mot_v3_ver1_sub0e403er''', '''MOT-V3/0E.40.3ER MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''mot_v980m_ver1_sub802f63'''] = devclass(devices.devids['''mot_v980m_ver1'''], '''mot_v980m_ver1_sub802f63''', '''MOT-V980M/80.2F.63. MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_k800i_ver1_subr1jc'''] = devclass(devices.devids['''sonyericsson_k800i_ver1'''], '''sonyericsson_k800i_ver1_subr1jc''', '''SonyEricssonK800i/R1JC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_d900i_ver1_subamgf1'''] = devclass(devices.devids['''samsung_d900i_ver1'''], '''samsung_d900i_ver1_subamgf1''', '''SAMSUNG-SGH-D900i/D900iAMGF1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_n73_ver1_20628001'''] = devclass(devices.devids['''nokia_n73_ver1'''], '''nokia_n73_ver1_20628001''', '''NokiaN73-1/2.0628.0.0.1 S60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_w810i_ver1_subr4db'''] = devclass(devices.devids['''sonyericsson_w810i_ver1'''], '''sonyericsson_w810i_ver1_subr4db''', '''SonyEricssonW810i/R4DB Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_x520v_ver1'''] = devclass(devices.devids['''samsung_x520x_ver1'''], '''samsung_x520v_ver1''', '''Vodafone/1.0/SamsungSGHX510V/X510BUFK3 Browser/Nokia/3.0.1 Profile/MIDP-2.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''nokia_6230_ver1_sub0524'''] = devclass(devices.devids['''nokia_6230_ver1'''], '''nokia_6230_ver1_sub0524''', '''Nokia6230/2.0 (05.24) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6630_ver1_sub60340'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1_sub60340''', '''Nokia6630/1.0 (6.03.40) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6170_ver1_sub03211'''] = devclass(devices.devids['''nokia_6170_ver1'''], '''nokia_6170_ver1_sub03211''', '''Nokia6170/2.0 (03.211) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_w800i_subr1bc'''] = devclass(devices.devids['''sonyericsson_w800i'''], '''sonyericsson_w800i_subr1bc''', '''SonyEricssonW800i/R1BC Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_f500i_ver1_subr2e'''] = devclass(devices.devids['''sonyericsson_f500i_ver1'''], '''sonyericsson_f500i_ver1_subr2e''', '''SonyEricssonF500i/R2E SEMC-Browser/4.0 Profile/MIDP-1.0 MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_k800iv_ver1_subr1jc'''] = devclass(devices.devids['''sonyericsson_k800iv_ver1'''], '''sonyericsson_k800iv_ver1_subr1jc''', '''SonyEricssonK800iv/R1JC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_6131_ver1_sub0610'''] = devclass(devices.devids['''nokia_6131_ver1'''], '''nokia_6131_ver1_sub0610''', '''Nokia6131/2.0 (06.10) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''levis_ls01_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''levis_ls01_ver1''', '''Levis-ls01/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', True, {'''brand_name''':'''Modelabs''','''columns''':12,'''max_image_height''':176,'''max_image_width''':220,'''model_name''':'''Levi's(c) - the original''','''resolution_height''':176,'''resolution_width''':220,'''rows''':7,'''uaprof''':'''http://www.modelabs.com/uaprofs/Levis-ls01.xml'''}) +devices.devids['''sanyo_pl6650_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''sanyo_pl6650_ver1''', '''Mozilla/4.0 (MobilePhone PL6650/US/1.0) NetFront/3.3L MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''Sanyo''','''colors''':65536,'''columns''':26,'''gif''':True,'''jpg''':True,'''max_deck_size''':4096,'''midi_monophonic''':True,'''model_name''':'''PL6650''','''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':14,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Sanyo/PL6650/1001PLS.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''vkmobile_vk200_ver1_sub1'''] = devclass(devices.devids['''vkmobile_vk200_ver1'''], '''vkmobile_vk200_ver1_sub1''', '''VK-VK2000/1.0''', False, {'''bmp''':True,'''brand_name''':'''VK''','''colors''':65536,'''columns''':12,'''gif''':True,'''jpg''':True,'''max_deck_size''':4096,'''model_name''':'''VK2000''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':128,'''resolution_width''':143,'''rows''':7,'''softkey_support''':True,'''table_support''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''sonyericsson_v640i_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3_4'''], '''sonyericsson_v640i_ver1''', '''SonyEricssonV640i/R1x Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SonyEricsson''','''colors''':262144,'''columns''':17,'''fl_browser''':True,'''fl_screensaver''':True,'''fl_wallpaper''':True,'''flash_lite_version''':'''2_0''','''gif''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''jpg''':True,'''max_data_rate''':1800,'''max_deck_size''':45000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1224,'''mms_max_size''':614400,'''mms_max_width''':1632,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''V640i''','''mp3''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':16,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/V640iR101.xml''','''uaprof2''':'''http://wap.sonyericsson.com/UAprof/V640iR101-3G.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True}) +devices.devids['''sonyericsson_w908c_ver1'''] = devclass(devices.devids['''sonyericsson_w910iv_ver1'''], '''sonyericsson_w908c_ver1''', '''SonyEricssonW908c/R1x Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SonyEricsson''','''colors''':262144,'''columns''':16,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_1''':True,'''jpg''':True,'''max_deck_size''':45000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1224,'''mms_max_size''':614400,'''mms_max_width''':1632,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''W908c''','''mp3''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':16,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W908cR101.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True}) +devices.devids['''sonyericsson_z310i_ver1_subr1kc'''] = devclass(devices.devids['''sonyericsson_z310i_ver1'''], '''sonyericsson_z310i_ver1_subr1kc''', '''SonyEricssonZ310i/R1KC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_w910i_ver1_subr1ab'''] = devclass(devices.devids['''sonyericsson_w910i_ver1'''], '''sonyericsson_w910i_ver1_subr1ab''', '''SonyEricssonW910i/R1AB Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_sgh_j750_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_j750_ver1''', '''SAMSUNG-SGH-J750''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''max_data_rate''':384,'''max_image_height''':144,'''max_image_width''':165,'''model_name''':'''SGH-J750''','''resolution_height''':220,'''resolution_width''':176,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/J750UAProf3G.rdf''','''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_sgh_j750_ver1subr5n34'''] = devclass(devices.devids['''samsung_sgh_j750_ver1'''], '''samsung_sgh_j750_ver1subr5n34''', '''SAMSUNG-SGH-J750/1.0 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_i780_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''samsung_i780_ver1''', '''SAMSUNG-SGH-i780''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''max_data_rate''':1800,'''max_image_height''':300,'''max_image_width''':299,'''model_name''':'''SGH-i780''','''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':320,'''resolution_width''':320,'''rows''':8,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-i780ORANGE.xml''','''wifi''':True}) +devices.devids['''sagem_my411c_ver1'''] = devclass(devices.devids['''sagem_my411v_ver1'''], '''sagem_my411c_ver1''', '''SAGEM-my411C''', True, {'''model_name''':'''my411C''','''uaprof''':'''http://extranet.sagem.com/UAProfile/897750.xml'''}) +devices.devids['''sec_p220_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sec_p220_ver1''', '''SEC-SGH-P220''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''SGH-P220''','''resolution_height''':160,'''resolution_width''':128,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-P220-ORANGE.xml'''}) +devices.devids['''htc_p5500_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''htc_p5500_ver1''', '''HTC-P5500''', True, {'''brand_name''':'''HTC''','''colors''':65536,'''max_image_height''':300,'''max_image_width''':237,'''model_name''':'''P5500''','''rows''':15,'''uaprof''':'''http://www.htcmms.com.tw/gen/nike-1.0.xml'''}) +devices.devids['''sagem_my511x_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_my511x_ver1''', '''SAGEM-my511X''', True, {'''brand_name''':'''Sagem''','''max_image_height''':128,'''max_image_width''':120,'''model_name''':'''my511X''','''resolution_height''':160,'''resolution_width''':128,'''rows''':7,'''uaprof''':'''http://extranet.sagem.com/UAProfile/898544.xml'''}) +devices.devids['''sagem_my312x_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sagem_my312x_ver1''', '''SAGEM-my312X''', True, {'''brand_name''':'''Sagem''','''colors''':65536,'''max_image_height''':128,'''max_image_width''':120,'''model_name''':'''my312X''','''resolution_height''':160,'''resolution_width''':128,'''rows''':8,'''uaprof''':'''http://extranet.sagem.com/UAProfile/898309.xml'''}) +devices.devids['''gigabyte_t600_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''gigabyte_t600_ver1''', '''T600; V3.02.E8 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) PPC; 480x640; GIGABYTE-g-Smart''', True, {'''brand_name''':'''GIGABYTE''','''colors''':65536,'''max_image_height''':640,'''max_image_width''':480,'''model_name''':'''T600''','''resolution_height''':640,'''resolution_width''':480,'''uaprof''':'''http://eip2.gigabytecm.com/GIGABYTE-g-smart-vga.xml'''}) +devices.devids['''porsche_p9521_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''porsche_p9521_ver1''', '''PORSCHE-DESIGN-P-9521''', True, {'''brand_name''':'''Sagem''','''colors''':262144,'''max_image_height''':320,'''max_image_width''':240,'''model_name''':'''Porsche Design P9521''','''resolution_height''':320,'''resolution_width''':240,'''rows''':10,'''uaprof''':'''http://extranet.sagem.com/UAProfile/P9521.xml'''}) +devices.devids['''htc_p6500_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_p6500_ver1''', '''HTC-P6500''', True, {'''brand_name''':'''HTC''','''colors''':262144,'''max_image_width''':237,'''model_name''':'''P6500''','''rows''':16,'''uaprof''':'''http://www.htcmms.com.tw/gen/sedna-1.0.xml'''}) +devices.devids['''samsung_sgh_c180_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_c180_ver1''', '''SAMSUNG-SGH-C180''', True, {'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''max_deck_size''':16384,'''midi_monophonic''':True,'''model_name''':'''SGH-C180''','''resolution_height''':128,'''resolution_width''':128,'''rows''':14,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-C180.xml'''}) +devices.devids['''htc_kaiser_ver1'''] = devclass(devices.devids['''htc_8900_Pilgrim'''], '''htc_kaiser_ver1''', '''HTC-8900/1.2 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)''', True, {'''bmp''':True,'''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''max_deck_size''':3000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser_version''':'''6.12''','''model_name''':'''Kaiser''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':36,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Kaiser-1.0.xml''','''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''amoi_berlin_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''amoi_berlin_ver1''', '''Berlin/R12 NF-Browser/3.3''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Amoi''','''colors''':262144,'''columns''':96,'''gif''':True,'''jpg''':True,'''max_deck_size''':10000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Berlin''','''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':96,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.amobile.com.cn/ua/Amoi-Berlin.xml''','''wap_push_support''':True,'''wav''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''xda_start_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub240320'''], '''xda_start_ver1''', '''Xda_star; 240x320 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', False, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''connectionless_service_indication''':True,'''gif''':True,'''jpg''':True,'''max_deck_size''':3000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Nike''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':36,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/nike-1.0.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''nokia_n95_ver1_sub_mozilla_c200015'''] = devclass(devices.devids['''nokia_n95_ver1_sub_mozilla_c'''], '''nokia_n95_ver1_sub_mozilla_c200015''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95/20.0.015; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''sch_u740_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_u740_ver1''', '''SCH-u740 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, {'''brand_name''':'''Samsung''','''can_skip_aligned_link_row''':True,'''columns''':20,'''has_qwerty_keyboard''':True,'''max_image_height''':350,'''max_image_width''':300,'''model_name''':'''U740''','''resolution_height''':400,'''resolution_width''':320,'''rows''':20,'''uaprof''':'''http://uaprof.vtext.com/sch/u740/u740v1.xml'''}) +devices.devids['''htc_wizard_ver1_sub_generic_ua'''] = devclass(devices.devids['''htc_wizard_ver1'''], '''htc_wizard_ver1_sub_generic_ua''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.8)''', False, None) +devices.devids['''nokia_n95_ver1_sub_8gb_fl3'''] = devclass(devices.devids['''nokia_n95_ver1_sub_8gb'''], '''nokia_n95_ver1_sub_8gb_fl3''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95_8GB/15.0.015; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''flash_lite_version''':'''3_0'''}) +devices.devids['''nokia_n82_ver1_sub100046'''] = devclass(devices.devids['''nokia_n82_ver1'''], '''nokia_n82_ver1_sub100046''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN82/10.0.046; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''lg_tu720_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_tu720_ver1''', '''LG-TU720''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':25,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':60000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':614400,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''TU720''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':15,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-TU720.xml''','''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''video_vcodec_h264''':'''10 1b 11 12''','''video_vcodec_mpeg4''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''nokia_5070b_ver1'''] = devclass(devices.devids['''nokia_5070_ver1'''], '''nokia_5070b_ver1''', '''Nokia5070b/2.0 (04.20) Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':65536,'''columns''':18,'''gif''':True,'''j2me_cldc_1_1''':True,'''jpg''':True,'''max_deck_size''':32000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''5070b''','''nokia_ringtone''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':5,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''wap_push_support''':True,'''wbmp''':True,'''wta_phonebook''':True}) +devices.devids['''htc_p4550_ver1_subua'''] = devclass(devices.devids['''htc_p4550_ver1'''], '''htc_p4550_ver1_subua''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6) PPC; 240x320; HTC P4550; OpVer 24.181.1.612''', False, None) +devices.devids['''samsung_f330_ver1_subj2'''] = devclass(devices.devids['''samsung_f330_ver1'''], '''samsung_f330_ver1_subj2''', '''SAMSUNG-SGH-F330/F330XBGJ2 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SAMSUNG''','''colors''':65536,'''columns''':20,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':5000,'''max_image_height''':300,'''max_image_width''':230,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':307200,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-F330''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':16,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/F330UAProf3G.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''htc_s730_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_s730_ver1''', '''HTC_S730 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', False, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''has_qwerty_keyboard''':True,'''jpg''':True,'''max_deck_size''':3000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''S730''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':36,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''transparent_png_alpha''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Volans-1.0.xml''','''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''htc_touch_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_sub40240320'''], '''htc_touch_ver1''', '''HTC_TouchDual Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', False, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''has_pointing_device''':True,'''jpg''':True,'''max_deck_size''':3000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser_version''':'''7.6''','''model_name''':'''Touch''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':36,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Nike-1.0.xml''','''wav''':True,'''wbmp''':True,'''wifi''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_p308_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_p308_ver1''', '''SAMSUNG-SGH-P308''', False, {'''brand_name''':'''Samsung''','''max_deck_size''':12288,'''model_name''':'''SGH-P308''','''resolution_height''':176,'''resolution_width''':220,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/p308_10.xml'''}) +devices.devids['''lg_ks20_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_ks20_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6) LG-KS20-Orange''', True, {'''bmp''':True,'''colors''':65536,'''max_image_height''':300,'''max_image_width''':237,'''model_name''':'''KS20 Corona''','''resolution_height''':320,'''resolution_width''':240,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KS20-V1_0.xml''','''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''motorola_u9_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''motorola_u9_ver1''', '''Mozilla/5.0 (compatible; OSS/1.0; Chameleon; Linux) U9''', True, {'''brand_name''':'''Motorola''','''colors''':262144,'''max_image_height''':320,'''max_image_width''':240,'''model_name''':'''U9''','''resolution_height''':320,'''resolution_width''':240}) +devices.devids['''sonyericsson_z320i_ver1'''] = devclass(devices.devids['''portalmmm_ver2_subz320i'''], '''sonyericsson_z320i_ver1''', '''SonyEricssonZ320i/R1B017 Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SonyEricsson''','''colors''':65536,'''columns''':11,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':5600,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''model_name''':'''Z320i''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':9,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/Z320iR101.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_ku250_ver1_sub'''] = devclass(devices.devids['''lg_ku250_ver1'''], '''lg_ku250_ver1_sub''', '''LG/KU250''', False, {'''screensaver''':True,'''screensaver_gif''':True}) +devices.devids['''lg_ku380_ver1_sub'''] = devclass(devices.devids['''lg_ku380_ver1'''], '''lg_ku380_ver1_sub''', '''LGKU380''', False, None) +devices.devids['''nokia_5700_ver1_sub'''] = devclass(devices.devids['''nokia_5700_ver1'''], '''nokia_5700_ver1_sub''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Nokia5700''', False, None) +devices.devids['''nokia_3510i_ver1_sub0535'''] = devclass(devices.devids['''nokia_3510i_ver1_sub0500'''], '''nokia_3510i_ver1_sub0535''', '''Nokia3510i/1.0 (05.35) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, {'''wallpaper_jpg''':True,'''wallpaper_max_height''':65,'''wallpaper_max_width''':95}) +devices.devids['''samsung_sgh_z400_vodafone_ver1'''] = devclass(devices.devids['''samsung_z400_ver1'''], '''samsung_sgh_z400_vodafone_ver1''', '''SAMSUNG-SGH-Z400-Vodafone/1.0 SHP/VPP/R5 NetFront/3.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SAMSUNG''','''colors''':65536,'''columns''':20,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':5000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-Z400V''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':16,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_z240e_ver1'''] = devclass(devices.devids['''samsung_z240_ver1'''], '''samsung_z240e_ver1''', '''SAMSUNG-SGH-Z240E/''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':5000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':307200,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-Z240E''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':16,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_i600v_ver1'''] = devclass(devices.devids['''samsung_i600_ver1'''], '''samsung_i600v_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.8) SAMSUNG-SGH-i600V/1.0''', False, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''model_name''':'''i600V'''}) +devices.devids['''cect_a1000_ver1'''] = devclass(devices.devids['''generic'''], '''cect_a1000_ver1''', '''CECT A1000''', True, {'''amr''':True,'''brand_name''':'''CECT''','''has_pointing_device''':True,'''max_image_height''':320,'''max_image_width''':240,'''midi_polyphonic''':True,'''model_name''':'''A1000''','''mp3''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True}) +devices.devids['''ttpcom_wap_ver1'''] = devclass(devices.devids['''generic'''], '''ttpcom_wap_ver1''', '''TTPCom WAP''', False, {'''bmp''':True,'''brand_name''':'''TTPCom''','''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':100000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''TTPComRef''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':5,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.zte.com.cn/mobile/uaprof/ZTEA37.xml''','''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''sonyericsson_w960i_subopera865'''] = devclass(devices.devids['''sonyericsson_w960i_ver1'''], '''sonyericsson_w960i_subopera865''', '''SonyEricssonW960i/R100 Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; 701) Opera 8.65 [de]''', False, None) +devices.devids['''nokia_e60_ver1_submoz'''] = devclass(devices.devids['''nokia_e60_ver1'''], '''nokia_e60_ver1_submoz''', '''Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 es60''', False, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard'''}) +devices.devids['''samsung_i400_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_i400_ver1''', '''SEC-SGHI400/1.0 Series60/3.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''brand_name''':'''Samsung''','''fl_browser''':True,'''fl_screensaver''':True,'''fl_standalone''':True,'''flash_lite_version''':'''2_0''','''model_name''':'''SGH-I400''','''uaprof''':'''wap.samsungmobile.com/uaprof/i400_10.xml'''}) +devices.devids['''sonyericsson_k660i_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3_4'''], '''sonyericsson_k660i_ver1''', '''SonyEricssonK660i/R1DA Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SonyEricsson''','''colors''':262144,'''columns''':16,'''gif''':True,'''gif_animated''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':45000,'''max_image_width''':230,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1224,'''mms_max_size''':614400,'''mms_max_width''':1632,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''K660i''','''mp3''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':16,'''softkey_support''':True,'''sp_midi''':True,'''streaming_mp4''':True,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''streaming_wmv''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K660iR101.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True}) +devices.devids['''sonyericsson_z750i_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3_4'''], '''sonyericsson_z750i_ver1''', '''SonyEricssonZ750i/R1BA Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SonyEricsson''','''colors''':262144,'''columns''':16,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':45000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1224,'''mms_max_size''':614400,'''mms_max_width''':1632,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Z750i''','''mp3''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''rows''':16,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''video_mp4''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True}) +devices.devids['''htc_mda_compact_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''htc_mda_compact_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; MDA compact/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''jpg''':True,'''max_deck_size''':3000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MDA compact III''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':36,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/tmo/mdacp-3.0.xml''','''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''htc_mta_mail_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''htc_mta_mail_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.8) Smartphone; 320x240; Mail/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':10,'''gif''':True,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''jpg''':True,'''max_deck_size''':3000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Mail''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':240,'''resolution_width''':320,'''rows''':25,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/tmo/Mail-1.0.xml''','''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''sonim_xp1_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''sonim_xp1_ver1''', '''SONIM-XP1 / Obigo Browser 2.0''', True, {'''brand_name''':'''Sonim''','''columns''':16,'''device_claims_web_support''':True,'''imelody''':True,'''max_image_height''':160,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''XP1''','''mp3''':True,'''receiver''':True,'''resolution_height''':160,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''rows''':11,'''uaprof''':'''http://omaptt.net/xp1/wap/uapM639.xml''','''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':160,'''wallpaper_max_width''':128,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wav''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''portalmmm_ver2_ssagem_my411xi_ver1'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_ssagem_my411xi_ver1''', '''portalmmm/2.0 my411Xi''', True, {'''brand_name''':'''Sagem''','''max_image_height''':128,'''max_image_width''':128,'''model_name''':'''my411Xi''','''resolution_height''':160,'''resolution_width''':128}) +devices.devids['''portalmmm_ver2_sagem_my411ci_ver1'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_sagem_my411ci_ver1''', '''portalmmm/2.0 my411Ci(c10;TB)''', True, {'''jpg''':True,'''max_image_height''':128,'''max_image_width''':128,'''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''screensaver_gif''':True,'''screensaver_jpg''':True,'''screensaver_preferred_height''':160,'''screensaver_preferred_width''':128,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wallpaper_wbmp''':True}) +devices.devids['''portalmmm_ver2_SE_w850im_ver1'''] = devclass(devices.devids['''portalmmm_ver2'''], '''portalmmm_ver2_SE_w850im_ver1''', '''portalmmm/2.0 W580im''', True, {'''brand_name''':'''SonyEricsson''','''columns''':16,'''flash_lite_version''':'''1_1''','''gif_animated''':True,'''jpg''':True,'''max_image_height''':266,'''max_image_width''':240,'''model_name''':'''W580im''','''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':32}) +devices.devids['''benq_s81_ver1_subua'''] = devclass(devices.devids['''benq_s81_ver1'''], '''benq_s81_ver1_subua''', '''BenQ-S81/1.00/WAP2.0/MIDP2.0/CLDC1.1 UP.Browser/6.3.0.3.c.4 (GUI) MMP/2.0''', False, {'''mobile_browser_version''':'''6.3'''}) +devices.devids['''sch_i760_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''sch_i760_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.9) VZW:SCH-i760 PPC 240x320''', True, {'''brand_name''':'''Samsung''','''columns''':20,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''max_image_height''':240,'''max_image_width''':320,'''mobile_browser_version''':'''6.9''','''model_name''':'''SCH-i760''','''resolution_height''':240,'''resolution_width''':320,'''rows''':10}) +devices.devids['''lg_kg77_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kg77_ver1''', '''LG-KG77 MIC/1.1.14 MIDP-2.0/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':262144,'''columns''':12,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':102400,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''1.1''','''model_name''':'''KG77''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':7,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG77.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''fly_sx100_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_sx100_ver1''', '''Fly-SX100/Profile/MIDP.2.0Configuration/CLDC.1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65536,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':300000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SX100''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':176,'''resolution_width''':220,'''rows''':7,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_u300_ver1_sub'''] = devclass(devices.devids['''lg_u300_ver1'''], '''lg_u300_ver1_sub''', '''LG/U300/v1.0''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''can_skip_aligned_link_row''':True,'''colors''':262144,'''columns''':30,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':1024,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''1.0''','''model_name''':'''U300''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':10,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-U300.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''docomo_f704i_ver1'''] = devclass(devices.devids['''docomo_f700i_v2_w23'''], '''docomo_f704i_ver1''', '''DoCoMo/2.0 F704i(c100;TB;W23H12)''', True, {'''model_name''':'''f704i'''}) +devices.devids['''vodafone_905sh_ver1'''] = devclass(devices.devids['''vodafone_903sh_ver1'''], '''vodafone_905sh_ver1''', '''Vodafone/1.0/V905SH/SHJ002/SNXXXXXXXXXXXXXX Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''brand_name''':'''Sharp''','''colors''':262144,'''columns''':19,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':102400,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':307200,'''mms_max_width''':480,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wmlc''':True,'''model_name''':'''905SH''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':400,'''resolution_width''':240,'''rows''':13,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.sharp-mobile.com/UAProf/V905SH_SHJ001_3g.xml''','''wap_push_support''':True,'''wml_1_3''':True}) +devices.devids['''nokia_7260_ver1_sub0336'''] = devclass(devices.devids['''nokia_7260_ver1'''], '''nokia_7260_ver1_sub0336''', '''Nokia7260/2.0 (03.36) Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''htc_artemis_ver1'''] = devclass(devices.devids['''htc_herald_ver1'''], '''htc_artemis_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.7) PPC; 240x320; HTC_P3300/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''jpg''':True,'''max_deck_size''':3000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':614400,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser_version''':'''7.7''','''model_name''':'''Artemis''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':36,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/artemis-1.0.xml''','''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''htc_herald_ver2'''] = devclass(devices.devids['''htc_herald_ver1'''], '''htc_herald_ver2''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6) T-Mobile_Atlas''', False, None) +devices.devids['''sonyericsson_k610i_ver2'''] = devclass(devices.devids['''sonyericsson_k610i_ver1'''], '''sonyericsson_k610i_ver2''', '''/2.0 K610i(c100;TB)''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SonyEricsson''','''colors''':262144,'''columns''':19,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':45000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1224,'''mms_max_size''':307200,'''mms_max_width''':1632,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''K610i''','''mp3''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':13,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/K610iR201.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True}) +devices.devids['''kingcom_injoyms02_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''kingcom_injoyms02_ver1''', '''Kingcom Injoy MS02''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Asmobile''','''colors''':65536,'''columns''':15,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65536,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':50000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Kingcom Injoy MS02''','''nokia_voice_call''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':7,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://asmobile.ehosting.com.tw/uaprof/KingcomInjoyMS02.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sonyericsson_w380_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3_4'''], '''sonyericsson_w380_ver1''', '''SonyEricssonW380a/R9AA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''built_in_camera''':True,'''built_in_recorder''':True,'''device_claims_web_support''':True,'''mms_3gpp''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_animated''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_jpeg_progressive''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mobile_browser_version''':'''3.3''','''model_name''':'''w380a''','''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''picture_bmp''':True,'''picture_jpg''':True,'''picture_png''':True,'''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_spmidi''':True,'''ringtone_wav''':True,'''rows''':10,'''sender''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAprof/W380aR201.xml'''}) +devices.devids['''htc_s621_ver2'''] = devclass(devices.devids['''htc_s621_ver1'''], '''htc_s621_ver2''', '''HTC_S621 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)''', False, None) +devices.devids['''eten_x800_ver1'''] = devclass(devices.devids['''eten_x500_ver1'''], '''eten_x800_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; PPC) Opera 8.65''', False, {'''model_name''':'''X800'''}) +devices.devids['''htc_kaiser_ver2'''] = devclass(devices.devids['''htc_kaiser_ver1'''], '''htc_kaiser_ver2''', ''' HTC_TyTN_II Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)''', False, None) +devices.devids['''htc_hermes_ver3'''] = devclass(devices.devids['''htc_hermes_ver2'''], '''htc_hermes_ver3''', '''HTC_Hermes Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.7)''', False, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''max_deck_size''':3000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Hermes''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':36,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Hermes-2.0.xml''','''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''htc_p3450_ver1_subua'''] = devclass(devices.devids['''htc_p3450_ver1'''], '''htc_p3450_ver1_subua''', '''PPC; 240x320; HTC_P3450/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', False, None) +devices.devids['''unistar_l100_ver1'''] = devclass(devices.devids['''generic'''], '''unistar_l100_ver1''', '''UNISTARL100''', True, {'''brand_name''':'''Unistar''','''model_name''':'''L100'''}) +devices.devids['''itelco_it2500_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''itelco_it2500_ver1''', '''ITELCO-IT2500/R0.1 NF-Browser/3.3''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Itelco''','''colors''':262144,'''columns''':20,'''gif''':True,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':300,'''max_image_width''':220,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':307200,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''IT2500''','''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':20,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://mobile.itelcospa.it/useragent/ITELCO-IT2500.xml''','''wap_push_support''':True,'''wav''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sagem_my214x_ver1'''] = devclass(devices.devids['''upgui_generic'''], '''sagem_my214x_ver1''', '''SAGEM-my214X/1.0 UP.Browser/5.0.5.6 (GUI)''', True, {'''bmp''':True,'''brand_name''':'''Sagem''','''colors''':4096,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_image_height''':100,'''max_image_width''':100,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''my214X''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''softkey_support''':True,'''uaprof''':'''http://extranet.sagem.com/UAProfile/897133.xml''','''wav''':True,'''wbmp''':True}) +devices.devids['''konka_l6668_ver1'''] = devclass(devices.devids['''generic'''], '''konka_l6668_ver1''', '''L6668/(2006.01.01)1.0/WAP2.0 Profile''', True, {'''brand_name''':'''KONKA''','''colors''':65536,'''max_deck_size''':3000,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':240,'''mms_max_size''':51200,'''mms_max_width''':240,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''c908''','''nokia_voice_call''':True,'''resolution_height''':128,'''resolution_width''':128,'''table_support''':True,'''uaprof''':'''http://www.mobilesoft.com.cn/UAProfile/CMSMMS2003.xml''','''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''apple_iphone_ver1_sub3b48a_dede'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub3b48a_dede''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; de-de) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub4a93_dede'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub4a93_dede''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; de-de) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A93 Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_subua_misterious'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_subua_misterious''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en)''', False, None) +devices.devids['''apple_iphone_ver1_sub1c28_en'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub1c28_en''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420 (KHTML, like Gecko) Version/3.0 Mobile/1C28 Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub4a93_en'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub4a93_en''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A93 Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub3a109a_es'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub3a109a_es''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; es) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A109a Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub3a109a_fr'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub3a109a_fr''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; fr) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A109a Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub3a109a_itit'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub3a109a_itit''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; it-it) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A109a Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub3b48b_nlnl'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub3b48b_nlnl''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; nl-nl) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub3a109a_plpl'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub3a109a_plpl''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; pl-pl) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A109a Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub3b48b_ptpt'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub3b48b_ptpt''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; pt-pt) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub3b48b_ruru'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub3b48b_ruru''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; ru-ru) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub3a109a_svse'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub3a109a_svse''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; sv-se) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A109a Safari/419.3''', False, None) +devices.devids['''apple_iphone_ver1_sub3b48b_zhtw'''] = devclass(devices.devids['''apple_iphone_ver1'''], '''apple_iphone_ver1_sub3b48b_zhtw''', '''Mozilla/5.0 (iPhone; U; CPU like Mac OS X; zh-tw) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3''', False, None) +devices.devids['''sony_ericsson_k770i_ver1subr8aa'''] = devclass(devices.devids['''sony_ericsson_k770i_ver1'''], '''sony_ericsson_k770i_ver1subr8aa''', '''SonyEricssonK770i/R8AA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_i780_ver1suborange'''] = devclass(devices.devids['''samsung_i780_ver1'''], '''samsung_i780_ver1suborange''', '''SAMSUNG-SGH-i780ORANGE/AFGI1 (compatible; MSIE 6.0; Windows CE; IEMobile 7.7)''', False, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''msxml2'''}) +devices.devids['''sagem_my411c_ver1suborange'''] = devclass(devices.devids['''sagem_my411c_ver1'''], '''sagem_my411c_ver1suborange''', '''SAGEM-my411C-orange/1.0/ MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.2.6.c.1.365 (GUI)''', False, None) +devices.devids['''sec_p220_ver1suborange'''] = devclass(devices.devids['''sec_p220_ver1'''], '''sec_p220_ver1suborange''', '''SAMSUNG-SGH-P220-ORANGE/P220BVGI1 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''htc_p5500_ver1suborange'''] = devclass(devices.devids['''htc_p5500_ver1'''], '''htc_p5500_ver1suborange''', '''HTC-P5500-orange/PPC; 240x320; OpVer 25.109.2.7305 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', False, None) +devices.devids['''blackberry8320_ver1sub119'''] = devclass(devices.devids['''blackberry8320_ver1'''], '''blackberry8320_ver1sub119''', '''BlackBerry8320/4.2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/119''', False, None) +devices.devids['''sagem_my511x_ver1_suborange'''] = devclass(devices.devids['''sagem_my511x_ver1'''], '''sagem_my511x_ver1_suborange''', '''SAGEM-my511X-orange/1.0/ MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.2.6.c.1.379 (GUI)''', False, None) +devices.devids['''sagem_my312x_ver1_suborange'''] = devclass(devices.devids['''sagem_my312x_ver1'''], '''sagem_my312x_ver1_suborange''', '''SAGEM-my312X-ora-orange/ MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.2.6.c.1.365 (GUI)''', False, None) +devices.devids['''lg_ku990_ver1_suborange'''] = devclass(devices.devids['''lg_ku990_ver1'''], '''lg_ku990_ver1_suborange''', '''LG/KU990-Orange/v10c Browser/Obigo-Q05A/3.6 MMS/LG-MMS-V1.0/1.2 Java/ASVM/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''motorola_u9_ver1_suborange'''] = devclass(devices.devids['''motorola_u9_ver1'''], '''motorola_u9_ver1_suborange''', '''Mozilla/5.0 (compatible; OSS/1.0; Chameleon; Linux) U9-orange/R6632_G_81.11.15I BER/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/9.0''', False, None) +devices.devids['''porsche_p9521_ver1_sub710f1172'''] = devclass(devices.devids['''porsche_p9521_ver1'''], '''porsche_p9521_ver1_sub710f1172''', '''PORSCHE-DESIGN-P-9521/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.1.0.f.1.172 (GUI)''', False, None) +devices.devids['''htc_p6500_ver1_suborange'''] = devclass(devices.devids['''htc_p6500_ver1'''], '''htc_p6500_ver1_suborange''', '''HTC-P6500-orange/PPC; 240x320; OpVer 27.107.2.731 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', False, None) +devices.devids['''lg_ks20_ver1suborange'''] = devclass(devices.devids['''lg_ks20_ver1'''], '''lg_ks20_ver1suborange''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6) LG-KS20-Orange/V1.0 Browser/IEMobile/7.6 MMS/LG-MMS-WINCE-V1.0/1.2 Java/LGVM/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_n81_ver1_sub110045'''] = devclass(devices.devids['''nokia_n81_ver1'''], '''nokia_n81_ver1_sub110045''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN81-3/11.0.045 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''uaprof''':'''http://nds.nokia.com/uaprof/NN81-3r100.xml'''}) +devices.devids['''sagem_myx2_2_ver1_sub5.0.5.6'''] = devclass(devices.devids['''sagem_myx2_2_ver1'''], '''sagem_myx2_2_ver1_sub5.0.5.6''', '''SAGEM-myX2-2/1.0 UP.Browser/5.0.5.6 (GUI)''', False, None) +devices.devids['''lg_mg280_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''lg_mg280_ver1''', '''LG-MG280 Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':25600,'''max_image_height''':140,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''MG280''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-MG280.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lenovo_i906_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lenovo_i906_ver1''', '''Lenovo-i906/S134 Release/2007.10.11 Profile/MIDP2.0 Configuration/CLDC1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Lenovo''','''colors''':65536,'''columns''':16,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65536,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':50000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''i906''','''nokia_voice_call''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':16,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.lenovomobile.com/admin/module/product/DownFile/download_2007736634847.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_sgh_l750_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''samsung_sgh_l750_ver1''', '''SAMSUNG-SGH-L750/XXHA4 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':20,'''gif''':True,'''imelody''':True,'''jpg''':True,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':307200,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-L750''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':16,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-L750_2G.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''htc_hermes_ver4'''] = devclass(devices.devids['''htc_hermes_ver3'''], '''htc_hermes_ver4''', '''PPC; 240x320; HTC_TyTN/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.7)''', False, {'''bmp''':True,'''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''max_deck_size''':3000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Hermes''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':36,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Hermes-2.0.xml''','''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_sgh_l170_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''samsung_sgh_l170_ver1''', '''SAMSUNG-SGH-L170/L170XIHA1 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SAMSUNG''','''built_in_camera''':True,'''colors''':65536,'''columns''':20,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':5000,'''max_image_height''':144,'''max_image_width''':210,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':2048,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-L170''','''mp3''':True,'''nokia_voice_call''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''png''':True,'''resolution_height''':176,'''resolution_width''':220,'''rows''':16,'''softkey_support''':True,'''sp_midi''':True,'''streaming_3gpp''':True,'''streaming_video_qcif''':True,'''streaming_video_qcif_max_height''':144,'''streaming_video_qcif_max_width''':176,'''streaming_video_vcodec_h263_0''':True,'''streaming_video_vcodec_h263_3''':True,'''streaming_video_vcodec_mpeg4''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/L170UAProf3G.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_t439_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_t439_ver1''', '''SAMSUNG-SGH-T439/T439UVGI7 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':16384,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-T439''','''mp3''':True,'''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':28,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-T439.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''lg_mg235_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_mg235_ver1''', '''LG-MG235 Obigo/WAP2.0 MIDP-2.0/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':25600,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''MG235''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-MG235.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''nokia_n73_ver2'''] = devclass(devices.devids['''nokia_n73_ver1'''], '''nokia_n73_ver2''', '''NokiaN73-2''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':262144,'''columns''':15,'''gif''':True,'''jpg''':True,'''max_deck_size''':357000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''N73-2''','''nokia_ringtone''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':6,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://nds.nokia.com/uaprof/NN73-2r100.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''nokia_n73_ver2_sub30638001rm132'''] = devclass(devices.devids['''nokia_n73_ver2'''], '''nokia_n73_ver2_sub30638001rm132''', '''NokiaN73-2/3.0638.0.0.1_rm132 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sonyericsson_k800_sub1jg'''] = devclass(devices.devids['''sonyericsson_k800_ver1'''], '''sonyericsson_k800_sub1jg''', '''SonyEricssonK800i/R1JG Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''flash_lite_version''':''''''}) +devices.devids['''spv_m600_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''spv_m600_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M600; OpVer 13.10.2.112)''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''max_deck_size''':3000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SPV M600''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':36,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/prophet-2.0.xml''','''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''htc_x7500_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''htc_x7500_ver1''', '''HTC_X7500 ''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''max_deck_size''':3000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''Athena''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':480,'''resolution_width''':640,'''rows''':36,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Athena-1.0.xml''','''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''htc_x7500_ver1_subua'''] = devclass(devices.devids['''htc_x7500_ver1'''], '''htc_x7500_ver1_subua''', '''HTC_X7500 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)''', False, None) +devices.devids['''sonyericsson_w890_ver1'''] = devclass(devices.devids['''sonyericsson_netfront_ver3_4'''], '''sonyericsson_w890_ver1''', '''SonyEricssonW890''', True, {'''aac''':True,'''amr''':True,'''brand_name''':'''SonyEricsson''','''colors''':262144,'''columns''':10,'''directdownload_support''':True,'''inline_support''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''model_name''':'''W890''','''mp3''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_3gpp''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_directdownload_size_limit''':262144,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_oma_size_limit''':262144,'''ringtone_voices''':40,'''rows''':20,'''sp_midi''':True,'''transparent_png_alpha''':True,'''transparent_png_index''':True,'''video''':True,'''video_3gpp''':True,'''video_acodec_aac''':True,'''video_acodec_amr''':True,'''video_directdownload_size_limit''':10240000,'''video_max_frame_rate''':30,'''video_max_height''':320,'''video_max_width''':240,'''video_mp4''':True,'''video_oma_size_limit''':10240000,'''video_preferred_height''':320,'''video_preferred_width''':240,'''video_qcif''':True,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h264''':True,'''video_vcodec_mpeg4''':True,'''voices''':40,'''wallpaper''':True,'''wallpaper_colors''':262144,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''xhtml_format_as_attribute''':True,'''xhtml_format_as_css_property''':True,'''xhtml_honors_bgcolor''':True,'''xhtml_nowrap_mode''':True,'''xhtml_select_as_dropdown''':True,'''xhtml_support_level''':4,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_forms_in_table''':True,'''xhtml_supports_inline_input''':True,'''xhtml_supports_invisible_text''':True,'''xhtml_supports_table_for_layout''':True,'''xhtmlmp_preferred_mime_type''':'''application/xhtml+xml'''}) +devices.devids['''sonyericsson_w890i_ver1_subr1da'''] = devclass(devices.devids['''sonyericsson_w890i_ver1'''], '''sonyericsson_w890i_ver1_subr1da''', '''SonyEricssonW890i/R1DA Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_e51_ver1_sub1003420'''] = devclass(devices.devids['''nokia_e51_ver1'''], '''nokia_e51_ver1_sub1003420''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE51-1/100.34.20; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''mobile_browser''':'''Safari'''}) +devices.devids['''LG-KG130'''] = devclass(devices.devids['''lg_kg130_ver1'''], '''LG-KG130''', '''LG-KG130''', False, None) +devices.devids['''mot_v980_ver1_sub833838'''] = devclass(devices.devids['''mot_v980_ver1'''], '''mot_v980_ver1_sub833838''', '''MOT-V980/83.38.38. MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''sec_c300_ver1_sub1'''] = devclass(devices.devids['''sec_c300_ver1'''], '''sec_c300_ver1_sub1''', '''SEC-SGHC300/1.0''', False, None) +devices.devids['''pavo_asm'''] = devclass(devices.devids['''generic'''], '''pavo_asm''', '''ASM-PAV/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Asmobile''','''colors''':65536,'''gif''':True,'''jpg''':True,'''max_deck_size''':51200,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''PAVO''','''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''screensaver_gif''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://asmobile.ehosting.com.tw/uaprof/PAVO.xml''','''wallpaper_jpg''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''wta_voice_call''':True}) +devices.devids['''samsung_plsm520_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_plsm520_ver1''', '''Samsung-PLSM520 AU-MIC-M520/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''max_deck_size''':64000,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''PLSM520''','''mp3''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':9,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Samsung/PLS-M520/AD30.rdf''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''lenovo_i921_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''lenovo_i921_ver1''', '''LENOVO-i921/240A''', True, {'''brand_name''':'''Lenovo''','''columns''':20,'''has_pointing_device''':True,'''max_image_height''':280,'''max_image_width''':200,'''model_name''':'''i921''','''resolution_height''':320,'''resolution_width''':240,'''rows''':10}) +devices.devids['''nokia_n70_ver1_funny_ua'''] = devclass(devices.devids['''nokia_n70_ver1'''], '''nokia_n70_ver1_funny_ua''', '''NokiaN70/ 5.0734.4.0.1 Series60/2.8 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''ecweb_51_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''ecweb_51_ver1''', '''UCWEB5.1''', True, {'''brand_name''':'''UCWEB''','''model_name''':'''5.1'''}) +devices.devids['''zte_c88_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''zte_c88_ver1''', '''ZTE-C88/1.0 SMIT-Browser/2.0.0''', True, {'''brand_name''':'''ZTE''','''model_name''':'''C88'''}) +devices.devids['''reporo_midlet_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''reporo_midlet_ver1''', '''Reporo Generic MIDP2.0 CLDC1.0''', False, {'''brand_name''':'''Reporo''','''can_skip_aligned_link_row''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''model_name''':'''Midlet'''}) +devices.devids['''lge_ax260_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_ax260_ver1''', '''LGE-AX260/1.0 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':22,'''gif''':True,'''jpg''':True,'''max_deck_size''':4096,'''midi_monophonic''':True,'''model_name''':'''AX260''','''mp3''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':15,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.alltel.net/uaprof/lg/ax260/ax260.xml''','''wap_push_support''':True,'''wml_1_1''':True,'''wml_1_2''':True}) +devices.devids['''lg_kp130_ver1'''] = devclass(devices.devids['''lg_generic'''], '''lg_kp130_ver1''', '''LG-KP130/V10b Obigo/WAP2.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':51200,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KP130''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KP130.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_sgh_a736_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''samsung_sgh_a736_ver1''', '''SAMSUNG-SGH-A736/UZGJ3 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SAMSUNG''','''colors''':65536,'''columns''':20,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':5000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':307200,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-A736''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':16,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-A736.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_b100_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_b100_ver1''', '''SEC-SGHB100/1.0 Openwave/6.2.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':49152,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':51200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-B100''','''nokia_voice_call''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':6,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/b100_10.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''tmobile_shadow_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''tmobile_shadow_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.7) T-Mobile_Juno''', True, {'''aac''':True,'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':False,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''msxml2''','''amr''':True,'''bmp''':True,'''brand_name''':'''T-Mobile''','''built_in_camera''':True,'''built_in_recorder''':True,'''colors''':65536,'''columns''':10,'''gif''':True,'''greyscale''':True,'''has_pointing_device''':False,'''has_qwerty_keyboard''':False,'''jpg''':True,'''max_data_rate''':200,'''max_deck_size''':3000,'''max_image_height''':320,'''max_image_width''':240,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_mp3''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser_version''':'''7.7''','''model_name''':'''Shadow''','''mp3''':True,'''nokia_voice_call''':True,'''oma_v_1_0_forwardlock''':True,'''picture''':True,'''picture_bmp''':True,'''picture_colors''':65536,'''picture_gif''':True,'''picture_greyscale''':True,'''picture_jpg''':True,'''picture_max_height''':320,'''picture_max_width''':240,'''picture_png''':True,'''picture_preferred_height''':320,'''picture_preferred_width''':240,'''picture_resize''':'''fixed_ratio''','''picture_wbmp''':True,'''png''':True,'''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''ringtone_qcelp''':True,'''ringtone_wav''':False,'''rows''':25,'''screensaver''':True,'''screensaver_bmp''':True,'''screensaver_colors''':65536,'''screensaver_gif''':True,'''screensaver_greyscale''':True,'''screensaver_jpg''':True,'''screensaver_max_height''':320,'''screensaver_max_width''':240,'''screensaver_png''':True,'''screensaver_preferred_height''':320,'''screensaver_preferred_width''':240,'''screensaver_wbmp''':True,'''sender''':True,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''total_cache_disable_support''':True,'''transparent_png_alpha''':True,'''transparent_png_index''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Juno-1.0.xml''','''video_acodec_aac''':True,'''video_acodec_qcelp''':True,'''video_max_height''':320,'''video_max_width''':240,'''video_mp4''':True,'''video_preferred_height''':320,'''video_preferred_width''':240,'''video_sqcif''':True,'''video_vcodec_h263_0''':True,'''video_vcodec_h263_3''':True,'''wallpaper_bmp''':True,'''wallpaper_colors''':65536,'''wallpaper_greyscale''':True,'''wallpaper_max_height''':320,'''wallpaper_max_width''':240,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240,'''wallpaper_resize''':'''fixed_ratio''','''wallpaper_tiff''':True,'''wallpaper_wbmp''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wifi''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''nokia_6100_ver1_sub0470'''] = devclass(devices.devids['''nokia_6100_ver1'''], '''nokia_6100_ver1_sub0470''', '''Nokia6100/1.0 (04.70) Profile/MIDP-1.0 Configuration/CLDC-1.0''', False, None) +devices.devids['''huawei_u535_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''huawei_u535_ver1''', '''Huawei/1.0/U535/B000 Browser/Obigo-Browser/Q04A MMS/Obigo-MMS/Q04A SyncML/HW-SyncML/1.0 Java/QVM/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Huawei''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':11,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':150000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''U535 (Vodafone)''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':13,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap1.huawei.com/uaprof/HuaweiU535v100GPRS.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''huawei_u535_ver1_sub_voda_ua'''] = devclass(devices.devids['''huawei_u535_ver1'''], '''huawei_u535_ver1_sub_voda_ua''', '''Vodafone/1.0/0Vodafone710/B616 Browser/Obigo-Browser/Q04A MMS/Obigo-MMS/Q04A SyncML/HW-SyncML/1.0 Java/QVM/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''motorola_v3c_canada_ver1'''] = devclass(devices.devids['''mot_v3c_ver1'''], '''motorola_v3c_canada_ver1''', '''Motorola_V3c UP.Browser/6.2.3.4.c.1.109 (GUI) MMP/2.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':12,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':3000,'''max_image_height''':200,'''max_image_width''':168,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':358400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''V3c''','''mp3''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':16,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.bellmobilite.ca/BMC_Motorola_V3c_070301P.rdf''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''utstargz1z_ver1'''] = devclass(devices.devids['''utstargz1s_ver1'''], '''utstargz1z_ver1''', '''utstargz1/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''model_name''':'''G'zOne Type-Z'''}) +devices.devids['''mot_v197_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_v197_ver1''', '''MOT-V197/0A.63.18R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':14,'''gif''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':160,'''j2me_screen_width''':128,'''jpg''':True,'''max_deck_size''':10000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Motorola Internet Browser''','''mobile_browser_version''':'''2.2''','''model_name''':'''V197''','''mp3''':True,'''png''':True,'''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''resolution_height''':160,'''resolution_width''':128,'''ringtone_wav''':True,'''rows''':6,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/v197/Profile/v197.rdf''','''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':160,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''g_ku250_ver1_subua'''] = devclass(devices.devids['''lg_ku250_ver1'''], '''g_ku250_ver1_subua''', '''LG/KU250/v1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''htc_vario_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''htc_vario_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; MDA Vario/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', True, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''msxml2''','''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''jpg''':True,'''max_deck_size''':3000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1280,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser_version''':'''4.0''','''model_name''':'''MDA Vario II''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':36,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/tmo/mdavario-2.0.xml''','''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''mot_a_8b_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''mot_a_8b_ver1''', '''MOT-A-8B/00.00 UP.Browser/7.0.2.2.c.1.109 (GUI) MMP/2.0''', True, {'''brand_name''':'''Motorola''','''model_name''':'''A-8B'''}) +devices.devids['''sch_3410_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_3410_ver1''', '''SCH-R410 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', True, {'''brand_name''':'''Samsung''','''can_skip_aligned_link_row''':True,'''columns''':16,'''has_qwerty_keyboard''':True,'''max_image_height''':200,'''max_image_width''':168,'''model_name''':'''SCH R410 (MetroPCS)''','''resolution_height''':220,'''resolution_width''':176,'''rows''':20}) +devices.devids['''kwc_m100_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kwc_m100_ver1''', '''KWC-M1000/1.0.06 UP.Browser/6.2.3.9.g.1.110 (GUI) MMP/2.0''', True, {'''brand_name''':'''Kyocera''','''can_skip_aligned_link_row''':True,'''has_qwerty_keyboard''':True,'''max_image_height''':120,'''max_image_width''':120,'''model_name''':'''M100''','''resolution_height''':120,'''resolution_width''':120}) +devices.devids['''htc_touch_ver1_sub_alltel'''] = devclass(devices.devids['''htc_touch_ver1'''], '''htc_touch_ver1_sub_alltel''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6) Alltel HTC Touch''', False, None) +devices.devids['''htc_6900_ver1'''] = devclass(devices.devids['''htc_vogue_ver1'''], '''htc_6900_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6) HTC-6900''', False, None) +devices.devids['''htc_p3650_ver1'''] = devclass(devices.devids['''htc_touch_ver1'''], '''htc_p3650_ver1''', '''HTC_P3650 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', True, {'''brand_name''':'''HTC''','''has_qwerty_keyboard''':True,'''mobile_browser_version''':'''7.6''','''model_name''':'''Touch Cruise'''}) +devices.devids['''portalmmm_ver1_subnokian77'''] = devclass(devices.devids['''nokia_n77_ver1'''], '''portalmmm_ver1_subnokian77''', '''portalmmm/2.0 N77(c100;TB)''', False, {'''preferred_markup''':'''html_wi_imode_html_3'''}) +devices.devids['''portalmmm_ver1_subnokia6120c'''] = devclass(devices.devids['''nokia_6120c_ver1'''], '''portalmmm_ver1_subnokia6120c''', '''portalmmm/2.0 6120(c100;TB)''', False, {'''preferred_markup''':'''html_wi_imode_html_3'''}) +devices.devids['''portalmmm_ver1_subnokian73'''] = devclass(devices.devids['''nokia_n73_ver1'''], '''portalmmm_ver1_subnokian73''', '''portalmmm/2.0 N73(c100;TB)''', False, {'''preferred_markup''':'''html_wi_imode_html_3'''}) +devices.devids['''htc_artemis_xda_orbit'''] = devclass(devices.devids['''htc_artemis_ver1'''], '''htc_artemis_xda_orbit''', '''Xda Orbit; 240x320 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)''', True, {'''brand_name''':'''XDA''','''mobile_browser_version''':'''6.12''','''model_name''':'''Orbit'''}) +devices.devids['''htc_kaiser_xda_stellar'''] = devclass(devices.devids['''htc_kaiser_ver1'''], '''htc_kaiser_xda_stellar''', '''Xda_Stellar; 240x320 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', True, {'''mobile_browser_version''':'''7.6'''}) +devices.devids['''htc_p3650_polaris'''] = devclass(devices.devids['''htc_p3650_ver1'''], '''htc_p3650_polaris''', '''HTC_P3650 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.7)''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''max_deck_size''':3000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser_version''':'''7.7''','''model_name''':'''Polaris''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':36,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/gen/Polaris-1.0.xml''','''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''sonyericsson_a130i_ver1'''] = devclass(devices.devids['''netfront_ver3_4'''], '''sonyericsson_a130i_ver1''', '''SonyEricssonA130i/R3AA Browser/NetFront/3.4 Profile/MIDP-2.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Sony Ericsson Mobile Communications''','''colors''':262144,'''columns''':16,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':45000,'''max_image_height''':300,'''max_image_width''':220,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1224,'''mms_max_size''':614400,'''mms_max_width''':1632,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''A130i''','''mp3''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':16,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_pdc''':True}) +devices.devids['''mot_z10_ver1'''] = devclass(devices.devids['''mot_z9_ver1'''], '''mot_z10_ver1''', '''MOTO-Z10/''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':16777216,'''columns''':18,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':60000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':300000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MOTO-Z10''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':10,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://uaprof.motorola.com/phoneconfig/motorizrz10/Profile/motorizrz10.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sonyericsson_m608_ver1 '''] = devclass(devices.devids['''sonyericsson_m600_ver1'''], '''sonyericsson_m608_ver1 ''', '''SonyEricssonM608''', True, {'''model_name''':'''M608'''}) +devices.devids['''sonyericsson_w888_ver1'''] = devclass(devices.devids['''sonyericsson_w880_ver1'''], '''sonyericsson_w888_ver1''', '''SonyEricssonW888''', True, {'''model_name''':'''W888'''}) +devices.devids['''sgh_p940_ver1'''] = devclass(devices.devids['''sgh_p930_ver1'''], '''sgh_p940_ver1''', '''SAMSUNG-SGH-P940/1.0''', True, {'''model_name''':'''SGH-P940'''}) +devices.devids['''samsung_z550_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''samsung_z550_ver1''', '''SGH-Z550''', True, None) +devices.devids['''htc_artemis_ver1_sub_p3300'''] = devclass(devices.devids['''htc_artemis_ver1'''], '''htc_artemis_ver1_sub_p3300''', '''HTC_P3300 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', False, None) +devices.devids['''htc_artemis_ver1_sub_p3500'''] = devclass(devices.devids['''htc_artemis_ver1'''], '''htc_artemis_ver1_sub_p3500''', '''HTC_P3350 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', False, None) +devices.devids['''htc_artemis_ver1_sub_p3500_240x320'''] = devclass(devices.devids['''htc_artemis_ver1'''], '''htc_artemis_ver1_sub_p3500_240x320''', '''240x320; HTC_P3300/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''htc_artemis_ver1_sub_p3500_240x320_sub77'''] = devclass(devices.devids['''htc_artemis_ver1_sub_p3500_240x320'''], '''htc_artemis_ver1_sub_p3500_240x320_sub77''', '''HTC_P3300 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.7)''', False, None) +devices.devids['''htc_artemis_ver1_spv_m650'''] = devclass(devices.devids['''htc_artemis_ver1'''], '''htc_artemis_ver1_spv_m650''', '''240x320; SPV M650; OpVer 21.184.2.732''', False, {'''brand_name''':'''Orange''','''model_name''':'''M650'''}) +devices.devids['''htc_artemis_ver1_spv_m650_subua'''] = devclass(devices.devids['''htc_artemis_ver1'''], '''htc_artemis_ver1_spv_m650_subua''', '''240x320; SPV M650; OpVer 21.138.9.693''', False, {'''brand_name''':'''Orange''','''model_name''':'''M650'''}) +devices.devids['''htc_artemis_ver1_sub_p3500_240x320_bis'''] = devclass(devices.devids['''htc_artemis_ver1'''], '''htc_artemis_ver1_sub_p3500_240x320_bis''', '''HTC_P3300-Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, None) +devices.devids['''htc_artemis_ver1_dopod_m700'''] = devclass(devices.devids['''htc_artemis_ver1'''], '''htc_artemis_ver1_dopod_m700''', '''DopodM700/Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)''', False, {'''model_name''':'''DopodM700'''}) +devices.devids['''htc_artemis_ver1_subopera'''] = devclass(devices.devids['''htc_artemis_ver1'''], '''htc_artemis_ver1_subopera''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; PPC) Opera 8.65 [en]''', False, None) +devices.devids['''spv_c500_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subspvc500'''], '''spv_c500_ver1''', '''mozilla/4.0 (compatible; msie 4.01; windows ce; smartphone; 176x220; spv c500''', True, {'''brand_name''':'''SPV''','''ringtone_awb''':True,'''ringtone_mp3''':True,'''wallpaper_preferred_width''':129}) +devices.devids['''spv_c600_ver1'''] = devclass(devices.devids['''orange_spv_c600_ver1_sub111103'''], '''spv_c600_ver1''', '''Mozilla/4.0 (compatible MSIE 4.01 Windows CE Smartphone 240x320 SPV C600''', True, {'''brand_name''':'''SPV'''}) +devices.devids['''telecomiatlia_aladinomms_ver1'''] = devclass(devices.devids['''generic'''], '''telecomiatlia_aladinomms_ver1''', '''Aladino_MMS''', True, {'''brand_name''':'''Telecom Italia''','''model_name''':'''Aladino MMS''','''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_gif''':True}) +devices.devids['''amoi_8512_ver1'''] = devclass(devices.devids['''amoi_a500_ver1'''], '''amoi_8512_ver1''', '''Amoi 8512/R18.0 NF-Browser/3.3''', True, {'''model_name''':8512,'''ringtone_amr''':True,'''video_qcif''':True}) +devices.devids['''amoi_a9109_ver1'''] = devclass(devices.devids['''amoi_a500_ver1'''], '''amoi_a9109_ver1''', '''Amoi 9109''', True, {'''model_name''':9109,'''video_qcif''':True}) +devices.devids['''sie_gigaset_sl74_ver1'''] = devclass(devices.devids['''generic'''], '''sie_gigaset_sl74_ver1''', '''Gigaset SL74''', True, {'''brand_name''':'''Siemens''','''model_name''':'''Gigaset SL74''','''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''wallpaper_colors''':8,'''wallpaper_gif''':True}) +devices.devids['''nokia_6120_ver1'''] = devclass(devices.devids['''nokia_generic_series60_dp30'''], '''nokia_6120_ver1''', '''Nokia6120''', True, {'''model_name''':6120,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_separate_delivery''':True,'''ringtone_3gpp''':True,'''wallpaper_preferred_height''':240,'''wallpaper_preferred_width''':320}) +devices.devids['''nokia_e62_1_ver1'''] = devclass(devices.devids['''nokia_e62_ver1'''], '''nokia_e62_1_ver1''', '''NokiaE62-1''', False, None) +devices.devids['''sgh_b460_ver1'''] = devclass(devices.devids['''sgh_a801_ver1'''], '''sgh_b460_ver1''', '''SAMSUNG-SGH-B460''', True, {'''model_name''':'''SGH-B460''','''oma_support''':True}) +devices.devids['''samsung_a411_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_a411_ver1''', '''SAMSUNG-SGH-A411''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-A411''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':64,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_e746_ver1'''] = devclass(devices.devids['''samsung_e740_ver1'''], '''samsung_e746_ver1''', '''SAMSUNG-SGH-E746''', True, {'''model_name''':'''SGH-E746''','''wallpaper_colors''':16,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''samsung_i600tim_ver1'''] = devclass(devices.devids['''samsung_i600_ver1'''], '''samsung_i600tim_ver1''', '''SAMSUNG-SGH-i600TIM''', False, None) +devices.devids['''samsung_sgh_i710_ver1lowercase'''] = devclass(devices.devids['''samsung_sgh_i710_ver1'''], '''samsung_sgh_i710_ver1lowercase''', '''SAMSUNG-SGH-i710''', False, None) +devices.devids['''samsung_i500_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_i500_ver1''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Samsung/SGH-i550''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-i550''','''oma_v_1_0_forwardlock''':True,'''oma_v_1_0_separate_delivery''':True,'''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_rmf''':True,'''ringtone_voices''':16,'''ringtone_wav''':True,'''screensaver''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''samsung_sgh_j630_ver1'''] = devclass(devices.devids['''sec_j600_ver1'''], '''samsung_sgh_j630_ver1''', '''SAMSUNG-SGH-J630''', True, {'''model_name''':'''SGH-J630''','''ringtone_voices''':16,'''wallpaper_colors''':18,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_sgh_j750bngi4_ver1'''] = devclass(devices.devids['''samsung_sgh_j750_ver1'''], '''samsung_sgh_j750bngi4_ver1''', '''SAMSUNG-SGH-J750BNGI4''', False, None) +devices.devids['''samsung_sgh_j750mjgj4_ver1'''] = devclass(devices.devids['''samsung_sgh_j750_ver1'''], '''samsung_sgh_j750mjgj4_ver1''', '''SAMSUNG-SGH-J750MJGJ4''', False, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard'''}) +devices.devids['''SGH-P930'''] = devclass(devices.devids['''sgh_p920_ver1'''], '''SGH-P930''', '''SGH-P930''', True, {'''model_name''':'''SGH-P930'''}) +devices.devids['''samsung_t719_ver1'''] = devclass(devices.devids['''generic'''], '''samsung_t719_ver1''', '''SAMSUNG-SGH-T719''', True, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-T719''','''preferred_markup''':'''html_wi_w3_xhtmlbasic''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver''':True,'''video_preferred_height''':176,'''video_preferred_width''':144,'''video_qcif''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':176,'''wallpaper_preferred_width''':220}) +devices.devids['''samsung_z630b_ver1'''] = devclass(devices.devids['''samsung_z630_ver1'''], '''samsung_z630b_ver1''', '''SGH-Z630B''', True, {'''model_name''':'''SGH-Z630B'''}) +devices.devids['''sonyericsson_t105_ver1'''] = devclass(devices.devids['''sonyericsson_t100_ver1'''], '''sonyericsson_t105_ver1''', '''SonyEricssonT105''', True, {'''model_name''':'''T105''','''ringtone_midi_polyphonic''':False}) +devices.devids['''sonyericsson_k205i_ver1'''] = devclass(devices.devids['''sonyericsson_k200i_ver1'''], '''sonyericsson_k205i_ver1''', '''SonyEricssonK205i''', True, {'''model_name''':'''K205i''','''ringtone_voices''':16}) +devices.devids['''sonyericsson_z250i_ver1'''] = devclass(devices.devids['''sonyericsson_generic'''], '''sonyericsson_z250i_ver1''', '''SonyEricssonZ250i''', True, {'''model_name''':'''Z250i''','''ringtone_amr''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':16,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''sonyericsson_z710i_ver1'''] = devclass(devices.devids['''sonyericsson_z710_ver1'''], '''sonyericsson_z710i_ver1''', '''SonyEricssonZ710i''', True, {'''ringtone_awb''':True,'''wallpaper_preferred_height''':144}) +devices.devids['''sharp_tq_gx_f200_ver1'''] = devclass(devices.devids['''sharp_tq_gx15_ver1'''], '''sharp_tq_gx_f200_ver1''', '''SHARP-TQ-GX-F200''', True, {'''model_name''':'''TQ-GX-F200'''}) +devices.devids['''panasonic_g51e_ver1'''] = devclass(devices.devids['''panasonic_g50_ver1'''], '''panasonic_g51e_ver1''', '''Panasonic-g51E''', True, {'''model_name''':'''G51E'''}) +devices.devids['''panasonic_g51m_ver1'''] = devclass(devices.devids['''panasonic_g51e_ver1'''], '''panasonic_g51m_ver1''', '''Panasonic-g51M''', True, {'''model_name''':'''G51M'''}) +devices.devids['''panasonic_vs3_ver1'''] = devclass(devices.devids['''panasonic_vs2_ver1'''], '''panasonic_vs3_ver1''', '''Panasonic-VS3/#Vodafone/1.0/Panasonic-VS3''', True, {'''model_name''':'''VS3''','''ringtone_voices''':16}) +devices.devids['''lg_f9200_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_f9200_ver1''', '''LG-F9200''', True, {'''brand_name''':'''LG''','''model_name''':'''F9200'''}) +devices.devids['''lg_ku385_ver1'''] = devclass(devices.devids['''lg_ku380_ver1'''], '''lg_ku385_ver1''', '''LG/KU385''', True, {'''model_name''':'''KU385''','''ringtone_3gpp''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''video_3gpp''':True,'''video_qcif''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''lg_mg280d_ver1'''] = devclass(devices.devids['''lg_mg280_ver1'''], '''lg_mg280d_ver1''', '''LG-MG280d''', True, {'''model_name''':'''MG280d'''}) +devices.devids['''lg_mg810d_ver1'''] = devclass(devices.devids['''lg_mg810_ver1'''], '''lg_mg810d_ver1''', '''LG-MG810D''', True, {'''model_name''':'''MG-810d''','''ringtone_voices''':16,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':96,'''wallpaper_preferred_width''':96}) +devices.devids['''lg_u370_ver1'''] = devclass(devices.devids['''lg_u310_ver1'''], '''lg_u370_ver1''', '''LG/U370''', True, {'''model_name''':'''U370''','''oma_support''':False,'''oma_v_1_0_forwardlock''':False,'''video_qcif''':True}) +devices.devids['''lg_u990_ver1'''] = devclass(devices.devids['''lg_u900_ver1'''], '''lg_u990_ver1''', '''LG/U990''', True, {'''model_name''':'''U990''','''wallpaper_preferred_height''':400,'''wallpaper_preferred_width''':240}) +devices.devids['''lg_w5200_ver1'''] = devclass(devices.devids['''lg_w800_ver1'''], '''lg_w5200_ver1''', '''LG-W5200''', True, {'''model_name''':'''W5200''','''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_voices''':16,'''wallpaper_gif''':True}) +devices.devids['''momodesign_md2_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''momodesign_md2_ver1''', '''MD-MD2''', True, {'''brand_name''':'''MOMO Design''','''model_name''':'''MD2''','''oma_v_1_0_forwardlock''':True,'''ringtone_3gpp''':True,'''ringtone_amr''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''screensaver''':True,'''video_3gpp''':True,'''video_mp4''':True,'''video_qcif''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':200,'''wallpaper_preferred_width''':176}) +devices.devids['''mot_razr_v6vb_ver1'''] = devclass(devices.devids['''mot_razr_v6_ver1'''], '''mot_razr_v6vb_ver1''', '''MOT-RAZRV6vb''', True, {'''model_name''':'''RAZR V6vb''','''wallpaper_preferred_height''':128,'''wallpaper_preferred_width''':128}) +devices.devids['''mot_w377_ver1'''] = devclass(devices.devids['''mot_w375_ver1'''], '''mot_w377_ver1''', '''MOT-W377''', True, {'''model_name''':'''W377''','''ringtone_amr''':True}) +devices.devids['''sanyo_scp3200_ver1sub1'''] = devclass(devices.devids['''sanyo_scp3200_ver1'''], '''sanyo_scp3200_ver1sub1''', '''(MobilePhone SCP-3200/US/1.0) NetFront/3.1 MMP/2.0''', False, None) +devices.devids['''blackberry7100g_ver1'''] = devclass(devices.devids['''blackberry7100_ver1'''], '''blackberry7100g_ver1''', '''BlackBerry7100g''', True, {'''model_name''':'''BlackBerry 7100g'''}) +devices.devids['''blackberry7130g_ver1'''] = devclass(devices.devids['''blackberry7130_ver1'''], '''blackberry7130g_ver1''', '''BlackBerry7130g''', True, {'''model_name''':'''BlackBerry 7130g'''}) +devices.devids['''blackberry8800_ver1_mozilla2sub421102'''] = devclass(devices.devids['''blackberry8800_ver1'''], '''blackberry8800_ver1_mozilla2sub421102''', '''Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; PPC; 240x320) BlackBerry8800/4.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/102''', False, None) +devices.devids['''htc_t620_ver1'''] = devclass(devices.devids['''chtml_generic'''], '''htc_t620_ver1''', '''HTCS620-Mozilla/4.0''', True, {'''brand_name''':'''HTC''','''model_name''':'''t620 Dash''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''screensaver''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''sagem_my411cv_ver1'''] = devclass(devices.devids['''sagem_my411c_ver1'''], '''sagem_my411cv_ver1''', '''SAGEM-my411Cv''', True, {'''model_name''':'''my411Cv''','''screensaver''':True,'''wallpaper''':True,'''wallpaper_gif''':True,'''wallpaper_jpg''':True}) +devices.devids['''sagem_my411c_orange_ver1'''] = devclass(devices.devids['''sagem_my411c_ver1'''], '''sagem_my411c_orange_ver1''', '''SAGEM-my411C-orange''', False, None) +devices.devids['''sagem_my800v_ver1'''] = devclass(devices.devids['''sagem_my800x_ver1'''], '''sagem_my800v_ver1''', '''SAGEM-my800v''', True, {'''model_name''':'''my810V'''}) +devices.devids['''sagem_my850v_ver1'''] = devclass(devices.devids['''sagem_my800v_ver1'''], '''sagem_my850v_ver1''', '''SAGEM-my850V''', True, {'''model_name''':'''my850V''','''ringtone_mp3''':True,'''screensaver''':True,'''video_3gpp''':True,'''wallpaper''':True,'''wallpaper_colors''':18,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''sagem_myx_1w_ver1'''] = devclass(devices.devids['''sagem_myx_1_ver1'''], '''sagem_myx_1w_ver1''', '''myX-1w''', False, None) +devices.devids['''PURPLE_A700'''] = devclass(devices.devids['''tim_igo_600_ver1'''], '''PURPLE_A700''', '''PURPLE_A700''', True, {'''directdownload_support''':False,'''model_name''':'''PURPLE A700''','''ringtone_midi_polyphonic''':False,'''ringtone_voices''':1,'''wallpaper_gif''':True}) +devices.devids['''telit_gu1100_ver1'''] = devclass(devices.devids['''telit_g80_ver1'''], '''telit_gu1100_ver1''', '''GU1100''', True, {'''model_name''':'''GU1100''','''ringtone_midi_polyphonic''':True,'''ringtone_mmf''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''video_qcif''':True,'''wallpaper_colors''':16,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''telit_t110_ver1'''] = devclass(devices.devids['''telit_gm822_ver1'''], '''telit_t110_ver1''', '''Telit-t110''', True, {'''model_name''':'''T110''','''ringtone_3gpp''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':16,'''wallpaper_colors''':12,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128}) +devices.devids['''tianyu_ktouchv908_ver1'''] = devclass(devices.devids['''generic'''], '''tianyu_ktouchv908_ver1''', '''TIANYU-KTOUCH/V908''', True, {'''brand_name''':'''TIANYU''','''model_name''':'''KTOUCH V908''','''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':16,'''screensaver''':True,'''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_preferred_height''':320,'''wallpaper_preferred_width''':240}) +devices.devids['''zte_f252_ver1'''] = devclass(devices.devids['''zte_f230_ver1'''], '''zte_f252_ver1''', '''ZTE-F252''', True, {'''model_name''':'''F252''','''oma_support''':False,'''ringtone_amr''':False,'''ringtone_midi_polyphonic''':True,'''ringtone_voices''':6,'''ringtone_wav''':False,'''video_3gpp''':False,'''wallpaper_colors''':12,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176}) +devices.devids['''samsung_p520_ver1'''] = devclass(devices.devids['''samsung_p500_ver1'''], '''samsung_p520_ver1''', '''SEC-SGHP520/1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SAMSUNG''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':512000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Access Netfront''','''mobile_browser_version''':'''3.4''','''model_name''':'''SGH-P520''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':6,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/p520_10.xml''','''wap_push_support''':True,'''wbmp''':True,'''wta_phonebook''':True}) +devices.devids['''huawei_vf716_ver1'''] = devclass(devices.devids['''huawei_vf715_ver1'''], '''huawei_vf716_ver1''', '''Vodafone/1.0/0Vodafone716''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''VODAFONE''','''colors''':65536,'''columns''':11,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':150000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''VODAFONE 716''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':13,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap1.huawei.com/uaprof/HuaweiV716v100WCDMA.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''alcatel_mandarina_duck_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''alcatel_mandarina_duck_ver1''', '''Alcatel-Mandarina-Duck/1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Alcatel''','''colors''':65536,'''columns''':18,'''device_claims_web_support''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65536,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':768,'''mms_max_size''':300000,'''mms_max_width''':1024,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''Q3C''','''model_name''':'''Mandarina Duck''','''nokia_voice_call''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':5,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www-ccpp.tcl-ta.com/files/ALCATEL-MD01.rdf''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''amoi_8512_ver1_subr18'''] = devclass(devices.devids['''amoi_8512_ver1'''], '''amoi_8512_ver1_subr18''', '''Amoi 8512/R18''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Amoi Electronics''','''colors''':262144,'''columns''':96,'''gif''':True,'''jpg''':True,'''max_deck_size''':10000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':307200,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Access Netfront''','''mobile_browser_version''':'''3.3''','''model_name''':'''Amoi-8505''','''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':96,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.amobile.com.cn/ua/Amoi-8512.xml''','''wap_push_support''':True,'''wav''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''ice_ver1'''] = devclass(devices.devids['''pantech_generic'''], '''ice_ver1''', '''Ice''', True, {'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''Q04C1''','''model_name''':'''Ice''','''uaprof''':'''http://www.curitel.com/UAProf/Ice.xml'''}) +devices.devids['''orange_tokyo_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''orange_tokyo_ver1''', '''Tokyo''', True, {'''brand_name''':'''Orange''','''model_name''':'''Tokyo''','''uaprof''':'''http://www.modelabs.com/uaprofs/Orange-Tokyo.xml'''}) +devices.devids['''htc_excalibur_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''htc_excalibur_ver1''', '''HTC_S620''', True, {'''brand_name''':'''HTC''','''columns''':25,'''has_qwerty_keyboard''':True,'''max_image_height''':220,'''max_image_width''':340,'''mobile_browser_version''':'''6.12''','''model_name''':'''Excalibur''','''resolution_height''':240,'''resolution_width''':340,'''rows''':12,'''uaprof''':'''http://www.htcmms.com.tw/gen/Excal-1.0.xml'''}) +devices.devids['''mot_v8xx_ver1_funnyua'''] = devclass(devices.devids['''mot_v8xx_ver1'''], '''mot_v8xx_ver1_funnyua''', '''MOTORAZR V8/R601_G_80.41.17R Mozilla/4.0 (compatible; MSIE 6.0 Linux; MOTORAZR V88.50) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.50[zh]''', False, None) +devices.devids['''samsung_sgh_m110_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_m110_ver1''', '''SAMSUNG-SGH-M110/1.0''', True, {'''amr''':True,'''brand_name''':'''SAMSUNG''','''colors''':65536,'''columns''':8,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':16384,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-M110''','''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':14,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-M110.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''benqsie_ef61_ver1'''] = devclass(devices.devids['''benqsie_ef51_ver1'''], '''benqsie_ef61_ver1''', '''BenQ-EF61''', True, {'''mobile_browser_version''':'''6.3''','''model_name''':'''EF61'''}) +devices.devids['''mot_v8xx_ver1_funnyua2'''] = devclass(devices.devids['''mot_v8xx_ver1'''], '''mot_v8xx_ver1_funnyua2''', '''motorazrV8/R601_G_80.42.0FRP Mozilla/4.0 (compatible; MSIE 6.0 Linux; Motorola V8;nnn) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.50[yy]''', False, None) +devices.devids['''mot_v8xx_ver1_funnyua3'''] = devclass(devices.devids['''mot_v8xx_ver1'''], '''mot_v8xx_ver1_funnyua3''', '''MOT-MOTORAZRmaxxV3/98.30.80R BER2.2 Mozilla/4.0 (compatible; MSIE 6.0; 12093102) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.00 [zh]''', False, None) +devices.devids['''mot_v8xx_ver1_funnyua4'''] = devclass(devices.devids['''mot_v8xx_ver1'''], '''mot_v8xx_ver1_funnyua4''', '''MOT-MOTORAZRV9/A0.03.18R BER2.2 Mozilla/4.0 (compatible; MSIE 6.0; 13003291) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.60 [po]''', False, None) +devices.devids['''htc_p3450_ver1_funnyua'''] = devclass(devices.devids['''htc_p3450_ver1'''], '''htc_p3450_ver1_funnyua''', '''dopod S1_CMCC/5.2.1235/WAP2.0 Profile/MIDP2.0 Configuration/CLDC1.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)''', False, None) +devices.devids['''htc_p3450_ver1_funnyua2'''] = devclass(devices.devids['''htc_p3450_ver1'''], '''htc_p3450_ver1_funnyua2''', '''Xda_nova; 240x320 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)''', False, {'''brand_name''':'''XDA''','''model_name''':'''Nova'''}) +devices.devids['''htc_p3450_ver1_voda_ua'''] = devclass(devices.devids['''htc_p3450_ver1'''], '''htc_p3450_ver1_voda_ua''', '''Vodafone/1.0/HTC_Elf/1.15.162.1''', False, {'''model_name''':'''P3450 Elf (Voda)'''}) +devices.devids['''htc_p3450_ver1_funnyua4'''] = devclass(devices.devids['''htc_p3450_ver1'''], '''htc_p3450_ver1_funnyua4''', '''240x320; HTC P3450; OpVer 23.116.1.611''', False, None) +devices.devids['''htc_p3450_ver1_orange_ua'''] = devclass(devices.devids['''htc_p3450_ver1'''], '''htc_p3450_ver1_orange_ua''', '''HTC-P3450-orange/PPC; 240x320; OpVer 23.221.2.741 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', False, {'''mobile_browser_version''':'''7.6''','''model_name''':'''P3450 Elf (Orange)'''}) +devices.devids['''htc_p3450_ver1_funnyua5'''] = devclass(devices.devids['''htc_p3450_ver1'''], '''htc_p3450_ver1_funnyua5''', '''HTC P3450/2.20.621.1 Mozilla/4.0 Profile/MIDP-2.0''', False, None) +devices.devids['''htc_p3450_ver1_spv_m700'''] = devclass(devices.devids['''htc_p3450_ver1'''], '''htc_p3450_ver1_spv_m700''', '''PPC; 240x320; SPV M700; OpVer 19.123.2.733 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6)''', False, {'''brand_name''':'''SPV''','''mobile_browser_version''':'''7.6''','''model_name''':'''M700'''}) +devices.devids['''lg_245_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_245_ver1''', '''LG245/1.0 UP.Browser/6.2.3.9 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':14,'''gif''':True,'''j2me_cldc_1_0''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_1_0''':True,'''j2me_midp_2_0''':True,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':140,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''model_name''':245,'''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':8,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.telusmobility.com/lg/LG245-0.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True}) +devices.devids['''lg_8500_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_8500_ver1''', '''LG8500/1.0 UP.Browser/6.2.3.9 (GUI) MMP/2.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''can_skip_aligned_link_row''':True,'''colors''':262144,'''columns''':17,'''gif''':True,'''jpg''':True,'''max_deck_size''':4096,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':819200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''model_name''':8500,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':14,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.telusmobility.com/lg/LG8500-0.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True}) +devices.devids['''lg_ax245_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_ax245_ver1''', '''LGE-AX245/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG Electronics ''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''max_deck_size''':4096,'''midi_monophonic''':True,'''model_name''':'''AX245''','''mp3''':True,'''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':11,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.alltel.net/uaprof/lg/ax245/ax245.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True}) +devices.devids['''lg_ax355_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_ax355_ver1''', '''LGE-AX355/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''max_deck_size''':4096,'''midi_monophonic''':True,'''model_name''':'''AX355''','''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':11,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.alltel.net/uaprof/lg/ax355/ax355.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True}) +devices.devids['''mot_a_7a_ver1'''] = devclass(devices.devids['''uptext_generic'''], '''mot_a_7a_ver1''', '''MOT-A-7A/00.00 UP.Browser/4.1.27a1''', True, {'''brand_name''':'''Motorola''','''model_name''':'''i670'''}) +devices.devids['''mot_spark_verizon_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_spark_verizon_ver1''', '''MOT-SPARK/00.62 UP.Browser/6.2.3.4.c.1.123 (GUI) MMP/2.0''', True, {'''brand_name''':'''Motorola''','''can_skip_aligned_link_row''':True,'''columns''':16,'''max_image_height''':200,'''max_image_width''':170,'''model_name''':'''Spark (Verizon)''','''resolution_height''':220,'''resolution_width''':176,'''rows''':20}) +devices.devids['''pantech_pn3200_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''pantech_pn3200_ver1''', '''PANTECH-PN3200/1.0 UP.Browser/6.2.3.9 (GUI) MMP/2.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''PANTECH''','''can_skip_aligned_link_row''':True,'''colors''':262144,'''columns''':14,'''gif''':True,'''jpg''':True,'''max_deck_size''':65535,'''max_image_height''':180,'''max_image_width''':168,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':256000,'''mms_max_width''':480,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''PN-3200''','''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':14,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.telusmobility.com/pantech/PN3200-0.rdf''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_voice_call''':True}) +devices.devids['''mot_a_8d_ver1'''] = devclass(devices.devids['''opwv_v7_generic'''], '''mot_a_8d_ver1''', '''MOT-A-8D/00.00 UP.Browser/7.0.2.2.c.1.108 (GUI) MMP/2.0''', True, {'''brand_name''':'''Motorola''','''model_name''':'''uknown iDen'''}) +devices.devids['''samsung_spha640_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_spha640_ver1''', '''Samsung-SPHA640 AU-MIC-A640/2.0 MMP/2.0''', True, {'''brand_name''':'''SAMSUNG''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':16,'''jpg''':True,'''max_deck_size''':64000,'''max_image_height''':130,'''midi_monophonic''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''SPH-A640''','''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':9,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.sprintpcs.com/Samsung/SPH-A640/ZE12.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True}) +devices.devids['''sch_s259_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_s259_ver1''', '''SCH-S259/ UP.Browser/6.2.3.8 (GUI) MMP/2.0''', True, {'''brand_name''':'''Samsung''','''can_skip_aligned_link_row''':True,'''model_name''':'''S259''','''resolution_height''':128,'''resolution_width''':128}) +devices.devids['''mot_i920b_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''mot_i920b_ver1''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 176x220; i920B; 4.21.1088; 000805200804330)''', True, {'''brand_name''':'''Motorola''','''model_name''':'''i920B'''}) +devices.devids['''alcatel_ot_c700a_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''alcatel_ot_c700a_ver1''', '''Alcatel-OT-C700A/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 ObigoInternetBrowser/Q03C''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Alcatel''','''colors''':65536,'''columns''':18,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65536,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':768,'''mms_max_size''':300000,'''mms_max_width''':1024,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''OT-C700A''','''nokia_voice_call''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':6,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www-ccpp.tcl-ta.com/files/ALCATEL-OT-C700A.rdf''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''kddi_ts3h_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_ts3h_ver1''', '''KDDI-TS3H UP.Browser/6.2_7.2.7.1.K.1.3.101 (GUI) MMP/2.0''', True, {'''brand_name''':'''KDDI''','''can_skip_aligned_link_row''':True,'''model_name''':'''TS3H'''}) +devices.devids['''nokia_6630_ver1_submoz'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''nokia_6630_ver1_submoz''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series60/3.0 Nokia6630/4.06.0 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':65536,'''columns''':15,'''gif''':True,'''jpg''':True,'''max_deck_size''':357000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_symbian_install''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':6630,'''nokia_ringtone''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':208,'''resolution_width''':176,'''rows''':6,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''kddi_sa34_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''kddi_sa34_ver1''', '''KDDI-SA34 UP.Browser/6.2.0.9.1 (GUI) MMP/2.0''', True, {'''brand_name''':'''KDDI''','''can_skip_aligned_link_row''':True,'''columns''':20,'''max_image_height''':240,'''max_image_width''':220,'''model_name''':'''SA34''','''resolution_height''':268,'''resolution_width''':240,'''rows''':10}) +devices.devids['''mot_z6m_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_z6m_ver1''', '''MOT-Z6m/00.62 UP.Browser/6.2.3.4.c.1.123 (GUI) MMP/2.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':7,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':3000,'''max_image_height''':280,'''max_image_width''':220,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''Z6m''','''png''':True,'''resolution_height''':300,'''resolution_width''':240,'''rows''':11,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.alltel.net/uaprof/moto/z6m/z6m.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''lge_ax830_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_ax830_ver1''', '''LGE-AX380/1.0 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':22,'''gif''':True,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':180,'''max_image_width''':168,'''midi_monophonic''':True,'''model_name''':'''AX380''','''mp3''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':15,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.alltel.net/uaprof/lg/ax380/ax380.xml''','''wap_push_support''':True,'''wml_1_1''':True,'''wml_1_2''':True}) +devices.devids['''lge_vx8800_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lge_vx8800_ver1''', '''LGE-VX8800/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':17,'''gif''':True,'''has_pointing_device''':True,'''has_qwerty_keyboard''':True,'''jpg''':True,'''max_deck_size''':4096,'''max_image_height''':280,'''max_image_width''':220,'''midi_monophonic''':True,'''model_name''':'''VX-8800''','''png''':True,'''resolution_height''':298,'''resolution_width''':240,'''rows''':15,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vtext.com/lg/vx8800/vx8800.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True}) +devices.devids['''lg_ax275_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_ax275_ver1''', '''LGE-AX275/1.0 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG Electronics ''','''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''max_deck_size''':4096,'''midi_monophonic''':True,'''model_name''':'''AX275''','''mp3''':True,'''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':11,'''softkey_support''':True,'''table_support''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True}) +devices.devids['''sch_u410_ver1'''] = devclass(devices.devids['''netfront_ver3'''], '''sch_u410_ver1''', '''SCH-U410/1.0 NetFront/3.0.22.2.6 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':8,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SCH-U410T''','''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':12,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://device.telusmobility.com/samsung/schu410t-0.rdf''','''wap_push_support''':True,'''wbmp''':True}) +devices.devids['''lg_vx5400_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_vx5400_ver1''', '''LGE-VX5400/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':12,'''gif''':True,'''jpg''':True,'''max_deck_size''':4096,'''midi_monophonic''':True,'''model_name''':'''VX-5400''','''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':9,'''softkey_support''':True,'''table_support''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True}) +devices.devids['''lg_lx140_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_lx140_ver1''', '''LG-LX140/1.0 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':14,'''gif''':True,'''jpg''':True,'''max_deck_size''':65536,'''midi_monophonic''':True,'''model_name''':'''LX140''','''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':12,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://uaprof.vmobl.com/LG/LX-140/VMU_lx140_UAProf.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sch_r510_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sch_r510_ver1''', '''SCH-R510 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':262144,'''columns''':12,'''gif''':True,'''jpg''':True,'''max_deck_size''':16384,'''max_image_height''':160,'''max_image_width''':200,'''midi_monophonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':0,'''mms_max_size''':128000,'''mms_max_width''':0,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''model_name''':'''SCH-R510''','''png''':True,'''resolution_height''':176,'''resolution_width''':220,'''rows''':15,'''softkey_support''':True,'''table_support''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''htc_excalibur_ver1_subua'''] = devclass(devices.devids['''htc_excalibur_ver1'''], '''htc_excalibur_ver1_subua''', '''HTCS621-Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 320x240)''', False, {'''brand_name''':'''HTC'''}) +devices.devids['''lg_lg150_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''lg_lg150_ver1''', '''LGE-LG150 AU-MIC/1.1.17.0 MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''max_deck_size''':65535,'''max_image_height''':140,'''max_image_width''':120,'''midi_monophonic''':True,'''model_name''':'''LG5550''','''png''':True,'''resolution_height''':160,'''resolution_width''':120,'''rows''':8,'''softkey_support''':True,'''table_support''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''lg_u890_ver1_subua'''] = devclass(devices.devids['''lg_u890_ver1'''], '''lg_u890_ver1_subua''', '''LG/U890/v1.0''', False, None) +devices.devids['''mov_v195_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mov_v195_ver1''', '''MOT-V195/0A.64.0DR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':14,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':10000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''V195''','''mp3''':True,'''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':6,'''softkey_support''':True,'''table_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''mot_w230_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_w230_ver1''', '''MOT-W230/0.0.31 UP.Browser/6.3.0.6.c.19 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':14,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':8192,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''MOT-W230''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':5,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''nokia_n95_ver1_sub_mozilla_c200015_no_semicolon'''] = devclass(devices.devids['''nokia_n95_ver1'''], '''nokia_n95_ver1_sub_mozilla_c200015_no_semicolon''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95/20.0.015 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''nokia_e90_ver1_safari_074012'''] = devclass(devices.devids['''nokia_e90_ver1_safari'''], '''nokia_e90_ver1_safari_074012''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE90-1/07.40.1.2; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''lg_kg70_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''lg_kg70_ver1''', '''LG-KG70 MIC/1.1.14 MIDP-2.0/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''LG''','''can_skip_aligned_link_row''':True,'''colors''':262144,'''columns''':12,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':102400,'''max_image_height''':300,'''max_image_width''':220,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''2.0''','''model_name''':'''KG70''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':7,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://gsm.lge.com/html/gsm/LG-KG70.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_ku990_ver1_subua'''] = devclass(devices.devids['''lg_ku990_ver1_subv10aobigo'''], '''lg_ku990_ver1_subua''', '''LG-KU990/v10a Browser/Obigo-Q05A/3.6 MMS/LG-MMS-V1.0/1.2 Java/ASVM/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_8800e_ver1_subua'''] = devclass(devices.devids['''nokia_8800e_ver1'''], '''nokia_8800e_ver1_subua''', '''Nokia8800e-1/2.0 (05.20) Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_5610_expressmusic_ver1'''] = devclass(devices.devids['''nokia_5610d_ver1'''], '''nokia_5610_expressmusic_ver1''', '''Nokia5610 XpressMusic/2.0 (04.80) Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, None) +devices.devids['''orange_tr1_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''orange_tr1_ver1''', '''TR1/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', True, {'''brand_name''':'''Orange''','''can_skip_aligned_link_row''':True,'''max_image_height''':200,'''max_image_width''':168,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''TR1''','''resolution_height''':220,'''resolution_width''':176,'''uaprof''':'''http://211.42.201.70/ua_profile/TR1.xml'''}) +devices.devids['''konka_v60_ver1'''] = devclass(devices.devids['''konka_l6668_ver1'''], '''konka_v60_ver1''', '''V60/SW1.0.0/WAP2.0''', False, None) +devices.devids['''sec_sghm620_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''sec_sghm620_ver1''', '''SEC-SGHM620/1.0 Openwave/6.2.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SAMSUNG''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':8000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':51200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-M620''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':6,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/m620_10.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wta_phonebook''':True}) +devices.devids['''softbank_nec_706n_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''softbank_nec_706n_ver1''', '''SoftBank/1.0/706N/NJ001/SN352897010285750 Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''brand_name''':'''Nec''','''colors''':65536,'''gif''':True,'''jpg''':True,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_size''':307200,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''706N''','''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''sp_midi''':True,'''uaprof''':'''http://nec-uap.com/prof/706N.xml''','''wap_push_support''':True}) +devices.devids['''nokia_n73_ver1_sub40735302'''] = devclass(devices.devids['''nokia_n73_ver1'''], '''nokia_n73_ver1_sub40735302''', '''NokiaN73-1/4.0735.3.0.2 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_f900_ver1'''] = devclass(devices.devids['''samsungxhtml_ver1'''], '''samsung_f900_ver1''', '''SEC-SGHF900/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''brand_name''':'''Samsung''','''model_name''':'''SGH-F900''','''uaprof''':'''wap.samsungmobile.com/uaprof/f900_10.xml'''}) +devices.devids['''samsung_i550_ver1'''] = devclass(devices.devids['''samsungxhtml_ver1'''], '''samsung_i550_ver1''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Samsung/SGH-i550/XXGK4 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':15,'''gif''':True,'''jpg''':True,'''max_deck_size''':357000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_symbian_install''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Safari''','''model_name''':'''SGH-i550''','''nokia_ringtone''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':6,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/i550.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''mot_c168i_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''mot_c168i_ver1''', '''MOT-C168i/1.0 Release/7.24.2006 Browser/CMCS1.0 Software/0.080''', True, {'''bmp''':True,'''brand_name''':'''Motorola''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':14,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':5600,'''midi_monophonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''C168i''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':6,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://motorola.handango.com/phoneconfig/C168i/Profile/C168i-cingular.rdf''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''mot_l72_ver1'''] = devclass(devices.devids['''mot_l9_ver1'''], '''mot_l72_ver1''', '''MOT-L72/08.21.09R MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':10000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':307200,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''L7e''','''mp3''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':11,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''nokia_n81_ver1_sub100026'''] = devclass(devices.devids['''nokia_n81_ver1'''], '''nokia_n81_ver1_sub100026''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN81-1/10.0.026 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''nokia_n81_ver1_sub100053'''] = devclass(devices.devids['''nokia_n81_ver1_sub100026'''], '''nokia_n81_ver1_sub100053''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN81-1/10.0.053 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''nokia_n82_ver1_sub110117'''] = devclass(devices.devids['''nokia_n82_ver1_sub100046'''], '''nokia_n82_ver1_sub110117''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN82/11.0.117; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''nokia_9300i_ver1_submozilla550'''] = devclass(devices.devids['''nokia_9300i_ver1_submozilla'''], '''nokia_9300i_ver1_submozilla550''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series80/2.0 Nokia9300i/5.50 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, None) +devices.devids['''nokia_6630_ver1_submoz50321'''] = devclass(devices.devids['''nokia_6630_ver1_submoz1253'''], '''nokia_6630_ver1_submoz50321''', '''Mozilla/4.0 (compatible; MSIE 5.0; Series60/2.6 Nokia6630/5.03.21 Profile/MIDP-2.0 Configuration/CLDC-1.1)''', False, None) +devices.devids['''nokia_n81_ver1_sub100026_funny'''] = devclass(devices.devids['''nokia_n81_ver1_sub100026'''], '''nokia_n81_ver1_sub100026_funny''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN81-1/1.00 Profile/MIDP-2.0 Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413 UP.Browser/7.0.2.3.119 (GUI) MMP/2.0 Push/PO''', False, None) +devices.devids['''nokia_n95_ver1_sub100010'''] = devclass(devices.devids['''nokia_n95_ver1_sub100014'''], '''nokia_n95_ver1_sub100010''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95/10.0.010)''', False, None) +devices.devids['''samsung_sgh_d900_voda1'''] = devclass(devices.devids['''samsung_d900_ver1'''], '''samsung_sgh_d900_voda1''', '''SAMSUNG-SGH-D900-VODA/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''model_name''':'''SGH-D900 (Voda)'''}) +devices.devids['''samsung_sgh_d900_voda_d900amfi1'''] = devclass(devices.devids['''samsung_sgh_d900_voda1'''], '''samsung_sgh_d900_voda_d900amfi1''', '''SAMSUNG-SGH-D900-VODA/D900AMFI1 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, None) +devices.devids['''samsung_sgh_d900i_ver1_sub_orange'''] = devclass(devices.devids['''samsung_d900i_ver1_sub1_a'''], '''samsung_sgh_d900i_ver1_sub_orange''', '''SAMSUNG-SGH-D900i-ORANGE/D900iABGF2 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 +''', False, {'''model_name''':'''D900i (Orange)'''}) +devices.devids['''samsung__sgh_e370_ver1_subvoda'''] = devclass(devices.devids['''samsung_e370_ver1_sub6233c1101'''], '''samsung__sgh_e370_ver1_subvoda''', '''SAMSUNG-SGH-E370-VODA/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', False, {'''model_name''':'''SGH-E370 (Voda)'''}) +devices.devids['''sonyericsson_g900_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_g900_ver1''', '''SonyEricssonG900/R100 Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; 817) Opera 8.65 [en]''', False, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SonyEricsson''','''can_skip_aligned_link_row''':True,'''colors''':262144,'''columns''':20,'''device_os''':'''Symbian OS''','''gif''':True,'''has_pointing_device''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':60000,'''max_image_height''':300,'''max_image_width''':220,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':300000,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Opera''','''mobile_browser_version''':'''8.65''','''model_name''':'''G900''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':15,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAProf/G900R100.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sonyericsson_g700_ver1'''] = devclass(devices.devids['''sonyericsson_xhtml_generic'''], '''sonyericsson_g700_ver1''', '''SonyEricssonG700/R100 Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; 817) Opera 8.65 [en]''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SonyEricsson''','''can_skip_aligned_link_row''':True,'''colors''':262144,'''columns''':20,'''device_os''':'''Symbian OS''','''gif''':True,'''has_pointing_device''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':60000,'''max_image_height''':300,'''max_image_width''':220,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1200,'''mms_max_size''':300000,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Opera''','''mobile_browser_version''':'''8.65''','''model_name''':'''G700''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':15,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://wap.sonyericsson.com/UAProf/G700R100.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''blackberry8110_ver1'''] = devclass(devices.devids['''blackberry_generic_ver4'''], '''blackberry8110_ver1''', '''BlackBerry8110/4.3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/120''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''RIM''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':26,'''gif''':True,'''jpg''':True,'''max_deck_size''':32768,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':307200,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mms_wmlc''':True,'''model_name''':'''BlackBerry 8110''','''png''':True,'''resolution_height''':260,'''resolution_width''':240,'''rows''':18,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/8110/4.3.0.rdf''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''sagem_my401c_ver1_subua'''] = devclass(devices.devids['''sagem_my401c_ver1'''], '''sagem_my401c_ver1_subua''', '''SAGEM-my401C/1.0/ MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.2.6.c.1.258 (GUI)''', False, {'''mobile_browser_version''':'''7.2'''}) +devices.devids['''sagem_my411x_ver1_subua'''] = devclass(devices.devids['''sagem_my411x_ver1'''], '''sagem_my411x_ver1_subua''', '''Sagem-my411X/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Browser/UP.Browser/7.2.6.c.1.326 (GUI)''', False, None) +devices.devids['''sec_e900_ver1_subbofj1'''] = devclass(devices.devids['''sec_e900_ver1'''], '''sec_e900_ver1_subbofj1''', '''SEC-SGHE900/BOFJ1 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''lg_ax490_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_ax490_ver1''', '''LGE-AX490/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''max_deck_size''':4096,'''midi_monophonic''':True,'''model_name''':'''AX490''','''mp3''':True,'''png''':True,'''resolution_height''':160,'''resolution_width''':128,'''rows''':11,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.alltel.net/uaprof/lg/ax490/ax490.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True}) +devices.devids['''mot_l71_ver1'''] = devclass(devices.devids['''mot_mib22_generic'''], '''mot_l71_ver1''', '''MOT-L71/AAUG2128AA 08.02.06R/10.21.2005 MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Motorola''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':17,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':200,'''max_image_width''':168,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''L71''','''mp3''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':11,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''samsung_d880_ver1'''] = devclass(devices.devids['''samsungxhtml_ver1'''], '''samsung_d880_ver1''', '''SAMSUNG-SGH-D880/D880XAGL1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''SAMSUNG''','''colors''':65536,'''columns''':8,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':49152,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-D880''','''mp3''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':28,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-D880.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''mot_v3r_ver1_sub08bdb43r'''] = devclass(devices.devids['''mot_v3r_ver1'''], '''mot_v3r_ver1_sub08bdb43r''', '''MOT-V3r/08.BD.43R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_safari_generic'''] = devclass(devices.devids['''generic_xhtml'''], '''samsung_safari_generic''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Samsung''', False, {'''ajax_manipulate_css''':True,'''ajax_support_full_dom''':True,'''ajax_support_getelementbyid''':True,'''ajax_support_inner_html''':True,'''ajax_support_javascript''':True,'''ajax_xhr_type''':'''standard''','''brand_name''':'''Samsung''','''can_skip_aligned_link_row''':True,'''device_claims_web_support''':True,'''html_web_3_2''':True,'''html_web_4_0''':True,'''html_wi_imode_compact_generic''':True,'''html_wi_imode_html_1''':True,'''html_wi_imode_html_2''':True,'''html_wi_imode_html_3''':True,'''html_wi_imode_html_4''':True,'''html_wi_imode_html_5''':True,'''html_wi_imode_htmlx_1''':True,'''html_wi_imode_htmlx_1_1''':True,'''mobile_browser''':'''Safari''','''multipart_support''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''xhtml_file_upload''':'''supported''','''xhtml_honors_bgcolor''':True,'''xhtml_support_level''':4,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_file_upload''':True,'''xhtml_supports_forms_in_table''':True,'''xhtml_supports_table_for_layout''':True,'''xhtmlmp_preferred_mime_type''':'''application/vnd.wap.xhtml+xml'''}) +devices.devids['''samsung_i450v_ver1'''] = devclass(devices.devids['''samsung_safari_generic'''], '''samsung_i450v_ver1''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Samsung/SGH-i450V/BUGJ6 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':15,'''gif''':True,'''jpg''':True,'''max_deck_size''':357000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_symbian_install''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-i450v''','''nokia_ringtone''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':6,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_i520v_ver1'''] = devclass(devices.devids['''samsung_safari_generic'''], '''samsung_i520v_ver1''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Samsung/SGH-i520V/BUGH1 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':15,'''gif''':True,'''jpg''':True,'''max_deck_size''':357000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1536,'''mms_max_size''':307200,'''mms_max_width''':2048,'''mms_midi_monophonic''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_symbian_install''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-i520v''','''nokia_ringtone''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':6,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_i520v_ver1_subbugd7'''] = devclass(devices.devids['''samsung_i520v_ver1'''], '''samsung_i520v_ver1_subbugd7''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Samsung/SGH-i520V/BUGD7 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''samsung_i550v_ver1'''] = devclass(devices.devids['''samsung_safari_generic'''], '''samsung_i550v_ver1''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Samsung/SGH-i550V/BUGL2 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':15,'''gif''':True,'''jpg''':True,'''max_deck_size''':357000,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_nokia_ringingtone''':True,'''mms_png''':True,'''mms_rmf''':True,'''mms_symbian_install''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-i550''','''nokia_ringtone''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':6,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''tiff''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''samsung_i550v_ver1_subbugl2'''] = devclass(devices.devids['''samsung_i550v_ver1'''], '''samsung_i550v_ver1_subbugl2''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Samsung/SGH-i550V/BUGL2 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''samsung_i550_ver1_subakha1'''] = devclass(devices.devids['''samsung_i550_ver1'''], '''samsung_i550_ver1_subakha1''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Samsung/SGH-i550/AKHA1 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''samsung_m110_ver1'''] = devclass(devices.devids['''samsungxhtml_ver1'''], '''samsung_m110_ver1''', '''SAMSUNG-SGH-M110/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''brand_name''':'''SAMSUNG''','''colors''':65536,'''columns''':8,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':16384,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-M110''','''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':14,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-M110.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''mot_l2_ver1_sub0A5315R'''] = devclass(devices.devids['''mot_l2_ver1'''], '''mot_l2_ver1_sub0A5315R''', '''MOT-L2/0A.53.15R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, None) +devices.devids['''samsung_i550_ver1_subaogl2'''] = devclass(devices.devids['''samsung_i550_ver1'''], '''samsung_i550_ver1_subaogl2''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Samsung-SGH-i550/AOGL2 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''nokia_5700_ver1_sub_safari3831'''] = devclass(devices.devids['''nokia_5700_ver1_sub_safari'''], '''nokia_5700_ver1_sub_safari3831''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Nokia5700/3.83.1; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''ms_mobile_browser_ver1_subhtc2125_subvoda'''] = devclass(devices.devids['''ms_mobile_browser_ver1_subhtc2125'''], '''ms_mobile_browser_ver1_subhtc2125_subvoda''', '''Vodafone/1.0/v1240/2.5.483.2/Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 240x320)''', False, {'''model_name''':'''2125 (vodafone)'''}) +devices.devids['''lg_mx380_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_mx380_ver1''', '''LGE-MX380/1.0 UP.Browser/6.2.3.9 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''built_in_camera''':True,'''built_in_recorder''':True,'''colors''':262144,'''columns''':12,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_bmp''':True,'''mms_evrc''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':960,'''mms_max_size''':358400,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':72,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_qcelp''':True,'''mms_wbmp''':True,'''model_name''':'''MX380''','''resolution_height''':220,'''resolution_width''':176,'''rows''':11}) +devices.devids['''lg_mx8500_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_mx8500_ver1''', '''LGE-MX8500/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''brand_name''':'''LG''','''model_name''':'''MX8500'''}) +devices.devids['''mot_jfjk0_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''mot_jfjk0_ver1''', '''MOT-JFJK0/00.62 UP.Browser/6.2.3.4.c.1.123 (GUI) MMP/2.0''', False, {'''brand_name''':'''Motorola''','''model_name''':'''(unknown)'''}) +devices.devids['''nokia_n95_ver1_sub3'''] = devclass(devices.devids['''nokia_n95_ver1'''], '''nokia_n95_ver1_sub3''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95-3/10.2.006; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, {'''model_name''':'''N95 (North America)'''}) +devices.devids['''nokia_n76_ver1_subua310014'''] = devclass(devices.devids['''nokia_n76_ver1_subua'''], '''nokia_n76_ver1_subua310014''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN76-1/31.0.014 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''lg_mx510_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_mx510_ver1''', '''LGE-MX510/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''built_in_camera''':True,'''built_in_recorder''':True,'''colors''':262144,'''columns''':12,'''mms_3gpp2''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':46080,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':72,'''mms_mp3''':True,'''mms_wbmp''':True,'''mms_wml''':True,'''model_name''':'''MX510''','''resolution_height''':220,'''resolution_width''':176,'''rows''':17}) +devices.devids['''nokia_n95_ver1_sub3_sub112009'''] = devclass(devices.devids['''nokia_n95_ver1_sub3'''], '''nokia_n95_ver1_sub3_sub112009''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95-3/11.2.009; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''lg_mx275_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_mx275_ver1''', '''LGE-MX275/1.0 UP.Browser/6.2.3.9 (GUI) MMP/2.0''', True, {'''brand_name''':'''LG''','''model_name''':'''MX275'''}) +devices.devids['''samsung_sgh_c425_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''samsung_sgh_c425_ver1''', '''SAMSUNG-SGH-C425/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0''', True, {'''amr''':True,'''brand_name''':'''Samsung''','''colors''':65536,'''columns''':8,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':16384,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''SGH-C425''','''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':14,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.samsungmobile.com/uaprof/SGH-C425.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True}) +devices.devids['''nokia_2855i_ver1'''] = devclass(devices.devids['''nokia_2855_ver1'''], '''nokia_2855i_ver1''', '''Nokia2855i/2.0 UP.Browser/6.2.3.8 MMP/2.0''', True, {'''mobile_browser''':'''Openwave Mobile Browser''','''mobile_browser_version''':'''6.2''','''model_name''':'''2855i''','''opwv_xhtml_extensions_support''':True,'''xhtml_format_as_attribute''':True,'''xhtml_format_as_css_property''':True,'''xhtml_honors_bgcolor''':True,'''xhtml_marquee_as_css_property''':True,'''xhtml_nowrap_mode''':True,'''xhtml_support_level''':3,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_forms_in_table''':True,'''xhtml_supports_table_for_layout''':True}) +devices.devids['''nokia_6276_ver1'''] = devclass(devices.devids['''nokia_opwv62_generic'''], '''nokia_6276_ver1''', '''Nokia6276/2.0 (BL200V0400.nep) UP.Browser/6.2.3.8 MMP/2.0''', True, {'''model_name''':6276}) +devices.devids['''nokia_e51_ver1_sub0072604'''] = devclass(devices.devids['''nokia_e51_ver1_sub1003420'''], '''nokia_e51_ver1_sub0072604''', '''Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE51-1/007.26.04; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413''', False, None) +devices.devids['''onda_n1010_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''onda_n1010_ver1''', '''N1010 Onda/Plat-F-VIM/WAP2.0 UP.Browser/6.2.2.7.c.1.102 (GUI) MMP/1.0''', True, {'''bmp''':True,'''brand_name''':'''Onda''','''colors''':65536,'''columns''':8,'''gif''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''jpg''':True,'''max_deck_size''':16384,'''max_image_height''':128,'''max_image_width''':128,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':128,'''mms_max_size''':102400,'''mms_max_width''':128,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''N1010''','''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''resolution_height''':128,'''resolution_width''':128,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_midi_polyphonic''':True,'''ringtone_mp3''':True,'''ringtone_voices''':40,'''rows''':11,'''screensaver''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.ondacommunication.com/ua/N1010.xml''','''wallpaper''':True,'''wallpaper_colors''':16,'''wallpaper_gif''':True,'''wallpaper_jpg''':True,'''wallpaper_png''':True,'''wallpaper_preferred_height''':160,'''wallpaper_preferred_width''':128,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''xhtml_support_level''':1}) +devices.devids['''onda_n1020_ver1'''] = devclass(devices.devids['''onda_n1010_ver1'''], '''onda_n1020_ver1''', '''N1020''', True, {'''model_name''':'''N1020''','''ringtone_amr''':False,'''uaprof''':'''http://www.ondacommunication.com/ua/N1020.xml''','''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176}) +devices.devids['''onda_n2020_ver1'''] = devclass(devices.devids['''onda_n1020_ver1'''], '''onda_n2020_ver1''', '''N2020''', True, {'''model_name''':'''N2020''','''ringtone_voices''':32}) +devices.devids['''onda_n2030_ver1'''] = devclass(devices.devids['''onda_n2020_ver1'''], '''onda_n2030_ver1''', '''N2030''', True, {'''model_name''':'''N2030''','''ringtone_voices''':40,'''wallpaper_colors''':12}) +devices.devids['''onda_n3000_ver1'''] = devclass(devices.devids['''onda_n2030_ver1'''], '''onda_n3000_ver1''', '''N3000''', True, {'''brand_name''':'''Onda''','''model_name''':'''N3000''','''ringtone_amr''':True}) +devices.devids['''onda_n3020_ver1'''] = devclass(devices.devids['''onda_n3000_ver1'''], '''onda_n3020_ver1''', '''N3020''', True, {'''model_name''':'''N3020''','''ringtone_voices''':32,'''wallpaper_colors''':16}) +devices.devids['''onda_n5000_ver1'''] = devclass(devices.devids['''onda_n3000_ver1'''], '''onda_n5000_ver1''', '''N5000 Onda/Plat-EMP/WAP2.0/MIDP2.0/CLDC1.0''', True, {'''model_name''':'''N5000''','''ringtone_amr''':False,'''ringtone_mmf''':True,'''ringtone_voices''':72,'''uaprof''':'''http://www.ondacommunication.com/ua/N5000.xml''','''wallpaper_colors''':18,'''wallpaper_preferred_height''':220,'''wallpaper_preferred_width''':176,'''xhtml_support_level''':3}) +devices.devids['''onda_n1030_ver1'''] = devclass(devices.devids['''onda_n1020_ver1'''], '''onda_n1030_ver1''', '''N1030 ONDA/Plat-F-VIM/WAP2.0 UP.Browser/6.2.2.7.c.1.102 (GUI)''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''ONDA''','''colors''':65536,'''columns''':16,'''gif''':True,'''jpg''':True,'''max_deck_size''':16384,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':102400,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wbmp''':True,'''model_name''':'''N1030''','''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':8,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''wap_push_support''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''onda_n5010_ver1'''] = devclass(devices.devids['''onda_n5000_ver1'''], '''onda_n5010_ver1''', '''N5010 Onda/Plat-EMP/WAP2.0/MIDP2.0/CLDC1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Onda''','''colors''':262144,'''columns''':16,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':10000,'''midi_monophonic''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''N5010''','''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':16,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.ondacommunication.com/ua/N5010.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True}) +devices.devids['''onda_n5020_ver1'''] = devclass(devices.devids['''onda_n5010_ver1'''], '''onda_n5020_ver1''', '''N5020 Onda/Plat-EMP/WAP2.0/MIDP2.0/CLDC1.0''', True, {'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':262144,'''columns''':16,'''connectionoriented_confirmed_service_indication''':True,'''connectionoriented_confirmed_service_load''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''imelody''':True,'''j2me_cldc_1_0''':True,'''j2me_midp_1_0''':True,'''j2me_screen_height''':220,'''j2me_screen_width''':176,'''jpg''':True,'''max_deck_size''':10000,'''max_image_height''':200,'''max_image_width''':176,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''N5020''','''mp3''':True,'''multipart_support''':True,'''oma_support''':True,'''oma_v_1_0_combined_delivery''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':220,'''resolution_width''':176,'''ringtone''':True,'''ringtone_amr''':True,'''ringtone_imelody''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''rows''':16,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.ondacommunication.com/ua/N5020.xml''','''video''':True,'''video_3gpp''':True,'''video_mp4''':True,'''wallpaper_preferred_height''':144,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_2''':True,'''wml_1_3''':True,'''xhtml_support_level''':3}) +devices.devids['''huawei_v715_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''huawei_v715_ver1''', '''Vodafone/1.0/0vodafone715/B116 Browser/Obigo-browser/Q04A MMS/Obigo-MMS/Q04A SyncML/HW-SyncML/1.0 Java/QVM/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Huawei''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':11,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':150000,'''max_image_height''':200,'''max_image_width''':168,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''V715''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':13,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.huawei.com/uaprof/HuaweiV715v100WCDMA.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''onda_n5050_ver1'''] = devclass(devices.devids['''onda_n5020_ver1'''], '''onda_n5050_ver1''', '''N5050 Onda/WAP2.0/MIDP2.0/CLDC1.1''', True, {'''model_name''':'''N5050''','''uaprof''':'''http://www.ondacommunication.com/ua/N5050.xml'''}) +devices.devids['''huawei_v716_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''huawei_v716_ver1''', '''Vodafone/1.0/0vodafone716/B123 Browser/Obigo-browser/Q04A MMS/Obigo-MMS/Q04A SyncML/HW-SyncML/1.0 Java/QVM/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Huawei''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':11,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':150000,'''max_image_height''':200,'''max_image_width''':168,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''4.0''','''model_name''':'''v716''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':13,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.huawei.com/uaprof/HuaweiV716v100WCDMA.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''onda_n6000_ver1'''] = devclass(devices.devids['''onda_n5050_ver1'''], '''onda_n6000_ver1''', '''N6000/1.0 ACS-NF/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':14,'''gif''':True,'''jpg''':True,'''max_deck_size''':5120,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Access Netfront''','''mobile_browser_version''':'''3.2''','''model_name''':'''N6000''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':8,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.ondacommunication.com/ua/N6000.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''onda_n7000_ver1'''] = devclass(devices.devids['''onda_n6000_ver1'''], '''onda_n7000_ver1''', '''N7000/1.0 ACS-NF/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''colors''':65536,'''columns''':14,'''gif''':True,'''jpg''':True,'''max_deck_size''':5120,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''N7000''','''mp3''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':8,'''softkey_support''':True,'''table_support''':True,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''onda_n7010_ver1'''] = devclass(devices.devids['''onda_n7000_ver1'''], '''onda_n7010_ver1''', '''N7010 Onda WAP2.0/MIDP2.0/CLDC1.1''', True, {'''model_name''':'''N7010''','''uaprof''':'''http://www.ondacommunication.com/ua/N7010.xml'''}) +devices.devids['''onda_n7100_ver1'''] = devclass(devices.devids['''onda_n7010_ver1'''], '''onda_n7100_ver1''', '''N7100 Onda/WAP2.0/MIDP2.0/CLDC1.1''', True, {'''aac''':True,'''amr''':True,'''au''':True,'''bmp''':True,'''colors''':65536,'''columns''':10,'''connectionoriented_confirmed_service_indication''':True,'''gif''':True,'''html_web_4_0''':True,'''html_wi_oma_xhtmlmp_1_0''':True,'''html_wi_w3_xhtmlbasic''':True,'''j2me_cldc_1_1''':True,'''j2me_midp_2_0''':True,'''j2me_screen_height''':320,'''j2me_screen_width''':240,'''jpg''':True,'''max_data_rate''':384,'''max_deck_size''':5120,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''mms_3gpp''':True,'''mms_3gpp2''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_mmf''':True,'''mms_mp3''':True,'''mms_mp4''':True,'''mms_png''':True,'''mms_vcalendar''':True,'''mms_vcard''':True,'''mms_video''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''N7100''','''mp3''':True,'''multipart_support''':True,'''nokia_voice_call''':True,'''oma_support''':True,'''oma_v_1_0_forwardlock''':True,'''png''':True,'''preferred_markup''':'''html_wi_oma_xhtmlmp_1_0''','''receiver''':True,'''resolution_height''':320,'''resolution_width''':240,'''ringtone''':True,'''ringtone_aac''':True,'''ringtone_amr''':True,'''ringtone_midi_monophonic''':True,'''ringtone_mp3''':True,'''ringtone_wav''':True,'''ringtone_xmf''':True,'''rows''':13,'''sender''':True,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://www.ondacommunication.com/ua/N7100.xml''','''video''':True,'''video_3gpp''':True,'''video_3gpp2''':True,'''video_mp4''':True,'''video_wmv''':True,'''wallpaper_preferred_height''':144,'''wallpaper_preferred_width''':176,'''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wml_1_3''':True,'''wta_phonebook''':True,'''xhtml_support_level''':3,'''xmf''':True}) +devices.devids['''onda_n7100_ver1_subua'''] = devclass(devices.devids['''onda_n7100_ver1'''], '''onda_n7100_ver1_subua''', '''N7100/1.0 ACS-NF/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''max_data_rate''':384}) +devices.devids['''huawei_v810_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''huawei_v810_ver1''', '''Vodafone/1.0/0vodafone810/B626 Browser/Obigo-browser/Q05A MMS/Obigo-MMS/Q05A SyncML/HW-SyncML/1.0 Java/HWJA/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Huawei''','''can_skip_aligned_link_row''':True,'''colors''':65536,'''columns''':11,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':150000,'''max_image_height''':300,'''max_image_width''':240,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''5.0''','''model_name''':'''v810''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':13,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://wap.huawei.com/uaprof/HuaweiV810v100WCDMA.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''voxtel_bd60_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''voxtel_bd60_ver1''', '''BD60-VOXTEL/M1.EN.01 UP.Browser/6.2.3.8 (GUI) MMP/2.0''', True, {'''brand_name''':'''Voxtel''','''model_name''':'''BD60'''}) +devices.devids['''voxtel_rx800_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''voxtel_rx800_ver1''', '''Voxtel-RX800/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''brand_name''':'''Voxtel''','''can_skip_aligned_link_row''':True,'''columns''':16,'''max_image_height''':200,'''max_image_width''':168,'''mobile_browser''':'''Teleca-Obigo''','''mobile_browser_version''':'''3.0''','''model_name''':'''RX800''','''resolution_height''':220,'''resolution_width''':176,'''rows''':10,'''uaprof''':'''http://www.voxtel.ru/UAProf/Voxtel_rx800.xml'''}) +devices.devids['''htc_polaris_ver1'''] = devclass(devices.devids['''ms_mobile_browser_ver1'''], '''htc_polaris_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6) Vodafone/1.0/SFR_v3650/1.25.163.3''', True, {'''bmp''':True,'''brand_name''':'''HTC''','''colors''':65536,'''columns''':16,'''gif''':True,'''has_pointing_device''':True,'''jpg''':True,'''max_deck_size''':3000,'''max_image_height''':300,'''max_image_width''':220,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1600,'''mms_max_size''':614400,'''mms_max_width''':1600,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''mobile_browser_version''':'''7.6''','''model_name''':'''Polaris''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':36,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.htcmms.com.tw/voda/polaris-1.0.xml''','''wav''':True,'''wbmp''':True,'''wml_1_1''':True,'''wta_phonebook''':True}) +devices.devids['''vodafone_705sh_ver1'''] = devclass(devices.devids['''netfront_ver3_3'''], '''vodafone_705sh_ver1''', '''Vodafone/1.0/V705SH/SHJ001 Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''brand_name''':'''Sharp''','''colors''':262144,'''columns''':19,'''device_claims_web_support''':True,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':102400,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_gif_static''':True,'''mms_jad''':True,'''mms_jar''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':640,'''mms_max_size''':307200,'''mms_max_width''':480,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wmlc''':True,'''model_name''':'''705SH''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':13,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://www.sharp-mobile.com/UAProf/V705SH_SHJ001_3g.xml''','''wap_push_support''':True,'''wml_1_3''':True}) +devices.devids['''fly_mx200i_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_mx200i_ver1''', '''FLY-MX200i/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65536,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':100000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MX200i''','''nokia_voice_call''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':7,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/FLY-MX200i.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''fly_mx300_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_mx300_ver1''', '''FLY-MX300/Profile/MIDP.2.0Configuration/CLDC.1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65536,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':100000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MX300''','''nokia_voice_call''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':7,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/FLY-MX300.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''fly_sl399e_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_sl399e_ver1''', '''FLY-SL399e/2.0 (03.15) Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65536,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':300000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SL399e''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':0,'''resolution_width''':0,'''rows''':7,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/Fly-SL399E.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''fly_sl500m_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_sl500m_ver1''', '''FLY-SL500m/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65536,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':97000,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SL500m''','''nokia_voice_call''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':7,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/SL500m.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''fly_sx390_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_sx390_ver1''', '''FLY-SX390/2.0 (03.15) Profile/MIDP-2.0 Configuration/CLDC-1.1''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65536,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':300000,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SX390''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':0,'''resolution_width''':0,'''rows''':7,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/FLY-SX390.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''ezze_mp100'''] = devclass(devices.devids['''generic_xhtml'''], '''ezze_mp100''', '''EZZE-MP100-/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Ezze''','''colors''':65536,'''columns''':18,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':66560,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':71680,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''MP100''','''nokia_voice_call''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':5,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/MP100.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''fly_sl300m_ver1'''] = devclass(devices.devids['''generic_xhtml'''], '''fly_sl300m_ver1''', '''FLY-SL300m/BSI AU.Browser/2.0 QO3C1 MMP/1.0''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Fly''','''colors''':65536,'''columns''':12,'''gif''':True,'''imelody''':True,'''jpg''':True,'''max_deck_size''':65536,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':1024,'''mms_max_size''':71680,'''mms_max_width''':1280,'''mms_midi_monophonic''':True,'''mms_vcard''':True,'''mms_wav''':True,'''mms_wbmp''':True,'''model_name''':'''SL300m''','''nokia_voice_call''':True,'''resolution_height''':220,'''resolution_width''':176,'''rows''':7,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''http://211.42.201.70/ua_profile/FLY-SL300m.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''sonyericsson_k530i_subr6ba'''] = devclass(devices.devids['''sonyericsson_k530i'''], '''sonyericsson_k530i_subr6ba''', '''SonyEricssonK530i/R6BA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1''', False, {'''colors''':262144}) +devices.devids['''samsung_sgh_g800'''] = devclass(devices.devids['''samsung_sgh_g800_ver1'''], '''samsung_sgh_g800''', '''SAMSUNG-SGH-G800''', True, None) +devices.devids['''samsung_sgh_g800_subxxgj9'''] = devclass(devices.devids['''samsung_sgh_g800'''], '''samsung_sgh_g800_subxxgj9''', '''SAMSUNG-SGH-G800/XXGJ9 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_5310expressmusic'''] = devclass(devices.devids['''nokia_5310expressmusic_ver1'''], '''nokia_5310expressmusic''', '''Nokia5310XpressMusic''', True, None) +devices.devids['''nokia_5310expressmusic_sub20p'''] = devclass(devices.devids['''nokia_5310expressmusic'''], '''nokia_5310expressmusic_sub20p''', '''Nokia5310XpressMusic/2.0 (p) Profile/MIDP-2.1 Configuration/CLDC-1.1''', False, None) +devices.devids['''nokia_5610expressmusic_ver1'''] = devclass(devices.devids['''nokia_generic_series40_dp30'''], '''nokia_5610expressmusic_ver1''', '''Nokia5610 XpressMusic''', True, {'''amr''':True,'''bmp''':True,'''brand_name''':'''Nokia''','''colors''':262144,'''columns''':33,'''gif''':True,'''jpg''':True,'''max_deck_size''':131072,'''max_image_height''':300,'''max_image_width''':226,'''midi_monophonic''':True,'''mms_amr''':True,'''mms_bmp''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_max_height''':480,'''mms_max_size''':307200,'''mms_max_width''':640,'''mms_midi_monophonic''':True,'''mms_nokia_wallpaper''':True,'''mms_png''':True,'''mms_spmidi''':True,'''mms_vcard''':True,'''mms_wbmp''':True,'''model_name''':'''5610 XpressMusic''','''nokia_ringtone''':True,'''nokia_voice_call''':True,'''png''':True,'''resolution_height''':320,'''resolution_width''':240,'''rows''':17,'''softkey_support''':True,'''sp_midi''':True,'''table_support''':True,'''uaprof''':'''http://nds1.nds.nokia.com/uaprof/N5610r100.xml''','''wap_push_support''':True,'''wav''':True,'''wbmp''':True,'''wta_phonebook''':True}) +devices.devids['''lg_mx200_ver1_subsmc'''] = devclass(devices.devids['''lge_mx200_ver1'''], '''lg_mx200_ver1_subsmc''', '''LGE-MX200_SMC/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''lg_mx200_ver1_subvez'''] = devclass(devices.devids['''lge_mx200_ver1'''], '''lg_mx200_ver1_subvez''', '''LGE-MX200_VEZ/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''lg_mx210_ver1'''] = devclass(devices.devids['''opwv_v62_generic'''], '''lg_mx210_ver1''', '''LGE-MX210/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', True, {'''bmp''':True,'''brand_name''':'''LG''','''built_in_recorder''':True,'''colors''':65536,'''columns''':14,'''gif''':True,'''jpg''':True,'''max_deck_size''':8192,'''midi_monophonic''':True,'''mms_bmp''':True,'''mms_evrc''':True,'''mms_gif_static''':True,'''mms_jpeg_baseline''':True,'''mms_midi_monophonic''':True,'''mms_midi_polyphonic''':True,'''mms_midi_polyphonic_voices''':30,'''mms_png''':True,'''mms_qcelp''':True,'''mms_wbmp''':True,'''mms_wml''':True,'''model_name''':'''MX210''','''nokia_voice_call''':True,'''png''':True,'''resolution_height''':128,'''resolution_width''':128,'''rows''':7,'''softkey_support''':True,'''table_support''':True,'''uaprof''':'''https://servicios.iusacell.com.mx/lg/MX210/MX210v1.xml''','''wap_push_support''':True,'''wbmp''':True,'''wml_1_3''':True,'''wta_phonebook''':True}) +devices.devids['''lg_mx500_ver1_subvez'''] = devclass(devices.devids['''lge_mx500_ver1'''], '''lg_mx500_ver1_subvez''', '''LGE-MX500_VEZ/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0''', False, None) +devices.devids['''blackberry8700_sub421'''] = devclass(devices.devids['''blackberry8700_ver1'''], '''blackberry8700_sub421''', '''BlackBerry8700/4.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/183''', False, {'''mms_max_height''':1024,'''mms_max_width''':1280,'''uaprof''':'''http://www.blackberry.net/go/mobile/profiles/uaprof/8700/4.2.1.rdf'''}) +devices.devids['''generic_web_browser'''] = devclass(devices.devids['''generic'''], '''generic_web_browser''', '''Mozilla/4.0''', False, {'''au''':True,'''columns''':77,'''directdownload_support''':True,'''fl_browser''':True,'''fl_screensaver''':False,'''fl_standalone''':True,'''fl_sub_lcd''':False,'''fl_wallpaper''':False,'''flash_lite_version''':'''2_1''','''html_web_4_0''':True,'''inline_support''':True,'''midi_monophonic''':True,'''midi_polyphonic''':True,'''mp3''':True,'''preferred_markup''':'''html_web_4_0''','''ringtone''':True,'''rows''':30,'''table_support''':False,'''video''':True,'''video_df_size_limit''':10000,'''video_real_media_8''':True,'''video_real_media_9''':True,'''voices''':16,'''wallpaper''':True,'''wallpaper_colors''':1024,'''wav''':True,'''xhtml_support_level''':4,'''xhtml_supports_css_cell_table_coloring''':True,'''xhtml_supports_table_for_layout''':True,'''xhtmlmp_preferred_mime_type''':'''text/html'''}) +devices.devids['''msie5_nt'''] = devclass(devices.devids['''generic_web_browser'''], '''msie5_nt''', '''Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)''', False, None) +devices.devids['''msie6_nt'''] = devclass(devices.devids['''generic_web_browser'''], '''msie6_nt''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)''', False, None) +devices.devids['''netscape4'''] = devclass(devices.devids['''generic_web_browser'''], '''netscape4''', '''Mozilla/4.78 [en] (Windows NT 5.0; U)''', False, None) +devices.devids['''mozilla_ver5'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla_ver5''', '''Mozilla/5.0''', False, None) +devices.devids['''msie_40'''] = devclass(devices.devids['''generic_web_browser'''], '''msie_40''', '''Mozilla/4.0 (compatible; MSIE 4.0''', False, None) +devices.devids['''msie_40_msn'''] = devclass(devices.devids['''generic_web_browser'''], '''msie_40_msn''', '''Mozilla/4.0 (compatible; MSIE 4.0; MSN''', False, None) +devices.devids['''msie401_95'''] = devclass(devices.devids['''generic_web_browser'''], '''msie401_95''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)''', False, None) +devices.devids['''msie401_98'''] = devclass(devices.devids['''generic_web_browser'''], '''msie401_98''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)''', False, None) +devices.devids['''msie401_nt'''] = devclass(devices.devids['''generic_web_browser'''], '''msie401_nt''', '''Mozilla/4.0 (compatible; MSIE 4.01; Windows NT)''', False, None) +devices.devids['''msie401_genericwin32'''] = devclass(devices.devids['''generic_web_browser'''], '''msie401_genericwin32''', '''Mozilla/4.0 (compatible; MSIE 4.01; Win32''', False, None) +devices.devids['''msie401_aol'''] = devclass(devices.devids['''generic_web_browser'''], '''msie401_aol''', '''Mozilla/4.0 (compatible; MSIE 4.01; AOL''', False, None) +devices.devids['''msie401_compuserve'''] = devclass(devices.devids['''generic_web_browser'''], '''msie401_compuserve''', '''Mozilla/4.0 (compatible; MSIE 4.01; CS''', False, None) +devices.devids['''msie50_98'''] = devclass(devices.devids['''generic_web_browser'''], '''msie50_98''', '''Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)''', False, None) +devices.devids['''msie500_anomaly_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''msie500_anomaly_desktop_browser''', '''Mozilla/4.0 (compatible; MSIE 5.00; ''', False, None) +devices.devids['''msie50_generic'''] = devclass(devices.devids['''generic_web_browser'''], '''msie50_generic''', '''Mozilla/4.0 (compatible; MSIE 5.0; ''', False, None) +devices.devids['''msie50_aol'''] = devclass(devices.devids['''generic_web_browser'''], '''msie50_aol''', '''Mozilla/4.0 (compatible; MSIE 5.0; AOL''', False, None) +devices.devids['''msie50_compuserve'''] = devclass(devices.devids['''generic_web_browser'''], '''msie50_compuserve''', '''Mozilla/4.0 (compatible; MSIE 5.0; CS''', False, None) +devices.devids['''msie50_compuserveB'''] = devclass(devices.devids['''generic_web_browser'''], '''msie50_compuserveB''', '''Mozilla/4.0 (compatible; MSIE 5.0CS''', False, None) +devices.devids['''msie50_linux_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''msie50_linux_desktop_browser''', '''Mozilla/4.0 (compatible; MSIE 5.0; Linux''', False, None) +devices.devids['''msie50_msn_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''msie50_msn_desktop_browser''', '''Mozilla/4.0 (compatible; MSIE 5.0; MSN''', False, None) +devices.devids['''msie50_sun_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''msie50_sun_desktop_browser''', '''Mozilla/4.0 (compatible; MSIE 5.0; SunOS''', False, None) +devices.devids['''msie50_win31_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''msie50_win31_desktop_browser''', '''Mozilla/4.0 (compatible; MSIE 5.0; Win3.1''', False, None) +devices.devids['''msie50b_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''msie50b_desktop_browser''', '''Mozilla/4.0 (compatible; MSIE 5.0b;''', False, None) +devices.devids['''msie501_98'''] = devclass(devices.devids['''generic_web_browser'''], '''msie501_98''', '''Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)''', False, None) +devices.devids['''msie501_nt4'''] = devclass(devices.devids['''generic_web_browser'''], '''msie501_nt4''', '''Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 4.0)''', False, None) +devices.devids['''msie501_nt5'''] = devclass(devices.devids['''generic_web_browser'''], '''msie501_nt5''', '''Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)''', False, None) +devices.devids['''msie501_aol_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''msie501_aol_desktop_browser''', '''Mozilla/4.0 (compatible; MSIE 5.01; AOL''', False, None) +devices.devids['''msie512_mac_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''msie512_mac_desktop_browser''', '''Mozilla/4.0 (compatible; MSIE 5.12; Mac''', False, None) +devices.devids['''msie51_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''msie51_desktop_browser''', '''Mozilla/4.0 (compatible; MSIE 5.1''', False, None) +devices.devids['''msie55_95'''] = devclass(devices.devids['''generic_web_browser'''], '''msie55_95''', '''Mozilla/4.0 (compatible; MSIE 5.5; Windows 95)''', False, None) +devices.devids['''msie55_98'''] = devclass(devices.devids['''generic_web_browser'''], '''msie55_98''', '''Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)''', False, None) +devices.devids['''msie55_989x'''] = devclass(devices.devids['''generic_web_browser'''], '''msie55_989x''', '''Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)''', False, None) +devices.devids['''msie55_nt4'''] = devclass(devices.devids['''generic_web_browser'''], '''msie55_nt4''', '''Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)''', False, None) +devices.devids['''msie60_aol'''] = devclass(devices.devids['''generic_web_browser'''], '''msie60_aol''', '''Mozilla/4.0 (compatible; MSIE 6.0; AOL''', False, None) +devices.devids['''msie60_nt_aol'''] = devclass(devices.devids['''generic_web_browser'''], '''msie60_nt_aol''', '''Mozilla/4.0 (compatible; MSIE 6.0; AOL 9.0; Windows NT 5.1; SV1)''', False, None) +devices.devids['''msie6_98'''] = devclass(devices.devids['''generic_web_browser'''], '''msie6_98''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)''', False, None) +devices.devids['''msie6_9x'''] = devclass(devices.devids['''generic_web_browser'''], '''msie6_9x''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90)''', False, None) +devices.devids['''msie6_nt51'''] = devclass(devices.devids['''generic_web_browser'''], '''msie6_nt51''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)''', False, None) +devices.devids['''msie6_nt51_net_114'''] = devclass(devices.devids['''msie6_nt51'''], '''msie6_nt51_net_114''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)''', False, None) +devices.devids['''msie6_nt51_sv1_net_103705'''] = devclass(devices.devids['''msie6_nt51'''], '''msie6_nt51_sv1_net_103705''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705)''', False, None) +devices.devids['''msie6_nt51_sv1_net_114'''] = devclass(devices.devids['''msie6_nt51'''], '''msie6_nt51_sv1_net_114''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)''', False, None) +devices.devids['''msie6_nt51_sp1251'''] = devclass(devices.devids['''msie6_nt51'''], '''msie6_nt51_sp1251''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; E-nrgyPlus; dial; snprtz|S28134900030155|2600#Service Pack 1#2#5#1; .NET CLR 1.1.4322)''', False, None) +devices.devids['''msie60_nt51_msn61'''] = devclass(devices.devids['''generic_web_browser'''], '''msie60_nt51_msn61''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; OptusNetDSL6; MSN 6.1; MSNbMSFT; MSNmen-au; MSNc00; MSNc00)''', False, None) +devices.devids['''msie60_nt51_bt'''] = devclass(devices.devids['''generic_web_browser'''], '''msie60_nt51_bt''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; BT Openworld BB)''', False, None) +devices.devids['''msie60_nt51_ypc320'''] = devclass(devices.devids['''generic_web_browser'''], '''msie60_nt51_ypc320''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; YPC 3.2.0; yplus 5.3.00b)''', False, None) +devices.devids['''msie60_xp'''] = devclass(devices.devids['''generic_web_browser'''], '''msie60_xp''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows XP)''', False, None) +devices.devids['''msie61_xp'''] = devclass(devices.devids['''generic_web_browser'''], '''msie61_xp''', '''Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)''', False, None) +devices.devids['''msie7'''] = devclass(devices.devids['''generic_web_browser'''], '''msie7''', '''Mozilla/4.0 (compatible; MSIE 7.0''', False, None) +devices.devids['''msie7_beta_nt51'''] = devclass(devices.devids['''msie7'''], '''msie7_beta_nt51''', '''Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1)''', False, None) +devices.devids['''msie7_beta_nt51dotnet'''] = devclass(devices.devids['''msie7'''], '''msie7_beta_nt51dotnet''', '''Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)''', False, None) +devices.devids['''netscape48_nt50_enus'''] = devclass(devices.devids['''generic_web_browser'''], '''netscape48_nt50_enus''', '''Mozilla/4.8 [en] (Windows NT 5.0; U)''', False, None) +devices.devids['''netscape48_nt51_enus'''] = devclass(devices.devids['''generic_web_browser'''], '''netscape48_nt51_enus''', '''Mozilla/4.8 [en] (Windows NT 5.1; U)''', False, None) +devices.devids['''mozilla401_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla401_desktop_browser''', '''Mozilla/4.01 ''', False, None) +devices.devids['''mozilla402_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla402_desktop_browser''', '''Mozilla/4.02 ''', False, None) +devices.devids['''mozilla403_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla403_desktop_browser''', '''Mozilla/4.03 ''', False, None) +devices.devids['''mozilla404_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla404_desktop_browser''', '''Mozilla/4.04 ''', False, None) +devices.devids['''mozilla405_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla405_desktop_browser''', '''Mozilla/4.05 ''', False, None) +devices.devids['''mozilla406_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla406_desktop_browser''', '''Mozilla/4.06 ''', False, None) +devices.devids['''mozilla407_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla407_desktop_browser''', '''Mozilla/4.07 ''', False, None) +devices.devids['''mozilla408_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla408_desktop_browser''', '''Mozilla/4.08 ''', False, None) +devices.devids['''mozilla408_mac_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla408_mac_desktop_browser''', '''Mozilla/4.08 (Mac''', False, None) +devices.devids['''mozilla408_pc_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla408_pc_desktop_browser''', '''Mozilla/4.08 [''', False, None) +devices.devids['''mozilla409_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla409_desktop_browser''', '''Mozilla/4.09 ''', False, None) +devices.devids['''netscape7_1_nt_us'''] = devclass(devices.devids['''mozilla_ver5'''], '''netscape7_1_nt_us''', '''Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)''', False, {'''brand_name''':'''Netscape'''}) +devices.devids['''netscape7_1_98_us'''] = devclass(devices.devids['''mozilla_ver5'''], '''netscape7_1_98_us''', '''Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax)''', False, {'''brand_name''':'''Mozilla Firefox''','''model_name''':'''1.0''','''xhtml_nowrap_mode''':True}) +devices.devids['''generic_firefox'''] = devclass(devices.devids['''mozilla_ver5'''], '''generic_firefox''', '''Firefox/''', False, {'''brand_name''':'''Mozilla Firefox''','''model_name''':'''1.0''','''wml_make_phone_call_string''':'''none''','''xhtml_nowrap_mode''':True}) +devices.devids['''generic_firefox_101'''] = devclass(devices.devids['''generic_firefox'''], '''generic_firefox_101''', '''Firefox/1.0.1''', False, {'''model_name''':'''1.0.1'''}) +devices.devids['''firefox101_98_enus'''] = devclass(devices.devids['''generic_firefox_101'''], '''firefox101_98_enus''', '''Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.7.6) Gecko/20050223 Firefox/1.0.1''', False, None) +devices.devids['''firefox101_xp_enus'''] = devclass(devices.devids['''generic_firefox_101'''], '''firefox101_xp_enus''', '''Mozilla/5.0 (Windows; U; Windows XP; en-US; rv:1.7.6) Gecko/20050223 Firefox/1.0.1''', False, None) +devices.devids['''firefox101_nt5_enus'''] = devclass(devices.devids['''generic_firefox_101'''], '''firefox101_nt5_enus''', '''Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.6) Gecko/20050223 Firefox/1.0.1''', False, None) +devices.devids['''firefox101_nt51_enus'''] = devclass(devices.devids['''generic_firefox_101'''], '''firefox101_nt51_enus''', '''Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050223 Firefox/1.0.1''', False, None) +devices.devids['''firefox101_nt51_engb'''] = devclass(devices.devids['''generic_firefox_101'''], '''firefox101_nt51_engb''', '''Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.7.6) Gecko/20050223 Firefox/1.0.1''', False, None) +devices.devids['''firefox101_x11_enus'''] = devclass(devices.devids['''generic_firefox_101'''], '''firefox101_x11_enus''', '''Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.6) Gecko/20050223 Firefox/1.0.1''', False, None) +devices.devids['''firefox101_osx_enus'''] = devclass(devices.devids['''generic_firefox_101'''], '''firefox101_osx_enus''', '''Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.6) Gecko/20050223 Firefox/1.0.1''', False, None) +devices.devids['''generic_firefox_102'''] = devclass(devices.devids['''generic_firefox_101'''], '''generic_firefox_102''', '''Firefox/1.0.2''', False, {'''model_name''':'''1.0.2'''}) +devices.devids['''firefox102_nt51_engb'''] = devclass(devices.devids['''generic_firefox_102'''], '''firefox102_nt51_engb''', '''Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.7.6) Gecko/20050321 Firefox/1.0.2''', False, None) +devices.devids['''generic_firefox_103'''] = devclass(devices.devids['''generic_firefox_102'''], '''generic_firefox_103''', '''Firefox/1.0.3''', False, {'''model_name''':'''1.0.3'''}) +devices.devids['''firefox103_nt5_enus'''] = devclass(devices.devids['''generic_firefox_103'''], '''firefox103_nt5_enus''', '''Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.7) Gecko/20050414 Firefox/1.0.3''', False, None) +devices.devids['''firefox103_nt51_engb'''] = devclass(devices.devids['''generic_firefox_103'''], '''firefox103_nt51_engb''', '''Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.7.7) Gecko/20050414 Firefox/1.0.3''', False, None) +devices.devids['''generic_firefox_104'''] = devclass(devices.devids['''generic_firefox_103'''], '''generic_firefox_104''', '''Firefox/1.0.4''', False, {'''model_name''':'''1.0.4'''}) +devices.devids['''firefox104_osx_enus'''] = devclass(devices.devids['''generic_firefox_104'''], '''firefox104_osx_enus''', '''Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4''', False, None) +devices.devids['''generic_firefox_107'''] = devclass(devices.devids['''generic_firefox_104'''], '''generic_firefox_107''', '''Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7''', False, {'''model_name''':'''1.0.7'''}) +devices.devids['''firefox_107_debian'''] = devclass(devices.devids['''generic_firefox_107'''], '''firefox_107_debian''', '''Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050922 Firefox/1.0.7 (Debian package 1.0.7-1)''', False, None) +devices.devids['''firefox093_98_enus'''] = devclass(devices.devids['''generic_firefox'''], '''firefox093_98_enus''', '''Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3''', False, None) +devices.devids['''firefox0101_xp'''] = devclass(devices.devids['''generic_firefox'''], '''firefox0101_xp''', '''Mozilla/5.0 (Windows; U; Windows XP; rv:1.7.3) Gecko/20041001 Firefox/0.10.1''', False, None) +devices.devids['''firefox1_osx_enus'''] = devclass(devices.devids['''generic_firefox'''], '''firefox1_osx_enus''', '''Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0''', False, None) +devices.devids['''firefox1_98_enus'''] = devclass(devices.devids['''generic_firefox'''], '''firefox1_98_enus''', '''Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0''', False, None) +devices.devids['''firefox1_xp_enus'''] = devclass(devices.devids['''generic_firefox'''], '''firefox1_xp_enus''', '''Mozilla/5.0 (Windows; U; Windows XP; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0''', False, None) +devices.devids['''firefox1_nt5_enus'''] = devclass(devices.devids['''generic_firefox'''], '''firefox1_nt5_enus''', '''Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0''', False, None) +devices.devids['''firefox1_nt51_enus'''] = devclass(devices.devids['''generic_firefox'''], '''firefox1_nt51_enus''', '''Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0''', False, None) +devices.devids['''firefox1_nt51_engb'''] = devclass(devices.devids['''generic_firefox'''], '''firefox1_nt51_engb''', '''Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.7.5) Gecko/20041110 Firefox/1.0''', False, None) +devices.devids['''firefox1_x11_enus'''] = devclass(devices.devids['''generic_firefox'''], '''firefox1_x11_enus''', '''Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041210 Firefox/1.0''', False, None) +devices.devids['''firefox1_5beta_nt51_enus'''] = devclass(devices.devids['''firefox1_nt51_enus'''], '''firefox1_5beta_nt51_enus''', '''Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b4) Gecko/20050908 Firefox/1.4''', False, {'''model_name''':'''1.5 Beta 1'''}) +devices.devids['''firefox1_5_nt51_enus'''] = devclass(devices.devids['''firefox1_nt51_enus'''], '''firefox1_5_nt51_enus''', '''Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5''', False, {'''model_name''':'''1.5'''}) +devices.devids['''firefox1_5_1_nt51_us'''] = devclass(devices.devids['''firefox1_5_nt51_enus'''], '''firefox1_5_1_nt51_us''', '''Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.8.0.1) Gecko/20060111 Firefox/1.5.0.1''', False, {'''model_name''':'''1.5.1'''}) +devices.devids['''firefox2_0'''] = devclass(devices.devids['''firefox1_5_1_nt51_us'''], '''firefox2_0''', '''Firefox/2.0''', False, {'''model_name''':'''2.0'''}) +devices.devids['''firefox2_0_0_1'''] = devclass(devices.devids['''firefox2_0'''], '''firefox2_0_0_1''', '''Firefox/2.0.0.1''', False, {'''model_name''':'''2.0.0.1'''}) +devices.devids['''firefox2_0_0_1_submactel'''] = devclass(devices.devids['''firefox2_0_0_1'''], '''firefox2_0_0_1_submactel''', '''Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1''', False, None) +devices.devids['''mozilla50_0000_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_0000_desktop_browser''', '''Mozilla/5.0 (0000''', False, None) +devices.devids['''mozilla50_1UP _desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_1UP _desktop_browser''', '''Mozilla/5.0 (1UP ''', False, None) +devices.devids['''mozilla50_BeOS_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_BeOS_desktop_browser''', '''Mozilla/5.0 (BeOS''', False, None) +devices.devids['''mozilla50_CCK _desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_CCK _desktop_browser''', '''Mozilla/5.0 (CCK ''', False, None) +devices.devids['''mozilla50_comp_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_comp_desktop_browser''', '''Mozilla/5.0 (comp''', False, None) +devices.devids['''mozilla50_CPM_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_CPM_desktop_browser''', '''Mozilla/5.0 (CP/M''', False, None) +devices.devids['''mozilla50_IBM _desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_IBM _desktop_browser''', '''Mozilla/5.0 (IBM ''', False, None) +devices.devids['''mozilla50_Linu_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_Linu_desktop_browser''', '''Mozilla/5.0 (Linu''', False, None) +devices.devids['''mozilla50_Maci_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_Maci_desktop_browser''', '''Mozilla/5.0 (Maci''', False, None) +devices.devids['''mozilla50_mook_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_mook_desktop_browser''', '''Mozilla/5.0 (mook''', False, None) +devices.devids['''mozilla50_Open_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_Open_desktop_browser''', '''Mozilla/5.0 (Open''', False, None) +devices.devids['''mozilla50_OS2_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_OS2_desktop_browser''', '''Mozilla/5.0 (OS/2''', False, None) +devices.devids['''mozilla50_Plat_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_Plat_desktop_browser''', '''Mozilla/5.0 (Plat''', False, None) +devices.devids['''mozilla50_Powe_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_Powe_desktop_browser''', '''Mozilla/5.0 (Powe''', False, None) +devices.devids['''mozilla50_Sage_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_Sage_desktop_browser''', '''Mozilla/5.0 (Sage''', False, None) +devices.devids['''mozilla50_Slur_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_Slur_desktop_browser''', '''Mozilla/5.0 (Slur''', False, None) +devices.devids['''mozilla50_Symb_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_Symb_desktop_browser''', '''Mozilla/5.0 (Symb''', False, None) +devices.devids['''mozilla50_Unix_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_Unix_desktop_browser''', '''Mozilla/5.0 (Unix''', False, None) +devices.devids['''mozilla50_Vers_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_Vers_desktop_browser''', '''Mozilla/5.0 (Vers''', False, None) +devices.devids['''mozilla50_Wind_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_Wind_desktop_browser''', '''Mozilla/5.0 (Wind''', False, None) +devices.devids['''mozilla50_X11_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_X11_desktop_browser''', '''Mozilla/5.0 (X11''', False, None) +devices.devids['''mozilla50_basic_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_basic_desktop_browser''', '''Mozilla/5.0 [''', False, None) +devices.devids['''mozilla50_galeo_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_galeo_desktop_browser''', '''Mozilla/5.0 Galeo ''', False, None) +devices.devids['''mozilla50_gecko_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_gecko_desktop_browser''', '''Mozilla/5.0 Geco''', False, None) +devices.devids['''mozilla50_netscape_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''mozilla50_netscape_desktop_browser''', '''Mozilla/5.0 Netscape ''', False, None) +devices.devids['''camino_102_intel_102'''] = devclass(devices.devids['''mozilla_ver5'''], '''camino_102_intel_102''', '''Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.4) Gecko/20060613 Camino/1.0.2''', False, {'''brand_name''':'''Camino''','''model_name''':'''1.0.2'''}) +devices.devids['''konqueror_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''konqueror_desktop_browser''', '''Mozilla/5.0 (compatible; Konqueror''', False, None) +devices.devids['''konqueror_desktop_browser_2_2_2'''] = devclass(devices.devids['''konqueror_desktop_browser'''], '''konqueror_desktop_browser_2_2_2''', '''Mozilla/5.0 (compatible; Konqueror/2.2.2''', False, None) +devices.devids['''konqueror_desktop_browser_3_1'''] = devclass(devices.devids['''konqueror_desktop_browser'''], '''konqueror_desktop_browser_3_1''', '''Mozilla/5.0 (compatible; Konqueror/3.1''', False, None) +devices.devids['''konqueror_desktop_browser_3_2'''] = devclass(devices.devids['''konqueror_desktop_browser'''], '''konqueror_desktop_browser_3_2''', '''Mozilla/5.0 (compatible; Konqueror/3.2''', False, None) +devices.devids['''konqueror_desktop_browser_3_3'''] = devclass(devices.devids['''konqueror_desktop_browser'''], '''konqueror_desktop_browser_3_3''', '''Mozilla/5.0 (compatible; Konqueror/3.3''', False, None) +devices.devids['''konqueror_desktop_browser_3_4_pioppo'''] = devclass(devices.devids['''konqueror_desktop_browser'''], '''konqueror_desktop_browser_3_4_pioppo''', '''Mozilla/5.0 (compatible; Konqueror/3.4; Linux 2.6.11-gentoo-r11) KHTML/3.4.1 (like Gecko) ''', False, None) +devices.devids['''generic_opera_7'''] = devclass(devices.devids['''mozilla_ver5'''], '''generic_opera_7''', '''Opera 7''', False, {'''brand_name''':'''Opera''','''model_name''':7,'''wbmp''':True}) +devices.devids['''opera_723_98'''] = devclass(devices.devids['''generic_opera_7'''], '''opera_723_98''', '''Mozilla/5.0 (Windows 98; U) Opera 7.23 [en-GB]''', False, {'''model_name''':'''7.23'''}) +devices.devids['''generic_opera_75'''] = devclass(devices.devids['''generic_opera_7'''], '''generic_opera_75''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.50 [en]''', False, {'''model_name''':'''7.50'''}) +devices.devids['''opera_754_nt5_enus_asIE'''] = devclass(devices.devids['''generic_opera_75'''], '''opera_754_nt5_enus_asIE''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Opera 7.54 [en]''', False, None) +devices.devids['''opera_754_nt5_enus_asM5'''] = devclass(devices.devids['''generic_opera_7'''], '''opera_754_nt5_enus_asM5''', '''Mozilla/5.0 (Windows NT 5.0; U) Opera 7.54 [en]''', False, None) +devices.devids['''opera_754_nt5_enus_asM478'''] = devclass(devices.devids['''generic_opera_7'''], '''opera_754_nt5_enus_asM478''', '''Mozilla/4.78 (Windows NT 5.0; U) Opera 7.54 [en]''', False, None) +devices.devids['''opera_754_nt5_enus_asM3'''] = devclass(devices.devids['''generic_opera_7'''], '''opera_754_nt5_enus_asM3''', '''Mozilla/3.0 (Windows NT 5.0; U) Opera 7.54 [en]''', False, None) +devices.devids['''opera_754_nt5_enus'''] = devclass(devices.devids['''generic_opera_7'''], '''opera_754_nt5_enus''', '''Opera/7.54 (Windows NT 5.0; U) [en]''', False, None) +devices.devids['''opera_754_nt51_enus_asIE'''] = devclass(devices.devids['''generic_opera_7'''], '''opera_754_nt51_enus_asIE''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.54 [en]''', False, None) +devices.devids['''opera_754_nt51_enus_asM5'''] = devclass(devices.devids['''generic_opera_7'''], '''opera_754_nt51_enus_asM5''', '''Mozilla/5.0 (Windows NT 5.1; U) Opera 7.54 [en]''', False, None) +devices.devids['''opera_754_nt51_enus_asM478'''] = devclass(devices.devids['''generic_opera_7'''], '''opera_754_nt51_enus_asM478''', '''Mozilla/4.78 (Windows NT 5.1; U) Opera 7.54 [en]''', False, None) +devices.devids['''opera_754_nt51_enus_asM3'''] = devclass(devices.devids['''generic_opera_7'''], '''opera_754_nt51_enus_asM3''', '''Mozilla/3.0 (Windows NT 5.1; U) Opera 7.54 [en]''', False, None) +devices.devids['''opera_754_nt51_enus'''] = devclass(devices.devids['''generic_opera_7'''], '''opera_754_nt51_enus''', '''Opera/7.54 (Windows NT 5.1; U) [en]''', False, None) +devices.devids['''generic_opera_8'''] = devclass(devices.devids['''generic_opera_7'''], '''generic_opera_8''', '''Opera/8''', False, {'''model_name''':'''8.0'''}) +devices.devids['''opera_801_osx'''] = devclass(devices.devids['''generic_opera_8'''], '''opera_801_osx''', '''Opera/8.01 (Macintosh; PPC Mac OS X; U; it)''', False, None) +devices.devids['''opera_801_mozilla_osx'''] = devclass(devices.devids['''generic_opera_8'''], '''opera_801_mozilla_osx''', '''Mozilla/5.0 (Macintosh; PPC Mac OS X; U; it) Opera 8.01''', False, None) +devices.devids['''opera_801_msie6_osx'''] = devclass(devices.devids['''generic_opera_8'''], '''opera_801_msie6_osx''', '''Mozilla/4.0 (compatible; MSIE 6.0; Mac_PowerPC Mac OS X; it) Opera 8.01''', False, None) +devices.devids['''generic_opera_850'''] = devclass(devices.devids['''generic_opera_8'''], '''generic_opera_850''', '''Opera/8.50 (Windows NT 5.1; U; en)''', False, {'''model_name''':'''8.50'''}) +devices.devids['''generic_opera_850_subnt51'''] = devclass(devices.devids['''generic_opera_850'''], '''generic_opera_850_subnt51''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.50''', False, None) +devices.devids['''generic_opera_851_submsielinux'''] = devclass(devices.devids['''generic_opera_850'''], '''generic_opera_851_submsielinux''', '''Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686; en) Opera 8.51''', False, None) +devices.devids['''generic_opera_851_sublinux'''] = devclass(devices.devids['''generic_opera_850'''], '''generic_opera_851_sublinux''', '''Opera/8.51 (X11; Linux i686; U; en)''', False, None) +devices.devids['''generic_opera_9'''] = devclass(devices.devids['''generic_opera_850'''], '''generic_opera_9''', '''Opera/9''', False, {'''model_name''':9}) +devices.devids['''generic_opera_923_winnt'''] = devclass(devices.devids['''generic_opera_9'''], '''generic_opera_923_winnt''', '''Opera/9.23 (Windows NT 5.1; U; en)''', False, None) +devices.devids['''generic_opera_924_winnt'''] = devclass(devices.devids['''generic_opera_9'''], '''generic_opera_924_winnt''', '''Opera/9.24 (Windows NT 5.1; U; en)''', False, None) +devices.devids['''generic_opera_925_winnt'''] = devclass(devices.devids['''generic_opera_9'''], '''generic_opera_925_winnt''', '''Opera/9.25 (Windows NT 5.1; U; en)''', False, None) +devices.devids['''safari_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''safari_desktop_browser''', '''Mozilla/5.0 (Macintosh''', False, None) +devices.devids['''safari_125_osx_en'''] = devclass(devices.devids['''mozilla_ver5'''], '''safari_125_osx_en''', '''Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/125.5.5 (KHTML, like Gecko) Safari/125.12''', False, {'''brand_name''':'''Apple Safari''','''model_name''':'''125.12'''}) +devices.devids['''safari_4189_intel_osx_en'''] = devclass(devices.devids['''safari_125_osx_en'''], '''safari_4189_intel_osx_en''', '''Mozilla/5.0 (Macintosh; U; Intel Mac OS X; it-it) AppleWebKit/418.9 (KHTML, like Gecko) Safari/419.3''', False, {'''model_name''':'''418.9'''}) +devices.devids['''lynx1_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''lynx1_desktop_browser''', '''Lynx/1''', False, None) +devices.devids['''lynx2_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''lynx2_desktop_browser''', '''Lynx/2''', False, None) +devices.devids['''lynx3_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''lynx3_desktop_browser''', '''Lynx/3''', False, None) +devices.devids['''lynx4_desktop_browser'''] = devclass(devices.devids['''generic_web_browser'''], '''lynx4_desktop_browser''', '''Lynx/4''', False, None) +devices.devids['''generic_web_crawler'''] = devclass(devices.devids['''generic_web_browser'''], '''generic_web_crawler''', '''Mozilla/5.0 (compatible; Googlebot''', False, {'''bmp''':False,'''brand_name''':'''Robot''','''colors''':2,'''epoc_bmp''':False,'''gif''':False,'''gif_animated''':False,'''greyscale''':False,'''jpg''':False,'''model_name''':'''Bot or Crawler''','''picture''':False,'''png''':False,'''svgt_1_1''':False,'''svgt_1_1_plus''':False,'''tiff''':False,'''video''':False,'''wbmp''':False}) +devices.devids['''AskJeeves_Teoma'''] = devclass(devices.devids['''generic_web_crawler'''], '''AskJeeves_Teoma''', '''Mozilla/2.0 (compatible; Ask Jeeves/Teoma''', False, None) +devices.devids['''Googlebot'''] = devclass(devices.devids['''generic_web_crawler'''], '''Googlebot''', '''Mozilla/5.0 (compatible; Googlebot/''', False, None) +devices.devids['''Yahoo_Slurp'''] = devclass(devices.devids['''generic_web_crawler'''], '''Yahoo_Slurp''', '''Mozilla/5.0 (compatible; Yahoo! Slurp''', False, None) +devices.devids['''Netcraft'''] = devclass(devices.devids['''generic_web_crawler'''], '''Netcraft''', '''Mozilla/4.0 (compatible; Netcraft Web Server Survey''', False, None) +devices.devids['''Google_Desktop'''] = devclass(devices.devids['''generic_web_crawler'''], '''Google_Desktop''', '''Mozilla/4.0 (compatible; Google Desktop''', False, None) +devices.devids['''curl_generic'''] = devclass(devices.devids['''generic_web_crawler'''], '''curl_generic''', '''curl/''', False, None) +devices.devids['''curl_ver7_sub7123'''] = devclass(devices.devids['''curl_generic'''], '''curl_ver7_sub7123''', '''curl/7.12.3 (i686-pc-linux-gnu) libcurl/7.12.3 OpenSSL/0.9.6c zlib/1.2.2''', False, None) +devices.devids['''funwebproducts'''] = devclass(devices.devids['''generic_web_crawler'''], '''funwebproducts''', '''Fun Web Products''', False, None) +devices.devids['''funwebproducts_ver1'''] = devclass(devices.devids['''funwebproducts'''], '''funwebproducts_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts)''', False, None) +devices.devids['''funwebproducts_ver2'''] = devclass(devices.devids['''funwebproducts'''], '''funwebproducts_ver2''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; .NET CLR 1.1.4322)''', False, None) +devices.devids['''funwebproducts_ver3'''] = devclass(devices.devids['''funwebproducts'''], '''funwebproducts_ver3''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts; SV1)''', False, None) +devices.devids['''funwebproducts_ver4'''] = devclass(devices.devids['''funwebproducts'''], '''funwebproducts_ver4''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90; FunWebProducts; .NET CLR 1.1.4322)''', False, None) +devices.devids['''google'''] = devclass(devices.devids['''generic_web_crawler'''], '''google''', '''Mediapartners-Google/2.1''', False, None) +devices.devids['''spamblockerutility_ver1'''] = devclass(devices.devids['''generic_web_crawler'''], '''spamblockerutility_ver1''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MaxiFilesTB; MaxiFiles; iebar; acc=wssshared; acc=none; (none); SpamBlockerUtility 4.7.1)''', False, None) +devices.devids['''nsplayer_ver1'''] = devclass(devices.devids['''generic_web_crawler'''], '''nsplayer_ver1''', '''NSPlayer/9.0.0.3250''', False, None) +devices.devids['''nsplayer_ver2'''] = devclass(devices.devids['''generic_web_crawler'''], '''nsplayer_ver2''', '''NSPlayer/9.0.0.3250 WMFSDK/9.0''', False, None) +devices.devids['''mimanet'''] = devclass(devices.devids['''generic_web_crawler'''], '''mimanet''', '''MIMAnet! Webtools (http://www.mimanet.com/scripts/webtools.html)''', False, None) +devices.devids['''getright_ver1'''] = devclass(devices.devids['''generic'''], '''getright_ver1''', '''GetRight''', False, {'''device_claims_web_support''':True,'''is_wireless_device''':False}) +devices.devids['''nutchbot_ver1'''] = devclass(devices.devids['''generic'''], '''nutchbot_ver1''', '''NutchCVS''', False, {'''brand_name''':'''Apache''','''device_claims_web_support''':True,'''is_wireless_device''':False,'''model_name''':'''Nutch bot'''}) +devices.devids['''vobsubcrawler_ver1'''] = devclass(devices.devids['''generic'''], '''vobsubcrawler_ver1''', '''vobsub''', False, {'''device_claims_web_support''':True,'''is_wireless_device''':False}) +devices.devids['''enteos_ver1'''] = devclass(devices.devids['''generic'''], '''enteos_ver1''', '''enteos customer care''', False, {'''device_claims_web_support''':True,'''is_wireless_device''':False}) +devices.devids['''windows_mediaplayer_ver9'''] = devclass(devices.devids['''generic_web_crawler'''], '''windows_mediaplayer_ver9''', '''Windows-Media-Player/9''', False, {'''brand_name''':'''Microsoft''','''model_name''':'''Windows Media Player 9'''}) +devices.devids['''windows_mediaplayer_ver9_sub900003250'''] = devclass(devices.devids['''windows_mediaplayer_ver9'''], '''windows_mediaplayer_ver9_sub900003250''', '''Windows-Media-Player/9.00.00.3250''', False, None) +devices.devids['''windows_mediaplayer_ver9_sub900002980'''] = devclass(devices.devids['''windows_mediaplayer_ver9'''], '''windows_mediaplayer_ver9_sub900002980''', '''Windows-Media-Player/9.00.00.2980''', False, None) +devices.devids['''windows_mediaplayer_ver9_sub900003344'''] = devclass(devices.devids['''windows_mediaplayer_ver9'''], '''windows_mediaplayer_ver9_sub900003344''', '''Windows-Media-Player/9.00.00.3344''', False, None) +devices.devids['''windows_mediaplayer_ver10'''] = devclass(devices.devids['''windows_mediaplayer_ver9'''], '''windows_mediaplayer_ver10''', '''Windows-Media-Player/10''', False, {'''model_name''':'''Windows Media Player 10'''}) +devices.devids['''windows_mediaplayer_ver10_sub10000003990'''] = devclass(devices.devids['''windows_mediaplayer_ver10'''], '''windows_mediaplayer_ver10_sub10000003990''', '''Windows-Media-Player/10.00.00.3990''', False, None) +devices.devids['''webtrends'''] = devclass(devices.devids['''generic'''], '''webtrends''', '''WebTrends''', False, {'''device_claims_web_support''':True,'''is_wireless_device''':False}) +devices.devids['''webtrends_ver3'''] = devclass(devices.devids['''webtrends'''], '''webtrends_ver3''', '''WebTrends/3.0 (WinNT)''', False, None) +devices.devids['''mobiletechbot_v2_1_0'''] = devclass(devices.devids['''generic_web_crawler'''], '''mobiletechbot_v2_1_0''', '''Mobiletech.HTTPChecker.pl/2.1.0 - May 2007''', False, {'''brand_name''':'''Robot''','''model_name''':'''Mobiletch HttpChecker'''}) +devices.devids['''alpha_headedout'''] = devclass(devices.devids['''generic_web_crawler'''], '''alpha_headedout''', '''alpha.headedout''', False, {'''brand_name''':'''Robot''','''model_name''':'''Alpha Headedout/Anonymouse'''}) +devices.devids['''alpha.headedout_1'''] = devclass(devices.devids['''alpha_headedout'''], '''alpha.headedout_1''', '''http://alpha.headedout.com/docz/index.htm''', False, None) +devices.devids['''anonymouse_1'''] = devclass(devices.devids['''alpha_headedout'''], '''anonymouse_1''', '''http://Anonymouse.org/ (Unix)''', False, None) +devices.devids['''fast_robot'''] = devclass(devices.devids['''generic_web_crawler'''], '''fast_robot''', '''fast_crawler''', False, {'''brand_name''':'''Robot''','''model_name''':'''Fast'''}) +devices.devids['''fast_robot_Nokia6230'''] = devclass(devices.devids['''fast_robot'''], '''fast_robot_Nokia6230''', '''Nokia6230/2.0 FAST Crawler''', False, None) +devices.devids['''fast_robot_Nokia6230subindex'''] = devclass(devices.devids['''fast_robot'''], '''fast_robot_Nokia6230subindex''', '''Nokia6230i/subindex.jsp?id=1505. FAST Crawler''', False, None) +devices.devids['''fast_crawler_1'''] = devclass(devices.devids['''fast_robot'''], '''fast_crawler_1''', '''FAST EnterpriseCrawler 6''', False, None) +devices.devids['''fast_crawler_2'''] = devclass(devices.devids['''fast_robot'''], '''fast_crawler_2''', '''FAST Enterprise Crawler 6 used by FAST (admin@fast.no)''', False, None) +devices.devids['''schibstedsokbot_crawler_1'''] = devclass(devices.devids['''fast_robot'''], '''schibstedsokbot_crawler_1''', '''schibstedsokbot (compatible; Mozilla/5.0; MSIE 5.0; FAST FreshCrawler 6; +http://www.schibstedsok.no/bot/)''', False, None) +devices.devids['''schibstedsokbot_crawler_2'''] = devclass(devices.devids['''fast_robot'''], '''schibstedsokbot_crawler_2''', '''schibstedsokbot (compatible; Mozilla/5.0; MSIE 5.0; FAST Crawler 6; +http://www.schibstedsok.no/bot/)''', False, None) +devices.devids['''fastbot3'''] = devclass(devices.devids['''fast_robot'''], '''fastbot3''', '''FAST Enterprise Crawler 6 used by a (a@b)''', False, None) +devices.devids['''fastbot4'''] = devclass(devices.devids['''fast_robot'''], '''fastbot4''', '''nokia6610I/1.0 (4.10) Profile/MIDP-1.0 Configuration/CLDC-1.0 (FAST WAP Proxy/1.0)''', False, None) +devices.devids['''findexa_robot'''] = devclass(devices.devids['''generic_web_crawler'''], '''findexa_robot''', '''findexa_crawler''', False, {'''brand_name''':'''Robot''','''model_name''':'''Findexa'''}) +devices.devids['''findexa_gulesider'''] = devclass(devices.devids['''findexa_robot'''], '''findexa_gulesider''', '''Findexa Crawler (http://www.findexa.no/gulesider/article26548.ece)''', False, None) +devices.devids['''google_robot'''] = devclass(devices.devids['''generic_web_crawler'''], '''google_robot''', '''Googlebot''', False, {'''brand_name''':'''Robot''','''model_name''':'''Google'''}) +devices.devids['''google_generic'''] = devclass(devices.devids['''google_robot'''], '''google_generic''', '''Generic Mobile Phone (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)''', False, None) +devices.devids['''google_generic2'''] = devclass(devices.devids['''google_robot'''], '''google_generic2''', '''Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8) Gecko/20051204 Googlebot 2.1''', False, None) +devices.devids['''google_generic3'''] = devclass(devices.devids['''google_robot'''], '''google_generic3''', '''Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)''', False, None) +devices.devids['''googlebot2'''] = devclass(devices.devids['''google_robot'''], '''googlebot2''', '''GoogleBot/.''', False, None) +devices.devids['''googlebot3'''] = devclass(devices.devids['''google_robot'''], '''googlebot3''', '''Googlebot-Image/1.0''', False, None) +devices.devids['''look_su'''] = devclass(devices.devids['''generic_web_crawler'''], '''look_su''', '''Look.su''', False, {'''brand_name''':'''Robot''','''model_name''':'''Look.su'''}) +devices.devids['''look_su1'''] = devclass(devices.devids['''look_su'''], '''look_su1''', '''DoCoMo/1.0/N505i/c20/TB/W20H10 (compatible; Look.su bot/2.0)''', False, None) +devices.devids['''girfabot'''] = devclass(devices.devids['''generic_web_crawler'''], '''girfabot''', '''girfabot''', False, {'''brand_name''':'''Robot''','''model_name''':'''Girfa'''}) +devices.devids['''girfabot_msie50'''] = devclass(devices.devids['''girfabot'''], '''girfabot_msie50''', '''Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; Girafabot; girafabot at girafa dot com; http://www.girafa.com)''', False, None) +devices.devids['''girfabot_msie60'''] = devclass(devices.devids['''girfabot'''], '''girfabot_msie60''', '''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0; Girafabot; girafabot at girafa dot com; http://www.girafa.com)''', False, None) +devices.devids['''google_proxy'''] = devclass(devices.devids['''generic'''], '''google_proxy''', '''GoogleProxy''', True, {'''brand_name''':'''Google''','''model_name''':'''Proxy'''}) +devices.devids['''javabot'''] = devclass(devices.devids['''generic_web_browser'''], '''javabot''', '''Java''', False, {'''brand_name''':'''Java'''}) +devices.devids['''java15_03'''] = devclass(devices.devids['''javabot'''], '''java15_03''', '''Java/1.5.0_03''', False, {'''model_name''':'''1.5_03'''}) +devices.devids['''java15_05'''] = devclass(devices.devids['''javabot'''], '''java15_05''', '''Java/1.5.0_05''', False, {'''model_name''':'''1.5_05'''}) +devices.devids['''java14'''] = devclass(devices.devids['''javabot'''], '''java14''', '''Java/1.4''', False, {'''model_name''':'''1.4'''}) +devices.devids['''java141rc'''] = devclass(devices.devids['''java14'''], '''java141rc''', '''Java/1.4.1-rc''', False, None) +devices.devids['''java14104'''] = devclass(devices.devids['''java14'''], '''java14104''', '''Java/1.4.1_04''', False, None) +devices.devids['''jakarta_commons'''] = devclass(devices.devids['''generic_web_browser'''], '''jakarta_commons''', '''Jakarta Commons-HttpClient/''', False, {'''brand_name''':'''Jakarta Commons''','''model_name''':'''HttpClient/3.0'''}) +devices.devids['''jakarta_commons_3_0'''] = devclass(devices.devids['''jakarta_commons'''], '''jakarta_commons_3_0''', '''Jakarta Commons-HttpClient/3.0''', False, None) +devices.devids['''gigabot_robot'''] = devclass(devices.devids['''generic_web_crawler'''], '''gigabot_robot''', '''Gigabot''', False, {'''brand_name''':'''Robot''','''model_name''':'''Gigabot'''}) +devices.devids['''gigablast'''] = devclass(devices.devids['''gigabot_robot'''], '''gigablast''', '''Gigabot/2.0/gigablast.com/spider.html''', False, None) +devices.devids['''vagabondo_robot'''] = devclass(devices.devids['''generic_web_crawler'''], '''vagabondo_robot''', '''Vagabondo''', False, {'''brand_name''':'''Robot''','''model_name''':'''Vagabondo'''}) +devices.devids['''vagabondo_2'''] = devclass(devices.devids['''vagabondo_robot'''], '''vagabondo_2''', '''Vagabondo-WAP/2.0 (webcrawler at wise-guys dot nl; http://webagent.wise-guys.nl/)/1.0 Profile''', False, None) +devices.devids['''vagabondo_3'''] = devclass(devices.devids['''vagabondo_robot'''], '''vagabondo_3''', '''Vagabondo/3.0 (webagent at wise-guys dot nl)''', False, None) +devices.devids['''webcrawler'''] = devclass(devices.devids['''generic_web_crawler'''], '''webcrawler''', '''webcrawler''', False, {'''brand_name''':'''Robot''','''model_name''':'''webcrawler'''}) +devices.devids['''theca_robot'''] = devclass(devices.devids['''generic_web_crawler'''], '''theca_robot''', '''Theca''', False, {'''brand_name''':'''Robot''','''model_name''':'''Theca'''}) +devices.devids['''theca_crawler'''] = devclass(devices.devids['''theca_robot'''], '''theca_crawler''', '''ThecaCrawlerEngine''', False, None) +devices.devids['''yahoo_robot'''] = devclass(devices.devids['''generic_web_crawler'''], '''yahoo_robot''', '''Yahoo''', False, {'''brand_name''':'''Robot''','''model_name''':'''Yahoo'''}) +devices.devids['''yahoo_crawler'''] = devclass(devices.devids['''yahoo_robot'''], '''yahoo_crawler''', '''Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)''', False, None) +devices.devids['''msn_robot'''] = devclass(devices.devids['''generic_web_crawler'''], '''msn_robot''', '''MSN''', False, {'''brand_name''':'''Robot''','''model_name''':'''MSN'''}) +devices.devids['''msnbot_1'''] = devclass(devices.devids['''msn_robot'''], '''msnbot_1''', '''msnbot/1.0 (+http://search.msn.com/msnbot.htm)''', False, None) +devices.devids['''msnbot_2'''] = devclass(devices.devids['''msn_robot'''], '''msnbot_2''', '''msnbot/0.9 (+http://search.msn.com/msnbot.htm)''', False, None) +devices.devids['''msnbot_3'''] = devclass(devices.devids['''msn_robot'''], '''msnbot_3''', '''msnbot-media/1.0 (+http://search.msn.com/msnbot.htm)''', False, None) +devices.devids['''startsiden_robot'''] = devclass(devices.devids['''generic_web_crawler'''], '''startsiden_robot''', '''Startsiden''', False, {'''brand_name''':'''Robot''','''model_name''':'''Startsiden'''}) +devices.devids['''startsiden/bot'''] = devclass(devices.devids['''startsiden_robot'''], '''startsiden/bot''', '''startsidenbot (http://www.startsiden.no/bot/)''', False, None) +devices.devids['''startsiden/bot1505'''] = devclass(devices.devids['''startsiden_robot'''], '''startsiden/bot1505''', '''startsidenbot (http://www.startsiden.no/bot/subindex.jsp?id=1505)''', False, None) +devices.devids['''WISENut_robot'''] = devclass(devices.devids['''generic_web_crawler'''], '''WISENut_robot''', '''WISENut''', False, {'''brand_name''':'''Robot''','''model_name''':'''WISENut'''}) +devices.devids['''WISENut/bot14'''] = devclass(devices.devids['''WISENut_robot'''], '''WISENut/bot14''', '''Mozilla/4.0 compatible ZyBorg/1.0 (wn-14.zyborg@looksmart.net; http://www.WISEnutbot.com)''', False, None) +devices.devids['''WISENut/bot16'''] = devclass(devices.devids['''WISENut_robot'''], '''WISENut/bot16''', '''Mozilla/4.0 compatible ZyBorg/1.0 (wn-16.zyborg@looksmart.net; http://www.WISEnutbot.com)''', False, None) +devices.devids['''WISENut/linkchecker'''] = devclass(devices.devids['''WISENut_robot'''], '''WISENut/linkchecker''', '''Mozilla/4.0 compatible ZyBorg/1.0 Dead Link Checker (wn.dlc@looksmart.net; http://www.WISEnutbot.com)''', False, None) +devices.devids['''AskJeeves_robot'''] = devclass(devices.devids['''generic_web_crawler'''], '''AskJeeves_robot''', '''AskJeeves''', False, {'''brand_name''':'''Robot''','''model_name''':'''AskJeeves'''}) +devices.devids['''AskJeeves/bot'''] = devclass(devices.devids['''AskJeeves_robot'''], '''AskJeeves/bot''', '''Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://sp.ask.com/docs/about/tech_crawling.html)''', False, None) +devices.devids['''Motionbot_robot'''] = devclass(devices.devids['''generic_web_crawler'''], '''Motionbot_robot''', '''Motionbot''', False, {'''brand_name''':'''Robot''','''model_name''':'''Motionbot'''}) +devices.devids['''myfamily_robot'''] = devclass(devices.devids['''generic_web_crawler'''], '''myfamily_robot''', '''Mozilla/4.0 (compatible; MyFamilyBot''', False, {'''brand_name''':'''Robot''','''model_name''':'''MyFamily'''}) +devices.devids['''myfamily10'''] = devclass(devices.devids['''myfamily_robot'''], '''myfamily10''', '''Mozilla/4.0 (compatible; MyFamilyBot/1.0; http://www.myfamilyinc.com)''', False, None) +devices.devids['''peterz'''] = devclass(devices.devids['''generic_web_crawler'''], '''peterz''', '''www.peterz.info''', False, {'''brand_name''':'''Robot''','''model_name''':'''Peterz'''}) +devices.devids['''validator_Nokia6630'''] = devclass(devices.devids['''nokia_6630_ver1'''], '''validator_Nokia6630''', '''Validator6630''', False, {'''brand_name''':'''Validator'''}) +devices.devids['''validator_SonyEricssonT610'''] = devclass(devices.devids['''sonyericsson_t610_ver1'''], '''validator_SonyEricssonT610''', '''ValidatorT610''', False, {'''brand_name''':'''Validator'''}) +devices.devids['''generic'''].groups['''bearer'''] = ['''max_data_rate''','''wifi'''] +devices.devids['''generic'''].groups['''sms'''] = ['''nokiaring''','''picturemessage''','''operatorlogo''','''largeoperatorlogo''','''callericon''','''nokiavcard''','''nokiavcal''','''sckl_ringtone''','''sckl_operatorlogo''','''sckl_groupgraphic''','''sckl_vcard''','''sckl_vcalendar''','''text_imelody''','''ems''','''ems_variablesizedpictures''','''ems_imelody''','''ems_odi''','''ems_upi''','''ems_version''','''siemens_ota''','''siemens_logo_width''','''siemens_logo_height''','''siemens_screensaver_width''','''siemens_screensaver_height''','''gprtf''','''sagem_v1''','''sagem_v2''','''panasonic'''] +devices.devids['''generic'''].groups['''streaming'''] = ['''streaming_video''','''streaming_real_media_8''','''streaming_real_media_9''','''streaming_real_media_10''','''streaming_3gpp''','''streaming_mp4''','''streaming_wmv''','''streaming_mov''','''streaming_video_qcif''','''streaming_video_qcif_max_width''','''streaming_video_qcif_max_height''','''streaming_video_sqcif''','''streaming_video_sqcif_max_width''','''streaming_video_sqcif_max_height''','''streaming_video_max_bit_rate''','''streaming_video_max_video_bit_rate''','''streaming_video_min_video_bit_rate''','''streaming_video_max_audio_bit_rate''','''streaming_video_max_frame_rate''','''streaming_video_size_limit''','''streaming_video_vcodec_h263_0''','''streaming_video_vcodec_h263_3''','''streaming_video_vcodec_mpeg4''','''streaming_video_acodec_amr''','''streaming_video_acodec_awb''','''streaming_video_acodec_aac''','''streaming_video_acodec_aac_ltp'''] +devices.devids['''generic'''].groups['''xhtml_ui'''] = ['''xhtml_honors_bgcolor''','''xhtml_supports_forms_in_table''','''xhtml_support_wml2_namespace''','''xhtml_autoexpand_select''','''xhtml_select_as_dropdown''','''xhtml_select_as_radiobutton''','''xhtml_select_as_popup''','''xhtml_display_accesskey''','''xhtml_supports_invisible_text''','''xhtml_supports_inline_input''','''xhtml_supports_monospace_font''','''xhtml_supports_table_for_layout''','''xhtml_supports_css_cell_table_coloring''','''xhtml_format_as_css_property''','''xhtml_format_as_attribute''','''xhtml_nowrap_mode''','''xhtml_marquee_as_css_property''','''xhtml_readable_background_color1''','''xhtml_readable_background_color2''','''xhtml_allows_disabled_form_elements''','''xhtml_document_title_support''','''xhtml_preferred_charset''','''opwv_xhtml_extensions_support''','''xhtml_make_phone_call_string''','''xhtmlmp_preferred_mime_type''','''xhtml_table_support''','''xhtml_send_sms_string''','''xhtml_send_mms_string''','''xhtml_supports_file_upload''','''xhtml_file_upload'''] +devices.devids['''generic'''].groups['''image_format'''] = ['''wbmp''','''bmp''','''epoc_bmp''','''gif_animated''','''jpg''','''png''','''tiff''','''transparent_png_alpha''','''transparent_png_index''','''svgt_1_1''','''svgt_1_1_plus''','''greyscale''','''gif''','''colors'''] +devices.devids['''generic'''].groups['''wml_ui'''] = ['''proportional_font''','''built_in_back_button_support''','''card_title_support''','''softkey_support''','''table_support''','''numbered_menus''','''menu_with_select_element_recommended''','''menu_with_list_of_links_recommended''','''icons_on_menu_items_support''','''break_list_of_links_with_br_element_recommended''','''access_key_support''','''wrap_mode_support''','''times_square_mode_support''','''deck_prefetch_support''','''elective_forms_recommended''','''wizards_recommended''','''image_as_link_support''','''insert_br_element_after_widget_recommended''','''wml_can_display_images_and_text_on_same_line''','''wml_displays_image_in_center''','''opwv_wml_extensions_support''','''wml_make_phone_call_string'''] +devices.devids['''generic'''].groups['''cache'''] = ['''total_cache_disable_support''','''time_to_live_support'''] +devices.devids['''generic'''].groups['''storage'''] = ['''max_deck_size''','''max_url_length_in_requests''','''max_url_length_homepage''','''max_url_length_bookmark''','''max_url_length_cached_page''','''max_no_of_connection_settings''','''max_no_of_bookmarks''','''max_length_of_username''','''max_length_of_password''','''max_object_size'''] +devices.devids['''generic'''].groups['''product_info'''] = ['''brand_name''','''model_name''','''unique''','''ununiqueness_handler''','''is_wireless_device''','''device_claims_web_support''','''has_pointing_device''','''has_qwerty_keyboard''','''can_skip_aligned_link_row''','''uaprof''','''uaprof2''','''uaprof3''','''nokia_series''','''nokia_edition''','''device_os''','''mobile_browser''','''mobile_browser_version'''] +devices.devids['''generic'''].groups['''sound_format'''] = ['''wav''','''mmf''','''smf''','''mld''','''midi_monophonic''','''midi_polyphonic''','''sp_midi''','''rmf''','''xmf''','''compactmidi''','''digiplug''','''nokia_ringtone''','''imelody''','''au''','''amr''','''awb''','''aac''','''mp3''','''voices''','''qcelp''','''evrc'''] +devices.devids['''generic'''].groups['''object_download'''] = ['''downloadfun_support''','''directdownload_support''','''inline_support''','''oma_support''','''ringtone''','''ringtone_3gpp''','''ringtone_midi_monophonic''','''ringtone_midi_polyphonic''','''ringtone_imelody''','''ringtone_digiplug''','''ringtone_compactmidi''','''ringtone_mmf''','''ringtone_rmf''','''ringtone_xmf''','''ringtone_amr''','''ringtone_awb''','''ringtone_aac''','''ringtone_wav''','''ringtone_mp3''','''ringtone_spmidi''','''ringtone_qcelp''','''ringtone_voices''','''ringtone_df_size_limit''','''ringtone_directdownload_size_limit''','''ringtone_inline_size_limit''','''ringtone_oma_size_limit''','''wallpaper''','''wallpaper_max_width''','''wallpaper_max_height''','''wallpaper_preferred_width''','''wallpaper_preferred_height''','''wallpaper_resize''','''wallpaper_wbmp''','''wallpaper_bmp''','''wallpaper_gif''','''wallpaper_jpg''','''wallpaper_png''','''wallpaper_tiff''','''wallpaper_greyscale''','''wallpaper_colors''','''wallpaper_df_size_limit''','''wallpaper_directdownload_size_limit''','''wallpaper_inline_size_limit''','''wallpaper_oma_size_limit''','''screensaver''','''screensaver_max_width''','''screensaver_max_height''','''screensaver_preferred_width''','''screensaver_preferred_height''','''screensaver_resize''','''screensaver_wbmp''','''screensaver_bmp''','''screensaver_gif''','''screensaver_jpg''','''screensaver_png''','''screensaver_greyscale''','''screensaver_colors''','''screensaver_df_size_limit''','''screensaver_directdownload_size_limit''','''screensaver_inline_size_limit''','''screensaver_oma_size_limit''','''picture''','''picture_max_width''','''picture_max_height''','''picture_preferred_width''','''picture_preferred_height''','''picture_resize''','''picture_wbmp''','''picture_bmp''','''picture_gif''','''picture_jpg''','''picture_png''','''picture_greyscale''','''picture_colors''','''picture_df_size_limit''','''picture_directdownload_size_limit''','''picture_inline_size_limit''','''picture_oma_size_limit''','''video''','''video_real_media_8''','''video_real_media_9''','''video_real_media_10''','''video_3gpp''','''video_3gpp2''','''video_mp4''','''video_wmv''','''video_mov''','''video_max_frame_rate''','''video_max_width''','''video_max_height''','''video_qcif''','''video_sqcif''','''video_preferred_width''','''video_preferred_height''','''video_df_size_limit''','''video_directdownload_size_limit''','''video_inline_size_limit''','''video_oma_size_limit''','''video_vcodec_h263_0''','''video_vcodec_h263_3''','''video_vcodec_h264''','''video_vcodec_mpeg4''','''video_acodec_amr''','''video_acodec_awb''','''video_acodec_aac''','''video_acodec_aac_ltp''','''video_acodec_qcelp'''] +devices.devids['''generic'''].groups['''mms'''] = ['''receiver''','''sender''','''mms_max_size''','''mms_max_height''','''mms_max_width''','''built_in_recorder''','''built_in_camera''','''mms_jpeg_baseline''','''mms_jpeg_progressive''','''mms_gif_static''','''mms_gif_animated''','''mms_png''','''mms_bmp''','''mms_wbmp''','''mms_amr''','''mms_wav''','''mms_midi_monophonic''','''mms_midi_polyphonic''','''mms_midi_polyphonic_voices''','''mms_spmidi''','''mms_mmf''','''mms_mp3''','''mms_evrc''','''mms_qcelp''','''mms_ota_bitmap''','''mms_nokia_wallpaper''','''mms_nokia_operatorlogo''','''mms_nokia_3dscreensaver''','''mms_nokia_ringingtone''','''mms_rmf''','''mms_xmf''','''mms_symbian_install''','''mms_jar''','''mms_jad''','''mms_vcard''','''mms_vcalendar''','''mms_wml''','''mms_wbxml''','''mms_wmlc''','''mms_video''','''mms_mp4''','''mms_3gpp''','''mms_3gpp2''','''mms_max_frame_rate'''] +devices.devids['''generic'''].groups['''wta'''] = ['''nokia_voice_call''','''wta_voice_call''','''wta_phonebook''','''wta_misc''','''wta_pdc'''] +devices.devids['''generic'''].groups['''ajax'''] = ['''ajax_support_javascript''','''ajax_manipulate_css''','''ajax_support_getelementbyid''','''ajax_support_inner_html''','''ajax_xhr_type''','''ajax_support_full_dom'''] +devices.devids['''generic'''].groups['''flash_lite'''] = ['''flash_lite_version''','''fl_wallpaper''','''fl_screensaver''','''fl_standalone''','''fl_browser''','''fl_sub_lcd'''] +devices.devids['''generic'''].groups['''chtml_ui'''] = ['''chtml_display_accesskey''','''emoji''','''chtml_can_display_images_and_text_on_same_line''','''chtml_displays_image_in_center''','''imode_region''','''chtml_make_phone_call_string''','''chtml_table_support'''] +devices.devids['''generic'''].groups['''security'''] = ['''https_support''','''https_detectable''','''phone_id_provided'''] +devices.devids['''generic'''].groups['''wap_push'''] = ['''wap_push_support''','''connectionless_service_indication''','''connectionless_service_load''','''connectionless_cache_operation''','''connectionoriented_unconfirmed_service_indication''','''connectionoriented_unconfirmed_service_load''','''connectionoriented_unconfirmed_cache_operation''','''connectionoriented_confirmed_service_indication''','''connectionoriented_confirmed_service_load''','''connectionoriented_confirmed_cache_operation''','''utf8_support''','''ascii_support''','''iso8859_support''','''expiration_date'''] +devices.devids['''generic'''].groups['''markup'''] = ['''xhtml_support_level''','''preferred_markup''','''wml_1_1''','''wml_1_2''','''wml_1_3''','''html_wi_w3_xhtmlbasic''','''html_wi_oma_xhtmlmp_1_0''','''html_wi_imode_html_1''','''html_wi_imode_html_2''','''html_wi_imode_html_3''','''html_wi_imode_html_4''','''html_wi_imode_html_5''','''html_wi_imode_htmlx_1''','''html_wi_imode_htmlx_1_1''','''html_wi_imode_compact_generic''','''html_web_3_2''','''html_web_4_0''','''voicexml''','''multipart_support'''] +devices.devids['''generic'''].groups['''bugs'''] = ['''post_method_support''','''basic_authentication_support''','''empty_option_value_support''','''emptyok'''] +devices.devids['''generic'''].groups['''drm'''] = ['''oma_v_1_0_forwardlock''','''oma_v_1_0_combined_delivery''','''oma_v_1_0_separate_delivery'''] +devices.devids['''generic'''].groups['''j2me'''] = ['''j2me_cldc_1_0''','''j2me_cldc_1_1''','''j2me_midp_1_0''','''j2me_midp_2_0''','''doja_1_0''','''doja_1_5''','''doja_2_0''','''doja_2_1''','''doja_2_2''','''doja_3_0''','''doja_3_5''','''doja_4_0''','''j2me_jtwi''','''j2me_mmapi_1_0''','''j2me_mmapi_1_1''','''j2me_wmapi_1_0''','''j2me_wmapi_1_1''','''j2me_wmapi_2_0''','''j2me_btapi''','''j2me_3dapi''','''j2me_loctapi''','''j2me_nokia_ui''','''j2me_motorola_lwt''','''j2me_siemens_color_game''','''j2me_siemens_extension''','''j2me_heap_size''','''j2me_max_jar_size''','''j2me_storage_size''','''j2me_max_record_store_size''','''j2me_screen_width''','''j2me_screen_height''','''j2me_canvas_width''','''j2me_canvas_height''','''j2me_bits_per_pixel''','''j2me_audio_capture_enabled''','''j2me_video_capture_enabled''','''j2me_photo_capture_enabled''','''j2me_capture_image_formats''','''j2me_http''','''j2me_https''','''j2me_socket''','''j2me_udp''','''j2me_serial''','''j2me_gif''','''j2me_gif89a''','''j2me_jpg''','''j2me_png''','''j2me_bmp''','''j2me_bmp3''','''j2me_wbmp''','''j2me_midi''','''j2me_wav''','''j2me_amr''','''j2me_mp3''','''j2me_mp4''','''j2me_imelody''','''j2me_rmf''','''j2me_au''','''j2me_aac''','''j2me_realaudio''','''j2me_xmf''','''j2me_wma''','''j2me_3gpp''','''j2me_h263''','''j2me_svgt''','''j2me_mpeg4''','''j2me_realvideo''','''j2me_real8''','''j2me_realmedia''','''j2me_left_softkey_code''','''j2me_right_softkey_code''','''j2me_middle_softkey_code''','''j2me_select_key_code''','''j2me_return_key_code''','''j2me_clear_key_code''','''j2me_datefield_no_accepts_null_date''','''j2me_datefield_broken'''] +devices.devids['''generic'''].groups['''display'''] = ['''resolution_width''','''resolution_height''','''columns''','''max_image_width''','''max_image_height''','''rows'''] + +for device in devices.devids.itervalues(): + devices.devuas[device.devua] = device +del device + +devices._normalize_types() diff --git a/wurfl/wurfl.pyc b/wurfl/wurfl.pyc new file mode 100644 index 0000000..6f7b0ed Binary files /dev/null and b/wurfl/wurfl.pyc differ diff --git a/wurfl/wurfl.xml b/wurfl/wurfl.xml new file mode 100755 index 0000000..ca9190d --- /dev/null +++ b/wurfl/wurfl.xml @@ -0,0 +1,149139 @@ + + + + www.wurflpro.com - 2008-03-05 12:37:42 + Wed Mar 05 12:41:48 -0600 2008 + http://wurfl.sourceforge.net/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/wurfl/wurfl_classify.py b/wurfl/wurfl_classify.py new file mode 100755 index 0000000..b511b9e --- /dev/null +++ b/wurfl/wurfl_classify.py @@ -0,0 +1,68 @@ +# +# Copyright (c) 2008 Massachusetts Institute of Technology +# +# Licensed under the MIT License +# Redistributions of files must retain the above copyright notice. +# +# + +from wurfl import devices +from pywurfl.algorithms import Algorithm, Tokenizer +import re + +is_smart_phone = re.compile(".*?(Palm|SymbianOS|Windows CE|BlackBerry)") +is_iPhone = re.compile(".*?(iPhone|iPod|Aspen Simulator)") + +def device_type(user_agent): + if is_iPhone.match(user_agent): + return 'iphone' + + if is_smart_phone.match(user_agent): + return 'smart_phone' + + wurfl_obj = devices.select_ua(user_agent, search=GenericBrowserPreferred()) + if is_device(wurfl_obj, 'netfront_ver3'): + # really stupid special case, for some reason wurfl + # classifies these devices as being browsers + return 'feature_phone' + + if is_device(wurfl_obj, 'generic_web_crawler'): + return 'spider' + elif is_device(wurfl_obj, 'generic_web_browser'): + return 'computer' + else: + return 'feature_phone' + +def is_device(wurfl_obj, devs): + if type(devs) is str: + devs = [ devs ] + for devid in devs: + if wurfl_obj.devid == devid: + return True + if wurfl_obj.fall_back is 'root': + return False + else: + fall_back = devices.select_id(wurfl_obj.fall_back) + return is_device(fall_back, devs) + +import Levenshtein +class GenericBrowserPreferred(Algorithm): + """ + This is method for searching through all devices + This method favors matching devices to a web browser + over a mobile device + """ + + browser_pref = 1.05 + + def __call__(self, ua, devs): + match = min((self.match_distance(ua, x), x) for x in devs) + print devices.devids[match[1]].devua + return devices.devids[match[1]] + + def match_distance(self, ua, device): + device = devices.select_id(device) + distance = Levenshtein.distance(device.devua, ua) + if is_device(device, "generic_web_browser"): + distance = distance/self.browser_pref + return distance diff --git a/wurfl/wurfl_classify.pyc b/wurfl/wurfl_classify.pyc new file mode 100644 index 0000000..63e358b Binary files /dev/null and b/wurfl/wurfl_classify.pyc differ diff --git a/wurfl/wurfl_full.xml b/wurfl/wurfl_full.xml new file mode 100755 index 0000000..4e1d066 --- /dev/null +++ b/wurfl/wurfl_full.xml @@ -0,0 +1,149852 @@ + + + + www.wurflpro.com - 2008-03-05 12:37:42 + Wed Mar 05 12:41:48 -0600 2008 + http://wurfl.sourceforge.net/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +