Location: PHPKode > scripts > Genghis > genghis-1.4.1/genghis-1.4.1/genghis.php
<?php

/**
 * Genghis v1.4.1
 *
 * The single-file MongoDB admin app
 *
 * http://genghisapp.com
 *
 * @author Justin Hileman <hide@address.com>
 */
class Genghis_Api extends Genghis_App { const ROUTE_PATTERN = '~^/?servers(?:/(?P<server>[^/]+)(?P<databases>/databases(?:/(?P<database>[^/]+)(?P<collections>/collections(?:/(?P<collection>[^/]+)(?P<documents>/documents(?:/(?P<document>[^/]+))?)?)?)?)?)?)?/?$~'; const CONVERT_JSON_ROUTE = '~/?convert-json/?$~'; const CHECK_STATUS_ROUTE = '~/?check-status/?$~'; const PAGE_LIMIT = 50; protected $servers; public function run() { try { return parent::run(); } catch (Genghis_HttpException $e) { $msg = $e->getMessage() ? $e->getMessage() : Genghis_Response::getStatusText($e->getStatus()); $response = new Genghis_JsonResponse(array('error' => $msg), $e->getStatus()); $response->render(); } } public function route($method, $path) { if (preg_match(self::CHECK_STATUS_ROUTE, $path)) { return $this->checkStatus(); } if (preg_match(self::CONVERT_JSON_ROUTE, $path)) { $decoder = new Genghis_JsonDecoder; return new Genghis_JsonResponse($decoder->decode(file_get_contents('php://input'))); } $p = array(); if (preg_match(self::ROUTE_PATTERN, $path, $p)) { foreach ($p as $i => $val) { if (is_numeric($i) || empty($val)) { unset($p[$i]); } } if (isset($p['documents'])) { if (isset($p['document'])) { switch ($method) { case 'GET': return $this->findDocument($p['server'], $p['database'], $p['collection'], $p['document']); case 'PUT': return $this->updateDocument($p['server'], $p['database'], $p['collection'], $p['document'], $this->getRequestData()); case 'DELETE': return $this->removeDocument($p['server'], $p['database'], $p['collection'], $p['document']); default: throw new Genghis_HttpException(405); } } else { switch ($method) { case 'GET': return $this->findDocuments( $p['server'], $p['database'], $p['collection'], (string) $this->getQueryParam('q', ''), (int) $this->getQueryParam('page', 1) ); case 'POST': return $this->insertDocument($p['server'], $p['database'], $p['collection'], $this->getRequestData()); case 'DELETE': return $this->truncateCollection($p['server'], $p['database'], $p['collection']); default: throw new Genghis_HttpException(405); } } } elseif (isset($p['collections'])) { if (isset($p['collection'])) { switch ($method) { case 'GET': return $this->selectCollection($p['server'], $p['database'], $p['collection']); case 'DELETE': return $this->dropCollection($p['server'], $p['database'], $p['collection']); default: throw new Genghis_HttpException(405); } } else { switch ($method) { case 'GET': return $this->listCollections($p['server'], $p['database']); case 'POST': return $this->createCollection($p['server'], $p['database'], $this->getRequestData()); default: throw new Genghis_HttpException(405); } } } elseif (isset($p['databases'])) { if (isset($p['database'])) { switch ($method) { case 'GET': return $this->selectDatabase($p['server'], $p['database']); case 'DELETE': return $this->dropDatabase($p['server'], $p['database']); default: throw new Genghis_HttpException(405); } } else { switch ($method) { case 'GET': return $this->listDatabases($p['server']); case 'POST': return $this->createDatabase($p['server'], $this->getRequestData()); default: throw new Genghis_HttpException(405); } } } else { if (isset($p['server'])) { switch ($method) { case 'GET': return $this->showServer($p['server']); case 'DELETE': return $this->removeServer($p['server']); default: throw new Genghis_HttpException(405); } } else { switch ($method) { case 'GET': return $this->listServers(); case 'POST': return $this->addServer($this->getRequestData()); default: throw new Genghis_HttpException(405); } } } } throw new Genghis_HttpException(404); } protected function checkStatus() { $alerts = array(); if (!class_exists('Mongo', false)) { $alerts[] = array( 'level' => 'error', 'msg' => '<strong>Mongo PHP class not found.</strong> ' . 'Have you installed and enabled the PECL Mongo drivers?', ); } return new Genghis_JsonResponse(compact('alerts')); } protected function listServers() { $this->initServers(); $servers = array(); foreach (array_keys($this->servers) as $name) { $servers[] = $this->dumpServer($name); } return new Genghis_JsonResponse($servers); } protected function addServer(array $data) { if (!isset($data['name'])) { throw new Genghis_HttpException(400, 'Server name must be specified'); } $dsn = $data['name']; if (strpos($dsn, '://') === false) { $dsn = 'mongodb://'.$dsn; } else if (strpos($dsn, 'mongodb://') !== 0) { throw new Genghis_HttpException(400, 'Malformed server dsn'); } $chunks = parse_url($dsn); if ($chunks === false || isset($chunks['query']) || isset($chunks['fragment']) || !isset($chunks['host'])) { throw new Genghis_HttpException(400, 'Malformed server dsn'); } $name = $chunks['host']; if (isset($chunks['user'])) { $name = $chunks['user'].'@'.$name; } if (isset($chunks['port']) && $chunks['port'] !== 27017) { $name .= ':'.$chunks['port']; } $this->initServers(); $this->servers[$name] = $dsn; $this->saveServers(); return $this->showServer($name); } protected function removeServer($name) { $this->initServers(); if (isset($this->servers[$name])) { unset($this->servers[$name]); $this->saveServers(); return new Genghis_JsonResponse(array('success' => true)); } throw new Genghis_HttpException(404); } protected function showServer($name) { $this->initServers(); if (isset($this->servers[$name])) { return new Genghis_JsonResponse($this->dumpServer($name)); } else { throw new Genghis_HttpException(404); } } protected function dumpServer($name) { try { $res = $this->getMongo($name)->listDBs(); $dbs = array_map(function($db) { return $db['name']; }, $res['databases']); return array( 'id' => $name, 'name' => $name, 'size' => $res['totalSize'], 'count' => count($dbs), 'databases' => $dbs, ); } catch (Exception $e) { return array( 'id' => $name, 'name' => $name, 'error' => 'Unable to connect to Mongo server at "'.$name.'".', ); } } protected function initServers() { if (!isset($this->servers)) { if (isset($_COOKIE['genghis_servers']) && $servers = json_decode($_COOKIE['genghis_servers'], true)) { $this->servers = $servers; } else { $this->servers = array('localhost' => 'localhost:27017'); } } } protected function saveServers() { setcookie('genghis_servers', json_encode($this->servers), time()+60*60*24*365, '/'); } protected function dumpDatabase($server, $database) { $dbs = $this->getMongo($server)->listDBs(); foreach ($dbs['databases'] as $db) { if ($db['name'] == $database) { $colls = array(); foreach ($this->getDatabase($server, $database)->listCollections() as $coll) { $colls[] = $coll->getName(); } return array( 'id' => $db['name'], 'name' => $db['name'], 'count' => count($colls), 'collections' => $colls, 'size' => $db['sizeOnDisk'], ); } } } protected function selectDatabase($server, $database) { if ($db = $this->dumpDatabase($server, $database)) { return new Genghis_JsonResponse($db); } throw new Genghis_HttpException(404); } protected function dropDatabase($server, $database) { $this->getDatabase($server, $database)->drop(); return new Genghis_JsonResponse(array('success' => true)); } protected function listDatabases($server) { $dbs = array(); $mongo = $this->getMongo($server); $res = $this->getMongo($server)->listDBs(); foreach ($res['databases'] as $db) { $dbs[] = $this->dumpDatabase($server, $db['name']); } return new Genghis_JsonResponse($dbs); } protected function createDatabase($server, array $data) { if (!isset($data['name'])) { throw new HttpException(400, 'Database name must be specified'); } $this->getCollection($server, $data['name'], '__genghis_tmp_collection__')->drop(); return $this->selectDatabase($server, $data['name']); } protected function dumpCollection($server, $database, $collection) { foreach ($this->getDatabase($server, $database)->listCollections() as $coll) { if ($coll->getName() == $collection) { return array( 'id' => $coll->getName(), 'name' => $coll->getName(), 'count' => $coll->count(), 'indexes' => $coll->getIndexInfo(), ); } } } public function selectCollection($server, $database, $collection) { if ($coll = $this->dumpCollection($server, $database, $collection)) { return new Genghis_JsonResponse($coll); } throw new Genghis_HttpException(404); } public function truncateCollection($server, $database, $collection) { if ($coll = $this->getCollection($server, $database, $collection)) { $coll->remove(array()); return $this->selectCollection($server, $database, $collection); } throw new Genghis_HttpException(404); } public function dropCollection($server, $database, $collection) { if ($coll = $this->getCollection($server, $database, $collection)) { $coll->drop(); return new Genghis_JsonResponse(array('success' => true)); } throw new Genghis_HttpException(404); } public function listCollections($server, $database) { $colls = array(); foreach ($this->getDatabase($server, $database)->listCollections() as $coll) { $colls[] = $this->dumpCollection($server, $database, $coll->getName()); } return new Genghis_JsonResponse($colls); } public function createCollection($server, $database, array $data = array()) { if (!isset($data['name'])) { throw new Genghis_HttpException(400, 'Database name must be specified'); } $this->getDatabase($server, $database)->createCollection($data['name']); return $this->selectCollection($server, $database, $data['name']); } public function findDocument($server, $database, $collection, $document) { $doc = $this->getCollection($server, $database, $collection)->findOne(array( '_id' => new MongoId($document), )); if ($doc) { return new Genghis_JsonResponse($doc); } throw new Genghis_HttpException(404); } public function updateDocument($server, $database, $collection, $document, array $data) { $coll = $this->getCollection($server, $database, $collection); $query = array('_id' => new MongoId($document)); if ($coll->findOne($query)) { $result = $coll->update($query, $data, array('safe' => true)); if (isset($result['ok']) && $result['ok']) { return $this->findDocument($server, $database, $collection, $document); } else { throw new Genghis_HttpException; } } else { throw new Genghis_HttpException(404); } } public function removeDocument($server, $database, $collection, $document) { $coll = $this->getCollection($server, $database, $collection); $query = array('_id' => new MongoId($document)); if ($coll->findOne($query)) { $result = $coll->remove($query, array('safe' => true)); if (isset($result['ok']) && $result['ok']) { return new Genghis_JsonResponse(array('success' => true)); } else { throw new Genghis_HttpException; } } else { throw new Genghis_HttpException(404); } } public function findDocuments($server, $database, $collection, $query = null, $page = 1) { $offset = self::PAGE_LIMIT * ($page - 1); $cursor = $this->getCollection($server, $database, $collection) ->find($query ? $this->decodeJson($query) : array()) ->limit(self::PAGE_LIMIT) ->skip($offset); $count = $cursor->count(); return new Genghis_JsonResponse(array( 'count' => $count, 'page' => $page, 'pages' => max(1, ceil($count / self::PAGE_LIMIT)), 'per_page' => self::PAGE_LIMIT, 'offset' => $offset, 'documents' => array_values(iterator_to_array($cursor)), )); } public function insertDocument($server, $database, $collection, array $data = null) { if (empty($data)) { throw new Genghis_HttpException(400, 'Malformed document'); } $result = $this->getCollection($server, $database, $collection) ->insert($data, array('safe' => true)); if (isset($result['ok']) && $result['ok']) { return new Genghis_JsonResponse($data); } else { throw new Genghis_HttpException; } } protected function decodeJson($data) { try { $decoder = new Genghis_JsonDecoder; return $this->thunkMongoQuery($decoder->decode($data)); } catch (Genghis_JsonException $e) { throw new Genghis_HttpException(400, 'Malformed document'); } } protected function thunkMongoQuery(array $query) { foreach ($query as $key => $val) { if (is_array($val)) { if (isset($val['$id']) && count($val) == 1) { $query[$key] = new MongoId($val['$id']); } elseif (count($val) == 2 && isset($val['sec']) && isset($val['usec'])) { $query[$key] = new MongoDate($val['sec'], $val['usec']); } else { $query[$key] = $this->thunkMongoQuery($val); } } else if ($val instanceof Genghis_JsonRegex) { $query[$key] = new MongoRegex($val->pattern); } } return $query; } protected function getRequestData() { return $this->decodeJson(file_get_contents('php://input')); } protected function getMongo($server) { $this->initServers(); if (isset($this->servers[$server])) { return new Mongo($this->servers[$server]); } } protected function getDatabase($server, $database) { return $this->getMongo($server)->selectDB($database); } protected function getCollection($server, $database, $collection) { return $this->getDatabase($server, $database)->selectCollection($collection); } }
class Genghis_App { protected $assets = array(); protected $assetEtags = array(); protected $baseUrl; public function run() { try { $response = $this->route($this->getRequestMethod(), $this->getRequestPath()); if ($response instanceof Genghis_Response) { $response->render(); } else { throw new Genghis_HttpException(500); } } catch (Genghis_HttpException $e) { $errorResponse = $this->renderTemplate( 'error.html.mustache', $e->getStatus(), array( 'message' => $e->getMessage(), 'status' => $e->getStatus(), ) ); $errorResponse->render(); } } public function route($method, $path) { if ($this->isJsonRequest()) { try { $api = new Genghis_Api; return $api->route($method, $path); } catch (Genghis_HttpException $e) { $msg = $e->getMessage() ? $e->getMessage() : Genghis_Response::getStatusText($e->getStatus()); return new Genghis_JsonResponse(array('error' => $msg, 'status' => $e->getStatus()), $e->getStatus()); } } else { if (strpos($path, '/assets/') === 0) { return $this->getAsset(substr($path, 8)); } else { return $this->renderTemplate('index.html.mustache'); } break; } } protected function isJsonRequest() { if (in_array($this->getRequestMethod(), array('POST', 'PUT'))) { $type = isset($_SERVER['CONTENT_TYPE']) ? $_SERVER['CONTENT_TYPE'] : 'x-www-form-urlencoded'; } else { $type = isset($_SERVER['HTTP_ACCEPT']) ? $_SERVER['HTTP_ACCEPT'] : 'text/html'; } return strpos($type, 'application/json') !== false || strpos($type, 'application/javascript') !== false; } protected function getBaseUrl() { if (!isset($this->baseUrl)) { $this->baseUrl = $this->prepareBaseUrl(); } return $this->baseUrl; } protected function prepareBaseUrl() { $filename = basename($_SERVER['SCRIPT_FILENAME']); foreach (array('SCRIPT_NAME', 'PHP_SELF', 'ORIG_SCRIPT_NAME') as $key) { if (isset($_SERVER[$key]) && basename($_SERVER[$key]) == $filename) { $baseUrl = $_SERVER[$key]; break; } } if (!isset($baseUrl)) { $path = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : ''; $file = isset($_SERVER['SCRIPT_FILENAME']) ? $_SERVER['SCRIPT_FILENAME'] : ''; $chunks = array_reverse(explode('/', trim($file, '/'))); $index = 0; $last = count($chunks); $baseUrl = ''; do { $seg = $segs[$index]; $baseUrl = '/'.$seg.$baseUrl; ++$index; } while (($last > $index) && (false !== ($pos = strpos($path, $baseUrl))) && (0 != $pos)); } $requestUri = $_SERVER['REQUEST_URI']; if ($baseUrl && 0 === strpos($requestUri, $baseUrl)) { return $baseUrl; } if ($baseUrl && 0 === strpos($requestUri, dirname($baseUrl))) { return rtrim(dirname($baseUrl), '/'); } $truncatedRequestUri = $requestUri; if (($pos = strpos($requestUri, '?')) !== false) { $truncatedRequestUri = substr($requestUri, 0, $pos); } $basename = basename($baseUrl); if (empty($basename) || !strpos($truncatedRequestUri, $basename)) { return ''; } if ((strlen($requestUri) >= strlen($baseUrl)) && ((false !== ($pos = strpos($requestUri, $baseUrl))) && ($pos !== 0))) { $baseUrl = substr($requestUri, 0, $pos + strlen($baseUrl)); } return rtrim($baseUrl, '/'); } protected function getRequestMethod() { return $_SERVER['REQUEST_METHOD']; } protected function getRequestPath() { return isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : '/'; } protected function getQueryParams() { global $_GET; return $_GET; } protected function getQueryParam($name, $default = null) { $params = $this->getQueryParams(); if (isset($params[$name])) { return $params[$name]; } else { return $default; } } protected function renderTemplate($name, $status = 200, array $vars = array()) { $this->initAssets(); $defaults = array( 'base_url' => $this->getBaseUrl(), ); return new Genghis_Response(strtr($this->assets[$name], $this->prepareVars(array_merge($defaults, $vars))), $status); } protected function prepareVars($vars) { $ret = array(); foreach ($vars as $name => $var) { $ret['{{ '.$name.' }}'] = $var; } return $ret; } protected function getAsset($name) { $this->initAssets(); if (isset($this->assets[$name])) { return new Genghis_AssetResponse($name, $this->assets[$name], array( 'Last-Modified' => gmdate("D, d M Y H:i:s", filemtime(__FILE__))." GMT", 'Etag' => sprintf('"%s"', $this->assetEtags[$name]), )); } throw new Genghis_HttpException(404); } protected function initAssets() { if (empty($this->assets)) { $data = file_get_contents(__FILE__, false, null, __COMPILER_HALT_OFFSET__); foreach (preg_split("/^@@(?=[\w\d\.]+( [\w\d\.]+)?$)/m", $data, -1) as $asset) { if (trim($asset)) { list($line, $content) = explode("\n", $asset, 2); list($name, $etag) = explode(" ", $line, 2); $this->assets[$name] = trim($content); $this->assetEtags[$name] = $etag; } } } } }
class Genghis_AssetResponse extends Genghis_Response { protected $headers; private static $extMap = array( 'js' => 'application/x-javascript', 'json' => 'application/json', 'css' => 'text/css', 'html' => 'text/html', 'htm' => 'text/html', 'php' => 'text/html', 'txt' => 'text/plain', ); public function __construct($name, $content, $headers = array()) { parent::__construct($content); $this->name = $name; $this->headers = array_merge(array('Content-type' => $this->getContentType()), $headers); } protected function getContentType() { $parts = explode('.', $this->name); $ext = end($parts); if (isset(self::$extMap[$ext])) { return self::$extMap[$ext]; } else { return 'unknown/' . trim($ext); } } }
class Genghis_HttpException extends Exception { protected $status; public function __construct($status = 500, $msg = '') { $this->status = $status; parent::__construct(empty($msg) ? Genghis_Response::getStatusText($status) : $msg); } public function getStatus() { return $this->status; } }
class Genghis_JsonDecoder { const SLICE = 1; const IN_STR = 2; const IN_ARR = 3; const IN_OBJ = 4; const IN_CMT = 5; const IN_REGEX = 6; public function __construct() { $this->_mb_strlen = function_exists('mb_strlen'); $this->_mb_convert_encoding = function_exists('mb_convert_encoding'); $this->_mb_substr = function_exists('mb_substr'); } var $_mb_strlen = false; var $_mb_substr = false; var $_mb_convert_encoding = false; private function utf162utf8($utf16) { if ($this->_mb_convert_encoding) { return mb_convert_encoding($utf16, 'UTF-8', 'UTF-16'); } $bytes = (ord($utf16{0}) << 8) | ord($utf16{1}); switch(true) { case ((0x7F & $bytes) == $bytes): return chr(0x7F & $bytes); case (0x07FF & $bytes) == $bytes: return chr(0xC0 | (($bytes >> 6) & 0x1F)) . chr(0x80 | ($bytes & 0x3F)); case (0xFFFF & $bytes) == $bytes: return chr(0xE0 | (($bytes >> 12) & 0x0F)) . chr(0x80 | (($bytes >> 6) & 0x3F)) . chr(0x80 | ($bytes & 0x3F)); } return ''; } private function utf82utf16($utf8) { if($this->_mb_convert_encoding) { return mb_convert_encoding($utf8, 'UTF-16', 'UTF-8'); } switch($this->strlen8($utf8)) { case 1: return $utf8; case 2: return chr(0x07 & (ord($utf8{0}) >> 2)) . chr((0xC0 & (ord($utf8{0}) << 6)) | (0x3F & ord($utf8{1}))); case 3: return chr((0xF0 & (ord($utf8{0}) << 4)) | (0x0F & (ord($utf8{1}) >> 2))) . chr((0xC0 & (ord($utf8{1}) << 6)) | (0x7F & ord($utf8{2}))); } return ''; } private function reduce_string($str) { $str = preg_replace(array( '#^\s*//(.+)$#m', '#^\s*/\*(.+)\*/#Us', '#/\*(.+)\*/\s*$#Us' ), '', $str); return trim($str); } public function decode($str) { $str = $this->reduce_string($str); switch (strtolower($str)) { case 'true': return true; case 'false': return false; case 'null': return null; default: $m = array(); if (is_numeric($str)) { return ((float) $str == (integer) $str) ? (integer) $str : (float) $str; } elseif (preg_match('/^("|\').*(\1)$/s', $str, $m) && $m[1] == $m[2]) { $delim = $this->substr8($str, 0, 1); $chrs = $this->substr8($str, 1, -1); $utf8 = ''; $strlen_chrs = $this->strlen8($chrs); for ($c = 0; $c < $strlen_chrs; ++$c) { $substr_chrs_c_2 = $this->substr8($chrs, $c, 2); $ord_chrs_c = ord($chrs{$c}); switch (true) { case $substr_chrs_c_2 == '\b': $utf8 .= chr(0x08); ++$c; break; case $substr_chrs_c_2 == '\t': $utf8 .= chr(0x09); ++$c; break; case $substr_chrs_c_2 == '\n': $utf8 .= chr(0x0A); ++$c; break; case $substr_chrs_c_2 == '\f': $utf8 .= chr(0x0C); ++$c; break; case $substr_chrs_c_2 == '\r': $utf8 .= chr(0x0D); ++$c; break; case $substr_chrs_c_2 == '\\"': case $substr_chrs_c_2 == '\\\'': case $substr_chrs_c_2 == '\\\\': case $substr_chrs_c_2 == '\\/': if (($delim == '"' && $substr_chrs_c_2 != '\\\'') || ($delim == "'" && $substr_chrs_c_2 != '\\"')) { $utf8 .= $chrs{++$c}; } break; case preg_match('/\\\u[0-9A-F]{4}/i', $this->substr8($chrs, $c, 6)): $utf16 = chr(hexdec($this->substr8($chrs, ($c + 2), 2))) . chr(hexdec($this->substr8($chrs, ($c + 4), 2))); $utf8 .= $this->utf162utf8($utf16); $c += 5; break; case ($ord_chrs_c >= 0x20) && ($ord_chrs_c <= 0x7F): $utf8 .= $chrs{$c}; break; case ($ord_chrs_c & 0xE0) == 0xC0: $utf8 .= $this->substr8($chrs, $c, 2); ++$c; break; case ($ord_chrs_c & 0xF0) == 0xE0: $utf8 .= $this->substr8($chrs, $c, 3); $c += 2; break; case ($ord_chrs_c & 0xF8) == 0xF0: $utf8 .= $this->substr8($chrs, $c, 4); $c += 3; break; case ($ord_chrs_c & 0xFC) == 0xF8: $utf8 .= $this->substr8($chrs, $c, 5); $c += 4; break; case ($ord_chrs_c & 0xFE) == 0xFC: $utf8 .= $this->substr8($chrs, $c, 6); $c += 5; break; } } return $utf8; } elseif (preg_match('/^\[.*\]$/s', $str) || preg_match('/^\{.*\}$/s', $str)) { if ($str{0} == '[') { $stk = array(self::IN_ARR); $arr = array(); } else { $stk = array(self::IN_OBJ); $obj = array(); } array_push($stk, array('what' => self::SLICE, 'where' => 0, 'delim' => false)); $chrs = $this->substr8($str, 1, -1); $chrs = $this->reduce_string($chrs); if ($chrs == '') { if (reset($stk) == self::IN_ARR) { return $arr; } else { return $obj; } } $strlen_chrs = $this->strlen8($chrs); for ($c = 0; $c <= $strlen_chrs; ++$c) { $top = end($stk); $substr_chrs_c_2 = $this->substr8($chrs, $c, 2); if (($c == $strlen_chrs) || (($chrs{$c} == ',') && ($top['what'] == self::SLICE))) { $slice = $this->substr8($chrs, $top['where'], ($c - $top['where'])); array_push($stk, array('what' => self::SLICE, 'where' => ($c + 1), 'delim' => false)); if (reset($stk) == self::IN_ARR) { array_push($arr, $this->decode($slice)); } elseif (reset($stk) == self::IN_OBJ) { $parts = array(); if (preg_match('/^\s*(["\'].*[^\\\]["\'])\s*:/Uis', $slice, $parts)) { $key = $this->decode($parts[1]); $val = $this->decode(trim(substr($slice, strlen($parts[0])), ", \t\n\r\0\x0B")); $obj[$key] = $val; } elseif (preg_match('/^\s*([\p{L}\p{Nl}$_][\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}]*)\s*:/Uis', $slice, $parts)) { $key = $parts[1]; $val = $this->decode(trim(substr($slice, strlen($parts[0])), ", \t\n\r\0\x0B")); $obj[$key] = $val; } else { throw new Genghis_JsonException; } } } elseif ((($chrs{$c} == '"') || ($chrs{$c} == "'")) && ($top['what'] != self::IN_STR)) { array_push($stk, array('what' => self::IN_STR, 'where' => $c, 'delim' => $chrs{$c})); } elseif (($chrs{$c} == $top['delim']) && ($top['what'] == self::IN_STR) && (($this->strlen8($this->substr8($chrs, 0, $c)) - $this->strlen8(rtrim($this->substr8($chrs, 0, $c), '\\'))) % 2 != 1)) { array_pop($stk); } elseif (($chrs{$c} == '[') && in_array($top['what'], array(self::SLICE, self::IN_ARR, self::IN_OBJ))) { array_push($stk, array('what' => self::IN_ARR, 'where' => $c, 'delim' => false)); } elseif (($chrs{$c} == ']') && ($top['what'] == self::IN_ARR)) { array_pop($stk); } elseif (($chrs{$c} == '{') && in_array($top['what'], array(self::SLICE, self::IN_ARR, self::IN_OBJ))) { array_push($stk, array('what' => self::IN_OBJ, 'where' => $c, 'delim' => false)); } elseif (($chrs{$c} == '}') && ($top['what'] == self::IN_OBJ)) { array_pop($stk); } elseif (($substr_chrs_c_2 == '/*') && in_array($top['what'], array(self::SLICE, self::IN_ARR, self::IN_OBJ))) { array_push($stk, array('what' => self::IN_CMT, 'where' => $c, 'delim' => false)); $c++; } elseif (($substr_chrs_c_2 == '*/') && ($top['what'] == self::IN_CMT)) { array_pop($stk); $c++; for ($i = $top['where']; $i <= $c; ++$i) { $chrs = substr_replace($chrs, ' ', $i, 1); } } } if (in_array($top['what'], array(self::IN_CMT, self::IN_STR))) { throw new Genghis_JsonException; } if (reset($stk) == self::IN_ARR) { return $arr; } elseif (reset($stk) == self::IN_OBJ) { return $obj; } } elseif (preg_match('/^\/.*\/$/s', $str)) { return new Genghis_JsonRegex($str); } else { throw new Genghis_JsonException; } } } private function strlen8($str) { if ($this->_mb_strlen) { return mb_strlen($str, "8bit"); } return strlen($str); } private function substr8( $string, $start, $length=false ) { if ($length === false) { $length = $this->strlen8($string) - $start; } if ($this->_mb_substr) { return mb_substr($string, $start, $length, "8bit"); } return substr($string, $start, $length); } }
class Genghis_JsonException extends Exception { }
class Genghis_JsonRegex { public $pattern; public function __construct($pattern) { $this->pattern = $pattern; } public function __toString() { return $this->getPattern(); } }
class Genghis_JsonResponse extends Genghis_Response { public function renderHeaders() { $this->headers['Content-type'] = 'application/json'; $this->headers['Cache-Control'] = 'no-cache, must-revalidate'; $this->headers['Expires'] = 'Wed, 04 Aug 1982 00:00:00 GMT'; parent::renderHeaders(); } public function renderContent() { if (class_exists('Mongo') && version_compare(Mongo::VERSION, '1.0.11', '<')) { array_walk_recursive($this->data, array(__CLASS__, 'prepareData'), ini_get('mongo.cmd')); } print(json_encode($this->data)); } private static function prepareData(&$data, $key, $cmd = '$') { if (is_object($data) && $data instanceof MongoId) { $data = array($cmd.'id' => (string) $data); } } }
class Genghis_RedirectResponse extends Genghis_Response { public function __construct($url, $status = 301) { parent::__construct($url, $status); } public function render() { header(sprintf('Location: %s', $this->data), $this->status); } }
class Genghis_Response { protected static $statusCodes = array( 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 204 => 'No Content', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', 304 => 'Not Modified', 400 => 'Bad Request', 401 => 'Unauthorized', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 412 => 'Precondition Failed', 415 => 'Unsupported Media Type', 417 => 'Expectation Failed', 500 => 'Internal Server Error', 501 => 'Not Implemented', ); protected $data = ''; protected $status = 200; protected $headers = array(); public function __construct($data, $status = 200, $headers = array()) { $this->data = $data; $this->status = $status; $this->headers = $headers; } public function render() { $this->renderHeaders(); $this->renderContent(); } public static function getStatusText($status) { if (isset(self::$statusCodes[$status])) { return self::$statusCodes[$status]; } } protected function renderHeaders() { header(sprintf('HTTP/1.0 %s %s', $this->status, self::$statusCodes[$this->status])); foreach ($this->headers as $name => $val) { header(sprintf('%s: %s', $name, $val)); } } protected function renderContent() { print((string) $this->data); } }


$app = new Genghis_App;
$app->run();

__halt_compiler();

@@index.html.mustache 60a0efb0e9b70b3e242ccf9e9e8d0007
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>Genghis</title> <link rel="shortcut icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADL0lEQVRYw8VW r1fbQBy/P2X8SNpcAsgZYHJ7o0zyUhRvRS6ojap1ap1hGFaTIgCzGmqKADME NTU1MRVFVGwiIqIVERWfJYHA5Zq7lO5ty3ufd9f7fu/z+eT6vcuRlZUV/E+Q 5eXlqBO2syCeGxM+lY9kEf9tkH8hkmlgaWlpIpA2xsfCNg2y+fxcIiOb1gAv mMXJ5hJRggiGTqHl81BVBYqiBq0atblgjOo6jCjPANU0aAGobkg5iUzsQdQw AmENytwrfLTP0XH6cL0RRiMPrutF7c++g9bpAbbmVWjURKvTRbfbRau2J+Um sQArxifpmor3p214mObx0G514N//8ntndy9wD15DaCCeoGs5HHXcVKmxP4IX rIQ/FtsZOccJAzyILGgYFB/O+7wsbq8bKG+/SORulw/R7rlM1owG9LCQ7lu6 8Q3Jdx+hWV6PYizYeXvHnYkVEOVGBkRkelDt1XZSvnO4mUqSnKfjy/Wvx5Xg amBiBXgDjzDRGTLq7jXeCAQnUcRxo4lms4lauSjJ0yUGNuuJqu+d7UqJZgWh lIJF9N+H/QJrYIyrT5tCkrt5FPngMEoDpfoEf8LAgyjTL1QuGAMe6gUdvFl2 jrb6Dke2DZvHqY3PbwvTG3iAeRbUfPwM0ShpUgNm3RGeBWEhiuYSUYAW64wB wKmb0dkene9BPG5jFGtd8dnYrYkNsIQsKN1Hb8zuZxt5jQqJKF3HrmXBsnZh mlUMBOZ5EFEgRKPnMzRD2FtKYEKcHyP32k7soPbhYw3wLyw1sFa5Sq6le4Od BSX49ErE1UUcdRl534El0YgMhFslLRiON2+5L43n4GDnOeYXFqEEd4FcLgdV Ce8Gi5h79hL2j0Ei3amXpKtFYvF4z/J9TQtqwZ8srKHbx81lC99PTvD9/DK6 I4w4r+PBBVYF/AkDWdDW9tEe+HjK4zlNbKRxTWsgXFp+zPragDPwIP78j+EN HDSqJWTxhm0Iwg+IxJNYhVmyUKlUUK1Wo9YqmdFyp4nIuEiWw2mQZVqWS7KI ZzU1LRdR462k3l2x475obNa4KCZdgTgpC7yBLM6EARGpEhwu0xr4E/wGQ3S1 MEjLIesAAAAASUVORK5CYII="> <link type="text/css" rel="stylesheet" href="http://fonts.googleapis.com/css?family=Rokkitt:400,700"> <link type="text/css" rel="stylesheet" href="{{ base_url }}/assets/style.css"> <script type="text/template" id="alert-template"><div class="alert<% if (block) { %> alert-block<% } %> alert-<%= level %>"> <a class="close" href="#">×</a> <% if (block) { %> <p><%= msg %></p> <% } else { %> <%= msg %> <% } %> </div></script> <script type="text/template" id="collection-row-template"><td> <a href="<%= obj.url() %>" class="name value"><%= obj.get('name') %></a> </td> <td> <span class="documents value"><%= obj.get('count') %></span> </td> <td> <span class="indexes has-details value"><%= obj.get('indexes').length %></span> <div class="details" title="<%= obj.get('indexes').length %> Index<% if (obj.get('indexes').length != 1) { %>es<% } %>"> <% if (obj.get('indexes').length> 0) { %> <ul class="index-details"> <% _.each(obj.get('indexes'), function(index) { %> <li><%= Genghis.Util.formatJSON(index.key) %></li> <% }); %> </ul> <% } else { %> <em>None.</em> <% } %> </div> </td> <td class="action-column"> <button class="btn btn-mini btn-danger destroy">Remove</button> </td></script> <script type="text/template" id="collections-template"><header><h2>Collections</h2></header> <div class="content"> <table> <thead> <tr> <th>name</th> <th>documents</th> <th>indexes</th> <th></th> </tr> </thead> <tbody> </tbody> </table> </div> <div class="add-form inactive form-horizontal"> <input class="name span4" type="text" size="30"> <button class="show btn">Add collection</button> <button class="add btn btn-primary">Add collection</button> <button class="cancel btn">Cancel</button> </div></script> <script type="text/template" id="database-row-template"><td> <a href="<%= obj.url() %>" class="name value"><%= obj.get('name') %></a> </td> <td> <span class="collections has-details value"><%= obj.get('count') %></span> <div class="details" title="<%= obj.get('count') %> Collection<% if (obj.get('count') != 1) { %>s<% } %>"> <% if (obj.get('count')> 0) { %> <ul> <% _.each(_.first(obj.get('collections'), 15), function(collection) { %> <li><%= collection %></li> <% }); %> <% if (obj.get('count')> 15) { %> <li>&hellip;</li> <% } %> </ul> <% } else { %> <em>None.</em> <% } %> </div> </td> <td> <span class="size value"><%= Genghis.Util.humanizeSize(obj.get('size')) %></span> </td> <td class="action-column"> <button class="btn btn-mini btn-danger destroy">Remove</button> </td></script> <script type="text/template" id="databases-template"><header><h2>Databases</h2></header> <div class="content"> <table> <thead> <tr> <th>name</th> <th>collections</th> <th>size</th> <th></th> </tr> </thead> <tbody> </tbody> </table> </div> <div class="add-form inactive form-horizontal"> <input class="name span4" type="text" size="30"> <button class="show btn">Add database</button> <button class="add btn btn-primary">Add database</button> <button class="cancel btn">Cancel</button> </div></script> <script type="text/template" id="document-view-template"><div class="well"> <div class="document-actions"> <button class="btn btn-small btn-primary save">Save</button> <button class="btn btn-small cancel">Cancel</button> <button class="btn btn-small edit">Edit</button> <button class="btn btn-small btn-danger destroy">Delete</button> </div> <h3> <a class="id" href="<%= obj.url() %>"><%= obj.id %></a> </h3> <div class="document"><%= obj.prettyPrint() %></div> </div></script> <script type="text/template" id="document-template"><header><h2><%= model.id %></h2></header> <div class="content document-wrapper"></div></script> <script type="text/template" id="documents-template"><header><h2>Documents</h2></header> <div class="controls"> <button class="add-document btn btn-large">Add document</button> <div class="pagination-wrapper top"></div> </div> <div class="content document-wrapper"></div> <div class="controls"> <button class="add-document btn btn-large">Add document</button> <div class="pagination-wrapper top"></div> </div></script> <script type="text/template" id="keyboard-shortcuts-template"><div id="keyboard-shortcuts" class="modal"> <div class="modal-header"> <a href="#" class="close">×</a> <h3>Keyboard shortcuts</h3> </div> <div class="modal-body"> <ul> <li> <h4>Global</h4> <dl> <dt><kbd>?</kbd></dt> <dd>This cheat sheet</dd> <dt><kbd>s</kbd></dt> <dd>Go to servers</dd> <dt><kbd>u</kbd></dt> <dd>Go up one level</dd> </dl> <h4>Servers</h4> <dl> <dt><kbd>c</kbd></dt> <dd>New server</dd> </dl> <h4>Databases</h4> <dl> <dt><kbd>c</kbd></dt> <dd>New database</dd> </dl> </li> <li> <h4>Collections</h4> <dl> <dt><kbd>c</kbd></dt> <dd>New collection</dd> </dl> <h4>Documents</h4> <dl> <dt><kbd>/</kbd></dt> <dd>Search</dd> <dt><kbd>c</kbd></dt> <dd>New document</dd> <dt><kbd>n</kbd></dt> <dd>Next page</dd> <dt><kbd>p</kbd></dt> <dd>Previous page</dd> </dl> </li> </ul> </div> </div></script> <script type="text/template" id="nav-section-menu-template"><% _.each(collection.toArray().slice(0, 10), function(m) { %> <li<% if (m.id == model.id) { %> class="active"<% } %>><a href="<%= m.url() %>"> <%= m.id %> <span><%= Genghis.Util.humanizeCount(m.get('count') || 0) %></span> </a></li> <% }); %> <% if (collection.size()> 10) { %> <li class="divider"></li> <li><a href="<%= collection.url %>">More &raquo;</a></li> <% } %></script> <script type="text/template" id="nav-section-template"><a href="#" class="dropdown-toggle" data-toggle="dropdown"><%= model.id %></a> <ul class="dropdown-menu"></ul></script> <script type="text/template" id="nav-template"><ul class="nav"> <li class="dropdown server"></li> <li class="dropdown database"></li> <li class="dropdown collection"></li> </ul> <form class="navbar-search"><input id="navbar-query" class="search-query" name="q" type="text" value="<%= Genghis.Util.escape(query) %>" /></form></script> <script type="text/template" id="new-document-template"><div id="new-document" class="modal editor"> <div class="modal-header"> <a class="close" data-dismiss="modal">&times;</a> <h3>New Document</h3> </div> <div class="modal-body"> <div class="wrapper"> <div id="editor-new" class="genghis-document-editor"></div> </div> </div> <div class="modal-footer"> <button class="btn cancel">Cancel</button> <button class="btn btn-primary save">Save</button> </div> </div></script> <script type="text/template" id="pagination-template"><div class="pagination pagination-right"> <ul> <li class="prev<% if (page == 1) print(' disabled'); %>"> <a<% if (page != 1) { %> href="<%= url(prev) %>"<% } %>>&larr;</a> </li> <% if (start> 1) { %> <li class="first"><a href="<%= url(1) %>">1</a></li> <li class="disabled"><a>&hellip;</a></li> <% } %> <% for (var i = start; i <= end; i++) { %> <li<% if (page == i) print(' class="active"'); %>><a href="<%= url(i) %>"><%= i %></a></li> <% } %> <% if (end < pages) { %> <li class="disabled"><a>&hellip;</a></li> <li class="last"><a href="<%= url(pages) %>"><%= pages %></a></li> <% } %> <li class="next<% if (page == pages) print(' disabled'); %>"> <a<% if (page != pages) { %> href="<%= url(next) %>"<% } %>>&rarr;</a> </li> </ul> </div></script> <script type="text/template" id="server-row-template"><% if (obj.get('error')) { %> <td> <span class="value"><%= obj.get('name') %></span> <span class="label label-important" title="<%= Genghis.Util.escape(obj.get('error')) %>">Error</span> </td> <td></td> <td></td> <% } else { %> <td> <a href="<%= obj.url() %>" class="name value"><%= obj.get('name') %></a> </td> <td> <span class="databases has-details value"><%= obj.get('count') %></span> <div class="details" title="<%= obj.get('count') %> Database<% if (obj.get('count') != 1) { %>s<% } %>"> <% if (obj.get('count')> 0) { %> <ul> <% _.each(_.first(obj.get('databases'), 15), function(database) { %> <li><%= database %></li> <% }); %> <% if (obj.get('count')> 15) { %> <li>&hellip;</li> <% } %> </ul> <% } else { %> <em>None.</em> <% } %> </div> </td> <td> <span class="size value"><%= Genghis.Util.humanizeSize(obj.get('size')) %></span> </td> <% } %> <td class="action-column"> <button class="btn btn-mini btn-danger destroy">Remove</button> </td></script> <script type="text/template" id="servers-template"><header><h2>Servers</h2></header> <div class="content"> <table> <thead> <tr> <th>name</th> <th>databases</th> <th>size</th> <th></th> </tr> </thead> <tbody> </tbody> </table> </div> <div class="add-form inactive form-horizontal"> <span class="input-append"> <input class="name span4" type="text" size="30"><span class="add-on help" title="user:hide@address.com:27017">?</span> </span> <button class="show btn">Add server</button> <button class="add btn btn-primary">Add server</button> <button class="cancel btn">Cancel</button> </div></script> <script type="text/javascript" src="{{ base_url }}/assets/script.js"></script> <script type="text/javascript">jQuery(function() { Genghis.boot('{{ base_url }}'); });</script> </head> <body> <header class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container fixed"> <h3><a class="magic brand" href="{{ base_url }}">Genghis</a></h3> <nav></nav> </div> </div> </header> <noscript><h1>You won&#146;t get far in life without JavaScript&hellip;</h1></noscript> <section id="genghis" class="container fluid"> <aside id="alerts"></aside> <section id="servers"></section> <section id="databases"></section> <section id="collections"></section> <section id="documents"></section> <section id="document"><header></header></section> <section id="error"></section> </section> <footer class="container"> <p><a href="http://genghisapp.com">Genghis</a>, by <a href="http://justinhileman.info">Justin Hileman</a>.</p> <p><a class="keyboard-shortcuts" href="#">Keyboard shortcuts available <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAANCAYAAACgu+4kAAABK0lEQVR42p2R sWqDUBSGL5QOfYFCn8NXKJpop0BoH0OHZnJzKGTTIZghGF0TECFLtkCmQB4g kw4uEQTRTRz++gsZEkKadPj87znnfocLCgBCVdVvWZZfeX6U7qMoynuv1/sa DocvrJmapg3axVbLD+GZPc4uF1B46vf7n7x4gnW7+I3z09K2/8H+5YK7kSTp mS85WzCfzye+7+MRPM/rkq6YzWZIkgT7/R5xHN+VhA5d4bouttstmqbBZrP5 M+u6Jp1DV9i2jd1uh9Vq9RB06IrxeIzD4YDFYoGqqm5mURTIsgx5niOKItAV lmVhvV4jCIKbhGF4VtOhK0zT7BplWWI6neJ4PCJN06twdrpDh64YjUZYLpdw HIe/h3kNzs6SDl2h6/rEMAz8B7q//llIEoKdz2AAAAAASUVORK5CYII= "></a></p> </footer> </body> </html>

@@error.html.mustache ae189ca26b8fcd0c5a94fb1a9ff824bc
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>Genghis &mdash; {{ status }}: {{ message }}</title> <link rel="shortcut icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADL0lEQVRYw8VW r1fbQBy/P2X8SNpcAsgZYHJ7o0zyUhRvRS6ojap1ap1hGFaTIgCzGmqKADME NTU1MRVFVGwiIqIVERWfJYHA5Zq7lO5ty3ufd9f7fu/z+eT6vcuRlZUV/E+Q 5eXlqBO2syCeGxM+lY9kEf9tkH8hkmlgaWlpIpA2xsfCNg2y+fxcIiOb1gAv mMXJ5hJRggiGTqHl81BVBYqiBq0atblgjOo6jCjPANU0aAGobkg5iUzsQdQw AmENytwrfLTP0XH6cL0RRiMPrutF7c++g9bpAbbmVWjURKvTRbfbRau2J+Um sQArxifpmor3p214mObx0G514N//8ntndy9wD15DaCCeoGs5HHXcVKmxP4IX rIQ/FtsZOccJAzyILGgYFB/O+7wsbq8bKG+/SORulw/R7rlM1owG9LCQ7lu6 8Q3Jdx+hWV6PYizYeXvHnYkVEOVGBkRkelDt1XZSvnO4mUqSnKfjy/Wvx5Xg amBiBXgDjzDRGTLq7jXeCAQnUcRxo4lms4lauSjJ0yUGNuuJqu+d7UqJZgWh lIJF9N+H/QJrYIyrT5tCkrt5FPngMEoDpfoEf8LAgyjTL1QuGAMe6gUdvFl2 jrb6Dke2DZvHqY3PbwvTG3iAeRbUfPwM0ShpUgNm3RGeBWEhiuYSUYAW64wB wKmb0dkene9BPG5jFGtd8dnYrYkNsIQsKN1Hb8zuZxt5jQqJKF3HrmXBsnZh mlUMBOZ5EFEgRKPnMzRD2FtKYEKcHyP32k7soPbhYw3wLyw1sFa5Sq6le4Od BSX49ErE1UUcdRl534El0YgMhFslLRiON2+5L43n4GDnOeYXFqEEd4FcLgdV Ce8Gi5h79hL2j0Ei3amXpKtFYvF4z/J9TQtqwZ8srKHbx81lC99PTvD9/DK6 I4w4r+PBBVYF/AkDWdDW9tEe+HjK4zlNbKRxTWsgXFp+zPragDPwIP78j+EN HDSqJWTxhm0Iwg+IxJNYhVmyUKlUUK1Wo9YqmdFyp4nIuEiWw2mQZVqWS7KI ZzU1LRdR462k3l2x475obNa4KCZdgTgpC7yBLM6EARGpEhwu0xr4E/wGQ3S1 MEjLIesAAAAASUVORK5CYII="> <link type="text/css" rel="stylesheet" href="http://fonts.googleapis.com/css?family=Rokkitt:400,700"> <link type="text/css" rel="stylesheet" href="{{ base_url }}/assets/style.css"> </head> <body> <header class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container fixed"> <h3><a class="magic brand" href="{{ base_url }}">Genghis</a></h3> <nav></nav> </div> </div> </header> <section id="genghis" class="container fluid"> <section id="error" style="display:block;"> <header><h2>{{ status }}: {{ message }}</h2></header> <div class="content"> <p> If you think you've reached this message in error, please press <strong>0</strong> to speak with an operator. Otherwise, hang up and try again. </p> </div> </section> </section> <footer class="container"><p>Genghis, by <a href="http://justinhileman.info">Justin Hileman</a>.</p></footer> </body> </html>

@@style.css ca351a568b8620e62feab15f1ecf195e
/**
 * Genghis v1.4.1
 *
 * The single-file MongoDB admin app
 *
 * http://genghisapp.com
 *
 * @author Justin Hileman <hide@address.com>
 */
kbd,.key{display:inline;display:inline-block;min-width:1em;padding:.2em .3em;font:400 .85em/1 "Lucida Grande",Lucida,Arial,sans-serif;text-align:center;text-decoration:none;-moz-border-radius:.3em;-webkit-border-radius:.3em;border-radius:.3em;border:none;cursor:default;-moz-user-select:none;-webkit-user-select:none;user-select:none}kbd[title],.key[title]{cursor:help}kbd,kbd.dark,.dark-keys kbd,.key,.key.dark,.dark-keys .key{background:#505050;background:-moz-linear-gradient(top,#3c3c3c,#505050);background:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#505050));color:#fafafa;text-shadow:-1px -1px 0 #464646;-moz-box-shadow:inset 0 0 1px #969696,inset 0 -.05em .4em #505050,0 .1em 0 #1e1e1e,0 .1em .1em rgba(0,0,0,.3);-webkit-box-shadow:inset 0 0 1px #969696,inset 0 -.05em .4em #505050,0 .1em 0 #1e1e1e,0 .1em .1em rgba(0,0,0,.3);box-shadow:inset 0 0 1px #969696,inset 0 -.05em .4em #505050,0 .1em 0 #1e1e1e,0 .1em .1em rgba(0,0,0,.3)}kbd.light,.light-keys kbd,.key.light,.light-keys .key{background:#fafafa;background:-moz-linear-gradient(top,#d2d2d2,#fff);background:-webkit-gradient(linear,left top,left bottom,from(#d2d2d2),to(#fff));color:#323232;text-shadow:0 0 2px#fff;-moz-box-shadow:inset 0 0 1px#fff,inset 0 0 .4em #c8c8c8,0 .1em 0 #828282,0 .11em 0 rgba(0,0,0,.4),0 .1em .11em rgba(0,0,0,.9);-webkit-box-shadow:inset 0 0 1px#fff,inset 0 0 .4em #c8c8c8,0 .1em 0 #828282,0 .11em 0 rgba(0,0,0,.4),0 .1em .11em rgba(0,0,0,.9);box-shadow:inset 0 0 1px#fff,inset 0 0 .4em #c8c8c8,0 .1em 0 #828282,0 .11em 0 rgba(0,0,0,.4),0 .1em .11em rgba(0,0,0,.9)}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{height:auto;border:0;-ms-interpolation-mode:bicubic;vertical-align:middle}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}.hide-text{overflow:hidden;text-indent:100%;white-space:nowrap}.input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;content:""}.row:after{clear:both}[class*="span"]{float:left;margin-left:20px}.container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:""}.row-fluid:after{clear:both}.row-fluid > [class*="span"]{float:left;margin-left:2.127659574%}.row-fluid > [class*="span"]:first-child{margin-left:0}.row-fluid > .span12{width:99.99999998999999%}.row-fluid > .span11{width:91.489361693%}.row-fluid > .span10{width:82.97872339599999%}.row-fluid > .span9{width:74.468085099%}.row-fluid > .span8{width:65.95744680199999%}.row-fluid > .span7{width:57.446808505%}.row-fluid > .span6{width:48.93617020799999%}.row-fluid > .span5{width:40.425531911%}.row-fluid > .span4{width:31.914893614%}.row-fluid > .span3{width:23.404255317%}.row-fluid > .span2{width:14.89361702%}.row-fluid > .span1{width:6.382978723%}.container{margin-left:auto;margin-right:auto;*zoom:1}.container:before,.container:after{display:table;content:""}.container:after{clear:both}.container-fluid{padding-left:20px;padding-right:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;content:""}.container-fluid:after{clear:both}p{margin:0 0 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px}p small{font-size:11px;color:#999}.lead{margin-bottom:18px;font-size:20px;font-weight:200;line-height:27px}h1,h2,h3,h4,h5,h6{margin:0;font-family:inherit;font-weight:700;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:400;color:#999}h1{font-size:30px;line-height:36px}h1 small{font-size:18px}h2{font-size:24px;line-height:36px}h2 small{font-size:18px}h3{line-height:27px;font-size:18px}h3 small{font-size:14px}h4,h5,h6{line-height:18px}h4{font-size:14px}h4 small{font-size:12px}h5{font-size:12px}h6{font-size:11px;color:#999;text-transform:uppercase}.page-header{padding-bottom:17px;margin:18px 0;border-bottom:1px solid#eee}.page-header h1{line-height:1}ul,ol{padding:0;margin:0 0 9px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}ul{list-style:disc}ol{list-style:decimal}li{line-height:18px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}dl{margin-bottom:18px}dt,dd{line-height:18px}dt{font-weight:700;line-height:17px}dd{margin-left:9px}.dl-horizontal dt{float:left;clear:left;width:120px;text-align:right}.dl-horizontal dd{margin-left:130px}hr{margin:18px 0;border:0;border-top:1px solid#eee;border-bottom:1px solid#fff}strong{font-weight:700}em{font-style:italic}.muted{color:#999}abbr[title]{border-bottom:1px dotted #ddd;cursor:help}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid#eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px}blockquote small{display:block;line-height:18px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:0;border-right:5px solid#eee}blockquote.pull-right p,blockquote.pull-right small{text-align:right}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:18px;line-height:18px;font-style:normal}small{font-size:100%}cite{font-style:normal}code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12.025px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;white-space:pre;white-space:pre-wrap;word-break:break-all;word-wrap:break-word}pre.prettyprint{margin-bottom:18px}pre code{padding:0;color:inherit;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 18px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333;border:0;border-bottom:1px solid #eee}legend small{font-size:13.5px;color:#999}label,input,button,select,textarea{font-size:13px;font-weight:400;line-height:18px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px;color:#333}input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555;border:1px solid#ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.uneditable-textarea{width:auto;height:auto}label input,label textarea,label select{display:block}input[type="image"],input[type="checkbox"],input[type="radio"]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border:0 \9}input[type="image"]{border:0}input[type="file"]{width:auto;padding:initial;line-height:initial;border:initial;background-color:#fff;background-color:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}input[type="button"],input[type="reset"],input[type="submit"]{width:auto;height:auto}select,input[type="file"]{height:28px;*margin-top:4px;line-height:28px}input[type="file"]{line-height:18px \9}select{width:220px;background-color:#fff}select[multiple],select[size]{height:auto}input[type="image"]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}textarea{height:auto}input[type="hidden"]{display:none}.radio,.checkbox{padding-left:18px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px}.controls > .radio:first-child,.controls > .checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline + .radio.inline,.checkbox.inline + .checkbox.inline{margin-left:10px}input,textarea{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-ms-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}input:focus,textarea:focus{border-color:rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);outline:0;outline:thin dotted \9}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{float:none;margin-left:0}input,textarea,.uneditable-input{margin-left:0}input.span12,textarea.span12,.uneditable-input.span12{width:930px}input.span11,textarea.span11,.uneditable-input.span11{width:850px}input.span10,textarea.span10,.uneditable-input.span10{width:770px}input.span9,textarea.span9,.uneditable-input.span9{width:690px}input.span8,textarea.span8,.uneditable-input.span8{width:610px}input.span7,textarea.span7,.uneditable-input.span7{width:530px}input.span6,textarea.span6,.uneditable-input.span6{width:450px}input.span5,textarea.span5,.uneditable-input.span5{width:370px}input.span4,textarea.span4,.uneditable-input.span4{width:290px}input.span3,textarea.span3,.uneditable-input.span3{width:210px}input.span2,textarea.span2,.uneditable-input.span2{width:130px}input.span1,textarea.span1,.uneditable-input.span1{width:50px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#eee;border-color:#ddd;cursor:not-allowed}.control-group.warning > label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;border-color:#c09853}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:0 0 6px #dbc59e;-moz-box-shadow:0 0 6px #dbc59e;box-shadow:0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error > label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;border-color:#b94a48}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:0 0 6px #d59392;-moz-box-shadow:0 0 6px #d59392;box-shadow:0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success > label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;border-color:#468847}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:0 0 6px #7aba7b;-moz-box-shadow:0 0 6px #7aba7b;box-shadow:0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}input:focus:required:invalid,textarea:focus:required:invalid,select:focus:required:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:required:invalid:focus,textarea:focus:required:invalid:focus,select:focus:required:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#eee;border-top:1px solid #ddd;*zoom:1}.form-actions:before,.form-actions:after{display:table;content:""}.form-actions:after{clear:both}.uneditable-input{display:block;background-color:#fff;border-color:#eee;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);cursor:not-allowed}:-moz-placeholder{color:#999}::-webkit-input-placeholder{color:#999}.help-block,.help-inline{color:#555}.help-block{display:block;margin-bottom:9px}.help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px}.input-prepend,.input-append{margin-bottom:5px}.input-prepend input,.input-append input,.input-prepend select,.input-append select,.input-prepend .uneditable-input,.input-append .uneditable-input{*margin-left:0;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend input:focus,.input-append input:focus,.input-prepend select:focus,.input-append select:focus,.input-prepend .uneditable-input:focus,.input-append .uneditable-input:focus{position:relative;z-index:2}.input-prepend .uneditable-input,.input-append .uneditable-input{border-left-color:#ccc}.input-prepend .add-on,.input-append .add-on{display:inline-block;width:auto;min-width:16px;height:18px;padding:4px 5px;font-weight:400;line-height:18px;text-align:center;text-shadow:0 1px 0#fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc}.input-prepend .add-on,.input-append .add-on,.input-prepend .btn,.input-append .btn{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-append input,.input-append select .uneditable-input{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append .uneditable-input{border-left-color:#eee;border-right-color:#ccc}.input-append .add-on,.input-append .btn{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.search-query{padding-left:14px;padding-right:14px;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;margin-bottom:0}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-left:0;margin-right:3px}.control-group{margin-bottom:9px}legend + .control-group{margin-top:18px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:18px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:140px;padding-top:5px;text-align:right}.form-horizontal .controls{margin-left:160px;*display:inline-block;*margin-left:0;*padding-left:20px}.form-horizontal .help-block{margin-top:9px;margin-bottom:0}.form-horizontal .form-actions{padding-left:160px}table{max-width:100%;border-collapse:collapse;border-spacing:0;background-color:transparent}.table{width:100%;margin-bottom:18px}.table th,.table td{padding:8px;line-height:18px;text-align:left;vertical-align:top;border-top:1px solid#ddd}.table th{font-weight:700}.table thead th{vertical-align:bottom}.table colgroup + thead tr:first-child th,.table colgroup + thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody + tbody{border-top:2px solid#ddd}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid#ddd;border-left:0;border-collapse:separate;*border-collapse:collapsed;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid#ddd}.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-radius:4px 0 0 0;-moz-border-radius:4px 0 0 0;border-radius:4px 0 0 0}.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0}.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px}.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0}.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9}.table tbody tr:hover td,.table tbody tr:hover th{background-color:#f5f5f5}table .span1{float:none;width:44px;margin-left:0}table .span2{float:none;width:124px;margin-left:0}table .span3{float:none;width:204px;margin-left:0}table .span4{float:none;width:284px;margin-left:0}table .span5{float:none;width:364px;margin-left:0}table .span6{float:none;width:444px;margin-left:0}table .span7{float:none;width:524px;margin-left:0}table .span8{float:none;width:604px;margin-left:0}table .span9{float:none;width:684px;margin-left:0}table .span10{float:none;width:764px;margin-left:0}table .span11{float:none;width:844px;margin-left:0}table .span12{float:none;width:924px;margin-left:0}table .span13{float:none;width:1004px;margin-left:0}table .span14{float:none;width:1084px;margin-left:0}table .span15{float:none;width:1164px;margin-left:0}table .span16{float:none;width:1244px;margin-left:0}table .span17{float:none;width:1324px;margin-left:0}table .span18{float:none;width:1404px;margin-left:0}table .span19{float:none;width:1484px;margin-left:0}table .span20{float:none;width:1564px;margin-left:0}table .span21{float:none;width:1644px;margin-left:0}table .span22{float:none;width:1724px;margin-left:0}table .span23{float:none;width:1804px;margin-left:0}table .span24{float:none;width:1884px;margin-left:0}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat;*margin-right:.3em}[class^="icon-"]:last-child,[class*=" icon-"]:last-child{*margin-left:0}.icon-white{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid#000;opacity:.3;filter:alpha(opacity=30);content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown:hover .caret,.open.dropdown .caret{opacity:1;filter:alpha(opacity=100)}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;float:left;display:none;min-width:160px;padding:4px 0;margin:0;list-style:none;background-color:#fff;border-color:#ccc;border-color:rgba(0,0,0,0.2);border-style:solid;border-width:1px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;*border-right-width:2px;*border-bottom-width:2px}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:8px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid#fff;*width:100%;*margin:-5px 0 5px}.dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:400;line-height:18px;color:#333;white-space:nowrap}.dropdown-menu li > a:hover,.dropdown-menu .active > a,.dropdown-menu .active > a:hover{color:#fff;text-decoration:none;background-color:#08c}.dropdown.open{*z-index:1000}.dropdown.open .dropdown-toggle{color:#fff;background:#ccc;background:rgba(0,0,0,0.3)}.dropdown.open .dropdown-menu{display:block}.pull-right .dropdown-menu{left:auto;right:0}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid#000;content:"\2191"}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0,0,0,0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-ms-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear;opacity:0}.fade.in{opacity:1}.collapse{-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-ms-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease;position:relative;overflow:hidden;height:0}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0#fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;opacity:.4;filter:alpha(opacity=40);cursor:pointer}.btn{display:inline-block;*display:inline;*zoom:1;padding:4px 10px 4px;margin-bottom:0;font-size:13px;line-height:18px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-ms-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#e6e6e6',GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false);border:1px solid#ccc;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);cursor:pointer;*margin-left:.3em}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{background-color:#e6e6e6}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-color:#e6e6e6;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-ms-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);background-color:#e6e6e6;background-color:#d9d9d9 \9;outline:0}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;background-color:#e6e6e6;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:9px 14px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.btn-large [class^="icon-"]{margin-top:1px}.btn-small{padding:5px 9px;font-size:11px;line-height:16px}.btn-small [class^="icon-"]{margin-top:-1px}.btn-mini{padding:2px 6px;font-size:11px;line-height:14px}.btn-primary,.btn-primary:hover,.btn-warning,.btn-warning:hover,.btn-danger,.btn-danger:hover,.btn-success,.btn-success:hover,.btn-info,.btn-info:hover,.btn-inverse,.btn-inverse:hover{text-shadow:0 -1px 0 rgba(0,0,0,0.25);color:#fff}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{background-color:#0074cc;background-image:-moz-linear-gradient(top,#08c,#05c);background-image:-ms-linear-gradient(top,#08c,#05c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#05c));background-image:-webkit-linear-gradient(top,#08c,#05c);background-image:-o-linear-gradient(top,#08c,#05c);background-image:linear-gradient(top,#08c,#05c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0055cc',GradientType=0);border-color:#05c #0055cc #003580;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{background-color:#05c}.btn-primary:active,.btn-primary.active{background-color:#004099 \9}.btn-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-ms-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(top,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450',endColorstr='#f89406',GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{background-color:#f89406}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{background-color:#da4f49;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-ms-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(top,#ee5f5b,#bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#bd362f',GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{background-color:#bd362f}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{background-color:#5bb75b;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-ms-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(top,#62c462,#51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462',endColorstr='#51a351',GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{background-color:#51a351}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{background-color:#49afcd;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-ms-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(top,#5bc0de,#2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de',endColorstr='#2f96b4',GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{background-color:#2f96b4}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{background-color:#414141;background-image:-moz-linear-gradient(top,#555,#222);background-image:-ms-linear-gradient(top,#555,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#555),to(#222));background-image:-webkit-linear-gradient(top,#555,#222);background-image:-o-linear-gradient(top,#555,#222);background-image:linear-gradient(top,#555,#222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555',endColorstr='#222222',GradientType=0);border-color:#222 #222222#000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{background-color:#222}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:2px;*padding-bottom:2px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-group{position:relative;*zoom:1;*margin-left:.3em}.btn-group:before,.btn-group:after{display:table;content:""}.btn-group:after{clear:both}.btn-group:first-child{*margin-left:0}.btn-group + .btn-group{margin-left:5px}.btn-toolbar{margin-top:9px;margin-bottom:9px}.btn-toolbar .btn-group{display:inline-block;*display:inline;*zoom:1}.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group .btn:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.btn-group .btn:last-child,.btn-group .dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.btn-group .btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.btn-group .btn.large:last-child,.btn-group .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px}.btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active,.btn-group .btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);*padding-top:3px;*padding-bottom:3px}.btn-group .btn-mini.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:1px;*padding-bottom:1px}.btn-group .btn-small.dropdown-toggle{*padding-top:4px;*padding-bottom:4px}.btn-group .btn-large.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open{*z-index:1000}.btn-group.open .dropdown-menu{display:block;margin-top:1px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 1px 6px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 6px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 6px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn .caret{margin-top:7px;margin-left:0}.btn:hover .caret,.open.btn-group .caret{opacity:1;filter:alpha(opacity=100)}.btn-mini .caret{margin-top:5px}.btn-small .caret{margin-top:6px}.btn-large .caret{margin-top:6px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid#000}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:.75;filter:alpha(opacity=75)}.alert{padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;color:#c09853}.alert-heading{color:inherit}.alert .close{position:relative;top:-2px;right:-21px;line-height:18px}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847}.alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block > p,.alert-block > ul{margin-bottom:0}.alert-block p + p{margin-top:5px}.nav{margin-left:0;margin-bottom:18px;list-style:none}.nav > li > a{display:block}.nav > li > a:hover{text-decoration:none;background-color:#eee}.nav .nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:700;line-height:18px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li + .nav-header{margin-top:9px}.nav-list{padding-left:15px;padding-right:15px;margin-bottom:0}.nav-list > li > a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list > li > a{padding:3px 15px}.nav-list > .active > a,.nav-list > .active > a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"]{margin-right:2px}.nav-list .divider{height:1px;margin:8px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid#fff;*width:100%;*margin:-5px 0 5px}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs > li,.nav-pills > li{float:left}.nav-tabs > li > a,.nav-pills > li > a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs > li{margin-bottom:-1px}.nav-tabs > li > a{padding-top:8px;padding-bottom:8px;line-height:18px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs > li > a:hover{border-color:#eee #eeeeee#ddd}.nav-tabs > .active > a,.nav-tabs > .active > a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills > li > a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills > .active > a,.nav-pills > .active > a:hover{color:#fff;background-color:#08c}.nav-stacked > li{float:none}.nav-stacked > li > a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked > li > a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked > li:first-child > a{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs.nav-stacked > li:last-child > a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.nav-tabs.nav-stacked > li > a:hover{border-color:#ddd;z-index:2}.nav-pills.nav-stacked > li > a{margin-bottom:3px}.nav-pills.nav-stacked > li:last-child > a{margin-bottom:1px}.nav-tabs .dropdown-menu,.nav-pills .dropdown-menu{margin-top:1px;border-width:1px}.nav-pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-tabs .dropdown-toggle .caret,.nav-pills .dropdown-toggle .caret{border-top-color:#08c;border-bottom-color:#08c;margin-top:6px}.nav-tabs .dropdown-toggle:hover .caret,.nav-pills .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .active .dropdown-toggle .caret,.nav-pills .active .dropdown-toggle .caret{border-top-color:#333;border-bottom-color:#333}.nav > .dropdown.active > a:hover{color:#000;cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav > .open.active > a:hover{color:#fff;background-color:#999;border-color:#999}.nav .open .caret,.nav .open.active .caret,.nav .open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open > a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;content:""}.tabbable:after{clear:both}.tab-content{display:table;width:100%}.tabs-below .nav-tabs,.tabs-right .nav-tabs,.tabs-left .nav-tabs{border-bottom:0}.tab-content > .tab-pane,.pill-content > .pill-pane{display:none}.tab-content > .active,.pill-content > .active{display:block}.tabs-below .nav-tabs{border-top:1px solid #ddd}.tabs-below .nav-tabs > li{margin-top:-1px;margin-bottom:0}.tabs-below .nav-tabs > li > a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below .nav-tabs > li > a:hover{border-bottom-color:transparent;border-top-color:#ddd}.tabs-below .nav-tabs .active > a,.tabs-below .nav-tabs .active > a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left .nav-tabs > li,.tabs-right .nav-tabs > li{float:none}.tabs-left .nav-tabs > li > a,.tabs-right .nav-tabs > li > a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left .nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left .nav-tabs > li > a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left .nav-tabs > li > a:hover{border-color:#eee #dddddd#eee #eeeeee}.tabs-left .nav-tabs .active > a,.tabs-left .nav-tabs .active > a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right .nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right .nav-tabs > li > a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right .nav-tabs > li > a:hover{border-color:#eee #eeeeee#eee #dddddd}.tabs-right .nav-tabs .active > a,.tabs-right .nav-tabs .active > a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.navbar{*position:relative;*z-index:2;overflow:visible;margin-bottom:18px}.navbar-inner{padding-left:20px;padding-right:20px;background-color:#2c2c2c;background-image:-moz-linear-gradient(top,#333,#222);background-image:-ms-linear-gradient(top,#333,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,#222);background-image:-o-linear-gradient(top,#333,#222);background-image:linear-gradient(top,#333,#222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333',endColorstr='#222222',GradientType=0);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1)}.navbar .container{width:auto}.btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;background-color:#2c2c2c;background-image:-moz-linear-gradient(top,#333,#222);background-image:-ms-linear-gradient(top,#333,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,#222);background-image:-o-linear-gradient(top,#333,#222);background-image:linear-gradient(top,#333,#222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333',endColorstr='#222222',GradientType=0);border-color:#222 #222222#000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.btn-navbar:hover,.btn-navbar:active,.btn-navbar.active,.btn-navbar.disabled,.btn-navbar[disabled]{background-color:#222}.btn-navbar:active,.btn-navbar.active{background-color:#080808 \9}.btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar + .icon-bar{margin-top:3px}.nav-collapse.collapse{height:auto}.navbar{color:#999}.navbar .brand:hover{text-decoration:none}.navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#fff}.navbar .navbar-text{margin-bottom:0;line-height:40px}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:6px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:6px;margin-bottom:0}.navbar-search .search-query{padding:4px 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;line-height:1;color:#fff;background-color:#626262;border:1px solid #151515;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}.navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333;text-shadow:0 1px 0#fff;background-color:#fff;border:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15);outline:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-bottom{bottom:0}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right}.navbar .nav > li{display:block;float:left}.navbar .nav > li > a{float:none;padding:10px 10px 11px;line-height:19px;color:#999;text-decoration:none;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar .nav > li > a:hover{background-color:transparent;color:#fff;text-decoration:none}.navbar .nav .active > a,.navbar .nav .active > a:hover{color:#fff;text-decoration:none;background-color:#222}.navbar .divider-vertical{height:40px;width:1px;margin:0 9px;overflow:hidden;background-color:#222;border-right:1px solid#333}.navbar .nav.pull-right{margin-left:10px;margin-right:0}.navbar .dropdown-menu{margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);position:absolute;top:-7px;left:9px}.navbar .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid#fff;position:absolute;top:-6px;left:10px}.navbar-fixed-bottom .dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);border-bottom:0;bottom:-7px;top:auto}.navbar-fixed-bottom .dropdown-menu:after{border-top:6px solid#fff;border-bottom:0;bottom:-6px;top:auto}.navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar .nav .active .caret{opacity:1;filter:alpha(opacity=100)}.navbar .nav .open > .dropdown-toggle,.navbar .nav .active > .dropdown-toggle,.navbar .nav .open.active > .dropdown-toggle{background-color:transparent}.navbar .nav .active > .dropdown-toggle:hover{color:#fff}.navbar .nav.pull-right .dropdown-menu,.navbar .nav .dropdown-menu.pull-right{left:auto;right:0}.navbar .nav.pull-right .dropdown-menu:before,.navbar .nav .dropdown-menu.pull-right:before{left:auto;right:12px}.navbar .nav.pull-right .dropdown-menu:after,.navbar .nav .dropdown-menu.pull-right:after{left:auto;right:13px}.breadcrumb{padding:7px 14px;margin:0 0 18px;list-style:none;background-color:#fbfbfb;background-image:-moz-linear-gradient(top,#fff,#f5f5f5);background-image:-ms-linear-gradient(top,#fff,#f5f5f5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f5f5f5));background-image:-webkit-linear-gradient(top,#fff,#f5f5f5);background-image:-o-linear-gradient(top,#fff,#f5f5f5);background-image:linear-gradient(top,#fff,#f5f5f5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#f5f5f5',GradientType=0);border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0#fff;-moz-box-shadow:inset 0 1px 0#fff;box-shadow:inset 0 1px 0#fff}.breadcrumb li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0#fff}.breadcrumb .divider{padding:0 5px;color:#999}.breadcrumb .active a{color:#333}.pagination{height:36px;margin:18px 0}.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination li{display:inline}.pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0}.pagination a:hover,.pagination .active a{background-color:#f5f5f5}.pagination .active a{color:#999;cursor:default}.pagination .disabled span,.pagination .disabled a,.pagination .disabled a:hover{color:#999;background-color:transparent;cursor:default}.pagination li:first-child a{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.pagination li:last-child a{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pager{margin-left:0;margin-bottom:18px;list-style:none;text-align:center;*zoom:1}.pager:before,.pager:after{display:table;content:""}.pager:after{clear:both}.pager li{display:inline}.pager a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next a{float:right}.pager .previous a{float:left}.pager .disabled a,.pager .disabled a:hover{color:#999;background-color:#fff;cursor:default}.modal-open .dropdown-menu{z-index:2050}.modal-open .dropdown.open{*z-index:2050}.modal-open .popover{z-index:2060}.modal-open .tooltip{z-index:2070}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:50%;left:50%;z-index:1050;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-ms-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out;top:-25%}.modal.fade.in{top:50%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-body{overflow-y:auto;max-height:400px;padding:15px}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0#fff;-moz-box-shadow:inset 0 1px 0#fff;box-shadow:inset 0 1px 0#fff;*zoom:1}.modal-footer:before,.modal-footer:after{display:table;content:""}.modal-footer:after{clear:both}.modal-footer .btn + .btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn + .btn{margin-left:-1px}.tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-2px}.tooltip.right{margin-left:2px}.tooltip.bottom{margin-top:2px}.tooltip.left{margin-left:-2px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;padding:5px}.popover.top{margin-top:-5px}.popover.right{margin-left:5px}.popover.bottom{margin-top:5px}.popover.left{margin-left:-5px}.popover.top .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid#000}.popover.right .arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid#000}.popover.bottom .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid#000}.popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid#000}.popover .arrow{position:absolute;width:0;height:0}.popover-inner{padding:3px;width:280px;overflow:hidden;background:#000;background:rgba(0,0,0,0.8);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}.popover-title{padding:9px 15px;line-height:1;background-color:#f5f5f5;border-bottom:1px solid #eee;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.popover-content{padding:14px;background-color:#fff;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;content:""}.thumbnails:after{clear:both}.thumbnails > li{float:left;margin:0 0 18px 20px}.thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:0 1px 1px rgba(0,0,0,0.075);box-shadow:0 1px 1px rgba(0,0,0,0.075)}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail > img{display:block;max-width:100%;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px}.label{padding:1px 4px 2px;font-size:10.998px;font-weight:700;line-height:13px;color:#fff;vertical-align:middle;white-space:nowrap;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.label:hover{color:#fff;text-decoration:none}.label-important{background-color:#b94a48}.label-important:hover{background-color:#953b39}.label-warning{background-color:#f89406}.label-warning:hover{background-color:#c67605}.label-success{background-color:#468847}.label-success:hover{background-color:#356635}.label-info{background-color:#3a87ad}.label-info:hover{background-color:#2d6987}.label-inverse{background-color:#333}.label-inverse:hover{background-color:#1a1a1a}.badge{padding:1px 9px 2px;font-size:12.025px;font-weight:700;white-space:nowrap;color:#fff;background-color:#999;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.badge-error{background-color:#b94a48}.badge-error:hover{background-color:#953b39}.badge-warning{background-color:#f89406}.badge-warning:hover{background-color:#c67605}.badge-success{background-color:#468847}.badge-success:hover{background-color:#356635}.badge-info{background-color:#3a87ad}.badge-info:hover{background-color:#2d6987}.badge-inverse{background-color:#333}.badge-inverse:hover{background-color:#1a1a1a}@-webkit-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@-moz-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@-ms-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}.progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-ms-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(top,#f5f5f5,#f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5',endColorstr='#f9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.progress .bar{width:0;height:18px;color:#fff;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-ms-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(top,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf',endColorstr='#0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-ms-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-ms-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(top,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35',GradientType=0)}.progress-danger.progress-striped .bar{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-ms-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(top,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462',endColorstr='#57a957',GradientType=0)}.progress-success.progress-striped .bar{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-ms-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(top,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de',endColorstr='#339bb9',GradientType=0)}.progress-info.progress-striped .bar{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-ms-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(top,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450',endColorstr='#f89406',GradientType=0)}.progress-warning.progress-striped .bar{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:18px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:18px;line-height:1}.carousel-inner{overflow:hidden;width:100%;position:relative}.carousel .item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-ms-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel .item > img{display:block;line-height:1}.carousel .active,.carousel .next,.carousel .prev{display:block}.carousel .active{left:0}.carousel .next,.carousel .prev{position:absolute;top:0;width:100%}.carousel .next{left:100%}.carousel .prev{left:-100%}.carousel .next.left,.carousel .prev.right{left:0}.carousel .active.left{left:-100%}.carousel .active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid#fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{left:auto;right:15px}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:10px 15px 5px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{color:#fff}.hero-unit{padding:60px;margin-bottom:30px;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;color:inherit;letter-spacing:-1px}.hero-unit p{font-size:18px;font-weight:200;line-height:27px;color:inherit}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.container,.navbar .container{padding-left:20px;padding-right:20px;width:auto;min-width:480px;max-width:1400px}.navbar{height:60px}.navbar .brand{font-size:32px;line-height:26px;padding:16px 20px 12px}.navbar ul .dropdown-menu li a{padding-right:45px;position:relative}.navbar ul .dropdown-menu li a span{padding:0 6px;display:inline-block;position:absolute;top:50%;right:10px;margin-top:-8px;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;line-height:16px;color:#666;background-color:rgba(0,0,0,0.1);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,0.2),0 1px 0 rgba(255,255,255,0.2);-moz-box-shadow:inset 0 1px 0 rgba(0,0,0,0.2),0 1px 0 rgba(255,255,255,0.2);box-shadow:inset 0 1px 0 rgba(0,0,0,0.2),0 1px 0 rgba(255,255,255,0.2)}.navbar ul .dropdown-menu li a:hover span{color:#DDD}.navbar ul .dropdown-menu li.active a span{color:#CCC;background-color:rgba(0,0,0,0.2)}.navbar form{padding-left:20px;margin:15px 0 15px -10px}.nav .dropdown,.navbar-search{background:transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAiCAQAAADMxIBtAAABLUlEQVQoz2NgYPzPxMDEgAaY/7OrsGMIruJs4GFAE2aU4vooxCCCrpb7pbiaNAMbqiBblfhsRQYpNAN4xH5qcuuju0Fwj5qfIYMYqiB7gPI+cwYjdMvk3lmLuzBwoQoKzTMqdGHQQhVkNdG55s3sw8CIKqx4wc0ojEEGVVC4wa4jgsEJzQAlk9sx/CnolilvC/BNR3eYcJrbkiy2GFTLhLM8FmUzRKKqVN0f4prBoIMSVtpm1+K4klGDUHyiY3kEgxWa5ic+8lEMgshCnIH6+7wYXFHVie8183NlkEMJe36lz3bsrgzMKFHXrDrJjEEDVbPYc205YwZOZCEmbYlnmqiOBmreJhOlyiCEKsj/X5ZDES0tJfFuE0VXx/6WT0EA1THAEP/PgR7aDNgSLQDySzbpQ/g6wQAAAABJRU5ErkJggg==') center left no-repeat}.nav .dropdown .dropdown-toggle{padding:20px 10px 21px 20px;height:19px;line-height:19px;white-space:nowrap;color:#EEE}.nav .dropdown .dropdown-toggle:hover{background-color:transparent}html,body{margin:0;padding:0;color:#111;background-color:#D3D3D3;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPwAAADmBAMAAAADyPWpAAAAHlBMVEUAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAzn7ZSAAAACnRSTlMEAgEFAAMGBwgJHK6+iAAAAjVJREFUeF7t3TFvEzEYh3EnUQJjoaRzCGS/ChW6UsF+pc0eCSkwVqrUwhcAPjZT38fDKzmKuBvQ858qy/bP9mT57LTcvIu8iHxZP2VVIl8Prrmj0TpyHW1OIf9zXl5eXl5eXl5+uX1Kv41gzuC7rHASnS4bzdOBlk+Rj/AMr2tMFP4lPb2OwhOg24CuWJIheXl5eXl5eXl5ef5cpbtKxoR0ktUs1JyzfYV/xTwLSUdaSfDMfsOSoC9YsgsaMbu3wX8eh5eXl5eXl5eXl+9pn/IU7pD2kfswP1B4l/U5ZfRAR53pXj5GKgl+ly3JOcevLMmQvLy8vLy8vLy8fN/YQNL+d5g/4X+F+Q3+Lv/+HmGe1Ub7LO0U/gEpW5L31JykEx2bl5eXl5eXl5eXr25w7iPsKn/AVxL8njQ+oJNZIdPspBYTqVXzonF9AGg1Di8vLy8vLy8vL89h43wdKUd8VS/byDV8Bj17jBQyZ/gMZNO4KpoUNtfpchxeXl5eXl5eXl5+S7K94pL2VLjJvsqfUpjuP9lqPv8TKckF0vSpU3v7nPGz7KLrm31kQF5eXl5eXl5eXj5/rdMdcVa5OHiruaj4/AIpVQc4/a1qDsnLy8vLy8vLy8t3UNkBZj/Ap/ZFSQPP7vuKwn92+rsEGoOXl5eXl5eXl5fPfywp/133CXzVP3z6fr5rvEo6qx/AR7JO1/D9EYtX6GhIXl5eXl5eXl5eHvM7fPUAvvEviOBn1Jwz5orPav4FxfqDRAI+1ZEAAAAASUVORK5CYII=")}body{padding-top:60px}h1,h2,h3,body > footer p{font-family:"Rokkitt",serif;font-weight:700}body > footer{font-weight:400;text-align:center}body > footer a.keyboard-shortcuts:link,body > footer a.keyboard-shortcuts:visited{color:#888}body > footer a.keyboard-shortcuts:hover,body > footer a.keyboard-shortcuts:active{color:#666}body > footer a.keyboard-shortcuts img{line-height:1px;vertical-align:text-top;height:13px;width:16px}a:link,a:visited{color:#0058e1}a:hover,a:active{color:#111}noscript h1{font-size:2.2em;text-align:center;margin:80px 40px}.document-wrapper article h3{line-height:1;margin-bottom:10px}.document-wrapper .document{color:#111;position:relative}.document-wrapper .document .prop:after{content:':';color:#998;padding-right:.5em}.document-wrapper .document .null,.document-wrapper .document .bool{color:#0086b3}.document-wrapper .document .num{color:#40A070}.document-wrapper .document .string{color:#D20}.document-wrapper .document .string .value{color:#D14}.document-wrapper .document .string a:link .value,.document-wrapper .document .string a:visited .value{text-decoration:underline}.document-wrapper .document .string a:hover .value,.document-wrapper .document .string a:active .value{color:#0058E1}.document-wrapper .document .db-ref .db-ref-ref .string .value,.document-wrapper .document .db-ref .db-ref-id .string .value,.document-wrapper .document .db-ref .db-ref-db .string .value{cursor:pointer;border-bottom:1px dotted #D14}.document-wrapper .document .db-ref .db-ref-ref .string .value:hover,.document-wrapper .document .db-ref .db-ref-id .string .value:hover,.document-wrapper .document .db-ref .db-ref-db .string .value:hover{color:#0058E1;border-bottom:1px solid #0058E1}.document-wrapper .document .collapser{cursor:pointer;position:absolute;height:16px;width:16px;left:-16px;padding:0;font-size:0;line-height:0;color:transparent;overflow:hidden}.document-wrapper .document .collapser:after{display:block;border:4px solid blue;content:' ';overflow:hidden;height:0;width:0;position:relative;left:4px;top:6px;border:4px solid transparent;border-top-color:#c8c8bf}.document-wrapper .document .collapser:hover:after,.document-wrapper .document .collapser:active:after{border-top-color:#998}.document-wrapper .document .collapser.collapsed:after{left:6px;top:4px;border-top-color:transparent;border-left-color:#c8c8bf}.document-wrapper .document .collapser.collapsed:hover:after,.document-wrapper .document .collapser.collapsed:active:after{border-top-color:transparent;border-left-color:#998}.document-wrapper .document .ellipsis{color:#998;cursor:pointer}.document-wrapper .document .ellipsis .summary{padding-left:5px;font-style:italic}.document-wrapper .document .fn{color:#458}.document-wrapper .document ul{list-style:none;margin:0;padding:0 0 0 2em;-webkit-box-shadow:inset 2px 0 0 -1px #e0e0da;-moz-box-shadow:inset 2px 0 0 -1px #e0e0da;box-shadow:inset 2px 0 0 -1px #e0e0da}.document-wrapper .document li{position:relative;color:#111}.document-wrapper .document li:after{content:','}.document-wrapper .document li:last-of-type:after{content:''}aside#alerts{margin-top:20px}body > section{min-height:150px}body > section section{display:none;background-color:#fff;margin:20px 0;padding:20px;border:1px solid #AAA;border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,0.1),inset 0 1px 0#fff}body > section section > header{background-color:#d8d8d8;min-height:40px;margin:-20px -20px 20px;padding:0 20px;border-top-left-radius:4px;border-top-right-radius:4px;background-image:-moz-linear-gradient(-90deg,#e4e4e4,#d8d8d8);background-image:-webkit-gradient(linear,0 top,0 bottom,from(#e4e4e4),to(#d8d8d8));box-shadow:inset 0 1px 0 rgba(255,255,255,0.6)}body > section section > header h2{margin:0;line-height:40px}body > section section > .content{min-height:100px;-webkit-transition:.1s linear all;-moz-transition:.1s linear all;-ms-transition:.1s linear all;-o-transition:.1s linear all;transition:.1s linear all}body > section section > p:first-child{margin-top:0}body > section section > p:last-child{margin-bottom:0}body > section section.spinning{height:180px}body > section section.spinning header h2{background:transparent url('data:image/gif;base64,R0lGODlhEAALAPQAAN7e3oiIiNHR0c3NzdbW1omJiYiIiJeXl7Ozs6enp8bGxpKSkqCgoLa2tqmpqcjIyJSUlIiIiKKiotXV1dDQ0Nra2pqamtLS0tnZ2cXFxb29vcvLy9jY2AAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA') left center no-repeat;text-indent:-10000em}body > section section.spinning .controls,body > section section.spinning .add-form,body > section section.spinning .content{display:none}body > section section .details{display:none}body > section section .has-details{border-bottom:1px dotted#998;cursor:default}.add-form button.show{display:none}.add-form.inactive button,.add-form.inactive input,.add-form.inactive .input-append{display:none}.add-form.inactive button.show{display:inherit}.add-form.inactive .help{display:none}.add-form span.input-append .add-on{margin-right:4px}.add-form .help{cursor:default}#query-editor{width:888px;height:100px;position:relative;-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.1);margin:0 0 10px;padding:4px;border:1px solid #CCC;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}table{width:100%;margin-bottom:18px;border:1px solid#ddd;border-left:0;border-collapse:separate;*border-collapse:collapsed;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}table th,table td{padding:8px;line-height:18px;text-align:left;vertical-align:top;border-top:1px solid#ddd}table th{font-weight:700}table thead th{vertical-align:bottom}table colgroup + thead tr:first-child th,table colgroup + thead tr:first-child td,table thead:first-child tr:first-child th,table thead:first-child tr:first-child td{border-top:0}table tbody + tbody{border-top:2px solid#ddd}table tbody tr:hover td,table tbody tr:hover th{background-color:#f5f5f5}table th,table td{border-left:1px solid#ddd}table thead:first-child tr:first-child th,table tbody:first-child tr:first-child th,table tbody:first-child tr:first-child td{border-top:0}table thead:first-child tr:first-child th:first-child,table tbody:first-child tr:first-child td:first-child{-webkit-border-radius:4px 0 0 0;-moz-border-radius:4px 0 0 0;border-radius:4px 0 0 0}table thead:first-child tr:first-child th:last-child,table tbody:first-child tr:first-child td:last-child{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0}table thead:last-child tr:last-child th:first-child,table tbody:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px}table thead:last-child tr:last-child th:last-child,table tbody:last-child tr:last-child td:last-child{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0}table tbody tr:nth-child(odd) td,table tbody tr:nth-child(odd) th{background-color:#f9f9f9}table .header{cursor:pointer}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden}table .header.headerSortUp,table .header.headerSortDown{background-color:rgba(4,156,219,0.050000000000000044);text-shadow:0 1px 1px rgba(255,255,255,0.75)}table .header:hover:after{visibility:visible}table .header.headerSortDown:after,table .header.headerSortDown:hover:after{visibility:visible;opacity:.6;filter:alpha(opacity=60)}table .header.headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.6;filter:alpha(opacity=60)}tr td.action-column{padding:7px 10px 0;text-align:right}tr td.action-column button{visibility:hidden;-o-transition-property:color,background,box-shadow;-moz-transition-property:color,background,box-shadow;-webkit-transition-property:color,background,box-shadow;transition-property:color,background,box-shadow}tr:hover td.action-column button{visibility:inherit}section#servers .alert.alert-error{padding:3px 10px;font-weight:700}section#servers tr.spinning td:first-child{padding-left:35px;background:transparent url('data:image/gif;base64,R0lGODlhEAALAPQAAP///zMzM+Hh4dnZ2e7u7jc3NzMzM1dXV5qamn9/f8fHx05OTm5ubqGhoYKCgsrKylFRUTY2NnFxcerq6t/f3/b29l9fX+Li4vT09MTExLKystTU1PHx8QAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA') 10px center no-repeat}section#servers tr input{display:none}section#servers tr.editing span.name{display:none}section#servers tr.editing input{display:inherit}.index-details{color:#111;list-style:none;margin:0}.index-details > li{display:block;margin-bottom:5px}.index-details > li ul,.index-details > li li{display:inline-block;list-style:none;margin:0;padding:0}.index-details > li li{color:#111}.index-details > li li:after{content:',';padding-right:.25em}.index-details > li li:last-of-type:after{content:'';padding-right:0}.index-details > li .prop:after{content:':';color:#998;padding-right:.25em}.index-details > li .num{color:#40A070}.document-wrapper div.well{overflow-x:auto}.document-wrapper div.well h3 a{color:#333}.document-wrapper div.well h3 a:hover,.document-wrapper div.well h3 a:active{color:#0058e1}.document-wrapper article{position:relative}.document-wrapper article div.document-actions{position:absolute;right:20px;z-index:10}.document-wrapper article div.document-actions button.save,.document-wrapper article div.document-actions button.cancel{display:none}.document-wrapper article div.document-actions button.edit,.document-wrapper article div.document-actions button.destroy{visibility:hidden}.document-wrapper article:hover div.document-actions button.edit,.document-wrapper article:hover div.document-actions button.destroy{visibility:inherit}.document-wrapper article div.well{-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-ms-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.document-wrapper article.edit div.document-actions{margin-top:20px}.document-wrapper article.edit div.document-actions button.edit,.document-wrapper article.edit div.document-actions button.destroy{display:none}.document-wrapper article.edit div.document-actions button.save,.document-wrapper article.edit div.document-actions button.cancel{display:inline-block}.document-wrapper article.edit div.well{padding:0;height:400px;border-color:rgba(82,168,236,0.8);background-color:#fff;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.1),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,0.1),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 3px rgba(0,0,0,0.1),0 0 8px rgba(82,168,236,0.6);*zoom:1}.document-wrapper article.edit div.well h3{display:none}.document-wrapper article.edit div.well:before,.document-wrapper article.edit div.well:after{display:table;content:""}.document-wrapper article.edit div.well:after{clear:both}.document-wrapper article.edit div.well .genghis-document-editor{position:relative;left:1px;right:1px;height:400px}.document-wrapper article.edit div.well .genghis-document-editor .ace_scroller{background-color:transparent}section#documents .controls{*zoom:1;margin-bottom:20px}section#documents .controls:before,section#documents .controls:after{display:table;content:""}section#documents .controls:after{clear:both}section#documents .controls .add-document{float:left}section#documents .controls .pagination{margin:0}section#documents .controls .pagination li.prev a:after{content:' Previous'}section#documents .controls .pagination li.next a:before{content:'Next '}section#document article h3{display:none}.modal.editor{width:820px;margin-left:-410px;max-height:90%}.modal.editor .wrapper{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:1px solid rgba(82,168,236,0.8);background-color:#fff;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.1),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,0.1),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 3px rgba(0,0,0,0.1),0 0 8px rgba(82,168,236,0.6);*zoom:1}.modal.editor .wrapper:before,.modal.editor .wrapper:after{display:table;content:""}.modal.editor .wrapper:after{clear:both}.modal.editor .genghis-document-editor{height:250px;position:relative}.modal.editor .genghis-document-editor .ace_scroller{background-color:transparent}#keyboard-shortcuts .modal-body ul{*zoom:1;list-style:none;margin:0;padding:0}#keyboard-shortcuts .modal-body ul:before,#keyboard-shortcuts .modal-body ul:after{display:table;content:""}#keyboard-shortcuts .modal-body ul:after{clear:both}#keyboard-shortcuts .modal-body ul li{width:50%;float:left;list-style:none;margin:0;padding:0}#keyboard-shortcuts .modal-body h4{font-size:1em;line-height:2}#keyboard-shortcuts .modal-body dl dt,#keyboard-shortcuts .modal-body dl dd{line-height:1.5}#keyboard-shortcuts .modal-body dl dt{margin:0;padding:0;float:left;width:2em}#keyboard-shortcuts .modal-body dl dd{margin:0 0 0 3em}@media screen and (max-width:1200px){section#documents .controls .pagination li.next a:before{content:'Next '}section#documents .controls .pagination li.prev a:after{content:' Prev'}}@media screen and (max-width:860px){.modal.editor{left:20px;right:20px;width:auto;margin-left:0}table th,table td{padding:4px 5px}table td.action-column{padding-top:2px}section#documents .controls .pagination li.prev a:after,section#documents .controls .pagination li.next a:before{content:''}}.appriseOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000;opacity:.8;filter:alpha(opacity=80)}.appriseOverlay.fade{opacity:0}.appriseOuter{position:fixed;top:50%;left:50%;z-index:1050;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;width:auto;top:inherit;left:inherit;margin:0;min-width:200px;min-height:50px;max-width:75%;display:none}.appriseOuter.fade{-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-ms-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out;top:-25%}.appriseOuter.fade.in{top:50%}.appriseInner{overflow-y:auto;max-height:400px;padding:15px}.appriseInner button{display:inline-block;*display:inline;*zoom:1;padding:4px 10px 4px;margin-bottom:0;font-size:13px;line-height:18px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-ms-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#e6e6e6',GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false);border:1px solid#ccc;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);cursor:pointer;*margin-left:.3em}.appriseInner button:hover,.appriseInner button:active,.appriseInner button.active,.appriseInner button.disabled,.appriseInner button[disabled]{background-color:#e6e6e6}.appriseInner button:active,.appriseInner button.active{background-color:#ccc \9}.appriseInner button:first-child{*margin-left:0}.appriseInner button[value="ok"]{text-shadow:0 -1px 0 rgba(0,0,0,0.25);color:#fff;background-color:#0074cc;background-image:-moz-linear-gradient(top,#08c,#05c);background-image:-ms-linear-gradient(top,#08c,#05c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#05c));background-image:-webkit-linear-gradient(top,#08c,#05c);background-image:-o-linear-gradient(top,#08c,#05c);background-image:linear-gradient(top,#08c,#05c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0055cc',GradientType=0);border-color:#05c #0055cc #003580;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.appriseInner button[value="ok"]:hover,.appriseInner button[value="ok"]:active,.appriseInner button[value="ok"].active,.appriseInner button[value="ok"].disabled,.appriseInner button[value="ok"][disabled]{background-color:#05c}.appriseInner button[value="ok"]:active,.appriseInner button[value="ok"].active{background-color:#004099 \9}.appriseInner button[value="ok"] .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:.75;filter:alpha(opacity=75)}.aButtons{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0#fff;-moz-box-shadow:inset 0 1px 0#fff;box-shadow:inset 0 1px 0#fff;*zoom:1;margin:20px -15px -15px}.aButtons:before,.aButtons:after{display:table;content:""}.aButtons:after{clear:both}.aButtons .btn + .btn{margin-left:5px;margin-bottom:0}.aButtons .btn-group .btn + .btn{margin-left:-1px}.aButtons button{float:right;margin-left:5px;margin-bottom:0}.aButtons button:last-child{margin-left:0}.aTextbox{width:94%;min-width:180px;display:block;margin:20px auto 0}

@@script.js 498b4a31cbf98618ba5b3ccbe7c9b786
/**
 * Genghis v1.4.1
 *
 * The single-file MongoDB admin app
 *
 * http://genghisapp.com
 *
 * @author Justin Hileman <hide@address.com>
 */
(function(c,m){function k(d){var o=O[d]={},h,a,d=d.split(/\s+/);h=0;for(a=d.length;h<a;h++)o[d[h]]=!0;return o}function b(d,o,a){if(a===m&&1===d.nodeType)if(a="data-"+o.replace(N,"-$1").toLowerCase(),a=d.getAttribute(a),"string"===typeof a){try{a="true"===a?!0:"false"===a?!1:"null"===a?null:h.isNumeric(a)?parseFloat(a):ca.test(a)?h.parseJSON(a):a}catch(b){}h.data(d,o,a)}else a=m;return a}function e(d){for(var o in d)if(!("data"===o&&h.isEmptyObject(d[o]))&&"toJSON"!==o)return!1;return!0}function g(d,
o,a){var b=o+"defer",c=o+"queue",f=o+"mark",e=h._data(d,b);e&&("queue"===a||!h._data(d,c))&&("mark"===a||!h._data(d,f))&&setTimeout(function(){!h._data(d,c)&&!h._data(d,f)&&(h.removeData(d,b,!0),e.fire())},0)}function j(){return!1}function a(){return!0}function f(d,o,a){o=o||0;if(h.isFunction(o))return h.grep(d,function(d,h){return!!o.call(d,h,d)===a});if(o.nodeType)return h.grep(d,function(d){return d===o===a});if("string"===typeof o){var b=h.grep(d,function(d){return 1===d.nodeType});if(La.test(o))return h.filter(o,
b,!a);o=h.filter(o,b)}return h.grep(d,function(d){return 0<=h.inArray(d,o)===a})}function n(d){var o=ka.split("|"),d=d.createDocumentFragment();if(d.createElement)for(;o.length;)d.createElement(o.pop());return d}function v(d,o){if(1===o.nodeType&&h.hasData(d)){var a,b,c;b=h._data(d);var f=h._data(o,b),e=b.events;if(e)for(a in delete f.handle,f.events={},e){b=0;for(c=e[a].length;b<c;b++)h.event.add(o,a+(e[a][b].namespace?".":"")+e[a][b].namespace,e[a][b],e[a][b].data)}f.data&&(f.data=h.extend({},f.data))}}
function u(d,o){var a;if(1===o.nodeType){o.clearAttributes&&o.clearAttributes();o.mergeAttributes&&o.mergeAttributes(d);a=o.nodeName.toLowerCase();if("object"===a)o.outerHTML=d.outerHTML;else if("input"===a&&("checkbox"===d.type||"radio"===d.type)){if(d.checked&&(o.defaultChecked=o.checked=d.checked),o.value!==d.value)o.value=d.value}else if("option"===a)o.selected=d.defaultSelected;else if("input"===a||"textarea"===a)o.defaultValue=d.defaultValue;o.removeAttribute(h.expando)}}function s(d){return"undefined"!==
typeof d.getElementsByTagName?d.getElementsByTagName("*"):"undefined"!==typeof d.querySelectorAll?d.querySelectorAll("*"):[]}function t(d){if("checkbox"===d.type||"radio"===d.type)d.defaultChecked=d.checked}function y(d){var o=(d.nodeName||"").toLowerCase();"input"===o?t(d):"script"!==o&&"undefined"!==typeof d.getElementsByTagName&&h.grep(d.getElementsByTagName("input"),t)}function q(d,o){o.src?h.ajax({url:o.src,async:!1,dataType:"script"}):h.globalEval((o.text||o.textContent||o.innerHTML||"").replace(Ma,
"/*$0*/"));o.parentNode&&o.parentNode.removeChild(o)}function x(d,o,a){var b="width"===o?d.offsetWidth:d.offsetHeight,c="width"===o?Na:Oa,f=0,e=c.length;if(0<b){if("border"!==a)for(;f<e;f++)a||(b-=parseFloat(h.css(d,"padding"+c[f]))||0),b="margin"===a?b+(parseFloat(h.css(d,a+c[f]))||0):b-(parseFloat(h.css(d,"border"+c[f]+"Width"))||0);return b+"px"}b=S(d,o,o);if(0>b||null==b)b=d.style[o]||0;b=parseFloat(b)||0;if(a)for(;f<e;f++)b+=parseFloat(h.css(d,"padding"+c[f]))||0,"padding"!==a&&(b+=parseFloat(h.css(d,
"border"+c[f]+"Width"))||0),"margin"===a&&(b+=parseFloat(h.css(d,a+c[f]))||0);return b+"px"}function A(d){return function(o,a){"string"!==typeof o&&(a=o,o="*");if(h.isFunction(a))for(var b=o.toLowerCase().split(la),c=0,f=b.length,e,j;c<f;c++)e=b[c],(j=/^\+/.test(e))&&(e=e.substr(1)||"*"),e=d[e]=d[e]||[],e[j?"unshift":"push"](a)}}function B(d,o,h,a,b,c){b=b||o.dataTypes[0];c=c||{};c[b]=!0;for(var b=d[b],f=0,e=b?b.length:0,j=d===da,n;f<e&&(j||!n);f++)n=b[f](o,h,a),"string"===typeof n&&(!j||c[n]?n=m:
(o.dataTypes.unshift(n),n=B(d,o,h,a,n,c)));if((j||!n)&&!c["*"])n=B(d,o,h,a,"*",c);return n}function r(d,o){var a,b,c=h.ajaxSettings.flatOptions||{};for(a in o)o[a]!==m&&((c[a]?d:b||(b={}))[a]=o[a]);b&&h.extend(!0,d,b)}function p(d,o,a,b){if(h.isArray(o))h.each(o,function(o,c){a||Pa.test(d)?b(d,c):p(d+"["+("object"===typeof c||h.isArray(c)?o:"")+"]",c,a,b)});else if(!a&&null!=o&&"object"===typeof o)for(var c in o)p(d+"["+c+"]",o[c],a,b);else b(d,o)}function z(){try{return new c.XMLHttpRequest}catch(d){}}
function E(){setTimeout(C,0);return W=h.now()}function C(){W=m}function F(d,o){var a={};h.each(ma.concat.apply([],ma.slice(0,o)),function(){a[this]=d});return a}function G(d){if(!ea[d]){var o=w.body,a=h("<"+d+">").appendTo(o),b=a.css("display");a.remove();if("none"===b||""===b){I||(I=w.createElement("iframe"),I.frameBorder=I.width=I.height=0);o.appendChild(I);if(!T||!I.createElement)T=(I.contentWindow||I.contentDocument).document,T.write(("CSS1Compat"===w.compatMode?"<!doctype html>":"")+"<html><body>"),
T.close();a=T.createElement(d);T.body.appendChild(a);b=h.css(a,"display");o.removeChild(I)}ea[d]=b}return ea[d]}function J(d){return h.isWindow(d)?d:9===d.nodeType?d.defaultView||d.parentWindow:!1}var w=c.document,D=c.navigator,K=c.location,h=function(){function d(){if(!o.isReady){try{w.documentElement.doScroll("left")}catch(h){setTimeout(d,1);return}o.ready()}}var o=function(d,h){return new o.fn.init(d,h,b)},h=c.jQuery,a=c.$,b,f=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,e=/\S/,j=/^\s+/,n=/\s+$/,
g=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,k=/^[\],:{}\s]*$/,q=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,r=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,t=/(?:^|:|,)(?:\s*\[)+/g,p=/(webkit)[ \/]([\w.]+)/,x=/(opera)(?:.*version)?[ \/]([\w.]+)/,y=/(msie) ([\w.]+)/,z=/(mozilla)(?:.*? rv:([\w.]+))?/,A=/-([a-z]|[0-9])/ig,v=/^-ms-/,u=function(d,o){return(o+"").toUpperCase()},B=D.userAgent,X,K,E=Object.prototype.toString,s=Object.prototype.hasOwnProperty,C=Array.prototype.push,F=Array.prototype.slice,
O=String.prototype.trim,L=Array.prototype.indexOf,G={};o.fn=o.prototype={constructor:o,init:function(d,h,a){var b;if(!d)return this;if(d.nodeType)return this.context=this[0]=d,this.length=1,this;if("body"===d&&!h&&w.body)return this.context=w,this[0]=w.body,this.selector=d,this.length=1,this;if("string"===typeof d){if((b="<"===d.charAt(0)&&">"===d.charAt(d.length-1)&&3<=d.length?[null,d,null]:f.exec(d))&&(b[1]||!h)){if(b[1])return a=(h=h instanceof o?h[0]:h)?h.ownerDocument||h:w,(d=g.exec(d))?o.isPlainObject(h)?
(d=[w.createElement(d[1])],o.fn.attr.call(d,h,!0)):d=[a.createElement(d[1])]:(d=o.buildFragment([b[1]],[a]),d=(d.cacheable?o.clone(d.fragment):d.fragment).childNodes),o.merge(this,d);if((h=w.getElementById(b[2]))&&h.parentNode){if(h.id!==b[2])return a.find(d);this.length=1;this[0]=h}this.context=w;this.selector=d;return this}return!h||h.jquery?(h||a).find(d):this.constructor(h).find(d)}if(o.isFunction(d))return a.ready(d);d.selector!==m&&(this.selector=d.selector,this.context=d.context);return o.makeArray(d,
this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(d){return null==d?this.toArray():0>d?this[this.length+d]:this[d]},pushStack:function(d,h,a){var b=this.constructor();o.isArray(d)?C.apply(b,d):o.merge(b,d);b.prevObject=this;b.context=this.context;"find"===h?b.selector=this.selector+(this.selector?" ":"")+a:h&&(b.selector=this.selector+"."+h+"("+a+")");return b},each:function(d,h){return o.each(this,d,h)},ready:function(d){o.bindReady();
X.add(d);return this},eq:function(d){d=+d;return-1===d?this.slice(d):this.slice(d,d+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(d){return this.pushStack(o.map(this,function(h,o){return d.call(h,o,h)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice};o.fn.init.prototype=o.fn;o.extend=o.fn.extend=function(){var d,
h,a,b,c,f=arguments[0]||{},e=1,j=arguments.length,n=!1;"boolean"===typeof f&&(n=f,f=arguments[1]||{},e=2);"object"!==typeof f&&!o.isFunction(f)&&(f={});j===e&&(f=this,--e);for(;e<j;e++)if(null!=(d=arguments[e]))for(h in d)a=f[h],b=d[h],f!==b&&(n&&b&&(o.isPlainObject(b)||(c=o.isArray(b)))?(c?(c=!1,a=a&&o.isArray(a)?a:[]):a=a&&o.isPlainObject(a)?a:{},f[h]=o.extend(n,a,b)):b!==m&&(f[h]=b));return f};o.extend({noConflict:function(d){c.$===o&&(c.$=a);d&&c.jQuery===o&&(c.jQuery=h);return o},isReady:!1,
readyWait:1,holdReady:function(d){d?o.readyWait++:o.ready(!0)},ready:function(d){if(!0===d&&!--o.readyWait||!0!==d&&!o.isReady){if(!w.body)return setTimeout(o.ready,1);o.isReady=!0;!0!==d&&0<--o.readyWait||(X.fireWith(w,[o]),o.fn.trigger&&o(w).trigger("ready").off("ready"))}},bindReady:function(){if(!X){X=o.Callbacks("once memory");if("complete"===w.readyState)return setTimeout(o.ready,1);if(w.addEventListener)w.addEventListener("DOMContentLoaded",K,!1),c.addEventListener("load",o.ready,!1);else if(w.attachEvent){w.attachEvent("onreadystatechange",
K);c.attachEvent("onload",o.ready);var h=!1;try{h=null==c.frameElement}catch(a){}w.documentElement.doScroll&&h&&d()}}},isFunction:function(d){return"function"===o.type(d)},isArray:Array.isArray||function(d){return"array"===o.type(d)},isWindow:function(d){return d&&"object"===typeof d&&"setInterval"in d},isNumeric:function(d){return!isNaN(parseFloat(d))&&isFinite(d)},type:function(d){return null==d?""+d:G[E.call(d)]||"object"},isPlainObject:function(d){if(!d||"object"!==o.type(d)||d.nodeType||o.isWindow(d))return!1;
try{if(d.constructor&&!s.call(d,"constructor")&&!s.call(d.constructor.prototype,"isPrototypeOf"))return!1}catch(h){return!1}for(var a in d);return a===m||s.call(d,a)},isEmptyObject:function(d){for(var h in d)return!1;return!0},error:function(d){throw Error(d);},parseJSON:function(d){if("string"!==typeof d||!d)return null;d=o.trim(d);if(c.JSON&&c.JSON.parse)return c.JSON.parse(d);if(k.test(d.replace(q,"@").replace(r,"]").replace(t,"")))return(new Function("return "+d))();o.error("Invalid JSON: "+d)},
parseXML:function(d){var h,a;try{c.DOMParser?(a=new DOMParser,h=a.parseFromString(d,"text/xml")):(h=new ActiveXObject("Microsoft.XMLDOM"),h.async="false",h.loadXML(d))}catch(b){h=m}(!h||!h.documentElement||h.getElementsByTagName("parsererror").length)&&o.error("Invalid XML: "+d);return h},noop:function(){},globalEval:function(d){d&&e.test(d)&&(c.execScript||function(d){c.eval.call(c,d)})(d)},camelCase:function(d){return d.replace(v,"ms-").replace(A,u)},nodeName:function(d,h){return d.nodeName&&d.nodeName.toUpperCase()===
h.toUpperCase()},each:function(d,h,a){var b,c=0,f=d.length,e=f===m||o.isFunction(d);if(a)if(e)for(b in d){if(!1===h.apply(d[b],a))break}else for(;c<f&&!1!==h.apply(d[c++],a););else if(e)for(b in d){if(!1===h.call(d[b],b,d[b]))break}else for(;c<f&&!1!==h.call(d[c],c,d[c++]););return d},trim:O?function(d){return null==d?"":O.call(d)}:function(d){return null==d?"":d.toString().replace(j,"").replace(n,"")},makeArray:function(d,h){var a=h||[];if(null!=d){var b=o.type(d);null==d.length||"string"===b||"function"===
b||"regexp"===b||o.isWindow(d)?C.call(a,d):o.merge(a,d)}return a},inArray:function(d,h,o){var a;if(h){if(L)return L.call(h,d,o);a=h.length;for(o=o?0>o?Math.max(0,a+o):o:0;o<a;o++)if(o in h&&h[o]===d)return o}return-1},merge:function(d,h){var o=d.length,a=0;if("number"===typeof h.length)for(var b=h.length;a<b;a++)d[o++]=h[a];else for(;h[a]!==m;)d[o++]=h[a++];d.length=o;return d},grep:function(d,h,o){for(var a=[],b,o=!!o,c=0,f=d.length;c<f;c++)b=!!h(d[c],c),o!==b&&a.push(d[c]);return a},map:function(d,
h,a){var b,c,f=[],e=0,j=d.length;if(d instanceof o||j!==m&&"number"===typeof j&&(0<j&&d[0]&&d[j-1]||0===j||o.isArray(d)))for(;e<j;e++)b=h(d[e],e,a),null!=b&&(f[f.length]=b);else for(c in d)b=h(d[c],c,a),null!=b&&(f[f.length]=b);return f.concat.apply([],f)},guid:1,proxy:function(d,h){if("string"===typeof h)var a=d[h],h=d,d=a;if(!o.isFunction(d))return m;var b=F.call(arguments,2),a=function(){return d.apply(h,b.concat(F.call(arguments)))};a.guid=d.guid=d.guid||a.guid||o.guid++;return a},access:function(d,
h,a,b,c,f){var e=d.length;if("object"===typeof h){for(var j in h)o.access(d,j,h[j],b,c,a);return d}if(a!==m){b=!f&&b&&o.isFunction(a);for(j=0;j<e;j++)c(d[j],h,b?a.call(d[j],j,c(d[j],h)):a,f);return d}return e?c(d[0],h):m},now:function(){return(new Date).getTime()},uaMatch:function(d){d=d.toLowerCase();d=p.exec(d)||x.exec(d)||y.exec(d)||0>d.indexOf("compatible")&&z.exec(d)||[];return{browser:d[1]||"",version:d[2]||"0"}},sub:function(){function d(h,o){return new d.fn.init(h,o)}o.extend(!0,d,this);d.superclass=
this;d.fn=d.prototype=this();d.fn.constructor=d;d.sub=this.sub;d.fn.init=function(a,b){b&&b instanceof o&&!(b instanceof d)&&(b=d(b));return o.fn.init.call(this,a,b,h)};d.fn.init.prototype=d.fn;var h=d(w);return d},browser:{}});o.each("Boolean,Number,String,Function,Array,Date,RegExp,Object".split(","),function(d,h){G["[object "+h+"]"]=h.toLowerCase()});B=o.uaMatch(B);B.browser&&(o.browser[B.browser]=!0,o.browser.version=B.version);o.browser.webkit&&(o.browser.safari=!0);e.test("\u00a0")&&(j=/^[\s\xA0]+/,
n=/[\s\xA0]+$/);b=o(w);w.addEventListener?K=function(){w.removeEventListener("DOMContentLoaded",K,false);o.ready()}:w.attachEvent&&(K=function(){if(w.readyState==="complete"){w.detachEvent("onreadystatechange",K);o.ready()}});return o}(),O={};h.Callbacks=function(d){var d=d?O[d]||k(d):{},o=[],a=[],b,c,f,e,j,n=function(a){var b,c,f,e;b=0;for(c=a.length;b<c;b++)f=a[b],e=h.type(f),"array"===e?n(f):"function"===e&&(!d.unique||!q.has(f))&&o.push(f)},g=function(h,n){n=n||[];b=!d.memory||[h,n];c=!0;j=f||
0;f=0;for(e=o.length;o&&j<e;j++)if(!1===o[j].apply(h,n)&&d.stopOnFalse){b=!0;break}c=!1;o&&(d.once?!0===b?q.disable():o=[]:a&&a.length&&(b=a.shift(),q.fireWith(b[0],b[1])))},q={add:function(){if(o){var d=o.length;n(arguments);c?e=o.length:b&&!0!==b&&(f=d,g(b[0],b[1]))}return this},remove:function(){if(o)for(var h=arguments,a=0,b=h.length;a<b;a++)for(var f=0;f<o.length&&!(h[a]===o[f]&&(c&&f<=e&&(e--,f<=j&&j--),o.splice(f--,1),d.unique));f++);return this},has:function(d){if(o)for(var h=0,a=o.length;h<
a;h++)if(d===o[h])return!0;return!1},empty:function(){o=[];return this},disable:function(){o=a=b=m;return this},disabled:function(){return!o},lock:function(){a=m;(!b||!0===b)&&q.disable();return this},locked:function(){return!a},fireWith:function(h,o){a&&(c?d.once||a.push([h,o]):(!d.once||!b)&&g(h,o));return this},fire:function(){q.fireWith(this,arguments);return this},fired:function(){return!!b}};return q};var L=[].slice;h.extend({Deferred:function(d){var o=h.Callbacks("once memory"),a=h.Callbacks("once memory"),
b=h.Callbacks("memory"),c="pending",f={resolve:o,reject:a,notify:b},e={done:o.add,fail:a.add,progress:b.add,state:function(){return c},isResolved:o.fired,isRejected:a.fired,then:function(d,h,o){j.done(d).fail(h).progress(o);return this},always:function(){j.done.apply(j,arguments).fail.apply(j,arguments);return this},pipe:function(d,o,a){return h.Deferred(function(b){h.each({done:[d,"resolve"],fail:[o,"reject"],progress:[a,"notify"]},function(d,o){var a=o[0],c=o[1],f;if(h.isFunction(a))j[d](function(){if((f=
a.apply(this,arguments))&&h.isFunction(f.promise))f.promise().then(b.resolve,b.reject,b.notify);else b[c+"With"](this===j?b:this,[f])});else j[d](b[c])})}).promise()},promise:function(d){if(null==d)d=e;else for(var h in e)d[h]=e[h];return d}},j=e.promise({}),n;for(n in f)j[n]=f[n].fire,j[n+"With"]=f[n].fireWith;j.done(function(){c="resolved"},a.disable,b.lock).fail(function(){c="rejected"},o.disable,b.lock);d&&d.call(j,j);return j},when:function(d){function o(d){return function(h){b[d]=1<arguments.length?
L.call(arguments,0):h;--j||n.resolveWith(n,b)}}function a(d){return function(h){e[d]=1<arguments.length?L.call(arguments,0):h;n.notifyWith(g,e)}}var b=L.call(arguments,0),c=0,f=b.length,e=Array(f),j=f,n=1>=f&&d&&h.isFunction(d.promise)?d:h.Deferred(),g=n.promise();if(1<f){for(;c<f;c++)b[c]&&b[c].promise&&h.isFunction(b[c].promise)?b[c].promise().then(o(c),n.reject,a(c)):--j;j||n.resolveWith(n,b)}else n!==d&&n.resolveWith(n,f?[d]:[]);return g}});h.support=function(){var d,o,a,b,f,e,j,n,g=w.createElement("div");
g.setAttribute("className","t");g.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";o=g.getElementsByTagName("*");a=g.getElementsByTagName("a")[0];if(!o||!o.length||!a)return{};b=w.createElement("select");f=b.appendChild(w.createElement("option"));o=g.getElementsByTagName("input")[0];d={leadingWhitespace:3===g.firstChild.nodeType,tbody:!g.getElementsByTagName("tbody").length,htmlSerialize:!!g.getElementsByTagName("link").length,
style:/top/.test(a.getAttribute("style")),hrefNormalized:"/a"===a.getAttribute("href"),opacity:/^0.55/.test(a.style.opacity),cssFloat:!!a.style.cssFloat,checkOn:"on"===o.value,optSelected:f.selected,getSetAttribute:"t"!==g.className,enctype:!!w.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==w.createElement("nav").cloneNode(!0).outerHTML,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0};
o.checked=!0;d.noCloneChecked=o.cloneNode(!0).checked;b.disabled=!0;d.optDisabled=!f.disabled;try{delete g.test}catch(k){d.deleteExpando=!1}!g.addEventListener&&g.attachEvent&&g.fireEvent&&(g.attachEvent("onclick",function(){d.noCloneEvent=!1}),g.cloneNode(!0).fireEvent("onclick"));o=w.createElement("input");o.value="t";o.setAttribute("type","radio");d.radioValue="t"===o.value;o.setAttribute("checked","checked");g.appendChild(o);a=w.createDocumentFragment();a.appendChild(g.lastChild);d.checkClone=
a.cloneNode(!0).cloneNode(!0).lastChild.checked;d.appendChecked=o.checked;a.removeChild(o);a.appendChild(g);g.innerHTML="";c.getComputedStyle&&(o=w.createElement("div"),o.style.width="0",o.style.marginRight="0",g.style.width="2px",g.appendChild(o),d.reliableMarginRight=0===(parseInt((c.getComputedStyle(o,null)||{marginRight:0}).marginRight,10)||0));if(g.attachEvent)for(j in{submit:1,change:1,focusin:1})o="on"+j,n=o in g,n||(g.setAttribute(o,"return;"),n="function"===typeof g[o]),d[j+"Bubbles"]=n;
a.removeChild(g);a=b=f=o=g=o=null;h(function(){var a,o,b,c,f=w.getElementsByTagName("body")[0];if(f){a=w.createElement("div");a.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px";f.insertBefore(a,f.firstChild);g=w.createElement("div");a.appendChild(g);g.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";e=g.getElementsByTagName("td");n=e[0].offsetHeight===0;e[0].style.display="";e[1].style.display="none";d.reliableHiddenOffsets=
n&&e[0].offsetHeight===0;g.innerHTML="";g.style.width=g.style.paddingLeft="1px";h.boxModel=d.boxModel=g.offsetWidth===2;if(typeof g.style.zoom!=="undefined"){g.style.display="inline";g.style.zoom=1;d.inlineBlockNeedsLayout=g.offsetWidth===2;g.style.display="";g.innerHTML="<div style='width:4px;'></div>";d.shrinkWrapBlocks=g.offsetWidth!==2}g.style.cssText="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;visibility:hidden;border:0;";g.innerHTML="<div style='position:absolute;top:0;left:0;width:1px;height:1px;margin:0;border:5px solid #000;padding:0;'><div></div></div><table style='position:absolute;top:0;left:0;width:1px;height:1px;margin:0;border:5px solid #000;padding:0;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
o=g.firstChild;b=o.firstChild;c={doesNotAddBorder:b.offsetTop!==5,doesAddBorderForTableAndCells:o.nextSibling.firstChild.firstChild.offsetTop===5};b.style.position="fixed";b.style.top="20px";c.fixedPosition=b.offsetTop===20||b.offsetTop===15;b.style.position=b.style.top="";o.style.overflow="hidden";o.style.position="relative";c.subtractsBorderForOverflowNotVisible=b.offsetTop===-5;c.doesNotIncludeMarginInBodyOffset=f.offsetTop!==1;f.removeChild(a);g=null;h.extend(d,c)}});return d}();var ca=/^(?:\{.*\}|\[.*\])$/,
N=/([A-Z])/g;h.extend({cache:{},uuid:0,expando:"jQuery"+(h.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(d){d=d.nodeType?h.cache[d[h.expando]]:d[h.expando];return!!d&&!e(d)},data:function(d,a,b,c){if(h.acceptData(d)){var f;f=h.expando;var e="string"===typeof a,j=d.nodeType,n=j?h.cache:d,g=j?d[f]:d[f]&&f,k="events"===a;if(g&&n[g]&&(k||c||n[g].data)||!(e&&b===m)){g||(j?d[f]=g=++h.uuid:g=f);n[g]||(n[g]={},j||
(n[g].toJSON=h.noop));if("object"===typeof a||"function"===typeof a)c?n[g]=h.extend(n[g],a):n[g].data=h.extend(n[g].data,a);f=d=n[g];c||(d.data||(d.data={}),d=d.data);b!==m&&(d[h.camelCase(a)]=b);if(k&&!d[a])return f.events;e?(b=d[a],null==b&&(b=d[h.camelCase(a)])):b=d;return b}}},removeData:function(d,a,b){if(h.acceptData(d)){var c,f,j,n=h.expando,g=d.nodeType,k=g?h.cache:d,q=g?d[n]:n;if(k[q]){if(a&&(c=b?k[q]:k[q].data)){h.isArray(a)||(a in c?a=[a]:(a=h.camelCase(a),a=a in c?[a]:a.split(" ")));f=
0;for(j=a.length;f<j;f++)delete c[a[f]];if(!(b?e:h.isEmptyObject)(c))return}if(!b&&(delete k[q].data,!e(k[q])))return;h.support.deleteExpando||!k.setInterval?delete k[q]:k[q]=null;g&&(h.support.deleteExpando?delete d[n]:d.removeAttribute?d.removeAttribute(n):d[n]=null)}}},_data:function(d,a,b){return h.data(d,a,b,!0)},acceptData:function(d){if(d.nodeName){var a=h.noData[d.nodeName.toLowerCase()];if(a)return!(!0===a||d.getAttribute("classid")!==a)}return!0}});h.fn.extend({data:function(d,a){var c,
f,e,j=null;if("undefined"===typeof d){if(this.length&&(j=h.data(this[0]),1===this[0].nodeType&&!h._data(this[0],"parsedAttrs"))){f=this[0].attributes;for(var n=0,g=f.length;n<g;n++)e=f[n].name,0===e.indexOf("data-")&&(e=h.camelCase(e.substring(5)),b(this[0],e,j[e]));h._data(this[0],"parsedAttrs",!0)}return j}if("object"===typeof d)return this.each(function(){h.data(this,d)});c=d.split(".");c[1]=c[1]?"."+c[1]:"";return a===m?(j=this.triggerHandler("getData"+c[1]+"!",[c[0]]),j===m&&this.length&&(j=
h.data(this[0],d),j=b(this[0],d,j)),j===m&&c[1]?this.data(c[0]):j):this.each(function(){var b=h(this),f=[c[0],a];b.triggerHandler("setData"+c[1]+"!",f);h.data(this,d,a);b.triggerHandler("changeData"+c[1]+"!",f)})},removeData:function(d){return this.each(function(){h.removeData(this,d)})}});h.extend({_mark:function(d,a){d&&(a=(a||"fx")+"mark",h._data(d,a,(h._data(d,a)||0)+1))},_unmark:function(d,a,b){!0!==d&&(b=a,a=d,d=!1);if(a){var b=b||"fx",c=b+"mark";(d=d?0:(h._data(a,c)||1)-1)?h._data(a,c,d):(h.removeData(a,
c,!0),g(a,b,"mark"))}},queue:function(d,a,b){var c;if(d)return a=(a||"fx")+"queue",c=h._data(d,a),b&&(!c||h.isArray(b)?c=h._data(d,a,h.makeArray(b)):c.push(b)),c||[]},dequeue:function(d,a){var a=a||"fx",b=h.queue(d,a),c=b.shift(),f={};"inprogress"===c&&(c=b.shift());c&&("fx"===a&&b.unshift("inprogress"),h._data(d,a+".run",f),c.call(d,function(){h.dequeue(d,a)},f));b.length||(h.removeData(d,a+"queue "+a+".run",!0),g(d,a,"queue"))}});h.fn.extend({queue:function(d,a){"string"!==typeof d&&(a=d,d="fx");
return a===m?h.queue(this[0],d):this.each(function(){var b=h.queue(this,d,a);d==="fx"&&b[0]!=="inprogress"&&h.dequeue(this,d)})},dequeue:function(d){return this.each(function(){h.dequeue(this,d)})},delay:function(d,a){d=h.fx?h.fx.speeds[d]||d:d;return this.queue(a||"fx",function(a,h){var b=setTimeout(a,d);h.stop=function(){clearTimeout(b)}})},clearQueue:function(d){return this.queue(d||"fx",[])},promise:function(d){function a(){--e||b.resolveWith(c,[c])}"string"!==typeof d&&(d=m);for(var d=d||"fx",
b=h.Deferred(),c=this,f=c.length,e=1,j=d+"defer",n=d+"queue",d=d+"mark",g;f--;)if(g=h.data(c[f],j,m,!0)||(h.data(c[f],n,m,!0)||h.data(c[f],d,m,!0))&&h.data(c[f],j,h.Callbacks("once memory"),!0))e++,g.add(a);a();return b.promise()}});var na=/[\n\t\r]/g,Y=/\s+/,Qa=/\r/g,Ra=/^(?:button|input)$/i,Sa=/^(?:button|input|object|select|textarea)$/i,Ta=/^a(?:rea)?$/i,oa=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,pa=h.support.getSetAttribute,
M,qa,ra;h.fn.extend({attr:function(d,a){return h.access(this,d,a,!0,h.attr)},removeAttr:function(d){return this.each(function(){h.removeAttr(this,d)})},prop:function(d,a){return h.access(this,d,a,!0,h.prop)},removeProp:function(d){d=h.propFix[d]||d;return this.each(function(){try{this[d]=m,delete this[d]}catch(a){}})},addClass:function(d){var a,b,c,f,e,j,n;if(h.isFunction(d))return this.each(function(a){h(this).addClass(d.call(this,a,this.className))});if(d&&"string"===typeof d){a=d.split(Y);b=0;
for(c=this.length;b<c;b++)if(f=this[b],1===f.nodeType)if(!f.className&&1===a.length)f.className=d;else{e=" "+f.className+" ";j=0;for(n=a.length;j<n;j++)~e.indexOf(" "+a[j]+" ")||(e+=a[j]+" ");f.className=h.trim(e)}}return this},removeClass:function(d){var a,b,c,f,e,j,n;if(h.isFunction(d))return this.each(function(a){h(this).removeClass(d.call(this,a,this.className))});if(d&&"string"===typeof d||d===m){a=(d||"").split(Y);b=0;for(c=this.length;b<c;b++)if(f=this[b],1===f.nodeType&&f.className)if(d){e=
(" "+f.className+" ").replace(na," ");j=0;for(n=a.length;j<n;j++)e=e.replace(" "+a[j]+" "," ");f.className=h.trim(e)}else f.className=""}return this},toggleClass:function(d,a){var b=typeof d,c="boolean"===typeof a;return h.isFunction(d)?this.each(function(b){h(this).toggleClass(d.call(this,b,this.className,a),a)}):this.each(function(){if("string"===b)for(var f,e=0,j=h(this),n=a,g=d.split(Y);f=g[e++];)n=c?n:!j.hasClass(f),j[n?"addClass":"removeClass"](f);else if("undefined"===b||"boolean"===b)this.className&&
h._data(this,"__className__",this.className),this.className=this.className||!1===d?"":h._data(this,"__className__")||""})},hasClass:function(d){for(var d=" "+d+" ",a=0,h=this.length;a<h;a++)if(1===this[a].nodeType&&-1<(" "+this[a].className+" ").replace(na," ").indexOf(d))return!0;return!1},val:function(d){var a,b,c,f=this[0];if(arguments.length)return c=h.isFunction(d),this.each(function(b){var f=h(this);if(1===this.nodeType&&(b=c?d.call(this,b,f.val()):d,null==b?b="":"number"===typeof b?b+="":h.isArray(b)&&
(b=h.map(b,function(d){return d==null?"":d+""})),a=h.valHooks[this.nodeName.toLowerCase()]||h.valHooks[this.type],!a||!("set"in a)||a.set(this,b,"value")===m))this.value=b});if(f){if((a=h.valHooks[f.nodeName.toLowerCase()]||h.valHooks[f.type])&&"get"in a&&(b=a.get(f,"value"))!==m)return b;b=f.value;return"string"===typeof b?b.replace(Qa,""):null==b?"":b}}});h.extend({valHooks:{option:{get:function(d){var a=d.attributes.value;return!a||a.specified?d.value:d.text}},select:{get:function(d){var a,b,c=
d.selectedIndex,f=[],e=d.options,j="select-one"===d.type;if(0>c)return null;d=j?c:0;for(b=j?c+1:e.length;d<b;d++)if(a=e[d],a.selected&&(h.support.optDisabled?!a.disabled:null===a.getAttribute("disabled"))&&(!a.parentNode.disabled||!h.nodeName(a.parentNode,"optgroup"))){a=h(a).val();if(j)return a;f.push(a)}return j&&!f.length&&e.length?h(e[c]).val():f},set:function(d,a){var b=h.makeArray(a);h(d).find("option").each(function(){this.selected=0<=h.inArray(h(this).val(),b)});b.length||(d.selectedIndex=
-1);return b}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(d,a,b,c){var f,e,j=d.nodeType;if(d&&!(3===j||8===j||2===j)){if(c&&a in h.attrFn)return h(d)[a](b);if("undefined"===typeof d.getAttribute)return h.prop(d,a,b);if(c=1!==j||!h.isXMLDoc(d))a=a.toLowerCase(),e=h.attrHooks[a]||(oa.test(a)?qa:M);if(b!==m)if(null===b)h.removeAttr(d,a);else{if(e&&"set"in e&&c&&(f=e.set(d,b,a))!==m)return f;d.setAttribute(a,""+b);return b}else{if(e&&"get"in e&&c&&null!==
(f=e.get(d,a)))return f;f=d.getAttribute(a);return null===f?m:f}}},removeAttr:function(d,a){var b,c,f,e,j=0;if(a&&1===d.nodeType){c=a.toLowerCase().split(Y);for(e=c.length;j<e;j++)if(f=c[j])b=h.propFix[f]||f,h.attr(d,f,""),d.removeAttribute(pa?f:b),oa.test(f)&&b in d&&(d[b]=!1)}},attrHooks:{type:{set:function(d,a){if(Ra.test(d.nodeName)&&d.parentNode)h.error("type property can't be changed");else if(!h.support.radioValue&&"radio"===a&&h.nodeName(d,"input")){var b=d.value;d.setAttribute("type",a);
b&&(d.value=b);return a}}},value:{get:function(d,a){return M&&h.nodeName(d,"button")?M.get(d,a):a in d?d.value:null},set:function(d,a,b){if(M&&h.nodeName(d,"button"))return M.set(d,a,b);d.value=a}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(d,a,b){var c,f,e=
d.nodeType;if(d&&!(3===e||8===e||2===e)){if(1!==e||!h.isXMLDoc(d))a=h.propFix[a]||a,f=h.propHooks[a];return b!==m?f&&"set"in f&&(c=f.set(d,b,a))!==m?c:d[a]=b:f&&"get"in f&&null!==(c=f.get(d,a))?c:d[a]}},propHooks:{tabIndex:{get:function(d){var a=d.getAttributeNode("tabindex");return a&&a.specified?parseInt(a.value,10):Sa.test(d.nodeName)||Ta.test(d.nodeName)&&d.href?0:m}}}});h.attrHooks.tabindex=h.propHooks.tabIndex;qa={get:function(d,a){var b,c=h.prop(d,a);return!0===c||"boolean"!==typeof c&&(b=
d.getAttributeNode(a))&&!1!==b.nodeValue?a.toLowerCase():m},set:function(d,a,b){!1===a?h.removeAttr(d,b):(a=h.propFix[b]||b,a in d&&(d[a]=!0),d.setAttribute(b,b.toLowerCase()));return b}};pa||(ra={name:!0,id:!0},M=h.valHooks.button={get:function(d,a){var b;return(b=d.getAttributeNode(a))&&(ra[a]?""!==b.nodeValue:b.specified)?b.nodeValue:m},set:function(d,a,b){var h=d.getAttributeNode(b);h||(h=w.createAttribute(b),d.setAttributeNode(h));return h.nodeValue=a+""}},h.attrHooks.tabindex.set=M.set,h.each(["width",
"height"],function(d,a){h.attrHooks[a]=h.extend(h.attrHooks[a],{set:function(d,b){if(""===b)return d.setAttribute(a,"auto"),b}})}),h.attrHooks.contenteditable={get:M.get,set:function(d,a,b){""===a&&(a="false");M.set(d,a,b)}});h.support.hrefNormalized||h.each(["href","src","width","height"],function(d,a){h.attrHooks[a]=h.extend(h.attrHooks[a],{get:function(d){d=d.getAttribute(a,2);return d===null?m:d}})});h.support.style||(h.attrHooks.style={get:function(d){return d.style.cssText.toLowerCase()||m},
set:function(d,a){return d.style.cssText=""+a}});h.support.optSelected||(h.propHooks.selected=h.extend(h.propHooks.selected,{get:function(d){if(d=d.parentNode){d.selectedIndex;d.parentNode&&d.parentNode.selectedIndex}return null}}));h.support.enctype||(h.propFix.enctype="encoding");h.support.checkOn||h.each(["radio","checkbox"],function(){h.valHooks[this]={get:function(d){return d.getAttribute("value")===null?"on":d.value}}});h.each(["radio","checkbox"],function(){h.valHooks[this]=h.extend(h.valHooks[this],
{set:function(d,a){if(h.isArray(a))return d.checked=h.inArray(h(d).val(),a)>=0}})});var ga=/^(?:textarea|input|select)$/i,sa=/^([^\.]*)?(?:\.(.+))?$/,Ua=/\bhover(\.\S+)?\b/,Va=/^key/,Wa=/^(?:mouse|contextmenu)|click/,ta=/^(?:focusinfocus|focusoutblur)$/,Xa=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Ya=function(d){if(d=Xa.exec(d)){d[1]=(d[1]||"").toLowerCase();d[3]=d[3]&&RegExp("(?:^|\\s)"+d[3]+"(?:\\s|$)")}return d},ua=function(d){return h.event.special.hover?d:d.replace(Ua,"mouseenter$1 mouseleave$1")};
h.event={add:function(d,a,b,c,f){var e,j,n,g,k,q,r,t,p;if(!(d.nodeType===3||d.nodeType===8||!a||!b||!(e=h._data(d)))){if(b.handler){r=b;b=r.handler}if(!b.guid)b.guid=h.guid++;n=e.events;if(!n)e.events=n={};j=e.handle;if(!j){e.handle=j=function(d){return typeof h!=="undefined"&&(!d||h.event.triggered!==d.type)?h.event.dispatch.apply(j.elem,arguments):m};j.elem=d}a=h.trim(ua(a)).split(" ");for(e=0;e<a.length;e++){g=sa.exec(a[e])||[];k=g[1];q=(g[2]||"").split(".").sort();p=h.event.special[k]||{};k=(f?
p.delegateType:p.bindType)||k;p=h.event.special[k]||{};g=h.extend({type:k,origType:g[1],data:c,handler:b,guid:b.guid,selector:f,quick:Ya(f),namespace:q.join(".")},r);t=n[k];if(!t){t=n[k]=[];t.delegateCount=0;if(!p.setup||p.setup.call(d,c,q,j)===false)d.addEventListener?d.addEventListener(k,j,false):d.attachEvent&&d.attachEvent("on"+k,j)}if(p.add){p.add.call(d,g);if(!g.handler.guid)g.handler.guid=b.guid}f?t.splice(t.delegateCount++,0,g):t.push(g);h.event.global[k]=true}d=null}},global:{},remove:function(d,
a,b,c,f){var e=h.hasData(d)&&h._data(d),j,n,g,k,q,m,r,t,p,x;if(e&&(r=e.events)){a=h.trim(ua(a||"")).split(" ");for(j=0;j<a.length;j++){n=sa.exec(a[j])||[];g=k=n[1];n=n[2];if(g){t=h.event.special[g]||{};g=(c?t.delegateType:t.bindType)||g;p=r[g]||[];q=p.length;n=n?RegExp("(^|\\.)"+n.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(m=0;m<p.length;m++){x=p[m];if((f||k===x.origType)&&(!b||b.guid===x.guid)&&(!n||n.test(x.namespace))&&(!c||c===x.selector||c==="**"&&x.selector)){p.splice(m--,1);
x.selector&&p.delegateCount--;t.remove&&t.remove.call(d,x)}}if(p.length===0&&q!==p.length){(!t.teardown||t.teardown.call(d,n)===false)&&h.removeEvent(d,g,e.handle);delete r[g]}}else for(g in r)h.event.remove(d,g+a[j],b,c,true)}if(h.isEmptyObject(r)){if(a=e.handle)a.elem=null;h.removeData(d,["events","handle"],true)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(d,a,b,f){if(!b||!(b.nodeType===3||b.nodeType===8)){var e=d.type||d,j=[],n,g,k,q,r;if(!ta.test(e+h.event.triggered)){if(e.indexOf("!")>=
0){e=e.slice(0,-1);n=true}if(e.indexOf(".")>=0){j=e.split(".");e=j.shift();j.sort()}if(b&&!h.event.customEvent[e]||h.event.global[e]){d=typeof d==="object"?d[h.expando]?d:new h.Event(e,d):new h.Event(e);d.type=e;d.isTrigger=true;d.exclusive=n;d.namespace=j.join(".");d.namespace_re=d.namespace?RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;n=e.indexOf(":")<0?"on"+e:"";if(b){d.result=m;if(!d.target)d.target=b;a=a!=null?h.makeArray(a):[];a.unshift(d);k=h.event.special[e]||{};if(!(k.trigger&&
k.trigger.apply(b,a)===false)){r=[[b,k.bindType||e]];if(!f&&!k.noBubble&&!h.isWindow(b)){q=k.delegateType||e;j=ta.test(q+e)?b:b.parentNode;for(g=null;j;j=j.parentNode){r.push([j,q]);g=j}g&&g===b.ownerDocument&&r.push([g.defaultView||g.parentWindow||c,q])}for(g=0;g<r.length&&!d.isPropagationStopped();g++){j=r[g][0];d.type=r[g][1];(q=(h._data(j,"events")||{})[d.type]&&h._data(j,"handle"))&&q.apply(j,a);(q=n&&j[n])&&h.acceptData(j)&&q.apply(j,a)===false&&d.preventDefault()}d.type=e;if(!f&&!d.isDefaultPrevented()&&
(!k._default||k._default.apply(b.ownerDocument,a)===false)&&!(e==="click"&&h.nodeName(b,"a"))&&h.acceptData(b))if(n&&b[e]&&(e!=="focus"&&e!=="blur"||d.target.offsetWidth!==0)&&!h.isWindow(b)){(g=b[n])&&(b[n]=null);h.event.triggered=e;b[e]();h.event.triggered=m;g&&(b[n]=g)}return d.result}}else{b=h.cache;for(g in b)b[g].events&&b[g].events[e]&&h.event.trigger(d,a,b[g].handle.elem,true)}}}}},dispatch:function(d){var d=h.event.fix(d||c.event),a=(h._data(this,"events")||{})[d.type]||[],b=a.delegateCount,
f=[].slice.call(arguments,0),e=!d.exclusive&&!d.namespace,j=[],n,g,k,q,r,t,p;f[0]=d;d.delegateTarget=this;if(b&&!d.target.disabled&&!(d.button&&d.type==="click")){k=h(this);k.context=this.ownerDocument||this;for(g=d.target;g!=this;g=g.parentNode||this){r={};t=[];k[0]=g;for(n=0;n<b;n++){q=a[n];p=q.selector;if(r[p]===m){var x=r,y=p,D;if(q.quick){D=q.quick;var z=g.attributes||{};D=(!D[1]||g.nodeName.toLowerCase()===D[1])&&(!D[2]||(z.id||{}).value===D[2])&&(!D[3]||D[3].test((z["class"]||{}).value))}else D=
k.is(p);x[y]=D}r[p]&&t.push(q)}t.length&&j.push({elem:g,matches:t})}}a.length>b&&j.push({elem:this,matches:a.slice(b)});for(n=0;n<j.length&&!d.isPropagationStopped();n++){b=j[n];d.currentTarget=b.elem;for(a=0;a<b.matches.length&&!d.isImmediatePropagationStopped();a++){q=b.matches[a];if(e||!d.namespace&&!q.namespace||d.namespace_re&&d.namespace_re.test(q.namespace)){d.data=q.data;d.handleObj=q;q=((h.event.special[q.origType]||{}).handle||q.handler).apply(b.elem,f);if(q!==m){d.result=q;if(q===false){d.preventDefault();
d.stopPropagation()}}}}}return d.result},props:"attrChange,attrName,relatedNode,srcElement,altKey,bubbles,cancelable,ctrlKey,currentTarget,eventPhase,metaKey,relatedTarget,shiftKey,target,timeStamp,view,which".split(","),fixHooks:{},keyHooks:{props:["char","charCode","key","keyCode"],filter:function(d,a){if(d.which==null)d.which=a.charCode!=null?a.charCode:a.keyCode;return d}},mouseHooks:{props:"button,buttons,clientX,clientY,fromElement,offsetX,offsetY,pageX,pageY,screenX,screenY,toElement".split(","),
filter:function(d,a){var b,h,c=a.button,f=a.fromElement;if(d.pageX==null&&a.clientX!=null){b=d.target.ownerDocument||w;h=b.documentElement;b=b.body;d.pageX=a.clientX+(h&&h.scrollLeft||b&&b.scrollLeft||0)-(h&&h.clientLeft||b&&b.clientLeft||0);d.pageY=a.clientY+(h&&h.scrollTop||b&&b.scrollTop||0)-(h&&h.clientTop||b&&b.clientTop||0)}if(!d.relatedTarget&&f)d.relatedTarget=f===d.target?a.toElement:f;if(!d.which&&c!==m)d.which=c&1?1:c&2?3:c&4?2:0;return d}},fix:function(d){if(d[h.expando])return d;var a,
b,c=d,f=h.event.fixHooks[d.type]||{},e=f.props?this.props.concat(f.props):this.props,d=h.Event(c);for(a=e.length;a;){b=e[--a];d[b]=c[b]}if(!d.target)d.target=c.srcElement||w;if(d.target.nodeType===3)d.target=d.target.parentNode;if(d.metaKey===m)d.metaKey=d.ctrlKey;return f.filter?f.filter(d,c):d},special:{ready:{setup:h.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(d,a,b){if(h.isWindow(this))this.onbeforeunload=b},teardown:function(d,
a){if(this.onbeforeunload===a)this.onbeforeunload=null}}},simulate:function(d,a,b,c){d=h.extend(new h.Event,b,{type:d,isSimulated:true,originalEvent:{}});c?h.event.trigger(d,null,a):h.event.dispatch.call(a,d);d.isDefaultPrevented()&&b.preventDefault()}};h.event.handle=h.event.dispatch;h.removeEvent=w.removeEventListener?function(d,a,b){d.removeEventListener&&d.removeEventListener(a,b,false)}:function(d,a,b){d.detachEvent&&d.detachEvent("on"+a,b)};h.Event=function(d,b){if(!(this instanceof h.Event))return new h.Event(d,
b);if(d&&d.type){this.originalEvent=d;this.type=d.type;this.isDefaultPrevented=d.defaultPrevented||d.returnValue===false||d.getPreventDefault&&d.getPreventDefault()?a:j}else this.type=d;b&&h.extend(this,b);this.timeStamp=d&&d.timeStamp||h.now();this[h.expando]=true};h.Event.prototype={preventDefault:function(){this.isDefaultPrevented=a;var d=this.originalEvent;if(d)d.preventDefault?d.preventDefault():d.returnValue=false},stopPropagation:function(){this.isPropagationStopped=a;var d=this.originalEvent;
if(d){d.stopPropagation&&d.stopPropagation();d.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=a;this.stopPropagation()},isDefaultPrevented:j,isPropagationStopped:j,isImmediatePropagationStopped:j};h.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(d,a){h.event.special[d]={delegateType:a,bindType:a,handle:function(d){var b=d.relatedTarget,c=d.handleObj,f;if(!b||b!==this&&!h.contains(this,b)){d.type=c.origType;f=c.handler.apply(this,arguments);
d.type=a}return f}}});h.support.submitBubbles||(h.event.special.submit={setup:function(){if(h.nodeName(this,"form"))return false;h.event.add(this,"click._submit keypress._submit",function(d){d=d.target;if((d=h.nodeName(d,"input")||h.nodeName(d,"button")?d.form:m)&&!d._submit_attached){h.event.add(d,"submit._submit",function(d){this.parentNode&&!d.isTrigger&&h.event.simulate("submit",this.parentNode,d,true)});d._submit_attached=true}})},teardown:function(){if(h.nodeName(this,"form"))return false;h.event.remove(this,
"._submit")}});h.support.changeBubbles||(h.event.special.change={setup:function(){if(ga.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){h.event.add(this,"propertychange._change",function(d){if(d.originalEvent.propertyName==="checked")this._just_changed=true});h.event.add(this,"click._change",function(d){if(this._just_changed&&!d.isTrigger){this._just_changed=false;h.event.simulate("change",this,d,true)}})}return false}h.event.add(this,"beforeactivate._change",function(d){d=d.target;
if(ga.test(d.nodeName)&&!d._change_attached){h.event.add(d,"change._change",function(d){this.parentNode&&!d.isSimulated&&!d.isTrigger&&h.event.simulate("change",this.parentNode,d,true)});d._change_attached=true}})},handle:function(d){var a=d.target;if(this!==a||d.isSimulated||d.isTrigger||a.type!=="radio"&&a.type!=="checkbox")return d.handleObj.handler.apply(this,arguments)},teardown:function(){h.event.remove(this,"._change");return ga.test(this.nodeName)}});h.support.focusinBubbles||h.each({focus:"focusin",
blur:"focusout"},function(d,a){var b=0,c=function(d){h.event.simulate(a,d.target,h.event.fix(d),true)};h.event.special[a]={setup:function(){b++===0&&w.addEventListener(d,c,true)},teardown:function(){--b===0&&w.removeEventListener(d,c,true)}}});h.fn.extend({on:function(d,a,b,c,f){var e,n;if(typeof d==="object"){if(typeof a!=="string"){b=a;a=m}for(n in d)this.on(n,a,b,d[n],f);return this}if(b==null&&c==null){c=a;b=a=m}else if(c==null)if(typeof a==="string"){c=b;b=m}else{c=b;b=a;a=m}if(c===false)c=j;
else if(!c)return this;if(f===1){e=c;c=function(d){h().off(d);return e.apply(this,arguments)};c.guid=e.guid||(e.guid=h.guid++)}return this.each(function(){h.event.add(this,d,c,b,a)})},one:function(d,a,b,h){return this.on.call(this,d,a,b,h,1)},off:function(d,a,b){if(d&&d.preventDefault&&d.handleObj){var c=d.handleObj;h(d.delegateTarget).off(c.namespace?c.type+"."+c.namespace:c.type,c.selector,c.handler);return this}if(typeof d==="object"){for(c in d)this.off(c,a,d[c]);return this}if(a===false||typeof a===
"function"){b=a;a=m}b===false&&(b=j);return this.each(function(){h.event.remove(this,d,b,a)})},bind:function(d,a,b){return this.on(d,null,a,b)},unbind:function(d,a){return this.off(d,null,a)},live:function(d,a,b){h(this.context).on(d,this.selector,a,b);return this},die:function(d,a){h(this.context).off(d,this.selector||"**",a);return this},delegate:function(d,a,b,h){return this.on(a,d,b,h)},undelegate:function(d,a,b){return arguments.length==1?this.off(d,"**"):this.off(a,d,b)},trigger:function(d,
a){return this.each(function(){h.event.trigger(d,a,this)})},triggerHandler:function(d,a){if(this[0])return h.event.trigger(d,a,this[0],true)},toggle:function(d){var a=arguments,b=d.guid||h.guid++,c=0,f=function(b){var f=(h._data(this,"lastToggle"+d.guid)||0)%c;h._data(this,"lastToggle"+d.guid,f+1);b.preventDefault();return a[f].apply(this,arguments)||false};for(f.guid=b;c<a.length;)a[c++].guid=b;return this.click(f)},hover:function(d,a){return this.mouseenter(d).mouseleave(a||d)}});h.each("blur,focus,focusin,focusout,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error,contextmenu".split(","),
function(d,a){h.fn[a]=function(d,b){if(b==null){b=d;d=null}return arguments.length>0?this.on(a,null,d,b):this.trigger(a)};h.attrFn&&(h.attrFn[a]=true);if(Va.test(a))h.event.fixHooks[a]=h.event.keyHooks;if(Wa.test(a))h.event.fixHooks[a]=h.event.mouseHooks});(function(){function d(d,a,b,h,f,e){for(var f=0,j=h.length;f<j;f++){var n=h[f];if(n){for(var g=false,n=n[d];n;){if(n[c]===b){g=h[n.sizset];break}if(n.nodeType===1&&!e){n[c]=b;n.sizset=f}if(n.nodeName.toLowerCase()===a){g=n;break}n=n[d]}h[f]=g}}}
function a(d,b,h,f,e,j){for(var e=0,n=f.length;e<n;e++){var g=f[e];if(g){for(var k=false,g=g[d];g;){if(g[c]===h){k=f[g.sizset];break}if(g.nodeType===1){if(!j){g[c]=h;g.sizset=e}if(typeof b!=="string"){if(g===b){k=true;break}}else if(r.filter(b,[g]).length>0){k=g;break}}g=g[d]}f[e]=k}}}var b=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,c="sizcache"+(Math.random()+"").replace(".",""),f=0,e=Object.prototype.toString,
j=false,n=true,g=/\\/g,k=/\r\n/g,q=/\W/;[0,0].sort(function(){n=false;return 0});var r=function(d,a,h,c){var h=h||[],f=a=a||w;if(a.nodeType!==1&&a.nodeType!==9)return[];if(!d||typeof d!=="string")return h;var j,n,g,k,q,o=true,m=r.isXML(a),t=[],y=d;do{b.exec("");if(j=b.exec(y)){y=j[3];t.push(j[1]);if(j[2]){k=j[3];break}}}while(j);if(t.length>1&&x.exec(d))if(t.length===2&&p.relative[t[0]])n=B(t[0]+t[1],a,c);else for(n=p.relative[t[0]]?[a]:r(t.shift(),a);t.length;){d=t.shift();p.relative[d]&&(d=d+t.shift());
n=B(d,n,c)}else{if(!c&&t.length>1&&a.nodeType===9&&!m&&p.match.ID.test(t[0])&&!p.match.ID.test(t[t.length-1])){j=r.find(t.shift(),a,m);a=j.expr?r.filter(j.expr,j.set)[0]:j.set[0]}if(a){j=c?{expr:t.pop(),set:z(c)}:r.find(t.pop(),t.length===1&&(t[0]==="~"||t[0]==="+")&&a.parentNode?a.parentNode:a,m);n=j.expr?r.filter(j.expr,j.set):j.set;for(t.length>0?g=z(n):o=false;t.length;){j=q=t.pop();p.relative[q]?j=t.pop():q="";j==null&&(j=a);p.relative[q](g,j,m)}}else g=[]}g||(g=n);g||r.error(q||d);if(e.call(g)===
"[object Array]")if(o)if(a&&a.nodeType===1)for(d=0;g[d]!=null;d++)g[d]&&(g[d]===true||g[d].nodeType===1&&r.contains(a,g[d]))&&h.push(n[d]);else for(d=0;g[d]!=null;d++)g[d]&&g[d].nodeType===1&&h.push(n[d]);else h.push.apply(h,g);else z(g,h);if(k){r(k,f,h,c);r.uniqueSort(h)}return h};r.uniqueSort=function(d){if(v){j=n;d.sort(v);if(j)for(var a=1;a<d.length;a++)d[a]===d[a-1]&&d.splice(a--,1)}return d};r.matches=function(d,a){return r(d,null,null,a)};r.matchesSelector=function(d,a){return r(a,null,null,
[d]).length>0};r.find=function(d,a,b){var h,c,f,e,j,n;if(!d)return[];c=0;for(f=p.order.length;c<f;c++){j=p.order[c];if(e=p.leftMatch[j].exec(d)){n=e[1];e.splice(1,1);if(n.substr(n.length-1)!=="\\"){e[1]=(e[1]||"").replace(g,"");h=p.find[j](e,a,b);if(h!=null){d=d.replace(p.match[j],"");break}}}}h||(h=typeof a.getElementsByTagName!=="undefined"?a.getElementsByTagName("*"):[]);return{set:h,expr:d}};r.filter=function(d,a,b,h){for(var c,f,e,j,g,n,k,q,o=d,t=[],x=a,y=a&&a[0]&&r.isXML(a[0]);d&&a.length;){for(e in p.filter)if((c=
p.leftMatch[e].exec(d))!=null&&c[2]){n=p.filter[e];g=c[1];f=false;c.splice(1,1);if(g.substr(g.length-1)!=="\\"){x===t&&(t=[]);if(p.preFilter[e])if(c=p.preFilter[e](c,x,b,t,h,y)){if(c===true)continue}else f=j=true;if(c)for(k=0;(g=x[k])!=null;k++)if(g){j=n(g,c,k,x);q=h^j;if(b&&j!=null)q?f=true:x[k]=false;else if(q){t.push(g);f=true}}if(j!==m){b||(x=t);d=d.replace(p.match[e],"");if(!f)return[];break}}}if(d===o)if(f==null)r.error(d);else break;o=d}return x};r.error=function(d){throw Error("Syntax error, unrecognized expression: "+
d);};var t=r.getText=function(d){var a,b;a=d.nodeType;var h="";if(a)if(a===1||a===9){if(typeof d.textContent==="string")return d.textContent;if(typeof d.innerText==="string")return d.innerText.replace(k,"");for(d=d.firstChild;d;d=d.nextSibling)h=h+t(d)}else{if(a===3||a===4)return d.nodeValue}else for(a=0;b=d[a];a++)b.nodeType!==8&&(h=h+t(b));return h},p=r.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(d){return d.getAttribute("href")},
type:function(d){return d.getAttribute("type")}},relative:{"+":function(d,a){var b=typeof a==="string",h=b&&!q.test(a),b=b&&!h;h&&(a=a.toLowerCase());for(var h=0,c=d.length,f;h<c;h++)if(f=d[h]){for(;(f=f.previousSibling)&&f.nodeType!==1;);d[h]=b||f&&f.nodeName.toLowerCase()===a?f||false:f===a}b&&r.filter(a,d,true)},">":function(d,a){var b,h=typeof a==="string",c=0,f=d.length;if(h&&!q.test(a))for(a=a.toLowerCase();c<f;c++){if(b=d[c]){b=b.parentNode;d[c]=b.nodeName.toLowerCase()===a?b:false}}else{for(;c<
f;c++)(b=d[c])&&(d[c]=h?b.parentNode:b.parentNode===a);h&&r.filter(a,d,true)}},"":function(b,h,c){var e,j=f++,g=a;if(typeof h==="string"&&!q.test(h)){e=h=h.toLowerCase();g=d}g("parentNode",h,j,b,e,c)},"~":function(b,h,c){var e,j=f++,g=a;if(typeof h==="string"&&!q.test(h)){e=h=h.toLowerCase();g=d}g("previousSibling",h,j,b,e,c)}},find:{ID:function(d,a,b){if(typeof a.getElementById!=="undefined"&&!b)return(d=a.getElementById(d[1]))&&d.parentNode?[d]:[]},NAME:function(d,a){if(typeof a.getElementsByName!==
"undefined"){for(var b=[],h=a.getElementsByName(d[1]),c=0,f=h.length;c<f;c++)h[c].getAttribute("name")===d[1]&&b.push(h[c]);return b.length===0?null:b}},TAG:function(d,a){if(typeof a.getElementsByTagName!=="undefined")return a.getElementsByTagName(d[1])}},preFilter:{CLASS:function(d,a,b,h,c,f){d=" "+d[1].replace(g,"")+" ";if(f)return d;for(var f=0,e;(e=a[f])!=null;f++)e&&(c^(e.className&&(" "+e.className+" ").replace(/[\t\n\r]/g," ").indexOf(d)>=0)?b||h.push(e):b&&(a[f]=false));return false},ID:function(d){return d[1].replace(g,
"")},TAG:function(d){return d[1].replace(g,"").toLowerCase()},CHILD:function(d){if(d[1]==="nth"){d[2]||r.error(d[0]);d[2]=d[2].replace(/^\+|\s*/g,"");var a=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(d[2]==="even"&&"2n"||d[2]==="odd"&&"2n+1"||!/\D/.test(d[2])&&"0n+"+d[2]||d[2]);d[2]=a[1]+(a[2]||1)-0;d[3]=a[3]-0}else d[2]&&r.error(d[0]);d[0]=f++;return d},ATTR:function(d,a,b,h,c,f){a=d[1]=d[1].replace(g,"");!f&&p.attrMap[a]&&(d[1]=p.attrMap[a]);d[4]=(d[4]||d[5]||"").replace(g,"");d[2]==="~="&&(d[4]=" "+d[4]+
" ");return d},PSEUDO:function(d,a,h,c,f){if(d[1]==="not")if((b.exec(d[3])||"").length>1||/^\w/.test(d[3]))d[3]=r(d[3],null,null,a);else{d=r.filter(d[3],a,h,1^f);h||c.push.apply(c,d);return false}else if(p.match.POS.test(d[0])||p.match.CHILD.test(d[0]))return true;return d},POS:function(d){d.unshift(true);return d}},filters:{enabled:function(d){return d.disabled===false&&d.type!=="hidden"},disabled:function(d){return d.disabled===true},checked:function(d){return d.checked===true},selected:function(d){d.parentNode&&
d.parentNode.selectedIndex;return d.selected===true},parent:function(d){return!!d.firstChild},empty:function(d){return!d.firstChild},has:function(d,a,b){return!!r(b[3],d).length},header:function(d){return/h\d/i.test(d.nodeName)},text:function(d){var a=d.getAttribute("type"),b=d.type;return d.nodeName.toLowerCase()==="input"&&"text"===b&&(a===b||a===null)},radio:function(d){return d.nodeName.toLowerCase()==="input"&&"radio"===d.type},checkbox:function(d){return d.nodeName.toLowerCase()==="input"&&
"checkbox"===d.type},file:function(d){return d.nodeName.toLowerCase()==="input"&&"file"===d.type},password:function(d){return d.nodeName.toLowerCase()==="input"&&"password"===d.type},submit:function(d){var a=d.nodeName.toLowerCase();return(a==="input"||a==="button")&&"submit"===d.type},image:function(d){return d.nodeName.toLowerCase()==="input"&&"image"===d.type},reset:function(d){var a=d.nodeName.toLowerCase();return(a==="input"||a==="button")&&"reset"===d.type},button:function(d){var a=d.nodeName.toLowerCase();
return a==="input"&&"button"===d.type||a==="button"},input:function(d){return/input|select|textarea|button/i.test(d.nodeName)},focus:function(d){return d===d.ownerDocument.activeElement}},setFilters:{first:function(d,a){return a===0},last:function(d,a,b,h){return a===h.length-1},even:function(d,a){return a%2===0},odd:function(d,a){return a%2===1},lt:function(d,a,b){return a<b[3]-0},gt:function(d,a,b){return a>b[3]-0},nth:function(d,a,b){return b[3]-0===a},eq:function(d,a,b){return b[3]-0===a}},filter:{PSEUDO:function(d,
a,b,h){var c=a[1],f=p.filters[c];if(f)return f(d,b,a,h);if(c==="contains")return(d.textContent||d.innerText||t([d])||"").indexOf(a[3])>=0;if(c==="not"){a=a[3];b=0;for(h=a.length;b<h;b++)if(a[b]===d)return false;return true}r.error(c)},CHILD:function(d,a){var b,h,f,e,j,g;b=a[1];g=d;switch(b){case "only":case "first":for(;g=g.previousSibling;)if(g.nodeType===1)return false;if(b==="first")return true;g=d;case "last":for(;g=g.nextSibling;)if(g.nodeType===1)return false;return true;case "nth":b=a[2];h=
a[3];if(b===1&&h===0)return true;f=a[0];if((e=d.parentNode)&&(e[c]!==f||!d.nodeIndex)){j=0;for(g=e.firstChild;g;g=g.nextSibling)if(g.nodeType===1)g.nodeIndex=++j;e[c]=f}g=d.nodeIndex-h;return b===0?g===0:g%b===0&&g/b>=0}},ID:function(d,a){return d.nodeType===1&&d.getAttribute("id")===a},TAG:function(d,a){return a==="*"&&d.nodeType===1||!!d.nodeName&&d.nodeName.toLowerCase()===a},CLASS:function(d,a){return(" "+(d.className||d.getAttribute("class"))+" ").indexOf(a)>-1},ATTR:function(d,a){var b=a[1],
b=r.attr?r.attr(d,b):p.attrHandle[b]?p.attrHandle[b](d):d[b]!=null?d[b]:d.getAttribute(b),h=b+"",c=a[2],f=a[4];return b==null?c==="!=":!c&&r.attr?b!=null:c==="="?h===f:c==="*="?h.indexOf(f)>=0:c==="~="?(" "+h+" ").indexOf(f)>=0:!f?h&&b!==false:c==="!="?h!==f:c==="^="?h.indexOf(f)===0:c==="$="?h.substr(h.length-f.length)===f:c==="|="?h===f||h.substr(0,f.length+1)===f+"-":false},POS:function(d,a,b,h){var c=p.setFilters[a[2]];if(c)return c(d,b,a,h)}}},x=p.match.POS,y=function(d,a){return"\\"+(a-0+1)},
D;for(D in p.match){p.match[D]=RegExp(p.match[D].source+/(?![^\[]*\])(?![^\(]*\))/.source);p.leftMatch[D]=RegExp(/(^(?:.|\r|\n)*?)/.source+p.match[D].source.replace(/\\(\d+)/g,y))}var z=function(d,a){d=Array.prototype.slice.call(d,0);if(a){a.push.apply(a,d);return a}return d};try{Array.prototype.slice.call(w.documentElement.childNodes,0)[0].nodeType}catch(A){z=function(d,a){var b=0,h=a||[];if(e.call(d)==="[object Array]")Array.prototype.push.apply(h,d);else if(typeof d.length==="number")for(var c=
d.length;b<c;b++)h.push(d[b]);else for(;d[b];b++)h.push(d[b]);return h}}var v,u;if(w.documentElement.compareDocumentPosition)v=function(d,a){if(d===a){j=true;return 0}return!d.compareDocumentPosition||!a.compareDocumentPosition?d.compareDocumentPosition?-1:1:d.compareDocumentPosition(a)&4?-1:1};else{v=function(d,a){if(d===a){j=true;return 0}if(d.sourceIndex&&a.sourceIndex)return d.sourceIndex-a.sourceIndex;var b,h,c=[],f=[];b=d.parentNode;h=a.parentNode;var e=b;if(b===h)return u(d,a);if(b){if(!h)return 1}else return-1;
for(;e;){c.unshift(e);e=e.parentNode}for(e=h;e;){f.unshift(e);e=e.parentNode}b=c.length;h=f.length;for(e=0;e<b&&e<h;e++)if(c[e]!==f[e])return u(c[e],f[e]);return e===b?u(d,f[e],-1):u(c[e],a,1)};u=function(d,a,b){if(d===a)return b;for(d=d.nextSibling;d;){if(d===a)return-1;d=d.nextSibling}return 1}}(function(){var d=w.createElement("div"),a="script"+(new Date).getTime(),b=w.documentElement;d.innerHTML="<a name='"+a+"'/>";b.insertBefore(d,b.firstChild);if(w.getElementById(a)){p.find.ID=function(d,a,
b){if(typeof a.getElementById!=="undefined"&&!b)return(a=a.getElementById(d[1]))?a.id===d[1]||typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id").nodeValue===d[1]?[a]:m:[]};p.filter.ID=function(d,a){var b=typeof d.getAttributeNode!=="undefined"&&d.getAttributeNode("id");return d.nodeType===1&&b&&b.nodeValue===a}}b.removeChild(d);b=d=null})();(function(){var d=w.createElement("div");d.appendChild(w.createComment(""));if(d.getElementsByTagName("*").length>0)p.find.TAG=function(d,a){var b=
a.getElementsByTagName(d[1]);if(d[1]==="*"){for(var h=[],c=0;b[c];c++)b[c].nodeType===1&&h.push(b[c]);b=h}return b};d.innerHTML="<a href='#'></a>";if(d.firstChild&&typeof d.firstChild.getAttribute!=="undefined"&&d.firstChild.getAttribute("href")!=="#")p.attrHandle.href=function(d){return d.getAttribute("href",2)};d=null})();w.querySelectorAll&&function(){var d=r,a=w.createElement("div");a.innerHTML="<p class='TEST'></p>";if(!(a.querySelectorAll&&a.querySelectorAll(".TEST").length===0)){r=function(a,
b,h,c){b=b||w;if(!c&&!r.isXML(b)){var f=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(a);if(f&&(b.nodeType===1||b.nodeType===9)){if(f[1])return z(b.getElementsByTagName(a),h);if(f[2]&&p.find.CLASS&&b.getElementsByClassName)return z(b.getElementsByClassName(f[2]),h)}if(b.nodeType===9){if(a==="body"&&b.body)return z([b.body],h);if(f&&f[3]){var e=b.getElementById(f[3]);if(e&&e.parentNode){if(e.id===f[3])return z([e],h)}else return z([],h)}try{return z(b.querySelectorAll(a),h)}catch(j){}}else if(b.nodeType===
1&&b.nodeName.toLowerCase()!=="object"){var f=b,g=(e=b.getAttribute("id"))||"__sizzle__",n=b.parentNode,k=/^\s*[+~]/.test(a);e?g=g.replace(/'/g,"\\$&"):b.setAttribute("id",g);if(k&&n)b=b.parentNode;try{if(!k||n)return z(b.querySelectorAll("[id='"+g+"'] "+a),h)}catch(q){}finally{e||f.removeAttribute("id")}}}return d(a,b,h,c)};for(var b in d)r[b]=d[b];a=null}}();(function(){var d=w.documentElement,a=d.matchesSelector||d.mozMatchesSelector||d.webkitMatchesSelector||d.msMatchesSelector;if(a){var b=!a.call(w.createElement("div"),
"div"),h=false;try{a.call(w.documentElement,"[test!='']:sizzle")}catch(c){h=true}r.matchesSelector=function(d,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!r.isXML(d))try{if(h||!p.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=a.call(d,c);if(f||!b||d.document&&d.document.nodeType!==11)return f}}catch(e){}return r(c,null,null,[d]).length>0}}})();(function(){var d=w.createElement("div");d.innerHTML="<div class='test e'></div><div class='test'></div>";if(d.getElementsByClassName&&d.getElementsByClassName("e").length!==
0){d.lastChild.className="e";if(d.getElementsByClassName("e").length!==1){p.order.splice(1,0,"CLASS");p.find.CLASS=function(d,a,b){if(typeof a.getElementsByClassName!=="undefined"&&!b)return a.getElementsByClassName(d[1])};d=null}}})();r.contains=w.documentElement.contains?function(d,a){return d!==a&&(d.contains?d.contains(a):true)}:w.documentElement.compareDocumentPosition?function(d,a){return!!(d.compareDocumentPosition(a)&16)}:function(){return false};r.isXML=function(d){return(d=(d?d.ownerDocument||
d:0).documentElement)?d.nodeName!=="HTML":false};var B=function(d,a,b){for(var h,c=[],f="",a=a.nodeType?[a]:a;h=p.match.PSEUDO.exec(d);){f=f+h[0];d=d.replace(p.match.PSEUDO,"")}d=p.relative[d]?d+"*":d;h=0;for(var e=a.length;h<e;h++)r(d,a[h],c,b);return r.filter(f,c)};r.attr=h.attr;r.selectors.attrMap={};h.find=r;h.expr=r.selectors;h.expr[":"]=h.expr.filters;h.unique=r.uniqueSort;h.text=r.getText;h.isXMLDoc=r.isXML;h.contains=r.contains})();var Za=/Until$/,$a=/^(?:parents|prevUntil|prevAll)/,ab=/,/,
La=/^.[^:#\[\.,]*$/,bb=Array.prototype.slice,va=h.expr.match.POS,cb={children:!0,contents:!0,next:!0,prev:!0};h.fn.extend({find:function(d){var a=this,b,c;if(typeof d!=="string")return h(d).filter(function(){b=0;for(c=a.length;b<c;b++)if(h.contains(a[b],this))return true});var f=this.pushStack("","find",d),e,j,g;b=0;for(c=this.length;b<c;b++){e=f.length;h.find(d,this[b],f);if(b>0)for(j=e;j<f.length;j++)for(g=0;g<e;g++)if(f[g]===f[j]){f.splice(j--,1);break}}return f},has:function(d){var a=h(d);return this.filter(function(){for(var d=
0,b=a.length;d<b;d++)if(h.contains(this,a[d]))return true})},not:function(d){return this.pushStack(f(this,d,false),"not",d)},filter:function(d){return this.pushStack(f(this,d,true),"filter",d)},is:function(d){return!!d&&(typeof d==="string"?va.test(d)?h(d,this.context).index(this[0])>=0:h.filter(d,this).length>0:this.filter(d).length>0)},closest:function(d,a){var b=[],c,f,e=this[0];if(h.isArray(d)){for(f=1;e&&e.ownerDocument&&e!==a;){for(c=0;c<d.length;c++)h(e).is(d[c])&&b.push({selector:d[c],elem:e,
level:f});e=e.parentNode;f++}return b}var j=va.test(d)||typeof d!=="string"?h(d,a||this.context):0;c=0;for(f=this.length;c<f;c++)for(e=this[c];e;)if(j?j.index(e)>-1:h.find.matchesSelector(e,d)){b.push(e);break}else{e=e.parentNode;if(!e||!e.ownerDocument||e===a||e.nodeType===11)break}b=b.length>1?h.unique(b):b;return this.pushStack(b,"closest",d)},index:function(d){return!d?this[0]&&this[0].parentNode?this.prevAll().length:-1:typeof d==="string"?h.inArray(this[0],h(d)):h.inArray(d.jquery?d[0]:d,this)},
add:function(d,a){var b=typeof d==="string"?h(d,a):h.makeArray(d&&d.nodeType?[d]:d),c=h.merge(this.get(),b);return this.pushStack(!b[0]||!b[0].parentNode||b[0].parentNode.nodeType===11||!c[0]||!c[0].parentNode||c[0].parentNode.nodeType===11?c:h.unique(c))},andSelf:function(){return this.add(this.prevObject)}});h.each({parent:function(d){return(d=d.parentNode)&&d.nodeType!==11?d:null},parents:function(d){return h.dir(d,"parentNode")},parentsUntil:function(d,a,b){return h.dir(d,"parentNode",b)},next:function(d){return h.nth(d,
2,"nextSibling")},prev:function(d){return h.nth(d,2,"previousSibling")},nextAll:function(d){return h.dir(d,"nextSibling")},prevAll:function(d){return h.dir(d,"previousSibling")},nextUntil:function(d,a,b){return h.dir(d,"nextSibling",b)},prevUntil:function(d,a,b){return h.dir(d,"previousSibling",b)},siblings:function(d){return h.sibling(d.parentNode.firstChild,d)},children:function(d){return h.sibling(d.firstChild)},contents:function(d){return h.nodeName(d,"iframe")?d.contentDocument||d.contentWindow.document:
h.makeArray(d.childNodes)}},function(d,a){h.fn[d]=function(b,c){var f=h.map(this,a,b);Za.test(d)||(c=b);c&&typeof c==="string"&&(f=h.filter(c,f));f=this.length>1&&!cb[d]?h.unique(f):f;if((this.length>1||ab.test(c))&&$a.test(d))f=f.reverse();return this.pushStack(f,d,bb.call(arguments).join(","))}});h.extend({filter:function(d,a,b){b&&(d=":not("+d+")");return a.length===1?h.find.matchesSelector(a[0],d)?[a[0]]:[]:h.find.matches(d,a)},dir:function(d,a,b){for(var c=[],d=d[a];d&&d.nodeType!==9&&(b===m||
d.nodeType!==1||!h(d).is(b));){d.nodeType===1&&c.push(d);d=d[a]}return c},nth:function(d,a,b){for(var a=a||1,h=0;d;d=d[b])if(d.nodeType===1&&++h===a)break;return d},sibling:function(d,a){for(var b=[];d;d=d.nextSibling)d.nodeType===1&&d!==a&&b.push(d);return b}});var ka="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",db=/ jQuery\d+="(?:\d+|null)"/g,ha=/^\s+/,wa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,
xa=/<([\w:]+)/,eb=/<tbody/i,fb=/<|&#?\w+;/,gb=/<(?:script|style)/i,hb=/<(?:script|object|embed|option|style)/i,ya=RegExp("<(?:"+ka+")","i"),za=/checked\s*(?:[^=]|=\s*.checked.)/i,ib=/\/(java|ecma)script/i,Ma=/^\s*<!(?:\[CDATA\[|\-\-)/,H={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],
area:[1,"<map>","</map>"],_default:[0,"",""]},Aa=n(w);H.optgroup=H.option;H.tbody=H.tfoot=H.colgroup=H.caption=H.thead;H.th=H.td;h.support.htmlSerialize||(H._default=[1,"div<div>","</div>"]);h.fn.extend({text:function(d){return h.isFunction(d)?this.each(function(a){var b=h(this);b.text(d.call(this,a,b.text()))}):typeof d!=="object"&&d!==m?this.empty().append((this[0]&&this[0].ownerDocument||w).createTextNode(d)):h.text(this)},wrapAll:function(d){if(h.isFunction(d))return this.each(function(a){h(this).wrapAll(d.call(this,
a))});if(this[0]){var a=h(d,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&a.insertBefore(this[0]);a.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},wrapInner:function(d){return h.isFunction(d)?this.each(function(a){h(this).wrapInner(d.call(this,a))}):this.each(function(){var a=h(this),b=a.contents();b.length?b.wrapAll(d):a.append(d)})},wrap:function(d){var a=h.isFunction(d);return this.each(function(b){h(this).wrapAll(a?
d.call(this,b):d)})},unwrap:function(){return this.parent().each(function(){h.nodeName(this,"body")||h(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(d){this.nodeType===1&&this.appendChild(d)})},prepend:function(){return this.domManip(arguments,true,function(d){this.nodeType===1&&this.insertBefore(d,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(d){this.parentNode.insertBefore(d,
this)});if(arguments.length){var d=h.clean(arguments);d.push.apply(d,this.toArray());return this.pushStack(d,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(d){this.parentNode.insertBefore(d,this.nextSibling)});if(arguments.length){var d=this.pushStack(this,"after",arguments);d.push.apply(d,h.clean(arguments));return d}},remove:function(d,a){for(var b=0,c;(c=this[b])!=null;b++)if(!d||h.filter(d,[c]).length){if(!a&&c.nodeType===1){h.cleanData(c.getElementsByTagName("*"));
h.cleanData([c])}c.parentNode&&c.parentNode.removeChild(c)}return this},empty:function(){for(var d=0,a;(a=this[d])!=null;d++)for(a.nodeType===1&&h.cleanData(a.getElementsByTagName("*"));a.firstChild;)a.removeChild(a.firstChild);return this},clone:function(d,a){d=d==null?false:d;a=a==null?d:a;return this.map(function(){return h.clone(this,d,a)})},html:function(d){if(d===m)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(db,""):null;if(typeof d==="string"&&!gb.test(d)&&(h.support.leadingWhitespace||
!ha.test(d))&&!H[(xa.exec(d)||["",""])[1].toLowerCase()]){d=d.replace(wa,"<$1></$2>");try{for(var a=0,b=this.length;a<b;a++)if(this[a].nodeType===1){h.cleanData(this[a].getElementsByTagName("*"));this[a].innerHTML=d}}catch(c){this.empty().append(d)}}else h.isFunction(d)?this.each(function(a){var b=h(this);b.html(d.call(this,a,b.html()))}):this.empty().append(d);return this},replaceWith:function(d){if(this[0]&&this[0].parentNode){if(h.isFunction(d))return this.each(function(a){var b=h(this),c=b.html();
b.replaceWith(d.call(this,a,c))});typeof d!=="string"&&(d=h(d).detach());return this.each(function(){var a=this.nextSibling,b=this.parentNode;h(this).remove();a?h(a).before(d):h(b).append(d)})}return this.length?this.pushStack(h(h.isFunction(d)?d():d),"replaceWith",d):this},detach:function(d){return this.remove(d,true)},domManip:function(d,a,b){var c,f,e,j=d[0],g=[];if(!h.support.checkClone&&arguments.length===3&&typeof j==="string"&&za.test(j))return this.each(function(){h(this).domManip(d,a,b,true)});
if(h.isFunction(j))return this.each(function(c){var f=h(this);d[0]=j.call(this,c,a?f.html():m);f.domManip(d,a,b)});if(this[0]){c=j&&j.parentNode;c=h.support.parentNode&&c&&c.nodeType===11&&c.childNodes.length===this.length?{fragment:c}:h.buildFragment(d,this,g);e=c.fragment;if(f=e.childNodes.length===1?e=e.firstChild:e.firstChild){a=a&&h.nodeName(f,"tr");f=0;for(var n=this.length,k=n-1;f<n;f++)b.call(a?h.nodeName(this[f],"table")?this[f].getElementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.createElement("tbody")):
this[f]:this[f],c.cacheable||n>1&&f<k?h.clone(e,true,true):e)}g.length&&h.each(g,q)}return this}});h.buildFragment=function(d,a,b){var c,f,e,j,g=d[0];a&&a[0]&&(j=a[0].ownerDocument||a[0]);j.createDocumentFragment||(j=w);if(d.length===1&&typeof g==="string"&&g.length<512&&j===w&&g.charAt(0)==="<"&&!hb.test(g)&&(h.support.checkClone||!za.test(g))&&(h.support.html5Clone||!ya.test(g))){f=true;(e=h.fragments[g])&&e!==1&&(c=e)}if(!c){c=j.createDocumentFragment();h.clean(d,j,c,b)}f&&(h.fragments[g]=e?c:
1);return{fragment:c,cacheable:f}};h.fragments={};h.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(d,a){h.fn[d]=function(b){var c=[],b=h(b),f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&b.length===1){b[a](this[0]);return this}for(var f=0,e=b.length;f<e;f++){var j=(f>0?this.clone(true):this).get();h(b[f])[a](j);c=c.concat(j)}return this.pushStack(c,d,b.selector)}});h.extend({clone:function(d,
a,b){var c,f,e;if(h.support.html5Clone||!ya.test("<"+d.nodeName))c=d.cloneNode(true);else{c=w.createElement("div");Aa.appendChild(c);c.innerHTML=d.outerHTML;c=c.firstChild}var j=c;if((!h.support.noCloneEvent||!h.support.noCloneChecked)&&(d.nodeType===1||d.nodeType===11)&&!h.isXMLDoc(d)){u(d,j);c=s(d);f=s(j);for(e=0;c[e];++e)f[e]&&u(c[e],f[e])}if(a){v(d,j);if(b){c=s(d);f=s(j);for(e=0;c[e];++e)v(c[e],f[e])}}return j},clean:function(d,a,b,c){a=a||w;typeof a.createElement==="undefined"&&(a=a.ownerDocument||
a[0]&&a[0].ownerDocument||w);for(var f=[],e,j=0,g;(g=d[j])!=null;j++){typeof g==="number"&&(g=g+"");if(g){if(typeof g==="string")if(fb.test(g)){g=g.replace(wa,"<$1></$2>");e=(xa.exec(g)||["",""])[1].toLowerCase();var k=H[e]||H._default,q=k[0],r=a.createElement("div");a===w?Aa.appendChild(r):n(a).appendChild(r);for(r.innerHTML=k[1]+g+k[2];q--;)r=r.lastChild;if(!h.support.tbody){q=eb.test(g);k=e==="table"&&!q?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!q?r.childNodes:[];for(e=k.length-
1;e>=0;--e)h.nodeName(k[e],"tbody")&&!k[e].childNodes.length&&k[e].parentNode.removeChild(k[e])}!h.support.leadingWhitespace&&ha.test(g)&&r.insertBefore(a.createTextNode(ha.exec(g)[0]),r.firstChild);g=r.childNodes}else g=a.createTextNode(g);var m;if(!h.support.appendChecked)if(g[0]&&typeof(m=g.length)==="number")for(e=0;e<m;e++)y(g[e]);else y(g);g.nodeType?f.push(g):f=h.merge(f,g)}}if(b){d=function(d){return!d.type||ib.test(d.type)};for(j=0;f[j];j++)if(c&&h.nodeName(f[j],"script")&&(!f[j].type||f[j].type.toLowerCase()===
"text/javascript"))c.push(f[j].parentNode?f[j].parentNode.removeChild(f[j]):f[j]);else{if(f[j].nodeType===1){a=h.grep(f[j].getElementsByTagName("script"),d);f.splice.apply(f,[j+1,0].concat(a))}b.appendChild(f[j])}}return f},cleanData:function(d){for(var a,b,c=h.cache,f=h.event.special,e=h.support.deleteExpando,j=0,g;(g=d[j])!=null;j++)if(!g.nodeName||!h.noData[g.nodeName.toLowerCase()])if(b=g[h.expando]){if((a=c[b])&&a.events){for(var n in a.events)f[n]?h.event.remove(g,n):h.removeEvent(g,n,a.handle);
if(a.handle)a.handle.elem=null}e?delete g[h.expando]:g.removeAttribute&&g.removeAttribute(h.expando);delete c[b]}}});var ia=/alpha\([^)]*\)/i,jb=/opacity=([^)]*)/,kb=/([A-Z]|^ms)/g,Ba=/^-?\d+(?:px)?$/i,lb=/^-?\d/,mb=/^([\-+])=([\-+.\de]+)/,nb={position:"absolute",visibility:"hidden",display:"block"},Na=["Left","Right"],Oa=["Top","Bottom"],S,Ca,Da;h.fn.css=function(d,a){return arguments.length===2&&a===m?this:h.access(this,d,a,true,function(d,a,b){return b!==m?h.style(d,a,b):h.css(d,a)})};h.extend({cssHooks:{opacity:{get:function(d,
a){if(a){var b=S(d,"opacity","opacity");return b===""?"1":b}return d.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":h.support.cssFloat?"cssFloat":"styleFloat"},style:function(d,a,b,c){if(d&&!(d.nodeType===3||d.nodeType===8||!d.style)){var f,e=h.camelCase(a),j=d.style,g=h.cssHooks[e],a=h.cssProps[e]||e;if(b!==m){c=typeof b;if(c==="string"&&(f=mb.exec(b))){b=+(f[1]+1)*+f[2]+parseFloat(h.css(d,a));c="number"}if(!(b==
null||c==="number"&&isNaN(b))){c==="number"&&!h.cssNumber[e]&&(b=b+"px");if(!g||!("set"in g)||(b=g.set(d,b))!==m)try{j[a]=b}catch(n){}}}else return g&&"get"in g&&(f=g.get(d,false,c))!==m?f:j[a]}},css:function(d,a,b){var c,f,a=h.camelCase(a);f=h.cssHooks[a];a=h.cssProps[a]||a;a==="cssFloat"&&(a="float");if(f&&"get"in f&&(c=f.get(d,true,b))!==m)return c;if(S)return S(d,a)},swap:function(d,a,b){var h={},c;for(c in a){h[c]=d.style[c];d.style[c]=a[c]}b.call(d);for(c in a)d.style[c]=h[c]}});h.curCSS=h.css;
h.each(["height","width"],function(d,a){h.cssHooks[a]={get:function(d,b,c){var f;if(b){if(d.offsetWidth!==0)return x(d,a,c);h.swap(d,nb,function(){f=x(d,a,c)});return f}},set:function(d,a){if(Ba.test(a)){a=parseFloat(a);if(a>=0)return a+"px"}else return a}}});h.support.opacity||(h.cssHooks.opacity={get:function(d,a){return jb.test((a&&d.currentStyle?d.currentStyle.filter:d.style.filter)||"")?parseFloat(RegExp.$1)/100+"":a?"1":""},set:function(d,a){var b=d.style,c=d.currentStyle,f=h.isNumeric(a)?"alpha(opacity="+
a*100+")":"",e=c&&c.filter||b.filter||"";b.zoom=1;if(a>=1&&h.trim(e.replace(ia,""))===""){b.removeAttribute("filter");if(c&&!c.filter)return}b.filter=ia.test(e)?e.replace(ia,f):e+" "+f}});h(function(){if(!h.support.reliableMarginRight)h.cssHooks.marginRight={get:function(d,a){var b;h.swap(d,{display:"inline-block"},function(){b=a?S(d,"margin-right","marginRight"):d.style.marginRight});return b}}});w.defaultView&&w.defaultView.getComputedStyle&&(Ca=function(d,a){var b,c,f,a=a.replace(kb,"-$1").toLowerCase();
if((c=d.ownerDocument.defaultView)&&(f=c.getComputedStyle(d,null))){b=f.getPropertyValue(a);b===""&&!h.contains(d.ownerDocument.documentElement,d)&&(b=h.style(d,a))}return b});w.documentElement.currentStyle&&(Da=function(d,a){var b,h,c=d.currentStyle&&d.currentStyle[a],f=d.style;if(c===null&&f&&(b=f[a]))c=b;if(!Ba.test(c)&&lb.test(c)){b=f.left;if(h=d.runtimeStyle&&d.runtimeStyle.left)d.runtimeStyle.left=d.currentStyle.left;f.left=a==="fontSize"?"1em":c||0;c=f.pixelLeft+"px";f.left=b;if(h)d.runtimeStyle.left=
h}return c===""?"auto":c});S=Ca||Da;h.expr&&h.expr.filters&&(h.expr.filters.hidden=function(d){var a=d.offsetHeight;return d.offsetWidth===0&&a===0||!h.support.reliableHiddenOffsets&&(d.style&&d.style.display||h.css(d,"display"))==="none"},h.expr.filters.visible=function(d){return!h.expr.filters.hidden(d)});var ob=/%20/g,Pa=/\[\]$/,Ea=/\r?\n/g,pb=/#.*$/,qb=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,rb=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
sb=/^(?:GET|HEAD)$/,tb=/^\/\//,Fa=/\?/,ub=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,vb=/^(?:select|textarea)/i,la=/\s+/,wb=/([?&])_=[^&]*/,Ga=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,Ha=h.fn.load,da={},Ia={},Q,R,Ja=["*/"]+["*"];try{Q=K.href}catch(Cb){Q=w.createElement("a"),Q.href="",Q=Q.href}R=Ga.exec(Q.toLowerCase())||[];h.fn.extend({load:function(d,a,b){if(typeof d!=="string"&&Ha)return Ha.apply(this,arguments);if(!this.length)return this;var c=d.indexOf(" ");if(c>=0)var f=d.slice(c,
d.length),d=d.slice(0,c);c="GET";if(a)if(h.isFunction(a)){b=a;a=m}else if(typeof a==="object"){a=h.param(a,h.ajaxSettings.traditional);c="POST"}var e=this;h.ajax({url:d,type:c,dataType:"html",data:a,complete:function(d,a,c){c=d.responseText;if(d.isResolved()){d.done(function(d){c=d});e.html(f?h("<div>").append(c.replace(ub,"")).find(f):c)}b&&e.each(b,[c,a,d])}});return this},serialize:function(){return h.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?
h.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||vb.test(this.nodeName)||rb.test(this.type))}).map(function(d,a){var b=h(this).val();return b==null?null:h.isArray(b)?h.map(b,function(d){return{name:a.name,value:d.replace(Ea,"\r\n")}}):{name:a.name,value:b.replace(Ea,"\r\n")}}).get()}});h.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(d,a){h.fn[a]=function(d){return this.on(a,d)}});h.each(["get","post"],
function(d,a){h[a]=function(d,b,c,f){if(h.isFunction(b)){f=f||c;c=b;b=m}return h.ajax({type:a,url:d,data:b,success:c,dataType:f})}});h.extend({getScript:function(d,a){return h.get(d,m,a,"script")},getJSON:function(d,a,b){return h.get(d,a,b,"json")},ajaxSetup:function(d,a){if(a)r(d,h.ajaxSettings);else{a=d;d=h.ajaxSettings}r(d,a);return d},ajaxSettings:{url:Q,isLocal:/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/.test(R[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",
processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Ja},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":c.String,"text html":!0,"text json":h.parseJSON,"text xml":h.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:A(da),ajaxTransport:A(Ia),ajax:function(d,a){function b(d,a,q,r){if(z!==2){z=2;y&&clearTimeout(y);x=m;t=r||"";u.readyState=
d>0?4:0;var p,o,D,r=a;if(q){var v=c,B=u,K=v.contents,E=v.dataTypes,s=v.responseFields,w,C,F,O;for(C in s)C in q&&(B[s[C]]=q[C]);for(;E[0]==="*";){E.shift();w===m&&(w=v.mimeType||B.getResponseHeader("content-type"))}if(w)for(C in K)if(K[C]&&K[C].test(w)){E.unshift(C);break}if(E[0]in q)F=E[0];else{for(C in q){if(!E[0]||v.converters[C+" "+E[0]]){F=C;break}O||(O=C)}F=F||O}if(F){F!==E[0]&&E.unshift(F);q=q[F]}else q=void 0}else q=m;if(d>=200&&d<300||d===304){if(c.ifModified){if(w=u.getResponseHeader("Last-Modified"))h.lastModified[k]=
w;if(w=u.getResponseHeader("Etag"))h.etag[k]=w}if(d===304){r="notmodified";p=true}else try{w=c;w.dataFilter&&(q=w.dataFilter(q,w.dataType));var ba=w.dataTypes;C={};var L,G,ca=ba.length,J,N=ba[0],U,fa,H,P,I;for(L=1;L<ca;L++){if(L===1)for(G in w.converters)typeof G==="string"&&(C[G.toLowerCase()]=w.converters[G]);U=N;N=ba[L];if(N==="*")N=U;else if(U!=="*"&&U!==N){fa=U+" "+N;H=C[fa]||C["* "+N];if(!H){I=m;for(P in C){J=P.split(" ");if(J[0]===U||J[0]==="*")if(I=C[J[1]+" "+N]){P=C[P];P===true?H=I:I===true&&
(H=P);break}}}!H&&!I&&h.error("No conversion from "+fa.replace(" "," to "));H!==true&&(q=H?H(q):I(P(q)))}}o=q;r="success";p=true}catch(M){r="parsererror";D=M}}else{D=r;if(!r||d){r="error";d<0&&(d=0)}}u.status=d;u.statusText=""+(a||r);p?j.resolveWith(f,[o,r,u]):j.rejectWith(f,[u,r,D]);u.statusCode(n);n=m;A&&e.trigger("ajax"+(p?"Success":"Error"),[u,c,p?o:D]);g.fireWith(f,[u,r]);if(A){e.trigger("ajaxComplete",[u,c]);--h.active||h.event.trigger("ajaxStop")}}}if(typeof d==="object"){a=d;d=m}var a=a||
{},c=h.ajaxSetup({},a),f=c.context||c,e=f!==c&&(f.nodeType||f instanceof h)?h(f):h.event,j=h.Deferred(),g=h.Callbacks("once memory"),n=c.statusCode||{},k,q={},r={},t,p,x,y,D,z=0,A,v,u={readyState:0,setRequestHeader:function(d,a){if(!z){var b=d.toLowerCase(),d=r[b]=r[b]||d;q[d]=a}return this},getAllResponseHeaders:function(){return z===2?t:null},getResponseHeader:function(d){var a;if(z===2){if(!p)for(p={};a=qb.exec(t);)p[a[1].toLowerCase()]=a[2];a=p[d.toLowerCase()]}return a===m?null:a},overrideMimeType:function(d){if(!z)c.mimeType=
d;return this},abort:function(d){d=d||"abort";x&&x.abort(d);b(0,d);return this}};j.promise(u);u.success=u.done;u.error=u.fail;u.complete=g.add;u.statusCode=function(d){if(d){var a;if(z<2)for(a in d)n[a]=[n[a],d[a]];else{a=d[u.status];u.then(a,a)}}return this};c.url=((d||c.url)+"").replace(pb,"").replace(tb,R[1]+"//");c.dataTypes=h.trim(c.dataType||"*").toLowerCase().split(la);if(c.crossDomain==null){D=Ga.exec(c.url.toLowerCase());c.crossDomain=!(!D||!(D[1]!=R[1]||D[2]!=R[2]||(D[3]||(D[1]==="http:"?
80:443))!=(R[3]||(R[1]==="http:"?80:443))))}if(c.data&&c.processData&&typeof c.data!=="string")c.data=h.param(c.data,c.traditional);B(da,c,a,u);if(z===2)return false;A=c.global;c.type=c.type.toUpperCase();c.hasContent=!sb.test(c.type);A&&h.active++===0&&h.event.trigger("ajaxStart");if(!c.hasContent){if(c.data){c.url=c.url+((Fa.test(c.url)?"&":"?")+c.data);delete c.data}k=c.url;if(c.cache===false){D=h.now();var K=c.url.replace(wb,"$1_="+D);c.url=K+(K===c.url?(Fa.test(c.url)?"&":"?")+"_="+D:"")}}(c.data&&
c.hasContent&&c.contentType!==false||a.contentType)&&u.setRequestHeader("Content-Type",c.contentType);if(c.ifModified){k=k||c.url;h.lastModified[k]&&u.setRequestHeader("If-Modified-Since",h.lastModified[k]);h.etag[k]&&u.setRequestHeader("If-None-Match",h.etag[k])}u.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Ja+"; q=0.01":""):c.accepts["*"]);for(v in c.headers)u.setRequestHeader(v,c.headers[v]);if(c.beforeSend&&(c.beforeSend.call(f,
u,c)===false||z===2)){u.abort();return false}for(v in{success:1,error:1,complete:1})u[v](c[v]);if(x=B(Ia,c,a,u)){u.readyState=1;A&&e.trigger("ajaxSend",[u,c]);c.async&&c.timeout>0&&(y=setTimeout(function(){u.abort("timeout")},c.timeout));try{z=1;x.send(q,b)}catch(E){if(z<2)b(-1,E);else throw E;}}else b(-1,"No Transport");return u},param:function(d,a){var b=[],c=function(d,a){a=h.isFunction(a)?a():a;b[b.length]=encodeURIComponent(d)+"="+encodeURIComponent(a)};if(a===m)a=h.ajaxSettings.traditional;
if(h.isArray(d)||d.jquery&&!h.isPlainObject(d))h.each(d,function(){c(this.name,this.value)});else for(var f in d)p(f,d[f],a,c);return b.join("&").replace(ob,"+")}});h.extend({active:0,lastModified:{},etag:{}});var xb=h.now(),Z=/(\=)\?(&|$)|\?\?/i;h.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return h.expando+"_"+xb++}});h.ajaxPrefilter("json jsonp",function(d,a,b){a=d.contentType==="application/x-www-form-urlencoded"&&typeof d.data==="string";if(d.dataTypes[0]==="jsonp"||d.jsonp!==false&&
(Z.test(d.url)||a&&Z.test(d.data))){var f,e=d.jsonpCallback=h.isFunction(d.jsonpCallback)?d.jsonpCallback():d.jsonpCallback,j=c[e],g=d.url,n=d.data,k="$1"+e+"$2";if(d.jsonp!==false){g=g.replace(Z,k);if(d.url===g){a&&(n=n.replace(Z,k));d.data===n&&(g=g+((/\?/.test(g)?"&":"?")+d.jsonp+"="+e))}}d.url=g;d.data=n;c[e]=function(d){f=[d]};b.always(function(){c[e]=j;if(f&&h.isFunction(j))c[e](f[0])});d.converters["script json"]=function(){f||h.error(e+" was not called");return f[0]};d.dataTypes[0]="json";
return"script"}});h.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(d){h.globalEval(d);return d}}});h.ajaxPrefilter("script",function(d){if(d.cache===m)d.cache=false;if(d.crossDomain){d.type="GET";d.global=false}});h.ajaxTransport("script",function(d){if(d.crossDomain){var a,b=w.head||w.getElementsByTagName("head")[0]||w.documentElement;return{send:function(c,
h){a=w.createElement("script");a.async="async";if(d.scriptCharset)a.charset=d.scriptCharset;a.src=d.url;a.onload=a.onreadystatechange=function(d,c){if(c||!a.readyState||/loaded|complete/.test(a.readyState)){a.onload=a.onreadystatechange=null;b&&a.parentNode&&b.removeChild(a);a=m;c||h(200,"success")}};b.insertBefore(a,b.firstChild)},abort:function(){if(a)a.onload(0,1)}}}});var ja=c.ActiveXObject?function(){for(var d in V)V[d](0,1)}:!1,yb=0,V;h.ajaxSettings.xhr=c.ActiveXObject?function(){var d;if(!(d=
!this.isLocal&&z()))a:{try{d=new c.ActiveXObject("Microsoft.XMLHTTP");break a}catch(a){}d=void 0}return d}:z;(function(d){h.extend(h.support,{ajax:!!d,cors:!!d&&"withCredentials"in d})})(h.ajaxSettings.xhr());h.support.ajax&&h.ajaxTransport(function(d){if(!d.crossDomain||h.support.cors){var a;return{send:function(b,f){var e=d.xhr(),j,g;d.username?e.open(d.type,d.url,d.async,d.username,d.password):e.open(d.type,d.url,d.async);if(d.xhrFields)for(g in d.xhrFields)e[g]=d.xhrFields[g];d.mimeType&&e.overrideMimeType&&
e.overrideMimeType(d.mimeType);!d.crossDomain&&!b["X-Requested-With"]&&(b["X-Requested-With"]="XMLHttpRequest");try{for(g in b)e.setRequestHeader(g,b[g])}catch(n){}e.send(d.hasContent&&d.data||null);a=function(b,c){var g,n,k,q,r;try{if(a&&(c||e.readyState===4)){a=m;if(j){e.onreadystatechange=h.noop;ja&&delete V[j]}if(c)e.readyState!==4&&e.abort();else{g=e.status;k=e.getAllResponseHeaders();q={};if((r=e.responseXML)&&r.documentElement)q.xml=r;q.text=e.responseText;try{n=e.statusText}catch(t){n=""}!g&&
d.isLocal&&!d.crossDomain?g=q.text?200:404:g===1223&&(g=204)}}}catch(p){c||f(-1,p)}q&&f(g,n,q,k)};if(!d.async||e.readyState===4)a();else{j=++yb;if(ja){if(!V){V={};h(c).unload(ja)}V[j]=a}e.onreadystatechange=a}},abort:function(){a&&a(0,1)}}}});var ea={},I,T,zb=/^(?:toggle|show|hide)$/,Ab=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,aa,ma=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],W;h.fn.extend({show:function(d,
a,b){if(d||d===0)return this.animate(F("show",3),d,a,b);for(var b=0,c=this.length;b<c;b++){d=this[b];if(d.style){a=d.style.display;if(!h._data(d,"olddisplay")&&a==="none")a=d.style.display="";a===""&&h.css(d,"display")==="none"&&h._data(d,"olddisplay",G(d.nodeName))}}for(b=0;b<c;b++){d=this[b];if(d.style){a=d.style.display;if(a===""||a==="none")d.style.display=h._data(d,"olddisplay")||""}}return this},hide:function(d,a,b){if(d||d===0)return this.animate(F("hide",3),d,a,b);for(var b=0,c=this.length;b<
c;b++){d=this[b];if(d.style){a=h.css(d,"display");a!=="none"&&!h._data(d,"olddisplay")&&h._data(d,"olddisplay",a)}}for(b=0;b<c;b++)if(this[b].style)this[b].style.display="none";return this},_toggle:h.fn.toggle,toggle:function(d,a,b){var c=typeof d==="boolean";h.isFunction(d)&&h.isFunction(a)?this._toggle.apply(this,arguments):d==null||c?this.each(function(){var a=c?d:h(this).is(":hidden");h(this)[a?"show":"hide"]()}):this.animate(F("toggle",3),d,a,b);return this},fadeTo:function(d,a,b,c){return this.filter(":hidden").css("opacity",
0).show().end().animate({opacity:a},d,b,c)},animate:function(d,a,b,c){function f(){e.queue===false&&h._mark(this);var a=h.extend({},e),b=this.nodeType===1,c=b&&h(this).is(":hidden"),g,j,n,k,q;a.animatedProperties={};for(n in d){g=h.camelCase(n);if(n!==g){d[g]=d[n];delete d[n]}j=d[g];if(h.isArray(j)){a.animatedProperties[g]=j[1];j=d[g]=j[0]}else a.animatedProperties[g]=a.specialEasing&&a.specialEasing[g]||a.easing||"swing";if(j==="hide"&&c||j==="show"&&!c)return a.complete.call(this);if(b&&(g==="height"||
g==="width")){a.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(h.css(this,"display")==="inline"&&h.css(this,"float")==="none")!h.support.inlineBlockNeedsLayout||G(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1}}if(a.overflow!=null)this.style.overflow="hidden";for(n in d){b=new h.fx(this,a,n);j=d[n];if(zb.test(j))if(g=h._data(this,"toggle"+n)||(j==="toggle"?c?"show":"hide":0)){h._data(this,"toggle"+n,g==="show"?"hide":"show");b[g]()}else b[j]();
else{g=Ab.exec(j);k=b.cur();if(g){j=parseFloat(g[2]);q=g[3]||(h.cssNumber[n]?"":"px");if(q!=="px"){h.style(this,n,(j||1)+q);k=(j||1)/b.cur()*k;h.style(this,n,k+q)}g[1]&&(j=(g[1]==="-="?-1:1)*j+k);b.custom(k,j,q)}else b.custom(k,j,"")}}return true}var e=h.speed(a,b,c);if(h.isEmptyObject(d))return this.each(e.complete,[false]);d=h.extend({},d);return e.queue===false?this.each(f):this.queue(e.queue,f)},stop:function(d,a,b){if(typeof d!=="string"){b=a;a=d;d=m}a&&d!==false&&this.queue(d||"fx",[]);return this.each(function(){var a,
c=false,f=h.timers,e=h._data(this);b||h._unmark(true,this);if(d==null)for(a in e){if(e[a]&&e[a].stop&&a.indexOf(".run")===a.length-4){var g=e[a];h.removeData(this,a,true);g.stop(b)}}else if(e[a=d+".run"]&&e[a].stop){e=e[a];h.removeData(this,a,true);e.stop(b)}for(a=f.length;a--;)if(f[a].elem===this&&(d==null||f[a].queue===d)){if(b)f[a](true);else f[a].saveState();c=true;f.splice(a,1)}(!b||!c)&&h.dequeue(this,d)})}});h.each({slideDown:F("show",1),slideUp:F("hide",1),slideToggle:F("toggle",1),fadeIn:{opacity:"show"},
fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){h.fn[a]=function(a,d,c){return this.animate(b,a,d,c)}});h.extend({speed:function(a,b,c){var f=a&&typeof a==="object"?h.extend({},a):{complete:c||!c&&b||h.isFunction(a)&&a,duration:a,easing:c&&b||b&&!h.isFunction(b)&&b};f.duration=h.fx.off?0:typeof f.duration==="number"?f.duration:f.duration in h.fx.speeds?h.fx.speeds[f.duration]:h.fx.speeds._default;if(f.queue==null||f.queue===true)f.queue="fx";f.old=f.complete;f.complete=function(a){h.isFunction(f.old)&&
f.old.call(this);f.queue?h.dequeue(this,f.queue):a!==false&&h._unmark(this)};return f},easing:{linear:function(a,b,c,f){return c+f*a},swing:function(a,b,c,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+c}},timers:[],fx:function(a,b,c){this.options=b;this.elem=a;this.prop=c;b.orig=b.orig||{}}});h.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(h.fx.step[this.prop]||h.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||
this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=h.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function f(a){return e.step(a)}var e=this,g=h.fx;this.startTime=W||E();this.end=b;this.now=this.start=a;this.pos=this.state=0;this.unit=c||this.unit||(h.cssNumber[this.prop]?"":"px");f.queue=this.options.queue;f.elem=this.elem;f.saveState=function(){e.options.hide&&h._data(e.elem,"fxshow"+e.prop)===m&&h._data(e.elem,"fxshow"+e.prop,
e.start)};f()&&h.timers.push(f)&&!aa&&(aa=setInterval(g.tick,g.interval))},show:function(){var a=h._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||h.style(this.elem,this.prop);this.options.show=true;a!==m?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());h(this.elem).show()},hide:function(){this.options.orig[this.prop]=h._data(this.elem,"fxshow"+this.prop)||h.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),
0)},step:function(a){var b,c=W||E(),f=true,e=this.elem,g=this.options;if(a||c>=g.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();g.animatedProperties[this.prop]=true;for(b in g.animatedProperties)g.animatedProperties[b]!==true&&(f=false);if(f){g.overflow!=null&&!h.support.shrinkWrapBlocks&&h.each(["","X","Y"],function(a,d){e.style["overflow"+d]=g.overflow[a]});g.hide&&h(e).hide();if(g.hide||g.show)for(b in g.animatedProperties){h.style(e,b,g.orig[b]);h.removeData(e,
"fxshow"+b,true);h.removeData(e,"toggle"+b,true)}if(a=g.complete){g.complete=false;a.call(e)}}return false}if(g.duration==Infinity)this.now=c;else{a=c-this.startTime;this.state=a/g.duration;this.pos=h.easing[g.animatedProperties[this.prop]](this.state,a,0,1,g.duration);this.now=this.start+(this.end-this.start)*this.pos}this.update();return true}};h.extend(h.fx,{tick:function(){for(var a,b=h.timers,c=0;c<b.length;c++){a=b[c];!a()&&b[c]===a&&b.splice(c--,1)}b.length||h.fx.stop()},interval:13,stop:function(){clearInterval(aa);
aa=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){h.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}});h.each(["width","height"],function(a,b){h.fx.step[b]=function(a){h.style(a.elem,b,Math.max(0,a.now)+a.unit)}});h.expr&&h.expr.filters&&(h.expr.filters.animated=function(a){return h.grep(h.timers,function(b){return a===b.elem}).length});var Bb=/^t(?:able|d|h)$/i,Ka=/^(?:body|html)$/i;
h.fn.offset="getBoundingClientRect"in w.documentElement?function(a){var b=this[0],c;if(a)return this.each(function(b){h.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return h.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(f){}var e=b.ownerDocument,g=e.documentElement;if(!c||!h.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};b=e.body;e=J(e);return{top:c.top+(e.pageYOffset||h.support.boxModel&&g.scrollTop||b.scrollTop)-(g.clientTop||
b.clientTop||0),left:c.left+(e.pageXOffset||h.support.boxModel&&g.scrollLeft||b.scrollLeft)-(g.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(b){h.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return h.offset.bodyOffset(b);var c,f=b.offsetParent,e=b.ownerDocument,g=e.documentElement,j=e.body;c=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var n=b.offsetTop,k=b.offsetLeft;(b=b.parentNode)&&b!==
j&&b!==g;){if(h.support.fixedPosition&&c.position==="fixed")break;c=e?e.getComputedStyle(b,null):b.currentStyle;n=n-b.scrollTop;k=k-b.scrollLeft;if(b===f){n=n+b.offsetTop;k=k+b.offsetLeft;if(h.support.doesNotAddBorder&&(!h.support.doesAddBorderForTableAndCells||!Bb.test(b.nodeName))){n=n+(parseFloat(c.borderTopWidth)||0);k=k+(parseFloat(c.borderLeftWidth)||0)}f=b.offsetParent}if(h.support.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"){n=n+(parseFloat(c.borderTopWidth)||0);k=k+(parseFloat(c.borderLeftWidth)||
0)}}if(c.position==="relative"||c.position==="static"){n=n+j.offsetTop;k=k+j.offsetLeft}if(h.support.fixedPosition&&c.position==="fixed"){n=n+Math.max(g.scrollTop,j.scrollTop);k=k+Math.max(g.scrollLeft,j.scrollLeft)}return{top:n,left:k}};h.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;if(h.support.doesNotIncludeMarginInBodyOffset){b=b+(parseFloat(h.css(a,"marginTop"))||0);c=c+(parseFloat(h.css(a,"marginLeft"))||0)}return{top:b,left:c}},setOffset:function(a,b,c){var f=h.css(a,"position");
if(f==="static")a.style.position="relative";var e=h(a),g=e.offset(),j=h.css(a,"top"),n=h.css(a,"left"),k={},q={};if((f==="absolute"||f==="fixed")&&h.inArray("auto",[j,n])>-1){q=e.position();f=q.top;n=q.left}else{f=parseFloat(j)||0;n=parseFloat(n)||0}h.isFunction(b)&&(b=b.call(a,c,g));if(b.top!=null)k.top=b.top-g.top+f;if(b.left!=null)k.left=b.left-g.left+n;"using"in b?b.using.call(a,k):e.css(k)}};h.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),
f=Ka.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top=c.top-(parseFloat(h.css(a,"marginTop"))||0);c.left=c.left-(parseFloat(h.css(a,"marginLeft"))||0);f.top=f.top+(parseFloat(h.css(b[0],"borderTopWidth"))||0);f.left=f.left+(parseFloat(h.css(b[0],"borderLeftWidth"))||0);return{top:c.top-f.top,left:c.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||w.body;a&&!Ka.test(a.nodeName)&&h.css(a,"position")==="static";)a=a.offsetParent;return a})}});h.each(["Left",
"Top"],function(a,b){var c="scroll"+b;h.fn[c]=function(b){var f,e;if(b===m){f=this[0];if(!f)return null;return(e=J(f))?"pageXOffset"in e?e[a?"pageYOffset":"pageXOffset"]:h.support.boxModel&&e.document.documentElement[c]||e.document.body[c]:f[c]}return this.each(function(){(e=J(this))?e.scrollTo(!a?b:h(e).scrollLeft(),a?b:h(e).scrollTop()):this[c]=b})}});h.each(["Height","Width"],function(a,b){var c=b.toLowerCase();h.fn["inner"+b]=function(){var a=this[0];return a?a.style?parseFloat(h.css(a,c,"padding")):
this[c]():null};h.fn["outer"+b]=function(a){var d=this[0];return d?d.style?parseFloat(h.css(d,c,a?"margin":"border")):this[c]():null};h.fn[c]=function(a){var d=this[0];if(!d)return a==null?null:this;if(h.isFunction(a))return this.each(function(d){var b=h(this);b[c](a.call(this,d,b[c]()))});if(h.isWindow(d)){var f=d.document.documentElement["client"+b],e=d.document.body;return d.document.compatMode==="CSS1Compat"&&f||e&&e["client"+b]||f}if(d.nodeType===9)return Math.max(d.documentElement["client"+
b],d.body["scroll"+b],d.documentElement["scroll"+b],d.body["offset"+b],d.documentElement["offset"+b]);if(a===m){d=h.css(d,c);f=parseFloat(d);return h.isNumeric(f)?f:d}return this.css(c,typeof a==="string"?a:a+"px")}});c.jQuery=c.$=h;"function"===typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return h})})(window);
(function(c){c.fn.hoverIntent=function(m,k){var b={sensitivity:7,interval:100,timeout:0},b=c.extend(b,k?{over:m,out:k}:m),e,g,j,a,f=function(a){e=a.pageX;g=a.pageY},n=function(k,m){m.hoverIntent_t=clearTimeout(m.hoverIntent_t);if(Math.abs(j-e)+Math.abs(a-g)<b.sensitivity)return c(m).unbind("mousemove",f),m.hoverIntent_s=1,b.over.apply(m,[k]);j=e;a=g;m.hoverIntent_t=setTimeout(function(){n(k,m)},b.interval)},v=function(e){var g=jQuery.extend({},e),k=this;k.hoverIntent_t&&(k.hoverIntent_t=clearTimeout(k.hoverIntent_t));
"mouseenter"==e.type?(j=g.pageX,a=g.pageY,c(k).bind("mousemove",f),1!=k.hoverIntent_s&&(k.hoverIntent_t=setTimeout(function(){n(g,k)},b.interval))):(c(k).unbind("mousemove",f),1==k.hoverIntent_s&&(k.hoverIntent_t=setTimeout(function(){k.hoverIntent_t=clearTimeout(k.hoverIntent_t);k.hoverIntent_s=0;b.out.apply(k,[g])},b.timeout)))};return this.bind("mouseenter",v).bind("mouseleave",v)}})(jQuery);
(function(c){c.extend({tablesorter:new function(){function k(a,c){b(a+","+((new Date).getTime()-c.getTime())+"ms")}function b(a){"undefined"!=typeof console&&"undefined"!=typeof console.debug?console.log(a):alert(a)}function e(f,e){if(f.config.debug)var j="";if(0!=f.tBodies.length){var n=f.tBodies[0].rows;if(n[0])for(var k=[],q=n[0].cells.length,m=0;m<q;m++){var p=!1;c.metadata&&c(e[m]).metadata()&&c(e[m]).metadata().sorter?p=g(c(e[m]).metadata().sorter):f.config.headers[m]&&f.config.headers[m].sorter&&
(p=g(f.config.headers[m].sorter));if(!p)a:{for(var p=f,t=n,h=-1,x=m,y=r.length,u=!1,A=!1,v=!0;""==A&&v;)h++,t[h]?(u=t[h].cells[x],A=c.trim(a(p.config,u)),p.config.debug&&b("Checking if value was empty on row:"+h)):v=!1;for(t=1;t<y;t++)if(r[t].is(A,p,u)){p=r[t];break a}p=r[0]}f.config.debug&&(j+="column:"+m+" parser:"+p.id+"\n");k.push(p)}f.config.debug&&b(j);return k}}function g(a){for(var b=r.length,c=0;c<b;c++)if(r[c].id.toLowerCase()==a.toLowerCase())return r[c];return!1}function j(b){if(b.config.debug)var f=
new Date;for(var e=b.tBodies[0]&&b.tBodies[0].rows.length||0,g=b.tBodies[0].rows[0]&&b.tBodies[0].rows[0].cells.length||0,j=b.config.parsers,n={row:[],normalized:[]},q=0;q<e;++q){var r=c(b.tBodies[0].rows[q]),m=[];if(r.hasClass(b.config.cssChildRow))n.row[n.row.length-1]=n.row[n.row.length-1].add(r);else{n.row.push(r);for(var h=0;h<g;++h)m.push(j[h].format(a(b.config,r[0].cells[h]),b,r[0].cells[h]));m.push(n.normalized.length);n.normalized.push(m)}}b.config.debug&&k("Building cache for "+e+" rows:",
f);return n}function a(a,b){var f="";if(!b)return"";a.supportsTextContent||(a.supportsTextContent=b.textContent||!1);return f="simple"==a.textExtraction?a.supportsTextContent?b.textContent:b.childNodes[0]&&b.childNodes[0].hasChildNodes()?b.childNodes[0].innerHTML:b.innerHTML:"function"==typeof a.textExtraction?a.textExtraction(b):c(b).text()}function f(a,b){if(a.config.debug)var f=new Date;for(var e=b.row,g=b.normalized,j=g.length,n=g[0].length-1,q=c(a.tBodies[0]),r=[],h=0;h<j;h++){var m=g[h][n];
r.push(e[m]);if(!a.config.appender)for(var p=e[m].length,t=0;t<p;t++)q[0].appendChild(e[m][t])}a.config.appender&&a.config.appender(a,r);r=null;a.config.debug&&k("Rebuilt table:",f);s(a);setTimeout(function(){c(a).trigger("sortEnd")},0)}function n(a){if(a.config.debug)var f=new Date;var e=m(a);$tableHeaders=c(a.config.selectorHeaders,a).each(function(b){this.column=e[this.parentNode.rowIndex+"-"+this.cellIndex];this.count=this.order="Number"!=typeof a.config.sortInitialOrder?"desc"==a.config.sortInitialOrder.toLowerCase()?
1:0:1==a.config.sortInitialOrder?1:0;if(c.metadata&&!1===c(this).metadata().sorter||a.config.headers[b]&&!1===a.config.headers[b].sorter)this.sortDisabled=!0;u(a,b)&&(this.order=this.lockedOrder=u(a,b));if(!this.sortDisabled){var f=c(this).addClass(a.config.cssHeader);a.config.onRenderHeader&&a.config.onRenderHeader.apply(f)}a.config.headerList[b]=this});a.config.debug&&(k("Built headers:",f),b($tableHeaders));return $tableHeaders}function m(a){for(var b=[],c={},a=a.getElementsByTagName("THEAD")[0].getElementsByTagName("TR"),
f=0;f<a.length;f++)for(var e=a[f].cells,g=0;g<e.length;g++){var j=e[g],n=j.parentNode.rowIndex,k=n+"-"+j.cellIndex,h=j.rowSpan||1,j=j.colSpan||1,q;"undefined"==typeof b[n]&&(b[n]=[]);for(var r=0;r<b[n].length+1;r++)if("undefined"==typeof b[n][r]){q=r;break}c[k]=q;for(r=n;r<n+h;r++){"undefined"==typeof b[r]&&(b[r]=[]);for(var k=b[r],p=q;p<q+j;p++)k[p]="x"}}return c}function u(a,b){return a.config.headers[b]&&a.config.headers[b].lockedOrder?a.config.headers[b].lockedOrder:!1}function s(a){for(var b=
a.config.widgets,c=b.length,f=0;f<c;f++)t(b[f]).format(a)}function t(a){for(var b=p.length,c=0;c<b;c++)if(p[c].id.toLowerCase()==a.toLowerCase())return p[c]}function y(a,b){for(var c=b.length,f=0;f<c;f++)if(b[f][0]==a)return!0;return!1}function q(a,b,f,e){b.removeClass(e[0]).removeClass(e[1]);var g=[];b.each(function(){this.sortDisabled||(g[this.column]=c(this))});a=f.length;for(b=0;b<a;b++)g[f[b][0]].addClass(e[f[b][1]])}function x(a){if(a.config.widthFixed){var b=c("<colgroup>");c("tr:first td",
a.tBodies[0]).each(function(){b.append(c("<col>").css("width",c(this).width()))});c(a).prepend(b)}}function A(a,b,c){if(a.config.debug)var f=new Date;for(var e="var sortWrapper = function(a,b) {",g=b.length,j=0;j<g;j++)var n=b[j][0],q=b[j][1],n="text"==a.config.parsers[n].type?0==q?B("text","asc",n):B("text","desc",n):0==q?B("numeric","asc",n):B("numeric","desc",n),h="e"+j,e=e+("var "+h+" = "+n),e=e+("if("+h+") { return "+h+"; } "),e=e+"else { ";j=c.normalized[0].length-1;e+="return a["+j+"]-b["+
j+"];";for(j=0;j<g;j++)e+="}; ";e+="return 0; }; ";a.config.debug&&k("Evaling expression:"+e,new Date);eval(e);c.normalized.sort(sortWrapper);a.config.debug&&k("Sorting on "+b.toString()+" and dir "+q+" time:",f);return c}function B(a,b,c){var f="a["+c+"]",c="b["+c+"]";if("text"==a&&"asc"==b)return"("+f+" == "+c+" ? 0 : ("+f+" === null ? Number.POSITIVE_INFINITY : ("+c+" === null ? Number.NEGATIVE_INFINITY : ("+f+" < "+c+") ? -1 : 1 )));";if("text"==a&&"desc"==b)return"("+f+" == "+c+" ? 0 : ("+f+
" === null ? Number.POSITIVE_INFINITY : ("+c+" === null ? Number.NEGATIVE_INFINITY : ("+c+" < "+f+") ? -1 : 1 )));";if("numeric"==a&&"asc"==b)return"("+f+" === null && "+c+" === null) ? 0 :("+f+" === null ? Number.POSITIVE_INFINITY : ("+c+" === null ? Number.NEGATIVE_INFINITY : "+f+" - "+c+"));";if("numeric"==a&&"desc"==b)return"("+f+" === null && "+c+" === null) ? 0 :("+f+" === null ? Number.POSITIVE_INFINITY : ("+c+" === null ? Number.NEGATIVE_INFINITY : "+c+" - "+f+"));"}var r=[],p=[];this.defaults=
{cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cssChildRow:"expand-child",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,sortLocaleCompare:!0,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:!1,cancelSelection:!0,sortList:[],headerList:[],dateFormat:"us",decimal:"/.|,/g",onRenderHeader:null,selectorHeaders:"thead th",debug:!1};this.benchmark=k;this.construct=function(b){return this.each(function(){if(this.tHead&&
this.tBodies){var g,k,r,m;this.config={};m=c.extend(this.config,c.tablesorter.defaults,b);g=c(this);c.data(this,"tablesorter",m);k=n(this);this.config.parsers=e(this,k);r=j(this);var p=[m.cssDesc,m.cssAsc];x(this);k.click(function(a){var b=g[0].tBodies[0]&&g[0].tBodies[0].rows.length||0;if(!this.sortDisabled&&0<b){g.trigger("sortStart");c(this);b=this.column;this.order=this.count++%2;this.lockedOrder&&(this.order=this.lockedOrder);if(a[m.sortMultiSortKey])if(y(b,m.sortList))for(a=0;a<m.sortList.length;a++){var e=
m.sortList[a],h=m.headerList[e[0]];e[0]==b&&(h.count=e[1],h.count++,e[1]=h.count%2)}else m.sortList.push([b,this.order]);else{m.sortList=[];if(null!=m.sortForce){e=m.sortForce;for(a=0;a<e.length;a++)e[a][0]!=b&&m.sortList.push(e[a])}m.sortList.push([b,this.order])}setTimeout(function(){q(g[0],k,m.sortList,p);f(g[0],A(g[0],m.sortList,r))},1);return!1}}).mousedown(function(){if(m.cancelSelection)return this.onselectstart=function(){return!1},!1});g.bind("update",function(){var a=this;setTimeout(function(){a.config.parsers=
e(a,k);r=j(a)},1)}).bind("updateCell",function(b,c){var f=this.config,h=[c.parentNode.rowIndex-1,c.cellIndex];r.normalized[h[0]][h[1]]=f.parsers[h[1]].format(a(f,c),c)}).bind("sorton",function(a,b){c(this).trigger("sortStart");m.sortList=b;for(var e=m.sortList,h=this.config,g=e.length,j=0;j<g;j++){var n=e[j],t=h.headerList[n[0]];t.count=n[1];t.count++}q(this,k,e,p);f(this,A(this,e,r))}).bind("appendCache",function(){f(this,r)}).bind("applyWidgetId",function(a,b){t(b).format(this)}).bind("applyWidgets",
function(){s(this)});c.metadata&&c(this).metadata()&&c(this).metadata().sortlist&&(m.sortList=c(this).metadata().sortlist);0<m.sortList.length&&g.trigger("sorton",[m.sortList]);s(this)}})};this.addParser=function(a){for(var b=r.length,c=!0,f=0;f<b;f++)r[f].id.toLowerCase()==a.id.toLowerCase()&&(c=!1);c&&r.push(a)};this.addWidget=function(a){p.push(a)};this.formatFloat=function(a){a=parseFloat(a);return isNaN(a)?0:a};this.formatInt=function(a){a=parseInt(a);return isNaN(a)?0:a};this.isDigit=function(a){return/^[-+]?\d*$/.test(c.trim(a.replace(/[,.']/g,
"")))};this.clearTableBody=function(a){c.browser.msie?function(){for(;this.firstChild;)this.removeChild(this.firstChild)}.apply(a.tBodies[0]):a.tBodies[0].innerHTML=""}}});c.fn.extend({tablesorter:c.tablesorter.construct});var m=c.tablesorter;m.addParser({id:"text",is:function(){return!0},format:function(k){return c.trim(k.toLocaleLowerCase())},type:"text"});m.addParser({id:"digit",is:function(k,b){return c.tablesorter.isDigit(k,b.config)},format:function(k){return c.tablesorter.formatFloat(k)},type:"numeric"});
m.addParser({id:"currency",is:function(c){return/^[\u00c2\u00a3$\u00e2\u201a\u00ac?.]/.test(c)},format:function(k){return c.tablesorter.formatFloat(k.replace(RegExp(/[\u00c2\u00a3$\u00e2\u201a\u00ac]/g),""))},type:"numeric"});m.addParser({id:"ipAddress",is:function(c){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(c)},format:function(k){for(var k=k.split("."),b="",e=k.length,g=0;g<e;g++)var j=k[g],b=2==j.length?b+("0"+j):b+j;return c.tablesorter.formatFloat(b)},type:"numeric"});m.addParser({id:"url",
is:function(c){return/^(https?|ftp|file):\/\/$/.test(c)},format:function(c){return jQuery.trim(c.replace(RegExp(/(https?|ftp|file):\/\//),""))},type:"text"});m.addParser({id:"isoDate",is:function(c){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(c)},format:function(k){return c.tablesorter.formatFloat(""!=k?(new Date(k.replace(RegExp(/-/g),"/"))).getTime():"0")},type:"numeric"});m.addParser({id:"percent",is:function(k){return/\%$/.test(c.trim(k))},format:function(k){return c.tablesorter.formatFloat(k.replace(RegExp(/%/g),
""))},type:"numeric"});m.addParser({id:"usLongDate",is:function(c){return c.match(RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/))},format:function(k){return c.tablesorter.formatFloat((new Date(k)).getTime())},type:"numeric"});m.addParser({id:"shortDate",is:function(c){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(c)},format:function(k,b){var e=b.config,k=k.replace(/\-/g,"/");if("us"==e.dateFormat)k=k.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,
"$3/$1/$2");else if("uk"==e.dateFormat)k=k.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1");else if("dd/mm/yy"==e.dateFormat||"dd-mm-yy"==e.dateFormat)k=k.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3");return c.tablesorter.formatFloat((new Date(k)).getTime())},type:"numeric"});m.addParser({id:"time",is:function(c){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(c)},format:function(k){return c.tablesorter.formatFloat((new Date("2000/01/01 "+k)).getTime())},
type:"numeric"});m.addParser({id:"metadata",is:function(){return!1},format:function(k,b,e){k=b.config;k=!k.parserMetadataName?"sortValue":k.parserMetadataName;return c(e).metadata()[k]},type:"numeric"});m.addWidget({id:"zebra",format:function(k){if(k.config.debug)var b=new Date;var e,g=-1,j;c("tr:visible",k.tBodies[0]).each(function(){e=c(this);e.hasClass(k.config.cssChildRow)||g++;j=0==g%2;e.removeClass(k.config.widgetZebra.css[j?0:1]).addClass(k.config.widgetZebra.css[j?1:0])});k.config.debug&&
c.tablesorter.benchmark("Applying Zebra widget",b)}})})(jQuery);
(function(){var c=this,m=c._,k={},b=Array.prototype,e=Object.prototype,g=b.slice,j=b.unshift,a=e.toString,f=e.hasOwnProperty,n=b.forEach,v=b.map,u=b.reduce,s=b.reduceRight,t=b.filter,y=b.every,q=b.some,x=b.indexOf,A=b.lastIndexOf,e=Array.isArray,B=Object.keys,r=Function.prototype.bind,p=function(a){return new G(a)};"undefined"!==typeof module&&module.exports?(module.exports=p,p._=p):c._=p;p.VERSION="1.1.7";var z=p.each=p.forEach=function(a,b,c){if(a!=null)if(n&&a.forEach===n)a.forEach(b,c);else if(a.length===
+a.length)for(var e=0,g=a.length;e<g;e++){if(e in a&&b.call(c,a[e],e,a)===k)break}else for(e in a)if(f.call(a,e)&&b.call(c,a[e],e,a)===k)break};p.map=function(a,b,c){var f=[];if(a==null)return f;if(v&&a.map===v)return a.map(b,c);z(a,function(a,e,g){f[f.length]=b.call(c,a,e,g)});return f};p.reduce=p.foldl=p.inject=function(a,b,c,f){var e=c!==void 0;a==null&&(a=[]);if(u&&a.reduce===u){f&&(b=p.bind(b,f));return e?a.reduce(b,c):a.reduce(b)}z(a,function(a,g,j){if(e)c=b.call(f,c,a,g,j);else{c=a;e=true}});
if(!e)throw new TypeError("Reduce of empty array with no initial value");return c};p.reduceRight=p.foldr=function(a,b,c,f){a==null&&(a=[]);if(s&&a.reduceRight===s){f&&(b=p.bind(b,f));return c!==void 0?a.reduceRight(b,c):a.reduceRight(b)}a=(p.isArray(a)?a.slice():p.toArray(a)).reverse();return p.reduce(a,b,c,f)};p.find=p.detect=function(a,b,c){var f;E(a,function(a,e,g){if(b.call(c,a,e,g)){f=a;return true}});return f};p.filter=p.select=function(a,b,c){var f=[];if(a==null)return f;if(t&&a.filter===t)return a.filter(b,
c);z(a,function(a,e,g){b.call(c,a,e,g)&&(f[f.length]=a)});return f};p.reject=function(a,b,c){var f=[];if(a==null)return f;z(a,function(a,e,g){b.call(c,a,e,g)||(f[f.length]=a)});return f};p.every=p.all=function(a,b,c){var f=true;if(a==null)return f;if(y&&a.every===y)return a.every(b,c);z(a,function(a,e,g){if(!(f=f&&b.call(c,a,e,g)))return k});return f};var E=p.some=p.any=function(a,b,c){var b=b||p.identity,f=false;if(a==null)return f;if(q&&a.some===q)return a.some(b,c);z(a,function(a,e,g){if(f=f|b.call(c,
a,e,g))return k});return!!f};p.include=p.contains=function(a,b){var c=false;if(a==null)return c;if(x&&a.indexOf===x)return a.indexOf(b)!=-1;E(a,function(a){if(c=a===b)return true});return c};p.invoke=function(a,b){var c=g.call(arguments,2);return p.map(a,function(a){return(b.call?b||a:a[b]).apply(a,c)})};p.pluck=function(a,b){return p.map(a,function(a){return a[b]})};p.max=function(a,b,c){if(!b&&p.isArray(a))return Math.max.apply(Math,a);var f={computed:-Infinity};z(a,function(a,e,g){e=b?b.call(c,
a,e,g):a;e>=f.computed&&(f={value:a,computed:e})});return f.value};p.min=function(a,b,c){if(!b&&p.isArray(a))return Math.min.apply(Math,a);var f={computed:Infinity};z(a,function(a,e,g){e=b?b.call(c,a,e,g):a;e<f.computed&&(f={value:a,computed:e})});return f.value};p.sortBy=function(a,b,c){return p.pluck(p.map(a,function(a,f,e){return{value:a,criteria:b.call(c,a,f,e)}}).sort(function(a,b){var c=a.criteria,f=b.criteria;return c<f?-1:c>f?1:0}),"value")};p.groupBy=function(a,b){var c={};z(a,function(a,
f){var e=b(a,f);(c[e]||(c[e]=[])).push(a)});return c};p.sortedIndex=function(a,b,c){c||(c=p.identity);for(var f=0,e=a.length;f<e;){var g=f+e>>1;c(a[g])<c(b)?f=g+1:e=g}return f};p.toArray=function(a){return!a?[]:a.toArray?a.toArray():p.isArray(a)||p.isArguments(a)?g.call(a):p.values(a)};p.size=function(a){return p.toArray(a).length};p.first=p.head=function(a,b,c){return b!=null&&!c?g.call(a,0,b):a[0]};p.rest=p.tail=function(a,b,c){return g.call(a,b==null||c?1:b)};p.last=function(a){return a[a.length-
1]};p.compact=function(a){return p.filter(a,function(a){return!!a})};p.flatten=function(a){return p.reduce(a,function(a,b){if(p.isArray(b))return a.concat(p.flatten(b));a[a.length]=b;return a},[])};p.without=function(a){return p.difference(a,g.call(arguments,1))};p.uniq=p.unique=function(a,b){return p.reduce(a,function(a,c,f){if(0==f||(b===true?p.last(a)!=c:!p.include(a,c)))a[a.length]=c;return a},[])};p.union=function(){return p.uniq(p.flatten(arguments))};p.intersection=p.intersect=function(a){var b=
g.call(arguments,1);return p.filter(p.uniq(a),function(a){return p.every(b,function(b){return p.indexOf(b,a)>=0})})};p.difference=function(a,b){return p.filter(a,function(a){return!p.include(b,a)})};p.zip=function(){for(var a=g.call(arguments),b=p.max(p.pluck(a,"length")),c=Array(b),f=0;f<b;f++)c[f]=p.pluck(a,""+f);return c};p.indexOf=function(a,b,c){if(a==null)return-1;var f;if(c){c=p.sortedIndex(a,b);return a[c]===b?c:-1}if(x&&a.indexOf===x)return a.indexOf(b);c=0;for(f=a.length;c<f;c++)if(a[c]===
b)return c;return-1};p.lastIndexOf=function(a,b){if(a==null)return-1;if(A&&a.lastIndexOf===A)return a.lastIndexOf(b);for(var c=a.length;c--;)if(a[c]===b)return c;return-1};p.range=function(a,b,c){if(arguments.length<=1){b=a||0;a=0}for(var c=arguments[2]||1,f=Math.max(Math.ceil((b-a)/c),0),e=0,g=Array(f);e<f;){g[e++]=a;a=a+c}return g};p.bind=function(a,b){if(a.bind===r&&r)return r.apply(a,g.call(arguments,1));var c=g.call(arguments,2);return function(){return a.apply(b,c.concat(g.call(arguments)))}};
p.bindAll=function(a){var b=g.call(arguments,1);b.length==0&&(b=p.functions(a));z(b,function(b){a[b]=p.bind(a[b],a)});return a};p.memoize=function(a,b){var c={};b||(b=p.identity);return function(){var e=b.apply(this,arguments);return f.call(c,e)?c[e]:c[e]=a.apply(this,arguments)}};p.delay=function(a,b){var c=g.call(arguments,2);return setTimeout(function(){return a.apply(a,c)},b)};p.defer=function(a){return p.delay.apply(p,[a,1].concat(g.call(arguments,1)))};var C=function(a,b,c){var f;return function(){var e=
this,g=arguments,j=function(){f=null;a.apply(e,g)};c&&clearTimeout(f);if(c||!f)f=setTimeout(j,b)}};p.throttle=function(a,b){return C(a,b,false)};p.debounce=function(a,b){return C(a,b,true)};p.once=function(a){var b=false,c;return function(){if(b)return c;b=true;return c=a.apply(this,arguments)}};p.wrap=function(a,b){return function(){var c=[a].concat(g.call(arguments));return b.apply(this,c)}};p.compose=function(){var a=g.call(arguments);return function(){for(var b=g.call(arguments),c=a.length-1;c>=
0;c--)b=[a[c].apply(this,b)];return b[0]}};p.after=function(a,b){return function(){if(--a<1)return b.apply(this,arguments)}};p.keys=B||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[],c;for(c in a)f.call(a,c)&&(b[b.length]=c);return b};p.values=function(a){return p.map(a,p.identity)};p.functions=p.methods=function(a){var b=[],c;for(c in a)p.isFunction(a[c])&&b.push(c);return b.sort()};p.extend=function(a){z(g.call(arguments,1),function(b){for(var c in b)b[c]!==void 0&&(a[c]=
b[c])});return a};p.defaults=function(a){z(g.call(arguments,1),function(b){for(var c in b)a[c]==null&&(a[c]=b[c])});return a};p.clone=function(a){return p.isArray(a)?a.slice():p.extend({},a)};p.tap=function(a,b){b(a);return a};p.isEqual=function(a,b){if(a===b)return true;var c=typeof a;if(c!=typeof b)return false;if(a==b)return true;if(!a&&b||a&&!b)return false;if(a._chain)a=a._wrapped;if(b._chain)b=b._wrapped;if(a.isEqual)return a.isEqual(b);if(b.isEqual)return b.isEqual(a);if(p.isDate(a)&&p.isDate(b))return a.getTime()===
b.getTime();if(p.isNaN(a)&&p.isNaN(b))return false;if(p.isRegExp(a)&&p.isRegExp(b))return a.source===b.source&&a.global===b.global&&a.ignoreCase===b.ignoreCase&&a.multiline===b.multiline;if(c!=="object"||a.length&&a.length!==b.length)return false;var c=p.keys(a),f=p.keys(b);if(c.length!=f.length)return false;for(var e in a)if(!(e in b)||!p.isEqual(a[e],b[e]))return false;return true};p.isEmpty=function(a){if(p.isArray(a)||p.isString(a))return a.length===0;for(var b in a)if(f.call(a,b))return false;
return true};p.isElement=function(a){return!!(a&&a.nodeType==1)};p.isArray=e||function(b){return a.call(b)==="[object Array]"};p.isObject=function(a){return a===Object(a)};p.isArguments=function(a){return!(!a||!f.call(a,"callee"))};p.isFunction=function(a){return!(!a||!a.constructor||!a.call||!a.apply)};p.isString=function(a){return!!(a===""||a&&a.charCodeAt&&a.substr)};p.isNumber=function(a){return!!(a===0||a&&a.toExponential&&a.toFixed)};p.isNaN=function(a){return a!==a};p.isBoolean=function(a){return a===
true||a===false};p.isDate=function(a){return!(!a||!a.getTimezoneOffset||!a.setUTCFullYear)};p.isRegExp=function(a){return!(!a||!a.test||!a.exec||!(a.ignoreCase||a.ignoreCase===false))};p.isNull=function(a){return a===null};p.isUndefined=function(a){return a===void 0};p.noConflict=function(){c._=m;return this};p.identity=function(a){return a};p.times=function(a,b,c){for(var f=0;f<a;f++)b.call(c,f)};p.mixin=function(a){z(p.functions(a),function(b){w(b,p[b]=a[b])})};var F=0;p.uniqueId=function(a){var b=
F++;return a?a+b:b};p.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g};p.template=function(a,b){var c=p.templateSettings,c="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(c.interpolate,function(a,b){return"',"+b.replace(/\\'/g,"'")+",'"}).replace(c.evaluate||null,function(a,b){return"');"+b.replace(/\\'/g,"'").replace(/[\r\n\t]/g," ")+"__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,
"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",c=new Function("obj",c);return b?c(b):c};var G=function(a){this._wrapped=a};p.prototype=G.prototype;var J=function(a,b){return b?p(a).chain():a},w=function(a,b){G.prototype[a]=function(){var a=g.call(arguments);j.call(a,this._wrapped);return J(b.apply(p,a),this._chain)}};p.mixin(p);z("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var c=b[a];G.prototype[a]=function(){c.apply(this._wrapped,arguments);return J(this._wrapped,
this._chain)}});z(["concat","join","slice"],function(a){var c=b[a];G.prototype[a]=function(){return J(c.apply(this._wrapped,arguments),this._chain)}});G.prototype.chain=function(){this._chain=true;return this};G.prototype.value=function(){return this._wrapped}})();
(function(){var c=this,m=c.Backbone,k;k="undefined"!==typeof exports?exports:c.Backbone={};k.VERSION="0.5.3";var b=c._;!b&&"undefined"!==typeof require&&(b=require("underscore")._);var e=c.jQuery||c.Zepto;k.noConflict=function(){c.Backbone=m;return this};k.emulateHTTP=!1;k.emulateJSON=!1;k.Events={bind:function(a,b,c){var f=this._callbacks||(this._callbacks={});(f[a]||(f[a]=[])).push([b,c]);return this},unbind:function(a,b){var c;if(a){if(c=this._callbacks)if(b){c=c[a];if(!c)return this;for(var f=
0,e=c.length;f<e;f++)if(c[f]&&b===c[f][0]){c[f]=null;break}}else c[a]=[]}else this._callbacks={};return this},trigger:function(a){var b,c,f,e,g=2;if(!(c=this._callbacks))return this;for(;g--;){b=g?a:"all";if(b=c[b])for(var j=0,n=b.length;j<n;j++)if(f=b[j]){e=g?Array.prototype.slice.call(arguments,1):arguments;f[0].apply(f[1]||this,e)}else{b.splice(j,1);j--;n--}}return this}};k.Model=function(a,c){var f;a||(a={});if(f=this.defaults){b.isFunction(f)&&(f=f.call(this));a=b.extend({},f,a)}this.attributes=
{};this._escapedAttributes={};this.cid=b.uniqueId("c");this.set(a,{silent:true});this._changed=false;this._previousAttributes=b.clone(this.attributes);if(c&&c.collection)this.collection=c.collection;this.initialize(a,c)};b.extend(k.Model.prototype,k.Events,{_previousAttributes:null,_changed:!1,idAttribute:"id",initialize:function(){},toJSON:function(){return b.clone(this.attributes)},get:function(a){return this.attributes[a]},escape:function(a){var b;if(b=this._escapedAttributes[a])return b;b=this.attributes[a];
return this._escapedAttributes[a]=(b==null?"":""+b).replace(/&(?!\w+;|#\d+;|#x[\da-f]+;)/gi,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;")},has:function(a){return this.attributes[a]!=null},set:function(a,c){c||(c={});if(!a)return this;if(a.attributes)a=a.attributes;var f=this.attributes,e=this._escapedAttributes;if(!c.silent&&this.validate&&!this._performValidation(a,c))return false;if(this.idAttribute in a)this.id=a[this.idAttribute];
var g=this._changing;this._changing=true;for(var j in a){var n=a[j];if(!b.isEqual(f[j],n)){f[j]=n;delete e[j];this._changed=true;c.silent||this.trigger("change:"+j,this,n,c)}}!g&&!c.silent&&this._changed&&this.change(c);this._changing=false;return this},unset:function(a,b){if(!(a in this.attributes))return this;b||(b={});var c={};c[a]=void 0;if(!b.silent&&this.validate&&!this._performValidation(c,b))return false;delete this.attributes[a];delete this._escapedAttributes[a];a==this.idAttribute&&delete this.id;
this._changed=true;if(!b.silent){this.trigger("change:"+a,this,void 0,b);this.change(b)}return this},clear:function(a){a||(a={});var b,c=this.attributes,f={};for(b in c)f[b]=void 0;if(!a.silent&&this.validate&&!this._performValidation(f,a))return false;this.attributes={};this._escapedAttributes={};this._changed=true;if(!a.silent){for(b in c)this.trigger("change:"+b,this,void 0,a);this.change(a)}return this},fetch:function(a){a||(a={});var b=this,c=a.success;a.success=function(f,e,g){if(!b.set(b.parse(f,
g),a))return false;c&&c(b,f)};a.error=B(a.error,b,a);return(this.sync||k.sync).call(this,"read",this,a)},save:function(a,b){b||(b={});if(a&&!this.set(a,b))return false;var c=this,f=b.success;b.success=function(a,e,g){if(!c.set(c.parse(a,g),b))return false;f&&f(c,a,g)};b.error=B(b.error,c,b);var e=this.isNew()?"create":"update";return(this.sync||k.sync).call(this,e,this,b)},destroy:function(a){a||(a={});if(this.isNew())return this.trigger("destroy",this,this.collection,a);var b=this,c=a.success;a.success=
function(f){b.trigger("destroy",b,b.collection,a);c&&c(b,f)};a.error=B(a.error,b,a);return(this.sync||k.sync).call(this,"delete",this,a)},url:function(){var a=x(this.collection)||this.urlRoot||A();return this.isNew()?a:a+(a.charAt(a.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},parse:function(a){return a},clone:function(){return new this.constructor(this)},isNew:function(){return this.id==null},change:function(a){this.trigger("change",this,a);this._previousAttributes=b.clone(this.attributes);
this._changed=false},hasChanged:function(a){return a?this._previousAttributes[a]!=this.attributes[a]:this._changed},changedAttributes:function(a){a||(a=this.attributes);var c=this._previousAttributes,f=false,e;for(e in a)if(!b.isEqual(c[e],a[e])){f=f||{};f[e]=a[e]}return f},previous:function(a){return!a||!this._previousAttributes?null:this._previousAttributes[a]},previousAttributes:function(){return b.clone(this._previousAttributes)},_performValidation:function(a,b){var c=this.validate(a);if(c){b.error?
b.error(this,c,b):this.trigger("error",this,c,b);return false}return true}});k.Collection=function(a,c){c||(c={});if(c.comparator)this.comparator=c.comparator;b.bindAll(this,"_onModelEvent","_removeReference");this._reset();a&&this.reset(a,{silent:true});this.initialize.apply(this,arguments)};b.extend(k.Collection.prototype,k.Events,{model:k.Model,initialize:function(){},toJSON:function(){return this.map(function(a){return a.toJSON()})},add:function(a,c){if(b.isArray(a))for(var f=0,e=a.length;f<e;f++)this._add(a[f],
c);else this._add(a,c);return this},remove:function(a,c){if(b.isArray(a))for(var f=0,e=a.length;f<e;f++)this._remove(a[f],c);else this._remove(a,c);return this},get:function(a){return a==null?null:this._byId[a.id!=null?a.id:a]},getByCid:function(a){return a&&this._byCid[a.cid||a]},at:function(a){return this.models[a]},sort:function(a){a||(a={});if(!this.comparator)throw Error("Cannot sort a set without a comparator");this.models=this.sortBy(this.comparator);a.silent||this.trigger("reset",this,a);
return this},pluck:function(a){return b.map(this.models,function(b){return b.get(a)})},reset:function(a,b){a||(a=[]);b||(b={});this.each(this._removeReference);this._reset();this.add(a,{silent:true});b.silent||this.trigger("reset",this,b);return this},fetch:function(a){a||(a={});var b=this,c=a.success;a.success=function(f,e,g){b[a.add?"add":"reset"](b.parse(f,g),a);c&&c(b,f)};a.error=B(a.error,b,a);return(this.sync||k.sync).call(this,"read",this,a)},create:function(a,b){var c=this;b||(b={});a=this._prepareModel(a,
b);if(!a)return false;var f=b.success;b.success=function(a,e,g){c.add(a,b);f&&f(a,e,g)};a.save(null,b);return a},parse:function(a){return a},chain:function(){return b(this.models).chain()},_reset:function(){this.length=0;this.models=[];this._byId={};this._byCid={}},_prepareModel:function(a,b){if(a instanceof k.Model){if(!a.collection)a.collection=this}else{var c=a,a=new this.model(c,{collection:this});a.validate&&!a._performValidation(c,b)&&(a=false)}return a},_add:function(a,b){b||(b={});a=this._prepareModel(a,
b);if(!a)return false;var c=this.getByCid(a);if(c)throw Error(["Can't add the same model to a set twice",c.id]);this._byId[a.id]=a;this._byCid[a.cid]=a;this.models.splice(b.at!=null?b.at:this.comparator?this.sortedIndex(a,this.comparator):this.length,0,a);a.bind("all",this._onModelEvent);this.length++;b.silent||a.trigger("add",a,this,b);return a},_remove:function(a,b){b||(b={});a=this.getByCid(a)||this.get(a);if(!a)return null;delete this._byId[a.id];delete this._byCid[a.cid];this.models.splice(this.indexOf(a),
1);this.length--;b.silent||a.trigger("remove",a,this,b);this._removeReference(a);return a},_removeReference:function(a){this==a.collection&&delete a.collection;a.unbind("all",this._onModelEvent)},_onModelEvent:function(a,b,c,f){if(!((a=="add"||a=="remove")&&c!=this)){a=="destroy"&&this._remove(b,f);if(b&&a==="change:"+b.idAttribute){delete this._byId[b.previous(b.idAttribute)];this._byId[b.id]=b}this.trigger.apply(this,arguments)}}});b.each("forEach,each,map,reduce,reduceRight,find,detect,filter,select,reject,every,all,some,any,include,contains,invoke,max,min,sortBy,sortedIndex,toArray,size,first,rest,last,without,indexOf,lastIndexOf,isEmpty,groupBy".split(","),
function(a){k.Collection.prototype[a]=function(){return b[a].apply(b,[this.models].concat(b.toArray(arguments)))}});k.Router=function(a){a||(a={});if(a.routes)this.routes=a.routes;this._bindRoutes();this.initialize.apply(this,arguments)};var g=/:([\w\d]+)/g,j=/\*([\w\d]+)/g,a=/[-[\]{}()+?.,\\^$|#\s]/g;b.extend(k.Router.prototype,k.Events,{initialize:function(){},route:function(a,c,f){k.history||(k.history=new k.History);b.isRegExp(a)||(a=this._routeToRegExp(a));k.history.route(a,b.bind(function(b){b=
this._extractParameters(a,b);f.apply(this,b);this.trigger.apply(this,["route:"+c].concat(b))},this))},navigate:function(a,b){k.history.navigate(a,b)},_bindRoutes:function(){if(this.routes){var a=[],b;for(b in this.routes)a.unshift([b,this.routes[b]]);b=0;for(var c=a.length;b<c;b++)this.route(a[b][0],a[b][1],this[a[b][1]])}},_routeToRegExp:function(b){b=b.replace(a,"\\$&").replace(g,"([^/]*)").replace(j,"(.*?)");return RegExp("^"+b+"$")},_extractParameters:function(a,b){return a.exec(b).slice(1)}});
k.History=function(){this.handlers=[];b.bindAll(this,"checkUrl")};var f=/^#*/,n=/msie [\w.]+/,v=!1;b.extend(k.History.prototype,{interval:50,getFragment:function(a,b){if(a==null)if(this._hasPushState||b){var a=window.location.pathname,c=window.location.search;c&&(a=a+c);a.indexOf(this.options.root)==0&&(a=a.substr(this.options.root.length))}else a=window.location.hash;return decodeURIComponent(a.replace(f,""))},start:function(a){if(v)throw Error("Backbone.history has already been started");this.options=
b.extend({},{root:"/"},this.options,a);this._wantsPushState=!!this.options.pushState;this._hasPushState=!(!this.options.pushState||!window.history||!window.history.pushState);var a=this.getFragment(),c=document.documentMode;if(c=n.exec(navigator.userAgent.toLowerCase())&&(!c||c<=7)){this.iframe=e('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow;this.navigate(a)}this._hasPushState?e(window).bind("popstate",this.checkUrl):"onhashchange"in window&&!c?e(window).bind("hashchange",
this.checkUrl):setInterval(this.checkUrl,this.interval);this.fragment=a;v=true;a=window.location;c=a.pathname==this.options.root;if(this._wantsPushState&&!this._hasPushState&&!c){this.fragment=this.getFragment(null,true);window.location.replace(this.options.root+"#"+this.fragment);return true}if(this._wantsPushState&&this._hasPushState&&c&&a.hash){this.fragment=a.hash.replace(f,"");window.history.replaceState({},document.title,a.protocol+"//"+a.host+this.options.root+this.fragment)}if(!this.options.silent)return this.loadUrl()},
route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(){var a=this.getFragment();a==this.fragment&&this.iframe&&(a=this.getFragment(this.iframe.location.hash));if(a==this.fragment||a==decodeURIComponent(this.fragment))return false;this.iframe&&this.navigate(a);this.loadUrl()||this.loadUrl(window.location.hash)},loadUrl:function(a){var c=this.fragment=this.getFragment(a);return b.any(this.handlers,function(a){if(a.route.test(c)){a.callback(c);return true}})},navigate:function(a,
b){var c=(a||"").replace(f,"");if(!(this.fragment==c||this.fragment==decodeURIComponent(c))){if(this._hasPushState){var e=window.location;c.indexOf(this.options.root)!=0&&(c=this.options.root+c);this.fragment=c;window.history.pushState({},document.title,e.protocol+"//"+e.host+c)}else{window.location.hash=this.fragment=c;if(this.iframe&&c!=this.getFragment(this.iframe.location.hash)){this.iframe.document.open().close();this.iframe.location.hash=c}}b&&this.loadUrl(a)}}});k.View=function(a){this.cid=
b.uniqueId("view");this._configure(a||{});this._ensureElement();this.delegateEvents();this.initialize.apply(this,arguments)};var u=/^(\S+)\s*(.*)$/,s="model,collection,el,id,attributes,className,tagName".split(",");b.extend(k.View.prototype,k.Events,{tagName:"div",$:function(a){return e(a,this.el)},initialize:function(){},render:function(){return this},remove:function(){e(this.el).remove();return this},make:function(a,b,c){a=document.createElement(a);b&&e(a).attr(b);c&&e(a).html(c);return a},delegateEvents:function(a){if(a||
(a=this.events)){b.isFunction(a)&&(a=a.call(this));e(this.el).unbind(".delegateEvents"+this.cid);for(var c in a){var f=this[a[c]];if(!f)throw Error('Event "'+a[c]+'" does not exist');var g=c.match(u),j=g[1],g=g[2],f=b.bind(f,this),j=j+(".delegateEvents"+this.cid);g===""?e(this.el).bind(j,f):e(this.el).delegate(g,j,f)}}},_configure:function(a){this.options&&(a=b.extend({},this.options,a));for(var c=0,f=s.length;c<f;c++){var e=s[c];a[e]&&(this[e]=a[e])}this.options=a},_ensureElement:function(){if(this.el){if(b.isString(this.el))this.el=
e(this.el).get(0)}else{var a=this.attributes||{};if(this.id)a.id=this.id;if(this.className)a["class"]=this.className;this.el=this.make(this.tagName,a)}}});k.Model.extend=k.Collection.extend=k.Router.extend=k.View.extend=function(a,b){var c=q(this,a,b);c.extend=this.extend;return c};var t={create:"POST",update:"PUT","delete":"DELETE",read:"GET"};k.sync=function(a,c,f){var g=t[a],f=b.extend({type:g,dataType:"json"},f);if(!f.url)f.url=x(c)||A();if(!f.data&&c&&(a=="create"||a=="update")){f.contentType=
"application/json";f.data=JSON.stringify(c.toJSON())}if(k.emulateJSON){f.contentType="application/x-www-form-urlencoded";f.data=f.data?{model:f.data}:{}}if(k.emulateHTTP&&(g==="PUT"||g==="DELETE")){if(k.emulateJSON)f.data._method=g;f.type="POST";f.beforeSend=function(a){a.setRequestHeader("X-HTTP-Method-Override",g)}}if(f.type!=="GET"&&!k.emulateJSON)f.processData=false;return e.ajax(f)};var y=function(){},q=function(a,c,f){var e;e=c&&c.hasOwnProperty("constructor")?c.constructor:function(){return a.apply(this,
arguments)};b.extend(e,a);y.prototype=a.prototype;e.prototype=new y;c&&b.extend(e.prototype,c);f&&b.extend(e,f);e.prototype.constructor=e;e.__super__=a.prototype;return e},x=function(a){return!a||!a.url?null:b.isFunction(a.url)?a.url():a.url},A=function(){throw Error('A "url" property or function must be specified');},B=function(a,b,c){return function(f){a?a(b,f,c):b.trigger("error",b,f,c)}}}).call(this);
(function(){var c=function(){return this}();if(c.require&&c.define)require.packaged=!0;else{var m=function(b,c,j){"string"!==typeof b?m.original?m.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace()):(2==arguments.length&&(j=c),define.modules||(define.modules={}),define.modules[b]=j)};c.define&&(m.original=c.define);c.define=m;var k=function(c,g){if(Object.prototype.toString.call(c)==="[object Array]"){for(var j=[],a=0,f=c.length;a<f;++a){var n=
b(c[a]);if(!n&&k.original)return k.original.apply(window,arguments);j.push(n)}g&&g.apply(null,j)}else{if(typeof c==="string"){j=b(c);if(!j&&k.original)return k.original.apply(window,arguments);g&&g();return j}if(k.original)return k.original.apply(window,arguments)}};c.require&&(k.original=c.require);c.require=k;require.packaged=!0;var b=function(b){var c=define.modules[b];if(c==null){console.error("Missing module: "+b);return null}if(typeof c==="function"){var j={};c(require,j,{id:b,uri:""});return define.modules[b]=
j}return c}}})();
define("pilot/fixoldbrowsers",["require","exports","module"],function(){if(!Function.prototype.bind){var c=Array.prototype.slice;Function.prototype.bind=function(a){var b=this;if("function"!==typeof b.apply||"function"!==typeof b.call)return new TypeError;var f=c.call(arguments),e=function z(){if(this instanceof z){var a=Object.create(b.prototype);b.apply(a,f.concat(c.call(arguments)));return a}return b.call.apply(b,f.concat(c.call(arguments)))};e.length="function"===typeof b?Math.max(b.length-f.length,
0):0;return e}}var m=Function.prototype.call,k=Object.prototype,b=m.bind(k.hasOwnProperty),e,g,j,a,f;if(f=b(k,"__defineGetter__"))e=m.bind(k.__defineGetter__),g=m.bind(k.__defineSetter__),j=m.bind(k.__lookupGetter__),a=m.bind(k.__lookupSetter__);Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});Array.prototype.forEach||(Array.prototype.forEach=function(a,b){for(var c=+this.length,f=0;f<c;f++)f in this&&a.call(b,this[f],f,this)});Array.prototype.map||
(Array.prototype.map=function(a,b){var c=+this.length;if(typeof a!=="function")throw new TypeError;for(var f=Array(c),e=0;e<c;e++)e in this&&(f[e]=a.call(b,this[e],e,this));return f});Array.prototype.filter||(Array.prototype.filter=function(a,b){for(var c=[],f=0;f<this.length;f++)a.call(b,this[f])&&c.push(this[f]);return c});Array.prototype.every||(Array.prototype.every=function(a,b){for(var c=0;c<this.length;c++)if(!a.call(b,this[c]))return false;return true});Array.prototype.some||(Array.prototype.some=
function(a,b){for(var c=0;c<this.length;c++)if(a.call(b,this[c]))return true;return false});Array.prototype.reduce||(Array.prototype.reduce=function(a){var b=+this.length;if(typeof a!=="function")throw new TypeError;if(b===0&&arguments.length===1)throw new TypeError;var c=0;if(arguments.length>=2)var f=arguments[1];else{do{if(c in this){f=this[c++];break}if(++c>=b)throw new TypeError;}while(1)}for(;c<b;c++)c in this&&(f=a.call(null,f,this[c],c,this));return f});Array.prototype.reduceRight||(Array.prototype.reduceRight=
function(a){var b=+this.length;if(typeof a!=="function")throw new TypeError;if(b===0&&arguments.length===1)throw new TypeError;b=b-1;if(arguments.length>=2)var c=arguments[1];else{do{if(b in this){c=this[b--];break}if(--b<0)throw new TypeError;}while(1)}for(;b>=0;b--)b in this&&(c=a.call(null,c,this[b],b,this));return c});Array.prototype.indexOf||(Array.prototype.indexOf=function(a,c){var f=this.length;if(!f)return-1;var e=c||0;if(e>=f)return-1;for(e<0&&(e=e+f);e<f;e++)if(b(this,e)&&a===this[e])return e;
return-1});Array.prototype.lastIndexOf||(Array.prototype.lastIndexOf=function(a,c){var f=this.length;if(!f)return-1;var e=c||f;e<0&&(e=e+f);for(e=Math.min(e,f-1);e>=0;e--)if(b(this,e)&&a===this[e])return e;return-1});Object.getPrototypeOf||(Object.getPrototypeOf=function(a){return a.__proto__||a.constructor.prototype});Object.getOwnPropertyDescriptor||(Object.getOwnPropertyDescriptor=function(c,e){if(typeof c!=="object"&&typeof c!=="function"||c===null)throw new TypeError("Object.getOwnPropertyDescriptor called on a non-object: "+
c);if(b(c,e)){var g,n;if(f){var q=c.__proto__;c.__proto__=k;g=j(c,e);n=a(c,e);c.__proto__=q;if(g||n){if(g)descriptor.get=g;if(n)descriptor.set=n;return descriptor}}descriptor.value=c[e];return descriptor}});Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(a){return Object.keys(a)});Object.create||(Object.create=function(a,b){var c;if(a===null)c={__proto__:null};else{if(typeof a!=="object")throw new TypeError("typeof prototype["+typeof a+"] != 'object'");c=function(){};c.prototype=
a;c=new c;c.__proto__=a}typeof b!=="undefined"&&Object.defineProperties(c,b);return c});Object.defineProperty||(Object.defineProperty=function(c,n,q){if(typeof c!=="object"&&typeof c!=="function")throw new TypeError("Object.defineProperty called on non-object: "+c);if(typeof c!=="object"||c===null)throw new TypeError("Property description must be an object: "+q);if(b(q,"value"))if(f&&(j(c,n)||a(c,n))){c.__proto__=k;delete c[n];c[n]=q.value;c.prototype}else c[n]=q.value;else{if(!f)throw new TypeError("getters & setters can not be defined on this javascript engine");
b(q,"get")&&e(c,n,q.get);b(q,"set")&&g(c,n,q.set)}return c});Object.defineProperties||(Object.defineProperties=function(a,c){for(var f in c)b(c,f)&&Object.defineProperty(a,f,c[f]);return a});Object.seal||(Object.seal=function(a){return a});Object.freeze||(Object.freeze=function(a){return a});try{Object.freeze(function(){})}catch(n){Object.freeze=function(a){return function(b){return typeof b==="function"?b:a(b)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(a){return a});
Object.isSealed||(Object.isSealed=function(){return false});Object.isFrozen||(Object.isFrozen=function(){return false});Object.isExtensible||(Object.isExtensible=function(){return true});if(!Object.keys){var v=!0,u="toString,toLocaleString,valueOf,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,constructor".split(","),s=u.length,t;for(t in{toString:null})v=!1;Object.keys=function(a){if(typeof a!=="object"&&typeof a!=="function"||a===null)throw new TypeError("Object.keys called on a non-object");
var c=[],f;for(f in a)b(a,f)&&c.push(f);if(v)for(f=0;f<s;f++){var e=u[f];b(a,e)&&c.push(e)}return c}}Date.prototype.toISOString||(Date.prototype.toISOString=function(){return this.getUTCFullYear()+"-"+(this.getUTCMonth()+1)+"-"+this.getUTCDate()+"T"+this.getUTCHours()+":"+this.getUTCMinutes()+":"+this.getUTCSeconds()+"Z"});Date.now||(Date.now=function(){return(new Date).getTime()});Date.prototype.toJSON||(Date.prototype.toJSON=function(){if(typeof this.toISOString!=="function")throw new TypeError;
return this.toISOString()});isNaN(Date.parse("T00:00"))&&(Date=function(a){var b=function(c,f,e,g,j,n,k){var q=arguments.length;if(this instanceof a){q=q===1&&""+c===c?new a(b.parse(c)):q>=7?new a(c,f,e,g,j,n,k):q>=6?new a(c,f,e,g,j,n):q>=5?new a(c,f,e,g,j):q>=4?new a(c,f,e,g):q>=3?new a(c,f,e):q>=2?new a(c,f):q>=1?new a(c):new a;q.constructor=b;return q}return a.apply(this,arguments)},c=RegExp("^(?:((?:[+-]\\d\\d)?\\d\\d\\d\\d)(?:-(\\d\\d)(?:-(\\d\\d))?)?)?(?:T(\\d\\d):(\\d\\d)(?::(\\d\\d)(?:\\.(\\d\\d\\d))?)?)?(?:Z|([+-])(\\d\\d):(\\d\\d))?$"),
f;for(f in a)b[f]=a[f];b.now=a.now;b.UTC=a.UTC;b.prototype=a.prototype;b.prototype.constructor=b;b.parse=function(b){var f=c.exec(b);if(f){f.shift();for(var e=f[0]===void 0,g=0;g<10;g++)if(g!==7){f[g]=+(f[g]||(g<3?1:0));g===1&&f[g]--}if(e)return((f[3]*60+f[4])*60+f[5])*1E3+f[6];e=(f[8]*60+f[9])*6E4;f[6]==="-"&&(e=-e);return a.UTC.apply(this,f.slice(0,7))+e}return a.parse.apply(this,arguments)};return b}(Date));if(!String.prototype.trim){var y=/^\s\s*/,q=/\s\s*$/;String.prototype.trim=function(){return(""+
this).replace(y,"").replace(q,"")}}});
define("ace/ace","require,exports,module,pilot/index,pilot/fixoldbrowsers,pilot/plugin_manager,pilot/dom,pilot/event,ace/editor,ace/edit_session,ace/undomanager,ace/virtual_renderer,ace/theme/textmate,pilot/environment".split(","),function(c,m){c("pilot/index");c("pilot/fixoldbrowsers");var k=c("pilot/plugin_manager").catalog;k.registerPlugins(["pilot/index"]);var b=c("pilot/dom"),e=c("pilot/event"),g=c("ace/editor").Editor,j=c("ace/edit_session").EditSession,a=c("ace/undomanager").UndoManager,f=
c("ace/virtual_renderer").VirtualRenderer;m.edit=function(n){typeof n=="string"&&(n=document.getElementById(n));var m=new j(b.getInnerText(n));m.setUndoManager(new a);n.innerHTML="";var u=new g(new f(n,c("ace/theme/textmate")));u.setSession(m);var s=c("pilot/environment").create();k.startupPlugins({env:s}).then(function(){s.document=m;s.editor=u;u.resize();e.addListener(window,"resize",function(){u.resize()});n.env=s});u.env=s;return u}});
define("pilot/index","require,exports,module,pilot/fixoldbrowsers,pilot/types/basic,pilot/types/command,pilot/types/settings,pilot/commands/settings,pilot/commands/basic,pilot/settings/canon,pilot/canon".split(","),function(c,m){m.startup=function(k,b){c("pilot/fixoldbrowsers");c("pilot/types/basic").startup(k,b);c("pilot/types/command").startup(k,b);c("pilot/types/settings").startup(k,b);c("pilot/commands/settings").startup(k,b);c("pilot/commands/basic").startup(k,b);c("pilot/settings/canon").startup(k,
b);c("pilot/canon").startup(k,b)};m.shutdown=function(k,b){c("pilot/types/basic").shutdown(k,b);c("pilot/types/command").shutdown(k,b);c("pilot/types/settings").shutdown(k,b);c("pilot/commands/settings").shutdown(k,b);c("pilot/commands/basic").shutdown(k,b);c("pilot/settings/canon").shutdown(k,b);c("pilot/canon").shutdown(k,b)}});
define("pilot/types/basic",["require","exports","module","pilot/types"],function(c,m){function k(a){if(!Array.isArray(a.data)&&"function"!==typeof a.data)throw Error("instances of SelectionType need typeSpec.data to be an array or function that returns an array:"+JSON.stringify(a));Object.keys(a).forEach(function(b){this[b]=a[b]},this)}function b(a){if("function"!==typeof a.defer)throw Error("Instances of DeferredType need typeSpec.defer to be a function that returns a type");Object.keys(a).forEach(function(b){this[b]=
a[b]},this)}function e(a){if(a instanceof j)this.subtype=a;else if("string"===typeof a){if(this.subtype=g.getType(a),null==this.subtype)throw Error("Unknown array subtype: "+a);}else throw Error("Can' handle array subtype");}var g=c("pilot/types"),j=g.Type,a=g.Conversion,f=g.Status,n=new j;n.stringify=function(a){return a};n.parse=function(b){if("string"!=typeof b)throw Error("non-string passed to text.parse()");return new a(b)};n.name="text";var v=new j;v.stringify=function(a){return!a?null:""+a};
v.parse=function(b){if("string"!=typeof b)throw Error("non-string passed to number.parse()");if(0===b.replace(/\s/g,"").length)return new a(null,f.INCOMPLETE,"");var c=new a(parseInt(b,10));isNaN(c.value)&&(c.status=f.INVALID,c.message="Can't convert \""+b+'" to a number.');return c};v.decrement=function(a){return a-1};v.increment=function(a){return a+1};v.name="number";k.prototype=new j;k.prototype.stringify=function(a){return a};k.prototype.parse=function(b){if("string"!=typeof b)throw Error("non-string passed to parse()");
if(!this.data)throw Error("Missing data on selection type extension.");var c=!1,e,g=[];("function"===typeof this.data?this.data():this.data).forEach(function(a){b==a?(e=this.fromString(a),c=!0):0===a.indexOf(b)&&g.push(this.fromString(a))},this);if(c)return new a(e);this.noMatch&&this.noMatch();if(0<g.length){var j="Possibilities"+(0===b.length?"":" for '"+b+"'");return new a(null,f.INCOMPLETE,j,g)}return new a(null,f.INVALID,"Can't use '"+b+"'.",g)};k.prototype.fromString=function(a){return a};k.prototype.decrement=
function(a){var b="function"===typeof this.data?this.data():this.data;null==a?a=b.length-1:(a=this.stringify(a),a=b.indexOf(a),a=0===a?b.length-1:a-1);return this.fromString(b[a])};k.prototype.increment=function(a){var b="function"===typeof this.data?this.data():this.data;null==a?a=0:(a=this.stringify(a),a=b.indexOf(a),a=a===b.length-1?0:a+1);return this.fromString(b[a])};k.prototype.name="selection";m.SelectionType=k;var u=new k({name:"bool",data:["true","false"],stringify:function(a){return""+a},
fromString:function(a){return"true"===a?!0:!1}});b.prototype=new j;b.prototype.stringify=function(a){return this.defer().stringify(a)};b.prototype.parse=function(a){return this.defer().parse(a)};b.prototype.decrement=function(a){var b=this.defer();return b.decrement?b.decrement(a):void 0};b.prototype.increment=function(a){var b=this.defer();return b.increment?b.increment(a):void 0};b.prototype.name="deferred";m.DeferredType=b;e.prototype=new j;e.prototype.stringify=function(a){return a.join(" ")};
e.prototype.parse=function(a){return this.defer().parse(a)};e.prototype.name="array";var s=!1;m.startup=function(){s||(s=!0,g.registerType(n),g.registerType(v),g.registerType(u),g.registerType(k),g.registerType(b),g.registerType(e))};m.shutdown=function(){s=!1;g.unregisterType(n);g.unregisterType(v);g.unregisterType(u);g.unregisterType(k);g.unregisterType(b);g.unregisterType(e)}});
define("pilot/types",["require","exports","module"],function(c,m){function k(){}function b(b,a){if("[]"===b.substr(-2)){var c=b.slice(0,-2);return new g.array(c)}c=g[b];"function"===typeof c&&(c=new c(a));return c}var e={VALID:{toString:function(){return"VALID"},valueOf:function(){return 0}},INCOMPLETE:{toString:function(){return"INCOMPLETE"},valueOf:function(){return 1}},INVALID:{toString:function(){return"INVALID"},valueOf:function(){return 2}},combine:function(b){for(var a=e.VALID,c=0;c<b.length;c++)b[c].valueOf()>
a.valueOf()&&(a=b[c]);return a}};m.Status=e;m.Conversion=function(b,a,c,g){this.value=b;this.status=a||e.VALID;this.message=c;this.predictions=g||[]};k.prototype={stringify:function(){throw Error("not implemented");},parse:function(){throw Error("not implemented");},name:void 0,increment:function(){},decrement:function(){},getDefault:function(){return this.parse("")}};m.Type=k;var g={};m.registerType=function(b){if("object"===typeof b)if(b instanceof k){if(!b.name)throw Error("All registered types must have a name");
g[b.name]=b}else throw Error("Can't registerType using: "+b);else if("function"===typeof b){if(!b.prototype.name)throw Error("All registered types must have a name");g[b.prototype.name]=b}else throw Error("Unknown type: "+b);};m.registerTypes=function(b){Object.keys(b).forEach(function(a){var c=b[a];c.name=a;m.registerType(c)})};m.deregisterType=function(b){delete g[b.name]};m.getType=function(c){if("string"===typeof c)return b(c);if("object"===typeof c){if(!c.name)throw Error("Missing 'name' member to typeSpec");
return b(c.name,c)}throw Error("Can't extract type from "+c);}});define("pilot/types/command","require,exports,module,pilot/canon,pilot/types/basic,pilot/types".split(","),function(c,m){var k=c("pilot/canon"),b=c("pilot/types/basic").SelectionType,e=c("pilot/types"),g=new b({name:"command",data:function(){return k.getCommandNames()},stringify:function(b){return b.name},fromString:function(b){return k.getCommand(b)}});m.startup=function(){e.registerType(g)};m.shutdown=function(){e.unregisterType(g)}});
define("pilot/canon","require,exports,module,pilot/console,pilot/stacktrace,pilot/oop,pilot/useragent,pilot/keys,pilot/event_emitter,pilot/typecheck,pilot/catalog,pilot/types,pilot/lang".split(","),function(c,m){function k(a,b,c,f){return(f&&a.toLowerCase()||a).replace(/(?:^\s+|\n|\s+$)/g,"").split(RegExp("[\\s ]*"+b+"[\\s ]*","g"),c||999)}function b(a,b,c){for(var f,e=0,a=k(a,"\\-",null,true),g=0,j=a.length;g<j;++g)t.KEY_MODS[a[g]]?e=e|t.KEY_MODS[a[g]]:f=a[g]||"-";if(c==null)return{key:f,hashId:e};
(c[e]||(c[e]={}))[f]=b}function e(a){var c=a.bindKey,f=c[F],e=E,g=C;if(!c.sender)throw Error("All key bindings must have a sender");if(!c.mac&&c.mac!==null)throw Error("All key bindings must have a mac key binding");if(!c.win&&c.win!==null)throw Error("All key bindings must have a windows key binding");if(c[F])if(typeof c.sender=="string")k(c.sender,"\\|",null,true).forEach(function(c){e[c]||(e[c]={});f.split("|").forEach(function(f){b(f,a,e[c])})});else if(q.isFunction(c.sender)){c={command:a,sender:c.sender};
keyData=b(f);g[keyData.hashId]||(g[keyData.hashId]={});g[keyData.hashId][keyData.key]?g[keyData.hashId][keyData.key].push(c):g[keyData.hashId][keyData.key]=[c]}else throw Error("Key binding must have a sender that is a string or function");}function g(a,b,c,f){q.isNumber(f)&&(f=t.keyCodeToString(f));for(var e=(C[c]||{})[f]||[],g=0;g<e.length;g++)if(e[g].sender(a,b,c,f))return e[g].command;return(a=E[b])&&a[c]&&a[c][f]}function j(a,b){var c=b.type;b.type=B.getType(c);if(b.type==null)throw Error("In "+
a+"/"+b.name+": can't find type for: "+JSON.stringify(c));}function a(a,b){for(var c=a.args,f=a.command.params,e=0;e<f.length;e++){var g=f[e];if(a.getParamStatus(g)!=A.VALID||g.defaultValue===null){var j=g.description;g.defaultValue===null&&(j=j+" (optional)");j=prompt(j,g.defaultValue||"");if(!j){b();return}c[g.name]=j}}b()}function f(b,c,f,e,g){function j(){b.exec(c,k.args,k);!k.isAsync&&!k.isDone&&k.done()}typeof b==="string"&&(b=z[b]);if(!b)return false;var k=new n({sender:f,command:b,args:e||
{},typed:g});if(k.getStatus()==A.INVALID){v.error("Canon.exec: Invalid parameter(s) passed to "+b.name);return false}if(k.getStatus()==A.INCOMPLETE){var q,f=c[f];if(!f||!f.getArgsProvider||!(q=f.getArgsProvider()))q=a;q(k,function(){k.getStatus()==A.VALID&&j()})}else j();return true}function n(a){a=a||{};this.command=a.command;this.args=a.args;this.typed=a.typed;this._begunOutput=false;this.start=new Date;this.end=null;this.error=this.completed=false}var v=c("pilot/console");c("pilot/stacktrace");
var u=c("pilot/oop"),s=c("pilot/useragent"),t=c("pilot/keys"),y=c("pilot/event_emitter").EventEmitter,q=c("pilot/typecheck"),x=c("pilot/catalog"),A=c("pilot/types").Status,B=c("pilot/types"),r=c("pilot/lang"),p={name:"command",description:"A command is a bit of functionality with optional typed arguments which can do something small like moving the cursor around the screen, or large like cloning a project from VCS.",indexOn:"name"};m.startup=function(){x.addExtensionSpec(p)};m.shutdown=function(){x.removeExtensionSpec(p)};
var z={},E={},C={},F=s.isMac?"mac":"win",G=[];m.removeCommand=function(a){var b=typeof a==="string"?a:a.name,a=z[b];delete z[b];r.arrayRemove(G,b);var b=E,c;for(c in b)for(var f in b[c])for(var e in b[c][f])b[c][f][e]==a&&delete b[c][f][e];var g=C;for(c in g)for(f in g[c])g[c][f].forEach(function(b,e){b.command==a&&g[c][f].splice(e,1)})};m.addCommand=function(a){if(!a.name)throw Error("All registered commands must have a name");if(a.params==null)a.params=[];if(!Array.isArray(a.params))throw Error("command.params must be an array in "+
a.name);a.params.forEach(function(b){if(!b.name)throw Error("In "+a.name+": all params must have a name");j(a.name,b)},this);z[a.name]=a;a.bindKey&&e(a);G.push(a.name);G.sort()};m.getCommand=function(a){return z[a]};m.getCommandNames=function(){return G};m.findKeyCommand=g;m.exec=f;m.execKeyCommand=function(a,b,c,e){return(c=g(a,b,c,e))?f(c,a,b,{}):false};m.upgradeType=j;u.implement(m,y);var J=[];u.implement(n.prototype,y);n.prototype.getParamStatus=function(a){var b=this.args||{};if(a.name in b){if(b[a.name]==
null)return a.defaultValue===null?A.VALID:A.INCOMPLETE;var c,b=b[a.name].toString();try{c=a.type.parse(b)}catch(f){return A.INVALID}if(c.status!=A.VALID)return c.status}else if(a.defaultValue===void 0)return A.INCOMPLETE;return A.VALID};n.prototype.getParamNameStatus=function(a){for(var b=this.command.params||[],c=0;c<b.length;c++)if(b[c].name==a)return this.getParamStatus(b[c]);throw"Parameter '"+a+"' not defined on command '"+this.command.name+"'";};n.prototype.getStatus=function(){var a=this.command.params;
if(!a||a.length==0)return A.VALID;for(var b=[],c=0;c<a.length;c++)b.push(this.getParamStatus(a[c]));return A.combine(b)};n.prototype._beginOutput=function(){this._begunOutput=true;this.outputs=[];for(J.push(this);J.length>100;)J.shiftObject();m._dispatchEvent("output",{requests:J,request:this})};n.prototype.doneWithError=function(a){this.error=true;this.done(a)};n.prototype.async=function(){this.isAsync=true;this._begunOutput||this._beginOutput()};n.prototype.output=function(a){this._begunOutput||
this._beginOutput();typeof a!=="string"&&!(a instanceof Node)&&(a=a.toString());this.outputs.push(a);this.isDone=true;this._dispatchEvent("output",{});return this};n.prototype.done=function(a){this.completed=true;this.end=new Date;this.duration=this.end.getTime()-this.start.getTime();a&&this.output(a);if(!this.isDone){this.isDone=true;this._dispatchEvent("output",{})}};m.Request=n});
define("pilot/console",["require","exports","module"],function(c,m){var k=function(){},b="assert,count,debug,dir,dirxml,error,group,groupEnd,info,log,profile,profileEnd,time,timeEnd,trace,warn".split(",");"undefined"===typeof window?b.forEach(function(b){m[b]=function(){var c=Array.prototype.slice.call(arguments);postMessage(JSON.stringify({op:"log",method:b,args:c}))}}):b.forEach(function(b){m[b]=window.console&&window.console[b]?Function.prototype.bind.call(window.console[b],window.console):k})});
define("pilot/stacktrace",["require","exports","module","pilot/useragent","pilot/console"],function(c,m){function k(){}var b=c("pilot/useragent"),e=c("pilot/console"),g=b.isGecko?"firefox":b.isOpera?"opera":"other",j={chrome:function(a){var b=a.stack;return!b?(e.log(a),[]):b.replace(/^.*?\n/,"").replace(/^.*?\n/,"").replace(/^.*?\n/,"").replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@").split("\n")},firefox:function(a){var b=a.stack;if(!b)return e.log(a),
[];b=b.replace(/(?:\n@:0)?\s+$/m,"");b=b.replace(/^\(/gm,"{anonymous}(");return b.split("\n")},opera:function(a){var a=a.message.split("\n"),b=/Line\s+(\d+).*?script\s+(http\S+)(?:.*?in\s+function\s+(\S+))?/i,c,f,e;c=4;f=0;for(e=a.length;c<e;c+=2)b.test(a[c])&&(a[f++]=(RegExp.$3?RegExp.$3+"()@"+RegExp.$2+RegExp.$1:"{anonymous}()@"+RegExp.$2+":"+RegExp.$1)+" -- "+a[c+1].replace(/^\s+/,""));a.splice(f,a.length-f);return a},other:function(a){for(var b=/function\s*([\w\-$]+)?\s*\(/i,c=[],f=0,e,g;a&&10>
c.length;){e=b.test(a.toString())?RegExp.$1||"{anonymous}":"{anonymous}";g=Array.prototype.slice.call(a.arguments);var j=c,k=f++;e+="(";for(var m=0;m<g.length;++m){var B=g[m];"object"==typeof B?g[m]="#object":"function"==typeof B?g[m]="#function":"string"==typeof B&&(g[m]='"'+B+'"')}g=g.join(",");j[k]=e+g+")";if(a===a.caller&&window.opera)break;a=a.caller}return c}};k.prototype={sourceCache:{},ajax:function(a){var b=this.createXMLHTTPObject();if(b)return b.open("GET",a,!1),b.setRequestHeader("User-Agent",
"XMLHTTP/1.0"),b.send(""),b.responseText},createXMLHTTPObject:function(){for(var a,b=[function(){return new XMLHttpRequest},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml3.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],c=0;c<b.length;c++)try{return a=b[c](),this.createXMLHTTPObject=b[c],a}catch(f){}},getSource:function(a){a in this.sourceCache||(this.sourceCache[a]=this.ajax(a).split("\n"));return this.sourceCache[a]},guessFunctions:function(a){for(var b=
0;b<a.length;++b){var c=a[b],f=/{anonymous}\(.*\)@(\w+:\/\/([-\w\.]+)+(:\d+)?[^:]+):(\d+):?(\d+)?/.exec(c);if(f){var e=f[1],f=f[4];e&&f&&(e=this.guessFunctionName(e,f),a[b]=c.replace("{anonymous}",e))}}return a},guessFunctionName:function(a,b){try{return this.guessFunctionNameFromLines(b,this.getSource(a))}catch(c){return"getSource failed with url: "+a+", exception: "+c.toString()}},guessFunctionNameFromLines:function(a,b){for(var c=/function ([^(]*)\(([^)]*)\)/,f=/['"]?([0-9A-Za-z_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,
e="",g=0;10>g;++g)if(e=b[a-g]+e,void 0!==e){var j=f.exec(e);if(j||(j=c.exec(e))&&j[1])return j[1]}return"(?)"}};var a=new k,f=[/http:\/\/localhost:4020\/sproutcore.js:/];m.ignoreFramesMatching=function(a){f.push(a)};m.Trace=function(b,c){this._ex=b;this._stack=j[g](b);c&&(this._stack=a.guessFunctions(this._stack))};m.Trace.prototype.log=function(a){0>=a&&(a=999999999);for(var b=0,c=0;c<this._stack.length&&b<a;c++){var g=this._stack[c],j=!0;f.forEach(function(a){a.test(g)&&(j=!1)});j&&(e.debug(g),
b++)}}});
define("pilot/useragent",["require","exports","module"],function(c,m){var k=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),b=navigator.userAgent;m.isWin="win"==k;m.isMac="mac"==k;m.isLinux="linux"==k;m.isIE=!+"\v1";m.isGecko=m.isMozilla=window.controllers&&"Gecko"===window.navigator.product;m.isOldGecko=m.isGecko&&/rv\:1/.test(navigator.userAgent);m.isOpera=window.opera&&"[object Opera]"==Object.prototype.toString.call(window.opera);m.isWebKit=parseFloat(b.split("WebKit/")[1])||void 0;
m.isChrome=parseFloat(b.split(" Chrome/")[1])||void 0;m.isAIR=0<=b.indexOf("AdobeAIR");m.isIPad=0<=b.indexOf("iPad");m.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"};m.getOS=function(){return m.isMac?m.OS.MAC:m.isLinux?m.OS.LINUX:m.OS.WINDOWS}});
define("pilot/oop",["require","exports","module"],function(c,m){m.inherits=function(){var c=function(){};return function(b,e){c.prototype=e.prototype;b.super_=e.prototype;b.prototype=new c;b.prototype.constructor=b}}();m.mixin=function(c,b){for(var e in b)c[e]=b[e]};m.implement=function(c,b){m.mixin(c,b)}});
define("pilot/keys",["require","exports","module","pilot/oop"],function(c,m){var k=c("pilot/oop"),b=function(){var b={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,meta:8,command:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",
120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",188:",",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:'"'}};for(i in b.FUNCTION_KEYS){var c=b.FUNCTION_KEYS[i].toUpperCase();
b[c]=parseInt(i,10)}k.mixin(b,b.MODIFIER_KEYS);k.mixin(b,b.PRINTABLE_KEYS);k.mixin(b,b.FUNCTION_KEYS);return b}();k.mixin(m,b);m.keyCodeToString=function(c){return(b[c]||String.fromCharCode(c)).toLowerCase()}});
define("pilot/event_emitter",["require","exports","module"],function(c,m){var k={};k._emit=k._dispatchEvent=function(b,c){this._eventRegistry=this._eventRegistry||{};var g=this._eventRegistry[b];if(g&&g.length){c=c||{};c.type=b;for(var j=0;j<g.length;j++)g[j](c)}};k.on=k.addEventListener=function(b,c){this._eventRegistry=this._eventRegistry||{};var g=this._eventRegistry[b];g||(g=this._eventRegistry[b]=[]);-1==g.indexOf(c)&&g.push(c)};k.removeListener=k.removeEventListener=function(b,c){this._eventRegistry=
this._eventRegistry||{};var g=this._eventRegistry[b];if(g){var j=g.indexOf(c);-1!==j&&g.splice(j,1)}};k.removeAllListeners=function(b){this._eventRegistry&&(this._eventRegistry[b]=[])};m.EventEmitter=k});
define("pilot/typecheck",["require","exports","module"],function(c,m){var k=Object.prototype.toString;m.isString=function(b){return b&&"[object String]"===k.call(b)};m.isBoolean=function(b){return b&&"[object Boolean]"===k.call(b)};m.isNumber=function(b){return b&&"[object Number]"===k.call(b)&&isFinite(b)};m.isObject=function(b){return void 0!==b&&(null===b||"object"==typeof b||Array.isArray(b)||m.isFunction(b))};m.isFunction=function(b){return b&&"[object Function]"===k.call(b)}});
define("pilot/catalog",["require","exports","module"],function(c,m){var k={};m.addExtensionSpec=function(b){k[b.name]=b};m.removeExtensionSpec=function(b){"string"===typeof b?delete k[b]:delete k[b.name]};m.getExtensionSpec=function(b){return k[b]};m.getExtensionSpecs=function(){return Object.keys(k)}});
define("pilot/lang",["require","exports","module"],function(c,m){m.stringReverse=function(b){return b.split("").reverse().join("")};m.stringRepeat=function(b,c){return Array(c+1).join(b)};var k=/^\s\s*/,b=/\s\s*$/;m.stringTrimLeft=function(b){return b.replace(k,"")};m.stringTrimRight=function(c){return c.replace(b,"")};m.copyObject=function(b){var c={},j;for(j in b)c[j]=b[j];return c};m.copyArray=function(b){var c=[];i=0;for(l=b.length;i<l;i++)c[i]=b[i]&&"object"==typeof b[i]?this.copyObject(b[i]):
b[i];return c};m.deepCopy=function(b){if("object"!=typeof b)return b;var c=b.constructor(),j;for(j in b)c[j]="object"==typeof b[j]?this.deepCopy(b[j]):b[j];return c};m.arrayToMap=function(b){for(var c={},j=0;j<b.length;j++)c[b[j]]=1;return c};m.arrayRemove=function(b,c){for(var j=0;j<=b.length;j++)c===b[j]&&b.splice(j,1)};m.escapeRegExp=function(b){return b.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")};m.deferredCall=function(b){var c=null,j=function(){c=null;b()},a=function(b){c||(c=setTimeout(j,b||
0));return a};a.schedule=a;a.call=function(){this.cancel();b();return a};a.cancel=function(){clearTimeout(c);c=null;return a};return a}});
define("pilot/types/settings","require,exports,module,pilot/types/basic,pilot/types,pilot/settings".split(","),function(c,m){var k=c("pilot/types/basic").SelectionType,b=c("pilot/types/basic").DeferredType,e=c("pilot/types"),g=c("pilot/settings").settings,j,a=new k({name:"setting",data:function(){return n.settings.getSettingNames()},stringify:function(a){j=a;return a.name},fromString:function(a){return j=g.getSetting(a)},noMatch:function(){j=null}}),f=new b({name:"settingValue",defer:function(){return j?
j.type:e.getType("text")},getDefault:function(){var a=this.parse("");if(j){var b=j.get();if(a.predictions.length===0)a.predictions.push(b);else{for(var c=false;;){var f=a.predictions.indexOf(b);if(f===-1)break;a.predictions.splice(f,1);c=true}c&&a.predictions.push(b)}}return a}}),n;m.startup=function(b){n=b.env;e.registerType(a);e.registerType(f)};m.shutdown=function(){e.unregisterType(a);e.unregisterType(f)}});
define("pilot/settings","require,exports,module,pilot/console,pilot/oop,pilot/types,pilot/event_emitter,pilot/catalog".split(","),function(c,m){function k(b,c){this._settings=c;Object.keys(b).forEach(function(a){this[a]=b[a]},this);this.type=a.getType(this.type);if(this.type==null)throw Error("In "+this.name+": can't find type for: "+JSON.stringify(b.type));if(!this.name)throw Error("Setting.name == undefined. Ignoring.",this);if(!this.defaultValue===void 0)throw Error("Setting.defaultValue == undefined",
this);if(this.onChange)this.on("change",this.onChange.bind(this));this.set(this.defaultValue)}function b(a){this._deactivated={};this._settings={};this._settingNames=[];a&&this.setPersister(a)}function e(){}var g=c("pilot/console"),j=c("pilot/oop"),a=c("pilot/types"),f=c("pilot/event_emitter").EventEmitter,n=c("pilot/catalog"),v={name:"setting",description:"A setting is something that the application offers as a way to customize how it works",register:"env.settings.addSetting",indexOn:"name"};m.startup=
function(){n.addExtensionSpec(v)};m.shutdown=function(){n.removeExtensionSpec(v)};k.prototype={get:function(){return this.value},set:function(a){if(this.value!==a){this.value=a;this._settings.persister&&this._settings.persister.persistValue(this._settings,this.name,a);this._dispatchEvent("change",{setting:this,value:a})}},resetValue:function(){this.set(this.defaultValue)},toString:function(){return this.name}};j.implement(k.prototype,f);b.prototype={addSetting:function(a){a=new k(a,this);this._settings[a.name]=
a;this._settingNames.push(a.name);this._settingNames.sort()},addSettings:function(a){Object.keys(a).forEach(function(b){var c=a[b];if(!("name"in c))c.name=b;this.addSetting(c)},this)},removeSetting:function(a){a=typeof a==="string"?a:a.name;delete this._settings[a];util.arrayRemove(this._settingNames,a);settings.removeAllListeners("change")},removeSettings:function(a){Object.keys(a).forEach(function(b){var c=a[b];if(!("name"in c))c.name=b;this.removeSettings(c)},this)},getSettingNames:function(){return this._settingNames},
getSetting:function(a){return this._settings[a]},setPersister:function(a){(this._persister=a)&&a.loadInitialValues(this)},resetAll:function(){this.getSettingNames().forEach(function(a){this.resetValue(a)},this)},_list:function(){var a=[];this.getSettingNames().forEach(function(b){a.push({key:b,value:this.getSetting(b).get()})},this);return a},_loadDefaultValues:function(){this._loadFromObject(this._getDefaultValues())},_loadFromObject:function(a){for(var b in a)if(a.hasOwnProperty(b)){var c=this._settings[b];
if(c){c=c.type.parse(a[b]);this.set(b,c)}else this.set(b,a[b])}},_saveToObject:function(){return this.getSettingNames().map(function(a){return this._settings[a].type.stringify(this.get(a))}.bind(this))},_getDefaultValues:function(){return this.getSettingNames().map(function(a){return this._settings[a].spec.defaultValue}.bind(this))}};m.settings=new b;e.prototype={loadInitialValues:function(a){a._loadDefaultValues();var b=cookie.get("settings");a._loadFromObject(JSON.parse(b))},persistValue:function(a){try{var b=
JSON.stringify(a._saveToObject());cookie.set("settings",b)}catch(c){g.error("Unable to JSONify the settings! "+c)}}};m.CookiePersister=e});
define("pilot/commands/settings",["require","exports","module","pilot/canon"],function(c,m){var k={name:"set",params:[{name:"setting",type:"setting",description:"The name of the setting to display or alter",defaultValue:null},{name:"value",type:"settingValue",description:"The new value for the chosen setting",defaultValue:null}],description:"define and show settings",exec:function(b,c,a){var f;c.setting?void 0===c.value?f="<strong>"+setting.name+"</strong> = "+setting.get():(c.setting.set(c.value),
f="Setting: <strong>"+c.setting.name+"</strong> = "+c.setting.get()):(c=b.settings.getSettingNames(),f="",c.sort(function(a,b){return a.localeCompare(b)}),c.forEach(function(a){a=b.settings.getSetting(a);f+='<a class="setting" href="https://wiki.mozilla.org/Labs/Skywriter/Settings#'+a.name+'" title="View external documentation on setting: '+a.name+'" target="_blank">'+a.name+"</a> = "+a.value+"<br/>"}));a.done(f)}},b={name:"unset",params:[{name:"setting",type:"setting",description:"The name of the setting to return to defaults"}],
description:"unset a setting entirely",exec:function(b,c,a){var f=b.settings.get(c.setting);f?(f.reset(),a.done("Reset "+f.name+" to default: "+b.settings.get(c.setting))):a.doneWithError("No setting with the name <strong>"+c.setting+"</strong>.")}},e=c("pilot/canon");m.startup=function(){e.addCommand(k);e.addCommand(b)};m.shutdown=function(){e.removeCommand(k);e.removeCommand(b)}});
define("pilot/commands/basic",["require","exports","module","pilot/typecheck","pilot/canon"],function(c,m){var k=c("pilot/typecheck"),b=c("pilot/canon"),e={name:"help",params:[{name:"search",type:"text",description:"Search string to narrow the output.",defaultValue:null}],description:"Get help on the available commands.",exec:function(c,a,f){var c=[],e=b.getCommand(a.search);if(e&&e.exec)c.push(e.description?e.description:"No description for "+a.search);else{var g=!1;e?(c.push("<h2>Sub-Commands of "+
e.name+"</h2>"),c.push("<p>"+e.description+"</p>")):a.search?("hidden"==a.search&&(a.search="",g=!0),c.push("<h2>Commands starting with '"+a.search+"':</h2>")):c.push("<h2>Available Commands:</h2>");var k=b.getCommandNames();k.sort();c.push("<table>");for(var m=0;m<k.length;m++)if(e=b.getCommand(k[m]),(g||!e.hidden)&&void 0!==e.description&&!(a.search&&0!==e.name.indexOf(a.search)))if((a.search||-1==e.name.indexOf(" "))&&!(e&&e.name==a.search))c.push("<tr>"),c.push('<th class="right">'+e.name+"</th>"),
c.push("<td>"+e.description+"</td>"),c.push("</tr>");c.push("</table>")}f.done(c.join(""))}},g={name:"eval",params:[{name:"javascript",type:"text",description:"The JavaScript to evaluate"}],description:"evals given js code and show the result",hidden:!0,exec:function(b,a,c){var e,b=a.javascript;try{e=eval(b)}catch(g){e="<b>Error: "+g.message+"</b>"}var m=a="",s;if(k.isFunction(e))a=(e+"").replace(/\n/g,"<br>").replace(/ /g,"&#160"),m="function";else if(k.isObject(e)){var m=Array.isArray(e)?"array":
"object",t=[],y;for(s in e)e.hasOwnProperty(s)&&(y=k.isFunction(e[s])?"[function]":k.isObject(e[s])?"[object]":e[s],t.push({name:s,value:y}));t.sort(function(a,b){return a.name.toLowerCase()<b.name.toLowerCase()?-1:1});for(s=0;s<t.length;s++)a+="<b>"+t[s].name+"</b>: "+t[s].value+"<br>"}else a=e,m=typeof e;c.done("Result for eval <b>'"+b+"'</b> (type: "+m+"): <br><br>"+a)}},b=c("pilot/canon");m.startup=function(){b.addCommand(e);b.addCommand(g)};m.shutdown=function(){b.removeCommand(e);b.removeCommand(g)}});
define("pilot/settings/canon",["require","exports","module"],function(c,m){var k={name:"historyLength",description:"How many typed commands do we recall for reference?",type:"number",defaultValue:50};m.startup=function(b){b.env.settings.addSetting(k)};m.shutdown=function(b){b.env.settings.removeSetting(k)}});
define("pilot/plugin_manager",["require","exports","module","pilot/promise"],function(c,m){var k=c("pilot/promise").Promise;m.REASONS={APP_STARTUP:1,APP_SHUTDOWN:2,PLUGIN_ENABLE:3,PLUGIN_DISABLE:4,PLUGIN_INSTALL:5,PLUGIN_UNINSTALL:6,PLUGIN_UPGRADE:7,PLUGIN_DOWNGRADE:8};m.Plugin=function(b){this.name=b;this.status=this.INSTALLED};m.Plugin.prototype={NEW:0,INSTALLED:1,REGISTERED:2,STARTED:3,UNREGISTERED:4,SHUTDOWN:5,install:function(b,e){var g=new k;if(this.status>this.NEW)return g.resolve(this),g;
c([this.name],function(c){c.install&&c.install(b,e);this.status=this.INSTALLED;g.resolve(this)}.bind(this));return g},register:function(b,e){var g=new k;if(this.status!=this.INSTALLED)return g.resolve(this),g;c([this.name],function(c){c.register&&c.register(b,e);this.status=this.REGISTERED;g.resolve(this)}.bind(this));return g},startup:function(b,e){var e=e||m.REASONS.APP_STARTUP,g=new k;if(this.status!=this.REGISTERED)return g.resolve(this),g;c([this.name],function(c){c.startup&&c.startup(b,e);this.status=
this.STARTED;g.resolve(this)}.bind(this));return g},shutdown:function(b,e){this.status==this.STARTED&&(pluginModule=c(this.name),pluginModule.shutdown&&pluginModule.shutdown(b,e))}};m.PluginCatalog=function(){this.plugins={}};m.PluginCatalog.prototype={registerPlugins:function(b,c,g){var j=[];b.forEach(function(a){var b=this.plugins[a];void 0===b&&(b=new m.Plugin(a),this.plugins[a]=b,j.push(b.register(c,g)))}.bind(this));return k.group(j)},startupPlugins:function(b,c){var g=[],j;for(j in this.plugins)g.push(this.plugins[j].startup(b,
c));return k.group(g)}};m.catalog=new m.PluginCatalog});
define("pilot/promise",["require","exports","module","pilot/console","pilot/stacktrace"],function(c,m){var k=c("pilot/console");c("pilot/stacktrace");var b=0,e=[],g=[];Promise=function(){this._status=0;this._value=void 0;this._onSuccessHandlers=[];this._onErrorHandlers=[];this._id=b++;e[this._id]=this};Promise.prototype.isPromise=!0;Promise.prototype.isComplete=function(){return 0!=this._status};Promise.prototype.isResolved=function(){return 1==this._status};Promise.prototype.isRejected=function(){return-1==
this._status};Promise.prototype.then=function(b,a){"function"===typeof b&&(1===this._status?b.call(null,this._value):0===this._status&&this._onSuccessHandlers.push(b));"function"===typeof a&&(-1===this._status?a.call(null,this._value):0===this._status&&this._onErrorHandlers.push(a));return this};Promise.prototype.chainPromise=function(b){var a=new Promise;a._chainedFrom=this;this.then(function(c){try{a.resolve(b(c))}catch(e){a.reject(e)}},function(b){a.reject(b)});return a};Promise.prototype.resolve=
function(b){return this._complete(this._onSuccessHandlers,1,b,"resolve")};Promise.prototype.reject=function(b){return this._complete(this._onErrorHandlers,-1,b,"reject")};Promise.prototype._complete=function(b,a,c,n){if(0!=this._status)return k.group("Promise already closed"),k.error("Attempted "+n+"() with ",c),k.error("Previous status = ",this._status,", previous value = ",this._value),k.trace(),this._completeTrace&&(k.error("Trace of previous completion:"),this._completeTrace.log(5)),k.groupEnd(),
this;this._status=a;this._value=c;b.forEach(function(a){a.call(null,this._value)},this);this._onSuccessHandlers.length=0;this._onErrorHandlers.length=0;delete e[this._id];for(g.push(this);20<g.length;)g.shift();return this};Promise.group=function(b){b instanceof Array||(b=Array.prototype.slice.call(arguments));if(0===b.length)return(new Promise).resolve([]);var a=new Promise,c=[],e=0,g=function(g){return function(k){c[g]=k;e++;-1!==a._status&&e===b.length&&a.resolve(c)}};b.forEach(function(b,c){var f=
g(c),e=a.reject.bind(a);b.then(f,e)});return a};m.Promise=Promise;m._outstanding=e;m._recent=g});
define("pilot/dom",["require","exports","module"],function(c,m){m.createElement=function(c,b){return document.createElementNS?document.createElementNS(b||"http://www.w3.org/1999/xhtml",c):document.createElement(c)};m.setText=function(c,b){void 0!==c.innerText&&(c.innerText=b);void 0!==c.textContent&&(c.textContent=b)};document.documentElement.classList?(m.hasCssClass=function(c,b){return c.classList.contains(b)},m.addCssClass=function(c,b){c.classList.add(b)},m.removeCssClass=function(c,b){c.classList.remove(b)},
m.toggleCssClass=function(c,b){return c.classList.toggle(b)}):(m.hasCssClass=function(c,b){return-1!==c.className.split(/\s+/g).indexOf(b)},m.addCssClass=function(c,b){m.hasCssClass(c,b)||(c.className+=" "+b)},m.removeCssClass=function(c,b){for(var e=c.className.split(/\s+/g);;){var g=e.indexOf(b);if(-1==g)break;e.splice(g,1)}c.className=e.join(" ")},m.toggleCssClass=function(c,b){for(var e=c.className.split(/\s+/g),g=!0;;){var j=e.indexOf(b);if(-1==j)break;g=!1;e.splice(j,1)}g&&e.push(b);c.className=
e.join(" ");return g});m.setCssClass=function(c,b,e){e?m.addCssClass(c,b):m.removeCssClass(c,b)};m.importCssString=function(c,b){b=b||document;if(b.createStyleSheet)b.createStyleSheet().cssText=c;else{var e=b.createElementNS?b.createElementNS("http://www.w3.org/1999/xhtml","style"):b.createElement("style");e.appendChild(b.createTextNode(c));(b.getElementsByTagName("head")[0]||b.documentElement).appendChild(e)}};m.getInnerWidth=function(c){return parseInt(m.computedStyle(c,"paddingLeft"))+parseInt(m.computedStyle(c,
"paddingRight"))+c.clientWidth};m.getInnerHeight=function(c){return parseInt(m.computedStyle(c,"paddingTop"))+parseInt(m.computedStyle(c,"paddingBottom"))+c.clientHeight};void 0!==window.pageYOffset?(m.getPageScrollTop=function(){return window.pageYOffset},m.getPageScrollLeft=function(){return window.pageXOffset}):(m.getPageScrollTop=function(){return document.body.scrollTop},m.getPageScrollLeft=function(){return document.body.scrollLeft});m.computedStyle=window.getComputedStyle?function(c,b){return b?
(window.getComputedStyle(c,"")||{})[b]||"":window.getComputedStyle(c,"")||{}}:function(c,b){return b?c.currentStyle[b]:c.currentStyle};m.scrollbarWidth=function(){var c=m.createElement("p");c.style.width="100%";c.style.minWidth="0px";c.style.height="200px";var b=m.createElement("div"),e=b.style;e.position="absolute";e.left="-10000px";e.overflow="hidden";e.width="200px";e.minWidth="0px";e.height="150px";b.appendChild(c);var g=document.body||document.documentElement;g.appendChild(b);var j=c.offsetWidth;
e.overflow="scroll";c=c.offsetWidth;if(j==c)c=b.clientWidth;g.removeChild(b);return j-c};m.setInnerHtml=function(c,b){var e=c.cloneNode(false);e.innerHTML=b;c.parentNode.replaceChild(e,c);return e};m.setInnerText=function(c,b){document.body&&"textContent"in document.body?c.textContent=b:c.innerText=b};m.getInnerText=function(c){return document.body&&"textContent"in document.body?c.textContent:c.innerText||c.textContent||""};m.getParentWindow=function(c){return c.defaultView||c.parentWindow};m.getSelectionStart=
function(c){var b;try{b=c.selectionStart||0}catch(e){b=0}return b};m.setSelectionStart=function(c,b){return c.selectionStart=b};m.getSelectionEnd=function(c){var b;try{b=c.selectionEnd||0}catch(e){b=0}return b};m.setSelectionEnd=function(c,b){return c.selectionEnd=b}});
define("pilot/event","require,exports,module,pilot/keys,pilot/useragent,pilot/dom".split(","),function(c,m){function k(c,a,f){var g=0,g=e.isOpera&&e.isMac?0|(a.metaKey?1:0)|(a.altKey?2:0)|(a.shiftKey?4:0)|(a.ctrlKey?8:0):0|(a.ctrlKey?1:0)|(a.altKey?2:0)|(a.shiftKey?4:0)|(a.metaKey?8:0);if(f in b.MODIFIER_KEYS){switch(b.MODIFIER_KEYS[f]){case "Alt":g=2;break;case "Shift":g=4;break;case "Ctrl":g=1;break;default:g=8}f=0}if(g&8&&(f==91||f==93))f=0;return g==0&&!(f in b.FUNCTION_KEYS)?false:c(a,g,f)}var b=
c("pilot/keys"),e=c("pilot/useragent"),g=c("pilot/dom");m.addListener=function(b,a,c){if(b.addEventListener)return b.addEventListener(a,c,false);if(b.attachEvent){var e=function(){c(window.event)};c._wrapper=e;b.attachEvent("on"+a,e)}};m.removeListener=function(b,a,c){if(b.removeEventListener)return b.removeEventListener(a,c,false);b.detachEvent&&b.detachEvent("on"+a,c._wrapper||c)};m.stopEvent=function(b){m.stopPropagation(b);m.preventDefault(b);return false};m.stopPropagation=function(b){b.stopPropagation?
b.stopPropagation():b.cancelBubble=true};m.preventDefault=function(b){b.preventDefault?b.preventDefault():b.returnValue=false};m.getDocumentX=function(b){return b.clientX?b.clientX+g.getPageScrollLeft():b.pageX};m.getDocumentY=function(b){return b.clientY?b.clientY+g.getPageScrollTop():b.pageY};m.getButton=function(b){return b.type=="dblclick"?0:b.type=="contextmenu"?2:b.preventDefault?b.button:{1:0,2:2,4:1}[b.button]};m.capture=document.documentElement.setCapture?function(b,a,c){function e(g){a&&
a(g);c&&c();m.removeListener(b,"mousemove",a);m.removeListener(b,"mouseup",e);m.removeListener(b,"losecapture",e);b.releaseCapture()}m.addListener(b,"mousemove",a);m.addListener(b,"mouseup",e);m.addListener(b,"losecapture",e);b.setCapture()}:function(b,a,c){function e(b){a(b);b.stopPropagation()}function g(b){a&&a(b);c&&c();document.removeEventListener("mousemove",e,true);document.removeEventListener("mouseup",g,true);b.stopPropagation()}document.addEventListener("mousemove",e,true);document.addEventListener("mouseup",
g,true)};m.addMouseWheelListener=function(b,a){var c=function(b){if(b.wheelDelta!==void 0)if(b.wheelDeltaX!==void 0){b.wheelX=-b.wheelDeltaX/8;b.wheelY=-b.wheelDeltaY/8}else{b.wheelX=0;b.wheelY=-b.wheelDelta/8}else if(b.axis&&b.axis==b.HORIZONTAL_AXIS){b.wheelX=(b.detail||0)*5;b.wheelY=0}else{b.wheelX=0;b.wheelY=(b.detail||0)*5}a(b)};m.addListener(b,"DOMMouseScroll",c);m.addListener(b,"mousewheel",c)};m.addMultiMouseDownListener=function(b,a,c,g,k){var u=0,s,t,y=function(b){u=u+1;if(u==1){s=b.clientX;
t=b.clientY;setTimeout(function(){u=0},g||600)}var e=m.getButton(b)==a;if(!e||Math.abs(b.clientX-s)>5||Math.abs(b.clientY-t)>5)u=0;if(u==c){u=0;k(b)}if(e)return m.preventDefault(b)};m.addListener(b,"mousedown",y);e.isIE&&m.addListener(b,"dblclick",y)};m.addCommandKeyListener=function(b,a){var c=m.addListener;if(e.isOldGecko){var g=null;c(b,"keydown",function(a){g=a.keyCode});c(b,"keypress",function(b){return k(a,b,g)})}else{var v=null;c(b,"keydown",function(b){v=b.keyIdentifier||b.keyCode;return k(a,
b,b.keyCode)});e.isMac&&e.isOpera&&c(b,"keypress",function(b){if(v!==(b.keyIdentifier||b.keyCode))return k(a,b,b.keyCode);v=null})}}});
define("ace/editor","require,exports,module,pilot/fixoldbrowsers,pilot/oop,pilot/event,pilot/lang,pilot/useragent,ace/keyboard/textinput,ace/mouse_handler,ace/keyboard/keybinding,ace/edit_session,ace/search,ace/range,pilot/event_emitter".split(","),function(c,m){c("pilot/fixoldbrowsers");var k=c("pilot/oop");c("pilot/event");var b=c("pilot/lang"),e=c("pilot/useragent"),g=c("ace/keyboard/textinput").TextInput,j=c("ace/mouse_handler").MouseHandler,a=c("ace/keyboard/keybinding").KeyBinding,f=c("ace/edit_session").EditSession,
n=c("ace/search").Search,v=c("ace/range").Range,u=c("pilot/event_emitter").EventEmitter,s=function(b,c){this.container=b.getContainerElement();this.renderer=b;this.textInput=new g(b.getTextAreaContainer(),this);this.keyBinding=new a(this);if(!e.isIPad)this.$mouseHandler=new j(this);this.$blockScrolling=0;this.$search=(new n).set({wrap:true});this.setSession(c||new f(""))};(function(){k.implement(this,u);this.$forwardEvents={gutterclick:1,gutterdblclick:1};this.$originalAddEventListener=this.addEventListener;
this.$originalRemoveEventListener=this.removeEventListener;this.addEventListener=function(a,b){return this.$forwardEvents[a]?this.renderer.addEventListener(a,b):this.$originalAddEventListener(a,b)};this.removeEventListener=function(a,b){return this.$forwardEvents[a]?this.renderer.removeEventListener(a,b):this.$originalRemoveEventListener(a,b)};this.setKeyboardHandler=function(a){this.keyBinding.setKeyboardHandler(a)};this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()};
this.setSession=function(a){if(this.session!=a){if(this.session){var b=this.session;this.session.removeEventListener("change",this.$onDocumentChange);this.session.removeEventListener("changeMode",this.$onChangeMode);this.session.removeEventListener("tokenizerUpdate",this.$onTokenizerUpdate);this.session.removeEventListener("changeTabSize",this.$onChangeTabSize);this.session.removeEventListener("changeWrapLimit",this.$onChangeWrapLimit);this.session.removeEventListener("changeWrapMode",this.$onChangeWrapMode);
this.session.removeEventListener("onChangeFold",this.$onChangeFold);this.session.removeEventListener("changeFrontMarker",this.$onChangeFrontMarker);this.session.removeEventListener("changeBackMarker",this.$onChangeBackMarker);this.session.removeEventListener("changeBreakpoint",this.$onChangeBreakpoint);this.session.removeEventListener("changeAnnotation",this.$onChangeAnnotation);this.session.removeEventListener("changeOverwrite",this.$onCursorChange);var c=this.session.getSelection();c.removeEventListener("changeCursor",
this.$onCursorChange);c.removeEventListener("changeSelection",this.$onSelectionChange);this.session.setScrollTopRow(this.renderer.getScrollTopRow())}this.session=a;this.$onDocumentChange=this.onDocumentChange.bind(this);a.addEventListener("change",this.$onDocumentChange);this.renderer.setSession(a);this.$onChangeMode=this.onChangeMode.bind(this);a.addEventListener("changeMode",this.$onChangeMode);this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this);a.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate);
this.$onChangeTabSize=this.renderer.updateText.bind(this.renderer);a.addEventListener("changeTabSize",this.$onChangeTabSize);this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this);a.addEventListener("changeWrapLimit",this.$onChangeWrapLimit);this.$onChangeWrapMode=this.onChangeWrapMode.bind(this);a.addEventListener("changeWrapMode",this.$onChangeWrapMode);this.$onChangeFold=this.onChangeFold.bind(this);a.addEventListener("changeFold",this.$onChangeFold);this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this);
this.session.addEventListener("changeFrontMarker",this.$onChangeFrontMarker);this.$onChangeBackMarker=this.onChangeBackMarker.bind(this);this.session.addEventListener("changeBackMarker",this.$onChangeBackMarker);this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this);this.session.addEventListener("changeBreakpoint",this.$onChangeBreakpoint);this.$onChangeAnnotation=this.onChangeAnnotation.bind(this);this.session.addEventListener("changeAnnotation",this.$onChangeAnnotation);this.$onCursorChange=
this.onCursorChange.bind(this);this.session.addEventListener("changeOverwrite",this.$onCursorChange);this.selection=a.getSelection();this.selection.addEventListener("changeCursor",this.$onCursorChange);this.$onSelectionChange=this.onSelectionChange.bind(this);this.selection.addEventListener("changeSelection",this.$onSelectionChange);this.onChangeMode();this.onCursorChange();this.onSelectionChange();this.onChangeFrontMarker();this.onChangeBackMarker();this.onChangeBreakpoint();this.onChangeAnnotation();
this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit();this.renderer.scrollToRow(a.getScrollTopRow());this.renderer.updateFull();this._dispatchEvent("changeSession",{session:a,oldSession:b})}};this.getSession=function(){return this.session};this.getSelection=function(){return this.selection};this.resize=function(){this.renderer.onResize()};this.setTheme=function(a){this.renderer.setTheme(a)};this.getTheme=function(){return this.renderer.getTheme()};this.setStyle=function(a){this.renderer.setStyle(a)};
this.unsetStyle=function(a){this.renderer.unsetStyle(a)};this.setFontSize=function(a){this.container.style.fontSize=a};this.$highlightBrackets=function(){if(this.session.$bracketHighlight){this.session.removeMarker(this.session.$bracketHighlight);this.session.$bracketHighlight=null}if(!this.$highlightPending){var a=this;this.$highlightPending=true;setTimeout(function(){a.$highlightPending=false;var b=a.session.findMatchingBracket(a.getCursorPosition());if(b){b=new v(b.row,b.column,b.row,b.column+
1);a.session.$bracketHighlight=a.session.addMarker(b,"ace_bracket","text")}},10)}};this.focus=function(){var a=this;e.isIE||setTimeout(function(){a.textInput.focus()});this.textInput.focus()};this.isFocused=function(){return this.textInput.isFocused()};this.blur=function(){this.textInput.blur()};this.onFocus=function(){this.renderer.showCursor();this.renderer.visualizeFocus();this._dispatchEvent("focus")};this.onBlur=function(){this.renderer.hideCursor();this.renderer.visualizeBlur();this._dispatchEvent("blur")};
this.onDocumentChange=function(a){var a=a.data,b=a.range;this.renderer.updateLines(b.start.row,b.start.row==b.end.row&&a.action!="insertLines"&&a.action!="removeLines"?b.end.row:Infinity);this.renderer.updateCursor()};this.onTokenizerUpdate=function(a){a=a.data;this.renderer.updateLines(a.first,a.last)};this.onCursorChange=function(){this.renderer.updateCursor();this.$blockScrolling||this.renderer.scrollCursorIntoView();this.renderer.moveTextAreaToCursor(this.textInput.getElement());this.$highlightBrackets();
this.$updateHighlightActiveLine()};this.$updateHighlightActiveLine=function(){var a=this.getSession();a.$highlightLineMarker&&a.removeMarker(a.$highlightLineMarker);a.$highlightLineMarker=null;if(this.getHighlightActiveLine()&&(this.getSelectionStyle()!="line"||!this.selection.isMultiLine())){var b=this.getCursorPosition(),c=this.session.getFoldLine(b.row),b=c?new v(c.start.row,0,c.end.row+1,0):new v(b.row,0,b.row+1,0);a.$highlightLineMarker=a.addMarker(b,"ace_active_line","background")}};this.onSelectionChange=
function(){var a=this.getSession();a.$selectionMarker&&a.removeMarker(a.$selectionMarker);a.$selectionMarker=null;if(this.selection.isEmpty())this.$updateHighlightActiveLine();else{var b=this.selection.getRange(),c=this.getSelectionStyle();a.$selectionMarker=a.addMarker(b,"ace_selection",c)}this.$highlightSelectedWord&&this.session.getMode().highlightSelection(this)};this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()};this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()};
this.onChangeBreakpoint=function(){this.renderer.setBreakpoints(this.session.getBreakpoints())};this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())};this.onChangeMode=function(){this.renderer.updateText()};this.onChangeWrapLimit=function(){this.renderer.updateFull()};this.onChangeWrapMode=function(){this.renderer.onResize(true)};this.onChangeFold=function(){this.$updateHighlightActiveLine();this.renderer.updateFull()};this.getCopyText=function(){return this.selection.isEmpty()?
"":this.session.getTextRange(this.getSelectionRange())};this.onCut=function(){if(!this.$readOnly&&!this.selection.isEmpty()){this.session.remove(this.getSelectionRange());this.clearSelection()}};this.insert=function(a){if(!this.$readOnly){var b=this.session,c=b.getMode(),f=this.getCursorPosition();if(this.getBehavioursEnabled()){var e=c.transformAction(b.getState(f.row),"insertion",this,b,a);if(e)a=e.text}a=a.replace("\t",this.session.getTabString());if(this.selection.isEmpty()){if(this.session.getOverwrite()){var g=
new v.fromPoints(f,f);g.end.column=g.end.column+a.length;this.session.remove(g)}}else{f=this.session.remove(this.getSelectionRange());this.clearSelection()}this.clearSelection();var j=f.column,n=b.getState(f.row),k=c.checkOutdent(n,b.getLine(f.row),a),g=b.getLine(f.row),m=c.getNextLineIndent(n,g.slice(0,f.column),b.getTabString()),u=b.insert(f,a);e&&e.selection&&(e.selection.length==2?this.selection.setSelectionRange(new v(f.row,j+e.selection[0],f.row,j+e.selection[1])):this.selection.setSelectionRange(new v(f.row+
e.selection[0],e.selection[1],f.row+e.selection[2],e.selection[3])));n=b.getState(f.row);if(b.getDocument().isNewLine(a)){this.moveCursorTo(f.row+1,0);a=b.getTabSize();c=Number.MAX_VALUE;for(e=f.row+1;e<=u.row;++e){n=0;g=b.getLine(e);for(j=0;j<g.length;++j)if(g.charAt(j)=="\t")n=n+a;else if(g.charAt(j)==" ")n=n+1;else break;/[^\s]/.test(g)&&(c=Math.min(n,c))}for(e=f.row+1;e<=u.row;++e){n=c;g=b.getLine(e);for(j=0;j<g.length&&n>0;++j)g.charAt(j)=="\t"?n=n-a:g.charAt(j)==" "&&(n=n-1);b.remove(new v(e,
0,e,j))}b.indentRows(f.row+1,u.row,m)}else k&&c.autoOutdent(n,b,f.row)}};this.onTextInput=function(a,b){if(b&&a.length==1)this.keyBinding.onCommandKey({},0,null,a)||this.insert(a);else this.keyBinding.onTextInput(a)};this.onCommandKey=function(a,b,c){this.keyBinding.onCommandKey(a,b,c)};this.setOverwrite=function(a){this.session.setOverwrite(a)};this.getOverwrite=function(){return this.session.getOverwrite()};this.toggleOverwrite=function(){this.session.toggleOverwrite()};this.setScrollSpeed=function(a){this.$mouseHandler.setScrollSpeed(a)};
this.getScrollSpeed=function(){return this.$mouseHandler.getScrollSpeed()};this.$selectionStyle="line";this.setSelectionStyle=function(a){if(this.$selectionStyle!=a){this.$selectionStyle=a;this.onSelectionChange();this._dispatchEvent("changeSelectionStyle",{data:a})}};this.getSelectionStyle=function(){return this.$selectionStyle};this.$highlightActiveLine=true;this.setHighlightActiveLine=function(a){if(this.$highlightActiveLine!=a){this.$highlightActiveLine=a;this.$updateHighlightActiveLine()}};this.getHighlightActiveLine=
function(){return this.$highlightActiveLine};this.$highlightSelectedWord=true;this.setHighlightSelectedWord=function(a){if(this.$highlightSelectedWord!=a)(this.$highlightSelectedWord=a)?this.session.getMode().highlightSelection(this):this.session.getMode().clearSelectionHighlight(this)};this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord};this.setShowInvisibles=function(a){this.getShowInvisibles()!=a&&this.renderer.setShowInvisibles(a)};this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()};
this.setShowPrintMargin=function(a){this.renderer.setShowPrintMargin(a)};this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()};this.setPrintMarginColumn=function(a){this.renderer.setPrintMarginColumn(a)};this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()};this.$readOnly=false;this.setReadOnly=function(a){this.$readOnly=a};this.getReadOnly=function(){return this.$readOnly};this.$modeBehaviours=true;this.setBehavioursEnabled=function(a){this.$modeBehaviours=
a};this.getBehavioursEnabled=function(){return this.$modeBehaviours};this.removeRight=function(){if(!this.$readOnly){this.selection.isEmpty()&&this.selection.selectRight();this.session.remove(this.getSelectionRange());this.clearSelection()}};this.removeLeft=function(){if(!this.$readOnly){this.selection.isEmpty()&&this.selection.selectLeft();var a=this.getSelectionRange();if(this.getBehavioursEnabled()){var b=this.session,c=b.getState(a.start.row),b=b.getMode().transformAction(c,"deletion",this,b,
a);b!==false&&(a=b)}this.session.remove(a);this.clearSelection()}};this.removeWordRight=function(){if(!this.$readOnly){this.selection.isEmpty()&&this.selection.selectWordRight();this.session.remove(this.getSelectionRange());this.clearSelection()}};this.removeWordLeft=function(){if(!this.$readOnly){this.selection.isEmpty()&&this.selection.selectWordLeft();this.session.remove(this.getSelectionRange());this.clearSelection()}};this.removeToLineStart=function(){if(!this.$readOnly){this.selection.isEmpty()&&
this.selection.selectLineStart();this.session.remove(this.getSelectionRange());this.clearSelection()}};this.removeToLineEnd=function(){if(!this.$readOnly){this.selection.isEmpty()&&this.selection.selectLineEnd();var a=this.getSelectionRange();if(a.start.column==a.end.column&&a.start.row==a.end.row){a.end.column=0;a.end.row++}this.session.remove(a);this.clearSelection()}};this.splitLine=function(){if(!this.$readOnly){if(!this.selection.isEmpty()){this.session.remove(this.getSelectionRange());this.clearSelection()}var a=
this.getCursorPosition();this.insert("\n");this.moveCursorToPosition(a)}};this.transposeLetters=function(){if(!this.$readOnly&&this.selection.isEmpty()){var a=this.getCursorPosition(),b=a.column;if(b!=0){var c=this.session.getLine(a.row);if(b<c.length){c=c.charAt(b)+c.charAt(b-1);a=new v(a.row,b-1,a.row,b+1)}else{c=c.charAt(b-1)+c.charAt(b-2);a=new v(a.row,b-2,a.row,b)}this.session.replace(a,c)}}};this.indent=function(){if(!this.$readOnly){var a=this.session,c=this.getSelectionRange();if(c.start.row<
c.end.row||c.start.column<c.end.column){c=this.$getSelectedRows();a.indentRows(c.first,c.last,"\t")}else{if(this.session.getUseSoftTabs())var c=a.getTabSize(),f=this.getCursorPosition(),a=a.documentToScreenColumn(f.row,f.column),a=b.stringRepeat(" ",c-a%c);else a="\t";return this.onTextInput(a)}}};this.blockOutdent=function(){this.$readOnly||this.session.outdentRows(this.session.getSelection().getRange())};this.toggleCommentLines=function(){if(!this.$readOnly){var a=this.session.getState(this.getCursorPosition().row),
b=this.$getSelectedRows();this.session.getMode().toggleCommentLines(a,this.session,b.first,b.last)}};this.removeLines=function(){if(!this.$readOnly){var a=this.$getSelectedRows();this.session.remove(a.last==0||a.last+1<this.session.getLength()?new v(a.first,0,a.last+1,0):new v(a.first-1,this.session.getLine(a.first).length,a.last,this.session.getLine(a.last).length));this.clearSelection()}};this.moveLinesDown=function(){this.$readOnly||this.$moveLines(function(a,b){return this.session.moveLinesDown(a,
b)})};this.moveLinesUp=function(){this.$readOnly||this.$moveLines(function(a,b){return this.session.moveLinesUp(a,b)})};this.moveText=function(a,b){return this.$readOnly?null:this.session.moveText(a,b)};this.copyLinesUp=function(){this.$readOnly||this.$moveLines(function(a,b){this.session.duplicateLines(a,b);return 0})};this.copyLinesDown=function(){this.$readOnly||this.$moveLines(function(a,b){return this.session.duplicateLines(a,b)})};this.$moveLines=function(a){var b=this.$getSelectedRows(),c=
a.call(this,b.first,b.last),f=this.selection;f.setSelectionAnchor(b.last+c+1,0);f.$moveSelection(function(){f.moveCursorTo(b.first+c,0)})};this.$getSelectedRows=function(){var a=this.getSelectionRange().collapseRows();return{first:a.start.row,last:a.end.row}};this.onCompositionStart=function(){this.renderer.showComposition(this.getCursorPosition())};this.onCompositionUpdate=function(a){this.renderer.setCompositionText(a)};this.onCompositionEnd=function(){this.renderer.hideComposition()};this.getFirstVisibleRow=
function(){return this.renderer.getFirstVisibleRow()};this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()};this.isRowVisible=function(a){return a>=this.getFirstVisibleRow()&&a<=this.getLastVisibleRow()};this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1};this.$getPageDownRow=function(){return this.renderer.getScrollBottomRow()};this.$getPageUpRow=function(){var a=this.renderer.getScrollTopRow(),b=this.renderer.getScrollBottomRow();
return a-(b-a)};this.selectPageDown=function(){var a=this.$getPageDownRow()+Math.floor(this.$getVisibleRowCount()/2);this.scrollPageDown();var b=this.getSelection(),c=this.session.documentToScreenPosition(b.getSelectionLead()),a=this.session.screenToDocumentPosition(a,c.column);b.selectTo(a.row,a.column)};this.selectPageUp=function(){var a=this.renderer.getScrollTopRow()-this.renderer.getScrollBottomRow(),b=this.$getPageUpRow()+Math.round(a/2);this.scrollPageUp();var a=this.getSelection(),c=this.session.documentToScreenPosition(a.getSelectionLead()),
b=this.session.screenToDocumentPosition(b,c.column);a.selectTo(b.row,b.column)};this.gotoPageDown=function(){var a=this.$getPageDownRow(),b=this.getCursorPositionScreen().column;this.scrollToRow(a);this.getSelection().moveCursorToScreen(a,b)};this.gotoPageUp=function(){var a=this.$getPageUpRow(),b=this.getCursorPositionScreen().column;this.scrollToRow(a);this.getSelection().moveCursorToScreen(a,b)};this.scrollPageDown=function(){this.scrollToRow(this.$getPageDownRow())};this.scrollPageUp=function(){this.renderer.scrollToRow(this.$getPageUpRow())};
this.scrollToRow=function(a){this.renderer.scrollToRow(a)};this.scrollToLine=function(a,b){this.renderer.scrollToLine(a,b)};this.centerSelection=function(){var a=this.getSelectionRange();this.renderer.scrollToLine(Math.floor(a.start.row+(a.end.row-a.start.row)/2),true)};this.getCursorPosition=function(){return this.selection.getCursor()};this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())};this.getSelectionRange=function(){return this.selection.getRange()};
this.selectAll=function(){this.$blockScrolling=this.$blockScrolling+1;this.selection.selectAll();this.$blockScrolling=this.$blockScrolling-1};this.clearSelection=function(){this.selection.clearSelection()};this.moveCursorTo=function(a,b){this.selection.moveCursorTo(a,b)};this.moveCursorToPosition=function(a){this.selection.moveCursorToPosition(a)};this.gotoLine=function(a,b){this.selection.clearSelection();this.$blockScrolling=this.$blockScrolling+1;this.moveCursorTo(a-1,b||0);this.$blockScrolling=
this.$blockScrolling-1;this.isRowVisible(this.getCursorPosition().row)||this.scrollToLine(a,true)};this.navigateTo=function(a,b){this.clearSelection();this.moveCursorTo(a,b)};this.navigateUp=function(a){this.selection.clearSelection();this.selection.moveCursorBy(-(a||1),0)};this.navigateDown=function(a){this.selection.clearSelection();this.selection.moveCursorBy(a||1,0)};this.navigateLeft=function(a){if(this.selection.isEmpty())for(a=a||1;a--;)this.selection.moveCursorLeft();else this.moveCursorToPosition(this.getSelectionRange().start);
this.clearSelection()};this.navigateRight=function(a){if(this.selection.isEmpty())for(a=a||1;a--;)this.selection.moveCursorRight();else this.moveCursorToPosition(this.getSelectionRange().end);this.clearSelection()};this.navigateLineStart=function(){this.selection.moveCursorLineStart();this.clearSelection()};this.navigateLineEnd=function(){this.selection.moveCursorLineEnd();this.clearSelection()};this.navigateFileEnd=function(){this.selection.moveCursorFileEnd();this.clearSelection()};this.navigateFileStart=
function(){this.selection.moveCursorFileStart();this.clearSelection()};this.navigateWordRight=function(){this.selection.moveCursorWordRight();this.clearSelection()};this.navigateWordLeft=function(){this.selection.moveCursorWordLeft();this.clearSelection()};this.replace=function(a,b){b&&this.$search.set(b);var c=this.$search.find(this.session);if(c){this.$tryReplace(c,a);c!==null&&this.selection.setSelectionRange(c)}};this.replaceAll=function(a,b){b&&this.$search.set(b);var c=this.$search.findAll(this.session);
if(c.length){var f=this.getSelectionRange();this.clearSelection();this.selection.moveCursorTo(0,0);this.$blockScrolling=this.$blockScrolling+1;for(var e=c.length-1;e>=0;--e)this.$tryReplace(c[e],a);this.selection.setSelectionRange(f);this.$blockScrolling=this.$blockScrolling-1}};this.$tryReplace=function(a,b){b=this.$search.replace(this.session.getTextRange(a),b);if(b!==null){a.end=this.session.replace(a,b);return a}return null};this.getLastSearchOptions=function(){return this.$search.getOptions()};
this.find=function(a,b){this.clearSelection();b=b||{};b.needle=a;this.$search.set(b);this.$find()};this.findNext=function(a){a=a||{};if(typeof a.backwards=="undefined")a.backwards=false;this.$search.set(a);this.$find()};this.findPrevious=function(a){a=a||{};if(typeof a.backwards=="undefined")a.backwards=true;this.$search.set(a);this.$find()};this.$find=function(a){this.selection.isEmpty()||this.$search.set({needle:this.session.getTextRange(this.getSelectionRange())});typeof a!="undefined"&&this.$search.set({backwards:a});
if(a=this.$search.find(this.session)){this.gotoLine(a.end.row+1,a.end.column);this.selection.setSelectionRange(a)}};this.undo=function(){this.session.getUndoManager().undo()};this.redo=function(){this.session.getUndoManager().redo()};this.destroy=function(){this.renderer.destroy()}}).call(s.prototype);m.Editor=s});
define("ace/keyboard/textinput","require,exports,module,pilot/event,pilot/useragent,pilot/dom".split(","),function(c,m){var k=c("pilot/event"),b=c("pilot/useragent"),e=c("pilot/dom");m.TextInput=function(c,j){function a(a){if(!s)if(a=a||n.value){if(a.charCodeAt(a.length-1)==m.charCodeAt(0)){if(a=a.slice(0,-1))j.onTextInput(a,!t)}else j.onTextInput(a,!t);if(!f())return false}t=s=false;n.value=m;n.select()}function f(){return document.activeElement===n}var n=e.createElement("textarea");n.style.left=
"-10000px";c.appendChild(n);var m=String.fromCharCode(0);a();var u=false,s=false,t=false,y="",q=function(b){setTimeout(function(){u||a(b.data)},0)},x=function(){b.isIE&&n.value.charCodeAt(0)>128||setTimeout(function(){u||a()},0)},A=function(){u=true;j.onCompositionStart();b.isGecko||setTimeout(B,0)},B=function(){if(u)j.onCompositionUpdate(n.value)},r=function(){u=false;j.onCompositionEnd()},p=function(b){s=true;var c=j.getCopyText();c?n.value=c:b.preventDefault();n.select();setTimeout(function(){a()},
0)},z=function(b){s=true;var c=j.getCopyText();if(c){n.value=c;j.onCut()}else b.preventDefault();n.select();setTimeout(function(){a()},0)};k.addCommandKeyListener(n,j.onCommandKey.bind(j));if(b.isIE){var E={13:1,27:1};k.addListener(n,"keyup",function(a){u&&(!n.value||E[a.keyCode])&&setTimeout(r,0);(n.value.charCodeAt(0)|0)<129||(u?B():A())})}n.attachEvent?k.addListener(n,"propertychange",x):b.isChrome||b.isSafari?k.addListener(n,"textInput",q):b.isIE?k.addListener(n,"textinput",q):k.addListener(n,
"input",q);k.addListener(n,"paste",function(b){t=true;if(b.clipboardData&&b.clipboardData.getData){a(b.clipboardData.getData("text/plain"));b.preventDefault()}else x()});if(b.isIE){k.addListener(n,"beforecopy",function(a){var b=j.getCopyText();b?clipboardData.setData("Text",b):a.preventDefault()});k.addListener(c,"keydown",function(a){if(a.ctrlKey&&a.keyCode==88){var b=j.getCopyText();if(b){clipboardData.setData("Text",b);j.onCut()}k.preventDefault(a)}})}else{k.addListener(n,"copy",p);k.addListener(n,
"cut",z)}k.addListener(n,"compositionstart",A);b.isGecko&&k.addListener(n,"text",B);b.isWebKit&&k.addListener(n,"keyup",B);k.addListener(n,"compositionend",r);k.addListener(n,"blur",function(){j.onBlur()});k.addListener(n,"focus",function(){j.onFocus();n.select()});this.focus=function(){j.onFocus();n.select();n.focus()};this.blur=function(){n.blur()};this.isFocused=f;this.getElement=function(){return n};this.onContextMenu=function(a,b){if(a){if(!y)y=n.style.cssText;n.style.cssText="position:fixed; z-index:1000;left:"+
(a.x-2)+"px; top:"+(a.y-2)+"px;"}if(b)n.value=""};this.onContextMenuClose=function(){setTimeout(function(){if(y){n.style.cssText=y;y=""}a()},0)}}});
define("ace/mouse_handler","require,exports,module,pilot/event,pilot/dom,pilot/browser_focus".split(","),function(c,m){var k=c("pilot/event"),b=c("pilot/dom"),e=c("pilot/browser_focus").BrowserFocus,g=1,j=function(a){this.editor=a;this.browserFocus=new e;k.addListener(a.container,"mousedown",function(b){a.focus();return k.preventDefault(b)});k.addListener(a.container,"selectstart",function(a){return k.preventDefault(a)});var b=a.renderer.getMouseEventTarget();k.addListener(b,"mousedown",this.onMouseDown.bind(this));
k.addMultiMouseDownListener(b,0,2,500,this.onMouseDoubleClick.bind(this));k.addMultiMouseDownListener(b,0,3,600,this.onMouseTripleClick.bind(this));k.addMultiMouseDownListener(b,0,4,600,this.onMouseQuadClick.bind(this));k.addMouseWheelListener(b,this.onMouseWheel.bind(this))};(function(){this.$scrollSpeed=1;this.setScrollSpeed=function(a){this.$scrollSpeed=a};this.getScrollSpeed=function(){return this.$scrollSpeed};this.$getEventPosition=function(a){var b=k.getDocumentX(a),a=k.getDocumentY(a),b=this.editor.renderer.screenToTextCoordinates(b,
a);b.row=Math.max(0,Math.min(b.row,this.editor.session.getLength()-1));return b};this.$distance=function(a,b,c,e){return Math.sqrt(Math.pow(c-a,2)+Math.pow(e-b,2))};this.onMouseDown=function(a){function c(b){if(a.shiftKey)s.selection.selectToPosition(b);else if(!t.$clickSelection){s.moveCursorToPosition(b);s.selection.clearSelection(b.row,b.column)}x=g}if(this.browserFocus.isFocused()&&!((new Date).getTime()-this.browserFocus.lastFocus<20)&&this.editor.isFocused()){var e=k.getDocumentX(a),j=k.getDocumentY(a),
m=this.$getEventPosition(a),s=this.editor,t=this,y=s.getSelectionRange(),q=y.isEmpty(),x=0,A=false,A=k.getButton(a);if(A!==0){q&&s.moveCursorToPosition(m);if(A==2){s.textInput.onContextMenu({x:e,y:j},q);k.capture(s.container,function(){},s.textInput.onContextMenuClose)}}else if(A=s.session.getFoldAt(m.row,m.column,1))s.selection.setSelectionRange(A.range);else{(A=!s.getReadOnly()&&!q&&y.contains(m.row,m.column))||c(m);var B,r;s.getOverwrite();var p=(new Date).getTime(),z,E;k.capture(s.container,function(a){B=
k.getDocumentX(a);r=k.getDocumentY(a)},function(){clearInterval(C);if(x==0)c(m);else if(x==2){b.removeCssClass(s.container,"ace_dragging");s.session.removeMarker(dragSelectionMarker);if(!t.$clickSelection&&!z){s.moveCursorToPosition(m);s.selection.clearSelection(m.row,m.column)}if(z)if(E.contains(z.row,z.column))z=null;else{s.clearSelection();var a=s.moveText(E,z);a?s.selection.setSelectionRange(a):z=null}}t.$clickSelection=null;x=0});var C=setInterval(function(){if(!(B===void 0||r===void 0)){if(x==
0){var a=t.$distance(e,j,B,r),k=(new Date).getTime();if(a>5){x=g;a=s.renderer.screenToTextCoordinates(B,r);a.row=Math.max(0,Math.min(a.row,s.session.getLength()-1));c(a)}else if(k-p>250){x=2;E=s.getSelectionRange();a=s.getSelectionStyle();dragSelectionMarker=s.session.addMarker(E,"ace_selection",a);s.clearSelection();b.addCssClass(s.container,"ace_dragging")}}if(x==2){z=s.renderer.screenToTextCoordinates(B,r);z.row=Math.max(0,Math.min(z.row,s.session.getLength()-1));s.moveCursorToPosition(z)}else if(x==
g){a=s.renderer.screenToTextCoordinates(B,r);a.row=Math.max(0,Math.min(a.row,s.session.getLength()-1));if(t.$clickSelection)if(t.$clickSelection.contains(a.row,a.column))s.selection.setSelectionRange(t.$clickSelection);else{k=t.$clickSelection.compare(a.row,a.column)==-1?t.$clickSelection.end:t.$clickSelection.start;s.selection.setSelectionAnchor(k.row,k.column);s.selection.selectToPosition(a)}else s.selection.selectToPosition(a);s.renderer.scrollCursorIntoView()}}},20);return k.preventDefault(a)}}};
this.onMouseDoubleClick=function(a){var b=this.editor,a=this.$getEventPosition(a),c=b.session.getFoldAt(a.row,a.column,1);if(c)b.session.expandFold(c);else{b.moveCursorToPosition(a);b.selection.selectWord();this.$clickSelection=b.getSelectionRange()}};this.onMouseTripleClick=function(a){this.editor.moveCursorToPosition(this.$getEventPosition(a));this.editor.selection.selectLine();this.$clickSelection=this.editor.getSelectionRange()};this.onMouseQuadClick=function(){this.editor.selectAll();this.$clickSelection=
this.editor.getSelectionRange()};this.onMouseWheel=function(a){var b=this.$scrollSpeed*2;this.editor.renderer.scrollBy(a.wheelX*b,a.wheelY*b);return k.preventDefault(a)}}).call(j.prototype);m.MouseHandler=j});
define("pilot/browser_focus","require,exports,module,pilot/oop,pilot/event,pilot/event_emitter".split(","),function(c,m){var k=c("pilot/oop"),b=c("pilot/event"),e=c("pilot/event_emitter").EventEmitter,g=function(c){c=c||window;this.lastFocus=(new Date).getTime();this._isFocused=true;var a=this;b.addListener(c,"blur",function(){a._setFocused(false)});b.addListener(c,"focus",function(){a._setFocused(true)})};(function(){k.implement(this,e);this.isFocused=function(){return this._isFocused};this._setFocused=
function(b){if(this._isFocused!=b){if(b)this.lastFocus=(new Date).getTime();this._isFocused=b;this._emit("changeFocus")}}}).call(g.prototype);m.BrowserFocus=g});
define("ace/keyboard/keybinding","require,exports,module,pilot/useragent,pilot/keys,pilot/event,pilot/settings,pilot/canon,ace/commands/default_commands".split(","),function(c,m){c("pilot/useragent");var k=c("pilot/keys"),b=c("pilot/event");c("pilot/settings");var e=c("pilot/canon");c("ace/commands/default_commands");var g=function(b){this.$editor=b;this.$data={};this.$keyboardHandler=null};(function(){this.setKeyboardHandler=function(b){if(this.$keyboardHandler!=b){this.$data={};this.$keyboardHandler=
b}};this.getKeyboardHandler=function(){return this.$keyboardHandler};this.$callKeyboardHandler=function(c,a,f,g){var k={editor:this.$editor},m;this.$keyboardHandler&&(m=this.$keyboardHandler.handleKeyboard(this.$data,a,f,g,c));if(!m||!m.command)m=a!=0||g!=0?{command:e.findKeyCommand(k,"editor",a,f)}:{command:"inserttext",args:{text:f}};a=false;if(m)(a=e.exec(m.command,k,"editor",m.args))&&b.stopEvent(c);return a};this.onCommandKey=function(b,a,c,e){e||(e=k.keyCodeToString(c));return this.$callKeyboardHandler(b,
a,e,c)};this.onTextInput=function(b){return this.$callKeyboardHandler({},0,b,0)}}).call(g.prototype);m.KeyBinding=g});
define("ace/commands/default_commands",["require","exports","module","pilot/lang","pilot/canon"],function(c){function m(b,c){return{win:b,mac:c,sender:"editor"}}var k=c("pilot/lang"),c=c("pilot/canon");c.addCommand({name:"null",exec:function(){}});c.addCommand({name:"selectall",bindKey:m("Ctrl-A","Command-A"),exec:function(b){b.editor.selectAll()}});c.addCommand({name:"removeline",bindKey:m("Ctrl-D","Command-D"),exec:function(b){b.editor.removeLines()}});c.addCommand({name:"gotoline",bindKey:m("Ctrl-L",
"Command-L"),exec:function(b){var c=parseInt(prompt("Enter line number:"));isNaN(c)||b.editor.gotoLine(c)}});c.addCommand({name:"togglecomment",bindKey:m("Ctrl-7","Command-7"),exec:function(b){b.editor.toggleCommentLines()}});c.addCommand({name:"findnext",bindKey:m("Ctrl-K","Command-G"),exec:function(b){b.editor.findNext()}});c.addCommand({name:"findprevious",bindKey:m("Ctrl-Shift-K","Command-Shift-G"),exec:function(b){b.editor.findPrevious()}});c.addCommand({name:"find",bindKey:m("Ctrl-F","Command-F"),
exec:function(b){var c=prompt("Find:");b.editor.find(c)}});c.addCommand({name:"replace",bindKey:m("Ctrl-R","Command-Option-F"),exec:function(b){var c=prompt("Find:");if(c){var g=prompt("Replacement:");g&&b.editor.replace(g,{needle:c})}}});c.addCommand({name:"replaceall",bindKey:m("Ctrl-Shift-R","Command-Shift-Option-F"),exec:function(b){var c=prompt("Find:");if(c){var g=prompt("Replacement:");g&&b.editor.replaceAll(g,{needle:c})}}});c.addCommand({name:"undo",bindKey:m("Ctrl-Z","Command-Z"),exec:function(b){b.editor.undo()}});
c.addCommand({name:"redo",bindKey:m("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(b){b.editor.redo()}});c.addCommand({name:"overwrite",bindKey:m("Insert","Insert"),exec:function(b){b.editor.toggleOverwrite()}});c.addCommand({name:"copylinesup",bindKey:m("Ctrl-Alt-Up","Command-Option-Up"),exec:function(b){b.editor.copyLinesUp()}});c.addCommand({name:"movelinesup",bindKey:m("Alt-Up","Option-Up"),exec:function(b){b.editor.moveLinesUp()}});c.addCommand({name:"selecttostart",bindKey:m("Ctrl-Shift-Home|Alt-Shift-Up",
"Command-Shift-Up"),exec:function(b){b.editor.getSelection().selectFileStart()}});c.addCommand({name:"gotostart",bindKey:m("Ctrl-Home|Ctrl-Up","Command-Home|Command-Up"),exec:function(b){b.editor.navigateFileStart()}});c.addCommand({name:"selectup",bindKey:m("Shift-Up","Shift-Up"),exec:function(b){b.editor.getSelection().selectUp()}});c.addCommand({name:"golineup",bindKey:m("Up","Up|Ctrl-P"),exec:function(b,c){b.editor.navigateUp(c.times)}});c.addCommand({name:"copylinesdown",bindKey:m("Ctrl-Alt-Down",
"Command-Option-Down"),exec:function(b){b.editor.copyLinesDown()}});c.addCommand({name:"movelinesdown",bindKey:m("Alt-Down","Option-Down"),exec:function(b){b.editor.moveLinesDown()}});c.addCommand({name:"selecttoend",bindKey:m("Ctrl-Shift-End|Alt-Shift-Down","Command-Shift-Down"),exec:function(b){b.editor.getSelection().selectFileEnd()}});c.addCommand({name:"gotoend",bindKey:m("Ctrl-End|Ctrl-Down","Command-End|Command-Down"),exec:function(b){b.editor.navigateFileEnd()}});c.addCommand({name:"selectdown",
bindKey:m("Shift-Down","Shift-Down"),exec:function(b){b.editor.getSelection().selectDown()}});c.addCommand({name:"golinedown",bindKey:m("Down","Down|Ctrl-N"),exec:function(b,c){b.editor.navigateDown(c.times)}});c.addCommand({name:"selectwordleft",bindKey:m("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(b){b.editor.getSelection().selectWordLeft()}});c.addCommand({name:"gotowordleft",bindKey:m("Ctrl-Left","Option-Left"),exec:function(b){b.editor.navigateWordLeft()}});c.addCommand({name:"selecttolinestart",
bindKey:m("Alt-Shift-Left","Command-Shift-Left"),exec:function(b){b.editor.getSelection().selectLineStart()}});c.addCommand({name:"gotolinestart",bindKey:m("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(b){b.editor.navigateLineStart()}});c.addCommand({name:"selectleft",bindKey:m("Shift-Left","Shift-Left"),exec:function(b){b.editor.getSelection().selectLeft()}});c.addCommand({name:"gotoleft",bindKey:m("Left","Left|Ctrl-B"),exec:function(b,c){b.editor.navigateLeft(c.times)}});c.addCommand({name:"selectwordright",
bindKey:m("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(b){b.editor.getSelection().selectWordRight()}});c.addCommand({name:"gotowordright",bindKey:m("Ctrl-Right","Option-Right"),exec:function(b){b.editor.navigateWordRight()}});c.addCommand({name:"selecttolineend",bindKey:m("Alt-Shift-Right","Command-Shift-Right"),exec:function(b){b.editor.getSelection().selectLineEnd()}});c.addCommand({name:"gotolineend",bindKey:m("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(b){b.editor.navigateLineEnd()}});
c.addCommand({name:"selectright",bindKey:m("Shift-Right","Shift-Right"),exec:function(b){b.editor.getSelection().selectRight()}});c.addCommand({name:"gotoright",bindKey:m("Right","Right|Ctrl-F"),exec:function(b,c){b.editor.navigateRight(c.times)}});c.addCommand({name:"selectpagedown",bindKey:m("Shift-PageDown","Shift-PageDown"),exec:function(b){b.editor.selectPageDown()}});c.addCommand({name:"pagedown",bindKey:m(null,"PageDown"),exec:function(b){b.editor.scrollPageDown()}});c.addCommand({name:"gotopagedown",
bindKey:m("PageDown","Option-PageDown|Ctrl-V"),exec:function(b){b.editor.gotoPageDown()}});c.addCommand({name:"selectpageup",bindKey:m("Shift-PageUp","Shift-PageUp"),exec:function(b){b.editor.selectPageUp()}});c.addCommand({name:"pageup",bindKey:m(null,"PageUp"),exec:function(b){b.editor.scrollPageUp()}});c.addCommand({name:"gotopageup",bindKey:m("PageUp","Option-PageUp"),exec:function(b){b.editor.gotoPageUp()}});c.addCommand({name:"selectlinestart",bindKey:m("Shift-Home","Shift-Home"),exec:function(b){b.editor.getSelection().selectLineStart()}});
c.addCommand({name:"selectlineend",bindKey:m("Shift-End","Shift-End"),exec:function(b){b.editor.getSelection().selectLineEnd()}});c.addCommand({name:"del",bindKey:m("Delete","Delete|Ctrl-D"),exec:function(b){b.editor.removeRight()}});c.addCommand({name:"backspace",bindKey:m("Ctrl-Backspace|Command-Backspace|Option-Backspace|Shift-Backspace|Backspace","Ctrl-Backspace|Command-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(b){b.editor.removeLeft()}});c.addCommand({name:"removetolinestart",
bindKey:m(null,"Option-Backspace"),exec:function(b){b.editor.removeToLineStart()}});c.addCommand({name:"removetolineend",bindKey:m(null,"Ctrl-K"),exec:function(b){b.editor.removeToLineEnd()}});c.addCommand({name:"removewordleft",bindKey:m("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(b){b.editor.removeWordLeft()}});c.addCommand({name:"removewordright",bindKey:m(null,"Alt-Delete"),exec:function(b){b.editor.removeWordRight()}});c.addCommand({name:"outdent",bindKey:m("Shift-Tab",
"Shift-Tab"),exec:function(b){b.editor.blockOutdent()}});c.addCommand({name:"indent",bindKey:m("Tab","Tab"),exec:function(b){b.editor.indent()}});c.addCommand({name:"inserttext",exec:function(b,c){b.editor.insert(k.stringRepeat(c.text||"",c.times||1))}});c.addCommand({name:"centerselection",bindKey:m(null,"Ctrl-L"),exec:function(b){b.editor.centerSelection()}});c.addCommand({name:"splitline",bindKey:m(null,"Ctrl-O"),exec:function(b){b.editor.splitLine()}});c.addCommand({name:"transposeletters",bindKey:m("Ctrl-T",
"Ctrl-T"),exec:function(b){b.editor.transposeLetters()}})});
define("ace/edit_session","require,exports,module,pilot/oop,pilot/lang,pilot/event_emitter,ace/selection,ace/mode/text,ace/range,ace/document,ace/background_tokenizer,ace/edit_session/folding".split(","),function(c,m){var k=c("pilot/oop"),b=c("pilot/lang"),e=c("pilot/event_emitter").EventEmitter,g=c("ace/selection").Selection,j=c("ace/mode/text").Mode,a=c("ace/range").Range,f=c("ace/document").Document,n=c("ace/background_tokenizer").BackgroundTokenizer,v=function(a,b){this.$modified=true;this.$breakpoints=
[];this.$frontMarkers={};this.$backMarkers={};this.$markerId=1;this.$rowCache=[];this.$wrapData=[];this.$foldData=[];this.$foldData.toString=function(){var a="";this.forEach(function(b){a=a+("\n"+b.toString())});return a};a instanceof f?this.setDocument(a):this.setDocument(new f(a));this.selection=new g(this);b?this.setMode(b):this.setMode(new j)};(function(){function f(a){return a<4352?false:a>=4352&&a<=4447||a>=4515&&a<=4519||a>=4602&&a<=4607||a>=9001&&a<=9002||a>=11904&&a<=11929||a>=11931&&a<=
12019||a>=12032&&a<=12245||a>=12272&&a<=12283||a>=12288&&a<=12350||a>=12353&&a<=12438||a>=12441&&a<=12543||a>=12549&&a<=12589||a>=12593&&a<=12686||a>=12688&&a<=12730||a>=12736&&a<=12771||a>=12784&&a<=12830||a>=12832&&a<=12871||a>=12880&&a<=13054||a>=13056&&a<=19903||a>=19968&&a<=42124||a>=42128&&a<=42182||a>=43360&&a<=43388||a>=44032&&a<=55203||a>=55216&&a<=55238||a>=55243&&a<=55291||a>=63744&&a<=64255||a>=65040&&a<=65049||a>=65072&&a<=65106||a>=65108&&a<=65126||a>=65128&&a<=65131||a>=65281&&a<=65376||
a>=65504&&a<=65510}k.implement(this,e);this.setDocument=function(a){if(this.doc)throw Error("Document is already set");this.doc=a;a.on("change",this.onChange.bind(this));this.on("changeFold",this.onChangeFold.bind(this))};this.getDocument=function(){return this.doc};this.$resetRowCache=function(a){if(a==0)this.$rowCache=[];else for(var b=this.$rowCache,c=0;c<b.length;c++)if(b[c].docRow>=a){b.splice(c,b.length);break}};this.onChangeFold=function(a){this.$resetRowCache(a.data.start.row)};this.onChange=
function(a){var b=a.data;this.$modified=true;this.$resetRowCache(b.range.start.row);var c=this.$updateInternalDataOnChange(a);if(!this.$fromUndo&&this.$undoManager&&!b.ignore){this.$deltasDoc.push(b);c&&c.length!=0&&this.$deltasFold.push({action:"removeFolds",folds:c});this.$informUndoManager.schedule()}this.bgTokenizer.start(b.range.start.row);this._dispatchEvent("change",a)};this.setValue=function(a){this.doc.setValue(a);this.selection.moveCursorTo(0,0);this.selection.clearSelection();this.$resetRowCache(0);
this.$deltas=[];this.$deltasDoc=[];this.$deltasFold=[];this.getUndoManager().reset()};this.getValue=this.toString=function(){return this.doc.getValue()};this.getSelection=function(){return this.selection};this.getState=function(a){return this.bgTokenizer.getState(a)};this.getTokens=function(a,b){return this.bgTokenizer.getTokens(a,b)};this.setUndoManager=function(a){this.$undoManager=a;this.$resetRowCache(0);this.$deltas=[];this.$deltasDoc=[];this.$deltasFold=[];this.$informUndoManager&&this.$informUndoManager.cancel();
if(a){var c=this;this.$syncInformUndoManager=function(){c.$informUndoManager.cancel();if(c.$deltasFold.length){c.$deltas.push({group:"fold",deltas:c.$deltasFold});c.$deltasFold=[]}if(c.$deltasDoc.length){c.$deltas.push({group:"doc",deltas:c.$deltasDoc});c.$deltasDoc=[]}c.$deltas.length>0&&a.execute({action:"aceupdate",args:[c.$deltas,c]});c.$deltas=[]};this.$informUndoManager=b.deferredCall(this.$syncInformUndoManager)}};this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}};
this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager};this.getTabString=function(){return this.getUseSoftTabs()?b.stringRepeat(" ",this.getTabSize()):"\t"};this.$useSoftTabs=true;this.setUseSoftTabs=function(a){if(this.$useSoftTabs!==a)this.$useSoftTabs=a};this.getUseSoftTabs=function(){return this.$useSoftTabs};this.$tabSize=4;this.setTabSize=function(a){if(!(isNaN(a)||this.$tabSize===a)){this.$modified=true;this.$tabSize=a;this._dispatchEvent("changeTabSize")}};this.getTabSize=
function(){return this.$tabSize};this.isTabStop=function(a){return this.$useSoftTabs&&a.column%this.$tabSize==0};this.$overwrite=false;this.setOverwrite=function(a){if(this.$overwrite!=a){this.$overwrite=a;this._dispatchEvent("changeOverwrite")}};this.getOverwrite=function(){return this.$overwrite};this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)};this.getBreakpoints=function(){return this.$breakpoints};this.setBreakpoints=function(a){this.$breakpoints=[];for(var b=0;b<a.length;b++)this.$breakpoints[a[b]]=
true;this._dispatchEvent("changeBreakpoint",{})};this.clearBreakpoints=function(){this.$breakpoints=[];this._dispatchEvent("changeBreakpoint",{})};this.setBreakpoint=function(a){this.$breakpoints[a]=true;this._dispatchEvent("changeBreakpoint",{})};this.clearBreakpoint=function(a){delete this.$breakpoints[a];this._dispatchEvent("changeBreakpoint",{})};this.getBreakpoints=function(){return this.$breakpoints};this.addMarker=function(a,b,c,f){var e=this.$markerId++,a={range:a,type:c||"line",renderer:typeof c==
"function"?c:null,clazz:b,inFront:!!f};if(f){this.$frontMarkers[e]=a;this._dispatchEvent("changeFrontMarker")}else{this.$backMarkers[e]=a;this._dispatchEvent("changeBackMarker")}return e};this.removeMarker=function(a){var b=this.$frontMarkers[a]||this.$backMarkers[a];if(b){var c=b.inFront?this.$frontMarkers:this.$backMarkers;if(b){delete c[a];this._dispatchEvent(b.inFront?"changeFrontMarker":"changeBackMarker")}}};this.getMarkers=function(a){return a?this.$frontMarkers:this.$backMarkers};this.setAnnotations=
function(a){this.$annotations={};for(var b=0;b<a.length;b++){var c=a[b],f=c.row;this.$annotations[f]?this.$annotations[f].push(c):this.$annotations[f]=[c]}this._dispatchEvent("changeAnnotation",{})};this.getAnnotations=function(){return this.$annotations};this.clearAnnotations=function(){this.$annotations={};this._dispatchEvent("changeAnnotation",{})};this.$detectNewLine=function(a){this.$autoNewLine=(a=a.match(/^.*?(\r?\n)/m))?a[1]:"\n"};this.getWordRange=function(b,c){var f=this.getLine(b),e=false;
c>0&&(e=!!f.charAt(c-1).match(this.tokenRe));e||(e=!!f.charAt(c).match(this.tokenRe));var e=e?this.tokenRe:this.nonTokenRe,g=c;if(g>0){do g--;while(g>=0&&f.charAt(g).match(e));g++}for(var j=c;j<f.length&&f.charAt(j).match(e);)j++;return new a(b,g,b,j)};this.setNewLineMode=function(a){this.doc.setNewLineMode(a)};this.getNewLineMode=function(){return this.doc.getNewLineMode()};this.$useWorker=true;this.setUseWorker=function(a){if(this.$useWorker!=a){this.$useWorker=a;this.$stopWorker();a&&this.$startWorker()}};
this.getUseWorker=function(){return this.$useWorker};this.onReloadTokenizer=function(a){this.bgTokenizer.start(a.data.first);this._dispatchEvent("tokenizerUpdate",a)};this.$mode=null;this.setMode=function(a){if(this.$mode!==a){this.$mode=a;this.$stopWorker();this.$useWorker&&this.$startWorker();var b=a.getTokenizer();if(b.addEventListener!==void 0){var c=this.onReloadTokenizer.bind(this);b.addEventListener("update",c)}if(this.bgTokenizer)this.bgTokenizer.setTokenizer(b);else{this.bgTokenizer=new n(b);
var f=this;this.bgTokenizer.addEventListener("update",function(a){f._dispatchEvent("tokenizerUpdate",a)})}this.bgTokenizer.setDocument(this.getDocument());this.bgTokenizer.start(0);this.tokenRe=a.tokenRe;this.nonTokenRe=a.nonTokenRe;this._dispatchEvent("changeMode")}};this.$stopWorker=function(){this.$worker&&this.$worker.terminate();this.$worker=null};this.$startWorker=function(){if(typeof Worker!=="undefined"&&!c.noWorker)try{this.$worker=this.$mode.createWorker(this)}catch(a){console.log("Could not load worker");
console.log(a);this.$worker=null}else this.$worker=null};this.getMode=function(){return this.$mode};this.$scrollTop=0;this.setScrollTopRow=function(a){if(this.$scrollTop!==a){this.$scrollTop=a;this._dispatchEvent("changeScrollTop")}};this.getScrollTopRow=function(){return this.$scrollTop};this.getWidth=function(){this.$computeWidth();return this.width};this.getScreenWidth=function(){this.$computeWidth();return this.screenWidth};this.$computeWidth=function(a){if(this.$modified||a){this.$modified=false;
for(var a=this.doc.getAllLines(),b=0,c=0,f=0;f<a.length;f++){var e=this.getFoldLine(f),g;g=a[f];if(e){f=e.range.end;g=this.getFoldDisplayLine(e);f=f.row}b=Math.max(b,g.length);this.$useWrapMode||(c=Math.max(c,this.$getStringScreenWidth(g)[0]))}this.width=b;this.screenWidth=this.$useWrapMode?this.$wrapLimit:c}};this.getLine=function(a){return this.doc.getLine(a)};this.getLines=function(a,b){return this.doc.getLines(a,b)};this.getLength=function(){return this.doc.getLength()};this.getTextRange=function(a){return this.doc.getTextRange(a)};
this.findMatchingBracket=function(a){if(a.column==0)return null;var b=this.getLine(a.row).charAt(a.column-1);if(b=="")return null;b=b.match(/([\(\[\{])|([\)\]\}])/);return!b?null:b[1]?this.$findClosingBracket(b[1],a):this.$findOpeningBracket(b[2],a)};this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"};this.$findOpeningBracket=function(a,b){for(var c=this.$brackets[a],f=b.column-2,e=b.row,g=1,j=this.getLine(e);;){for(;f>=0;){var n=j.charAt(f);if(n==c){g=g-1;if(g==0)return{row:e,column:f}}else n==
a&&(g=g+1);f=f-1}e=e-1;if(e<0)break;j=this.getLine(e);f=j.length-1}return null};this.$findClosingBracket=function(a,b){for(var c=this.$brackets[a],f=b.column,e=b.row,g=1,j=this.getLine(e),n=this.getLength();;){for(;f<j.length;){var m=j.charAt(f);if(m==c){g=g-1;if(g==0)return{row:e,column:f}}else m==a&&(g=g+1);f=f+1}e=e+1;if(e>=n)break;j=this.getLine(e);f=0}return null};this.insert=function(a,b){return this.doc.insert(a,b)};this.remove=function(a){return this.doc.remove(a)};this.undoChanges=function(a,
b){if(a.length){this.$fromUndo=true;for(var c=null,f=a.length-1;f!=-1;f--){delta=a[f];if(delta.group=="doc"){this.doc.revertDeltas(delta.deltas);c=this.$getUndoSelection(delta.deltas,true,c)}else delta.deltas.forEach(function(a){this.addFolds(a.folds)},this)}this.$fromUndo=false;c&&!b&&this.selection.setSelectionRange(c);return c}};this.redoChanges=function(a,b){if(a.length){this.$fromUndo=true;for(var c=null,f=0;f<a.length;f++){delta=a[f];if(delta.group=="doc"){this.doc.applyDeltas(delta.deltas);
c=this.$getUndoSelection(delta.deltas,false,c)}}this.$fromUndo=false;c&&!b&&this.selection.setSelectionRange(c);return c}};this.$getUndoSelection=function(b,c,f){function e(a){a=a.action=="insertText"||a.action=="insertLines";return c?!a:a}var g=b[0],j,n;j=e(g)?g.range.clone():a.fromPoints(g.range.start,g.range.start);for(var m=1;m<b.length;m++){g=b[m];if(e(g)){n=g.range.start;j.compare(n.row,n.column)==-1&&j.setStart(g.range.start);n=g.range.end;j.compare(n.row,n.column)==1&&j.setEnd(g.range.end)}else{n=
g.range.start;j.compare(n.row,n.column)==-1&&(j=a.fromPoints(g.range.start,g.range.start))}}if(f!=null){b=f.compareRange(j);b==1?j.setStart(f.start):b==-1&&j.setEnd(f.end)}return j};this.replace=function(a,b){return this.doc.replace(a,b)};this.moveText=function(b,c){var f=this.getTextRange(b);this.remove(b);var e=c.row,g=c.column;!b.isMultiLine()&&b.start.row==e&&b.end.column<g&&(g=g-f.length);if(b.isMultiLine()&&b.end.row<e)var j=this.doc.$split(f),e=e-(j.length-1);var j=e+b.end.row-b.start.row,
n=b.isMultiLine()?b.end.column:g+b.end.column-b.start.column,e=new a(e,g,j,n);this.insert(e.start,f);return e};this.indentRows=function(a,b,c){for(c=c.replace(/\t/g,this.getTabString());a<=b;a++)this.insert({row:a,column:0},c)};this.outdentRows=function(b){for(var b=b.collapseRows(),c=new a(0,0,0,0),f=this.getTabSize(),e=b.start.row;e<=b.end.row;++e){var g=this.getLine(e);c.start.row=e;c.end.row=e;for(var j=0;j<f;++j)if(g.charAt(j)!=" ")break;if(j<f&&g.charAt(j)=="\t"){c.start.column=j;c.end.column=
j+1}else{c.start.column=0;c.end.column=j}this.remove(c)}};this.moveLinesUp=function(a,b){if(a<=0)return 0;var c=this.doc.removeLines(a,b);this.doc.insertLines(a-1,c);return-1};this.moveLinesDown=function(a,b){if(b>=this.doc.getLength()-1)return 0;var c=this.doc.removeLines(a,b);this.doc.insertLines(a+1,c);return 1};this.duplicateLines=function(a,b){var a=this.$clipRowToDocument(a),b=this.$clipRowToDocument(b),c=this.getLines(a,b);this.doc.insertLines(a,c);return b-a+1};this.$clipRowToDocument=function(a){return Math.max(0,
Math.min(a,this.doc.getLength()-1))};this.$clipPositionToDocument=function(a,b){b=Math.max(0,b);if(a<0)b=a=0;else{var c=this.doc.getLength();if(a>=c){a=c-1;b=this.doc.getLine(c-1).length}else b=Math.min(this.doc.getLine(a).length,b)}return{row:a,column:b}};this.$wrapLimit=80;this.$useWrapMode=false;this.$wrapLimitRange={min:null,max:null};this.setUseWrapMode=function(a){if(a!=this.$useWrapMode){this.$useWrapMode=a;this.$modified=true;this.$resetRowCache(0);if(a){a=this.getLength();this.$wrapData=
[];for(i=0;i<a;i++)this.$wrapData.push([]);this.$updateWrapData(0,a-1)}this._dispatchEvent("changeWrapMode")}};this.getUseWrapMode=function(){return this.$useWrapMode};this.setWrapLimitRange=function(a,b){if(this.$wrapLimitRange.min!==a||this.$wrapLimitRange.max!==b){this.$wrapLimitRange.min=a;this.$wrapLimitRange.max=b;this.$modified=true;this._dispatchEvent("changeWrapMode")}};this.adjustWrapLimit=function(a){a=this.$constrainWrapLimit(a);if(a!=this.$wrapLimit&&a>0){this.$wrapLimit=a;this.$modified=
true;if(this.$useWrapMode){this.$updateWrapData(0,this.getLength()-1);this.$resetRowCache(0);this._dispatchEvent("changeWrapLimit")}return true}return false};this.$constrainWrapLimit=function(a){var b=this.$wrapLimitRange.min;b&&(a=Math.max(b,a));(b=this.$wrapLimitRange.max)&&(a=Math.min(b,a));return Math.max(1,a)};this.getWrapLimit=function(){return this.$wrapLimit};this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}};this.$updateInternalDataOnChange=
function(a){var b=this.$useWrapMode,c,f=a.data.action,e=a.data.range.start.row,g=a.data.range.end.row,j=a.data.range.start,n=a.data.range.end,m=null;if(f.indexOf("Lines")!=-1){g=f=="insertLines"?e+a.data.lines.length:e;c=a.data.lines.length}else c=g-e;if(c!=0)if(f.indexOf("remove")!=-1){b&&this.$wrapData.splice(e,c);f=this.$foldData;m=this.getFoldsInRange(a.data.range);this.removeFolds(m);var a=this.getFoldLine(n.row),k=0;if(a){a.addRemoveChars(n.row,n.column,j.column-n.column);a.shiftRow(-c);if((g=
this.getFoldLine(e))&&g!==a){g.merge(a);a=g}k=f.indexOf(a)+1}for(k;k<f.length;k++){a=f[k];a.start.row>=n.row&&a.shiftRow(-c)}g=e}else{if(b){f=[e,0];for(a=0;a<c;a++)f.push([]);this.$wrapData.splice.apply(this.$wrapData,f)}f=this.$foldData;a=this.getFoldLine(e);k=0;if(a){k=a.range.compareInside(j.row,j.column);if(k==0){a=a.split(j.row,j.column);a.shiftRow(c);a.addRemoveChars(g,0,n.column-j.column)}else if(k==-1){a.addRemoveChars(e,0,n.column-j.column);a.shiftRow(c)}k=f.indexOf(a)+1}for(k;k<f.length;k++){a=
f[k];a.start.row>=e&&a.shiftRow(c)}}else{c=Math.abs(a.data.range.start.column-a.data.range.end.column);if(f.indexOf("remove")!=-1){m=this.getFoldsInRange(a.data.range);this.removeFolds(m);c=-c}(a=this.getFoldLine(e))&&a.addRemoveChars(e,j.column,c)}b&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!");b&&this.$updateWrapData(e,g);return m};this.$updateWrapData=function(a,c){for(var f=this.doc.getAllLines(),e=this.getTabSize(),n=
this.$wrapData,k=this.$wrapLimit,v,u,C=a,c=Math.min(c,f.length-1);C<=c;){if(u=this.getFoldLine(C)){v=[];for(u.walk(function(a,b,c,e){if(a){a=this.$getDisplayTokens(a,v.length);a[0]=g;for(b=1;b<a.length;b++)a[b]=j}else a=this.$getDisplayTokens(f[b].substring(e,c),v.length);v=v.concat(a)}.bind(this),u.end.row,f[u.end.row].length+1);v.length!=0&&v[v.length-1]>=m;)v.pop()}else v=this.$getDisplayTokens(b.stringTrimRight(f[C]));n[C]=this.$computeWrapSplits(v,k,e);C=this.getRowFoldEnd(C)+1}};var g=3,j=4,
m=10;this.$computeWrapSplits=function(a,b){function c(b){var e=a.slice(n,b),g=e.length;e.join("").replace(/12/g,function(){g=g-1}).replace(/2/g,function(){g=g-1});k=k+g;f.push(k);n=b}if(a.length==0)return[];this.getTabSize();for(var f=[],e=a.length,n=0,k=0;e-n>b;){var v=n+b;if(a[v]>=m){for(;a[v]>=m;)v++;c(v)}else if(a[v]==g||a[v]==j){for(v;v!=n-1;v--)if(a[v]==g)break;if(!(v>n)){v=n+b;for(v;v<a.length;v++)if(a[v]!=j)break;if(v==a.length)break}c(v)}else{for(v;v!=n-1;v--)if(a[v]>=g){v++;break}if(v>n)c(v);
else{v=n+b;c(n+b)}}}return f};this.$getDisplayTokens=function(a,b){for(var c=[],e,b=b||0,g=0;g<a.length;g++){e=a.charCodeAt(g);if(e==9){e=this.getScreenTabSize(c.length+b);c.push(11);for(var j=1;j<e;j++)c.push(12)}else e==32?c.push(m):f(e)?c.push(1,2):c.push(1)}return c};this.$getStringScreenWidth=function(a,b,c){if(b==0)return[0,0];b==null&&(b=c+a.length*Math.max(this.getTabSize(),2));var c=c||0,e,g;for(g=0;g<a.length;g++){e=a.charCodeAt(g);c=e==9?c+this.getScreenTabSize(c):f(e)?c+2:c+1;if(c>b)break}return[c,
g]};this.getRowLength=function(a){return!this.$useWrapMode||!this.$wrapData[a]?1:this.$wrapData[a].length+1};this.getRowHeight=function(a,b){return this.getRowLength(b)*a.lineHeight};this.getScreenLastRowColumn=function(a){return this.documentToScreenColumn(a,this.doc.getLine(a).length)};this.getDocumentLastRowColumn=function(a,b){return this.getScreenLastRowColumn(this.documentToScreenRow(a,b))};this.getDocumentLastRowColumnPosition=function(a,b){return this.screenToDocumentPosition(this.documentToScreenRow(a,
b),Number.MAX_VALUE/10)};this.getRowSplitData=function(a){if(this.$useWrapMode)return this.$wrapData[a]};this.getScreenTabSize=function(a){return this.$tabSize-a%this.$tabSize};this.screenToDocumentRow=function(a,b){return this.screenToDocumentPosition(a,b).row};this.screenToDocumentColumn=function(a,b){return this.screenToDocumentPosition(a,b).column};this.screenToDocumentPosition=function(a,b){if(a<0)return{row:0,column:0};var c,f=0,e=0,g,j=0,n=0;c=this.$rowCache;for(var k=0;k<c.length;k++)if(c[k].screenRow<
a){j=c[k].screenRow;f=c[k].docRow}else break;for(var m=!c.length||k==c.length,v=this.getLength()-1,y=(k=this.getNextFold(f))?k.start.row:Infinity;j<=a;){n=this.getRowLength(f);if(j+n-1>=a||f>=v)break;else{j=j+n;f++;if(f>y){f=k.end.row+1;y=(k=this.getNextFold(f))?k.start.row:Infinity}}m&&c.push({docRow:f,screenRow:j})}if(k&&k.start.row<=f)c=this.getFoldDisplayLine(k);else{c=this.getLine(f);k=null}n=[];if(this.$useWrapMode)if(n=this.$wrapData[f]){g=n[a-j];if(a>j&&n.length){e=n[a-j-1]||n[n.length-1];
c=c.substring(e)}}e=e+this.$getStringScreenWidth(c,b)[1];if(j+n.length<a)e=Number.MAX_VALUE;this.$useWrapMode?e>=g&&(e=g-1):e=Math.min(e,c.length);return k?k.idxToPosition(e):{row:f,column:e}};this.documentToScreenPosition=function(a,b){var c=typeof b==="undefined"?this.$clipPositionToDocument(a.row,a.column):this.$clipPositionToDocument(a,b),a=c.row,b=c.column,f;if(this.$useWrapMode){f=this.$wrapData;if(a>f.length-1)return{row:this.getScreenLength(),column:f.length==0?0:f[f.length-1].length-1}}var c=
0,e=null,e=null;if(e=this.getFoldAt(a,b,1)){a=e.start.row;b=e.start.column}for(var g,e=0,j=this.$rowCache,n=0;n<j.length;n++)if(j[n].docRow<a){c=j[n].screenRow;e=j[n].docRow}else break;for(var k=!j.length||n==j.length,m=(n=this.getNextFold(e))?n.start.row:Infinity;e<a;){if(e>=m){g=n.end.row+1;if(g>a)break;m=(n=this.getNextFold(g))?n.start.row:Infinity}else g=e+1;c=c+this.getRowLength(e);e=g;k&&j.push({docRow:e,screenRow:c})}j="";if(n&&e>=m){j=this.getFoldDisplayLine(n,a,b);e=n.start.row}else{j=this.getLine(a).substring(0,
b);e=a}if(this.$useWrapMode){f=f[e];for(e=0;j.length>=f[e];){c++;e++}j=j.substring(f[e-1]||0,j.length)}return{row:c,column:this.$getStringScreenWidth(j)[0]}};this.documentToScreenColumn=function(a,b){return this.documentToScreenPosition(a,b).column};this.documentToScreenRow=function(a,b){return this.documentToScreenPosition(a,b).row};this.getScreenLength=function(){var a=0,b=null;if(this.$useWrapMode)for(var c=0;c<this.$wrapData.length;c++)if(b=this.getFoldLine(c,null)){c=b.end.row;a=a+1}else a=a+
(this.$wrapData[c].length+1);else for(var a=this.getLength(),c=this.$foldData,f=0;f<c.length;f++){b=c[f];a=a-(b.end.row-b.start.row)}return a}}).call(v.prototype);c("ace/edit_session/folding").Folding.call(v.prototype);m.EditSession=v});
define("ace/selection","require,exports,module,pilot/oop,pilot/lang,pilot/event_emitter,ace/range".split(","),function(c,m){var k=c("pilot/oop"),b=c("pilot/lang"),e=c("pilot/event_emitter").EventEmitter,g=c("ace/range").Range,j=function(a){this.session=a;this.doc=a.getDocument();this.clearSelection();this.selectionLead=this.doc.createAnchor(0,0);this.selectionAnchor=this.doc.createAnchor(0,0);var b=this;this.selectionLead.on("change",function(a){b._dispatchEvent("changeCursor");b.$isEmpty||b._dispatchEvent("changeSelection");
!b.$preventUpdateDesiredColumnOnChange&&a.old.column!=a.value.column&&b.$updateDesiredColumn()});this.selectionAnchor.on("change",function(){b.$isEmpty||b._dispatchEvent("changeSelection")})};(function(){k.implement(this,e);this.isEmpty=function(){return this.$isEmpty||this.selectionAnchor.row==this.selectionLead.row&&this.selectionAnchor.column==this.selectionLead.column};this.isMultiLine=function(){return this.isEmpty()?false:this.getRange().isMultiLine()};this.getCursor=function(){return this.selectionLead.getPosition()};
this.setSelectionAnchor=function(a,b){this.selectionAnchor.setPosition(a,b);if(this.$isEmpty){this.$isEmpty=false;this._dispatchEvent("changeSelection")}};this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.selectionAnchor.getPosition()};this.getSelectionLead=function(){return this.selectionLead.getPosition()};this.shiftSelection=function(a){if(this.$isEmpty)this.moveCursorTo(this.selectionLead.row,this.selectionLead.column+a);else{var b=this.getSelectionAnchor(),
c=this.getSelectionLead(),e=this.isBackwards();(!e||b.column!==0)&&this.setSelectionAnchor(b.row,b.column+a);(e||c.column!==0)&&this.$moveSelection(function(){this.moveCursorTo(c.row,c.column+a)})}};this.isBackwards=function(){var a=this.selectionAnchor,b=this.selectionLead;return a.row>b.row||a.row==b.row&&a.column>b.column};this.getRange=function(){var a=this.selectionAnchor,b=this.selectionLead;return this.isEmpty()?g.fromPoints(b,b):this.isBackwards()?g.fromPoints(b,a):g.fromPoints(a,b)};this.clearSelection=
function(){if(!this.$isEmpty){this.$isEmpty=true;this._dispatchEvent("changeSelection")}};this.selectAll=function(){var a=this.doc.getLength()-1;this.setSelectionAnchor(a,this.doc.getLine(a).length);this.moveCursorTo(0,0)};this.setSelectionRange=function(a,b){if(b){this.setSelectionAnchor(a.end.row,a.end.column);this.selectTo(a.start.row,a.start.column)}else{this.setSelectionAnchor(a.start.row,a.start.column);this.selectTo(a.end.row,a.end.column)}this.$updateDesiredColumn()};this.$updateDesiredColumn=
function(){var a=this.getCursor();this.$desiredColumn=this.session.documentToScreenColumn(a.row,a.column)};this.$moveSelection=function(a){var b=this.selectionLead;this.$isEmpty&&this.setSelectionAnchor(b.row,b.column);a.call(this)};this.selectTo=function(a,b){this.$moveSelection(function(){this.moveCursorTo(a,b)})};this.selectToPosition=function(a){this.$moveSelection(function(){this.moveCursorToPosition(a)})};this.selectUp=function(){this.$moveSelection(this.moveCursorUp)};this.selectDown=function(){this.$moveSelection(this.moveCursorDown)};
this.selectRight=function(){this.$moveSelection(this.moveCursorRight)};this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)};this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)};this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)};this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)};this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)};this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)};
this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)};this.selectWord=function(){var a=this.getCursor();this.setSelectionRange(this.session.getWordRange(a.row,a.column))};this.selectLine=function(){var a=this.selectionLead.row,b,c=this.session.getFoldLine(a);if(c){a=c.start.row;b=c.end.row}else b=a;this.setSelectionAnchor(a,0);this.$moveSelection(function(){this.moveCursorTo(b+1,0)})};this.moveCursorUp=function(){this.moveCursorBy(-1,0)};this.moveCursorDown=function(){this.moveCursorBy(1,
0)};this.moveCursorLeft=function(){var a=this.selectionLead.getPosition(),b;if(b=this.session.getFoldAt(a.row,a.column,-1))this.moveCursorTo(b.start.row,b.start.column);else if(a.column==0)a.row>0&&this.moveCursorTo(a.row-1,this.doc.getLine(a.row-1).length);else{b=this.session.getTabSize();this.session.isTabStop(a)&&this.doc.getLine(a.row).slice(a.column-b,a.column).split(" ").length-1==b?this.moveCursorBy(0,-b):this.moveCursorBy(0,-1)}};this.moveCursorRight=function(){var a=this.selectionLead.getPosition();
if(a=this.session.getFoldAt(a.row,a.column,1))this.moveCursorTo(a.end.row,a.end.column);else if(this.selectionLead.column==this.doc.getLine(this.selectionLead.row).length)this.selectionLead.row<this.doc.getLength()-1&&this.moveCursorTo(this.selectionLead.row+1,0);else{var b=this.session.getTabSize(),a=this.selectionLead;this.session.isTabStop(a)&&this.doc.getLine(a.row).slice(a.column,a.column+b).split(" ").length-1==b?this.moveCursorBy(0,b):this.moveCursorBy(0,1)}};this.moveCursorLineStart=function(){var a=
this.selectionLead.row,b=this.selectionLead.column,c=this.session.screenToDocumentPosition(this.session.documentToScreenRow(a,b),0),a=this.session.getDisplayLine(a,null,c.row,c.column).match(/^\s*/);a[0].length==b?this.moveCursorTo(c.row,c.column):this.moveCursorTo(c.row,c.column+a[0].length)};this.moveCursorLineEnd=function(){var a=this.selectionLead,a=this.session.getDocumentLastRowColumnPosition(a.row,a.column);this.moveCursorTo(a.row,a.column)};this.moveCursorFileEnd=function(){var a=this.doc.getLength()-
1,b=this.doc.getLine(a).length;this.moveCursorTo(a,b)};this.moveCursorFileStart=function(){this.moveCursorTo(0,0)};this.moveCursorWordRight=function(){var a=this.selectionLead.row,b=this.selectionLead.column,c=this.doc.getLine(a),e=c.substring(b);this.session.nonTokenRe.lastIndex=0;this.session.tokenRe.lastIndex=0;var g;if(g=this.session.getFoldAt(a,b,1))this.moveCursorTo(g.end.row,g.end.column);else if(b==c.length)this.moveCursorRight();else{if(this.session.nonTokenRe.exec(e)){b=b+this.session.nonTokenRe.lastIndex;
this.session.nonTokenRe.lastIndex=0}else if(this.session.tokenRe.exec(e)){b=b+this.session.tokenRe.lastIndex;this.session.tokenRe.lastIndex=0}this.moveCursorTo(a,b)}};this.moveCursorWordLeft=function(){var a=this.selectionLead.row,c=this.selectionLead.column,e;if(e=this.session.getFoldAt(a,c,-1))this.moveCursorTo(e.start.row,e.start.column);else if(c==0)this.moveCursorLeft();else{e=this.session.getFoldStringAt(a,c,-1);e==null&&(e=this.doc.getLine(a).substring(0,c));e=b.stringReverse(e);this.session.nonTokenRe.lastIndex=
0;this.session.tokenRe.lastIndex=0;if(this.session.nonTokenRe.exec(e)){c=c-this.session.nonTokenRe.lastIndex;this.session.nonTokenRe.lastIndex=0}else if(this.session.tokenRe.exec(e)){c=c-this.session.tokenRe.lastIndex;this.session.tokenRe.lastIndex=0}this.moveCursorTo(a,c)}};this.moveCursorBy=function(a,b){var c=this.session.documentToScreenPosition(this.selectionLead.row,this.selectionLead.column),c=this.session.screenToDocumentPosition(c.row+a,b==0&&this.$desiredColumn||c.column);this.moveCursorTo(c.row,
c.column+b,b==0)};this.moveCursorToPosition=function(a){this.moveCursorTo(a.row,a.column)};this.moveCursorTo=function(a,b,c){var e=this.session.getFoldAt(a,b,1);if(e){a=e.start.row;b=e.start.column}this.$preventUpdateDesiredColumnOnChange=true;this.selectionLead.setPosition(a,b);this.$preventUpdateDesiredColumnOnChange=false;c||this.$updateDesiredColumn(this.selectionLead.column)};this.moveCursorToScreen=function(a,b,c){b=this.session.screenToDocumentPosition(a,b);a=b.row;b=b.column;this.moveCursorTo(a,
b,c)}}).call(j.prototype);m.Selection=j});
define("ace/range",["require","exports","module"],function(c,m){var k=function(b,c,g,j){this.start={row:b,column:c};this.end={row:g,column:j}};(function(){this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"};this.contains=function(b,c){return 0==this.compare(b,c)};this.compareRange=function(b){var c;c=b.end;b=b.start;c=this.compare(c.row,c.column);if(1==c)return c=this.compare(b.row,b.column),1==c?2:0==c?1:0;if(-1==c)return-2;
c=this.compare(b.row,b.column);return-1==c?-1:1==c?42:0};this.containsRange=function(b){b=this.compareRange(b);return-1==b||0==b||1==b};this.isEnd=function(b,c){return this.end.row==b&&this.end.column==c};this.isStart=function(b,c){return this.start.row==b&&this.start.column==c};this.setStart=function(b,c){"object"==typeof b?(this.start.column=b.column,this.start.row=b.row):(this.start.row=b,this.start.column=c)};this.setEnd=function(b,c){"object"==typeof b?(this.end.column=b.column,this.end.row=
b.row):(this.end.row=b,this.end.column=c)};this.inside=function(b,c){return 0==this.compare(b,c)&&!this.isEnd(b,c)&&!this.isStart(b,c)?!0:!1};this.insideStart=function(b,c){return 0==this.compare(b,c)&&!this.isEnd(b,c)?!0:!1};this.insideEnd=function(b,c){return 0==this.compare(b,c)&&!this.isStart(b,c)?!0:!1};this.compare=function(b,c){return!this.isMultiLine()&&b===this.start.row?c<this.start.column?-1:c>this.end.column?1:0:b<this.start.row?-1:b>this.end.row?1:this.start.row===b?c>=this.start.column?
0:-1:this.end.row===b?c<=this.end.column?0:1:0};this.compareStart=function(b,c){return this.start.row==b&&this.start.column==c?-1:this.compare(b,c)};this.compareEnd=function(b,c){return this.end.row==b&&this.end.column==c?1:this.compare(b,c)};this.compareInside=function(b,c){return this.end.row==b&&this.end.column==c?1:this.start.row==b&&this.start.column==c?-1:this.compare(b,c)};this.clipRows=function(b,c){if(this.end.row>c)var g={row:c+1,column:0};if(this.start.row>c)var j={row:c+1,column:0};this.start.row<
b&&(j={row:b,column:0});this.end.row<b&&(g={row:b,column:0});return k.fromPoints(j||this.start,g||this.end)};this.extend=function(b,c){var g=this.compare(b,c);if(0==g)return this;if(-1==g)var j={row:b,column:c};else var a={row:b,column:c};return k.fromPoints(j||this.start,a||this.end)};this.isEmpty=function(){return this.start.row==this.end.row&&this.start.column==this.end.column};this.isMultiLine=function(){return this.start.row!==this.end.row};this.clone=function(){return k.fromPoints(this.start,
this.end)};this.collapseRows=function(){return 0==this.end.column?new k(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new k(this.start.row,0,this.end.row,0)};this.toScreenRange=function(b){var c=b.documentToScreenPosition(this.start),b=b.documentToScreenPosition(this.end);return new k(c.row,c.column,b.row,b.column)}}).call(k.prototype);k.fromPoints=function(b,c){return new k(b.row,b.column,c.row,c.column)};m.Range=k});
define("ace/mode/text","require,exports,module,ace/tokenizer,ace/mode/text_highlight_rules,ace/mode/behaviour,ace/unicode".split(","),function(c,m){var k=c("ace/tokenizer").Tokenizer,b=c("ace/mode/text_highlight_rules").TextHighlightRules,e=c("ace/mode/behaviour").Behaviour,g=c("ace/unicode"),j=function(){this.$tokenizer=new k((new b).getRules());this.$behaviour=new e};(function(){this.tokenRe=RegExp("^["+g.packages.L+g.packages.Mn+g.packages.Mc+g.packages.Nd+g.packages.Pc+"\\$_]+","g");this.nonTokenRe=
RegExp("^(?:[^"+g.packages.L+g.packages.Mn+g.packages.Mc+g.packages.Nd+g.packages.Pc+"\\$_]|s])+","g");this.getTokenizer=function(){return this.$tokenizer};this.toggleCommentLines=function(){};this.getNextLineIndent=function(){return""};this.checkOutdent=function(){return false};this.autoOutdent=function(){};this.$getIndent=function(a){return(a=a.match(/^(\s+)/))?a[1]:""};this.createWorker=function(){return null};this.highlightSelection=function(a){var b=a.session;if(!b.$selectionOccurrences)b.$selectionOccurrences=
[];b.$selectionOccurrences.length&&this.clearSelectionHighlight(a);var c=a.getSelectionRange();if(!c.isEmpty()&&!c.isMultiLine()){var e=c.start.column-1,g=c.end.column+1,j=b.getLine(c.start.row),k=j.length,m=j.substring(Math.max(e,0),Math.min(g,k));if(!(e>=0&&/^[\w\d]/.test(m)||g<=k&&/[\w\d]$/.test(m))){m=j.substring(c.start.column,c.end.column);if(/^[\w\d]+$/.test(m)){var q=a.getCursorPosition(),c={wrap:true,wholeWord:true,caseSensitive:true,needle:m},e=a.$search.getOptions();a.$search.set(c);a.$search.findAll(b).forEach(function(a){if(!a.contains(q.row,
q.column)){a=b.addMarker(a,"ace_selected_word","text");b.$selectionOccurrences.push(a)}});a.$search.set(e)}}}};this.clearSelectionHighlight=function(a){if(a.session.$selectionOccurrences){a.session.$selectionOccurrences.forEach(function(b){a.session.removeMarker(b)});a.session.$selectionOccurrences=[]}};this.createModeDelegates=function(a){if(this.$embeds){this.$modes={};for(var b=0;b<this.$embeds.length;b++)a[this.$embeds[b]]&&(this.$modes[this.$embeds[b]]=new a[this.$embeds[b]]);for(var c=["toggleCommentLines",
"getNextLineIndent","checkOutdent","autoOutdent","transformAction"],b=0;b<c.length;b++)(function(a){var e=c[b],g=a[e];a[c[b]]=function(){return this.$delegator(e,arguments,g)}})(this)}};this.$delegator=function(a,b,c){for(var e=b[0],g=0;g<this.$embeds.length;g++)if(this.$modes[this.$embeds[g]]){var j=e.split(this.$embeds[g]);if(!j[0]&&j[1]){b[0]=j[1];c=this.$modes[this.$embeds[g]];return c[a].apply(c,b)}}a=c.apply(this,b);return c?a:void 0};this.transformAction=function(a,b,c,e,g){if(this.$behaviour){var j=
this.$behaviour.getBehaviours(),k;for(k in j)if(j[k][b]){var m=j[k][b].apply(this,arguments);if(m!==false)return m}}return false}}).call(j.prototype);m.Mode=j});
define("ace/tokenizer",["require","exports","module"],function(c,m){var k=function(b){this.rules=b;this.regExps={};this.matchMappings={};for(var c in this.rules){for(var b=this.rules[c],g=[],j=0,a=this.matchMappings[c]={},f=0;f<b.length;f++){var n=RegExp("(?:("+b[f].regex+")|(.))").exec("a").length-2,k=b[f].regex.replace(/\\([0-9]+)/g,function(a,b){return"\\"+(parseInt(b,10)+j+1)});a[j]={rule:f,len:n};j+=n;g.push(k)}this.regExps[c]=RegExp("(?:("+g.join(")|(")+")|(.))","g")}};(function(){this.getLineTokens=
function(b,c){var g=c,j=this.rules[g],a=this.matchMappings[g],f=this.regExps[g];f.lastIndex=0;for(var n,k=[],m=0,s={type:null,value:""};n=f.exec(b);){for(var t="text",y=null,q=[n[0]],x=0;x<n.length-2;x++)if(void 0!==n[x+1]){y=j[a[x].rule];1<a[x].len&&(q=n.slice(x+2,x+1+a[x].len));t="function"==typeof y.token?y.token.apply(this,q):y.token;if((n=y.next)&&n!==g)g=n,j=this.rules[g],a=this.matchMappings[g],m=f.lastIndex,f=this.regExps[g],f.lastIndex=m;break}if(q[0]){"string"==typeof t&&(q=[q.join("")],
t=[t]);for(x=0;x<q.length;x++)(!y||y.merge||"text"===t[x])&&s.type===t[x]?s.value+=q[x]:(s.type&&k.push(s),s={type:t[x],value:q[x]})}if(m==b.length)break;m=f.lastIndex}s.type&&k.push(s);return{tokens:k,state:g}}}).call(k.prototype);m.Tokenizer=k});
define("ace/mode/text_highlight_rules",["require","exports","module","pilot/lang"],function(c,m){var k=c("pilot/lang"),b=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{token:"text",regex:".+"}]}};(function(){this.addRules=function(b,c){for(var j in b){for(var a=b[j],f=0;f<a.length;f++){var n=a[f];n.next=n.next?c+n.next:c+j}this.$rules[c+j]=a}};this.getRules=function(){return this.$rules};this.embedRules=function(b,c,j,a){b=(new b).getRules();if(a)for(var f=0;f<a.length;f++)a[f]=c+
a[f];else for(f in a=[],b)a.push(c+f);this.addRules(b,c);for(f=0;f<a.length;f++)Array.prototype.unshift.apply(this.$rules[a[f]],k.deepCopy(j));this.$embeds||(this.$embeds=[]);this.$embeds.push(c)};this.getEmbeds=function(){return this.$embeds}}).call(b.prototype);m.TextHighlightRules=b});
define("ace/mode/behaviour",["require","exports","module"],function(c,m){var k=function(){this.$behaviours={}};(function(){this.add=function(b,c,g){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[b]:this.$behaviours[b]={}}this.$behaviours[b][c]=g};this.addBehaviours=function(b){for(var c in b)for(var g in b[c])this.add(c,g,b[c][g])};this.remove=function(b){this.$behaviours&&this.$behaviours[b]&&delete this.$behaviours[b]};this.inherit=function(b,c){this.addBehaviours("function"===
typeof b?(new b).getBehaviours(c):b.getBehaviours(c))};this.getBehaviours=function(b){if(b){for(var c={},g=0;g<b.length;g++)this.$behaviours[b[g]]&&(c[b[g]]=this.$behaviours[b[g]]);return c}return this.$behaviours}}).call(k.prototype);m.Behaviour=k});
define("ace/unicode",["require","exports","module"],function(c,m){m.packages={};var k={L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",
Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",
Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",
M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",
Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",
Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",
Me:"0488048906DE20DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",
Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",
P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",
Pd:"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",
Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",
S:"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",
Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",
So:"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",
Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",
Cc:"0000-001F007F-009F",Cf:"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"},
b=/\w{4}/g,e;for(e in k)m.packages[e]=k[e].replace(b,"\\u$&")});
define("ace/document","require,exports,module,pilot/oop,pilot/event_emitter,ace/range,ace/anchor".split(","),function(c,m){var k=c("pilot/oop"),b=c("pilot/event_emitter").EventEmitter,e=c("ace/range").Range,g=c("ace/anchor").Anchor,j=function(a){this.$lines=[];Array.isArray(a)?this.insertLines(0,a):a.length==0?this.$lines=[""]:this.insert({row:0,column:0},a)};(function(){k.implement(this,b);this.setValue=function(a){var b=this.getLength();this.remove(new e(0,0,b,this.getLine(b-1).length));this.insert({row:0,
column:0},a)};this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())};this.createAnchor=function(a,b){return new g(this,a,b)};this.$split="aaa".split(/a/).length==0?function(a){return a.replace(/\r\n|\r/g,"\n").split("\n")}:function(a){return a.split(/\r\n|\r|\n/)};this.$detectNewLine=function(a){this.$autoNewLine=(a=a.match(/^.*?(\r?\n)/m))?a[1]:"\n"};this.getNewLineCharacter=function(){switch(this.$newLineMode){case "windows":return"\r\n";case "unix":return"\n";case "auto":return this.$autoNewLine}};
this.$autoNewLine="\n";this.$newLineMode="auto";this.setNewLineMode=function(a){if(this.$newLineMode!==a)this.$newLineMode=a};this.getNewLineMode=function(){return this.$newLineMode};this.isNewLine=function(a){return a=="\r\n"||a=="\r"||a=="\n"};this.getLine=function(a){return this.$lines[a]||""};this.getLines=function(a,b){return this.$lines.slice(a,b+1)};this.getAllLines=function(){return this.getLines(0,this.getLength())};this.getLength=function(){return this.$lines.length};this.getTextRange=function(a){if(a.start.row==
a.end.row)return this.$lines[a.start.row].substring(a.start.column,a.end.column);var b=[];b.push(this.$lines[a.start.row].substring(a.start.column));b.push.apply(b,this.getLines(a.start.row+1,a.end.row-1));b.push(this.$lines[a.end.row].substring(0,a.end.column));return b.join(this.getNewLineCharacter())};this.$clipPosition=function(a){var b=this.getLength();if(a.row>=b){a.row=Math.max(0,b-1);a.column=this.getLine(b-1).length}return a};this.insert=function(a,b){if(b.length==0)return a;a=this.$clipPosition(a);
this.getLength()<=1&&this.$detectNewLine(b);var c=this.$split(b),e=c.splice(0,1)[0],g=c.length==0?null:c.splice(c.length-1,1)[0],a=this.insertInLine(a,e);if(g!==null){a=this.insertNewLine(a);a=this.insertLines(a.row,c);a=this.insertInLine(a,g||"")}return a};this.insertLines=function(a,b){if(b.length==0)return{row:a,column:0};var c=[a,0];c.push.apply(c,b);this.$lines.splice.apply(this.$lines,c);c=new e(a,0,a+b.length,0);this._dispatchEvent("change",{data:{action:"insertLines",range:c,lines:b}});return c.end};
this.insertNewLine=function(a){var a=this.$clipPosition(a),b=this.$lines[a.row]||"";this.$lines[a.row]=b.substring(0,a.column);this.$lines.splice(a.row+1,0,b.substring(a.column,b.length));b={row:a.row+1,column:0};this._dispatchEvent("change",{data:{action:"insertText",range:e.fromPoints(a,b),text:this.getNewLineCharacter()}});return b};this.insertInLine=function(a,b){if(b.length==0)return a;var c=this.$lines[a.row]||"";this.$lines[a.row]=c.substring(0,a.column)+b+c.substring(a.column);c={row:a.row,
column:a.column+b.length};this._dispatchEvent("change",{data:{action:"insertText",range:e.fromPoints(a,c),text:b}});return c};this.remove=function(a){a.start=this.$clipPosition(a.start);a.end=this.$clipPosition(a.end);if(a.isEmpty())return a.start;var b=a.start.row,c=a.end.row;if(a.isMultiLine()){var e=a.start.column==0?b:b+1,g=c-1;a.end.column>0&&this.removeInLine(c,0,a.end.column);g>=e&&this.removeLines(e,g);if(e!=b){this.removeInLine(b,a.start.column,this.getLine(b).length);this.removeNewLine(a.start.row)}}else this.removeInLine(b,
a.start.column,a.end.column);return a.start};this.removeInLine=function(a,b,c){if(b!=c){var g=new e(a,b,a,c),j=this.getLine(a),k=j.substring(b,c),b=j.substring(0,b)+j.substring(c,j.length);this.$lines.splice(a,1,b);this._dispatchEvent("change",{data:{action:"removeText",range:g,text:k}});return g.start}};this.removeLines=function(a,b){var c=new e(a,0,b+1,0),g=this.$lines.splice(a,b-a+1);this._dispatchEvent("change",{data:{action:"removeLines",range:c,nl:this.getNewLineCharacter(),lines:g}});return g};
this.removeNewLine=function(a){var b=this.getLine(a),c=this.getLine(a+1),g=new e(a,b.length,a+1,0);this.$lines.splice(a,2,b+c);this._dispatchEvent("change",{data:{action:"removeText",range:g,text:this.getNewLineCharacter()}})};this.replace=function(a,b){if(b.length==0&&a.isEmpty())return a.start;if(b==this.getTextRange(a))return a.end;this.remove(a);return b?this.insert(a.start,b):a.start};this.applyDeltas=function(a){for(var b=0;b<a.length;b++){var c=a[b],g=e.fromPoints(c.range.start,c.range.end);
c.action=="insertLines"?this.insertLines(g.start.row,c.lines):c.action=="insertText"?this.insert(g.start,c.text):c.action=="removeLines"?this.removeLines(g.start.row,g.end.row-1):c.action=="removeText"&&this.remove(g)}};this.revertDeltas=function(a){for(var b=a.length-1;b>=0;b--){var c=a[b],g=e.fromPoints(c.range.start,c.range.end);c.action=="insertLines"?this.removeLines(g.start.row,g.end.row-1):c.action=="insertText"?this.remove(g):c.action=="removeLines"?this.insertLines(g.start.row,c.lines):c.action==
"removeText"&&this.insert(g.start,c.text)}}}).call(j.prototype);m.Document=j});
define("ace/anchor",["require","exports","module","pilot/oop","pilot/event_emitter"],function(c,m){var k=c("pilot/oop"),b=c("pilot/event_emitter").EventEmitter;(function(){k.implement(this,b);this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)};this.getDocument=function(){return this.document};this.onChange=function(b){var b=b.data,c=b.range;if(!(c.start.row==c.end.row&&c.start.row!=this.row||c.start.row>this.row||c.start.row==this.row&&c.start.column>this.column)){var j=
this.row,a=this.column;"insertText"===b.action?c.start.row===j&&c.start.column<=a?c.start.row===c.end.row?a+=c.end.column-c.start.column:(a-=c.start.column,j+=c.end.row-c.start.row):c.start.row!==c.end.row&&c.start.row<j&&(j+=c.end.row-c.start.row):"insertLines"===b.action?c.start.row<=j&&(j+=c.end.row-c.start.row):"removeText"==b.action?c.start.row==j&&c.start.column<a?a=c.end.column>=a?c.start.column:Math.max(0,a-(c.end.column-c.start.column)):c.start.row!==c.end.row&&c.start.row<j?(c.end.row==
j&&(a=Math.max(0,a-c.end.column)+c.start.column),j-=c.end.row-c.start.row):c.end.row==j&&(j-=c.end.row-c.start.row,a=Math.max(0,a-c.end.column)+c.start.column):"removeLines"==b.action&&c.start.row<=j&&(c.end.row<=j?j-=c.end.row-c.start.row:(j=c.start.row,a=0));this.setPosition(j,a,!0)}};this.setPosition=function(b,c,j){b=j?{row:b,column:c}:this.$clipPositionToDocument(b,c);this.row==b.row&&this.column==b.column||(c={row:this.row,column:this.column},this.row=b.row,this.column=b.column,this._dispatchEvent("change",
{old:c,value:b}))};this.detach=function(){this.document.removeEventListener("change",this.$onChange)};this.$clipPositionToDocument=function(b,c){var j={};b>=this.document.getLength()?(j.row=Math.max(0,this.document.getLength()-1),j.column=this.document.getLine(j.row).length):0>b?(j.row=0,j.column=0):(j.row=b,j.column=Math.min(this.document.getLine(j.row).length,Math.max(0,c)));0>c&&(j.column=0);return j}}).call((m.Anchor=function(b,c,j){this.document=b;"undefined"==typeof j?this.setPosition(c.row,
c.column):this.setPosition(c,j);this.$onChange=this.onChange.bind(this);b.on("change",this.$onChange)}).prototype)});
define("ace/background_tokenizer",["require","exports","module","pilot/oop","pilot/event_emitter"],function(c,m){var k=c("pilot/oop"),b=c("pilot/event_emitter").EventEmitter,e=function(b){this.running=!1;this.lines=[];this.currentLine=0;this.tokenizer=b;var c=this;this.$worker=function(){if(c.running){for(var a=new Date,b=c.currentLine,e=0,g=c.doc.getLength();c.currentLine<g;)if(c.lines[c.currentLine]=c.$tokenizeRows(c.currentLine,c.currentLine)[0],c.currentLine++,e+=1,0==e%5&&20<new Date-a){c.fireUpdateEvent(b,
c.currentLine-1);c.running=setTimeout(c.$worker,20);return}c.running=!1;c.fireUpdateEvent(b,g-1)}}};(function(){k.implement(this,b);this.setTokenizer=function(b){this.tokenizer=b;this.lines=[];this.start(0)};this.setDocument=function(b){this.doc=b;this.lines=[];this.stop()};this.fireUpdateEvent=function(b,c){this._dispatchEvent("update",{data:{first:b,last:c}})};this.start=function(b){this.currentLine=Math.min(b||0,this.currentLine,this.doc.getLength());this.lines.splice(this.currentLine,this.lines.length);
this.stop();this.running=setTimeout(this.$worker,700)};this.stop=function(){this.running&&clearTimeout(this.running);this.running=!1};this.getTokens=function(b,c){return this.$tokenizeRows(b,c)};this.getState=function(b){return this.$tokenizeRows(b,b)[0].state};this.$tokenizeRows=function(b,c){if(!this.doc)return[];var a=[],f="start",e=!1;0<b&&this.lines[b-1]?(f=this.lines[b-1].state,e=!0):0==b?(f="start",e=!0):0<this.lines.length&&(f=this.lines[this.lines.length-1].state);for(var k=this.doc.getLines(b,
c),m=b;m<=c;m++)if(this.lines[m])s=this.lines[m],f=s.state,a.push(s);else{var s=this.tokenizer.getLineTokens(k[m-b]||"",f),f=s.state;a.push(s);e&&(this.lines[m]=s)}return a}}).call(e.prototype);m.BackgroundTokenizer=e});
define("ace/edit_session/folding","require,exports,module,ace/range,ace/edit_session/fold_line,ace/edit_session/fold".split(","),function(c,m){c("ace/range");var k=c("ace/edit_session/fold_line").FoldLine,b=c("ace/edit_session/fold").Fold;m.Folding=function(){this.getFoldAt=function(b,c,j){var a=this.getFoldLine(b);if(!a)return null;for(var a=a.folds,f=0;f<a.length;f++){var k=a[f];if(k.range.contains(b,c)&&!(j==1&&k.range.isEnd(b,c))&&!(j==-1&&k.range.isStart(b,c)))return k}};this.getFoldsInRange=
function(b){var b=b.clone(),c=b.start,j=b.end,a=this.$foldData,f=[];c.column=c.column+1;j.column=j.column-1;for(c=0;c<a.length;c++){j=a[c].range.compareRange(b);if(j!=2){if(j==-2)break;for(var k=a[c].folds,m=0;m<k.length;m++){var u=k[m],j=u.range.compareRange(b);if(j==-2)break;else if(j==2)continue;else if(j==42)break;f.push(u)}}}return f};this.getFoldStringAt=function(b,c,j,a){a=a||this.getFoldLine(b);if(!a)return null;for(var f={end:{column:0}},k=0;k<a.folds.length;k++){var m=a.folds[k],u=m.range.compareEnd(b,
c);if(u==-1){var s=this.getLine(m.start.row).substring(f.end.column,m.start.column);break}else if(u==0)return null;f=m}s||(s=this.getLine(m.start.row).substring(f.end.column));return j==-1?s.substring(0,c-f.end.column):j==1?s.substring(c-f.end.column):s};this.getFoldLine=function(b,c){var j=this.$foldData,a=0;c&&(a=j.indexOf(c));a==-1&&(a=0);for(a;a<j.length;a++){var f=j[a];if(f.start.row<=b&&f.end.row>=b)return f;if(f.end.row>b)break}return null};this.getNextFold=function(b,c){var j=this.$foldData,
a=0;c&&(a=j.indexOf(c));a==-1&&(a=0);for(a;a<j.length;a++){var f=j[a];if(f.end.row>=b)return f}return null};this.getFoldedRowCount=function(b,c){for(var j=this.$foldData,a=c-b+1,f=0;f<j.length;f++){var k=j[f],m=k.end.row,k=k.start.row;if(m>=c){k<c&&(a=k>=b?a-(c-k):0);break}else m>=b&&(a=k>=b?a-(m-k):a-(m-b+1))}return a};this.$addFoldLine=function(b){this.$foldData.push(b);this.$foldData.sort(function(b,c){return b.start.row-c.start.row});return b};this.addFold=function(c,g){var j=this.$foldData,a=
false,f=c instanceof b?c:new b(g,c),m=f.start.row,v=f.start.column,u=f.end.row,s=f.end.column;if(f.placeholder.length<2)throw"Placeholder has to be at least 2 characters";if(m==u&&s-v<2)throw"The range has to be at least 2 characters width";var t=this.getFoldAt(m,v,1);if(t&&t.range.isEnd(u,s)&&t.range.isStart(m,v))return f;if((t=this.getFoldAt(m,v,1))&&!t.range.isStart(m,v))throw"A fold can't start inside of an already existing fold";if((t=this.getFoldAt(u,s,-1))&&!t.range.isEnd(u,s))throw"A fold can't end inside of an already existing fold";
if(u>=this.doc.getLength())throw"End of fold is outside of the document.";if(s>this.getLine(u).length||v>this.getLine(m).length)throw"End of fold is outside of the document.";v=this.getFoldsInRange(f.range);if(v.length>0){this.removeFolds(v);f.subFolds=v}for(v=0;v<j.length;v++){var y=j[v];if(u==y.start.row){y.addFold(f);a=true;break}else if(m==y.end.row){y.addFold(f);a=true;if(!f.sameRow)if((foldLineNext=j[v+1])&&foldLineNext.start.row==u){y.merge(foldLineNext);break}break}else if(u<=y.start.row)break}a||
(y=this.$addFoldLine(new k(this.$foldData,f)));this.$useWrapMode&&this.$updateWrapData(y.start.row,y.start.row);this.$modified=true;this._dispatchEvent("changeFold",{data:f});return f};this.addFolds=function(b){b.forEach(function(b){this.addFold(b)},this)};this.removeFold=function(b){var c=b.foldLine,j=c.start.row,a=c.end.row,f=this.$foldData,k=c.folds;if(k.length==1)f.splice(f.indexOf(c),1);else if(c.range.isEnd(b.end.row,b.end.column)){k.pop();c.end.row=k[k.length-1].end.row;c.end.column=k[k.length-
1].end.column}else if(c.range.isStart(b.start.row,b.start.column)){k.shift();c.start.row=k[0].start.row;c.start.column=k[0].start.column}else if(b.sameRow)k.splice(k.indexOf(b),1);else{f=c.split(b.start.row,b.start.column);f.folds.shift();c.start.row=k[0].start.row;c.start.column=k[0].start.column;this.$addFoldLine(f)}this.$useWrapMode&&this.$updateWrapData(j,a);this.$modified=true;this._dispatchEvent("changeFold",{data:b})};this.removeFolds=function(b){for(var c=[],j=0;j<b.length;j++)c.push(b[j]);
c.forEach(function(a){this.removeFold(a)},this);this.$modified=true};this.expandFold=function(b){this.removeFold(b);b.subFolds.forEach(function(b){this.addFold(b)},this);b.subFolds=[]};this.expandFolds=function(b){b.forEach(function(b){this.expandFold(b)},this)};this.isRowFolded=function(b,c){return!!this.getFoldLine(b,c)};this.getRowFoldEnd=function(b,c){var j=this.getFoldLine(b,c);return j?j.end.row:b};this.getFoldDisplayLine=function(b,c,j,a,f){if(a==null){a=b.start.row;f=0}if(c==null){c=b.end.row;
j=this.getLine(c).length}var k=this.doc,m="";b.walk(function(b,c,e,g){if(!(c<a)){if(c==a){if(e<f)return;g=Math.max(f,g)}m=b?m+b:m+k.getLine(c).substring(g,e)}}.bind(this),c,j);return m};this.getDisplayLine=function(b,c,j,a){var f=this.getFoldLine(b);if(f)return this.getFoldDisplayLine(f,b,c,j,a);b=this.doc.getLine(b);return b.substring(a||0,c||b.length)};this.$cloneFoldData=function(){var b=[];return b=this.$foldData.map(function(c){c=c.folds.map(function(b){return b.clone()});return new k(b,c)})}}});
define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(c,m){function k(c,g){this.foldData=c;Array.isArray(g)?this.folds=g:g=this.folds=[g];var j=g[g.length-1];this.range=new b(g[0].start.row,g[0].start.column,j.end.row,j.end.column);this.start=this.range.start;this.end=this.range.end;this.folds.forEach(function(a){a.setFoldLine(this)},this)}var b=c("ace/range").Range;(function(){this.shiftRow=function(b){this.start.row+=b;this.end.row+=b;this.folds.forEach(function(c){c.start.row+=
b;c.end.row+=b})};this.addFold=function(b){if(b.sameRow){if(b.start.row<this.startRow||b.endRow>this.endRow)throw"Can't add a fold to this FoldLine as it has no connection";this.folds.push(b);this.folds.sort(function(b,c){return-b.range.compareEnd(c.start.row,c.start.column)});0<this.range.compareEnd(b.start.row,b.start.column)?(this.end.row=b.end.row,this.end.column=b.end.column):0>this.range.compareStart(b.end.row,b.end.column)&&(this.start.row=b.start.row,this.start.column=b.start.column)}else if(b.start.row==
this.end.row)this.folds.push(b),this.end.row=b.end.row,this.end.column=b.end.column;else if(b.end.row==this.start.row)this.folds.unshift(b),this.start.row=b.start.row,this.start.column=b.start.column;else throw"Trying to add fold to FoldRow that doesn't have a matching row";b.foldLine=this};this.containsRow=function(b){return b>=this.start.row&&b<=this.end.row};this.walk=function(b,c,j){var a=0,f=this.folds,k,m,u;u=!0;null==c&&(c=this.end.row,j=this.end.column);for(var s=0;s<f.length;s++){k=f[s];
m=k.range.compareStart(c,j);if(-1==m){b(null,c,j,a,u);return}u=b(null,k.start.row,k.start.column,a,u);if((u=!u&&b(k.placeholder,k.start.row,k.start.column,a))||0==m)return;u=!k.sameRow;a=k.end.column}b(null,c,j,a,u)};this.getNextFoldTo=function(b,c){for(var j,a,f=0;f<this.folds.length;f++){j=this.folds[f];a=j.range.compareEnd(b,c);if(-1==a)return{fold:j,kind:"after"};if(0==a)return{fold:j,kind:"inside"}}return null};this.addRemoveChars=function(b,c,j){var a=this.getNextFoldTo(b,c),f;if(a){f=a.fold;
if("inside"==a.kind&&f.start.column!=c&&f.start.row!=b)throw"Moving characters inside of a fold should never be reached";if(f.start.row==b){b=this.folds;c=b.indexOf(f);0==c&&(this.start.column+=j);for(c;c<b.length;c++){f=b[c];f.start.column+=j;if(!f.sameRow)return;f.end.column+=j}this.end.column+=j}}};this.split=function(b,c){var j=this.getNextFoldTo(b,c).fold,a=this.folds,f=this.foldData;if(!j)return null;var j=a.indexOf(j),m=a[j-1];this.end.row=m.end.row;this.end.column=m.end.column;a=a.splice(j,
a.length-j);a=new k(f,a);f.splice(f.indexOf(this)+1,0,a);return a};this.merge=function(b){for(var c=b.folds,j=0;j<c.length;j++)this.addFold(c[j]);c=this.foldData;c.splice(c.indexOf(b),1)};this.toString=function(){var b=[this.range.toString()+": ["];this.folds.forEach(function(c){b.push("  "+c.toString())});b.push("]");return b.join("\n")};this.idxToPosition=function(b){for(var c=0,j,a=0;a<this.folds.length;a++){j=this.folds[a];b-=j.start.column-c;if(0>b)return{row:j.start.row,column:j.start.column+
b};b-=j.placeholder.length;if(0>b)return j.start;c=j.end.column}return{row:this.end.row,column:this.end.column+b}}}).call(k.prototype);m.FoldLine=k});
define("ace/edit_session/fold",["require","exports","module"],function(c,m){var k=m.Fold=function(b,c){this.foldLine=null;this.placeholder=c;this.range=b;this.start=b.start;this.end=b.end;this.sameRow=b.start.row==b.end.row;this.subFolds=[]};(function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()};this.setFoldLine=function(b){this.foldLine=b;this.subFolds.forEach(function(c){c.setFoldLine(b)})};this.clone=function(){var b=this.range.clone(),c=new k(b,this.placeholder);
this.subFolds.forEach(function(b){c.subFolds.push(b.clone())});return c}}).call(k.prototype)});
define("ace/search","require,exports,module,pilot/lang,pilot/oop,ace/range".split(","),function(c,m){var k=c("pilot/lang"),b=c("pilot/oop"),e=c("ace/range").Range,g=function(){this.$options={needle:"",backwards:false,wrap:false,caseSensitive:false,wholeWord:false,scope:g.ALL,regExp:false}};g.ALL=1;g.SELECTION=2;(function(){this.set=function(c){b.mixin(this.$options,c);return this};this.getOptions=function(){return k.copyObject(this.$options)};this.find=function(b){if(!this.$options.needle)return null;
var a=null;(this.$options.backwards?this.$backwardMatchIterator(b):this.$forwardMatchIterator(b)).forEach(function(b){a=b;return true});return a};this.findAll=function(b){if(!this.$options.needle)return[];var a=[];(this.$options.backwards?this.$backwardMatchIterator(b):this.$forwardMatchIterator(b)).forEach(function(b){a.push(b)});return a};this.replace=function(b,a){var c=this.$assembleRegExp(),e=c.exec(b);return e&&e[0].length==b.length?this.$options.regExp?b.replace(c,a):a:null};this.$forwardMatchIterator=
function(b){var a=this.$assembleRegExp(),c=this;return{forEach:function(e){c.$forwardLineIterator(b).forEach(function(b,g,j){g&&(b=b.substring(g));var k=[];b.replace(a,function(a){k.push({str:a,offset:g+arguments[arguments.length-2]});return a});for(b=0;b<k.length;b++){var m=k[b],m=c.$rangeFromMatch(j,m.offset,m.str.length);if(e(m))return true}})}}};this.$backwardMatchIterator=function(b){var a=this.$assembleRegExp(),c=this;return{forEach:function(e){c.$backwardLineIterator(b).forEach(function(b,
g,j){g&&(b=b.substring(g));var k=[];b.replace(a,function(a,b){k.push({str:a,offset:g+b});return a});for(b=k.length-1;b>=0;b--){var m=k[b],m=c.$rangeFromMatch(j,m.offset,m.str.length);if(e(m))return true}})}}};this.$rangeFromMatch=function(b,a,c){return new e(b,a,b,a+c)};this.$assembleRegExp=function(){var b=this.$options.regExp?this.$options.needle:k.escapeRegExp(this.$options.needle);this.$options.wholeWord&&(b="\\b"+b+"\\b");var a="g";this.$options.caseSensitive||(a=a+"i");return RegExp(b,a)};this.$forwardLineIterator=
function(b){function a(a){var g=b.getLine(a);c&&a==e.end.row&&(g=g.substring(0,e.end.column));q&&a==k.row&&(g=g.substring(0,k.column));return g}var c=this.$options.scope==g.SELECTION,e=b.getSelection().getRange(),k=b.getSelection().getCursor(),m=c?e.start.row:0,s=c?e.start.column:0,t=c?e.end.row:b.getLength()-1,y=this.$options.wrap,q=false;return{forEach:function(b){var c=k.row,f=a(c),e=k.column,g=false;for(q=false;!b(f,e,c);){if(g)break;c++;e=0;if(c>t)if(y){c=m;e=s;q=true}else break;c==k.row&&(g=
true);f=a(c)}}}};this.$backwardLineIterator=function(b){var a=this.$options.scope==g.SELECTION,c=b.getSelection().getRange(),e=a?c.end:c.start,k=a?c.start.row:0,m=a?c.start.column:0,s=a?c.end.row:b.getLength()-1,t=this.$options.wrap;return{forEach:function(g){for(var q=e.row,x=b.getLine(q).substring(0,e.column),A=0,B=false,r=false;!g(x,A,q);){if(B)break;q--;A=0;if(q<k)if(t){q=s;r=true}else break;q==e.row&&(B=true);x=b.getLine(q);a&&(q==k?A=m:q==s&&(x=x.substring(0,c.end.column)));if(r&&q==e.row)A=
e.column}}}}}).call(g.prototype);m.Search=g});
define("ace/undomanager",["require","exports","module"],function(c,m){var k=function(){this.reset()};(function(){this.execute=function(b){var c=b.args[0];this.$doc=b.args[1];this.$undoStack.push(c);this.$redoStack=[]};this.undo=function(b){var c=this.$undoStack.pop(),g=null;c&&(g=this.$doc.undoChanges(c,b),this.$redoStack.push(c));return g};this.redo=function(b){var c=this.$redoStack.pop(),g=null;c&&(g=this.$doc.redoChanges(c,b),this.$undoStack.push(c));return g};this.reset=function(){this.$undoStack=
[];this.$redoStack=[]};this.hasUndo=function(){return 0<this.$undoStack.length};this.hasRedo=function(){return 0<this.$redoStack.length}}).call(k.prototype);m.UndoManager=k});
define("ace/virtual_renderer","require,exports,module,pilot/oop,pilot/dom,pilot/event,pilot/useragent,ace/layer/gutter,ace/layer/marker,ace/layer/text,ace/layer/cursor,ace/scrollbar,ace/renderloop,pilot/event_emitter,text/ace/css/editor.css".split(","),function(c,m){var k=c("pilot/oop"),b=c("pilot/dom"),e=c("pilot/event"),g=c("pilot/useragent"),j=c("ace/layer/gutter").Gutter,a=c("ace/layer/marker").Marker,f=c("ace/layer/text").Text,n=c("ace/layer/cursor").Cursor,v=c("ace/scrollbar").ScrollBar,u=c("ace/renderloop").RenderLoop,
s=c("pilot/event_emitter").EventEmitter,t=c("text/ace/css/editor.css");b.importCssString(t);t=function(c,g){this.container=c;b.addCssClass(this.container,"ace_editor");this.setTheme(g);this.$gutter=b.createElement("div");this.$gutter.className="ace_gutter";this.container.appendChild(this.$gutter);this.scroller=b.createElement("div");this.scroller.className="ace_scroller";this.container.appendChild(this.scroller);this.content=b.createElement("div");this.content.className="ace_content";this.scroller.appendChild(this.content);
this.$gutterLayer=new j(this.$gutter);this.$markerBack=new a(this.content);var k=this.$textLayer=new f(this.content);this.canvas=k.element;this.$markerFront=new a(this.content);this.characterWidth=k.getCharacterWidth();this.lineHeight=k.getLineHeight();this.$cursorLayer=new n(this.content);this.$cursorPadding=8;this.$horizScrollAlwaysVisible=this.$horizScroll=true;this.scrollBar=new v(c);this.scrollBar.addEventListener("scroll",this.onScroll.bind(this));this.scrollTop=0;this.cursorPos={row:0,column:0};
var m=this;this.$textLayer.addEventListener("changeCharaterSize",function(){m.characterWidth=k.getCharacterWidth();m.lineHeight=k.getLineHeight();m.$updatePrintMargin();m.onResize(true);m.$loop.schedule(m.CHANGE_FULL)});e.addListener(this.$gutter,"click",this.$onGutterClick.bind(this));e.addListener(this.$gutter,"dblclick",this.$onGutterClick.bind(this));this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0};this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:1,
characterWidth:1,minHeight:1,maxHeight:1,offset:0,height:1};this.$loop=new u(this.$renderChanges.bind(this));this.$loop.schedule(this.CHANGE_FULL);this.setPadding(4);this.$updatePrintMargin()};(function(){this.showGutter=true;this.CHANGE_CURSOR=1;this.CHANGE_MARKER=2;this.CHANGE_GUTTER=4;this.CHANGE_SCROLL=8;this.CHANGE_LINES=16;this.CHANGE_TEXT=32;this.CHANGE_SIZE=64;this.CHANGE_MARKER_BACK=128;this.CHANGE_MARKER_FRONT=256;this.CHANGE_FULL=512;k.implement(this,s);this.setSession=function(a){this.session=
a;this.$cursorLayer.setSession(a);this.$markerBack.setSession(a);this.$markerFront.setSession(a);this.$gutterLayer.setSession(a);this.$textLayer.setSession(a);this.$loop.schedule(this.CHANGE_FULL)};this.updateLines=function(a,b){b===void 0&&(b=Infinity);if(this.$changedLines){if(this.$changedLines.firstRow>a)this.$changedLines.firstRow=a;if(this.$changedLines.lastRow<b)this.$changedLines.lastRow=b}else this.$changedLines={firstRow:a,lastRow:b};this.$loop.schedule(this.CHANGE_LINES)};this.updateText=
function(){this.$loop.schedule(this.CHANGE_TEXT)};this.updateFull=function(){this.$loop.schedule(this.CHANGE_FULL)};this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()};this.onResize=function(a){var c=this.CHANGE_SIZE,f=this.$size,e=b.getInnerHeight(this.container);if(a||f.height!=e){f.height=e;this.scroller.style.height=e+"px";f.scrollerHeight=this.scroller.clientHeight;this.scrollBar.setHeight(f.scrollerHeight);if(this.session){this.scrollToY(this.getScrollTop());c=c|this.CHANGE_FULL}}e=
b.getInnerWidth(this.container);if(a||f.width!=e){f.width=e;var g=this.showGutter?this.$gutter.offsetWidth:0;this.scroller.style.left=g+"px";f.scrollerWidth=Math.max(0,e-g-this.scrollBar.getWidth());this.scroller.style.width=f.scrollerWidth+"px";if(this.session.getUseWrapMode()&&this.adjustWrapLimit()||a)c=c|this.CHANGE_FULL}this.$loop.schedule(c)};this.adjustWrapLimit=function(){return this.session.adjustWrapLimit(Math.floor((this.$size.scrollerWidth-this.$padding*2)/this.characterWidth)-1)};this.$onGutterClick=
function(a){var b=e.getDocumentX(a),c=e.getDocumentY(a);this._dispatchEvent("gutter"+a.type,{row:this.screenToTextCoordinates(b,c).row,htmlEvent:a})};this.setShowInvisibles=function(a){this.$textLayer.setShowInvisibles(a)&&this.$loop.schedule(this.CHANGE_TEXT)};this.getShowInvisibles=function(){return this.$textLayer.showInvisibles};this.$showPrintMargin=true;this.setShowPrintMargin=function(a){this.$showPrintMargin=a;this.$updatePrintMargin()};this.getShowPrintMargin=function(){return this.$showPrintMargin};
this.$printMarginColumn=80;this.setPrintMarginColumn=function(a){this.$printMarginColumn=a;this.$updatePrintMargin()};this.getPrintMarginColumn=function(){return this.$printMarginColumn};this.getShowGutter=function(){return this.showGutter};this.setShowGutter=function(a){if(this.showGutter!==a){this.$gutter.style.display=a?"block":"none";this.showGutter=a;this.onResize(true)}};this.$updatePrintMargin=function(){var a;if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){a=b.createElement("div");
a.className="ace_print_margin_layer";this.$printMarginEl=b.createElement("div");this.$printMarginEl.className="ace_print_margin";a.appendChild(this.$printMarginEl);this.content.insertBefore(a,this.$textLayer.element)}a=this.$printMarginEl.style;a.left=this.characterWidth*this.$printMarginColumn+this.$padding*2+"px";a.visibility=this.$showPrintMargin?"visible":"hidden"}};this.getContainerElement=function(){return this.container};this.getMouseEventTarget=function(){return this.content};this.getTextAreaContainer=
function(){return this.container};this.moveTextAreaToCursor=function(a){if(!g.isIE){var b=this.$cursorLayer.getPixelPosition();if(b){var c=this.content.getBoundingClientRect(),f=this.layerConfig.offset;a.style.left=c.left+b.left+this.$padding+"px";a.style.top=c.top+b.top-this.scrollTop+f+"px"}}};this.getFirstVisibleRow=function(){return this.layerConfig.firstRow};this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)};this.getLastFullyVisibleRow=
function(){return this.layerConfig.firstRow-1+Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight)};this.getLastVisibleRow=function(){return this.layerConfig.lastRow};this.$padding=null;this.setPadding=function(a){this.$padding=a;this.$textLayer.setPadding(a);this.$cursorLayer.setPadding(a);this.$markerFront.setPadding(a);this.$markerBack.setPadding(a);this.$loop.schedule(this.CHANGE_FULL);this.$updatePrintMargin()};this.getHScrollBarAlwaysVisible=function(){return this.$horizScrollAlwaysVisible};
this.setHScrollBarAlwaysVisible=function(a){if(this.$horizScrollAlwaysVisible!=a){this.$horizScrollAlwaysVisible=a;(!this.$horizScrollAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)}};this.onScroll=function(a){this.scrollToY(a.data)};this.$updateScrollBar=function(){this.scrollBar.setInnerHeight(this.layerConfig.maxHeight);this.scrollBar.setScrollTop(this.scrollTop)};this.$renderChanges=function(a){if(a&&this.session){(a&this.CHANGE_FULL||a&this.CHANGE_SIZE||a&this.CHANGE_TEXT||
a&this.CHANGE_LINES||a&this.CHANGE_SCROLL)&&this.$computeLayerConfig();if(a&this.CHANGE_FULL){this.$textLayer.update(this.layerConfig);this.showGutter&&this.$gutterLayer.update(this.layerConfig);this.$markerBack.update(this.layerConfig);this.$markerFront.update(this.layerConfig);this.$cursorLayer.update(this.layerConfig);this.$updateScrollBar()}else if(a&this.CHANGE_SCROLL){a&this.CHANGE_TEXT||a&this.CHANGE_LINES?this.$textLayer.update(this.layerConfig):this.$textLayer.scrollLines(this.layerConfig);
this.showGutter&&this.$gutterLayer.update(this.layerConfig);this.$markerBack.update(this.layerConfig);this.$markerFront.update(this.layerConfig);this.$cursorLayer.update(this.layerConfig);this.$updateScrollBar()}else{if(a&this.CHANGE_TEXT){this.$textLayer.update(this.layerConfig);this.showGutter&&this.$gutterLayer.update(this.layerConfig)}else if(a&this.CHANGE_LINES){this.$updateLines();this.$updateScrollBar();this.showGutter&&this.$gutterLayer.update(this.layerConfig)}else a&this.CHANGE_GUTTER&&
this.showGutter&&this.$gutterLayer.update(this.layerConfig);a&this.CHANGE_CURSOR&&this.$cursorLayer.update(this.layerConfig);a&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(this.layerConfig);a&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(this.layerConfig);a&this.CHANGE_SIZE&&this.$updateScrollBar()}}};this.$computeLayerConfig=function(){var a=this.session,b=this.scrollTop%this.lineHeight,c=this.$size.scrollerHeight+this.lineHeight,f=this.$getLongestLine(),
e=this.$horizScrollAlwaysVisible||this.$size.scrollerWidth-f<0,g=this.$horizScroll!==e;this.$horizScroll=e;if(g)this.scroller.style.overflowX=e?"scroll":"hidden";e=this.session.getScreenLength()*this.lineHeight;this.scrollTop=Math.max(0,Math.min(this.scrollTop,e-this.$size.scrollerHeight));var j=Math.ceil(c/this.lineHeight)-1,k=Math.max(0,Math.round((this.scrollTop-b)/this.lineHeight)),j=k+j,m,b={lineHeight:this.lineHeight},k=a.screenToDocumentRow(k,0);if(m=a.getFoldLine(k))k=m.start.row;m=a.documentToScreenRow(k,
0);c=a.getRowHeight(b,k);j=Math.min(a.screenToDocumentRow(j,0),a.getLength()-1);c=this.$size.scrollerHeight+a.getRowHeight(b,j)+c;b=this.scrollTop-m*this.lineHeight;this.layerConfig={width:f,padding:this.$padding,firstRow:k,firstRowScreen:m,lastRow:j,lineHeight:this.lineHeight,characterWidth:this.characterWidth,minHeight:c,maxHeight:e,offset:b,height:this.$size.scrollerHeight};this.$gutterLayer.element.style.marginTop=-b+"px";this.content.style.marginTop=-b+"px";this.content.style.width=f+"px";this.content.style.height=
c+"px";if(this.$desiredScrollLeft){this.scrollToX(this.$desiredScrollLeft);this.$desiredScrollLeft=0}if(g)this.onResize(true)};this.$updateLines=function(){var a=this.$changedLines.firstRow,b=this.$changedLines.lastRow;this.$changedLines=null;var c=this.layerConfig;if(c.width!=this.$getLongestLine())return this.$textLayer.update(c);if(!(a>c.lastRow+1||b<c.firstRow))if(b===Infinity){this.showGutter&&this.$gutterLayer.update(c);this.$textLayer.update(c)}else this.$textLayer.updateLines(c,a,b)};this.$getLongestLine=
function(){var a=this.session.getScreenWidth()+1;this.$textLayer.showInvisibles&&(a=a+1);return Math.max(this.$size.scrollerWidth,Math.round(a*this.characterWidth))};this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(true));this.$loop.schedule(this.CHANGE_MARKER_FRONT)};this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers());this.$loop.schedule(this.CHANGE_MARKER_BACK)};this.addGutterDecoration=function(a,b){this.$gutterLayer.addGutterDecoration(a,
b);this.$loop.schedule(this.CHANGE_GUTTER)};this.removeGutterDecoration=function(a,b){this.$gutterLayer.removeGutterDecoration(a,b);this.$loop.schedule(this.CHANGE_GUTTER)};this.setBreakpoints=function(a){this.$gutterLayer.setBreakpoints(a);this.$loop.schedule(this.CHANGE_GUTTER)};this.setAnnotations=function(a){this.$gutterLayer.setAnnotations(a);this.$loop.schedule(this.CHANGE_GUTTER)};this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)};this.hideCursor=function(){this.$cursorLayer.hideCursor()};
this.showCursor=function(){this.$cursorLayer.showCursor()};this.scrollCursorIntoView=function(){if(this.$size.scrollerHeight!==0){var a=this.$cursorLayer.getPixelPosition(),b=a.left+this.$padding,a=a.top;this.scrollTop>a&&this.scrollToY(a);this.scrollTop+this.$size.scrollerHeight<a+this.lineHeight&&this.scrollToY(a+this.lineHeight-this.$size.scrollerHeight);a=this.scroller.scrollLeft;a>b&&this.scrollToX(b);if(a+this.$size.scrollerWidth<b+this.characterWidth)b>this.layerConfig.width?this.$desiredScrollLeft=
b+2*this.characterWidth:this.scrollToX(Math.round(b+this.characterWidth-this.$size.scrollerWidth))}};this.getScrollTop=function(){return this.scrollTop};this.getScrollLeft=function(){return this.scroller.scrollLeft};this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight};this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)};this.scrollToRow=function(a){this.scrollToY(a*this.lineHeight)};this.scrollToLine=function(a,
b){for(var c={lineHeight:this.lineHeight},f=0,e=1;e<a;e++)f=f+this.session.getRowHeight(c,e-1);b&&(f=f-this.$size.scrollerHeight/2);this.scrollToY(f)};this.scrollToY=function(a){a=Math.max(0,a);if(this.scrollTop!==a){this.$loop.schedule(this.CHANGE_SCROLL);this.scrollTop=a}};this.scrollToX=function(a){a<=this.$padding&&(a=0);this.scroller.scrollLeft=a};this.scrollBy=function(a,b){b&&this.scrollToY(this.scrollTop+b);a&&this.scrollToX(this.scroller.scrollLeft+a)};this.screenToTextCoordinates=function(a,
c){var f=this.scroller.getBoundingClientRect(),e=Math.round((a+this.scroller.scrollLeft-f.left-this.$padding-b.getPageScrollLeft())/this.characterWidth);return this.session.screenToDocumentPosition(Math.floor((c+this.scrollTop-f.top-b.getPageScrollTop())/this.lineHeight),Math.max(e,0))};this.textToScreenCoordinates=function(a,b){var c=this.scroller.getBoundingClientRect(),f=this.session.documentToScreenPosition(a,b),e=this.$padding+Math.round(f.column*this.characterWidth),f=f.row*this.lineHeight;
return{pageX:c.left+e-this.getScrollLeft(),pageY:c.top+f-this.getScrollTop()}};this.visualizeFocus=function(){b.addCssClass(this.container,"ace_focus")};this.visualizeBlur=function(){b.removeCssClass(this.container,"ace_focus")};this.showComposition=function(){if(!this.$composition){this.$composition=b.createElement("div");this.$composition.className="ace_composition";this.content.appendChild(this.$composition)}this.$composition.innerHTML="&#160;";var a=this.$cursorLayer.getPixelPosition(),c=this.$composition.style;
c.top=a.top+"px";c.left=a.left+this.$padding+"px";c.height=this.lineHeight+"px";this.hideCursor()};this.setCompositionText=function(a){b.setInnerText(this.$composition,a)};this.hideComposition=function(){this.showCursor();if(this.$composition){var a=this.$composition.style;a.top="-10000px";a.left="-10000px"}};this.setTheme=function(a){function f(a){e.$theme&&b.removeCssClass(e.container,e.$theme);e.$theme=a?a.cssClass:null;e.$theme&&b.addCssClass(e.container,e.$theme);if(e.$size){e.$size.width=0;
e.onResize()}}var e=this;this.$themeValue=a;!a||typeof a=="string"?c([a||"ace/theme/textmate"],function(a){f(a)}):f(a)};this.getTheme=function(){return this.$themeValue};this.setStyle=function(a){b.addCssClass(this.container,a)};this.unsetStyle=function(a){b.removeCssClass(this.container,a)};this.destroy=function(){this.$textLayer.destroy();this.$cursorLayer.destroy()}}).call(t.prototype);m.VirtualRenderer=t});
define("ace/layer/gutter",["require","exports","module","pilot/dom"],function(c,m){var k=c("pilot/dom"),b=function(b){this.element=k.createElement("div");this.element.className="ace_layer ace_gutter-layer";b.appendChild(this.element);this.$breakpoints=[];this.$annotations=[];this.$decorations=[]};(function(){this.setSession=function(b){this.session=b};this.addGutterDecoration=function(b,c){this.$decorations[b]||(this.$decorations[b]="");this.$decorations[b]+=" ace_"+c};this.removeGutterDecoration=
function(b,c){this.$decorations[b]=this.$decorations[b].replace(" ace_"+c,"")};this.setBreakpoints=function(b){this.$breakpoints=b.concat()};this.setAnnotations=function(b){this.$annotations=[];for(var c in b)if(b.hasOwnProperty(c)){var j=b[c];if(j)for(var a=this.$annotations[c]={text:[]},f=0;f<j.length;f++){var k=j[f];a.text.push(k.text.replace(/"/g,"&quot;").replace(/'/g,"&#8217;").replace(/</,"&lt;"));k=k.type;"error"==k?a.className="ace_error":"warning"==k&&"ace_error"!=a.className?a.className=
"ace_warning":"info"==k&&!a.className&&(a.className="ace_info")}}};this.update=function(b){this.$config=b;for(var c={className:"",text:[]},j=[],a=b.firstRow,f=b.lastRow,m=this.session.getNextFold(a),v=m?m.start.row:Infinity;;){a>v&&(a=m.end.row+1,v=(m=this.session.getNextFold(a))?m.start.row:Infinity);if(a>f)break;var u=this.$annotations[a]||c;j.push("<div class='ace_gutter-cell",this.$decorations[a]||"",this.$breakpoints[a]?" ace_breakpoint ":" ",u.className,"' title='",u.text.join("\n"),"' style='height:",
b.lineHeight,"px;'>",a+1);for(u=this.session.getRowLength(a)-1;u--;)j.push("</div><div class='ace_gutter-cell' style='height:",b.lineHeight,"px'>&brvbar;</div>");j.push("</div>");a++}this.element=k.setInnerHtml(this.element,j.join(""));this.element.style.height=b.minHeight+"px"}}).call(b.prototype);m.Gutter=b});
define("ace/layer/marker",["require","exports","module","ace/range","pilot/dom"],function(c,m){var k=c("ace/range").Range,b=c("pilot/dom"),e=function(c){this.element=b.createElement("div");this.element.className="ace_layer ace_marker-layer";c.appendChild(this.element)};(function(){this.$padding=0;this.setPadding=function(b){this.$padding=b};this.setSession=function(b){this.session=b};this.setMarkers=function(b){this.markers=b};this.update=function(c){if(c=c||this.config){this.config=c;var e=[],a;
for(a in this.markers){var f=this.markers[a],k=f.range.clipRows(c.firstRow,c.lastRow);if(!k.isEmpty())if(k=k.toScreenRange(this.session),f.renderer){var m=this.$getTop(k.start.row,c),u=Math.round(this.$padding+k.start.column*c.characterWidth);f.renderer(e,k,u,m,c)}else k.isMultiLine()?"text"==f.type?this.drawTextMarker(e,k,f.clazz,c):this.drawMultiLineMarker(e,k,f.clazz,c,f.type):this.drawSingleLineMarker(e,k,f.clazz,c,null,f.type)}this.element=b.setInnerHtml(this.element,e.join(""))}};this.$getTop=
function(b,c){return(b-c.firstRowScreen)*c.lineHeight};this.drawTextMarker=function(b,c,a,f){var e=c.start.row,m=new k(e,c.start.column,e,this.session.getScreenLastRowColumn(e));this.drawSingleLineMarker(b,m,a,f,1,"text");e=c.end.row;m=new k(e,0,e,c.end.column);this.drawSingleLineMarker(b,m,a,f,0,"text");for(e=c.start.row+1;e<c.end.row;e++)m.start.row=e,m.end.row=e,m.end.column=this.session.getScreenLastRowColumn(e),this.drawSingleLineMarker(b,m,a,f,1,"text")};this.drawMultiLineMarker=function(b,
c,a,f,e){var e="background"===e?0:this.$padding,k=f.lineHeight,m=Math.round(f.width-c.start.column*f.characterWidth),s=this.$getTop(c.start.row,f),t=Math.round(e+c.start.column*f.characterWidth);b.push("<div class='",a,"' style='","height:",k,"px;","width:",m,"px;","top:",s,"px;","left:",t,"px;'></div>");s=this.$getTop(c.end.row,f);m=Math.round(c.end.column*f.characterWidth);b.push("<div class='",a,"' style='","height:",k,"px;","width:",m,"px;","top:",s,"px;","left:",e,"px;'></div>");k=(c.end.row-
c.start.row-1)*f.lineHeight;0>k||(s=this.$getTop(c.start.row+1,f),m=f.width,b.push("<div class='",a,"' style='","height:",k,"px;","width:",m,"px;","top:",s,"px;","left:",e,"px;'></div>"))};this.drawSingleLineMarker=function(b,c,a,f,e,k){var m="background"===k?0:this.$padding,s=f.lineHeight,e="background"===k?f.width:Math.round((c.end.column+(e||0)-c.start.column)*f.characterWidth),k=this.$getTop(c.start.row,f),c=Math.round(m+c.start.column*f.characterWidth);b.push("<div class='",a,"' style='","height:",
s,"px;","width:",e,"px;","top:",k,"px;","left:",c,"px;'></div>")}}).call(e.prototype);m.Marker=e});
define("ace/layer/text","require,exports,module,pilot/oop,pilot/dom,pilot/lang,pilot/useragent,pilot/event_emitter".split(","),function(c,m){var k=c("pilot/oop"),b=c("pilot/dom"),e=c("pilot/lang"),g=c("pilot/useragent"),j=c("pilot/event_emitter").EventEmitter,a=function(a){this.element=b.createElement("div");this.element.className="ace_layer ace_text-layer";this.element.style.width="auto";a.appendChild(this.element);this.$characterSize=this.$measureSizes()||{width:0,height:0};this.$pollSizeChanges()};
(function(){k.implement(this,j);this.EOF_CHAR="&para;";this.EOL_CHAR="&not;";this.TAB_CHAR="&rarr;";this.SPACE_CHAR="&middot;";this.$padding=0;this.setPadding=function(a){this.$padding=a;this.element.style.padding="0 "+a+"px"};this.getLineHeight=function(){return this.$characterSize.height||1};this.getCharacterWidth=function(){return this.$characterSize.width||1};this.checkForSizeChanges=function(){var a=this.$measureSizes();if(a&&(this.$characterSize.width!==a.width||this.$characterSize.height!==
a.height)){this.$characterSize=a;this._dispatchEvent("changeCharaterSize",{data:a})}};this.$pollSizeChanges=function(){var a=this;this.$pollSizeChangesTimer=setInterval(function(){a.checkForSizeChanges()},500)};this.$fontStyles={fontFamily:1,fontSize:1,fontWeight:1,fontStyle:1,lineHeight:1};this.$measureSizes=function(){if(!this.$measureNode){var a=this.$measureNode=b.createElement("div"),c=a.style;c.width=c.height="auto";c.left=c.top="-40000px";c.visibility="hidden";c.position="absolute";c.overflow=
"visible";c.whiteSpace="nowrap";a.innerHTML=e.stringRepeat("Xy",1E3);if(document.body)document.body.appendChild(a);else{for(c=this.element.parentNode;!b.hasCssClass(c,"ace_editor");)c=c.parentNode;c.appendChild(a)}}var c=this.$measureNode.style,a=b.computedStyle(this.element),g;for(g in this.$fontStyles)c[g]=a[g];g={height:this.$measureNode.offsetHeight,width:this.$measureNode.offsetWidth/2E3};return g.width==0&&g.height==0?null:g};this.setSession=function(a){this.session=a};this.showInvisibles=false;
this.setShowInvisibles=function(a){if(this.showInvisibles==a)return false;this.showInvisibles=a;return true};this.$tabStrings=[];this.$computeTabString=function(){for(var a=this.session.getTabSize(),b=this.$tabStrings=[0],c=1;c<a+1;c++)this.showInvisibles?b.push("<span class='ace_invisible'>"+this.TAB_CHAR+Array(c).join("&#160;")+"</span>"):b.push(Array(c+1).join("&#160;"))};this.updateLines=function(a,c,e){this.$computeTabString();(this.config.lastRow!=a.lastRow||this.config.firstRow!=a.firstRow)&&
this.scrollLines(a);this.config=a;for(var g=Math.max(c,a.firstRow),e=Math.min(e,a.lastRow),c=this.element.childNodes,j=0,a=a.firstRow;a<g;a++){var k=this.session.getFoldLine(a);if(k)if(k.containsRow(g))break;else a=k.end.row;j++}for(;g<=e;g++)if(a=c[j++]){var k=[],m=this.session.getTokens(g,g);this.$renderLine(k,g,m[0].tokens,true);b.setInnerHtml(a,k.join(""));g=this.session.getRowFoldEnd(g)}};this.scrollLines=function(a){this.$computeTabString();var b=this.config;this.config=a;if(!b||b.lastRow<a.firstRow||
a.lastRow<b.firstRow)return this.update(a);var c=this.element;if(b.firstRow<a.firstRow)for(var e=this.session.getFoldedRowCount(b.firstRow,a.firstRow-1);e>0;e--)c.removeChild(c.firstChild);if(b.lastRow>a.lastRow)for(e=this.session.getFoldedRowCount(a.lastRow+1,b.lastRow);e>0;e--)c.removeChild(c.lastChild);if(a.firstRow<b.firstRow){e=this.$renderLinesFragment(a,a.firstRow,b.firstRow-1);c.firstChild?c.insertBefore(e,c.firstChild):c.appendChild(e)}if(a.lastRow>b.lastRow){e=this.$renderLinesFragment(a,
b.lastRow+1,a.lastRow);c.appendChild(e)}};this.$renderLinesFragment=function(a,c,e){for(var a=document.createDocumentFragment(),g=this.session.getNextFold(c),j=g?g.start.row:Infinity;;){if(c>j){c=g.end.row+1;j=(g=this.session.getNextFold(c))?g.start.row:Infinity}if(c>e)break;var k=b.createElement("div"),m=[],q=this.session.getTokens(c,c);q.length==1&&this.$renderLine(m,c,q[0].tokens,false);k.innerHTML=m.join("");for(k=k.childNodes;k.length;)a.appendChild(k[0]);c++}return a};this.update=function(a){this.$computeTabString();
this.config=a;for(var c=[],e=a.lastRow,a=a.firstRow,g=this.session.getNextFold(a),j=g?g.start.row:Infinity;;){if(a>j){a=g.end.row+1;j=(g=this.session.getNextFold(a))?g.start.row:Infinity}if(a>e)break;var k=this.session.getTokens(a,a);k.length==1&&this.$renderLine(c,a,k[0].tokens,false);a++}this.element=b.setInnerHtml(this.element,c.join(""))};this.$textToken={text:true,rparen:true,lparen:true};this.$renderToken=function(a,b,c,e){var j=this,k=e.replace(/\t|&|<|( +)|([\v\f \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000])|[\u1100-\u115F]|[\u11A3-\u11A7]|[\u11FA-\u11FF]|[\u2329-\u232A]|[\u2E80-\u2E99]|[\u2E9B-\u2EF3]|[\u2F00-\u2FD5]|[\u2FF0-\u2FFB]|[\u3000-\u303E]|[\u3041-\u3096]|[\u3099-\u30FF]|[\u3105-\u312D]|[\u3131-\u318E]|[\u3190-\u31BA]|[\u31C0-\u31E3]|[\u31F0-\u321E]|[\u3220-\u3247]|[\u3250-\u32FE]|[\u3300-\u4DBF]|[\u4E00-\uA48C]|[\uA490-\uA4C6]|[\uA960-\uA97C]|[\uAC00-\uD7A3]|[\uD7B0-\uD7C6]|[\uD7CB-\uD7FB]|[\uF900-\uFAFF]|[\uFE10-\uFE19]|[\uFE30-\uFE52]|[\uFE54-\uFE66]|[\uFE68-\uFE6B]|[\uFF01-\uFF60]|[\uFFE0-\uFFE6]/g,
function(a,c,f,e){if(a.charCodeAt(0)==32)return Array(a.length+1).join("&#160;");if(a=="\t"){a=j.session.getScreenTabSize(b+e);b=b+(a-1);return j.$tabStrings[a]}if(a=="&")return g.isOldGecko?"&":"&amp;";if(a=="<")return"&lt;";if(a.match(/[\v\f \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000]/))return j.showInvisibles?"<span class='ace_invisible'>"+Array(a.length+1).join(j.SPACE_CHAR)+"</span>":"&#160;";b=b+1;return"<span class='ace_cjk' style='width:"+
j.config.characterWidth*2+"px'>"+a+"</span>"});if(this.$textToken[c.type])a.push(k);else{c="ace_"+c.type.replace(/\./g," ace_");a.push("<span class='",c,"'>",k,"</span>")}return b+e.length};this.$renderLineCore=function(a,b,c,e,g){var j=0,k=0,m,x=0;m=!e||e.length==0?Number.MAX_VALUE:e[0];g||a.push("<div class='ace_line' style='height:",this.config.lineHeight,"px","'>");for(var A=0;A<c.length;A++){var B=c[A],r=B.value;if(j+r.length<m){x=this.$renderToken(a,x,B,r);j=j+r.length}else{for(;j+r.length>=
m;){this.$renderToken(a,x,B,r.substring(0,m-j));r=r.substring(m-j);j=m;g||a.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px","'>");k++;x=0;m=e[k]||Number.MAX_VALUE}if(r.length!=0){j=j+r.length;x=this.$renderToken(a,x,B,r)}}}this.showInvisibles&&(b!==this.session.getLength()-1?a.push("<span class='ace_invisible'>"+this.EOL_CHAR+"</span>"):a.push("<span class='ace_invisible'>"+this.EOF_CHAR+"</span>"));a.push("</div>")};this.$renderLine=function(a,b,c,e){if(this.session.isRowFolded(b))this.$renderFoldLine(a,
b,c,e);else{var g=this.session.getRowSplitData(b);this.$renderLineCore(a,b,c,g,e)}};this.$renderFoldLine=function(a,b,c,e){var g=this.session.getFoldLine(b),j=[];g.walk(function(a,b,f,e,g){if(a)j.push({type:"fold",value:a});else{if(g)c=this.session.getTokens(b,b)[0].tokens;if(c.length!=0)a:{a=c;for(g=b=0;g+a[b].value.length<e;){g=g+a[b].value.length;b++;if(b==a.length)break a}if(g!=e){var k=a[b].value.substring(e-g);k.length>f-e&&(k=k.substring(0,f-e));j.push({type:a[b].type,value:k});g=e+k.length;
b=b+1}for(;g<f;){k=a[b].value;k.length+g>f&&(k=k.substring(0,f-g));j.push({type:a[b].type,value:k});g=g+k.length;b=b+1}}}}.bind(this),g.end.row,this.session.getLine(g.end.row).length);this.$renderLineCore(a,b,j,this.session.$useWrapMode?this.session.$wrapData[b]:null,e)};this.destroy=function(){clearInterval(this.$pollSizeChangesTimer);this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode);delete this.$measureNode}}).call(a.prototype);m.Text=a});
define("ace/layer/cursor",["require","exports","module","pilot/dom"],function(c,m){var k=c("pilot/dom"),b=function(b){this.element=k.createElement("div");this.element.className="ace_layer ace_cursor-layer";b.appendChild(this.element);this.cursor=k.createElement("div");this.cursor.className="ace_cursor ace_hidden";this.element.appendChild(this.cursor);this.isVisible=!1};(function(){this.$padding=0;this.setPadding=function(b){this.$padding=b};this.setSession=function(b){this.session=b};this.hideCursor=
function(){this.isVisible=!1;k.addCssClass(this.cursor,"ace_hidden");clearInterval(this.blinkId)};this.showCursor=function(){this.isVisible=!0;k.removeCssClass(this.cursor,"ace_hidden");this.cursor.style.visibility="visible";this.restartTimer()};this.restartTimer=function(){clearInterval(this.blinkId);if(this.isVisible){var b=this.cursor;this.blinkId=setInterval(function(){b.style.visibility="hidden";setTimeout(function(){b.style.visibility="visible"},400)},1E3)}};this.getPixelPosition=function(b){if(!this.config||
!this.session)return{left:0,top:0};var c=this.session.documentToScreenPosition(this.session.selection.getCursor());return{left:Math.round(this.$padding+c.column*this.config.characterWidth),top:(c.row-(b?this.config.firstRowScreen:0))*this.config.lineHeight}};this.update=function(b){this.config=b;this.pixelPos=this.getPixelPosition(!0);this.cursor.style.left=this.pixelPos.left+"px";this.cursor.style.top=this.pixelPos.top+"px";this.cursor.style.width=b.characterWidth+"px";this.cursor.style.height=b.lineHeight+
"px";b=this.session.getOverwrite();b!=this.overwrite&&((this.overwrite=b)?k.addCssClass(this.cursor,"ace_overwrite"):k.removeCssClass(this.cursor,"ace_overwrite"));this.restartTimer()};this.destroy=function(){clearInterval(this.blinkId)}}).call(b.prototype);m.Cursor=b});
define("ace/scrollbar","require,exports,module,pilot/oop,pilot/dom,pilot/event,pilot/event_emitter".split(","),function(c,m){var k=c("pilot/oop"),b=c("pilot/dom"),e=c("pilot/event"),g=c("pilot/event_emitter").EventEmitter,j=function(a){this.element=b.createElement("div");this.element.className="ace_sb";this.inner=b.createElement("div");this.element.appendChild(this.inner);a.appendChild(this.element);this.width=b.scrollbarWidth();this.element.style.width=(this.width||15)+"px";e.addListener(this.element,
"scroll",this.onScroll.bind(this))};(function(){k.implement(this,g);this.onScroll=function(){this._dispatchEvent("scroll",{data:this.element.scrollTop})};this.getWidth=function(){return this.width};this.setHeight=function(a){this.element.style.height=a+"px"};this.setInnerHeight=function(a){this.inner.style.height=a+"px"};this.setScrollTop=function(a){this.element.scrollTop=a}}).call(j.prototype);m.ScrollBar=j});
define("ace/renderloop",["require","exports","module","pilot/event"],function(c,m){var k=c("pilot/event"),b=function(b){this.onRender=b;this.pending=!1;this.changes=0};(function(){this.schedule=function(b){this.changes|=b;if(!this.pending){this.pending=!0;var c=this;this.setTimeoutZero(function(){c.pending=!1;var b=c.changes;c.changes=0;c.onRender(b)})}};(this.setTimeoutZero=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||
window.msRequestAnimationFrame)?this.setTimeoutZero=this.setTimeoutZero.bind(window):window.postMessage?(this.messageName="zero-timeout-message",this.setTimeoutZero=function(b){if(!this.attached){var c=this;k.addListener(window,"message",function(b){c.callback&&b.data==c.messageName&&(k.stopPropagation(b),c.callback())});this.attached=!0}this.callback=b;window.postMessage(this.messageName,"*")}):this.setTimeoutZero=function(b){setTimeout(b,0)}}).call(b.prototype);m.RenderLoop=b});
define("ace/theme/textmate",["require","exports","module","pilot/dom"],function(c,m){c("pilot/dom").importCssString(".ace-tm .ace_editor {  border: 2px solid rgb(159, 159, 159);}.ace-tm .ace_editor.ace_focus {  border: 2px solid #327fbd;}.ace-tm .ace_gutter {  width: 50px;  background: #e8e8e8;  color: #333;  overflow : hidden;}.ace-tm .ace_gutter-layer {  width: 100%;  text-align: right;}.ace-tm .ace_gutter-layer .ace_gutter-cell {  padding-right: 6px;}.ace-tm .ace_print_margin {  width: 1px;  background: #e8e8e8;}.ace-tm .ace_text-layer {  cursor: text;}.ace-tm .ace_cursor {  border-left: 2px solid black;}.ace-tm .ace_cursor.ace_overwrite {  border-left: 0px;  border-bottom: 1px solid black;}        .ace-tm .ace_line .ace_invisible {  color: rgb(191, 191, 191);}.ace-tm .ace_line .ace_keyword {  color: blue;}.ace-tm .ace_line .ace_constant.ace_buildin {  color: rgb(88, 72, 246);}.ace-tm .ace_line .ace_constant.ace_language {  color: rgb(88, 92, 246);}.ace-tm .ace_line .ace_constant.ace_library {  color: rgb(6, 150, 14);}.ace-tm .ace_line .ace_invalid {  background-color: rgb(153, 0, 0);  color: white;}.ace-tm .ace_line .ace_fold {    background-color: #E4E4E4;    border-radius: 3px;}.ace-tm .ace_line .ace_support.ace_function {  color: rgb(60, 76, 114);}.ace-tm .ace_line .ace_support.ace_constant {  color: rgb(6, 150, 14);}.ace-tm .ace_line .ace_support.ace_type,.ace-tm .ace_line .ace_support.ace_class {  color: rgb(109, 121, 222);}.ace-tm .ace_line .ace_keyword.ace_operator {  color: rgb(104, 118, 135);}.ace-tm .ace_line .ace_string {  color: rgb(3, 106, 7);}.ace-tm .ace_line .ace_comment {  color: rgb(76, 136, 107);}.ace-tm .ace_line .ace_comment.ace_doc {  color: rgb(0, 102, 255);}.ace-tm .ace_line .ace_comment.ace_doc.ace_tag {  color: rgb(128, 159, 191);}.ace-tm .ace_line .ace_constant.ace_numeric {  color: rgb(0, 0, 205);}.ace-tm .ace_line .ace_variable {  color: rgb(49, 132, 149);}.ace-tm .ace_line .ace_xml_pe {  color: rgb(104, 104, 91);}.ace-tm .ace_marker-layer .ace_selection {  background: rgb(181, 213, 255);}.ace-tm .ace_marker-layer .ace_step {  background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {  background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {  margin: -1px 0 0 -1px;  border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active_line {  background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_marker-layer .ace_selected_word {  background: rgb(250, 250, 255);  border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_string.ace_regex {  color: rgb(255, 0, 0)}");
m.cssClass="ace-tm"});define("pilot/environment",["require","exports","module","pilot/settings"],function(c,m){var k=c("pilot/settings").settings;m.create=function(){return{settings:k}}});define("text/cockpit/ui/cli_view.css",[],"#cockpitInput { padding-left: 16px; }.cptOutput { overflow: auto; position: absolute; z-index: 999; display: none; }.cptCompletion { padding: 0; position: absolute; z-index: -1000; }.cptCompletion.VALID { background: #FFF; }.cptCompletion.INCOMPLETE { background: #DDD; }.cptCompletion.INVALID { background: #DDD; }.cptCompletion span { color: #FFF; }.cptCompletion span.INCOMPLETE { color: #DDD; border-bottom: 2px dotted #F80; }.cptCompletion span.INVALID { color: #DDD; border-bottom: 2px dotted #F00; }span.cptPrompt { color: #66F; font-weight: bold; }.cptHints {  color: #000;  position: absolute;  border: 1px solid rgba(230, 230, 230, 0.8);  background: rgba(250, 250, 250, 0.8);  -moz-border-radius-topleft: 10px;  -moz-border-radius-topright: 10px;  border-top-left-radius: 10px; border-top-right-radius: 10px;  z-index: 1000;  padding: 8px;  display: none;}.cptFocusPopup { display: block; }.cptFocusPopup.cptNoPopup { display: none; }.cptHints ul { margin: 0; padding: 0 15px; }.cptGt { font-weight: bold; font-size: 120%; }");
define("text/cockpit/ui/request_view.css",[],".cptRowIn {  display: box; display: -moz-box; display: -webkit-box;  box-orient: horizontal; -moz-box-orient: horizontal; -webkit-box-orient: horizontal;  box-align: center; -moz-box-align: center; -webkit-box-align: center;  color: #333;  background-color: #EEE;  width: 100%;  font-family: consolas, courier, monospace;}.cptRowIn > * { padding-left: 2px; padding-right: 2px; }.cptRowIn > img { cursor: pointer; }.cptHover { display: none; }.cptRowIn:hover > .cptHover { display: block; }.cptRowIn:hover > .cptHover.cptHidden { display: none; }.cptOutTyped {  box-flex: 1; -moz-box-flex: 1; -webkit-box-flex: 1;  font-weight: bold; color: #000; font-size: 120%;}.cptRowOutput { padding-left: 10px; line-height: 1.2em; }.cptRowOutput strong,.cptRowOutput b,.cptRowOutput th,.cptRowOutput h1,.cptRowOutput h2,.cptRowOutput h3 { color: #000; }.cptRowOutput a { font-weight: bold; color: #666; text-decoration: none; }.cptRowOutput a: hover { text-decoration: underline; cursor: pointer; }.cptRowOutput input[type=password],.cptRowOutput input[type=text],.cptRowOutput textarea {  color: #000; font-size: 120%;  background: transparent; padding: 3px;  border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;}.cptRowOutput table,.cptRowOutput td,.cptRowOutput th { border: 0; padding: 0 2px; }.cptRowOutput .right { text-align: right; }");
define("text/ace/css/editor.css",[],'.ace_editor {    position: absolute;    overflow: hidden;    font-family: Monaco, "Menlo", "Courier New", monospace;    font-size: 12px;}.ace_scroller {    position: absolute;    overflow-x: scroll;    overflow-y: hidden;}.ace_content {    position: absolute;    box-sizing: border-box;    -moz-box-sizing: border-box;    -webkit-box-sizing: border-box;}.ace_composition {    position: absolute;    background: #555;    color: #DDD;    z-index: 4;}.ace_gutter {    position: absolute;    overflow-x: hidden;    overflow-y: hidden;    height: 100%;}.ace_gutter-cell.ace_error {    background-image: url("data:image/gif,GIF89a%10%00%10%00%D5%00%00%F5or%F5%87%88%F5nr%F4ns%EBmq%F5z%7F%DDJT%DEKS%DFOW%F1Yc%F2ah%CE(7%CE)8%D18E%DD%40M%F2KZ%EBU%60%F4%60m%DCir%C8%16(%C8%19*%CE%255%F1%3FR%F1%3FS%E6%AB%B5%CA%5DI%CEn%5E%F7%A2%9A%C9G%3E%E0a%5B%F7%89%85%F5yy%F6%82%80%ED%82%80%FF%BF%BF%E3%C4%C4%FF%FF%FF%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%00%25%00%2C%00%00%00%00%10%00%10%00%00%06p%C0%92pH%2C%1A%8F%C8%D2H%93%E1d4%23%E4%88%D3%09mB%1DN%B48%F5%90%40%60%92G%5B%94%20%3E%22%D2%87%24%FA%20%24%C5%06A%00%20%B1%07%02B%A38%89X.v%17%82%11%13q%10%0Fi%24%0F%8B%10%7BD%12%0Ei%09%92%09%0EpD%18%15%24%0A%9Ci%05%0C%18F%18%0B%07%04%01%04%06%A0H%18%12%0D%14%0D%12%A1I%B3%B4%B5IA%00%3B");    background-repeat: no-repeat;    background-position: 4px center;}.ace_gutter-cell.ace_warning {    background-image: url("data:image/gif,GIF89a%10%00%10%00%D5%00%00%FF%DBr%FF%DE%81%FF%E2%8D%FF%E2%8F%FF%E4%96%FF%E3%97%FF%E5%9D%FF%E6%9E%FF%EE%C1%FF%C8Z%FF%CDk%FF%D0s%FF%D4%81%FF%D5%82%FF%D5%83%FF%DC%97%FF%DE%9D%FF%E7%B8%FF%CCl%7BQ%13%80U%15%82W%16%81U%16%89%5B%18%87%5B%18%8C%5E%1A%94d%1D%C5%83-%C9%87%2F%C6%84.%C6%85.%CD%8B2%C9%871%CB%8A3%CD%8B5%DC%98%3F%DF%9BB%E0%9CC%E1%A5U%CB%871%CF%8B5%D1%8D6%DB%97%40%DF%9AB%DD%99B%E3%B0p%E7%CC%AE%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%00%2F%00%2C%00%00%00%00%10%00%10%00%00%06a%C0%97pH%2C%1A%8FH%A1%ABTr%25%87%2B%04%82%F4%7C%B9X%91%08%CB%99%1C!%26%13%84*iJ9(%15G%CA%84%14%01%1A%97%0C%03%80%3A%9A%3E%81%84%3E%11%08%B1%8B%20%02%12%0F%18%1A%0F%0A%03\'F%1C%04%0B%10%16%18%10%0B%05%1CF%1D-%06%07%9A%9A-%1EG%1B%A0%A1%A0U%A4%A5%A6BA%00%3B");    background-repeat: no-repeat;    background-position: 4px center;}.ace_editor .ace_sb {    position: absolute;    overflow-x: hidden;    overflow-y: scroll;    right: 0;}.ace_editor .ace_sb div {    position: absolute;    width: 1px;    left: 0;}.ace_editor .ace_print_margin_layer {    z-index: 0;    position: absolute;    overflow: hidden;    margin: 0;    left: 0;    height: 100%;    width: 100%;}.ace_editor .ace_print_margin {    position: absolute;    height: 100%;}.ace_editor textarea {    position: fixed;    z-index: -1;    width: 10px;    height: 30px;    opacity: 0;    background: transparent;    appearance: none;    -moz-appearance: none;    border: none;    resize: none;    outline: none;    overflow: hidden;}.ace_layer {    z-index: 1;    position: absolute;    overflow: hidden;    white-space: nowrap;    height: 100%;    width: 100%;}.ace_text-layer {    color: black;}.ace_cjk {    display: inline-block;    text-align: center;}.ace_cursor-layer {    z-index: 4;    cursor: text;    /* setting pointer-events: none; here will break mouse wheel scrolling in Safari */}.ace_cursor {    z-index: 4;    position: absolute;}.ace_cursor.ace_hidden {    opacity: 0.2;}.ace_line {    white-space: nowrap;}.ace_marker-layer {    cursor: text;    pointer-events: none;}.ace_marker-layer .ace_step {    position: absolute;    z-index: 3;}.ace_marker-layer .ace_selection {    position: absolute;    z-index: 4;}.ace_marker-layer .ace_bracket {    position: absolute;    z-index: 5;}.ace_marker-layer .ace_active_line {    position: absolute;    z-index: 2;}.ace_marker-layer .ace_selected_word {    position: absolute;    z-index: 6;    box-sizing: border-box;    -moz-box-sizing: border-box;    -webkit-box-sizing: border-box;}.ace_line .ace_fold {    cursor: pointer;}.ace_dragging .ace_marker-layer, .ace_dragging .ace_text-layer {  cursor: move;}');
define("text/build/demo/styles.css",[],"html {    height: 100%;    width: 100%;    overflow: hidden;}body {    overflow: hidden;    margin: 0;    padding: 0;    height: 100%;    width: 100%;    font-family: Arial, Helvetica, sans-serif, Tahoma, Verdana, sans-serif;    font-size: 12px;    background: rgb(14, 98, 165);    color: white;}#logo {    padding: 15px;    margin-left: 65px;}#editor {    position: absolute;    top:  0px;    left: 280px;    bottom: 0px;    right: 0px;    background: white;}#controls {    padding: 5px;}#controls td {    text-align: right;}#controls td + td {    text-align: left;}#cockpitInput {    position: absolute;    left: 280px;    right: 0px;    bottom: 0;    border: none; outline: none;    font-family: consolas, courier, monospace;    font-size: 120%;}#cockpitOutput {    padding: 10px;    margin: 0 15px;    border: 1px solid #AAA;    -moz-border-radius-topleft: 10px;    -moz-border-radius-topright: 10px;    border-top-left-radius: 4px; border-top-right-radius: 4px;    background: #DDD; color: #000;}");
define("text/build_support/style.css",[],"body {    margin:0;    padding:0;    background-color:#e6f5fc;    }H2, H3, H4 {    font-family:Trebuchet MS;    font-weight:bold;    margin:0;    padding:0;}H2 {    font-size:28px;    color:#263842;    padding-bottom:6px;}H3 {    font-family:Trebuchet MS;    font-weight:bold;    font-size:22px;    color:#253741;    margin-top:43px;    margin-bottom:8px;}H4 {    font-family:Trebuchet MS;    font-weight:bold;    font-size:21px;    color:#222222;    margin-bottom:4px;}P {    padding:13px 0;    margin:0;    line-height:22px;}UL{    line-height : 22px;}PRE{    background : #333;    color : white;    padding : 10px;}#header {    height : 227px;    position:relative;    overflow:hidden;    background: url(images/background.png) repeat-x 0 0;    border-bottom:1px solid #c9e8fa;   }#header .content .signature {    font-family:Trebuchet MS;    font-size:11px;    color:#ebe4d6;    position:absolute;    bottom:5px;    right:42px;    letter-spacing : 1px;}.content {    width:970px;    position:relative;    overflow:hidden;    margin:0 auto;}#header .content {    height:184px;    margin-top:22px;}#header .content .logo {    width  : 282px;    height : 184px;    background:url(images/logo.png) no-repeat 0 0;    position:absolute;    top:0;    left:0;}#header .content .title {    width  : 605px;    height : 58px;    background:url(images/ace.png) no-repeat 0 0;    position:absolute;    top:98px;    left:329px;}#wrapper {    background:url(images/body_background.png) repeat-x 0 0;    min-height:250px;}#wrapper .content {    font-family:Arial;    font-size:14px;    color:#222222;    width:1000px;}#wrapper .content .column1 {    position:relative;    overflow:hidden;    float:left;    width:315px;    margin-right:31px;}#wrapper .content .column2 {    position:relative;    overflow:hidden;    float:left;    width:600px;    padding-top:47px;}.fork_on_github {    width:310px;    height:80px;    background:url(images/fork_on_github.png) no-repeat 0 0;    position:relative;    overflow:hidden;    margin-top:49px;    cursor:pointer;}.fork_on_github:hover {    background-position:0 -80px;}.divider {    height:3px;    background-color:#bedaea;    margin-bottom:3px;}.menu {    padding:23px 0 0 24px;}UL.content-list {    padding:15px;    margin:0;}UL.menu-list {    padding:0;    margin:0 0 20px 0;    list-style-type:none;    line-height : 16px;}UL.menu-list LI {    color:#2557b4;    font-family:Trebuchet MS;    font-size:14px;    padding:7px 0;    border-bottom:1px dotted #d6e2e7;}UL.menu-list LI:last-child {    border-bottom:0;}A {    color:#2557b4;    text-decoration:none;}A:hover {    text-decoration:underline;}P#first{    background : rgba(255,255,255,0.5);    padding : 20px;    font-size : 16px;    line-height : 24px;    margin : 0 0 20px 0;}#footer {    height:40px;    position:relative;    overflow:hidden;    background:url(images/bottombar.png) repeat-x 0 0;    position:relative;    margin-top:40px;}UL.menu-footer {    padding:0;    margin:8px 11px 0 0;    list-style-type:none;    float:right;}UL.menu-footer LI {    color:white;    font-family:Arial;    font-size:12px;    display:inline-block;    margin:0 1px;}UL.menu-footer LI A {    color:#8dd0ff;    text-decoration:none;}UL.menu-footer LI A:hover {    text-decoration:underline;}");
define("text/demo/styles.css",[],"html {    height: 100%;    width: 100%;    overflow: hidden;}body {    overflow: hidden;    margin: 0;    padding: 0;    height: 100%;    width: 100%;    font-family: Arial, Helvetica, sans-serif, Tahoma, Verdana, sans-serif;    font-size: 12px;    background: rgb(14, 98, 165);    color: white;}#logo {    padding: 15px;    margin-left: 65px;}#editor {    position: absolute;    top:  0px;    left: 280px;    bottom: 0px;    right: 0px;    background: white;}#controls {    padding: 5px;}#controls td {    text-align: right;}#controls td + td {    text-align: left;}#cockpitInput {    position: absolute;    left: 280px;    right: 0px;    bottom: 0;    border: none; outline: none;    font-family: consolas, courier, monospace;    font-size: 120%;}#cockpitOutput {    padding: 10px;    margin: 0 15px;    border: 1px solid #AAA;    -moz-border-radius-topleft: 10px;    -moz-border-radius-topright: 10px;    border-top-left-radius: 4px; border-top-right-radius: 4px;    background: #DDD; color: #000;}");
define("text/deps/csslint/demos/demo.css",[],'@charset "UTF-8";@import url("booya.css") print,screen;@import "whatup.css" screen;@import "wicked.css";@namespace "http://www.w3.org/1999/xhtml";@namespace svg "http://www.w3.org/2000/svg";li.inline #foo {  background: url("something.png");  display: inline;  padding-left: 3px;  padding-right: 7px;  border-right: 1px dotted #066;}li.last.first {  display: inline;  padding-left: 3px !important;  padding-right: 3px;  border-right: 0px;}@media print {    li.inline {      color: black;    }@charset "UTF-8"; @page {  margin: 10%;  counter-increment: page;  @top-center {    font-family: sans-serif;    font-weight: bold;    font-size: 2em;    content: counter(page);  }}');
define("text/deps/requirejs/dist/ie.css",[],"body .sect {    display: none;}#content ul.index {    list-style: none;}");define("text/deps/requirejs/dist/main.css",[],'@font-face {    font-family: Inconsolata;    src: url("fonts/Inconsolata.ttf");}* {    -moz-box-sizing: border-box;    -webkit-box-sizing: border-box;    box-sizing: border-box;    margin: 0;    padding: 0;}body {    font-size: 12px;    line-height: 21px;    background-color: #fff;    font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;    color: #0a0a0a;}#wrapper {    margin: 0;}#grid {    position: fixed;    top: 0;    left: 0;    width: 796px;    background-image: url("i/grid.png");    z-index: 100;}pre {    line-height: 18px;    font-size: 13px;    margin: 7px 0 21px;    padding: 5px 10px;    overflow: auto;    background-color: #fafafa;    border: 1px solid #e6e6e6;    -moz-border-radius: 5px;    -webkit-border-radius: 5px;    border-radius: 5px;    -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);    -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);}/*    typography stuff*/.mono {    font-family: "Inconsolata", Andale Mono, Monaco, Monospace;}.sans {    font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}.serif {    font-family: "Georgia", Times New Roman, Times, serif;}a {    color: #2e87dd;    text-decoration: none;}a:hover {    text-decoration: underline;}/*    navigation*/#navBg {    background-color: #f2f2f2;    background-image: url("i/shadow.png");    background-position: right top;    background-repeat: repeat-y;    width: 220px;    position: fixed;    top: 0;    left: 0;    z-index: 0;}#nav {    background-image: url("i/logo.png");    background-repeat: no-repeat;    background-position: center 10px;    width: 220px;    float: left;    margin: 0;    padding: 150px 20px 0;    font-size: 13px;    text-shadow: 1px 1px #fff;    position: relative;    z-index: 1;}#nav .homeImageLink {    position: absolute;    display: block;    top: 10px;    left: 0;    width: 220px;    height: 138px;}#nav ul {    list-style-type:none;    padding: 0;    margin: 21px 0 0 0;}#nav ul li {    width: 100%;}#nav ul li.version {    text-align: center;    color: #4d4d4d;}#nav h1 {    color: #4d4d4d;    text-align: center;    font-size: 15px;    font-weight: normal;    text-transform: uppercase;    letter-spacing: 3px;}span.spacer {    color: #2e87dd;    margin: 0 3px 0 5px;    background-image: url("i/dot.png");    background-repeat: repeat-x;    background-position: left 13px;}/*    icons*/span.icon {    width: 16px;    display: block;    background-image: url("i/sprite.png");    background-repeat: no-repeat;}span.icon.home {    background-position: center 5px;}span.icon.start {    background-position: center -27px;}span.icon.download {    background-position: center -59px;}span.icon.api {    background-position: center -89px;}span.icon.optimize {    background-position: center -119px;}span.icon.script {    background-position: center -150px;}span.icon.question {    background-position: center -182px;}span.icon.requirement {    background-position: center -214px;}span.icon.history {    background-position: center -247px;}span.icon.help {    background-position: center -279px;}span.icon.blog {    background-position: center -311px;}span.icon.twitter {    background-position: center -343px;}span.icon.git {    background-position: center -375px;}span.icon.fork {    background-position: center -407px;}/*    content*/#content {    margin: 0 0 0 220px;    padding: 0 20px;    background-color: #fff;    font-family: "Georgia", Times New Roman, Times, serif;    position: relative;}#content p {    padding: 7px 0;    color: #333;    font-size: 14px;}#content h1,#content h2,#content h3,#content h4,#content h5 {    font-weight: normal;    padding: 21px 0 7px;}#content h1 {    font-size: 21px;}#content h2 {    padding: 0 0 18px 0;    margin: 0 0 7px 0;    font-weight: normal;    font-size: 21px;    line-height: 24px;    text-align: center;    color: #222;    background-image: url("i/arrow.png");    background-repeat: no-repeat;    background-position: center bottom;    font-family: "Inconsolata", Andale Mono, Monaco, Monospace;    text-transform: uppercase;    letter-spacing: 2px;    text-shadow: 1px 1px 0 #fff;}#content h2 a {    color: #222;}#content h2 a:hover,#content h3 a:hover,#content h4 a:hover {    text-decoration: none;}span.sectionMark {    display: block;    color: #aaa;    text-shadow: 1px 1px 0 #fff;    font-size: 15px;    font-family: "Inconsolata", Andale Mono, Monaco, Monospace;}#content h3 {    font-size: 17px;}#content h4 {    padding-top: 0;    font-size: 15px;}#content h5 {    font-size: 10px;}#content ul {    list-style-type: disc;}#content ul,#content ol {    /* border-left: 1px solid #333; */    color: #333;    font-size: 14px;    list-style-position: outside;    margin: 7px 0 21px 0;    /* padding: 0 0 0 28px; */}#content ul {    font-style: italic;}#content ol {    border: none;    list-style-position: inside;    padding: 0;    font-family: "Georgia", Times New Roman, Times, serif;}#content ul ul,#content ol ol {    border: none;    padding: 0;    margin: 0 0 0 28px;}#content .section {    padding: 48px 0;    background-image: url("i/line.png");    background-repeat: no-repeat;    background-position: center bottom;    width: 576px;    margin: 0 auto;}#content .section .subSection {    padding: 0 0 0 48px;    margin: 28px 0 0 0;    display: block;    border-left: 2px solid #ddd;}#content .section:last-child {    background-image: none;}#content .note {    color: #222;    background-color: #ffff99;    padding: 5px 10px;    margin: 7px 0;    display: inline-block;}/*    page directory*/#content #directory.section {    background-color: #fff;    width: 576px;}#content #directory.section ul ul ul {    margin: 0 0 0 48px;}#content #directory.section ul ul li {    background-image: url("i/sprite.png");    background-repeat: no-repeat;    background-position: left -437px;    padding-left: 18px;    font-style: normal;}#content #directory h1 {    padding: 0 0 65px 0;    margin: 0 0 14px 0;    font-weight: normal;    font-size: 21px;    text-align: center;    text-transform: uppercase;    letter-spacing: 2px;    color: #222;    background-image: url("i/arrow-x.png");    background-repeat: no-repeat;    background-position: center bottom;    font-family: "Inconsolata", Andale Mono, Monaco, Monospace;}#content ul.index {    padding: 0;    background-color: transparent;    border: none;    -moz-box-shadow: none;    font-style: normal;    font-family: "Inconsolata", Andale Mono, Monaco, Monospace;}#content ul.index li {    width: 100%;    font-size: 15px;    color: #333;    padding: 0 0 7px 0;}/*    intro page specific*/#content #intro {    width: 576px;    margin: 0 auto;    padding: 21px 0;}#content #intro p,#content #intro h1 {    font-size: 19px;    line-height: 28px;    color: green;    letter-spacing: 2px;    padding: 0 0 28px 0;}#content #intro p:last-child,#content #intro h1:last-child {    padding: 0;}#content #intro p a {    color: green;    text-decoration: underline;}/*    download page*/#content h4 a.download {    -webkit-border-radius: 5px;    -moz-border-radius: 5px;    background-color: #F2F2F2;    background-image: url("i/sprite.png"), -moz-linear-gradient(center top , #FAFAFA 0%, #F2F2F2 100%);    background-image: url("i/sprite.png"), -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fafafa), color-stop(100%, #f2f2f2));    background-position: 7px -58px, center center;    background-repeat: no-repeat, no-repeat;    border: 1px solid #CCCCCC;    color: #333333;    font-size: 12px;    margin: 0 0 0 5px;    padding: 0 10px 0 25px;    text-shadow: 1px 1px 0 #FFFFFF;}/*    footer*/#footer {    color: #4d4d4d;    padding: 65px 20px 20px;    margin: 20px 0 0 220px;    text-align: center;    display: block;    font-size: 13px;    background-image: url("i/arrow-x.png");    background-repeat: no-repeat;    background-position: center top;    background-color: #fff;}#footer .line {    display: block;}#footer .line a {    color: #4d4d4d;    text-decoration: underline;}/*    Pygments manni style*/code {background-color: #fafafa; color: #333;}code .comment {color: green; font-style: italic}code .comment.preproc {color: #099; font-style: normal}code .comment.special {font-weight: bold}code .keyword {color: #069; font-weight: bold}code .keyword.pseudo {font-weight: normal}code .keyword.type {color: #078}code .operator {color: #555}code .operator.word {color: #000; font-weight: bold}code .name.builtin {color: #366}code .name.function {color: #c0f}code .name.class {color: #0a8; font-weight: bold}code .name.namespace {color: #0cf; font-weight: bold}code .name.exception {color: #c00; font-weight: bold}code .name.variable {color: #033}code .name.constant {color: #360}code .name.label {color: #99f}code .name.entity {color: #999; font-weight: bold}code .name.attribute {color: #309}code .name.tag {color: #309; font-weight: bold}code .name.decorator {color: #99f}code .string {color: #c30}code .string.doc {font-style: italic}code .string.interpol {color: #a00}code .string.escape {color: #c30; font-weight: bold}code .string.regex {color: #3aa}code .string.symbol {color: #fc3}code .string.other {color: #c30}code .number {color: #f60}/*    webkit scroll bars*/pre::-webkit-scrollbar {    width: 6px;    height: 6px;}pre::-webkit-scrollbar-button:start:decrement,pre::-webkit-scrollbar-button:end:increment {    display: block;    height: 0;    width: 0;}pre::-webkit-scrollbar-button:vertical:increment,pre::-webkit-scrollbar-button:horizontal:increment {    background-color: transparent;    display: block;    height: 0;    width: 0;}pre::-webkit-scrollbar-track-piece {    -webkit-border-radius: 3px;}pre::-webkit-scrollbar-thumb:vertical {    background-color: #aaa;    -webkit-border-radius: 3px;}pre::-webkit-scrollbar-thumb:horizontal {    background-color: #aaa;    -webkit-border-radius: 3px;}/*    hbox*/.hbox {\tdisplay: -webkit-box;\t-webkit-box-orient: horizontal;\t-webkit-box-align: stretch;\tdisplay: -moz-box;\t-moz-box-orient: horizontal;\t-moz-box-align: stretch;\tdisplay: box;\tbox-orient: horizontal;\tbox-align: stretch;\twidth: 100%;}.hbox > * {\t-webkit-box-flex: 0;\t-moz-box-flex: 0;\tbox-flex: 0;\tdisplay: block;}.vbox {\tdisplay: -webkit-box;\t-webkit-box-orient: vertical;\t-webkit-box-align: stretch;\tdisplay: -moz-box;\t-moz-box-orient: vertical;\t-moz-box-align: stretch;\tdisplay: box;\tbox-orient: vertical;\tbox-align: stretch;}.vbox > * {\t-webkit-box-flex: 0;\t-moz-box-flex: 0;\tbox-flex: 0;\tdisplay: block;}.spacer {\t-webkit-box-flex: 1;\t-moz-box-flex: 1;\tbox-flex: 1;}.reverse {\t-webkit-box-direction: reverse;\t-moz-box-direction: reverse;\tbox-direction: reverse;}.boxFlex0 {\t-webkit-box-flex: 0;\t-moz-box-flex: 0;\tbox-flex: 0;}.boxFlex1, .boxFlex {\t-webkit-box-flex: 1;\t-moz-box-flex: 1;\tbox-flex: 1;}.boxFlex2 {\t-webkit-box-flex: 2;\t-moz-box-flex: 2;\tbox-flex: 2;}.boxGroup1 {\t-webkit-box-flex-group: 1;\t-moz-box-flex-group: 1;\tbox-flex-group: 1;}.boxGroup2 {\t-webkit-box-flex-group: 2;\t-moz-box-flex-group: 2;\tbox-flex-group: 2;}.start {\t-webkit-box-pack: start;\t-moz-box-pack: start;\tbox-pack: start;}.end {\t-webkit-box-pack: end;\t-moz-box-pack: end;\tbox-pack: end;}.center {\t-webkit-box-pack: center;\t-moz-box-pack: center;\tbox-pack: center;}/*    clearfix*/.clearfix:after {\tcontent: ".";\tdisplay: block;\tclear: both;\tvisibility: hidden;\tline-height: 0;\theight: 0;}html[xmlns] .clearfix {\tdisplay: block;}* html .clearfix {\theight: 1%;}');
define("text/lib/ace/css/editor.css",[],'.ace_editor {    position: absolute;    overflow: hidden;    font-family: Monaco, "Menlo", "Courier New", monospace;    font-size: 12px;}.ace_scroller {    position: absolute;    overflow-x: scroll;    overflow-y: hidden;}.ace_content {    position: absolute;    box-sizing: border-box;    -moz-box-sizing: border-box;    -webkit-box-sizing: border-box;}.ace_composition {    position: absolute;    background: #555;    color: #DDD;    z-index: 4;}.ace_gutter {    position: absolute;    overflow-x: hidden;    overflow-y: hidden;    height: 100%;}.ace_gutter-cell.ace_error {    background-image: url("data:image/gif,GIF89a%10%00%10%00%D5%00%00%F5or%F5%87%88%F5nr%F4ns%EBmq%F5z%7F%DDJT%DEKS%DFOW%F1Yc%F2ah%CE(7%CE)8%D18E%DD%40M%F2KZ%EBU%60%F4%60m%DCir%C8%16(%C8%19*%CE%255%F1%3FR%F1%3FS%E6%AB%B5%CA%5DI%CEn%5E%F7%A2%9A%C9G%3E%E0a%5B%F7%89%85%F5yy%F6%82%80%ED%82%80%FF%BF%BF%E3%C4%C4%FF%FF%FF%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%00%25%00%2C%00%00%00%00%10%00%10%00%00%06p%C0%92pH%2C%1A%8F%C8%D2H%93%E1d4%23%E4%88%D3%09mB%1DN%B48%F5%90%40%60%92G%5B%94%20%3E%22%D2%87%24%FA%20%24%C5%06A%00%20%B1%07%02B%A38%89X.v%17%82%11%13q%10%0Fi%24%0F%8B%10%7BD%12%0Ei%09%92%09%0EpD%18%15%24%0A%9Ci%05%0C%18F%18%0B%07%04%01%04%06%A0H%18%12%0D%14%0D%12%A1I%B3%B4%B5IA%00%3B");    background-repeat: no-repeat;    background-position: 4px center;}.ace_gutter-cell.ace_warning {    background-image: url("data:image/gif,GIF89a%10%00%10%00%D5%00%00%FF%DBr%FF%DE%81%FF%E2%8D%FF%E2%8F%FF%E4%96%FF%E3%97%FF%E5%9D%FF%E6%9E%FF%EE%C1%FF%C8Z%FF%CDk%FF%D0s%FF%D4%81%FF%D5%82%FF%D5%83%FF%DC%97%FF%DE%9D%FF%E7%B8%FF%CCl%7BQ%13%80U%15%82W%16%81U%16%89%5B%18%87%5B%18%8C%5E%1A%94d%1D%C5%83-%C9%87%2F%C6%84.%C6%85.%CD%8B2%C9%871%CB%8A3%CD%8B5%DC%98%3F%DF%9BB%E0%9CC%E1%A5U%CB%871%CF%8B5%D1%8D6%DB%97%40%DF%9AB%DD%99B%E3%B0p%E7%CC%AE%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%00%2F%00%2C%00%00%00%00%10%00%10%00%00%06a%C0%97pH%2C%1A%8FH%A1%ABTr%25%87%2B%04%82%F4%7C%B9X%91%08%CB%99%1C!%26%13%84*iJ9(%15G%CA%84%14%01%1A%97%0C%03%80%3A%9A%3E%81%84%3E%11%08%B1%8B%20%02%12%0F%18%1A%0F%0A%03\'F%1C%04%0B%10%16%18%10%0B%05%1CF%1D-%06%07%9A%9A-%1EG%1B%A0%A1%A0U%A4%A5%A6BA%00%3B");    background-repeat: no-repeat;    background-position: 4px center;}.ace_editor .ace_sb {    position: absolute;    overflow-x: hidden;    overflow-y: scroll;    right: 0;}.ace_editor .ace_sb div {    position: absolute;    width: 1px;    left: 0;}.ace_editor .ace_print_margin_layer {    z-index: 0;    position: absolute;    overflow: hidden;    margin: 0;    left: 0;    height: 100%;    width: 100%;}.ace_editor .ace_print_margin {    position: absolute;    height: 100%;}.ace_editor textarea {    position: fixed;    z-index: -1;    width: 10px;    height: 30px;    opacity: 0;    background: transparent;    appearance: none;    -moz-appearance: none;    border: none;    resize: none;    outline: none;    overflow: hidden;}.ace_layer {    z-index: 1;    position: absolute;    overflow: hidden;    white-space: nowrap;    height: 100%;    width: 100%;}.ace_text-layer {    color: black;}.ace_cjk {    display: inline-block;    text-align: center;}.ace_cursor-layer {    z-index: 4;    cursor: text;    /* setting pointer-events: none; here will break mouse wheel scrolling in Safari */}.ace_cursor {    z-index: 4;    position: absolute;}.ace_cursor.ace_hidden {    opacity: 0.2;}.ace_line {    white-space: nowrap;}.ace_marker-layer {    cursor: text;    pointer-events: none;}.ace_marker-layer .ace_step {    position: absolute;    z-index: 3;}.ace_marker-layer .ace_selection {    position: absolute;    z-index: 4;}.ace_marker-layer .ace_bracket {    position: absolute;    z-index: 5;}.ace_marker-layer .ace_active_line {    position: absolute;    z-index: 2;}.ace_marker-layer .ace_selected_word {    position: absolute;    z-index: 6;    box-sizing: border-box;    -moz-box-sizing: border-box;    -webkit-box-sizing: border-box;}.ace_line .ace_fold {    cursor: pointer;}.ace_dragging .ace_marker-layer, .ace_dragging .ace_text-layer {  cursor: move;}');
define("text/node_modules/uglify-js/docstyle.css",[],'html { font-family: "Lucida Grande","Trebuchet MS",sans-serif; font-size: 12pt; }body { max-width: 60em; }.title  { text-align: center; }.todo   { color: red; }.done   { color: green; }.tag    { background-color:lightblue; font-weight:normal }.target { }.timestamp { color: grey }.timestamp-kwd { color: CadetBlue }p.verse { margin-left: 3% }pre {  border: 1pt solid #AEBDCC;  background-color: #F3F5F7;  padding: 5pt;  font-family: monospace;  font-size: 90%;  overflow:auto;}pre.src {  background-color: #eee; color: #112; border: 1px solid #000;}table { border-collapse: collapse; }td, th { vertical-align: top; }dt { font-weight: bold; }div.figure { padding: 0.5em; }div.figure p { text-align: center; }.linenr { font-size:smaller }.code-highlighted {background-color:#ffff00;}.org-info-js_info-navigation { border-style:none; }#org-info-js_console-label { font-size:10px; font-weight:bold;  white-space:nowrap; }.org-info-js_search-highlight {background-color:#ffff00; color:#000000;  font-weight:bold; }sup {  vertical-align: baseline;  position: relative;  top: -0.5em;  font-size: 80%;}sup a:link, sup a:visited {  text-decoration: none;  color: #c00;}sup a:before { content: "["; color: #999; }sup a:after { content: "]"; color: #999; }h1.title { border-bottom: 4px solid #000; padding-bottom: 5px; margin-bottom: 2em; }#postamble {  color: #777;  font-size: 90%;  padding-top: 1em; padding-bottom: 1em; border-top: 1px solid #999;  margin-top: 2em;  padding-left: 2em;  padding-right: 2em;  text-align: right;}#postamble p { margin: 0; }#footnotes { border-top: 1px solid #000; }h1 { font-size: 200% }h2 { font-size: 175% }h3 { font-size: 150% }h4 { font-size: 125% }h1, h2, h3, h4 { font-family: "Bookman",Georgia,"Times New Roman",serif; font-weight: normal; }@media print {  html { font-size: 11pt; }}');
define("text/support/cockpit/lib/cockpit/ui/cli_view.css",[],"#cockpitInput { padding-left: 16px; }.cptOutput { overflow: auto; position: absolute; z-index: 999; display: none; }.cptCompletion { padding: 0; position: absolute; z-index: -1000; }.cptCompletion.VALID { background: #FFF; }.cptCompletion.INCOMPLETE { background: #DDD; }.cptCompletion.INVALID { background: #DDD; }.cptCompletion span { color: #FFF; }.cptCompletion span.INCOMPLETE { color: #DDD; border-bottom: 2px dotted #F80; }.cptCompletion span.INVALID { color: #DDD; border-bottom: 2px dotted #F00; }span.cptPrompt { color: #66F; font-weight: bold; }.cptHints {  color: #000;  position: absolute;  border: 1px solid rgba(230, 230, 230, 0.8);  background: rgba(250, 250, 250, 0.8);  -moz-border-radius-topleft: 10px;  -moz-border-radius-topright: 10px;  border-top-left-radius: 10px; border-top-right-radius: 10px;  z-index: 1000;  padding: 8px;  display: none;}.cptFocusPopup { display: block; }.cptFocusPopup.cptNoPopup { display: none; }.cptHints ul { margin: 0; padding: 0 15px; }.cptGt { font-weight: bold; font-size: 120%; }");
define("text/support/cockpit/lib/cockpit/ui/request_view.css",[],".cptRowIn {  display: box; display: -moz-box; display: -webkit-box;  box-orient: horizontal; -moz-box-orient: horizontal; -webkit-box-orient: horizontal;  box-align: center; -moz-box-align: center; -webkit-box-align: center;  color: #333;  background-color: #EEE;  width: 100%;  font-family: consolas, courier, monospace;}.cptRowIn > * { padding-left: 2px; padding-right: 2px; }.cptRowIn > img { cursor: pointer; }.cptHover { display: none; }.cptRowIn:hover > .cptHover { display: block; }.cptRowIn:hover > .cptHover.cptHidden { display: none; }.cptOutTyped {  box-flex: 1; -moz-box-flex: 1; -webkit-box-flex: 1;  font-weight: bold; color: #000; font-size: 120%;}.cptRowOutput { padding-left: 10px; line-height: 1.2em; }.cptRowOutput strong,.cptRowOutput b,.cptRowOutput th,.cptRowOutput h1,.cptRowOutput h2,.cptRowOutput h3 { color: #000; }.cptRowOutput a { font-weight: bold; color: #666; text-decoration: none; }.cptRowOutput a: hover { text-decoration: underline; cursor: pointer; }.cptRowOutput input[type=password],.cptRowOutput input[type=text],.cptRowOutput textarea {  color: #000; font-size: 120%;  background: transparent; padding: 3px;  border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;}.cptRowOutput table,.cptRowOutput td,.cptRowOutput th { border: 0; padding: 0 2px; }.cptRowOutput .right { text-align: right; }");
define("text/tool/Theme.tmpl.css",[],".%cssClass% .ace_editor {  border: 2px solid rgb(159, 159, 159);}.%cssClass% .ace_editor.ace_focus {  border: 2px solid #327fbd;}.%cssClass% .ace_gutter {  width: 50px;  background: #e8e8e8;  color: #333;  overflow : hidden;}.%cssClass% .ace_gutter-layer {  width: 100%;  text-align: right;}.%cssClass% .ace_gutter-layer .ace_gutter-cell {  padding-right: 6px;}.%cssClass% .ace_print_margin {  width: 1px;  background: %printMargin%;}.%cssClass% .ace_scroller {  background-color: %background%;}.%cssClass% .ace_text-layer {  cursor: text;  color: %foreground%;}.%cssClass% .ace_cursor {  border-left: 2px solid %cursor%;}.%cssClass% .ace_cursor.ace_overwrite {  border-left: 0px;  border-bottom: 1px solid %overwrite%;} .%cssClass% .ace_marker-layer .ace_selection {  background: %selection%;}.%cssClass% .ace_marker-layer .ace_step {  background: %step%;}.%cssClass% .ace_marker-layer .ace_bracket {  margin: -1px 0 0 -1px;  border: 1px solid %bracket%;}.%cssClass% .ace_marker-layer .ace_active_line {  background: %active_line%;}       .%cssClass% .ace_invisible {  %invisible%}.%cssClass% .ace_keyword {  %keyword%}.%cssClass% .ace_keyword.ace_operator {  %keyword.operator%}.%cssClass% .ace_constant {  %constant%}.%cssClass% .ace_constant.ace_language {  %constant.language%}.%cssClass% .ace_constant.ace_library {  %constant.library%}.%cssClass% .ace_constant.ace_numeric {  %constant.numeric%}.%cssClass% .ace_invalid {  %invalid%}.%cssClass% .ace_invalid.ace_illegal {  %invalid.illegal%}.%cssClass% .ace_invalid.ace_deprecated {  %invalid.deprecated%}.%cssClass% .ace_support {  %support%}.%cssClass% .ace_support.ace_function {  %support.function%}.%cssClass% .ace_function.ace_buildin {  %function.buildin%}.%cssClass% .ace_string {  %string%}.%cssClass% .ace_string.ace_regexp {  %string.regexp%}.%cssClass% .ace_comment {  %comment%}.%cssClass% .ace_comment.ace_doc {  %comment.doc%}.%cssClass% .ace_comment.ace_doc.ace_tag {  %comment.doc.tag%}.%cssClass% .ace_variable {  %variable%}.%cssClass% .ace_variable.ace_language {  %variable.language%}.%cssClass% .ace_xml_pe {  %xml_pe%}.%cssClass% .ace_collab.ace_user1 {  %collab.user1%   }");
define("text/styles.css",[],"html {    height: 100%;    width: 100%;    overflow: hidden;}body {    overflow: hidden;    margin: 0;    padding: 0;    height: 100%;    width: 100%;    font-family: Arial, Helvetica, sans-serif, Tahoma, Verdana, sans-serif;    font-size: 12px;    background: rgb(14, 98, 165);    color: white;}#logo {    padding: 15px;    margin-left: 65px;}#editor {    position: absolute;    top:  0px;    left: 280px;    bottom: 0px;    right: 0px;    background: white;}#controls {    padding: 5px;}#controls td {    text-align: right;}#controls td + td {    text-align: left;}#cockpitInput {    position: absolute;    left: 280px;    right: 0px;    bottom: 0;    border: none; outline: none;    font-family: consolas, courier, monospace;    font-size: 120%;}#cockpitOutput {    padding: 10px;    margin: 0 15px;    border: 1px solid #AAA;    -moz-border-radius-topleft: 10px;    -moz-border-radius-topright: 10px;    border-top-left-radius: 4px; border-top-right-radius: 4px;    background: #DDD; color: #000;}");
require(["ace/ace"],function(c){window.ace=c});
define("ace/mode/json","require,exports,module,pilot/oop,ace/mode/text,ace/tokenizer,ace/mode/json_highlight_rules,ace/mode/matching_brace_outdent,ace/range,ace/mode/behaviour/cstyle".split(","),function(c,m){var k=c("pilot/oop"),b=c("ace/mode/text").Mode,e=c("ace/tokenizer").Tokenizer,g=c("ace/mode/json_highlight_rules").JsonHighlightRules,j=c("ace/mode/matching_brace_outdent").MatchingBraceOutdent;c("ace/range");var a=c("ace/mode/behaviour/cstyle").CstyleBehaviour,f=function(){this.$tokenizer=new e((new g).getRules());
this.$outdent=new j;this.$behaviour=new a};k.inherits(f,b);(function(){this.getNextLineIndent=function(a,b,c){var f=this.$getIndent(b);this.$tokenizer.getLineTokens(b,a);a=="start"&&b.match(/^.*[\{\(\[]\s*$/)&&(f=f+c);return f};this.checkOutdent=function(a,b,c){return this.$outdent.checkOutdent(b,c)};this.autoOutdent=function(a,b,c){this.$outdent.autoOutdent(b,c)}}).call(f.prototype);m.Mode=f});
define("ace/mode/json_highlight_rules","require,exports,module,pilot/oop,pilot/lang,ace/mode/text_highlight_rules".split(","),function(c,m){var k=c("pilot/oop");c("pilot/lang");var b=c("ace/mode/text_highlight_rules").TextHighlightRules,e=function(){this.$rules={start:[{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",
regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}]}};k.inherits(e,b);m.JsonHighlightRules=e});
define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(c,m){var k=c("ace/range").Range,b=function(){};(function(){this.checkOutdent=function(b,c){return/^\s+$/.test(b)?/^\s*\}/.test(c):!1};this.autoOutdent=function(b,c){var j=b.getLine(c).match(/^(\s*\})/);if(!j)return 0;var j=j[1].length,a=b.findMatchingBracket({row:c,column:j});if(!a||a.row==c)return 0;a=this.$getIndent(b.getLine(a.row));b.replace(new k(c,0,c,j-1),a)};this.$getIndent=function(b){return(b=b.match(/^(\s+)/))?
b[1]:""}}).call(b.prototype);m.MatchingBraceOutdent=b});
define("ace/mode/behaviour/cstyle",["require","exports","module","pilot/oop","ace/mode/behaviour"],function(c,m){var k=c("pilot/oop"),b=c("ace/mode/behaviour").Behaviour,e=function(){this.add("braces","insertion",function(b,c,a,f,e){if("{"==e)return b=a.getSelectionRange(),f=f.doc.getTextRange(b),""!==f?{text:"{"+f+"}",selection:!1}:{text:"{}",selection:[1,1]};if("}"==e){if(a=a.getCursorPosition(),c=f.doc.getLine(a.row),e=c.substring(a.column,a.column+1),"}"==e&&null!==f.$findOpeningBracket("}",{column:a.column+
1,row:a.row}))return{text:"",selection:[1,1]}}else if("\n"==e&&(a=a.getCursorPosition(),c=f.doc.getLine(a.row),e=c.substring(a.column,a.column+1),"}"==e)){a=f.findMatchingBracket({row:a.row,column:a.column+1});if(!a)return!1;b=this.getNextLineIndent(b,c.substring(0,c.length-1),f.getTabString());f=this.$getIndent(f.doc.getLine(a.row));return{text:"\n"+b+"\n"+f,selection:[1,b.length,1,b.length]}}return!1});this.add("braces","deletion",function(b,c,a,f,e){b=f.doc.getTextRange(e);return!e.isMultiLine()&&
"{"==b&&"}"==f.doc.getLine(e.start.row).substring(e.end.column,e.end.column+1)?(e.end.column++,e):!1});this.add("parens","insertion",function(b,c,a,f,e){return"("==e?(b=a.getSelectionRange(),f=f.doc.getTextRange(b),""!==f?{text:"("+f+")",selection:!1}:{text:"()",selection:[1,1]}):")"==e&&(b=a.getCursorPosition(),")"==f.doc.getLine(b.row).substring(b.column,b.column+1)&&null!==f.$findOpeningBracket(")",{column:b.column+1,row:b.row}))?{text:"",selection:[1,1]}:!1});this.add("parens","deletion",function(b,
c,a,f,e){b=f.doc.getTextRange(e);return!e.isMultiLine()&&"("==b&&")"==f.doc.getLine(e.start.row).substring(e.start.column+1,e.start.column+2)?(e.end.column++,e):!1});this.add("string_dquotes","insertion",function(b,c,a,f,e){if('"'==e){b=a.getSelectionRange();c=f.doc.getTextRange(b);if(""!==c)return{text:'"'+c+'"',selection:!1};a=a.getCursorPosition();c=f.doc.getLine(a.row);if("\\"==c.substring(a.column-1,a.column))return!1;for(var f=f.getTokens(b.start.row,b.start.row)[0].tokens,e=0,k,m=-1,s=0;s<
f.length;s++){k=f[s];"string"==k.type?m=-1:0>m&&(m=k.value.indexOf('"'));if(k.value.length+e>b.start.column)break;e+=f[s].value.length}if(!k||0>m&&"comment"!==k.type&&("string"!==k.type||b.start.column!==k.value.length+e-1&&k.value.lastIndexOf('"')===k.value.length-1))return{text:'""',selection:[1,1]};if(k&&"string"===k.type&&'"'==c.substring(a.column,a.column+1))return{text:"",selection:[1,1]}}return!1});this.add("string_dquotes","deletion",function(b,c,a,f,e){b=f.doc.getTextRange(e);return!e.isMultiLine()&&
'"'==b&&'"'==f.doc.getLine(e.start.row).substring(e.start.column+1,e.start.column+2)?(e.end.column++,e):!1})};k.inherits(e,b);m.CstyleBehaviour=e});
define("ace/theme/git-hubby",["require","exports","module"],function(c,m){c("pilot/dom").importCssString(".ace--git-hubby .ace_editor{border:2px solid rgb(159, 159, 159);}.ace--git-hubby .ace_editor.ace_focus{border:2px solid #327fbd;}.ace--git-hubby .ace_gutter{width:50px; background:#e8e8e8; color:#333; overflow :hidden;}.ace--git-hubby .ace_gutter-layer{width:100%; text-align:right;}.ace--git-hubby .ace_gutter-layer .ace_gutter-cell{padding-right:6px;}.ace--git-hubby .ace_print_margin{width:1px; background:#e8e8e8;}.ace--git-hubby .ace_scroller{background-color:#FFF;}.ace--git-hubby .ace_text-layer{cursor:text; color:#000000;}.ace--git-hubby .ace_cursor{border-left:2px solid #000000;}.ace--git-hubby .ace_cursor.ace_overwrite{border-left:0px; border-bottom:1px solid #000000;}.ace--git-hubby .ace_marker-layer .ace_selection{background:#BCD5FA;}.ace--git-hubby .ace_marker-layer .ace_step{background:rgb(198, 219, 174);}.ace--git-hubby .ace_marker-layer .ace_bracket{margin:-1px 0 0 -1px; border:1px solid #BFBFBF;}.ace--git-hubby .ace_marker-layer .ace_active_line{background:rgba(0, 0, 0, 0.071);}.ace--git-hubby .ace_invisible{color:#BFBFBF;}.ace--git-hubby .ace_keyword{color:#000000;}.ace--git-hubby .ace_constant.ace_language{color:#000000;}.ace--git-hubby .ace_constant.ace_numeric{color:#009999;}.ace--git-hubby .ace_string{color:#DD1144;}.ace--git-hubby .ace_string.ace_regexp{color:#009926;}.ace--git-hubby .ace_comment{font-style:italic; color:#999988;}.ace--git-hubby .ace_variable.ace_language{color:#108888;}.ace--git-hubby .ace_entity.ace_other.ace_attribute-name{color:#0A8585;}.ace--git-hubby .ace_markup.ace_underline{text-decoration:underline;}");m.cssClass=
"ace--git-hubby"});
function apprise(c,m,k){var b={confirm:!1,verify:!1,input:!1,animate:!1,textOk:"Ok",textCancel:"Cancel",textYes:"Yes",textNo:"No"};if(m)for(var e in b)"undefined"==typeof m[e]&&(m[e]=b[e]);b=$(document).height();e=$(document).width();$("body").append('<div class="appriseOverlay" id="aOverlay"></div>');$(".appriseOverlay").css("height",b).css("width",e).fadeIn(100);$("body").append('<div class="appriseOuter"></div>');$(".appriseOuter").append('<div class="appriseInner"></div>');$(".appriseInner").append(c);
$(".appriseOuter").css("left",($(window).width()-$(".appriseOuter").width())/2+$(window).scrollLeft()+"px");m?m.animate?(c=m.animate,isNaN(c)&&(c=400),$(".appriseOuter").css("top","-200px").show().animate({top:"100px"},c)):$(".appriseOuter").css("top","100px").fadeIn(200):$(".appriseOuter").css("top","100px").fadeIn(200);m&&m.input&&("string"==typeof m.input?$(".appriseInner").append('<div class="aInput"><input type="text" class="aTextbox" t="aTextbox" value="'+m.input+'" /></div>'):$(".appriseInner").append('<div class="aInput"><input type="text" class="aTextbox" t="aTextbox" /></div>'),
$(".aTextbox").focus());$(".appriseInner").append('<div class="aButtons"></div>');m?m.confirm||m.input?($(".aButtons").append('<button value="ok">'+m.textOk+"</button>"),$(".aButtons").append('<button value="cancel">'+m.textCancel+"</button>")):m.verify?($(".aButtons").append('<button value="ok">'+m.textYes+"</button>"),$(".aButtons").append('<button value="cancel">'+m.textNo+"</button>")):$(".aButtons").append('<button value="ok">'+m.textOk+"</button>"):$(".aButtons").append('<button value="ok">Ok</button>');
$(document).keydown(function(b){if($(".appriseOverlay").is(":visible")){b.keyCode==13&&$('.aButtons > button[value="ok"]').click();b.keyCode==27&&$('.aButtons > button[value="cancel"]').click()}});var g=$(".aTextbox").val();g||(g=!1);$(".aTextbox").keyup(function(){g=$(this).val()});$(".aButtons > button").click(function(){$(".appriseOverlay").remove();$(".appriseOuter").remove();if(k){var b=$(this).attr("value");b=="ok"?m?m.input?k(g):k(true):k(true):b=="cancel"&&k(false)}})}
!function(c){var m=function(c,b){this.init("tooltip",c,b)};m.prototype={constructor:m,init:function(k,b,e){this.type=k;this.$element=c(b);this.options=this.getOptions(e);this.enabled=!0;"manual"!=this.options.trigger&&(k="hover"==this.options.trigger?"mouseenter":"focus",b="hover"==this.options.trigger?"mouseleave":"blur",this.$element.on(k,this.options.selector,c.proxy(this.enter,this)),this.$element.on(b,this.options.selector,c.proxy(this.leave,this)));this.options.selector?this._options=c.extend({},
this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(k){k=c.extend({},c.fn[this.type].defaults,k,this.$element.data());k.delay&&"number"==typeof k.delay&&(k.delay={show:k.delay,hide:k.delay});return k},enter:function(k){var b=c(k.currentTarget)[this.type](this._options).data(this.type);!b.options.delay||!b.options.delay.show?b.show():(b.hoverState="in",setTimeout(function(){"in"==b.hoverState&&b.show()},b.options.delay.show))},leave:function(k){var b=c(k.currentTarget)[this.type](this._options).data(this.type);
!b.options.delay||!b.options.delay.hide?b.hide():(b.hoverState="out",setTimeout(function(){"out"==b.hoverState&&b.hide()},b.options.delay.hide))},show:function(){var c,b,e,g,j,a,f;if(this.hasContent()&&this.enabled){c=this.tip();this.setContent();this.options.animation&&c.addClass("fade");a="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement;b=/in/.test(a);c.remove().css({top:0,left:0,display:"block"}).appendTo(b?this.$element:document.body);
e=this.getPosition(b);g=c[0].offsetWidth;j=c[0].offsetHeight;switch(b?a.split(" ")[1]:a){case "bottom":f={top:e.top+e.height,left:e.left+e.width/2-g/2};break;case "top":f={top:e.top-j,left:e.left+e.width/2-g/2};break;case "left":f={top:e.top+e.height/2-j/2,left:e.left-g};break;case "right":f={top:e.top+e.height/2-j/2,left:e.left+e.width}}c.css(f).addClass(a).addClass("in")}},setContent:function(){var c=this.tip();c.find(".tooltip-inner").html(this.getTitle());c.removeClass("fade in top bottom left right")},
hide:function(){function k(){var e=setTimeout(function(){b.off(c.support.transition.end).remove()},500);b.one(c.support.transition.end,function(){clearTimeout(e);b.remove()})}var b=this.tip();b.removeClass("in");c.support.transition&&this.$tip.hasClass("fade")?k():b.remove()},fixTitle:function(){var c=this.$element;if(c.attr("title")||"string"!=typeof c.attr("data-original-title"))c.attr("data-original-title",c.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},
getPosition:function(k){return c.extend({},k?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var c;c=this.$element;var b=this.options;c=c.attr("data-original-title")||("function"==typeof b.title?b.title.call(c[0]):b.title);return c=(c||"").toString().replace(/(^\s*|\s*$)/,"")},tip:function(){return this.$tip=this.$tip||c(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.options=
this.$element=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()}};c.fn.tooltip=function(k){return this.each(function(){var b=c(this),e=b.data("tooltip"),g="object"==typeof k&&k;e||b.data("tooltip",e=new m(this,g));if("string"==typeof k)e[k]()})};c.fn.tooltip.Constructor=m;c.fn.tooltip.defaults={animation:!0,delay:0,selector:!1,placement:"top",trigger:"hover",
title:"",template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'}}(window.jQuery);
!function(c){var m=function(c,b){this.init("popover",c,b)};m.prototype=c.extend({},c.fn.tooltip.Constructor.prototype,{constructor:m,setContent:function(){var k=this.tip(),b=this.getTitle(),e=this.getContent();k.find(".popover-title")["object"==c.type(b)?"append":"html"](b);k.find(".popover-content > *")["object"==c.type(e)?"append":"html"](e);k.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var c;c=this.$element;
var b=this.options;c=c.attr("data-content")||("function"==typeof b.content?b.content.call(c[0]):b.content);return c=c.toString().replace(/(^\s*|\s*$)/,"")},tip:function(){this.$tip||(this.$tip=c(this.options.template));return this.$tip}});c.fn.popover=function(k){return this.each(function(){var b=c(this),e=b.data("popover"),g="object"==typeof k&&k;e||b.data("popover",e=new m(this,g));if("string"==typeof k)e[k]()})};c.fn.popover.Constructor=m;c.fn.popover.defaults=c.extend({},c.fn.tooltip.defaults,
{placement:"right",content:"",template:'<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'})}(window.jQuery);
!function(c){function m(){var a=this,b=setTimeout(function(){a.$element.off(c.support.transition.end);k.call(a)},500);this.$element.one(c.support.transition.end,function(){clearTimeout(b);k.call(a)})}function k(){this.$element.hide().trigger("hidden");b.call(this)}function b(a){var b=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var g=c.support.transition&&b;this.$backdrop=c('<div class="modal-backdrop '+b+'" />').appendTo(document.body);"static"!=this.options.backdrop&&
this.$backdrop.click(c.proxy(this.hide,this));g&&this.$backdrop[0].offsetWidth;this.$backdrop.addClass("in");g?this.$backdrop.one(c.support.transition.end,a):a()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),c.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(c.support.transition.end,c.proxy(e,this)):e.call(this)):a&&a()}function e(){this.$backdrop.remove();this.$backdrop=null}function g(){var a=this;if(this.isShown&&this.options.keyboard)c(document).on("keyup.dismiss.modal",
function(b){27==b.which&&a.hide()});else this.isShown||c(document).off("keyup.dismiss.modal")}var j=function(a,b){this.options=b;this.$element=c(a).delegate('[data-dismiss="modal"]',"click.dismiss.modal",c.proxy(this.hide,this))};j.prototype={constructor:j,toggle:function(){return this[!this.isShown?"show":"hide"]()},show:function(){var a=this;this.isShown||(c("body").addClass("modal-open"),this.isShown=!0,this.$element.trigger("show"),g.call(this),b.call(this,function(){var b=c.support.transition&&
a.$element.hasClass("fade");!a.$element.parent().length&&a.$element.appendTo(document.body);a.$element.show();b&&a.$element[0].offsetWidth;a.$element.addClass("in");b?a.$element.one(c.support.transition.end,function(){a.$element.trigger("shown")}):a.$element.trigger("shown")}))},hide:function(a){a&&a.preventDefault();this.isShown&&(this.isShown=!1,c("body").removeClass("modal-open"),g.call(this),this.$element.trigger("hide").removeClass("in"),c.support.transition&&this.$element.hasClass("fade")?m.call(this):
k.call(this))}};c.fn.modal=function(a){return this.each(function(){var b=c(this),e=b.data("modal"),g=c.extend({},c.fn.modal.defaults,b.data(),"object"==typeof a&&a);e||b.data("modal",e=new j(this,g));if("string"==typeof a)e[a]();else g.show&&e.show()})};c.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0};c.fn.modal.Constructor=j;c(function(){c("body").on("click.modal.data-api",'[data-toggle="modal"]',function(a){var b=c(this),e,g=c(b.attr("data-target")||(e=b.attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,
"")),b=g.data("modal")?"toggle":c.extend({},g.data(),b.data());a.preventDefault();g.modal(b)})})}(window.jQuery);
(function(c){function m(k){if("string"===typeof k.data){var b=k.handler,e=k.data.toLowerCase().split(" ");k.handler=function(g){if(!(this!==g.target&&(/textarea|select/i.test(g.target.nodeName)||"text"===g.target.type))){var j="keypress"!==g.type&&c.hotkeys.specialKeys[g.which],a=String.fromCharCode(g.which).toLowerCase(),f="",k={};g.altKey&&"alt"!==j&&(f+="alt+");g.ctrlKey&&"ctrl"!==j&&(f+="ctrl+");g.metaKey&&!g.ctrlKey&&"meta"!==j&&(f+="meta+");g.shiftKey&&"shift"!==j&&(f+="shift+");j?k[f+j]=!0:
(k[f+a]=!0,k[f+c.hotkeys.shiftNums[a]]=!0,"shift+"===f&&(k[c.hotkeys.shiftNums[a]]=!0));j=0;for(a=e.length;j<a;j++)if(k[e[j]])return b.apply(this,arguments)}}}}c.hotkeys={version:"0.8",specialKeys:{8:"backspace",9:"tab",13:"return",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",
109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",191:"/",224:"meta"},shiftNums:{"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(","0":")","-":"_","=":"+",";":": ","'":'"',",":"<",".":">","/":"?","\\":"|"}};c.each(["keydown","keyup","keypress"],function(){c.event.special[this]={add:m}})})(jQuery);
jQuery.tablesorter.addParser({id:"size",is:function(c){return c.trim().match(/^\d+(\.\d+)? (Bytes|KB|MB|GB|TB|PB)$/)},format:function(c){c=c.trim().split(" ");return parseFloat(c.shift())*Math.pow(1024,_.indexOf("Bytes,KB,MB,GB,TB,PB".split(","),c.shift()))},type:"numeric"});window.Genghis={Base:{},Models:{},Collections:{},Views:{},boot:function(c){c+="/"==c.charAt(c.length-1)?"":"/";window.App=new Genghis.Views.App({base_url:c});Backbone.history.start({pushState:!0,root:c})}};
Genghis.Util={route:function(c){return c.replace(Genghis.baseUrl,"").replace(/^\//,"")},parseQuery:function(c){var m={};c.length&&_.each(c.split("&"),function(c){var c=c.split("="),b=c.shift();m[b]=c.join("=")});return m},buildQuery:function(c){return _.map(c,function(c,k){return k+"="+c}).join("&")},humanizeSize:function(c){if(-0.0==c)return"n/a";var m=parseInt(Math.floor(Math.log(c)/Math.log(1024)),10);return(0===m?c/Math.pow(1024,m):(c/Math.pow(1024,m)).toFixed(1))+" "+"Bytes,KB,MB,GB,TB,PB".split(",")[m]},
humanizeCount:function(c){var m="",c=c||0;1E3<c&&(c=Math.floor(c/1E3),m=" k");1E3<c&&(c=Math.floor(c/1E3),m=" M");return 1E3<c?"...":c+m},escape:function(c){if(c)return(""+c).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},formatJSON:function(c){function m(b,c,a){return'<span class="'+c+'">'+(a?b:null!==b?b.toString().replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):"")+"</span>"}function k(c){var j=typeof c,a=[];null===
c?a.push(m("null","null")):c&&c.constructor==Array?a.push(b(c)):"object"==j?a.push(e(c)):"number"==j?a.push(m(c,"num")):"string"==j?(j=m(c,"value"),/^https?:\/\/[^\s]+$/.test(c)&&(j='<a href="'+c+'">'+j+"</a>"),a.push(m('"'+j+'"',"string",!0))):"boolean"==j&&a.push(m(c,"bool"));return a.join("")}function b(b){b=_.map(b,function(b){return"<li>"+k(b)+"</li>"});return b.length?'[<ul class="array">'+b.join("")+"</ul>]":"[ ]"}function e(b){var c=_.detect(b,function(a,b){return _.include(["$id","_id"],
b)})&&_.detect(b,function(a,b){return"$ref"===b}),a="obj"+(c?" db-ref":""),b=_.map(b,function(a,b){return"<li"+(c&&_.include(["$ref","$id","_id","$db"],b)?' class="db-ref-'+b.substring(1)+'"':"")+">"+m(b,"prop")+k(a)+"</li>"});return b.length?'{<ul class="'+a+'">'+b.join("")+"</ul>}":"{ }"}return k(c)},attachCollapsers:function(c,m){$('<div class="collapser">-</div>').prependTo($(".document ul",c).parent("li, .document"));$(".document",c).on("click","div.collapser",function(c){function b(b){if(!("collapserSummary"in
b.data())){var a,c=$(_.detect(b.find("> li > span.prop"),function(a){return/^\s*(name|title)\s*/i.test($(a).text())})).siblings("span");0===c.length&&(c=$(_.detect(b.find("> li > span:not(.prop)"),function(a){a=$(a);return a.hasClass("num")||a.hasClass("boolean")||a.hasClass("string")&&64>a.text().length})));c.length?(a=c.siblings(".prop").text(),b.data("collapserSummary",'<span class="summary">'+(a?a+": ":"")+c.text()+"</span>")):b.data("collapserSummary","")}return b.data("collapserSummary")}var e=
$(this).parent(),g=e.children("ul"),e=e.children(".collapser");g.is(":visible")?(g.hide(),$('<span class="ellipsis"> '+b(g)+" &hellip; </span>").insertBefore(g).click(arguments.callee),e.addClass("collapsed").text("+")):(g.siblings(".ellipsis").remove(),g.show(),e.removeClass("collapsed").text("-"));c.preventDefault()});m&&$(".document > .collapser",c).click()}};
Genghis.Base.RowView=Backbone.View.extend({tagName:"tr",events:{"click a.name":"navigate","click button.destroy":"destroy"},initialize:function(){_.bindAll(this,"render","navigate","remove","destroy");this.model.bind("change",this.render);this.model.bind("destroy",this.remove)},render:function(){$(this.el).html(this.template(this.model));$(this.el).find(".label[title]").tooltip({placement:"below"});this.$(".has-details").popover({html:!0,content:function(){return $(this).siblings(".details").html()},
title:function(){return $(this).siblings(".details").attr("title")},trigger:"manual"}).hoverIntent(function(){$(this).popover("show")},function(){$(this).popover("hide")});return this},navigate:function(c){c.preventDefault();App.Router.navigate(Genghis.Util.route($(c.target).attr("href")),!0)},remove:function(){$(this.el).remove()},destroy:function(){var c=this.model;apprise("Really? There is no undo.",{confirm:!0,textOk:"<strong>Yes</strong>, delete "+(c.has("name")?c.get("name"):"")+" forever"},
function(m){m&&c.destroy()})}});
Genghis.Base.SectionView=Backbone.View.extend({events:{"click .add-form button.show":"showAddForm","click .add-form button.add":"submitAddForm","click .add-form button.cancel":"closeAddForm","keyup .add-form input.name":"updateOnKeyup"},initialize:function(){_.bindAll(this,"render","updateTitle","showAddForm","showAddFormIfVisible","submitAddForm","closeAddForm","updateOnKeyup","addModel","addModelAndUpdate","addAll");this.model&&this.model.bind("change",this.updateTitle);this.collection&&(this.collection.bind("reset",
this.render),this.collection.bind("add",this.addModelAndUpdate));$(document).bind("keyup","c",this.showAddFormIfVisible);this.render()},render:function(){$(this.el).html(this.template({}));this.addForm=this.$(".add-form");this.addButton=this.$(".add-form button.add");this.addInput=this.$(".add-form input");this.cancelButton=this.$(".add-form button.cancel");this.addAll();this.$(".help",this.addForm).tooltip();var c={};c[this.$("table thead th").length-1]={sorter:!1};this.$("table").tablesorter({headers:c,
textExtraction:function(c){return $(".value",c).text()||$(c).text()}});this.collection.size()&&this.$("table").trigger("sorton",[[[0,0]]]);return this},updateTitle:function(){this.$("> header h2").text(this.formatTitle(this.model))},showAddForm:function(){this.addForm.removeClass("inactive");this.addInput.focus()},showAddFormIfVisible:function(c){$(this.el).is(":visible")&&(c.preventDefault(),this.showAddForm())},submitAddForm:function(){this.collection.create({name:this.addInput.val()});this.closeAddForm()},
closeAddForm:function(){this.addForm.addClass("inactive");this.addInput.val("")},updateOnKeyup:function(c){13==c.keyCode&&this.submitAddForm();27==c.keyCode&&this.closeAddForm()},addModel:function(c){c=new this.rowView({model:c});this.$("table tbody").append(c.render().el)},addModelAndUpdate:function(c){this.addModel(c);this.$("table").trigger("update")},addAll:function(){this.$("table tbody").html("");this.collection.each(this.addModel);$(this.el).removeClass("spinning")}});
Genghis.Models.Alert=Backbone.Model.extend({defaults:{level:"warning",block:!1}});Genghis.Models.Collection=Backbone.Model.extend({});Genghis.Models.Database=Backbone.Model.extend({});
Genghis.Models.Document=Backbone.Model.extend({initialize:function(){_.bindAll(this,"prettyPrint","JSONish");var c=this.get("_id");c&&(this.id=c.$id||c)},parse:function(c){c._id&&(this.id=c._id.$id||c._id);return c},url:function(){var c=(!this.collection||!this.collection.url?null:_.isFunction(this.collection.url)?this.collection.url():this.collection.url)||this.urlRoot||urlError(),c=c.split("?").shift();return this.isNew()?c:c+("/"==c.charAt(c.length-1)?"":"/")+encodeURIComponent(this.id)},prettyPrint:function(){return Genghis.Util.formatJSON(this.toJSON())},
JSONish:function(){return JSON.stringify(this.toJSON(),null,4)}});Genghis.Models.Pagination=Backbone.Model.extend({defaults:{page:1,pages:1,limit:50,count:0,total:0},initialize:function(){_.bindAll(this,"decrementTotal")},decrementTotal:function(){this.set({total:this.get("total")-1,count:this.get("count")-1})}});
Genghis.Models.Selection=Backbone.Model.extend({defaults:{server:null,database:null,collection:null,query:null,page:null},initialize:function(){_.bindAll(this,"select","update","nextPage","previousPage");this.bind("change",this.update);this.Pagination=new Genghis.Models.Pagination;this.Servers=new Genghis.Collections.Servers;this.CurrentServer=new Genghis.Models.Server;this.Databases=new Genghis.Collections.Databases;this.CurrentDatabase=new Genghis.Models.Database;this.Collections=new Genghis.Collections.Collections;
this.CurrentCollection=new Genghis.Models.Collection;this.Documents=new Genghis.Collections.Documents;this.CurrentDocument=new Genghis.Models.Document},select:function(c,m,k,b,e,g){this.set({server:c||null,database:m||null,collection:k||null,document:b||null,query:e||null,page:g||null})},update:function(){var c=this.get("server"),m=this.get("database"),k=this.get("collection"),b=this.get("document"),e=this.get("query"),g=this.get("page"),j=Genghis.baseUrl,a={},j=j+"servers";this.Servers.url=j;this.Servers.fetch();
c?(j=j+"/"+c,this.CurrentServer.url=j,this.CurrentServer.fetch(),j+="/databases",this.Databases.url=j,this.Databases.fetch()):(this.CurrentServer.clear(),this.Databases.reset());m?(j=j+"/"+m,this.CurrentDatabase.url=j,this.CurrentDatabase.fetch(),j+="/collections",this.Collections.url=j,this.Collections.fetch()):(this.CurrentDatabase.clear(),this.Collections.reset());if(k){j=j+"/"+k;this.CurrentCollection.url=j;this.CurrentCollection.fetch();j+="/documents";c="";if(e||g)e&&(a.q=encodeURIComponent(e)),
g&&(a.page=encodeURIComponent(g)),c="?"+Genghis.Util.buildQuery(a);this.Documents.url=j+c;this.Documents.fetch()}else this.CurrentCollection.clear(),this.Documents.reset();b&&(this.CurrentDocument.id=b,this.CurrentDocument.urlRoot=j,this.CurrentDocument.fetch())},nextPage:function(){return 1+(this.get("page")||1)},previousPage:function(){return Math.max(1,(this.get("page")||1)-1)}});Genghis.Models.Server=Backbone.Model.extend({});
Genghis.Collections.Alerts=Backbone.Collection.extend({model:Genghis.Models.Alert,initialize:function(){_.bindAll(this,"handleError")},handleError:function(c){if(0!==c.readyState){try{data=JSON.parse(c.responseText)}catch(m){data={error:c.responseText}}msg=data.error||"<strong>FAIL</strong> An unexpected server error has occurred.";this.add({level:"error",msg:msg,block:!msg.search(/<(p|ul|ol|div)[ >]/)})}}});Genghis.Collections.Collections=Backbone.Collection.extend({model:Genghis.Models.Collection});
Genghis.Collections.Databases=Backbone.Collection.extend({model:Genghis.Models.Database});Genghis.Collections.Documents=Backbone.Collection.extend({model:Genghis.Models.Document,parse:function(c){Genghis.Selection.Pagination.set({page:c.page,pages:c.pages,count:c.documents.length,total:c.count});return c.documents}});Genghis.Collections.Servers=Backbone.Collection.extend({model:Genghis.Models.Server});
Genghis.Views.Alert=Backbone.View.extend({tagName:"div",template:_.template($("#alert-template").html()),events:{"click a.close":"destroy"},initialize:function(){_.bindAll(this,"render","remove","destroy");this.model.bind("change",this.render);this.model.bind("destroy",this.remove)},render:function(){$(this.el).html(this.template(this.model.toJSON()));return this},destroy:function(){this.model.destroy()},remove:function(){$(this.el).remove()}});
Genghis.Views.Alerts=Backbone.View.extend({el:"aside#alerts",initialize:function(){_.bindAll(this,"render","addModel");this.collection.bind("reset",this.render);this.collection.bind("add",this.addModel)},render:function(){$(this.el).html("");return this},addModel:function(c){c=new Genghis.Views.Alert({model:c});$(this.el).append(c.render().el)}});
Genghis.Views.App=Backbone.View.extend({el:"section#genghis",initialize:function(){_.bindAll(this,"showSection");Genghis.baseUrl=this.options.base_url;Genghis.Selection=new Genghis.Models.Selection;Genghis.Alerts=new Genghis.Collections.Alerts;this.NavView=new Genghis.Views.Nav({model:Genghis.Selection});this.AlertsView=new Genghis.Views.Alerts({collection:Genghis.Alerts});this.KeyboardShortcutsView=new Genghis.Views.KeyboardShortcuts;this.ServersView=new Genghis.Views.Servers({collection:Genghis.Selection.Servers});
this.DatabasesView=new Genghis.Views.Databases({model:Genghis.Selection.CurrentServer,collection:Genghis.Selection.Databases});this.CollectionsView=new Genghis.Views.Collections({model:Genghis.Selection.CurrentDatabase,collection:Genghis.Selection.Collections});this.DocumentsView=new Genghis.Views.Documents({collection:Genghis.Selection.Documents});this.DocumentView=new Genghis.Views.Document({model:Genghis.Selection.CurrentDocument});this.Router=new Genghis.Router;$(".navbar a.brand").click(function(c){c.preventDefault();
App.Router.navigate("",!0)});$.getJSON(Genghis.baseUrl+"check-status").error(Genghis.Alerts.handleError).success(function(c){_.each(c.alerts,function(c){Genghis.Alerts.add(_.extend({block:!c.msg.search(/<(p|ul|ol|div)[ >]/i)},c))})});Genghis.Selection.change()},showSection:function(c){this.$("section").hide().filter("#"+(_.isArray(c)?c.join(",#"):c)).addClass("spinning").show();$(document).scrollTop(0)}});Genghis.Views.CollectionRow=Genghis.Base.RowView.extend({template:_.template($("#collection-row-template").html())});
Genghis.Views.Collections=Genghis.Base.SectionView.extend({el:"section#collections",template:_.template($("#collections-template").html()),rowView:Genghis.Views.CollectionRow,formatTitle:function(c){return c.id?c.id+" collections":"Collections"}});
Genghis.Views.DatabaseRow=Genghis.Base.RowView.extend({template:_.template($("#database-row-template").html()),destroy:function(){var c=this.model;apprise("<strong>Deleting is forever.</strong><br><br>Type <strong>DELETE</strong> to continue:",{input:!0,textOk:"Delete "+c.get("name")+" forever"},function(m){"DELETE"==m?c.destroy():apprise("<strong>Phew. That was close.</strong><br><br>"+c.get("name")+" was not deleted.")})}});
Genghis.Views.Databases=Genghis.Base.SectionView.extend({el:"section#databases",template:_.template($("#databases-template").html()),rowView:Genghis.Views.DatabaseRow,formatTitle:function(c){return c.id?c.id+" databases":"Databases"}});
Genghis.Views.Document=Backbone.View.extend({el:"section#document",template:_.template($("#document-template").html()),initialize:function(){_.bindAll(this,"render");this.model.bind("change",this.render)},render:function(){var c=new Genghis.Views.DocumentView({model:this.model});$(this.el).removeClass("spinning").html(this.template({model:this.model}));this.$(".content").html(c.render().el);Genghis.Util.attachCollapsers(c.el);return this}});
Genghis.Views.DocumentView=Backbone.View.extend({tagName:"article",template:_.template($("#document-view-template").html()),events:{"click a.id":"navigate","click button.edit":"openEditDialog","click button.save":"saveDocument","click button.cancel":"cancelEdit","click button.destroy":"destroy","click .db-ref-ref .value":"navigateColl","click .db-ref-db .value":"navigateDb","click .db-ref-id .value":"navigateId"},initialize:function(){_.bindAll(this,"render","updateDocument","navigate","openEditDialog",
"cancelEdit","saveDocument","destroy","remove","navigateColl","navigateDb","navigateId");this.model.bind("change",this.updateDocument);this.model.bind("destroy",this.remove)},render:function(){$(this.el).html(this.template(this.model));return this},updateDocument:function(){this.$(".document").html(this.model.prettyPrint()).show();Genghis.Util.attachCollapsers(this.el)},navigate:function(c){c.preventDefault();App.Router.navigate(Genghis.Util.route($(c.target).attr("href")),!0)},navigateDb:function(c){c=
$(c.target).parents(".db-ref").find(".db-ref-db .value").text();App.Router.redirectToDatabase(Genghis.Selection.CurrentServer.id,c)},navigateColl:function(c){var m=$(c.target).parents(".db-ref"),c=m.find(".db-ref-db  .value").text()||Genghis.Selection.CurrentDatabase.id,m=m.find(".db-ref-ref .value").text();App.Router.redirectToCollection(Genghis.Selection.CurrentServer.id,c,m)},navigateId:function(c){var m=$(c.target).parents(".db-ref"),c=m.find(".db-ref-db  .value").text()||Genghis.Selection.CurrentDatabase.id,
k=m.find(".db-ref-ref .value").text()||Genghis.Selection.CurrentCollection.id,m=m.find(".db-ref-id  .value").text();App.Router.redirectToDocument(Genghis.Selection.CurrentServer.id,c,k,m)},openEditDialog:function(){var c=this.$(".well"),m=Math.max(180,Math.min(600,c.height()+40));$(this.el).addClass("edit");c.height(m);c=$('<div id="editor-'+this.model.id+'" class="genghis-document-editor"></div>').text(this.model.JSONish()).appendTo(c).height(m);this.$(".document").hide();this.editor=ace.edit("editor-"+
this.model.id);this.editor.setTheme("ace/theme/git-hubby");this.editor.setHighlightActiveLine(!1);this.editor.setShowPrintMargin(!1);this.editor.renderer.setShowGutter(!1);m=require("ace/mode/json").Mode;this.editor.getSession().setMode(new m);c.resize(_.throttle(this.editor.resize,100))},cancelEdit:function(){$(this.el).removeClass("edit");this.editor.destroy();this.$(".genghis-document-editor").remove();this.updateDocument();this.$(".well").height("auto")},saveDocument:function(){var c=this.model,
m=this.cancelEdit;$.ajax({type:"POST",url:Genghis.baseUrl+"convert-json",data:this.editor.getSession().getValue(),contentType:"application/json",async:!1,success:function(k){c.clear({silent:!0});c.set(k);c.save();m()},dataType:"json"})},destroy:function(){var c=this.model;apprise("Really? There is no undo.",{confirm:!0,textCancel:"Cancel",textOk:"<strong>Yes</strong>, delete document forever"},function(m){m&&(c.destroy(),Genghis.Selection.Pagination.decrementTotal())})},remove:function(){$(this.el).remove()}});
Genghis.Views.Documents=Backbone.View.extend({el:"section#documents",template:_.template($("#documents-template").html()),events:{"click button.add-document":"createDocument"},initialize:function(){_.bindAll(this,"render","addAll","addDocument","createDocument","createDocumentIfVisible");this.collection.bind("reset",this.addAll,this);this.collection.bind("add",this.addDocument,this);$(document).bind("keyup","c",this.createDocumentIfVisible);this.render()},render:function(){$(this.el).html(this.template({}));
this.HeaderView=new Genghis.Views.DocumentsHeader({model:Genghis.Selection.Pagination});this.NewDocumentView=new Genghis.Views.NewDocument({collection:Genghis.Selection.Documents});this.PaginationView=new Genghis.Views.Pagination({el:this.$(".pagination-wrapper"),model:Genghis.Selection.Pagination,collection:this.collection});this.addAll();return this},addAll:function(){this.$(".content").html("");this.collection.each(this.addDocument);$(this.el).removeClass("spinning")},addDocument:function(c){c=
(new Genghis.Views.DocumentView({model:c})).render();this.$(".content").append(c.el);Genghis.Util.attachCollapsers(c.el,3<this.collection.size())},createDocument:function(){this.NewDocumentView.show()},createDocumentIfVisible:function(c){$(this.el).is(":visible")&&(c.preventDefault(),this.createDocument())}});
Genghis.Views.DocumentsHeader=Backbone.View.extend({el:"section#documents > header h2",initialize:function(){_.bindAll(this,"render");this.model.bind("change",this.render)},render:function(){var c,m=this.model.get("count"),k=this.model.get("page");this.model.get("pages");var b=this.model.get("limit"),e=this.model.get("total");c=""+e+" document"+(1!=e?"s":"");if(e!=m){var g=(k-1)*b+1,m=Math.min((k-1)*b+m,e);c=""+g+" - "+m+" of "+c}$(this.el).html(c);return this}});
Genghis.Views.KeyboardShortcuts=Backbone.View.extend({tagName:"div",template:_.template($("#keyboard-shortcuts-template").html()),events:{"click a.close":"hide"},initialize:function(){_.bindAll(this,"render","show","hide","toggle");$(document).bind("keyup","shift+/",this.toggle);$("footer a.keyboard-shortcuts").click(this.show);this.render()},render:function(){$(this.el).html(this.template()).modal({backdrop:!0,keyboard:!0,show:!1});return this},show:function(c){c.preventDefault();$(this.el).modal("show")},
hide:function(c){c.preventDefault();$(this.el).modal("hide")},toggle:function(){$(this.el).modal("toggle")}});
Genghis.Views.Nav=Backbone.View.extend({el:".navbar nav",template:_.template($("#nav-template").html()),events:{"keyup input#navbar-query":"findDocuments","click a":"navigate"},initialize:function(){_.bindAll(this,"render","toggleSections","updateQuery","findDocuments","navigate","navigateToServers","navigateUp","focusSearch");this.model.bind("change",this.toggleSections);this.model.bind("change",this.updateQuery);$("body").bind("click",function(){$(".dropdown-toggle, .menu").parent("li").removeClass("open")});
$(document).bind("keyup","s",this.navigateToServers);$(document).bind("keyup","u",this.navigateUp);this.render()},render:function(){$(this.el).html(this.template({query:this.model.get("query")}));$(document).bind("keyup","/",this.focusSearch);this.ServerNavView=new Genghis.Views.NavSection({el:$("li.server",this.el),model:this.model.CurrentServer,collection:this.model.Servers});this.DatabaseNavView=new Genghis.Views.NavSection({el:$("li.database",this.el),model:this.model.CurrentDatabase,collection:this.model.Databases});
this.CollectionNavView=new Genghis.Views.NavSection({el:$("li.collection",this.el),model:this.model.CurrentCollection,collection:this.model.Collections});return this},toggleSections:function(){$(this.ServerNavView.el).toggle(null!==this.model.get("server"));$(this.DatabaseNavView.el).toggle(null!==this.model.get("database"));$(this.CollectionNavView.el).toggle(null!==this.model.get("collection"));this.$("form").toggle(null!==this.model.get("collection"))},updateQuery:function(){var c=(this.model.get("query")||
this.model.get("document")||"").trim().replace(/^\{\s*\}$/,"").replace(/^\{\s*(['"]?)_id\1\s*:\s*\{\s*(['"]?)\$id\2\s*:\s*(["'])([a-z\d]+)\3\s*\}\s*\}$/,"$4");this.$("input#navbar-query").val(c)},findDocuments:function(c){13==c.keyCode?(c.preventDefault(),c=$(c.target).val(),c=Genghis.Util.route(this.model.CurrentCollection.url+"/documents")+(c.match(/^([a-z\d]+)$/i)?"/"+c:"?"+Genghis.Util.buildQuery({q:encodeURIComponent(c)})),App.Router.navigate(c,!0)):27==c.keyCode&&(this.$("input#navbar-query").blur(),
this.updateQuery())},navigate:function(c){c.preventDefault();App.Router.navigate(Genghis.Util.route($(c.target).attr("href")),!0)},navigateToServers:function(c){c.preventDefault();App.Router.redirectToIndex()},navigateUp:function(c){c.preventDefault();App.Router.redirectTo(this.model.has("database")&&this.model.get("server"),this.model.has("collection")&&this.model.get("database"),(this.model.has("document")||this.model.has("query"))&&this.model.get("collection"))},focusSearch:function(c){this.$("input#navbar-query").is(":visible")&&
(c.preventDefault(),this.$("input#navbar-query").focus())}});
Genghis.Views.NavSection=Backbone.View.extend({template:_.template($("#nav-section-template").html()),menuTemplate:_.template($("#nav-section-menu-template").html()),initialize:function(){_.bindAll(this,"render");this.model.bind("change",this.updateLink,this);this.collection.bind("reset",this.renderMenu,this);this.render()},render:function(){$(this.el).html(this.template({model:this.model}));this.$(".dropdown-toggle").hoverIntent(function(c){$(c.target).parent("li").addClass("open").siblings("li").removeClass("open")},$.noop);
return this},updateLink:function(){this.$("a.dropdown-toggle").text(this.model.id?this.model.id:"").attr("href",this.model.id?this.model.url:"")},renderMenu:function(){this.$("ul.dropdown-menu").html(this.menuTemplate({model:this.model,collection:this.collection}))}});
Genghis.Views.NewDocument=Backbone.View.extend({el:"#new-document",template:_.template($("#new-document-template").html()),initialize:function(){_.bindAll(this,"render","show","resizeEditor","closeModal","cancelEdit","saveDocument");this.render()},render:function(){this.el=$(this.template()).hide().appendTo("body");this.modal=this.el.modal("hide");this.modal.bind("hide",this.cancelEdit);this.editor=ace.edit("editor-new");this.editor.setTheme("ace/theme/git-hubby");this.editor.setHighlightActiveLine(!1);
this.editor.setShowPrintMargin(!1);this.editor.renderer.setShowGutter(!1);var c=require("ace/mode/json").Mode;this.editor.getSession().setMode(new c);$(window).resize(_.throttle(this.resizeEditor,100));this.modal.bind("shown",this.resizeEditor);this.modal.find("button.cancel").bind("click",this.closeModal);this.modal.find("button.save").bind("click",this.saveDocument);return this},show:function(){this.el.find("#editor-new").height($(window).height()-250);this.editor.getSession().setValue("{\n    \n}\n");
this.editor.focus();this.modal.css({marginTop:30-this.el.height()/2+"px"}).modal("show")},resizeEditor:function(){this.editor.resize()},closeModal:function(){this.modal.modal("hide")},cancelEdit:function(){this.editor.getSession().setValue("")},saveDocument:function(){var c=this.collection,m=this.closeModal;$.ajax({type:"POST",url:Genghis.baseUrl+"convert-json",data:this.editor.getSession().getValue(),contentType:"application/json",async:!1,success:function(k){c.create(k,{success:function(b){m();
App.Router.navigate(Genghis.Util.route(b.url()),!0)}})},dataType:"json"})}});
Genghis.Views.Pagination=Backbone.View.extend({template:_.template($("#pagination-template").html()),events:{"click a":"navigate"},initialize:function(){_.bindAll(this,"render","urlTemplate","navigate","nextPage","prevPage");this.model.bind("change",this.render);$(document).bind("keyup","n",this.nextPage);$(document).bind("keyup","p",this.prevPage)},render:function(){if(1==this.model.get("pages"))$(this.el).hide();else{var c=Math.ceil(4.5),m=this.model.get("page"),k=this.model.get("pages"),b=m>c?
Math.max(m-(c-3),1):1,e=k-m>c?Math.min(m+(c-3),k):k,c=e==k?Math.max(k-6,1):b,b=1==b?Math.min(c+6,k):e;b>=k-2&&(b=k);3>=c&&(c=1);var g=this.urlTemplate();$(this.el).html(this.template(_.extend(this.model.toJSON(),{page:m,pages:k,start:c,end:b,prev:Math.max(1,m-1),next:Math.min(m+1,k),url:function(b){return g.replace("{{ page }}",b)}}))).show()}return this},urlTemplate:function(){var c=this.collection.url.split("?"),m=c.shift(),c=Genghis.Util.parseQuery(c.join("?"));return m+"?"+Genghis.Util.buildQuery(_.extend(c,
{page:"{{ page }}"}))},navigate:function(c){c.preventDefault();(c=$(c.target).attr("href"))&&App.Router.navigate(Genghis.Util.route(c),!0)},nextPage:function(c){$(this.el).is(":visible")&&(c.preventDefault(),this.$("li.next a[href]").click())},prevPage:function(c){$(this.el).is(":visible")&&(c.preventDefault(),this.$("li.prev a[href]").click())}});Genghis.Views.ServerRow=Genghis.Base.RowView.extend({template:_.template($("#server-row-template").html())});
Genghis.Views.Servers=Genghis.Base.SectionView.extend({el:"section#servers",template:_.template($("#servers-template").html()),rowView:Genghis.Views.ServerRow,updateTitle:function(){}});
Genghis.Router=Backbone.Router.extend({routes:{"":"index",servers:"redirectToIndex","servers/:server":"server","servers/:server/databases":"redirectToServer","servers/:server/databases/:database":"database","servers/:server/databases/:database/collections":"redirectToDatabase","servers/:server/databases/:database/collections/:collection":"collection","servers/:server/databases/:database/collections/:collection/documents":"redirectToCollection","servers/:server/databases/:database/collections/:collection/documents?*query":"collectionQuery",
"servers/:server/databases/:database/collections/:collection/documents/:documentId":"document","*path":"notFound"},index:function(){document.title="Genghis";Genghis.Selection.select();App.showSection("servers")},redirectToIndex:function(){this.navigate("",!0)},server:function(c){document.title=this.buildTitle(c);Genghis.Selection.select(c);App.showSection("databases")},redirectToServer:function(c){this.navigate("servers/"+c,!0)},database:function(c,m){document.title=this.buildTitle(c,m);Genghis.Selection.select(c,
m);App.showSection("collections")},redirectToDatabase:function(c,m){this.navigate("servers/"+c+"/databases/"+m,!0)},collection:function(c,m,k){document.title=this.buildTitle(c,m,k);Genghis.Selection.select(c,m,k);App.showSection("documents")},redirectToCollection:function(c,m,k){this.navigate("servers/"+c+"/databases/"+m+"/collections/"+k,!0)},collectionQuery:function(c,m,k,b){document.title=this.buildTitle(c,m,k,"Query results");b=Genghis.Util.parseQuery(b);Genghis.Selection.select(c,m,k,null,b.q,
b.page);App.showSection("documents")},redirectToQuery:function(c,m,k,b){this.navigate("servers/"+c+"/databases/"+m+"/collections/"+k+"?"+Genghis.Util.buildQuery({q:encodeURIComponent(b)}),!0)},document:function(c,m,k,b){document.title=this.buildTitle(c,m,k,b);Genghis.Selection.select(c,m,k,b);App.showSection("document")},redirectToDocument:function(c,m,k,b){this.navigate("servers/"+c+"/databases/"+m+"/collections/"+k+"/documents/"+b,!0)},redirectTo:function(c,m,k,b,e){return!c?this.redirectToIndex():
!m?this.redirectToServer(c):!k?this.redirectToDatabase(c,m):!b&&!e?this.redirectToCollection(c,m,k):e?this.redirectToQuery(c,m,k,e):this.redirectToDocument(c,m,k,b)},notFound:function(c){if(c.replace(/\/$/,"")==Genghis.baseUrl.replace(/\/$/,""))return App.Router.navigate("",!0);document.title=this.buildTitle("404: Not Found");$("section#genghis section#error").html("<header><h2>404: Not Found</h2></header><p>If you think you've reached this message in error, please press <strong>0</strong> to speak with an operator. Otherwise, hang up and try again.</p>");
App.showSection("error")},buildTitle:function(){var c=Array.prototype.slice.call(arguments);return c.length?"Genghis \u2014 "+c.join(" \u203a "):"Genghis"}});

Return current item: Genghis