diff --git a/.htaccess b/.htaccess deleted file mode 100644 index cef7ebd7..00000000 --- a/.htaccess +++ /dev/null @@ -1,26 +0,0 @@ -DirectoryIndex page568524.html -RewriteEngine On -RewriteCond %{REQUEST_FILENAME} !-d -RewriteRule ^(.*)/$ /$1 [L,R=301] -RewriteRule ^last$ page627123.html -RewriteRule ^top$ page627210.html -RewriteRule ^about$ page627364.html -RewriteRule ^privacy$ page627373.html - -RewriteCond %{REQUEST_FILENAME} !-f -RewriteCond %{REQUEST_FILENAME} !-d -RewriteRule ^js/config.js$ config.php [L,QSA] - -RewriteRule ^widgets$ widgets.html - -RewriteCond %{REQUEST_FILENAME} !-f -RewriteCond %{REQUEST_FILENAME} !-d -RewriteRule ^tx/(.*) index.php [L,QSA] - -RewriteCond %{REQUEST_FILENAME} !-f -RewriteCond %{REQUEST_FILENAME} !-d -RewriteRule ^address/(.*) index.php [L,QSA] - -RewriteCond %{REQUEST_FILENAME} !-f -RewriteCond %{REQUEST_FILENAME} !-d -RewriteRule ^search/(.*) index.php [L,QSA] \ No newline at end of file diff --git a/README.md b/README.md index 225f57e1..351e3efc 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ # Ethplorer - Ethereum Tokens Explorer -Easy viewer for investors and ICOs -API and Widgets for developers +Provides [API](https://github.com/EverexIO/Ethplorer/wiki/ethplorer-api), TOP charts, Ethereum Tokens Index, Widgets for websites. -Provides API, TOP charts, Ethereum Tokens Index, Widgets for websites. +Track portfolio for any Ethereum address with historical balance charts and transactions. Complete address analytics from historical balances to the volumes of trading, operations and transfers per token per day. Explore marketing possibilities with token API and display widgets. + +*You are in the right company. Most of the great projects out there are already using [Ethplorer's API](https://github.com/EverexIO/Ethplorer/wiki/ethplorer-api): MyEtherWallet, Metamask, MyCrypto, Bancor, Storj, Everex Wallet, Atomic Wallet, Ambisafe, Cointracking, Coinigy and more are among our most popular users* [Online version at Ethplorer.io](https://ethplorer.io) @@ -28,35 +29,16 @@ Historical volume and value chart. Detailed information about all tokens. # Widgets for third-party websites -![alt tag](https://github.com/EverexIO/Ethplorer/blob/develop/images/augur-widget.png) +![alt tag](https://github.com/EverexIO/Ethplorer/blob/master/images/augur-widget.png) [Samples and instructions for widget usage](https://ethplorer.io/widgets) # API -Documentation available at [WIKI pages](https://github.com/EverexIO/Ethplorer/wiki/ethplorer-api). - - -# Installation - -Clone repository into separate webserver's directory. - -``` -cd /var/www -mkdir ethplorer -git clone https://github.com/everexio/ethplorer.git ethplorer -``` +Documentation available at [WIKI pages](https://github.com/EverexIO/Ethplorer/wiki/ethplorer-api) -Make sure your web server supports .htaccess and mod_rewrite. - - -# Configure - -Copy service/config.sample.php to service/config.php and specify service addresses. # Disclaimer -By using Ethplorer code fully or partially, API, widgets or any other service on your website or app for commerce or non-profit activities, you hereby grant permission and allow us to use your business name and/or trademark in our marketing or advertising. - - +By using Ethplorer code fully or partially, API, widgets or any other service on your website or app for commerce or non-profit activities, you hereby agree with [Terms of Usage and Privacy Policy](https://ethplorer.io/privacy) and grant permission and allow us to use your business name and/or trademark in our marketing or advertising. diff --git a/_config.yml b/_config.yml deleted file mode 100644 index c4192631..00000000 --- a/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-cayman \ No newline at end of file diff --git a/api/controller.php b/api/controller.php deleted file mode 100644 index 6bd7400b..00000000 --- a/api/controller.php +++ /dev/null @@ -1,627 +0,0 @@ -sendError(3, 'Database connection failed'); - } - $this->startTime = microtime(TRUE); - $this->db = $es; - $command = isset($_GET["cmd"]) ? $_GET["cmd"] : FALSE; - if(!$command){ - $home = str_replace('/index.php', '', $_SERVER["SCRIPT_NAME"]); - $uri = $_SERVER["REQUEST_URI"]; - if(FALSE !== strpos($uri, "?")){ - $uri = substr($uri, 0, strpos($uri, "?")); - } - $commandStr = preg_replace("/^\//", "", substr($uri, strlen($home))); - $aParts = explode("/", $commandStr); - $command = $aParts[0]; - if(count($aParts) > 1){ - for($i=1; $iparams[] = $aParts[$i]; - } - } - } - $this->command = $command; - } - - public function __destruct(){ - $logsDir = __DIR__ . '/../service/log'; - $cacheDir = __DIR__ . '/../service/cache'; - $ms = round(microtime(TRUE) - $this->startTime, 4); - $date = date("Y-m-d H:i"); - $key = $this->getRequest('apiKey', "-"); - if($key && ('freekey' !== $key)){ - file_put_contents($cacheDir . '/apiKey-' . md5($key) . '.tmp', $date); - } - $source = $this->getRequest('domain', FALSE); - if($source){ - file_put_contents($logsDir . '/widget-request.log', "[$date] Widget: {$this->command}, source: {$source}\n", FILE_APPEND); - } - file_put_contents($logsDir . '/api-request.log', "[$date] Call: {$this->command}, Key: {$key} URI: {$_SERVER["REQUEST_URI"]}, IP: {$_SERVER['REMOTE_ADDR']}, {$ms} s." . $this->cacheState . "\n", FILE_APPEND); - } - - public function getCommand(){ - return $this->command; - } - - public function getParam($number, $default = NULL){ - return isset($this->params[$number]) ? $this->params[$number] : $default; - } - - public function getRequest($name, $default = NULL){ - $result = filter_input(INPUT_GET, $name); - return (FALSE !== $result) && (!is_null($result)) ? $result : $default; - } - - public function sendResult(array $result){ - echo json_encode($result, JSON_UNESCAPED_SLASHES); - die(); - } - - public function sendError($code, $message){ - $result = array( - 'error' => array( - 'code' => $code, - 'message' => $message - ) - ); - $this->sendResult($result); - } - - /** - * Checks API key and runs command - * - * @return void - */ - public function run(){ - $result = FALSE; - $command = $this->getCommand(); - if($command && in_array($command, $this->apiCommands) && method_exists($this, $command)){ - $key = $this->getRequest('apiKey', FALSE); - if(!$key || !$this->db->checkAPIkey($key)){ - $this->sendError(1, 'Invalid API key'); - } - $this->defaults = $this->db->getAPIKeyDefaults($key, $command); - - $timestamp = $this->getRequest('timestamp', FALSE); - - if(FALSE !== $timestamp){ - $cacheId = 'API-' . $command . '-' . md5($_SERVER["REQUEST_URI"]); - $oCache = $this->db->getCache(); - $result = $oCache->get($cacheId, FALSE, TRUE, 15); - } - if(!$result){ - $result = call_user_func(array($this, $command)); - if((FALSE !== $timestamp) && $cacheId && (FALSE !== $result)){ - $oCache->save($cacheId, $result); - } - } - } - return $result; - } - - /** - * /getTokenInfo method implementation. - * - * @return array - */ - public function getTokenInfo(){ - $address = $this->getParam(0, ''); - $address = strtolower($address); - if((FALSE === $address)){ - $this->sendError(103, 'Missing address'); - } - if(!$this->db->isValidAddress($address)){ - $this->sendError(104, 'Invalid address format'); - } - $result = $this->db->getToken($address); - if($result && is_array($result)){ - unset($result['checked']); - unset($result['txsCount']); - // unset($result['transfersCount']); - - // @todo: check what's wrong with cache - $result['countOps'] = $this->db->countOperations($address); - $result['transfersCount'] = (int)$result['countOps']; - if(isset($result['issuancesCount']) && $result['issuancesCount']){ - $result['transfersCount'] = $result['transfersCount'] - (int)$result['issuancesCount']; - } - $result['holdersCount'] = $this->db->getTokenHoldersCount($address); - }else{ - $this->sendError(150, 'Address is not a token contract'); - } - $this->sendResult($result); - } - - /** - * /getAddressInfo method implementation. - * - * @return array - */ - public function getAddressInfo(){ - $address = $this->getParam(0, ''); - $address = strtolower($address); - $onlyToken = $this->getRequest('token', FALSE); - if((FALSE === $address)){ - $this->sendError(103, 'Missing address'); - } - $address = strtolower($address); - if(!$this->db->isValidAddress($address) || ($onlyToken && !$this->db->isValidAddress($onlyToken))){ - $this->sendError(104, 'Invalid address format'); - } - $result = array( - 'address' => $address, - 'ETH' => array( - 'balance' => $this->db->getBalance($address), - 'totalIn' => 0, - 'totalOut' => 0, - ), - 'countTxs' => $this->db->countTransactions($address) - ); - if($result['countTxs'] && ($result['countTxs'] < 10000)){ - $out = $this->db->getEtherTotalOut($address); - $result['ETH']['totalIn'] = $result['ETH']['balance'] + $out; - $result['ETH']['totalOut'] = $out; - } - if($contract = $this->db->getContract($address)){ - $result['contractInfo'] = array( - 'creatorAddress' => $contract['creator'], - 'transactionHash' => $contract['hash'], - 'timestamp' => $contract['timestamp'] - ); - if($token = $this->db->getToken($address)){ - unset($token['checked']); - unset($token['txsCount']); - unset($token['transfersCount']); - $result['tokenInfo'] = $token; - } - } - $balances = $this->db->getAddressBalances($address, FALSE); - if(is_array($balances) && !empty($balances)){ - $result['tokens'] = array(); - foreach($balances as $balance){ - if($onlyToken){ - if($balance['contract'] !== strtolower($onlyToken)){ - continue; - } - } - $token = $this->db->getToken($balance['contract']); - if($token){ - unset($token['checked']); - unset($token['txsCount']); - unset($token['transfersCount']); - $result['tokens'][] = array( - 'tokenInfo' => $token, - 'balance' => $balance['balance'], - 'totalIn' => isset($balance['totalIn']) ? $balance['totalIn'] : 0, - 'totalOut' => isset($balance['totalOut']) ? $balance['totalOut'] : 0 - ); - } - } - } - $this->sendResult($result); - } - - /** - * /getTxInfo method implementation. - * - * @return array - */ - public function getTxInfo(){ - $txHash = $this->getParam(0, ''); - $txHash = strtolower($txHash); - if((FALSE === $txHash)){ - $this->sendError(101, 'Missing transaction hash'); - } - $txHash = strtolower($txHash); - if(!$this->db->isValidTransactionHash($txHash)){ - $this->sendError(102, 'Invalid transaction hash format'); - } - $tx = $this->db->getTransactionDetails($txHash); - if(!is_array($tx) || (FALSE === $tx['tx'])){ - $this->sendError(404, 'Transaction not found'); - } - $result = array( - 'hash' => $txHash, - 'timestamp' => $tx['tx']['timestamp'], - 'blockNumber' => $tx['tx']['blockNumber'], - 'confirmations' => $this->db->getLastBlock() - $tx['tx']['blockNumber'] + 1, - 'success' => $tx['tx']['success'], - 'from' => $tx['tx']['from'], - 'to' => $tx['tx']['to'], - 'value' => $this->_bn2float($tx['tx']['value']), - 'input' => $tx['tx']['input'], - 'gasLimit' => $tx['tx']['gasLimit'], - 'gasUsed' => $tx['tx']['gasUsed'], - 'logs' => array(), - ); - if(isset($tx['tx']) && !empty($tx['tx']['receipt']) && !empty($tx['tx']['receipt']['logs'])){ - foreach($tx['tx']['receipt']['logs'] as $log){ - $result['logs'][] = array( - 'address' => $log['address'], - 'topics' => $log['topics'], - 'data' => $log['data'], - ); - } - } - $operations = $this->db->getOperations($txHash); - if(is_array($operations) && !empty($operations)){ - foreach($operations as $i => $operation){ - $token = $this->db->getToken($operation['contract']); - if($token && is_array($token)){ - unset($token['checked']); - unset($token['txsCount']); - unset($token['transfersCount']); - $operations[$i]['tokenInfo'] = $token; - } - unset($operations[$i]['blockNumber']); - unset($operations[$i]['success']); - unset($operations[$i]['contract']); - } - $result['operations'] = $operations; - } - $this->sendResult($result); - } - - /** - * /getTokenHistory method implementation. - * - * @return array - */ - public function getTokenHistory(){ - return $this->_getHistory(); - } - - /** - * /getAddressHistory method implementation. - * - * @return array - */ - public function getAddressHistory(){ - return $this->_getHistory(TRUE); - } - - /** - * /getAddressTransactions method implementation. - * - * @return array - */ - public function getAddressTransactions(){ - $address = $this->getParam(0, ''); - $address = strtolower($address); - $onlyToken = $this->getRequest('token', FALSE); - if((FALSE === $address)){ - $this->sendError(103, 'Missing address'); - } - $address = strtolower($address); - if(!$this->db->isValidAddress($address)){ - $this->sendError(104, 'Invalid address format'); - } - - $maxLimit = is_array($this->defaults) && isset($this->defaults['limit']) ? $this->defaults['limit'] : 50; - $limit = max(min(abs((int)$this->getRequest('limit', 10)), $maxLimit), 1); - $showZeroValues = !!$this->getRequest('showZeroValues', FALSE); - $result = $this->db->getTransactions($address, $limit, $showZeroValues); - - $this->sendResult($result); - } - - /** - * /getTop method implementation. - * - * @undocumented - * @return array - */ - public function getTop(){ - $maxLimit = is_array($this->defaults) && isset($this->defaults['limit']) ? $this->defaults['limit'] : 100; - $limit = max(min(abs((int)$this->getRequest('limit', 50)), $maxLimit), 1); - $criteria = $this->getRequest('criteria', 'trade'); - $result = $this->db->getTokensTop($limit, $criteria); - $this->sendResult($result); - } - - /** - * /getTopTokens method implementation. - * - * @undocumented - * @return array - */ - public function getTopTokens(){ - $maxLimit = is_array($this->defaults) && isset($this->defaults['limit']) ? $this->defaults['limit'] : 50; - $maxPeriod = is_array($this->defaults) && isset($this->defaults['maxPeriod']) ? $this->defaults['maxPeriod'] : 90; - $limit = max(min(abs((int)$this->getRequest('limit', 10)), $maxLimit), 1); - $period = max(min(abs((int)$this->getRequest('period', 10)), $maxPeriod), 1); - $criteria = $this->getRequest('criteria', 'opCount'); - $result = false; - switch($criteria){ - case 'currentVolume': - $result = $this->_getTopByCurrentVolume($limit); - break; - case 'periodVolume': - $result = $this->_getTopByPeriodVolume($limit, $period); - break; - case 'opCount': - default: - $result = $this->_getTopByOperationsCount($limit, $period); - } - return $result; - } - - protected function _getTopByOperationsCount($limit, $period){ - $result = array('tokens' => $this->db->getTopTokens($limit, $period)); - $this->sendResult($result); - } - - protected function _getTopByCurrentVolume($limit){ - $result = array('tokens' => $this->db->getTopTokensByCurrentVolume($limit)); - $this->sendResult($result); - } - - protected function _getTopByPeriodVolume($limit, $period){ - $result = array('tokens' => $this->db->getTopTokensByPeriodVolume($limit, $period)); - $this->sendResult($result); - } - - /** - * /getTokenHistoryGrouped method implementation. - * - * @undocumented - * @return array - */ - public function getTokenHistoryGrouped(){ - $period = min(abs((int)$this->getRequest('period', 30)), 90); - $address = $this->getParam(0, FALSE); - $cap = $this->getRequest('cap'); - if($address){ - $address = strtolower($address); - if(!$this->db->isValidAddress($address)){ - $this->sendError(104, 'Invalid token address format'); - } - } - if($this->getRequest('full')){ - $result = array('countTxs' => $this->db->getTokenFullHistoryGrouped()); - }else{ - $result = array('countTxs' => $this->db->getTokenHistoryGrouped($period, $address)); - } - if($cap){ - $result['cap'] = $this->db->getTokenCapHistory($period); - } - $result['totals'] = $this->db->getTokensTopTotals(); - $this->sendResult($result); - } - - /** - * /getPriceHistoryGrouped method implementation. - * - * @undocumented - * @return array - */ - public function getPriceHistoryGrouped(){ - $result = array('history' => array()); - $address = $this->getParam(0, FALSE); - if($address){ - $address = strtolower($address); - if(!$this->db->isValidAddress($address)){ - $this->sendError(104, 'Invalid address format'); - } - }else{ - $this->sendResult($result); - return; - } - if($token = $this->db->getToken($address) || $address == $this->db->ADDRESS_CHAINY){ - $this->getTokenPriceHistoryGrouped(); - }else{ - $this->getAddressPriceHistoryGrouped(); - } - } - - /** - * /getTokenPriceHistoryGrouped method implementation. - * - * @undocumented - * @return array - */ - public function getTokenPriceHistoryGrouped(){ - $period = min(abs((int)$this->getRequest('period', 365)), 365); - if($period <= 0) $period = 365; - $address = $this->getParam(0, FALSE); - if($address){ - $address = strtolower($address); - if(!$this->db->isValidAddress($address)){ - $this->sendError(104, 'Invalid token address format'); - } - } - $result = array('history' => $this->db->getTokenPriceHistoryGrouped($address, $period)); - $this->sendResult($result); - } - - /** - * /getAddressPriceHistoryGrouped method implementation. - * - * @undocumented - * @return array - */ - public function getAddressPriceHistoryGrouped(){ - $address = $this->getParam(0, FALSE); - if($address){ - $address = strtolower($address); - if(!$this->db->isValidAddress($address)){ - $this->sendError(104, 'Invalid address format'); - } - } - $result = array('history' => $this->db->getAddressPriceHistoryGrouped($address)); - if(isset($result['history']['cache'])) $this->cacheState = $result['history']['cache']; - else $this->cacheState = ''; - $this->sendResult($result); - } - - public function getBlockTransactions(){ - $block = (int)$this->getRequest('block'); - $showZeroValues = !!$this->getRequest('showZeroValues', FALSE); - $result = $this->db->getBlockTransactions($block, $showZeroValues); - $this->sendResult($result); - } - - public function getLastBlock(){ - $result = array('lastBlock' => $this->db->getLastBlock()); - $this->sendResult($result); - } - - /** - * /getPoolAddresses method implementation. - * - * @undocumented - * @return array - */ - public function getPoolAddresses(){ - $result = array('addresses' => array()); - $poolId = $this->getRequest('poolId', FALSE); - if($poolId){ - $result = array('addresses' => $this->db->getPoolAddresses($poolId)); - } - $this->sendResult($result); - } - - /** - * /getPoolLastTransactions method implementation. - * - * @undocumented - * @return array - */ - public function getPoolLastTransactions(){ - $result = array(); - $poolId = $this->getRequest('poolId', FALSE); - $period = max(min(abs((int)$this->getRequest('period', 86400)), 864000), 1); - if($poolId){ - $result = $this->db->getPoolLastTransactions($poolId, $period); - } - $this->sendResult($result); - } - - /** - * /getPoolLastOperations method implementation. - * - * @undocumented - * @return array - */ - public function getPoolLastOperations(){ - $result = array(); - $poolId = $this->getRequest('poolId', FALSE); - $period = max(min(abs((int)$this->getRequest('period', 86400)), 864000), 1); - if($poolId){ - $result = $this->db->getPoolLastOperations($poolId, $period); - } - $this->sendResult($result); - } - - /** - * - * Common method to get token and address operation history. - * - * @param bool $addressHistoryMode - * @return array - */ - protected function _getHistory($addressHistoryMode = FALSE){ - $result = array( - 'operations' => array() - ); - $address = $this->getParam(0, FALSE); - $showEth = !!$this->getRequest('showEth', FALSE); - if($address){ - $address = strtolower($address); - } - if((!$address && $addressHistoryMode) || ((FALSE !== $address) && (!$this->db->isValidAddress($address)))){ - $this->sendError(104, 'Invalid address format'); - } - $maxLimit = is_array($this->defaults) && isset($this->defaults['limit']) ? $this->defaults['limit'] : 10; - $options = array( - 'type' => $this->getRequest('type', FALSE), - 'limit' => max(min(abs((int)$this->getRequest('limit', 10)), $maxLimit), 1), - ); - if(FALSE !== $address){ - $options['address'] = $address; - } - if(FALSE !== $this->getRequest('timestamp', FALSE)){ - $options['timestamp'] = (int)$this->getRequest('timestamp'); - } - if($addressHistoryMode){ - $token = $this->getRequest('token', FALSE); - if(FALSE !== $token){ - $token = strtolower($token); - if(!$this->db->isValidAddress($token)){ - $this->sendError(104, 'Invalid token address format'); - } - $options['token'] = $token; - } - $options['history'] = TRUE; - } - $operations = $this->db->getLastTransfers($options, $showEth); - if(is_array($operations) && count($operations)){ - for($i = 0; $i < count($operations); $i++){ - $operation = $operations[$i]; - $res = array( - 'timestamp' => $operation['timestamp'], - 'transactionHash' => $operation['transactionHash'], - 'tokenInfo' => $operation['token'], - 'type' => $operation['type'], - 'value' => $operation['value'], - ); - if($showEth && isset($operation['isEth'])){ - $res['isEth'] = $operation['isEth']; - } - if(isset($operation['address'])){ - $res['address'] = $operation['address']; - } - if(isset($operation['from'])){ - $res['from'] = $operation['from']; - $res['to'] = $operation['to']; - } - $result['operations'][] = $res; - } - } - return $result; - } - - /** - * Converts JavaScript bignumber format to a float. - * - * @param array $aNumber - * @return float - */ - protected function _bn2float($aNumber){ - $res = is_array($aNumber) ? 0 : $aNumber; - if(isset($aNumber['c']) && !empty($aNumber['c'])){ - $str = ''; - for($i=0; $irun(); - -if(!$result){ - $ctr->sendError(17, 'Invalid request, check API manual there: https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API'); -} - -$ctr->sendResult($result); diff --git a/api/readme.md b/api/readme.md deleted file mode 100644 index f123913e..00000000 --- a/api/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# API - -Documentation available at [WIKI pages](https://github.com/EverexIO/Ethplorer/wiki/ethplorer-api). diff --git a/api/widget.css b/api/widget.css deleted file mode 100644 index c233cc58..00000000 --- a/api/widget.css +++ /dev/null @@ -1,444 +0,0 @@ -/* Widget outfit */ -.ethplorer-widget { - text-align: center; - font-family: 'Open Sans', sans-serif; - min-height: 200px; -} - -/* Loading */ -.ethplorer-widget .txs-loading { - margin-top: 16px; - margin-bottom: 16px; - min-height: 100px; - padding-top: 80px; -} - -/* Transfer list widget */ -.ethplorer-widget .txs { - width: 100%; - border: 0 !important; - border-collapse: collapse; -} - -.ethplorer-widget .txs-header { - padding: 5px; - color: #dedede; - font-size: 1.3em; - position:relative; -} - -.ethplorer-widget .txs.small-screen-table .tx-field { - padding-top: 0px; - font-size: 14px; -} - -.ethplorer-widget .tx-send { - max-width: 120px; - overflow: hidden; - display: inline-block; - color: #dedede; - padding-left: 8px; - padding-right: 8px; -} - -.ethplorer-widget .tx-field { - text-align: left; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis !important; - color: #47C2FF !important; - border: 0 !important; - padding-top: 10px; - padding-bottom: 0px; - padding-left: 5px; - padding-right: 5px; -} - -.ethplorer-widget .tx-token { - min-width: 32px; - max-width: 60px; -} -.ethplorer-widget .txs.small-screen-table .tx-send, -.ethplorer-widget .txs.small-screen-table .tx-date { - padding-top: 5px; -} -.ethplorer-widget .txs.small-screen-table .tx-amount { - padding-bottom: 5px; -} -.ethplorer-widget .txs.small-screen-table tr td:nth-child(2) { - text-align: right; -} -.ethplorer-widget .txs.small-screen-table .tx-link { - max-width: 140px; -} -.ethplorer-widget .txs.small-screen-table .tx-amount { - max-width: 200px; -} -.ethplorer-widget .txs.small-screen-table { - display: none; -} -.ethplorer-widget .txs tr.hidden { - transform: rotateX(-90deg); - transition: all 1s cubic-bezier(.36,-0.64,.34,1.76); - opacity: 0; -} -.ethplorer-widget .txs tr.hidden.new { - opacity: 1; - transform: none; - transition: all 1s cubic-bezier(.36,-0.64,.34,1.76); -} - -.ethplorer-widget .tx-date { - max-width: 80px; - text-align: center; -} - -.ethplorer-widget .tx-hash { - max-width: 80px; -} - -.ethplorer-widget a.widget-code-link, -.ethplorer-widget a.widget-code-link:visited, -.ethplorer-widget a.widget-code-link:hover { - color: #47C2FF !important; - display: inline-block; - max-width: 350px; - overflow: hidden; - text-overflow: ellipsis !important; - text-decoration: none !important; - border-bottom: 1px dashed #47C2FF; -} - -.ethplorer-widget a.tx-link, -.ethplorer-widget a.tx-link:visited, -.ethplorer-widget a.tx-link:hover { - color: #47C2FF !important; - display: inline-block; - max-width: 120px; - overflow: hidden; - text-overflow: ellipsis !important; -} - -.ethplorer-widget a.tx-link, -.ethplorer-widget a.tx-link:visited { - text-decoration: none !important; -} -.ethplorer-widget a.tx-link:hover { - text-decoration: underline !important; -} -.ethplorer-widget .tx-token a.tx-link, -.ethplorer-widget .tx-token a.tx-link:visited, -.ethplorer-widget .tx-token a.tx-link:hover { - max-width: 70px; -} -.ethplorer-widget .tx-amount { - text-align: right !important; -} -.ethplorer-widget .tx-amount a, -.ethplorer-widget .tx-amount a:visited, -.ethplorer-widget .tx-amount a:hover{ - max-width: 140px; - overflow: hidden; - text-overflow: ellipsis !important; - color: #dedede !important; -} - -.ethplorer-widget .txs-debug { - position: absolute; - right: 5px; - top: 0px; -} -.ethplorer-widget .txs-debug div { - cursor: pointer; - width: 32px; - text-align: center; - opacity: 0.5; - float:left; -} -.ethplorer-widget .txs-add { - color: #0099ff; -} -.ethplorer-widget .txs-debug div:hover { - opacity: 1; -} - -.ethplorer-widget.widget-topTokens #ethplorer-top .tx-link { - max-width: 450px; -} -.ethplorer-widget.widget-topTokens tr td:nth-child(3){ - text-align: right; - color: #dedede !important; -} -.ethplorer-widget.widget-topTokens tr td:nth-child(1){ - text-align: right; - padding-right: 10px; - padding-left: 0px; - color: #8a8c85 !important; - padding-bottom: 4px; - max-width: 34px; - width: 20px; -} -.ethplorer-widget.widget-topTokens a.tx-link.tx-unknown { - color: #676767 !important; -} -.ethplorer-widget.widget-topTokens a.tx-link { - max-width: 60vw; -} - -.ethplorer-widget.widget-topTokens a[data-criteria] { - cursor: pointer; -} - - -.ethplorer-widget.widget-topTokens a[data-criteria].ewSelected { - cursor: default; - color: white; - text-decoration: none; -} - -.ethplorer-widget.widget-topTokens .ewDiff { - max-width: 130px; - width: 90px; - text-align: right; -} - -.ethplorer-widget.widget-tokenHistoryGrouped .ewDiff .ewDiffUp, -.ethplorer-widget.widget-topTokens .ewDiff .ewDiffUp { - color: #1e8c1e; -} - -.ethplorer-widget.widget-tokenHistoryGrouped .ewDiff .ewDiffDown, -.ethplorer-widget.widget-topTokens .ewDiff .ewDiffDown { - color: #ae2525; -} - -.ethplorer-widget.widget-topTokens .tx-field-sort { - text-align: right !important; - color: #dedede !important; -} - -.ethplorer-widget.widget-topTokens .tx-link { - max-width: 200px !important; -} - -.widget-topTokens-tabs-row { - margin: 0 auto; - width: 100%; - padding-bottom: 20px; -} -.widget-topTokens-tabs-wrapper { - display: table; - width: 100%; -} -.widget-topTokens-tabs-wrapper_mobile { - margin: 0 auto; - width: 80%; -} -.widget-topTokens-tab { - text-align: left; - display: table-cell; - width: 33.3%; - border-bottom: 3px solid #47c2ff; - cursor: pointer; -} -.widget-topTokens-tab-active { - text-align: left; - position: relative; - border-bottom: 3px solid #ffffff; - cursor: default; -} -.widget-topTokens-tab-active .widget-topTokens-tab-title { - padding-left: 0; - color: #ffffff; - font-size: 14px; - font-weight: 700; - padding-bottom: 7px; -} -.widget-topTokens-tab-active a { - cursor: default !important; - text-decoration: none; -} -.widget-topTokens-tab .widget-topTokens-tab-title { - padding-left: 0; - color: #47c2ff; - font-size: 14px; - font-weight: 400; - padding-bottom: 7px; -} -.widget-topTokens-tab a { - text-decoration: none; -} -.widget-topTokens-select { - background-color: rgb(0, 0, 0); - border: 3px solid #ffffff; - color: #ffffff; - padding: 16px 20px; - width: 100%; - box-sizing: border-box; - border-radius: 0; - outline: none; - margin: 0; - font-size: 16px; - font-weight: 600; -} -.txs-top-tokens-mobile { - width: 60% !important; - margin: 0 auto; -} -.ethplorer-widget .tx-field-mob { - text-align: left; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis !important; - color: #dedede !important; - border: 0 !important; - padding-top: 0px; - padding-bottom: 0px; - padding-left: 5px; - padding-right: 5px; -} -.tx-field-price{ - color: #47C2FF !important; -} -.ethplorer-widget .widget-top-totals { - margin-bottom: -20px; -} -@media screen and (max-width: 768px) { - .widget-topTokens-tabs-wrapper { - display: none; - } - .widget-topTokens-tabs-wrapper_mobile { - display: block; - } -} -@media screen and (min-width: 768px) { - .widget-topTokens-tabs-wrapper { - display: table; - } - .widget-topTokens-tabs-wrapper_mobile { - display: none; - } -} -@media screen and (max-width: 700px) { - .txs-top-tokens { - display: none; - } - .txs-top-tokens-mobile { - display: table; - } - .tx-field-mob, .txs-top-tokens-mobile .tx-field { - font-size: 16px !important; - } - .txs-top-tokens-mobile .tx-field { - } -} -@media screen and (max-width: 450px) { - .txs-top-tokens-mobile { - width: 80% !important; - } - .tx-field-mob, .txs-top-tokens-mobile .tx-field { - font-size: 14px !important; - } - .ethplorer-widget .widget-top-totals { - font-size: 14px !important; - } - .ethplorer-widget .widget-topTokens-totals { - font-size: 14px !important; - } -} -@media screen and (min-width: 700px) { - .txs-top-tokens { - display: table; - } - .txs-top-tokens-mobile { - display: none; - } -} -@media screen and (max-width: 615px) { - .ethplorer-widget .widget-top-total-trade { - display: block !important; - } -} - -@media screen and (min-width: 999px) { - .ethplorer-widget .tx-token { - max-width: 160px; - } - .ethplorer-widget .tx-token a.tx-link, - .ethplorer-widget .tx-token a.tx-link:visited, - .ethplorer-widget .tx-token a.tx-link:hover { - max-width: 150px; - } -} -@media screen and (max-width: 680px) { - .ethplorer-widget .txs.small-screen-table .tx-link { - max-width: 180px; - } - .ethplorer-widget .widget-txs { - max-width: 360px; - } - .ethplorer-widget .txs.big-screen-table { - display: none; - } - .ethplorer-widget .txs.small-screen-table { - display: table; - } -} -@media screen and (max-width: 360px) { - .ethplorer-widget .txs.small-screen-table .tx-link { - max-width: 140px; - } -} - -/* THEME: ethplorer */ -.ethplorer-widget.theme-ethplorer { - max-width: 700px; - margin-left: auto; - margin-right: auto; - padding-left: 4px; - padding-right: 4px; - padding-top: 4px; - padding-bottom: 10px; - background-color: rgba(0, 0, 0, 0.4); - color: #D0D0D0; -} - -.ethplorer-widget.widget-topTokens.theme-ethplorer { - max-width: 750px !important; -} -/* -.ethplorer-widget.widget-topTokens.theme-ethplorer tr td:nth-child(1) { - color: white !important; -} -*/ -.ethplorer-widget.widget-topTokens.theme-ethplorer .tx-field-sort { - color: white !important; -} - -.ethplorer-widget.widget-topTokens.theme-ethplorer .widget-topTokens-select { - color: white !important; - background-color: rgba(0, 0, 0, 0.4) !important; -} - -.ethplorer-widget.theme-light { - background-color: white; -} - -.ethplorer-widget.theme-dark { - color: #DEDEDE; -} - -.tooltipRow { - display: inline-block; - white-space: nowrap; - margin-top: 5px; -} -.tooltipRowCap { - color: #25A6DD !important; -} -.tooltipRowOps { - color: #B7A714 !important; -} -.tooltipRowVol { - color: #727272 !important; -} diff --git a/api/widget.js b/api/widget.js deleted file mode 100644 index b21c27cc..00000000 --- a/api/widget.js +++ /dev/null @@ -1,2520 +0,0 @@ -ethplorerWidget = { - // Ethplorer API URL - api: 'https://api.ethplorer.io', - - // Ethplorer URL - url: 'https://ethplorer.io', - - // Widget types - Type: {}, - - // Add Google loader for chart widgets - addGoogleLoader: false, - addGoogleAPI: false, - - chartWidgets: [], - chartControlWidgets: [], - preloadPriceHistory: {}, - - cssVersion: 19, - - // Widget initialization - init: function(selector, type, options, templates){ - ethplorerWidget.fixPath(); - options = options || {}; - templates = templates || {}; - type = type || 'tokenHistory'; - var widgetOptions = $.extend(true, {}, options); - if(widgetOptions.onLoad) delete widgetOptions.onLoad; - options.widgetOptions = widgetOptions; - options.widgetType = type; - if('undefined' === typeof(jQuery)){ - console.error('Cannot initialize Ethplorer widget: jQuery not found.'); - console.log('Add next string in the section of the page:'); - console.log(''); - return; - } - if(type == 'tokenHistoryGrouped'){ - if(options && options.full) ethplorerWidget.addGoogleAPI = true; - else ethplorerWidget.addGoogleLoader = true; - } - if(type == 'tokenPriceHistoryGrouped' || type == 'addressPriceHistoryGrouped'){ - ethplorerWidget.addGoogleAPI = true; - } - var el = $(selector); - if(!el.length){ - console.error('Cannot initialize Ethplorer widget: element ' + selector + ' not found.'); - return; - } - if('undefined' === ethplorerWidget.eventsAdded){ - $(window).resize(ethplorerWidget.fixTilda); - ethplorerWidget.eventsAdded = true; - } - if('undefined' !== typeof(ethplorerWidget.Type[type])){ - return new ethplorerWidget.Type[type](el, options, templates); - }else{ - console.error('Cannot initialize Ethplorer widget: invalid widget type "' + type + '".'); - } - }, - loadScript: function(url, callback){ - var head = document.getElementsByTagName('head')[0]; - var script = document.createElement('script'); - script.type = 'text/javascript'; - script.src = url; - script.onreadystatechange = callback; - script.onload = callback; - head.appendChild(script); - }, - addStyles: function(){ - ethplorerWidget.fixPath(); - var linkElem = document.createElement('link'); - linkElem.setAttribute("rel", 'stylesheet'); - linkElem.setAttribute("type", 'text/css'); - linkElem.setAttribute("href", ethplorerWidget.api + '/widget.css?v=' + ethplorerWidget.cssVersion); - document.getElementsByTagName("head")[0].appendChild(linkElem); - }, - loadGoogleCharts: function(){ - if(google && google.charts){ - google.charts.load('current', {packages: ['corechart']}); - - if(ethplorerWidget.chartWidgets && ethplorerWidget.chartWidgets.length) - for(var i=0; i'; - if((document.location.host !== host) && (document.location.host.indexOf("amilabs.cc") < 0)){ - if(!document.getElementById('ethpLink')){ - if(!link) link = 'Ethplorer.io'; - obj.el.append(divLink + link + ''); - } - }else if('undefined' !== typeof(obj.options.getCode) && obj.options.getCode){ - var divLink = '
'; - var popupId = obj.el.attr('id') + '-code'; - obj.el.append(divLink + 'Get widget code
'); - obj.el.find('.widget-code-link').data("widget", obj); - $("body").append('
'); - $("#" + popupId).dialog({ - 'autoOpen': false, - 'resizable': false, - 'width': $(window).width() / 2, - 'height': 'auto', - 'open': function(){ - $(this).parents(".ui-dialog:first").find(".ui-dialog-content").click(function(){ - ethplorerWidget.Utils.selectText(popupId); - }); - } - }).css("font-size", "12px"); - } - }, - getWidgetCode: function(obj){ - var widget = $(obj).data().widget, - cr = "\n", - id = widget.el.attr('id'), - popupId = id + '-code', - widgetOptions = $.extend(true, {}, widget.options.widgetOptions || {}); - - if('undefined' !== typeof(widgetOptions.getCode)) delete widgetOptions.getCode; - - var widgetCode = '1. Add jQuery in the HEAD section of your page (if not present):' + cr; - widgetCode += '' + cr + cr; - widgetCode += '2. Put code displayed below somewhere in BODY section.' + cr + cr; - widgetCode += '
' + cr; - widgetCode += ''; - - if('undefined' !== typeof(widget.type) && (widget.type === 'tokenPriceHistoryGrouped' || widget.type === 'addressPriceHistoryGrouped')){ - widgetCode = '

Coming soon!Follow Ethplorer\'s twitter to know first.
'; - $("#" + popupId).html(widgetCode); - }else{ - $("#" + popupId).text(widgetCode); - var popupContent = $("#" + popupId).html(); - $("#" + popupId).html(popupContent.replace(/(\n)/gm, "
")); - } - - $("#" + popupId).dialog('open'); - }, - parseTemplate: function(template, data){ - var res = template; - for(var key in data){ - var reg = new RegExp('%' + key + '%', 'g') - res = res.replace(reg, data[key]); - } - return res; - }, - // Tilda css hack - fixTilda: function(){ - var height = parseInt($('.t-cover__wrapper').height()); - $('.t-cover, .t-cover__carrier, .t-cover__wrapper, .t-cover__filter').height(height + 'px'); - }, - // Use local path for develop instances - fixPath: function(){ - if((document.location.host !== 'ethplorer.io') && (document.location.host.indexOf('ethplorer') >= 0)){ - ethplorerWidget.api = '//' + document.location.host + '/api'; - ethplorerWidget.url = '//' + document.location.host; - } - }, - Utils: { - link: function(data, text, title, hash, addClass){ - title = title || text; - if(data === '0x0000000000000000000000000000000000000000'){ - return '' + text + ''; - } - hash = hash || false; - if((false !== hash) && hash){ - hash = '#' + hash; - }else{ - hash = ''; - } - var linkType = (data && (42 === data.toString().length)) ? 'address' : 'tx'; - if(!addClass){ - addClass = ""; - } - var target = ''; - if((document.location.host !== 'ethplorer.io') && (document.location.host.indexOf('ethplorer.io') < 0)){ - target = ' target="_blank"'; - } - return '' + text + ''; - }, - - // Timestamp to local date - ts2date: function(ts, withTime, withGMT){ - withGMT = 'undefined' !== typeof(withGMT) ? withGMT : true; - ts *= 1000; - function padZero(s){ - return (s < 10) ? '0' + s : s.toString(); - } - var res = ''; - var dt = new Date(ts); - res += (dt.getFullYear() + '-' + padZero((dt.getMonth() + 1)) + '-' + padZero(dt.getDate())); - if(withTime){ - res += ' '; - res += ethplorerWidget.Utils.ts2time(ts, withGMT); - } - return res; - }, - //Timestamp to local time - ts2time: function(ts, withGMT){ - withGMT = 'undefined' !== typeof(withGMT) ? withGMT : true; - ts *= 1000; - function padZero(s){ - return (s < 10) ? '0' + s : s.toString(); - } - var res = ''; - var dt = new Date(ts); - res += (padZero(dt.getHours()) + ':' + padZero(dt.getMinutes()) + ':' + padZero(dt.getSeconds())); - if(withGMT){ - res += (' (' + Ethplorer.Utils.getTZOffset() + ')'); - } - return res; - }, - // Return local offset - getTZOffset: function(){ - var offset = -Math.round(new Date().getTimezoneOffset() / 60); - return 'GMT' + (offset > 0 ? '+' : '-') + offset; - }, - /** - * Number formatter (separates thousands with comma, adds zeroes to decimal part). - * - * @param {int} num - * @param {bool} withDecimals - * @param {int} decimals - * @param {bool} cutZeroes - * @returns {string} - */ - formatNum: function(num, withDecimals /* = false */, decimals /* = 2 */, cutZeroes /* = false */, withPostfix /* = false */, numLimitPostfix /* = 999999 */){ - var postfix = ''; - if(withPostfix){ - if(!numLimitPostfix) numLimitPostfix = 999999; - if(num > 999 && num <= numLimitPostfix){ - num = num / 1000; - postfix = ' K'; - }else if(num > numLimitPostfix){ - num = num / 1000000; - postfix = ' M'; - } - } - function math(command, val, decimals){ - var k = Math.pow(10, decimals ? parseInt(decimals) : 0); - return Math[command](val * k) / k; - } - function padZero(s, len){ - while(s.length < len) s += '0'; - return s; - } - if(('object' === typeof(num)) && ('undefined' !== typeof(num.c))){ - num = parseFloat(Ethplorer.Utils.toBig(num).toString()); - } - cutZeroes = !!cutZeroes; - withDecimals = !!withDecimals; -// decimals = decimals || (cutZeroes ? 0 : 2); - - if((num.toString().indexOf("e+") > 0)){ - return num.toString(); - } - - if((num.toString().indexOf("e-") > 0) && withDecimals){ - var parts = num.toString().split("e-"); - var res = parts[0].replace('.', ''); - for(var i=1; i 1){ - res += '.'; - var tail = parts[1].substring(0, decimals); - if(tail.length < zeroCount){ - tail = padZero(tail, zeroCount); - } - res += tail; - }else{ - res += padZero('.', parseInt(zeroCount) + 1); - } - } - res = res.replace(/\.$/, ''); - return res + postfix; - }, - selectText: function(containerid){ - if(document.selection){ - var range = document.body.createTextRange(); - range.moveToElementText(document.getElementById(containerid)); - range.select(); - }else if(window.getSelection){ - var range = document.createRange(); - range.selectNode(document.getElementById(containerid)); - window.getSelection().addRange(range); - } - }, - pdiff: function(a, b, x){ - var res = 100; - if(x && !b){ - return (a > 0) ? 'x' : 0; - } - if(a !== b){ - if(a && b){ - res = (a / b) * 100 - 100; - }else{ - res *= ((a - b) < 0) ? -1 : 1; - } - }else{ - res = 0; - } - if(x && (Math.abs(res) > 10000) && (b < 10)){ - res = 'x'; - } - return res; - } - } -}; - -/** - * Last Token transactions Widget. - * - * @param {type} element - * @param {type} options - * @param {type} templates - * @returns {undefined} - */ -ethplorerWidget.Type['tokenHistory'] = function(element, options, templates){ - this.el = element; - this.options = options; - this.api = ethplorerWidget.api + '/getTokenHistory'; - if(options && options.address){ - this.api += ('/' + options.address.toString().toLowerCase()); - } - this.ts = false; - this.interval = false; - - this.templates = { - header: '
Recent token transactions
', - loader: '
Loading...
', - debug: '
', - // Big table row - bigScreenTable: '' + - '%time%' + - 'from %from%to%to%' + - '%amount%' + - '%token%' + - '', - // Small table row - smallScreenTable: '' + - '%time%' + - 'from %from%' + - '' + - ' ' + - 'to%to%' + - '' + - '%amount% %token%' + - '' - }; - - // Override default templates with custom - if('object' === typeof(templates)){ - for(var key in templates){ - this.templates[key] = templates[key]; - } - } - - this.refresh = function(obj){ - return function(){ - $.getJSON(obj.api, obj.getRequestParams(obj.ts ? {timestamp: obj.ts} : false), obj.refreshWidget); - } - }(this); - - this.load = function(){ - this.el.html(this.templates.header + this.templates.loader); - $.getJSON(this.api, this.getRequestParams(), this.refreshWidget); - }; - - this.init = function(){ - this.el.addClass('ethplorer-widget'); - this.el.addClass('widget-tokenHistory'); - this.el.addClass('theme-' + (this.options.theme ? this.options.theme : 'ethplorer')); - this.interval = setInterval(this.refresh, 15000); - this.load(); - }; - - this.getRequestParams = function(additionalParams){ - var requestOptions = ['limit', 'address', 'timestamp', 'showEth']; - var params = { - apiKey: 'ethplorer.widget', - type: 'transfer' - }; - if('undefined' === typeof(this.pathReported)){ - params['domain'] = document.location.href; - this.pathReported = true; - } - for(var key in this.options){ - if(requestOptions.indexOf(key) >= 0){ - params[key] = this.options[key]; - } - } - if('object' === typeof(additionalParams)){ - for(var key in additionalParams){ - if(requestOptions.indexOf(key) >= 0){ - params[key] = additionalParams[key]; - } - } - } - return params; - }; - - this.setPlayPause = function(obj){ - return function(){ - if(obj.interval){ - clearInterval(obj.interval); - obj.interval = false; - obj.el.find('.txs-stop').html('►'); - obj.el.find('.txs-stop').attr('title', 'Start refresh'); - obj.el.find('.txs-stop').css('color', '#00ff00'); - }else{ - obj.interval = setInterval(obj.refresh, 15000); - obj.el.find('.txs-stop').html('❚❚'); - obj.el.find('.txs-stop').attr('title', 'Pause refresh'); - obj.el.find('.txs-stop').css('color', 'yellow'); - }; - }; - }(this); - - this.refreshWidget = function(obj){ - return function(data){ - if(!obj.ts){ - return obj.cbFirstLoad(data); - } - obj.el.find('tr').removeClass('hidden new'); - return obj.cbRefresh(data); - }; - }(this); - - this.cbFirstLoad = function(data){ - if(data && !data.error && data.operations && data.operations.length){ - this.el.find('.txs-loading').remove(); - if(this.ts === data.operations[0].timestamp){ - // Skip redraw if nothing changed - return; - } - this.ts = data.operations[0].timestamp; - var txTable = ''; - var txSmall = '
'; - for(var i=0; i= rowsToKill){ - $(this).remove(); - } - }); - } - var rowsToKill = limit * smallRows.length; - if(rowsToKill){ - txSmall.find('tr').each(function(i){ - if(i >= rowsToKill){ - $(this).remove(); - } - }); - } - } - } - }; - - this.prepareData = function(tr){ - if(!tr.tokenInfo){ - tr.tokenInfo = {symbol: "", decimals: 0}; - } - if(!tr.tokenInfo.symbol && tr.tokenInfo.name){ - tr.tokenInfo.symbol = tr.tokenInfo.name; - } - var k = Math.pow(10, tr.tokenInfo.decimals); - if(tr.isEth){ - k = 1; - tr.tokenInfo = {symbol: "ETH", decimals: 18, address: '0x0000000000000000000000000000000000000000'}; - } - var amount = ethplorerWidget.Utils.formatNum(tr.value / k, true, parseInt(tr.tokenInfo.decimals), true); - - var hash = tr.priority ? tr.priority : false; - - return { - date: ethplorerWidget.Utils.link(tr.transactionHash, ethplorerWidget.Utils.ts2date(tr.timestamp, false, false), tr.transactionHash, hash), - time: ethplorerWidget.Utils.link(tr.transactionHash, ethplorerWidget.Utils.ts2time(tr.timestamp, false), tr.transactionHash, hash), - datetime: ethplorerWidget.Utils.link(tr.transactionHash, ethplorerWidget.Utils.ts2date(tr.timestamp, true, false), tr.transactionHash, hash), - from: ethplorerWidget.Utils.link(tr.from, tr.from), - to: ethplorerWidget.Utils.link(tr.to, tr.to), - amount: ethplorerWidget.Utils.link(tr.tokenInfo.address, amount, amount + ' ' + tr.tokenInfo.symbol), - token: ethplorerWidget.Utils.link(tr.tokenInfo.address, tr.tokenInfo.symbol, tr.tokenInfo.symbol + ' ' + tr.tokenInfo.address) - }; - }; - - this.init(); -} - -/** - * Top Tokens list Widget. - * - * @param {type} element - * @param {type} options - * @param {type} templates - * @returns {undefined} - */ -ethplorerWidget.Type['topTokens'] = function(element, options, templates){ - this.el = element; - - this.options = { - limit: 10, - period: 30 - }; - - if(options){ - for(var key in options){ - this.options[key] = options[key]; - } - } - - var row = '' + - ''; - - var criteria = options.criteria ? options.criteria : false; - - this.api = ethplorerWidget.api + '/getTopTokens'; - - this.templates = { - header: '
Top %limit% tokens for %period% days
', - loader: '
Loading...
', - }; - - switch(criteria){ - case 'byPrice': - row += ''; - row = row +''; - break; - case 'byCurrentVolume': - this.templates.header = '
Top %limit% tokens
'; - case 'byPeriodVolume': - row += ''; - row += ''; - break; - default: - row += ''; - row = row + '' + ''; - } - - this.templates.row = row; - - // Override default templates with custom - if('object' === typeof(templates)){ - for(var key in templates){ - this.templates[key] = templates[key]; - } - } - - this.load = function(){ - this.el.html(ethplorerWidget.parseTemplate(this.templates.header, this.options) + this.templates.loader); - $.getJSON(this.api, this.getRequestParams(), this.refreshWidget); - }; - - this.init = function(){ - this.el.addClass('ethplorer-widget'); - this.el.addClass('widget-topTokens'); - this.el.addClass('theme-' + (this.options.theme ? this.options.theme : 'ethplorer')); - this.load(); - }; - - this.getRequestParams = function(additionalParams){ - var requestOptions = ['limit', 'period', 'criteria']; - var params = { - apiKey: 'freekey' - }; - if('undefined' === typeof(this.pathReported)){ - params['domain'] = document.location.href; - this.pathReported = true; - } - for(var key in this.options){ - if(requestOptions.indexOf(key) >= 0){ - params[key] = this.options[key]; - } - } - if('object' === typeof(additionalParams)){ - for(var key in additionalParams){ - if(requestOptions.indexOf(key) >= 0){ - params[key] = additionalParams[key]; - } - } - } - return params; - }; - - this.refreshWidget = function(obj){ - return function(data){ - if(data && !data.error && data.tokens && data.tokens.length){ - obj.el.find('.txs-loading').remove(); - var txTable = '
%position%%name%%price%%name_symbol%%volume%%name%%opCount%
'; - for(var i=0; iTokens Cap: $ %cap% B%capTrend% for %tokens% Tokens. Trade Vol (24h): $ %volume24h%%volumeTrend%' : ''), - header: '
' + - '
' + - '
' + - '
' + - '
by Capitalization
' + - '
' + - '
' + - '
by Trade Volume
' + - '
' + - '
' + - '
by Operations
' + - '
' + - '
' + - '
' + - '' + - '
' + - '
' + - '
', - loader: '
Loading...
', - criteria: { - cap: { - rowHeader: '
' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '', - row: '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '', - rowMobile: '' + - '' + - '' + - '' + - '' + - '' - }, - trade: { - rowHeader: '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '', - row: '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '', - rowMobile: '' + - '' + - '' + - '' + - '' + - '' - }, - count: { - rowHeader: '' + - '' + - '' + - '' + - '' + - '' + - '' + - '', - row: '' + - '' + - '' + - '' + - '' + - '' + - '' + - '', - rowMobile: '' + - '' + - '' + - '' + - '' - }, - } - }; - - // Override default templates with custom - if('object' === typeof(templates)){ - for(var key in templates){ - this.templates[key] = templates[key]; - } - } - - this.load = function(hash){ - if('undefined' !== typeof(this.templates.criteria[this.options.criteria])){ - var criteriaTpl = this.templates.criteria[this.options.criteria]; - if(criteriaTpl.header){ - this.templates.header = criteriaTpl.header; - } - if(criteriaTpl.row){ - this.templates.row = criteriaTpl.row; - } - if(criteriaTpl.rowMobile){ - this.templates.rowMobile = criteriaTpl.rowMobile; - } - if(criteriaTpl.rowHeader){ - this.templates.rowHeader = criteriaTpl.rowHeader; - } - } - if('undefined' === typeof(this.cache[this.options.criteria])){ - this.el.html(ethplorerWidget.parseTemplate(this.templates.header, this.options) + this.templates.loader); - $.getJSON(this.api, this.getRequestParams(), this.refreshWidget); - }else{ - this.el.html(ethplorerWidget.parseTemplate(this.templates.header, this.options)); - this.refreshWidget(this.cache[this.options.criteria]); - } - if(hash){ - window.location.hash = this.options.criteria; - } - }; - - this.init = function(){ - this.el.addClass('ethplorer-widget'); - this.el.addClass('widget-topTokens'); - this.el.addClass('theme-' + (this.options.theme ? this.options.theme : 'ethplorer')); - this.load(); - }; - - this.getRequestParams = function(additionalParams){ - var requestOptions = ['limit', 'period', 'criteria']; - var params = { - apiKey: 'freekey' - }; - if('undefined' === typeof(this.pathReported)){ - params['domain'] = document.location.href; - this.pathReported = true; - } - for(var key in this.options){ - if(requestOptions.indexOf(key) >= 0){ - params[key] = this.options[key]; - } - } - if('object' === typeof(additionalParams)){ - for(var key in additionalParams){ - if(requestOptions.indexOf(key) >= 0){ - params[key] = additionalParams[key]; - } - } - } - return params; - }; - - this.refreshWidget = function(obj){ - return function(data){ - ethplorerWidget.appendEthplorerLink(obj, 'source: Ethplorer.io', 'text-align:right;font-size:11px;padding-bottom:4px;padding-right:5px;margin-top:-10px;'); - if(data && !data.error && data.tokens && data.tokens.length){ - if('undefined' === typeof(obj.cache[obj.options.criteria])){ - obj.cache[obj.options.criteria] = data; - } - var totalsHtml = ''; - if(data.totals){ - var cap = data.totals.cap ? (ethplorerWidget.Utils.formatNum(data.totals.cap / 1000000000, true, 0, true)) : '?'; - var volume24h = data.totals.volume24h ? (ethplorerWidget.Utils.formatNum(data.totals.volume24h, true, 0, true, true, 99999999)) : '?'; - - var ivdiff = ethplorerWidget.Utils.pdiff(data.totals.cap, data.totals.capPrevious, true); - var numDec = Math.abs(ivdiff) > 99 ? 0 : 1; - if('x' === ivdiff){ - var capTrend = ''; - }else{ - var vdiff = ethplorerWidget.Utils.formatNum(ivdiff, true, numDec, false, true); - var capTrend = ' (' + vdiff + ' %' + ')'; - } - - var ivdiff = ethplorerWidget.Utils.pdiff(data.totals.volume24h, data.totals.volumePrevious, true); - var numDec = Math.abs(ivdiff) > 99 ? 0 : 1; - if('x' === ivdiff){ - var volumeTrend = ''; - }else{ - var vdiff = ethplorerWidget.Utils.formatNum(ivdiff, true, numDec, false, true); - var volumeTrend = ' (' + vdiff + ' %' + ')'; - } - - totalsHtml = ethplorerWidget.parseTemplate(obj.templates.total, {cap: cap, capTrend: capTrend, tokens: data.totals.tokensWithPrice, volume24h: volume24h, volumeTrend: volumeTrend}); - } - obj.el.find('.txs-loading, .txs').remove(); - if(totalsHtml && obj.options.totalPlace != 'down') obj.el.append(totalsHtml); - var txTable = '
#TokenCapPrice24h7d30d
%position%%name_symbol%%cap%%price%%trend_1d%%trend_7d%%trend_30d%
%position%%name_symbol%
Cap:%cap%
Price:%price%
24h:%trend_1d%
7d:%trend_7d%
30d:%trend_30d%
#TokenPriceVolume (24h)24h7d30d
%position%%name_symbol%%price%%volume%%trend_1d%%trend_7d%%trend_30d%
%position%%name_symbol%
Price:%price%
Volume (24h):%volume%
24h:%trend_1d%
7d:%trend_7d%
30d:%trend_30d%
#TokenOperations (24h)24h7d30d
%position%%name_symbol%%txsCount%%trend_1d%%trend_7d%%trend_30d%
%position%%name_symbol%
Operations (24h):%txsCount%
24h:%trend_1d%
7d:%trend_7d%
30d:%trend_30d%
'; - var txMobileTable = '
'; - txTable += obj.templates.rowHeader; - for(var i=0; i 99 ? 0 : 1; - if('x' === ivdiff){ - var trend_30d = '--'; - }else{ - var vdiff = ethplorerWidget.Utils.formatNum(ivdiff, true, numDec, false, true); - var trend_30d = '' + vdiff + ' %' + ''; - } - - if(criteria == 'cap' && data.price && ('undefined' !== typeof(data.price.diff7d))){ - ivdiff = data.price.diff7d; - }else{ - var ivdiff = ethplorerWidget.Utils.pdiff(data7dCurrent, data7dPrevious, true); - } - if('x' === ivdiff){ - var trend_7d = (trend_30d != '--') ? '0 %' : '--'; - }else{ - var numDec = Math.abs(ivdiff) > 99 ? 0 : 1; - var vdiff = ethplorerWidget.Utils.formatNum(ivdiff, true, numDec, false, true); - var trend_7d = '' + vdiff + ' %' + ''; - } - - if(criteria == 'cap' && data.price && ('undefined' !== typeof(data.price.diff))){ - var ivdiff = data.price.diff; - }else{ - var ivdiff = ethplorerWidget.Utils.pdiff(data1dCurrent, data1dPrevious, true); - } - if('x' === ivdiff){ - var trend_1d = (trend_7d != '--') ? '0 %' : '--'; - }else{ - var numDec = Math.abs(ivdiff) > 99 ? 0 : 1; - var vdiff = ethplorerWidget.Utils.formatNum(ivdiff, true, numDec, false, true); - var trend_1d = '' + vdiff + ' %' + ''; - } - - return { - address: ethplorerWidget.Utils.link(data.address, data.address, data.address), - name: ethplorerWidget.Utils.link(data.address, name, name, false, data.name ? "" : "tx-unknown"), - name_symbol: ethplorerWidget.Utils.link(data.address, name + (symbol ? ' (' + symbol + ')' : ''), name + (symbol ? ' (' + symbol + ')' : ''), false, data.name ? "" : "tx-unknown"), - txsCount: data.txsCount24, - price_full: (data.price && data.price.rate) ? data.price.rate : '$ 0.00', - price: (data.price && data.price.rate) ? ((data.price.rate < 0.005 ? '>' : '') + '$ ' + ethplorerWidget.Utils.formatNum(data.price.rate, true, 2, false)) : '$ 0.00', - volume: data.volume ? ('$ ' + ethplorerWidget.Utils.formatNum(data.volume, true, data.volume >= 1000 ? 0 : 2, true, true, 99999999)) : '', - cap: data.cap ? ('$ ' + ethplorerWidget.Utils.formatNum(data.cap, true, data.cap >= 1000 ? 0 : 2, true, true, 99999999)) : '', - trend_1d: trend_1d, - trend_7d: trend_7d, - trend_30d: trend_30d - }; - }; - - this.init(); -} - -/** - * Token history grouped Widget. - * - * @param {type} element - * @param {type} options - * @param {type} templates - * @returns {undefined} - */ -ethplorerWidget.Type['tokenHistoryGrouped'] = function(element, options, templates){ - this.el = element; - this.widgetData = null; - this.resizeTimer = null; - this.cachedWidth = $(window).width(); - - this.options = { - period: 30, - type: 'area', - theme: 'light', - options: {} - }; - - if(options){ - for(var key in options){ - this.options[key] = options[key]; - } - } - - this.api = ethplorerWidget.api + '/getTokenHistoryGrouped'; - if(options && options.address){ - this.api += ('/' + options.address.toString().toLowerCase()); - } - - this.templates = { - loader: '
Loading...
', - }; - - this.load = function(){ - $.getJSON(this.api, this.getRequestParams(), this.refreshWidget); - }; - - this.getTooltip = function(date, cnt, cap){ - var tooltipDateFormatter = new google.visualization.DateFormat({ - pattern: "MMM dd, yyyy '+UTC'" - }); - var numFormatter = new google.visualization.NumberFormat({ - pattern: "#,### K" - }); - var currencyFormatter = new google.visualization.NumberFormat({ - pattern: '$ #,### B' - }); - var tooltip = '
'; - tooltip += '' + tooltipDateFormatter.formatValue(date) + '
' + - 'Token operations: ' + ((cnt < 1) ? '<1 K' : numFormatter.formatValue(cnt)) + '
' + - 'Tokens Cap: ' + ((cap < 1) ? '<1 B' : currencyFormatter.formatValue(cap)) + '' + - '
'; - return tooltip; - } - - this.drawChart = function(aTxData, aCap, aTotals){ - - var totalsHtml = ''; - if(this.options.total && aTotals && aTotals.cap){ - var cap = aTotals.cap ? (ethplorerWidget.Utils.formatNum(aTotals.cap / 1000000000, true, 0, true)) : '?'; - var volume24h = aTotals.volume24h ? (ethplorerWidget.Utils.formatNum(aTotals.volume24h, true, 0, true, true, 99999999)) : '?'; - var ivdiff = ethplorerWidget.Utils.pdiff(aTotals.cap, aTotals.capPrevious, true); - var numDec = Math.abs(ivdiff) > 99 ? 0 : 1; - if('x' === ivdiff){ - var capTrend = ''; - }else{ - var vdiff = ethplorerWidget.Utils.formatNum(ivdiff, true, numDec, false, true); - var capTrend = ' (' + vdiff + ' %' + ')'; - } - var ivdiff = ethplorerWidget.Utils.pdiff(aTotals.volume24h, aTotals.volumePrevious, true); - var numDec = Math.abs(ivdiff) > 99 ? 0 : 1; - if('x' === ivdiff){ - var volumeTrend = ''; - }else{ - var vdiff = ethplorerWidget.Utils.formatNum(ivdiff, true, numDec, false, true); - var volumeTrend = ' (' + vdiff + ' %' + ')'; - } - var tpl = '
Tokens Cap: $ %cap% B%capTrend% for %tokens% Tokens. Trade Vol (24h): $ %volume24h%%volumeTrend%
'; - totalsHtml = ethplorerWidget.parseTemplate(tpl, {cap: cap, capTrend: capTrend, tokens: aTotals.tokensWithPrice, volume24h: volume24h, volumeTrend: volumeTrend}); - if(this.options.full) this.el.append(totalsHtml); - } - - var aData = []; - if(this.options.cap && aCap){ - aData.push(['Day', 'Token operations', {type: 'string', role: 'tooltip', 'p': {'html': true}}, 'Tokens Cap', {type: 'string', role: 'tooltip', 'p': {'html': true}}]); - }else{ - aData.push(['Day', 'Token operations']); - } - - var stDate = new Date(), - fnDate = new Date(); - var date = stDate.getDate(); - stDate.setDate(date - 1); - fnDate.setDate(date - this.options.period - 1); - var dteRangeStart = fnDate, - dteRangeEnd = new Date(); - dteRangeEnd.setDate(stDate.getDate()); - - var aCountData = {}; - var minTs = 0, - minYear, - minMonth, - minDate; - for(var i = 0; i < aTxData.length; i++){ - var aDayData = aTxData[i]; - aCountData[aDayData._id.year + '-' + aDayData._id.month + '-' + aDayData._id.day] = aDayData.cnt; - if((minTs == 0) || (minTs > aDayData.ts)){ - minTs = aDayData.ts; - minYear = aDayData._id.year; - minMonth = aDayData._id.month; - if(aDayData._id.month < 10) minMonth = '0' + minMonth; - minDate = aDayData._id.day; - if(aDayData._id.day < 10) minDate = '0' + minDate; - } - } - if(this.options.full) fnDate = new Date(minYear + '-' + minMonth + '-' + minDate + 'T00:00:00Z'); - - var curDate = true, - firstDate = true; - while(stDate > fnDate){ - var skipDate = false; - var key = stDate.getFullYear() + '-' + (stDate.getMonth() + 1) + '-' + stDate.getDate(); - var cnt = ('undefined' !== typeof(aCountData[key])) ? aCountData[key] : 0; - if(this.options.cap && aCap) cnt = Math.round(cnt / 1000); - if(curDate && cnt == 0){ - curDate = false; - continue; - } - if(this.options.cap && aCap){ - var capKeyMonth = stDate.getMonth() + 1; - if(capKeyMonth < 10) capKeyMonth = '0' + capKeyMonth; - var capKeyDay = stDate.getDate(); - if(capKeyDay < 10) capKeyDay = '0' + capKeyDay; - var capKey = stDate.getFullYear() + '-' + capKeyMonth + '-' + capKeyDay; - var cap = ('undefined' !== typeof(aCap[capKey])) ? aCap[capKey] : 0; - if(cap <= 1000000000 && firstDate) skipDate = true; - cap = Math.round(cap / 1000000000); - var tooltip = this.getTooltip(new Date(stDate.getFullYear(), stDate.getMonth(), stDate.getDate()), cnt, cap); - if(!skipDate) aData.push([new Date(stDate.getFullYear(), stDate.getMonth(), stDate.getDate()), cnt, tooltip, cap, tooltip]); - }else{ - aData.push([new Date(stDate.getFullYear(), stDate.getMonth(), stDate.getDate()), cnt]); - } - firstDate = false; - var newDate = stDate.setDate(stDate.getDate() - 1); - dteRangeStart = new Date(newDate); - stDate = new Date(newDate); - } - if(this.options.period > 90 || this.options.full){ - dteRangeStart = new Date(); - dteRangeStart.setDate(date - 90); - } - - var data = google.visualization.arrayToDataTable(aData); - var tooltipFormatter = new google.visualization.DateFormat({ - pattern: "MMM dd, yyyy '+UTC'" - }); - tooltipFormatter.format(data, 0); - - var defOptions = { - title: '', - legend: { position: 'none' }, - tooltip: { - format: 'MMM d', - isHtml: (this.options.cap && aCap) ? true : false - }, - hAxis : { - title: '', - titleTextStyle: { - italic: false - }, - textPosition: 'out', - slantedText: false, - maxAlternation: 1, - maxTextLines: 1, - format: this.options.full ? "MMM ''yy" : 'MMM d', - gridlines: { - count: 10, - color: "none" - } - }, - vAxis: { - title: '', - titleTextStyle: { - italic: false - }, - minValue: 0, - viewWindow: { - min: 0 - }, - gridlines: { - color: "none" - }, - maxValue: 3, - format: '#,###', - }, - pointSize: 5, - }; - if(this.options['theme'] == 'dark'){ - defOptions.colors = this.options.cap ? ['#FCEC0F', '#47C2FF'] : ['#47C2FF', '#FCEC0F']; - defOptions.titleTextStyle = {color: '#DEDEDE'}; - defOptions.backgroundColor = {fill: 'transparent'}; - - defOptions.hAxis.textStyle = {color: '#DEDEDE'}; - defOptions.hAxis.titleTextStyle.color = '#DEDEDE'; - defOptions.hAxis.baselineColor = '#DEDEDE'; - - defOptions.vAxis.textStyle = {color: '#DEDEDE'}; - defOptions.vAxis.titleTextStyle.color = '#DEDEDE'; - defOptions.vAxis.baselineColor = 'none'; - } - - if(this.options.cap && aCap){ - var series = { - 0: { - type: 'steppedArea', - targetAxisIndex: 0, - lineWidth: 1, - }, - 1: { - type: 'line', - targetAxisIndex: 1, - lineWidth: 3 - } - }; - var vAxes = { - 0: { - title: 'Token operations', - format: '#,### K', - viewWindow: { - max: 700 - }, - }, - 1: { - title: 'Tokens Cap', - format: '$ #,### B' - } - }; - defOptions.series = series; - defOptions.vAxes = vAxes; - } - - if(this.options.full){ - this.el.append($('
', {id: 'chart'})); - this.el.append($('
', {id: 'control'})); - $('#control').attr('style', 'height: 50px;'); - - var dashboard = new google.visualization.Dashboard(this.el); - var controlSeries = { - 0: { - type: 'area', - lineWidth: 0 - }, - 1: { - targetAxisIndex: 1, - type: 'area', - lineWidth: 1 - } - }; - - var defControlOptions = ethplorerWidget.getGoogleControlOptions(dteRangeStart, dteRangeEnd, this.options, controlSeries); - var controlOptions = $.extend(true, defControlOptions, this.options['controlOptions']); - var control = new google.visualization.ControlWrapper(controlOptions); - - var def = { - chartType: 'ComboChart', - containerId: 'chart', - options: defOptions - }; - - def.options = $.extend(true, def.options, this.options['options']); - var chart = new google.visualization.ChartWrapper(def); - dashboard.bind(control, chart); - dashboard.draw(data); - }else{ - var options = $.extend(true, defOptions, this.options['options']); - - if(this.options['type'] == 'area') var chart = new google.visualization.AreaChart(this.el[0]); - else if(this.options['type'] == 'line') var chart = new google.visualization.LineChart(this.el[0]); - else var chart = new google.visualization.ColumnChart(this.el[0]); - - chart.draw(data, options); - - if(this.options.total && aTotals && aTotals.cap) this.el.prepend(totalsHtml); - } - }; - - this.init = function(){ - this.el.addClass('ethplorer-widget'); - this.el.addClass('widget-tokenHistoryGrouped'); - this.el.addClass('theme-' + (this.options.theme ? this.options.theme : 'ethplorer')); - this.el.html(this.templates.loader); - }; - - this.getRequestParams = function(additionalParams){ - var requestOptions = ['period', 'address', 'type', 'theme', 'cap', 'full']; - var params = { - apiKey: 'freekey' - }; - if('undefined' === typeof(this.pathReported)){ - params['domain'] = document.location.href; - this.pathReported = true; - } - for(var key in this.options){ - if(requestOptions.indexOf(key) >= 0){ - params[key] = this.options[key]; - } - } - if('object' === typeof(additionalParams)){ - for(var key in additionalParams){ - if(requestOptions.indexOf(key) >= 0){ - params[key] = additionalParams[key]; - } - } - } - return params; - }; - - this.showWidget = function(obj, data){ - obj.el.find('.txs-loading').remove(); - obj.drawChart(data.countTxs, data.cap, data.totals); - ethplorerWidget.appendEthplorerLink(obj); - if('function' === typeof(obj.options.onLoad)){ - obj.options.onLoad(); - } - setTimeout(ethplorerWidget.fixTilda, 300); - } - - this.refreshWidget = function(obj){ - return function(data){ - if(data && !data.error && data.countTxs){ - obj.widgetData = data.countTxs; - obj.widgetDataCap = data.cap; - obj.widgetDataTotals = data.totals; - if(obj.options.full){ - obj.showWidget(obj, data); - }else{ - google.charts.setOnLoadCallback( - function(){ - obj.showWidget(obj, data); - } - ); - } - }else{ - obj.el.find('.txs-loading').remove(); - } - }; - }(this); - - $(window).resize(this, function(){ - var newWidth = $(window).width(); - var obj = arguments[0].data; - if(newWidth !== obj.cachedWidth){ - obj.cachedWidth = newWidth; - }else{ - return; - } - if(obj.resizeTimer) clearTimeout(obj.resizeTimer); - obj.resizeTimer = setTimeout(function(){ - if(obj.widgetData){ - obj.el.empty(); - obj.drawChart(obj.widgetData, obj.widgetDataCap, obj.widgetDataTotals); - ethplorerWidget.appendEthplorerLink(obj); - } - }, 500); - }); - - this.init(); - - if(this.options.full) ethplorerWidget.chartControlWidgets.push(this); - else ethplorerWidget.chartWidgets.push(this); -}; - -/** - * Token history with prices grouped Widget. - * - * @param {type} element - * @param {type} options - * @param {type} templates - * @returns {undefined} - */ -ethplorerWidget.Type['tokenPriceHistoryGrouped'] = function(element, options, templates){ - this.type = 'tokenPriceHistoryGrouped'; - this.el = element; - this.widgetData = null; - this.widgetPriceData = null; - this.resizeTimer = null; - this.cachedWidth = $(window).width(); - - this.options = { - period: 365, - type: 'area', - theme: 'light', - options: {}, - controlOptions: {} - }; - - if(options){ - for(var key in options){ - this.options[key] = options[key]; - } - } - if(this.options.period <= 0){ - this.options.period = 365; - }else if(this.options.period < 7){ - this.options.period = 7; - } - - this.api = ethplorerWidget.api + '/getTokenPriceHistoryGrouped'; - if(options && options.address){ - this.api += ('/' + options.address.toString().toLowerCase()); - } - - this.templates = { - loader: '
Loading...
', - }; - - this.load = function(){ - var address; - if(options && options.address){ - address = options.address.toString().toLowerCase(); - } - if(address && ethplorerWidget.preloadPriceHistory && ethplorerWidget.preloadPriceHistory[address]){ - //console.log(ethplorerWidget.preloadPriceHistory[address]); - this.refreshWidget(ethplorerWidget.preloadPriceHistory[address]); - }else{ - $.getJSON(this.api, this.getRequestParams(), this.refreshWidget); - } - }; - - this.getTooltip = function(noPrice, date, low, open, close, high, operations, volume, convertedVolume, rate, diff){ - var tooltipDateFormatter = new google.visualization.DateFormat({ - pattern: "MMM dd, yyyy '+UTC'" - }); - var numFormatter = new google.visualization.NumberFormat({ - pattern: "#,###" - }); - var currencyFormatter = new google.visualization.NumberFormat({ - pattern: '#,##0.00###' - }); - var avgFormatter = new google.visualization.NumberFormat({ - pattern: '#,##0.00' - }); - var tooltip = '
'; - tooltip += tooltipDateFormatter.formatValue(date) + '
'; - if(noPrice){ - tooltip += 'Token operations: ' + operations + '
'; - }else{ - if(volume > 0) var avg = convertedVolume / volume; - else var avg = (open + close) / 2; - var diffHtml = ' (' + diff + '%)'; - - if(rate && rate > 0){ - tooltip += 'Price: ' + avgFormatter.formatValue(rate) + ' USD' + diffHtml + '
'; - }else{ - diffHtml = ''; - var diff = ethplorerWidget.Utils.pdiff(close, open, true); - if('x' === diff){ - var pdiff = 0; - }else{ - var numDec = Math.abs(diff) > 99 ? 0 : 2; - var pdiff = ethplorerWidget.Utils.formatNum(diff, true, numDec, false, true); - } - var diffHtml = ' (' + pdiff + '%)'; - tooltip += 'Average: ' + avgFormatter.formatValue(avg) + ' USD
' + - 'Open: ' + currencyFormatter.formatValue(open) + ' Close: ' + currencyFormatter.formatValue(close) + diffHtml +'
' + - 'High: ' + currencyFormatter.formatValue(high) + ' Low: ' + currencyFormatter.formatValue(low) + '
'; - } - tooltip += 'Token operations: ' + numFormatter.formatValue(operations) + '
' + - 'Volume: ' + numFormatter.formatValue(volume.toFixed(0)) + ' (' + numFormatter.formatValue(convertedVolume.toFixed(2)) + ' USD)'; - } - tooltip += '
'; - return tooltip; - } - - this.drawChart = function(aTxData, widgetPriceData, currentPrice){ - var aData = []; - - if(aTxData.length){ - if(widgetPriceData && widgetPriceData.length){ - if(currentPrice){ - var currentDate = new Date(); - var currentDatePriceKey = currentDate.getFullYear() + '-' + (currentDate.getMonth() < 9 ? '0' : '') + (currentDate.getMonth() + 1) + '-' + (currentDate.getDate() < 10 ? '0' : '') + currentDate.getDate(); - - if(widgetPriceData[widgetPriceData.length - 1].date != currentDatePriceKey){ - if(currentPrice.rate && (currentPrice.rate > 0) && currentPrice.volume24h && currentPrice.ts){ - var diff = ethplorerWidget.Utils.pdiff(currentPrice.rate, widgetPriceData[widgetPriceData.length - 1].close, true); - if('x' === diff){ - var diff = 0; - }else{ - var numDec = Math.abs(diff) > 99 ? 0 : 2; - var pdiff = ethplorerWidget.Utils.formatNum(diff, true, numDec, false, true); - } - widgetPriceData.push({ - ts: currentPrice.ts, - date: currentDatePriceKey, - hour: 0, - open: widgetPriceData[widgetPriceData.length - 1].close, - close: parseFloat(currentPrice.rate), - high: 0, - low: 0, - average: 0, - rate: currentPrice.rate, - volumeConverted: parseFloat(currentPrice.volume24h), - volume: currentPrice.volume24h / currentPrice.rate, - diff: pdiff - }); - } - } - } - - var strLastPriceDate = widgetPriceData[widgetPriceData.length - 1].date + 'T00:00:00Z'; - var strFirstDate = strLastPriceDate; - }else{ - var firstMonth = aTxData[0]._id.month, - firstDay = aTxData[0]._id.day; - if(firstMonth < 10) firstMonth = '0' + firstMonth; - if(firstDay < 10) firstDay = '0' + firstDay; - var strFirstDate = aTxData[0]._id.year + '-' + firstMonth + '-' + firstDay + 'T00:00:00Z'; - } - - /*if(widgetPriceData && widgetPriceData.length){ - var strLastPriceDate = widgetPriceData[widgetPriceData.length - 1].date + 'T00:00:00Z'; - }*/ - if(strLastPriceDate && (new Date(strLastPriceDate) > new Date(strFirstDate))){ - strFirstDate = strLastPriceDate; - } - }else{ - return; - } - - var stDate = new Date(strFirstDate); - fnDate = new Date(strFirstDate), - rangeStart = new Date(strFirstDate); - var date = stDate.getDate(); - fnDate.setDate(date - this.options.period + 1); - rangeStart.setDate(date - (this.options.period > 60 ? 60 : this.options.period) + 1); - - // prepare data - var aCountData = {}; - var aPriceData = {}; - for(var i = 0; i < aTxData.length; i++){ - var aDayData = aTxData[i]; - aCountData[aDayData._id.year + '-' + aDayData._id.month + '-' + aDayData._id.day] = aDayData.cnt; - } - var noPrice = true, - startPriceDate = new Date(), - priceNotFound = true; - if(widgetPriceData && widgetPriceData.length){ - for(var i = 0; i < widgetPriceData.length; i++){ - var aDayPriceData = widgetPriceData[i], - numZeroes = 0; - if(aDayPriceData.low == 0) numZeroes++; - if(aDayPriceData.open == 0) numZeroes++; - if(aDayPriceData.close == 0) numZeroes++; - if(aDayPriceData.high == 0) numZeroes++; - - if((numZeroes >= 3) && priceNotFound){ - continue; - }else{ - aPriceData[aDayPriceData.date] = aDayPriceData; - if(priceNotFound){ - var strPriceDate = aDayPriceData.date.substring(0, 4) + '-' + aDayPriceData.date.substring(5, 7) + '-' + aDayPriceData.date.substring(8) + 'T00:00:00Z'; - startPriceDate = new Date(strPriceDate); - } - priceNotFound = false; - } - } - - if(!priceNotFound){ - noPrice = false; - aData.push(['Day', 'Low', 'Open', 'Close', 'High', {type: 'string', role: 'tooltip', 'p': {'html': true}}, 'Token operations', {role: 'style'}, {type: 'string', role: 'tooltip', 'p': {'html': true}}, 'Volume', {role: 'style'}, {type: 'string', role: 'tooltip', 'p': {'html': true}}]); - if(this.options.period > 60){ - fnDate = startPriceDate; - } - } - } - if(noPrice){ - var strMonth = aTxData[aTxData.length - 1]._id.month < 10 ? ('0' + aTxData[aTxData.length - 1]._id.month) : aTxData[aTxData.length - 1]._id.month, - strDay = aTxData[aTxData.length - 1]._id.day < 10 ? ('0' + aTxData[aTxData.length - 1]._id.day) : aTxData[aTxData.length - 1]._id.day; - var strDate = aTxData[aTxData.length - 1]._id.year + '-' + strMonth + '-' + strDay + 'T00:00:00Z'; - fnDate = new Date(strDate); - aData.push(['Day', 'Token operations', {role: 'style'}, {type: 'string', role: 'tooltip', 'p': {'html': true}}]); - } - //console.log(aCountData); - //console.log(aPriceData); - - var timeDiff = Math.abs(new Date(strFirstDate).getTime() - fnDate.getTime()); - var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)) + 1; - if(diffDays < 7) fnDate.setDate(fnDate.getDate() - (7 - diffDays)); - - var curDate = true; - for(var d = new Date(strFirstDate); d >= fnDate; d.setDate(d.getDate() - 1)){ - //console.log(d); - // get tx count - var key = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate(); - var cnt = ('undefined' !== typeof(aCountData[key])) ? aCountData[key] : 0; - - // get price data - var keyPrice = d.getFullYear() + '-' + (d.getMonth() < 9 ? '0' : '') + (d.getMonth() + 1) + '-' + (d.getDate() < 10 ? '0' : '') + d.getDate(); - //console.log(keyPrice); - - // 'Low', 'Open', 'Close', 'High' - var low = 0, open = 0, high = 0, close = 0, volume = 0, volumeConverted = 0, rate = 0, diff = 0; - if('undefined' !== typeof(aPriceData[keyPrice])){ - low = aPriceData[keyPrice]['low']; - open = aPriceData[keyPrice]['open']; - close = aPriceData[keyPrice]['close']; - high = aPriceData[keyPrice]['high']; - volume = ('undefined' !== typeof(aPriceData[keyPrice]['volume'])) ? aPriceData[keyPrice]['volume'] : 0; - volumeConverted = ('undefined' !== typeof(aPriceData[keyPrice]['volumeConverted'])) ? aPriceData[keyPrice]['volumeConverted'] : 0; - rate = ('undefined' !== typeof(aPriceData[keyPrice]['rate'])) ? aPriceData[keyPrice]['rate'] : 0; - diff = ('undefined' !== typeof(aPriceData[keyPrice]['diff'])) ? aPriceData[keyPrice]['diff'] : 0; - } - - var chartMonth = d.getMonth() + 1; - if(chartMonth < 10) chartMonth = '0' + chartMonth; - var chartDay = d.getDate(); - if(chartDay < 10) chartDay = '0' + chartDay; - var strChartDate = d.getFullYear() + '-' + chartMonth + '-' + chartDay + 'T00:00:00Z'; - - var tooltip = this.getTooltip(noPrice, new Date(strChartDate), low, open, close, high, cnt, volume, volumeConverted, rate, diff); - if(noPrice){ - aData.push([new Date(strChartDate), cnt, 'opacity: 0.5', tooltip]); - }else{ - aData.push([new Date(strChartDate), low, open, close, high, tooltip, cnt, 'opacity: 0.5', tooltip, volume, this.options['theme'] == 'dark' ? 'opacity: 0.15' : 'opacity: 0.5', tooltip]); - } - } - //console.log(aData); - var data = google.visualization.arrayToDataTable(aData); - - // create div's - this.el.append($('
', {id: 'chart'})); - this.el.append($('
', {id: 'control'})); - $('#control').attr('style', 'height: 50px;'); - if(this.options.period < 2){ - $('#control').hide(); - } - - // create dashboard and control wrapper - var dashboard = new google.visualization.Dashboard(this.el); - var controlSeries = { - 0: { - type: 'area', - lineWidth: 0 - }, - 1: { - targetAxisIndex: 1, - type: 'area', - lineWidth: 1 - } - }; - if(noPrice){ - controlSeries = { - 0: { - type: 'area', - targetAxisIndex: 0, - lineWidth: 1 - } - }; - } - var defControlOptions = ethplorerWidget.getGoogleControlOptions(rangeStart, new Date(strFirstDate), this.options, controlSeries); - var controlOptions = $.extend(true, defControlOptions, this.options['controlOptions']); - var control = new google.visualization.ControlWrapper(controlOptions); - - // create combo chart - var series = { - 0: { - type: 'candlesticks', - targetAxisIndex: 1 - }, - 1: { - type: 'line', - targetAxisIndex: 0 - }, - 2: { - type: 'bars', - targetAxisIndex: 2, - }, - }; - var vAxes = { - 1: { - title: 'Price', - format: '$ #,##0.00##' - //format: 'currency' - }, - 0: { - title: 'Token operations', - format: 'decimal', - }, - 2: { - textStyle: { - color: 'none' - } - } - }; - if(noPrice){ - series = { - 0: { - type: noPrice ? 'area' : 'line', - targetAxisIndex: 0 - }, - }; - vAxes = { - 0: { - title: 'Token operations', - format: 'decimal', - } - }; - } - var def = { - chartType: 'ComboChart', - containerId: 'chart', - options: { - //theme: 'maximized', - title: '', - legend: { position: 'none' }, - tooltip: { - //format: 'MMM d', - isHtml: true - }, - colors: ['#65A5DF', 'black'], - series: series, - hAxis : { - title: '', - titleTextStyle: { - italic: false - }, - textPosition: 'out', - slantedText: false, - maxAlternation: 1, - maxTextLines: 1, - format: 'MM/dd', - gridlines: { - count: 10, - color: "none" - }, - }, - vAxis: { - viewWindowMode: 'maximized', - title: '', - titleTextStyle: { - italic: false - }, - gridlines: { - color: "none" - }, - //format: '#,###', - /*minValue: 0, - maxValue: 3, - viewWindow: { - min: 0 - },*/ - }, - vAxes: vAxes, - pointSize: noPrice ? 2 : 0, - lineWidth: 1, - bar: { groupWidth: '70%' }, - candlestick: { - fallingColor: { - // red - strokeWidth: 1, - fill: '#951717', - stroke: '#8b0000' - }, - risingColor: { - // green - strokeWidth: 1, - fill: '#177217', - stroke: '#006400' - } - } - } - }; - if(this.options['theme'] == 'dark'){ - def.options.colors = noPrice ? ['#FCEC0F']: ['#999999', '#FCEC0F', '#DEDEDE']; - def.options.titleTextStyle = {color: '#DEDEDE'}; - def.options.backgroundColor = {fill: 'transparent'}; - - def.options.hAxis.textStyle = {color: '#DEDEDE'}; - def.options.hAxis.titleTextStyle.color = '#DEDEDE'; - def.options.hAxis.baselineColor = '#DEDEDE'; - - def.options.vAxis.textStyle = {color: '#DEDEDE'}; - def.options.vAxis.titleTextStyle.color = '#DEDEDE'; - def.options.vAxis.baselineColor = 'none'; - } - def.options = $.extend(true, def.options, this.options['options']); - var chart = new google.visualization.ChartWrapper(def); - - /*if(!noPrice){ - google.visualization.events.addListener(chart, 'ready', function(){ - var svgElements = document.getElementsByTagNameNS("http://www.w3.org/2000/svg", "svg"); - for(var i=0; i<1; i++){ - var svgElement = svgElements.item(i); - var allRects = svgElement.getElementsByTagName("rect"); - for(var i=0; i= 0){ - params[key] = this.options[key]; - } - } - if('object' === typeof(additionalParams)){ - for(var key in additionalParams){ - if(requestOptions.indexOf(key) >= 0){ - params[key] = additionalParams[key]; - } - } - } - return params; - }; - - this.refreshWidget = function(obj){ - return function(data){ - if(data && !data.error && data.history){ - //console.log(data); - obj.widgetData = data.history.countTxs; - obj.widgetPriceData = data.history.prices; - obj.el.find('.txs-loading').remove(); - if(!obj.widgetData.length){ - obj.el.hide(); - }else{ - obj.drawChart(data.history.countTxs, data.history.prices, data.history.current); - ethplorerWidget.appendEthplorerLink(obj); - if('function' === typeof(obj.options.onLoad)){ - obj.options.onLoad(); - } - } - setTimeout(ethplorerWidget.fixTilda, 300); - }else{ - obj.el.find('.txs-loading').remove(); - } - }; - }(this); - - $(window).resize(this, function(){ - var newWidth = $(window).width(); - var obj = arguments[0].data; - if(newWidth !== obj.cachedWidth){ - obj.cachedWidth = newWidth; - }else{ - return; - } - if(obj.resizeTimer) clearTimeout(obj.resizeTimer); - obj.resizeTimer = setTimeout(function(){ - if(obj.widgetData){ - obj.el.empty(); - obj.drawChart(obj.widgetData, obj.widgetPriceData); - ethplorerWidget.appendEthplorerLink(obj); - } - }, 500); - }); - - this.init(); - ethplorerWidget.chartControlWidgets.push(this); -}; - -/** - * Address history with prices grouped Widget. - * - * @param {type} element - * @param {type} options - * @param {type} templates - * @returns {undefined} - */ -ethplorerWidget.Type['addressPriceHistoryGrouped'] = function(element, options, templates){ - this.type = 'addressPriceHistoryGrouped'; - this.el = element; - this.widgetData = null; - this.widgetPriceData = null; - this.resizeTimer = null; - this.cachedWidth = $(window).width(); - - this.options = { - period: 365, - type: 'area', - theme: 'light', - options: {}, - controlOptions: {} - }; - - if(options){ - for(var key in options){ - this.options[key] = options[key]; - } - } - if(this.options.period <= 0){ - this.options.period = 365; - }else if(this.options.period < 7){ - this.options.period = 7; - } - - this.api = ethplorerWidget.api + '/getAddressPriceHistoryGrouped'; - if(options && options.address){ - this.api += ('/' + options.address.toString().toLowerCase()); - } - - this.templates = { - loader: '
Loading...
', - }; - - this.load = function(){ - var address; - if(options && options.address){ - address = options.address.toString().toLowerCase(); - } - if(address && ethplorerWidget.preloadPriceHistory && ethplorerWidget.preloadPriceHistory[address]){ - //console.log(ethplorerWidget.preloadPriceHistory[address]); - this.refreshWidget(ethplorerWidget.preloadPriceHistory[address]); - }else{ - $.getJSON(this.api, this.getRequestParams(), this.refreshWidget); - } - }; - - this.getTooltip = function(noPrice, date, balance, volume, txs, dteUpdated){ - var tooltipDateFormatter = new google.visualization.DateFormat({ - pattern: "MMM dd, yyyy '+UTC'" - }); - var numFormatter = new google.visualization.NumberFormat({ - pattern: "#,###" - }); - var currencyFormatter = new google.visualization.NumberFormat({ - pattern: '#,##0' - }); - var tooltip = '
'; - tooltip += '' + tooltipDateFormatter.formatValue(date) + '
' + - (noPrice ? '' : 'Volume: ' + currencyFormatter.formatValue(volume) + ' USD
') + - (noPrice ? '' : 'Balance: ' + currencyFormatter.formatValue(balance) + ' USD
') + - 'Transfers: ' + numFormatter.formatValue(txs) + '' + - (dteUpdated ? ('
Updated: ' + dteUpdated + '') : '') + - '
'; - return tooltip; - } - - this.drawChart = function(widgetData){ - var aData = []; - - if('undefined' === typeof(widgetData['volume']) && 'undefined' === typeof(widgetData['txs'])){ - return; - /*var firstMonth = aTxData[0]._id.month, - firstDay = aTxData[0]._id.day; - if(firstMonth < 10) firstMonth = '0' + firstMonth; - if(firstDay < 10) firstDay = '0' + firstDay; - var strFirstDate = aTxData[0]._id.year + '-' + firstMonth + '-' + firstDay + 'T00:00:00Z';*/ - } - if('undefined' === typeof(widgetData['volume'])) widgetData['volume'] = []; - if('undefined' === typeof(widgetData['balances'])) widgetData['balances'] = []; - if('undefined' === typeof(widgetData['txs'])) widgetData['txs'] = []; - - var noPrice = true; - - // prepare prices - var lastAverage = 0; - var aPrices = {}; - if('undefined' !== typeof(widgetData['prices'])){ - for(var token in widgetData['prices']){ - aPrices[token] = {}; - if(widgetData['prices'][token].length > 0) noPrice = false; - for(var i = widgetData['prices'][token].length - 1; i >= 0; i--){ - var priceData = widgetData['prices'][token][i]; - if(priceData['average'] > 0) lastAverage = priceData['average']; - aPrices[token][priceData['date']] = lastAverage; - } - } - } - console.log('noPrice ' + noPrice); - - if(noPrice){ - aData.push(['Day', 'Transfers', {role: 'style'}, {type: 'string', role: 'tooltip', 'p': {'html': true}}]); - }else{ - aData.push(['Day', 'Balance', {role: 'style'}, {type: 'string', role: 'tooltip', 'p': {'html': true}}, 'Transfers', {role: 'style'}, {type: 'string', role: 'tooltip', 'p': {'html': true}}, 'Volume', {role: 'style'}, {type: 'string', role: 'tooltip', 'p': {'html': true}}]); - } - - if('undefined' === typeof(widgetData['firstDate'])){ - for(var t in widgetData['txs']){ - widgetData['firstDate'] = t; - break; - } - } - - var rangeStart = null, - rangeEnd, - curDate = new Date(), - fnMonth = curDate.getUTCMonth() + 1, - fnDay = curDate.getUTCDate(), - fnDate = new Date(curDate.getUTCFullYear() + '-' + (fnMonth < 10 ? '0' + fnMonth : fnMonth) + '-' + (fnDay < 10 ? '0' + fnDay : fnDay) + 'T00:00:00Z'), - aBalances = {}, - strFirstDate = widgetData['firstDate'] + 'T00:00:00Z', - dteUpdated; - - for(var d = new Date(strFirstDate); d <= fnDate; d.setDate(d.getDate() + 1)){ - var month = 1 + d.getMonth(), - day = d.getDate(), - volumeDate = d.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day), - strVolumeDate = volumeDate + 'T00:00:00Z'; - - // get volumes - var volume = 0; - if(!noPrice && 'undefined' !== typeof(widgetData['volume'][volumeDate])){ - for(var token in widgetData['volume'][volumeDate]){ - if('undefined' === typeof(widgetData['tokenPrices'][token])){ - continue; - } - if(d.getTime() == fnDate.getTime() && ('undefined' !== typeof(widgetData['tokenPrices'][token]['rate']))){ - aPrices[token][volumeDate] = widgetData['tokenPrices'][token]['rate']; - } - if('undefined' !== typeof(aPrices[token]) && 'undefined' !== typeof(aPrices[token][volumeDate])){ - volume += parseFloat(widgetData['volume'][volumeDate][token]) * parseFloat(aPrices[token][volumeDate]); - } - } - - if(!rangeStart && volume != 0){ - rangeStart = strVolumeDate; - } - } - - // get balances - var balance = 0; - if(!noPrice){ - if('undefined' !== typeof(widgetData['balances'][volumeDate])){ - for(var token in widgetData['balances'][volumeDate]){ - aBalances[token] = parseFloat(widgetData['balances'][volumeDate][token]); - } - } - for(var token in aBalances){ - if(d.getTime() == fnDate.getTime() && ('undefined' !== typeof(widgetData['tokenPrices'][token]) && 'undefined' !== typeof(widgetData['tokenPrices'][token]['rate']))){ - aPrices[token][volumeDate] = widgetData['tokenPrices'][token]['rate']; - } - if('undefined' !== typeof(aPrices[token]) && 'undefined' !== typeof(aPrices[token][volumeDate])){ - balance += parseFloat(aBalances[token]) * parseFloat(aPrices[token][volumeDate]); - } - } - } - - // get transfers - var transfers = 0; - if('undefined' !== typeof(widgetData['txs'][volumeDate])){ - transfers = widgetData['txs'][volumeDate]; - } - - if(d.getTime() == fnDate.getTime() && ('undefined' !== typeof(widgetData['updated']))){ - dteUpdated = widgetData['updated']; - } - - rangeEnd = strVolumeDate; - var tooltip = this.getTooltip(noPrice, new Date(strVolumeDate), balance, volume, transfers, dteUpdated); - if(noPrice){ - aData.push([new Date(strVolumeDate), transfers, 'opacity: 0.5', tooltip]); - }else{ - aData.push([new Date(strVolumeDate), balance, 'opacity: 0.5', tooltip, transfers, 'opacity: 0.5', tooltip, volume, this.options['theme'] == 'dark' ? 'opacity: 0.15' : 'opacity: 0.5', tooltip]); - } - } - - var dteRangeStart = new Date(rangeStart), - dteRangeEnd = new Date(rangeEnd); - - var timeDiff = Math.abs(dteRangeEnd.getTime() - dteRangeStart.getTime()); - var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)) + 1; - if(diffDays < 7) dteRangeStart.setDate(dteRangeStart.getDate() - (7 - diffDays)); - else if(diffDays > 90) dteRangeStart.setDate(dteRangeStart.getDate() + (diffDays - 90)); - - //console.log(dteRangeStart); - //console.log(dteRangeEnd); - //console.log(aData); - var data = google.visualization.arrayToDataTable(aData); - - // create div's - this.el.append($('
', {id: 'chart'})); - this.el.append($('
', {id: 'control'})); - $('#control').attr('style', 'height: 50px;'); - if(this.options.period < 2){ - $('#control').hide(); - } - - // create dashboard and control wrapper - var dashboard = new google.visualization.Dashboard(this.el); - var controlSeries = { - 0: { - targetAxisIndex: 0, - type: 'area', - lineWidth: 1 - } - }; - var defControlOptions = ethplorerWidget.getGoogleControlOptions(dteRangeStart, dteRangeEnd, this.options, controlSeries); - var controlOptions = $.extend(true, defControlOptions, this.options['controlOptions']); - var control = new google.visualization.ControlWrapper(controlOptions); - - // create combo chart - var series = { - 0: { - type: 'area', - targetAxisIndex: 0 - }, - 1: { - type: 'line', - targetAxisIndex: 2 - }, - 2: { - type: 'bars', - targetAxisIndex: 1, - }, - }; - var vAxes = { - 0: { - title: 'Price', - format: '$ #,##0' - }, - 1: { - title: 'Volume', - format: 'decimal', - }, - 2: { - textStyle: { - color: 'none' - } - } - }; - if(noPrice){ - series = { - 0: { - type: 'line', - targetAxisIndex: 0 - }, - }; - vAxes = { - 0: { - title: 'Transfers', - format: "#,###", - } - }; - } - var def = { - chartType: 'ComboChart', - containerId: 'chart', - options: { - //theme: 'maximized', - title: '', - legend: { position: 'none' }, - tooltip: { - //format: 'MMM d', - isHtml: true - }, - colors: ['#65A5DF', 'black'], - series: series, - hAxis : { - title: '', - titleTextStyle: { - italic: false - }, - textPosition: 'out', - slantedText: false, - maxAlternation: 1, - maxTextLines: 1, - format: 'MM/dd', - gridlines: { - count: 10, - color: "none" - }, - }, - vAxis: { - viewWindowMode: 'maximized', - minValue: 0, - viewWindow: { - min: 0 - }, - title: '', - titleTextStyle: { - italic: false - }, - gridlines: { - color: "none" - }, - }, - vAxes: vAxes, - pointSize: 3, - lineWidth: 1, - bar: { groupWidth: '70%' }, - candlestick: { - fallingColor: { - // red - strokeWidth: 1, - fill: '#951717', - stroke: '#8b0000' - }, - risingColor: { - // green - strokeWidth: 1, - fill: '#177217', - stroke: '#006400' - } - } - } - }; - if(this.options['theme'] == 'dark'){ - def.options.colors = noPrice ? ['#FCEC0F']: ['#47C2FF', '#FCEC0F', '#DEDEDE']; - def.options.titleTextStyle = {color: '#DEDEDE'}; - def.options.backgroundColor = {fill: 'transparent'}; - - def.options.hAxis.textStyle = {color: '#DEDEDE'}; - def.options.hAxis.titleTextStyle.color = '#DEDEDE'; - def.options.hAxis.baselineColor = '#DEDEDE'; - - def.options.vAxis.textStyle = {color: '#DEDEDE'}; - def.options.vAxis.titleTextStyle.color = '#DEDEDE'; - def.options.vAxis.baselineColor = 'none'; - } - def.options = $.extend(true, def.options, this.options['options']); - var chart = new google.visualization.ChartWrapper(def); - - // draw chart - dashboard.bind(control, chart); - dashboard.draw(data); - }; - - this.init = function(){ - this.el.addClass('ethplorer-widget'); - this.el.addClass('widget-tokenHistoryGrouped'); - this.el.addClass('theme-' + (this.options.theme ? this.options.theme : 'ethplorer')); - this.el.html(this.templates.loader); - }; - - this.getRequestParams = function(additionalParams){ - var requestOptions = ['period', 'address', 'type', 'theme']; - var params = { - apiKey: 'ethplorer.widget' - }; - if('undefined' === typeof(this.pathReported)){ - params['domain'] = document.location.href; - this.pathReported = true; - } - for(var key in this.options){ - if(requestOptions.indexOf(key) >= 0){ - params[key] = this.options[key]; - } - } - if('object' === typeof(additionalParams)){ - for(var key in additionalParams){ - if(requestOptions.indexOf(key) >= 0){ - params[key] = additionalParams[key]; - } - } - } - return params; - }; - - this.refreshWidget = function(obj){ - return function(data){ - if(data && !data.error && data.history && !(('undefined' === typeof(data.history['volume']) && 'undefined' === typeof(data.history['txs'])))){ - //console.log(data); - obj.widgetData = data.history; - obj.el.find('.txs-loading').remove(); - obj.drawChart(data.history); - ethplorerWidget.appendEthplorerLink(obj); - if('function' === typeof(obj.options.onLoad)){ - obj.options.onLoad(); - } - setTimeout(ethplorerWidget.fixTilda, 300); - }else{ - obj.el.find('.txs-loading').text('No data for chart'); - $('.ethplorer-widget').css('min-height', '1px'); - $('.txs-loading').css('min-height', '1px'); - $('.txs-loading').css('padding-top', '10px'); - } - }; - }(this); - - $(window).resize(this, function(){ - var newWidth = $(window).width(); - var obj = arguments[0].data; - if(newWidth !== obj.cachedWidth){ - obj.cachedWidth = newWidth; - }else{ - return; - } - if(obj.resizeTimer) clearTimeout(obj.resizeTimer); - obj.resizeTimer = setTimeout(function(){ - if(obj.widgetData){ - obj.el.empty(); - obj.drawChart(obj.widgetData); - ethplorerWidget.appendEthplorerLink(obj); - } - }, 500); - }); - - this.init(); - ethplorerWidget.chartControlWidgets.push(this); -}; - -if('undefined' !== typeof(ethplorerWidgetPreload)){ - ethplorerWidget.preloadData(ethplorerWidgetPreload); -} - -/** - * Document on ready widgets initialization. - * Initializes all widgets added using eWgs array. - */ -(function(){ - function ethpWiInit(){ - var eWgs = window.eWgs || []; - if(eWgs && eWgs.length) - for(var i=0; i 0, - '< 0.1s' => 0, - '< 1s' => 0, - '< 5s' => 0, - '< 10s' => 0, - '> 10s' => 0, - 'slow_queries' => array() - ); - } - $time = (float)$parts[10]; - - if($time > 1000) continue; - - $aDates[$date]['total_requests']++; - if($time < 0.1){ - $aDates[$date]['< 0.1s']++; - }else if($time < 1){ - $aDates[$date]['< 1s']++; - }else{ - if($time < 5){ - $aDates[$date]['< 5s']++; - }else if($time < 10){ - $aDates[$date]['< 10s']++; - }else{ - $aDates[$date]['> 10s']++; - } - $request = explode('?', $parts[7]); - $request = $request[0]; - if(FALSE === strpos($request, 'widget')){ - if(!isset($aDates[$date]['slow_queries'][$request])){ - $aDates[$date]['slow_queries'][$request] = array('num' => 0, 'average_time' => 0); - }; - $aDates[$date]['slow_queries'][$request]['num']++; - $aDates[$date]['slow_queries'][$request]['average_time'] = ($aDates[$date]['slow_queries'][$request]['average_time'] + $time) / ($aDates[$date]['slow_queries'][$request]['num'] > 1 ? 2 : 1); - } - } -} -fclose($f); - -var_export($aDates); diff --git a/bin/cache_eth_out.php b/bin/cache_eth_out.php deleted file mode 100644 index c2b0ab45..00000000 --- a/bin/cache_eth_out.php +++ /dev/null @@ -1,24 +0,0 @@ -createProcessLock('ethOut.lock'); -$aHolders = $es->getAllHolders(); -var_dump(count($aHolders)); diff --git a/bin/cache_last_block.php b/bin/cache_last_block.php deleted file mode 100644 index d6519b4b..00000000 --- a/bin/cache_last_block.php +++ /dev/null @@ -1,23 +0,0 @@ -createProcessLock('lastBlock.lock'); -$es->getLastBlock(true); diff --git a/bin/cache_price_history.php b/bin/cache_price_history.php deleted file mode 100644 index 7988dc2a..00000000 --- a/bin/cache_price_history.php +++ /dev/null @@ -1,26 +0,0 @@ -createProcessLock('priceHistory.lock'); -foreach($aConfig['updateRates'] as $address){ - $es->getCache()->clearLocalCache(); - $es->getTokenPriceHistory($address, 0, 'hourly', TRUE); -} diff --git a/bin/cache_prices.php b/bin/cache_prices.php deleted file mode 100644 index 4a71ce7f..00000000 --- a/bin/cache_prices.php +++ /dev/null @@ -1,26 +0,0 @@ -createProcessLock('prices.lock'); -foreach($aConfig['updateRates'] as $address){ - $es->getCache()->clearLocalCache(); - $es->getTokenPrice($address, TRUE); -} diff --git a/bin/cache_tokens.php b/bin/cache_tokens.php deleted file mode 100644 index 4aaf32d5..00000000 --- a/bin/cache_tokens.php +++ /dev/null @@ -1,26 +0,0 @@ -createProcessLock('tokens.lock'); - -$es->getTokens(true); -$es->getTopTokens(10, 90); -$es->getTopTokens(50, 90); \ No newline at end of file diff --git a/bin/cache_tokens_full_history.php b/bin/cache_tokens_full_history.php deleted file mode 100644 index b4fe4b99..00000000 --- a/bin/cache_tokens_full_history.php +++ /dev/null @@ -1,25 +0,0 @@ -createProcessLock('tokens.full.history.lock'); - -$es->getTokenFullHistoryGrouped(); -$es->getTokenCapHistory(0, TRUE); diff --git a/bin/cache_tokens_with_prices.php b/bin/cache_tokens_with_prices.php deleted file mode 100644 index 4205e711..00000000 --- a/bin/cache_tokens_with_prices.php +++ /dev/null @@ -1,60 +0,0 @@ - '2.0', - 'method' => 'getTokensWithPrices', - 'params' => array(), - 'id' => mt_rand() -)); - -$context = stream_context_create(array( - 'http' => array( - 'method' => 'POST', - 'header' => 'Content-Type: application/json\r\n', - 'content' => $jsonRequest - ) -)); -$jsonResponse = file_get_contents($aConfig['currency'], false, $context); - -if($jsonResponse){ - try{ - $response = json_decode($jsonResponse, true); - if($response && !isset($response['error']) && isset($response['result']) && (sizeof($response['result']) > MIN_TOKENS_NUM)){ - $confPrices = ' MIN_TOKENS_NUM){ - file_put_contents(dirname(__FILE__) . '/../service/config.prices.php', $confPrices); - } - } - }catch(\Exception $e){ - // - var_dump($e); - } -} diff --git a/bin/cache_top.php b/bin/cache_top.php deleted file mode 100644 index db240f0c..00000000 --- a/bin/cache_top.php +++ /dev/null @@ -1,26 +0,0 @@ -createProcessLock('topTokens.lock'); -$aCriteries = array('trade', 'cap', 'count'); -foreach($aCriteries as $criteria){ - $es->getTokensTop(100, $criteria, TRUE); -} diff --git a/composer.json b/composer.json deleted file mode 100644 index 536bc79a..00000000 --- a/composer.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "require": { - "litipk/php-bignumbers": "0.7.3" - }, - "minimum-stability": "dev", - "prefer-stable" : false -} \ No newline at end of file diff --git a/config.php b/config.php deleted file mode 100644 index b4b2e1fb..00000000 --- a/config.php +++ /dev/null @@ -1,15 +0,0 @@ -.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} -/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/css/ethplorer.css b/css/ethplorer.css deleted file mode 100644 index 21088f35..00000000 --- a/css/ethplorer.css +++ /dev/null @@ -1,1331 +0,0 @@ -@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700&subset=latin,cyrillic); - -body { - padding: 0px; - background-color: #000; - min-height: 100vh; - height: 100%; -} - -.pager .page { - width: 20px; - text-align: center; - float: left; -} - -tr.paginationFooter td { - background: white; - padding-top:0px !important; - padding-bottom: 0px !important; - border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; - text-align: right; -} - -tr.paginationFooter td ul.pagination { - margin-top: 8px; - margin-bottom: 4px; -} - -.nav-tabs.unclickable { - pointer-events: none; -} - -.navbar.navbar-inverse { - padding-bottom:0px; - padding-top:0px; - border: 0px; - border-radius: 0px; -} - -#ethplorer-note { - display:none; - width: 100%; - background-color: rgba(19,150,226,1); - padding: 10px; - margin-bottom: 20px; - margin-top: -20px; -} - -#ethplorer-note .ethplorer-note { - color: white; - text-align: center; - font-weight: 300; -} - -#ethplorer-note .ethplorer-note img { - height: 35px; - margin-top: -10px; - margin-bottom: -10px; -} - -#ethplorer-note .ethplorer-note a { - color: white; - text-decoration: none; - border-bottom: 2px solid white; -} - -.table.unclickable { - opacity: 0.5; - pointer-events: none; -} - -#navbar { - min-height: 80px; -} - -#navbar .navbar-right { - padding-top: 14px; -} - -#error-reason { - padding-left: 0px; -} - -.navbar-inverse { - background-color: #fff; - padding-top: 8px; - padding-bottom: 8px; -} - -.navbar-nav { - margin-right: 0px; -} - -.navbar-header { - padding-left: 15px; -} - -.nav-tabs { - border-bottom: 10px solid #fff; -} - -.nav-tabs li a { - color: white; - border-bottom: 1px dashed white; -} - -.nav-tabs li a:hover { - color: black; -} - -.nav-tabs li a span.dashed { - border-bottom: 1px dashed white; -} - -.nav-tabs li a:hover span.dashed { - border-bottom: 1px dashed black; -} - -.nav-tabs li.active a span.dashed { - border-bottom: 0px dashed transparent; -} - -#topmenu li { - font-family: 'Open Sans', sans-serif; - font-size: 16px; - color: black; - font-weight: 600; - box-sizing: content-box; - -webkit-font-smoothing: antialiased; - padding: 16px; - cursor:pointer; -} - -#network { - color: white; - line-height: 34px; - margin-right: 30px; -} - -.content-page { - display: none; -} - -#address-token-details h3 { - max-width: 90%; -} - -.content-page h3 { - padding-left: 20px; - padding-top: 12px; - margin-bottom: 0; -} - -.content-page .block { - background-color: black; - border-radius: 8px; - margin-top: 20px; -} - -.content-page .block-header { - padding-bottom: 10px; - background-color:white; - border-top-left-radius: 8px; - border-top-right-radius: 8px; -} - -.content-page table.table td { - color: white; - border: 0 !important; - min-width: 120px; -} - -.content-page table.table td:first-child { - padding: 8px 8px 8px 28px; -} - -#address-chainy-tx .table tr:nth-child(even), -#token-transfers-tab .table tr:nth-child(even), -#token-issuances-tab .table tr:nth-child(even), -#token-holders-tab .table tr:nth-child(even), -tr.even { - background: #0f0f0f; -} - -#address-chainy-tx .table tr:nth-child(odd), -#token-transfers-tab .table tr:nth-child(odd), -#token-issuances-tab .table tr:nth-child(odd), -#token-holders-tab .table tr:nth-child(odd), -tr.odd { - background: #202020; -} - -#address-token-balances .table tr td.text-right { - max-width: 250px; - overflow: hidden; -} - -.content-page .table tr.blue { - background-color: #1396e2 !important; -} - -.content-page .table tr.green { - background-color: #27ae60 !important; -} - -.content-page .table tr.red { - background-color: #c0392b !important; -} - -.block h3 { - margin-top: 0px; -} - -#loader { - margin-top: 40px; - padding: 40px; - width: 300px; - height: 300px; - border-radius: 150px; - margin-left: auto; - margin-right: auto; -} - -#loader #searchInProgressText { - font-size: 18px; - position: relative; - top: -40px; - color: white; -} - -#transaction-tx-parsed, -#transaction-tx-input { - white-space: pre-wrap; /* Since CSS 2.1 */ - white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - word-wrap: break-word; /* Internet Explorer 5.5+ */ -} - -.pre-switcher { - cursor: pointer; - position: absolute; - right: 52px; - font-size: 10px; -} - -pre.list-field { - padding-top: 16px; - max-height: 200px; - padding-right: 36px; -} - -#search { - margin-top: 8px; - margin-right: 15px !important; - width: 350px; - margin-left: 25px; -} - -.subnav { - background: #0f0f0f; - marign: 0px; -} - -.subnav .container { - padding: 8px; - color: white; - padding-left: 36px; -} - -a { - text-decoration: underline; -} - -.token-logo { - max-width: 32px; - max-height: 32px; - margin: 8px; - margin-left:20px; -} - -.nav-tabs { - margin-top: 10px; -} - -.nav-tabs li a { - text-decoration: none; - border-radius: 8px 8px 0 0; -} - -#transaction-token-decimals small, -#address-token-decimals small { - color: #888; -} - -a.local-link, a.local-link:visited, a.local-link:hover { - color: white; -} - -.footer { - font-family: 'Open Sans', sans-serif; - padding-top:60px; - padding-bottom:75px; - background-color:#0d0d0d; - position: absolute; - width: 100%; - bottom: 0px; -} - -.footer .small-link { - color:#eeeeee !important; - text-decoration: none; - border-bottom: 2px solid #eeeeee; - box-shadow: inset 0px -1px 0px 0px #eeeeee; - -webkit-box-shadow: inset 0px -1px 0px 0px #eeeeee; - -moz-box-shadow: inset 0px -1px 0px 0px #eeeeee; - font-size: 12px; -} - -.footer-links li { - display: block; - margin-bottom: 10px; -} - -.footer-links li a{ - color: #ffffff; - font-weight: 600; - border-bottom: 2px solid #1396e2; - -webkit-box-shadow: inset 0px -1px 0px 0px #1396e2; - -moz-box-shadow: inset 0px -1px 0px 0px #1396e2; - box-shadow: inset 0px -1px 0px 0px #1396e2; - text-decoration: none; -} - -.footer-links ul { - -webkit-padding-start: 0px; -} - -.footer-donation { - color:#eeeeee; - /* overflow: hidden; - text-overflow: ellipsis; */ - word-wrap: break-word; -} - -.footer-links, -.footer-donation { - padding-right: 0px; -} - -#disqus_thread { - margin-top: 60px; - display: none; - padding-bottom: 320px; -} - -td.list-field { - white-space: nowrap; - overflow: hidden; - max-width: 1px; - width: 80%; - text-overflow: ellipsis; -} - -.token-related .blue td { - font-size: 20px; - white-space: normal; -} - -.navbar-logo { - float: left; - height: 50px; - padding: 25px 15px; - line-height: 20px; - width: 170px; - position: absolute; - z-index: 10000; - padding-left: 0px; -} - -.navbar-logo-extra { - float: left; - height: 10px; - line-height: 48px; - width: 40px; - position: absolute; - z-index: 10000; - padding-left: 175px; - padding-top: 20px; -} - -.navbar-logo-extra img { - width: 40px; -} - - -.navbar-logo img { - width: 170px; - cursor: pointer; -} - -.navbar-logo-small { - float: left; - height: 50px; - padding: 25px 15px; - line-height: 20px; - width: 32px; - position: absolute; - z-index: 10000; - padding-left: 0px; - display: none; -} - -.navbar-logo-small img { - height: 32px; - cursor: pointer; -} - -.table tr.last td:first-child { - border-bottom-left-radius: 8px; -} - -.table tr.last td:last-child { - border-bottom-right-radius: 8px; -} - -.multiop { - display: none; -} - -.multiop tr.selectable { - cursor: pointer; -} - -.multiop tr td:nth-child(1) { - max-width: 85px; -} - -.multiop tr td:nth-child(2) { - max-width: 50vw; - overflow: hidden; - text-overflow: ellipsis; -} - -.multiop tr td:nth-child(2), -.multiop tr td:nth-child(3), -.multiop tr td:nth-child(4) -{ - min-width: 65px; -} - -.multiop tr td:nth-child(4) { - max-width: 65px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.multiop tr td:nth-child(5){ - display: none; - max-width: 4px; -} - -.multiop tr.selectable:hover td span.dash_on_hover { - border-bottom: 1px dashed; -} - -a.dashed { - text-decoration: none; - border-bottom: 1px dashed; -} - -.multiop a { - color: white !important; -} - -.chainy { - display: none; -} - -.chainy-text { - font-size: 11px; - display: block; - margin-bottom: -7px; - opacity: 0.4; - overflow: hidden; - white-space: nowrap; -} - -.token-name a { - color: #333 !important; -} - -.address-token-inline { - display: none; -} - -#transfer-tx-message, -#transaction-tx-message, -#address-token-description { - white-space: normal !important; -} - -#qr-code-address { - display:inline-block; -} - -#ethplorer-path { - display: none; - padding: 16px; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100vw; - background-color: white; - border-radius: 8px; - text-align: center; - font-size: 22px; - margin-top: 10px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis -} - -#ethplorer-alert { - display: none; - padding: 16px; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100vw; - background-color: #f8f577; - color: #ac0000; - border-radius: 8px; - text-align: center; - font-size: 22px; - margin-top: 10px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis -} - -#ethplorer-alert a { - color: #ac0000 !important; -} - - -#token-history-grouped-widget { - display: none; - overflow: hidden; - text-align: center; - white-space: nowrap; - overflow: hidden; -} - -.same-address { - opacity: 0.4; -} - -.incoming { - font-size: 16px; - color: #1e8c1e !important; -} - -.outgoing { - font-size: 16px; - color: #ae2525 !important; -} - -.diff-up { - color: #1e8c1e !important; -} - -.diff-down { - color: #ae2525 !important; -} - -.tx-value-price { - font-size: 0.9em; - color: white; - opacity: 0.6; -} - -.balances-price { - color: rgba(255, 255, 255, 0.6); - font-size: 0.9em; - display: inline-block; - float: right; -} - -#address-balances-total { - color: rgba(0, 0, 0, 0.6); - font-size: 0.8em; - line-height: 1.6em; - display: block; - padding-right: 15px; - width: 100%; - position: relative; - top: -25px; - text-align: right; - margin-bottom: -30px; -} - -#address-balances-total-inner { - max-width: 250px; - display: inline-block; -} - -.total-supply-usd { - color: rgba(255, 255, 255, 0.6); -} - -.transfer-usd { - color: rgba(255, 255, 255, 0.6); - font-size: 0.8em; -} - -.hash-from-to { - max-width: 40vw; - overflow: hidden; - text-overflow: ellipsis -} - -#address-token-transfers small, -#address-transfers small, -#address-issuances small, -#address-chainy-tx small -{ - margin-top: -10px; - display: block; - padding-left: 16px; - color: white; - margin-bottom: 20px; -} - -.export-csv { - float: right; - padding-right: 16px; -} - -.export-csv-spinner { - float: right; - padding-right: 16px; - display: none; -} - -#address-chainy-tx .table tr td:nth-child(4){ - white-space: nowrap; -} - -.pageSize { - float: left; - color: #333; - margin-top: 14px; -} - -#address-chainy-info, -#tab-issuances, -#tab-holders, -#address-token-transfers, -#address-issuances, -#address-token-holders { - display: none; -} - -#address-token-holders td.show_small { - padding-left: 0px !important; -} - -.holder_small { - min-height: 50px; - margin-top: -16px; - max-width: 60vw; - overflow: hidden; - text-overflow: ellipsis; -} - -.total-records { - float: right; - margin-top: -22px; - margin-right: 20px; -} - -#address-token-holders tr td:first-child { - max-width: 50px; - width: 50px; - text-align: right; - padding-left: 0px; -} - -tr.paginationFooter td { - padding-left: 20px !important; -} - -#address-token-holders tr td:nth-child(2) { - max-width: 250px; - width: 250px; - overflow: hidden; - text-overflow: ellipsis; -} - -#address-token-holders tr td:nth-child(3) { - min-width: 1px; -} - -#address-token-holders tr td:nth-child(4) { - max-width: 220px; - width: 220px; - overflow: hidden; - text-overflow: ellipsis; - text-align: right; - white-space: nowrap; -} - -#address-token-holders tr td:nth-child(5) { - width: 50%; - padding-right: 60px; -} - -#address-token-holders-totals { - color: white; - font-size: 13px; - text-align: center; -} - -.holder-gauge { - position: relative; - background-color: white; - opacity: 0.8; - height: 20px; - float: left; -} - -.holder-gauge-value { - position:relative; - width:0px; - height: 20px; - float: left; -} - - -#address-issuances tr td:last-child { - min-width: 200px; -} - -.tx-details-link { - font-size: 22px; - color: white !important; - cursor: pointer; - border-bottom: 1px dashed white; -} - -.tx-details-link, -.tx-details-link:hover, -.tx-details-link:visited, -.tx-details-link:active { - text-decoration: none; -} - -.tx-details-link.closed { - display: none; -} - -.tx-details-close { - top: 24px; - position: absolute; - right: 32px; - font-size: 30px; - color: #444; - cursor: pointer; -} - -.total-in-out-small { - font-size: 0.8em; - opacity: 0.4; - line-height: 14px; - padding-top: 4px; -} - -.filter-box.in-tabs { - text-align: right; - height: 0px; - margin-top: -50px; -} - -.filter-box.in-tabs .filter-form{ - width: 300px; - float: right; -} - -.filer-mark { - /* color: black; */ - /* background-color: yellow; */ -} - -.filter-box.out-of-tabs{ - text-align: right; - height: 15px; - margin-top: 5px; -} - -.filter-clear { - width: 16px; - height: 16px; - position: absolute; - top: -3px; - right: 24px; - color: #7b1818; - cursor: pointer; - display: none; - font-size: 24px; -} - -_::-webkit-:host:not(:root:root), .filter-clear { - top: -6px; -} - -#filter-error { - color: #7b1818; - margin-top: 15px; - display: none; -} - -.filter-box.out-of-tabs .filter-clear { - right: 24px; -} - -#filter_list { - border-radius: 7px; - padding-left: 5px; - padding-right: 24px; - width: 240px; - border: 1px solid white; - padding-top: 2px; - padding-bottom: 2px; - background-color: black; - color: white; -} - -#filter_list.filled { - border-color: #7b1818; - color: #7b1818; -} - -.filtered-totals { - color: #7b1818; -} - -.filter-box.processing { - opacity: 0.6; - pointer-events: none; -} - -.ui-autocomplete { - max-width: 350px; - overflow: hidden; - border-radius: 4px; -} - -.ui-autocomplete li { - font-size: 12px; - white-space: nowrap; -} - -li.ui-menu-item.not-found { - opacity: 1 !important; - color: #aaa; - pointer-events: none; -} - -li.ui-menu-item.have-more { - opacity: 1 !important; - color: #aaa; - padding-top: 4px; - border-top: 1px dotted #aaa; - font-style: italic; - pointer-events: none; -} - -#filter_list:focus { - outline: none; - box-shadow: 0 0 0px #000; -} - -.notFoundRow td { - text-align: center !important; -} - -#search-quick-results { - z-index:100; - position: absolute; - background-color: white; - border:1px solid #aaa; - width: 350px; - display: none; - padding: 2px 8px; - border-radius: 4px; - margin-top: -1px; -} - -#search-quick-results .search-result { - color: #444; - overflow: hidden; - cursor: pointer; - white-space: nowrap; - text-overflow: ellipsis; -} - -#search-quick-results .search-result:hover { - background-color: #eee; -} - -#search-quick-results .search-more { - color: #aaa; - padding-top: 4px; - border-top: 1px dotted #aaa; - font-style: italic; -} - -.table-loading { - margin-top: -5px; - margin-right: -10px; -} - -/* Timer*/ -.timer{ - width: 47px; - height: 47px; - background-color: transparent; - box-shadow: inset 0px 0px 0px 2px #fff; - border-radius: 50%; - position: relative; - margin: 38px auto;/* Not necessary- its only for layouting*/ - } -.timer:after, .timer:before{ - position: absolute; - content:""; - background-color: #fff; -} -.timer:after{ - width: 20px; - height: 2px; - top: 22px; - left: 22px; - -webkit-transform-origin: 1px 1px; - -moz-transform-origin: 1px 1px; - transform-origin: 1px 1px; - -webkit-animation: minhand 2s linear infinite; - -moz-animation: minhand 2s linear infinite; - animation: minhand 2s linear infinite; -} - -.timer:before{ - width: 16px; - height: 2px; - top: 22px; - left: 22px; - -webkit-transform-origin: 1px 1px; - -moz-transform-origin: 1px 1px; - transform-origin: 1px 1px; - -webkit-animation: hrhand 8s linear infinite; - -moz-animation: hrhand 8s linear infinite; - animation: hrhand 8s linear infinite; -} - -.cuttable-address { - white-space: nowrap; -} - -@media screen and (max-width: 1199px) { - .footer-donation { - font-size:12.8px; - } - - #topmenu li { - padding-right: 8px; - } -} - -@media screen and (min-width: 640px) { - .nav-tabs li a { - font-size: 24px !important; - } -} - -@media screen and (max-width: 640px) { - .footer { - /* line-height: 18px; */ - font-size: 12px; - } - .footer .copyrights { - text-align: center; - position:relative; - width: 100%; - } -} -@media screen and (min-width: 992px) { - .multiop tr td:nth-child(3) { - white-space: nowrap !important; - } -} - -@media screen and (max-width: 991px) { - .tx-details-link, - #ethplorer-path { - font-size: 18px; - } - #qr-code-address { - font-size: 16px; - } - .address-token { - display: none; - } - .address-token-inline { - display: inline; - } - .footer-links, - .footer-donation { - font-size:12.3px; - } -} - -@media screen and (min-width: 400px) and (max-width: 991px) { - .hash-from-to { - padding-left: 20px; - max-width: 38vw; - } - - td.table-hash-field { - max-width: 26vw; - } -} - -@media screen and (max-width: 699px) { - .token-related .blue td { - font-size: 18px; - } - - .hash-from-to { - max-width: 56vw; - } - - td.table-hash-field { - display: none; - } -} - -@media screen and (max-width: 499px) { - .nav-tabs li a { - padding-left:6px; - padding-right: 6px; - } - td.table-type-field { - display: none; - } - .footer-links, - .footer-donation { - font-size:12px; - } - #address-balances-total-inner { - max-width: 150px; - } -} - -@media screen and (max-width: 399px) { - #ethplorer-note { - margin-top: 0px; - } - - .total-records { - display: none; - } - .pagination-sm>li>a, .pagination-sm>li>span { - padding: 7px 5px; - font-size: 9px; - } - tr.paginationFooter td ul.pagination { - margin-right: 10px; - } - #address-issuances tr td:last-child { - min-width: 140px; - } - .token-related .blue td { - font-size: 16px; - } - #address-token-transfers td { - font-size: 11px; - } - #qr-code-address { - font-size: 12px; - } - #ethplorer-path { - font-size: 14px; - } - .table tr td:first-child { - max-width: 90px; - padding-left: 8px !important; - } - .table tr td:nth-child(2) { - /* text-align: right; */ - } - .table tr td { - font-size: 12px; - } - .block-header h3 { - font-size: 18px; - padding-left: 8px; - } - .navbar { - margin-bottom: 0px; - } - #address-balances-total { - font-size: 0.6em; - line-height: 2em; - padding-right: 5px; - } - .footer-links, - .footer-donation { - font-size:11px; - } -} - -.show_small { - display: none; -} - -a.token-update { - position: absolute; - right: 0px; - margin-right: 30px; - font-size: 14px; - top: 37px; - color: #337ab7 !important; -} - -.adsbygoogle { - display: block; - width: 900px; - height: 17px; - margin-left: auto; - margin-right: auto; -} - -@media screen and (max-width: 979px) { - .adsbygoogle { - width: 480px !important; - } -} - -@media screen and (max-width: 479px) { - .adsbygoogle { - display: none !important; - } -} - - - -@media screen and (max-width: 991px) { - #topmenu li { - padding-right: 0px; - } - .navbar-logo { - display: none; - } - .navbar-logo-extra { - display: none; - } - .navbar-logo-small { - display: block; - } -} - -@media screen and (max-width: 767px) { - - #loader { - margin-top: -40px; - } - - - #disqus_thread { - padding-bottom: 430px; - } - - .navbar-nav>li { - float: left; - } - - .filter-box.in-tabs { - text-align: right; - height: 15px !important; - margin-top: 10px !important; - } - - .filter-box.in-tabs .filter-form { - width: 100%; - } - - .filter-box.in-tabs #filter_list { - width: 100%; - } - - .ui-autocomplete { - max-width: 100%; - } - - #qr-code-address { - font-size: 12px; - } - - #ethplorer-path { - font-size: 16px; - } - - .multiop tr td:nth-child(3), - .multiop tr td:nth-child(4) - { - display: none; - } - - .multiop tr td:nth-child(5){ - display: table-cell; - } - - #address-token-transfers .block { - max-width: 100vw; - overflow: hidden; - } - - .block-header h3 { - font-size: 20px; - } - - .hash-from-to { - max-width: 75vw !important; - } - - #address-token-transfers td { - font-size: 12px; - } - - .hide-small { - display: none !important; - } - - .show_small { - display: initial; - } - - .address-token{ - display: none; - } - - #navbar { - height: 115px; - } - - #searchform { - position: absolute; - top: 35px; - right: 0px; - width: 100%; - } - - #search-quick-results, - #search { - width: 100%; - margin-left: 0px; - } - - #topmenu { - position: absolute; - right: 0px; - top: -4px; - } - - .token-history-grouped-widget { - padding: 0px !important; - } -} - -@media screen and (max-width: 479px) { - a.token-update { - display: none; - } - #topmenu li { - padding-left: 8px; - padding-bottom: 8px; - padding-top: 10px; - padding-right: 0px; - } -} - -@media screen and (max-width: 359px) { - #topmenu li { - padding-left: 10px; - padding-top: 13px; - font-size: 15px; - } - #address-balances-total { - font-size: 0.5em; - line-height: 2.5em; - } - #address-balances-total-inner { - max-width: 100px; - } -} - -@-webkit-keyframes minhand{ - 0%{-webkit-transform:rotate(0deg)} - 100%{-webkit-transform:rotate(360deg)} -} -@-moz-keyframes minhand{ - 0%{-moz-transform:rotate(0deg)} - 100%{-moz-transform:rotate(360deg)} -} -@keyframes minhand{ - 0%{transform:rotate(0deg)} - 100%{transform:rotate(360deg)} -} - -@-webkit-keyframes hrhand{ - 0%{-webkit-transform:rotate(0deg)} - 100%{-webkit-transform:rotate(360deg)} -} -@-moz-keyframes hrhand{ - 0%{-moz-transform:rotate(0deg)} - 100%{-moz-transform:rotate(360deg)} -} -@keyframes hrhand{ - 0%{transform:rotate(0deg)} - 100%{transform:rotate(360deg)} -} diff --git a/css/font-awesome.min.css b/css/font-awesome.min.css deleted file mode 100644 index 540440ce..00000000 --- a/css/font-awesome.min.css +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/css/jquery-ui.min.css b/css/jquery-ui.min.css deleted file mode 100644 index 0e3d4642..00000000 --- a/css/jquery-ui.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! jQuery UI - v1.12.1 - 2017-02-07 -* http://jqueryui.com -* Includes: core.css, autocomplete.css, menu.css -* Copyright jQuery Foundation and other contributors; Licensed MIT */ - -.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0} \ No newline at end of file diff --git a/css/tilda-blocks-2.10.css b/css/tilda-blocks-2.10.css deleted file mode 100644 index 86baa843..00000000 --- a/css/tilda-blocks-2.10.css +++ /dev/null @@ -1 +0,0 @@ -@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700&subset=latin,cyrillic);.t-body{margin:0}#allrecords{-webkit-font-smoothing:antialiased;background-color:none}#allrecords a{color:#ff8562;text-decoration:none}#allrecords a[href^=tel]{color:inherit;text-decoration:none}#allrecords ol{padding-left:22px}#allrecords ul{padding-left:20px}@media print{body,html{min-width:1200px;max-width:1200px;padding:0;margin:0 auto;border:none}}.t-text{font-family:'Georgia',serif;font-weight:300;color:#000}.t-text_xs{font-size:15px;line-height:1.55}.t-text_sm{font-size:18px;line-height:1.55}.t-text_md{font-size:20px;line-height:1.55}.t-text_lg{font-size:22px;line-height:1.55}.t-text_weight_plus{font-weight:400}.t-text-impact{font-family:'Georgia',serif;font-weight:300;color:#000}.t-text-impact_xs{font-size:26px;line-height:1.5}.t-text-impact_sm{font-size:32px;line-height:1.35}.t-text-impact_md{font-size:38px;line-height:1.35}.t-text-impact_lg{font-size:42px;line-height:1.23}.t-name{font-family:'Open Sans',sans-serif;font-weight:600;color:#000}.t-name_xs{font-size:16px;line-height:1.35}.t-name_sm{font-size:18px;line-height:1.35}.t-name_md{font-size:20px;line-height:1.35}.t-name_lg{font-size:22px;line-height:1.35}.t-name_xl{font-size:24px;line-height:1.35}.t-heading{font-family:'Open Sans',sans-serif;font-weight:600;color:#000}.t-heading_xs{font-size:26px;line-height:1.23}.t-heading_sm{font-size:28px;line-height:1.17}.t-heading_md{font-size:30px;line-height:1.17}.t-heading_lg{font-size:32px;line-height:1.17}.t-title{font-family:'Open Sans',sans-serif;font-weight:600;color:#000}.t-title_xxs{font-size:36px;line-height:1.23}.t-title_xs{font-size:42px;line-height:1.23}.t-title_sm{font-size:48px;line-height:1.23}.t-title_md{font-size:52px;line-height:1.23}.t-title_lg{font-size:64px;line-height:1.23}.t-title_xl{font-size:72px;line-height:1.17}.t-title_xxl{font-size:82px;line-height:1.17}.t-descr{font-family:'Open Sans',sans-serif;font-weight:300;color:#000}.t-descr_xxs{font-size:14px;line-height:1.55}.t-descr_xs{font-size:16px;line-height:1.55}.t-descr_sm{font-size:18px;line-height:1.55}.t-descr_md{font-size:20px;line-height:1.55}.t-descr_lg{font-size:22px;line-height:1.55}.t-descr_xl{font-size:24px;line-height:1.5}.t-descr_xxl{font-size:26px;line-height:1.45}.t-descr_xxxl{font-size:30px;line-height:1.45;letter-spacing:.45}.t-uptitle{font-family:'Open Sans',sans-serif;font-weight:600;color:#000;letter-spacing:2.5px}.t-uptitle_xs{font-size:12px}.t-uptitle_sm{font-size:14px}.t-uptitle_md{font-size:16px}.t-uptitle_lg{font-size:18px}.t-uptitle_xl{font-size:20px;letter-spacing:2px}.t-uptitle_xxl{font-size:22px;letter-spacing:2px}.t-uptitle_xxxl{font-size:24px;letter-spacing:2px}@media screen and (max-width:1200px){.t-text_xs{font-size:14px}.t-text_sm{font-size:16px}.t-text_md{font-size:18px}.t-text_lg{font-size:20px}.t-text-impact_md{font-size:30px}.t-descr_xxs{font-size:12px}.t-descr_xs{font-size:14px}.t-descr_sm{font-size:16px}.t-descr_md{font-size:18px}.t-descr_lg{font-size:20px}.t-descr_xl{font-size:22px}.t-descr_xxl{font-size:22px}.t-descr_xxxl{font-size:26px}.t-uptitle_md{font-size:14px}.t-uptitle_lg{font-size:16px}.t-uptitle_xl{font-size:18px}.t-uptitle_xxl{font-size:20px}.t-uptitle_xxxl{font-size:22px}.t-title_xxs{font-size:32px}.t-title_xs{font-size:38px}.t-title_sm{font-size:44px}.t-title_md{font-size:48px}.t-title_lg{font-size:60px}.t-title_xl{font-size:68px}.t-title_xxl{font-size:78px}.t-name_xs{font-size:14px}.t-name_sm{font-size:16px}.t-name_md{font-size:18px}.t-name_lg{font-size:20px}.t-name_xl{font-size:22px}.t-heading_xs{font-size:24px}.t-heading_sm{font-size:26px}.t-heading_md{font-size:28px}.t-heading_lg{font-size:30px}}@media screen and (max-width:640px){.t-text_xs{font-size:12px;line-height:1.45}.t-text_sm{font-size:14px;line-height:1.45}.t-text_md{font-size:16px;line-height:1.45}.t-text_lg{font-size:18px;line-height:1.45}.t-text-impact_sm{font-size:22px}.t-text-impact_md{font-size:26px}.t-text-impact_lg{font-size:28px}.t-descr_xs{font-size:12px;line-height:1.45}.t-descr_sm{font-size:14px;line-height:1.45}.t-descr_md{font-size:16px;line-height:1.45}.t-descr_lg{font-size:18px;line-height:1.45}.t-descr_xl{font-size:20px;line-height:1.4}.t-descr_xxl{font-size:20px}.t-descr_xxxl{font-size:22px}.t-uptitle_xs{font-size:10px}.t-uptitle_sm{font-size:10px}.t-uptitle_md{font-size:12px}.t-uptitle_lg{font-size:14px}.t-uptitle_xl{font-size:16px}.t-uptitle_xxl{font-size:18px}.t-uptitle_xxxl{font-size:20px}.t-title_xxs{font-size:28px}.t-title_xs{font-size:30px}.t-title_sm{font-size:30px}.t-title_md{font-size:30px}.t-title_lg{font-size:30px}.t-title_xl{font-size:32px}.t-title_xxl{font-size:36px}.t-name_xs{font-size:12px}.t-name_sm{font-size:14px}.t-name_md{font-size:16px}.t-name_lg{font-size:18px}.t-name_xl{font-size:20px}.t-heading_xs{font-size:22px}.t-heading_sm{font-size:24px}.t-heading_md{font-size:24px}.t-heading_lg{font-size:26px}}@media screen and (max-width:480px){.t-title_xl{font-size:30px}.t-title_xxl{font-size:30px}}.t-records{-webkit-font_smoothing:antialiased;background-color:none}.t-records a{color:#ff8562;text-decoration:none}.t-records a[href^=tel]{color:inherit;text-decoration:none}.t-records ol{padding-left:22px;margin-top:0;margin-bottom:10px}.t-records ul{padding-left:20px;margin-top:0;margin-bottom:10px}.t-cover{height:700px;width:100%;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;background-color:#000;background-repeat:no-repeat;background-position:center center;text-align:center;vertical-align:middle;position:relative;background-attachment:fixed;overflow:hidden}.t-cover__carrier{height:700px;width:100%;background-size:cover;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-repeat:no-repeat;background-position:center center;text-align:center;vertical-align:middle;position:relative;background-attachment:fixed}.t-cover__carrier.loading{opacity:0}.t-cover__carrier[data-content-cover-bg=""].loading{opacity:1!important}.t-cover__carrier.loaded{opacity:1;transition:opacity 400ms}@media screen and (max-device-width:1024px){.t-cover{background-attachment:scroll}.t-cover__carrier{background-attachment:scroll}}@media print{.t-cover{background-attachment:scroll}.t-cover__carrier{background-attachment:scroll}}.t-cover__filter{height:700px;width:100%;position:absolute;top:0;left:0}.t-cover .t-container,.t-cover .t-container_100,.t-cover .t-container_10,.t-cover .t-container_8{position:absolute;top:0;left:0;bottom:0;right:0}.t-cover__wrapper{height:700px;display:table-cell;width:1200px}.t-cover__wrapper span.space{display:inline-block;height:100%;width:1px}@media screen and (max-width:640px){.t-cover{height:400px;background-attachment:fixed}.t-cover__carrier{background-attachment:scroll!important;background-size:cover;background-position:center center}.t-cover__filter{height:400px}.t-cover__wrapper{height:400px}}@-webkit-keyframes t-arrow-bottom{0%{-moz-transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}50%{-moz-transform:translateY(-7px);-ms-transform:translateY(-7px);-webkit-transform:translateY(-7px);-o-transform:translateY(-7px);transform:translateY(-7px)}55%{-moz-transform:translateY(-7px);-ms-transform:translateY(-7px);-webkit-transform:translateY(-7px);-o-transform:translateY(-7px);transform:translateY(-7px)}100%{-moz-transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}}@keyframes t-arrow-bottom{0%{-moz-transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}50%{-moz-transform:translateY(-7px);-ms-transform:translateY(-7px);-webkit-transform:translateY(-7px);-o-transform:translateY(-7px);transform:translateY(-7px)}55%{-moz-transform:translateY(-7px);-ms-transform:translateY(-7px);-webkit-transform:translateY(-7px);-o-transform:translateY(-7px);transform:translateY(-7px)}100%{-moz-transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}}.t-cover__arrow-wrapper_animated{animation:t-arrow-bottom 1.7s infinite ease}.t-cover__arrow{position:absolute;z-index:9;bottom:40px;right:0;left:0;text-align:center}.t-cover__arrow-wrapper{display:inline-block;-webkit-transition:all ease-in-out 0.2s;-moz-transition:all ease-in-out 0.2s;-o-transition:all ease-in-out 0.2s;transition:all ease-in-out 0.2s;cursor:pointer}.t-cover__arrow-wrapper:hover{opacity:.7}.t-cover__arrow-svg{fill:#fff}@media screen and (max-width:640px){.t-cover__arrow_mobile{-moz-transform:scale(.7);-ms-transform:scale(.7);-webkit-transform:scale(.7);-o-transform:scale(.7);transform:scale(.7)}.t-cover__arrow{bottom:14px}}.t-btn{display:inline-block;font-family:'Open Sans',sans-serif;height:60px;border:0 none;font-size:16px;padding-left:60px;padding-right:60px;text-align:center;white-space:nowrap;vertical-align:middle;font-weight:700;background-image:none;cursor:pointer;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.t-btn td{vertical-align:middle}.t-btn_sending{opacity:.5}@media screen and (max-width:640px){.t-btn{white-space:normal;padding-left:30px;padding-right:30px}}.t-btn_sm{height:40px;font-size:14px;padding-left:30px;padding-right:30px}.t-btn_lg{height:60px;font-size:22px;padding-left:70px;padding-right:70px}.t-btn_xl{height:80px;font-size:26px;padding-left:80px;padding-right:80px}.t-btn_xxl{height:100px;font-size:30px;padding-left:90px;padding-right:90px}@media screen and (max-width:640px){.t-btn_lg{font-size:18px;padding-left:40px;padding-right:40px}.t-btn_xl{font-size:22px;padding-left:50px;padding-right:50px}.t-btn_xxl{font-size:26px;padding-left:60px;padding-right:60px}}.t-submit{font-family:'Open Sans',sans-serif;text-align:center;height:60px;border:0 none;font-size:16px;padding-left:60px;padding-right:60px;-webkit-appearance:none;font-weight:700;white-space:nowrap;background-image:none;cursor:pointer;margin:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:none}.t-submit_sending{opacity:.5}@media screen and (max-width:640px){.t-submit{white-space:normal;padding-left:30px;padding-right:30px}}.t-input{margin:0;font-family:'Open Sans',sans-serif;font-size:100%;height:60px;padding:0 20px;font-size:16px;line-height:1.33;width:100%;border:0 none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:none}.t-input::-moz-focus-inner{padding:0;border:0}.t-input_bbonly{outline:none;padding-left:0!important;padding-right:0!important;border-top:0!important;border-right:0!important;border-left:0!important;background-color:transparent!important;border-radius:0!important}@media screen and (max-width:1200px){.t-screenmin-1200px{display:none}}@media screen and (max-width:980px){.t-screenmin-980px{display:none}}@media screen and (max-width:640px){.t-screenmin-640px{display:none}}@media screen and (max-width:480px){.t-screenmin-480px{display:none}}@media screen and (max-width:320px){.t-screenmin-320px{display:none}}@media screen and (min-width:321px){.t-screenmax-320px{display:none}}@media screen and (min-width:481px){.t-screenmax-480px{display:none}}@media screen and (min-width:641px){.t-screenmax-640px{display:none}}@media screen and (min-width:981px){.t-screenmax-980px{display:none}}@media screen and (min-width:1201px){.t-screenmax-1200px{display:none}}.t-hidden{display:none}.t-opacity_50{filter:alpha(opacity=50);KHTMLOpacity:.5;MozOpacity:.5;opacity:.5}.t-opacity_70{filter:alpha(opacity=70);KHTMLOpacity:.7;MozOpacity:.7;opacity:.7}.t-uppercase{text-transform:uppercase}.t-align_center{text-align:center}.t-align_left{text-align:left}.t-align_right{text-align:right}.t-margin_auto{margin-left:auto;margin-right:auto}.t-valign_middle{vertical-align:middle}.t-valign_top{vertical-align:top}.t-valign_bottom{vertical-align:bottom}.t-margin_left_auto{margin-right:0;margin-left:auto}.yashare-style .b-share-btn__facebook,.yashare-style .b-share-btn__twitter,.yashare-style .b-share-btn__vkontakte{background-color:transparent!important}.yashare-style .b-share__link{-webkit-border-radius:0px!important;border-radius:0px!important}.yashare-style-black-white .b-share-btn__wrap{background-color:#000!important;padding:5px!important}.yashare-style-transp-white .b-share-btn__wrap{padding:5px!important}.yashare-style-transp-white .b-share-counter{color:#fff;font-weight:700}.yashare-style-white-black .b-share-btn__wrap{background-color:#fff!important;padding:5px!important}.yashare-style-white-black .b-share-icon{background-image:url(//static.tildacdn.com/img/b-share_counter_large_white.png)!important}.yashare-style-transp-black .b-share-btn__wrap{padding:5px!important}.yashare-style-transp-black .b-share-icon{background-image:url(//static.tildacdn.com/img/b-share_counter_large_white.png)!important}.yashare-style-transp-black .b-share-counter{color:#000;font-weight:700}.ya-share2 ul{padding-left:0px!important}.carousel{position:relative}.carousel ol{padding-left:0px!important}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;height:auto;line-height:1}.carousel-inner .widthauto{width:auto;max-width:100%;vertical-align:middle}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;opacity:.2;filter:alpha(opacity=20)}.carousel-control.right{right:0;left:auto}.carousel-control .carousel-control-left{position:absolute;top:48%;z-index:5;display:inline-block;left:20%;height:34px;width:21px;background:url(//static.tildacdn.com/img/aboutSliderControls.png) no-repeat}.carousel-control .carousel-control-left-white{position:absolute;top:48%;z-index:5;display:inline-block;left:20%;height:34px;width:21px;background:url(//static.tildacdn.com/img/aboutSliderControls_white.png) no-repeat}.carousel-control .carousel-control-right{position:absolute;top:48%;z-index:5;display:inline-block;right:20%;height:34px;width:21px;background:url(//static.tildacdn.com/img/aboutSliderControls.png) no-repeat;background-position:left bottom}.carousel-control .carousel-control-right-white{position:absolute;top:48%;z-index:5;display:inline-block;right:20%;height:34px;width:21px;background:url(//static.tildacdn.com/img/aboutSliderControls_white.png) no-repeat;background-position:left bottom}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators.dotsbottom{bottom:-60px}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;margin-left:5px;margin-right:5px;text-indent:-999px;cursor:pointer;background-color:#000;border:none;border-radius:10px}.carousel-indicators .active{width:10px;height:10px;margin:0;margin-left:4px;margin-right:4px;border:1px solid #000;border-radius:10px;background-color:transparent}.carousel-indicators li.white{background-color:#fff}.carousel-indicators li.white.active{border:1px solid #fff;border-radius:10px;background-color:transparent}.carousel-caption-imgs h6{font-family:'Georgia',serif;color:#000;font-weight:400;font-size:14px;line-height:28px;padding-top:28px;padding-bottom:0;text-align:center}.carousel-caption-imgs p{font-family:'Georgia',serif;color:#000;font-size:14px;line-height:28px;padding-top:14px;padding-bottom:14px;text-align:center}.carousel-title{font-family:'Open Sans',sans-serif;color:#000;font-size:18px;line-height:28px;padding-top:36px;padding-bottom:14px;text-align:center}.carousel-descr{font-family:'Georgia',serif;color:#000;font-size:14px;line-height:28px;padding-top:14px;padding-bottom:14px;text-align:center}@media screen and (min-width:768px){.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}@media screen and (max-width:960px){.carousel-control .carousel-control-left{left:10%}.carousel-control .carousel-control-left-white{left:10%}.carousel-control .carousel-control-right{right:10%}.carousel-control .carousel-control-right-white{right:10%}}.t-tildalabel{background-color:#000;color:#fff;width:100%;height:70px;font-family:Arial;font-size:14px}.t-tildalabel:hover .t-tildalabel__wrapper{opacity:1}.t-tildalabel_white{background-color:#fff;color:#000}.t-tildalabel_gray{background-color:#eee;color:#000}.t-tildalabel__wrapper{display:table;height:30px;width:270px;margin:0 auto;padding-top:20px;opacity:.4}.t-tildalabel__txtleft{display:table-cell;width:120px;height:30px;vertical-align:middle;text-align:right;padding-right:12px;font-weight:300;font-size:12px}.t-tildalabel__wrapimg{display:table-cell;width:30px;height:30px;vertical-align:middle}.t-tildalabel__img{width:30px;height:30px;vertical-align:middle}.t-tildalabel__txtright{display:table-cell;width:120px;height:30px;vertical-align:middle;padding-left:12px;font-weight:500;letter-spacing:2px}.t-tildalabel__link{color:#fff;text-decoration:none;vertical-align:middle}.t-tildalabel_white .t-tildalabel__link,.t-tildalabel_gray .t-tildalabel__link{color:#000}.t-carousel{position:relative}.t-carousel__inner{position:relative;overflow:hidden;margin:0 auto}.t-carousel__slides{position:relative}.t-carousel__inner>.t-carousel__item{position:relative;display:none;-webkit-transition:0 ease-in-out left;-moz-transition:0 ease-in-out left;-o-transition:0 ease-in-out left;transition:0 ease-in-out left}.t-carousel__inner>.t-carousel__item.t-carousel__animation_fast{-webkit-transition:.3s ease-in-out left;-moz-transition:.3s ease-in-out left;-o-transition:.3s ease-in-out left;transition:.3s ease-in-out left}.t-carousel__inner>.t-carousel__item.t-carousel__animation_slow{-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.t-carousel__item__wrapper{position:relative;margin:0 auto}.t-carousel__item__img{background-size:contain;background-repeat:no-repeat;background-position:center;position:absolute;top:0;right:0;bottom:0;left:0}.t-carousel_cover .t-carousel__item__img{background-size:cover}.t-carousel__inner>.active,.t-carousel__inner>.next,.t-carousel__inner>.prev{display:block}.t-carousel__inner>.active{left:0}.t-carousel__inner>.next,.t-carousel__inner>.prev{position:absolute;top:0;width:100%}.t-carousel__inner>.next{left:100%}.t-carousel__inner>.prev{left:-100%}.t-carousel__inner>.next.left,.t-carousel__inner>.prev.right{left:0}.t-carousel__inner>.active.left{left:-100%}.t-carousel__inner>.active.right{left:100%}.t-carousel__arrows__container{position:absolute;top:0;left:0;right:0;bottom:0;margin:0 auto;pointer-events:none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGP6zwAAAgcBApocMXEAAAAASUVORK5CYII=',sizingMethod='scale');background:none!important}.t-carousel__arrow_outsidesmall .t-carousel__arrow__wrapper_left{left:16px}.t-carousel__arrow_outsidesmall .t-carousel__arrow__wrapper_right{right:16px}.t-carousel__arrow_outsidemiddle .t-carousel__arrow__wrapper_left{left:20px}.t-carousel__arrow_outsidemiddle .t-carousel__arrow__wrapper_right{right:20px}.t-carousel__control{position:absolute;top:0;bottom:0;left:0;width:15%;-webkit-transition:all ease-in-out 0.3s;-moz-transition:all ease-in-out 0.3s;-o-transition:all ease-in-out 0.3s;transition:all ease-in-out 0.3s;pointer-events:auto}.t-carousel__control:hover{opacity:.6}.t-carousel__arrow{width:34px;height:34px;background:transparent;-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.t-carousel__arrow.t-carousel__arrow_small{width:20px;height:20px}.t-carousel__arrow.t-carousel__arrow_large{width:54px;height:54px}.t-carousel__arrow__wrapper{-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);position:absolute;top:50%}.t-carousel__arrow__wrapper_left{left:30px}.t-carousel__arrow__wrapper_right{right:30px}.t-carousel__arrow_right{border-top:3px solid;border-right:3px solid}.t-carousel__arrow_right.t-carousel__arrow_light{border-top:1px solid;border-right:1px solid}.t-carousel__arrow_right.t-carousel__arrow_bold{border-top:6px solid;border-right:6px solid}.t-carousel__arrow_left{border-left:3px solid;border-bottom:3px solid}.t-carousel__arrow_left.t-carousel__arrow_light{border-left:1px solid;border-bottom:1px solid}.t-carousel__arrow_left.t-carousel__arrow_bold{border-left:6px solid;border-bottom:6px solid}.t-carousel__control.right{right:0;left:auto}@media screen and (max-width:768px){.t-carousel__control .t-carousel__arrow{width:12px;height:12px}.t-carousel-control{width:10%}.t-carousel__arrow__left{left:15px}.t-carousel__arrow__right{right:15px}}.t-carousel__indicators.carousel-indicators{z-index:15;text-align:center;list-style:none;position:relative;padding-left:0!important;margin:0 auto;padding:20px 0;bottom:auto;left:auto}.t-carousel__indicators.t-carousel__indicators_light{padding:15px 0 18px}.t-carousel__indicators.t-carousel__indicators_bold{padding:24px 0 21px}.t-carousel__indicators .t-carousel__indicator{display:inline-block;width:8px;height:8px;margin:0 6px;text-indent:-999px;cursor:pointer;background-color:#222;border:none;border-radius:10px;opacity:.4;-webkit-transition:.2s ease-in-out opacity;-moz-transition:.2s ease-in-out opacity;-o-transition:.2s ease-in-out opacity;transition:.2s ease-in-out opacity}@media screen and (max-width:640px){.t-carousel__indicators.carousel-indicators,.t-carousel__indicators.t-carousel__indicators_light,.t-carousel__indicators.t-carousel__indicators_bold{padding:15px 0}}.t-carousel__indicators.t-carousel__indicators_light .t-carousel__indicator{width:4px;height:4px;margin:0 5px}.t-carousel__indicators.t-carousel__indicators_bold .t-carousel__indicator{width:10px;height:10px;margin:0 6px}.t-carousel__indicators .t-carousel__indicator:hover{opacity:.8}.t-carousel__indicators .t-carousel__indicator.active{opacity:1}.t-carousel__indicators.t-carousel__indicators_inside{position:absolute;bottom:0;left:0;right:0}.t-carousel__caption-inside{display:none}.t-carousel__caption_wrapper{border-top:1px solid #eee;padding:14px 0}.t-carousel__descr{margin-top:5px;color:#777}.t-mbfix{opacity:.01;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);position:fixed;width:100%;height:500px;background-color:white;top:0;left:0;z-index:10000;-webkit-transition:all 0.1s ease;transition:all 0.1s ease}.t-mbfix_hide{-webkit-transform:translateX(3000px);-ms-transform:translateX(3000px);transform:translateX(3000px)}.r_anim{-webkit-transition:opacity 0.5s;transition:opacity 0.5s}.r_hidden{opacity:0}.r_showed{opacity:1}@media screen and (min-width:960px){.t-animate,.t-animate_item_wait{opacity:0}}.t-item.t-animate{animation-duration:0.5s!important}@-webkit-keyframes t-animate_fadein{0%{opacity:0}100%{opacity:1}}@keyframes t-animate_fadein{0%{opacity:0}100%{opacity:1}}.t-animate_played .t-animate_fadein:not(.t-animate_item_wait){-webkit-animation:t-animate_fadein 1s cubic-bezier(.25,.46,.45,.94) both;animation:t-animate_fadein 1s cubic-bezier(.25,.46,.45,.94) both}@-webkit-keyframes t-animate_fadeinup{0%{opacity:0;-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes t-animate_fadeinup{0%{opacity:0;-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.t-animate_played .t-animate_fadeinup:not(.t-animate_item_wait){-webkit-animation:t-animate_fadeinup 1s cubic-bezier(.19,1,.22,1) both;animation:t-animate_fadeinup 1s cubic-bezier(.19,1,.22,1) both}@-webkit-keyframes t-animate_fadeindown{0%{opacity:0;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes t-animate_fadeindown{0%{opacity:0;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.t-animate_played .t-animate_fadeindown:not(.t-animate_item_wait){-webkit-animation:t-animate_fadeindown 1s cubic-bezier(.19,1,.22,1) both;animation:t-animate_fadeindown 1s cubic-bezier(.19,1,.22,1) both}@-webkit-keyframes t-animate_zoomin{0%{opacity:0;-webkit-transform:scale(.9);transform:scale(.9)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes t-animate_zoomin{0%{opacity:0;-webkit-transform:scale(.9);transform:scale(.9)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.t-animate_played .t-animate_zoomin:not(.t-animate_item_wait){-webkit-animation:t-animate_zoomin 1s cubic-bezier(.19,1,.22,1) both;animation:t-animate_zoomin 1s cubic-bezier(.19,1,.22,1) both}.t107{text-align:center}.t107__width{vertical-align:middle}.t107__widthauto{width:auto;max-width:100%;display:block;margin:0 auto}.t107__title{padding-top:28px;padding-bottom:28px;font-size:14px;line-height:28px}.t001__wrapper{padding-top:42px;padding-bottom:42px}.t001__uptitle{text-transform:uppercase;color:#fff;padding-bottom:60px;padding-top:30px}.t001__title{color:#fff;padding:24px 0 38px 0;letter-spacing:.5px}.t001__descr{color:#fff;padding:0 0 30px 0}.t001__descr_center{max-width:700px;margin:0 auto}.t001__descr_center a{color:#fff!important;font-weight:600}@media screen and (max-width:640px){.t001__title{padding-left:10px;padding-right:10px}.t001__uptitle{padding-left:10px;padding-right:10px}.t001__descr{padding-left:10px;padding-right:10px;font-size:14px;line-height:20px}}.t015__title{padding-top:8px;padding-bottom:3px}.t015__uptitle{text-transform:uppercase;padding-top:10px;padding-bottom:40px}.t015__descr{padding:41px 0 0 0}.t017__uptitle{padding-top:3px;padding-bottom:22px}.t017__title{padding-top:2px;padding-bottom:0}.t017__descr{padding-top:21px}.t021__line{width:100%;max-width:140px;margin-left:auto;margin-right:auto;height:1px;background-color:#000}.t021__text-impact{text-align:center;margin-top:44px;margin-bottom:54px}.t030__title{margin-bottom:15px}.t030__descr{margin-top:8px;padding-bottom:6px}.t032__wrapper{padding-top:42px;padding-bottom:42px}.t032__title{color:#fff;margin-bottom:50px}.t032__line{width:100%;height:1px;background-color:#fff}.t032__descr{color:#fff;margin-top:43px;padding:0 50px;margin-bottom:0}@media screen and (max-width:960px){.t032__line{max-width:160px;margin:0 auto}}@media screen and (max-width:640px){.t032 .t-cover__wrapper{display:block;width:100%}.t032__title{padding:0 10px}.t032__descr{padding:0 10px}}.t033 .t-container{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.t033__lineTop{border-top:4px solid #000;padding-left:0;width:100%;margin-top:1px}.t033__title{font-size:24px;color:#000;line-height:36px;padding-top:19px}.t033__descr{margin-top:-12px}@media screen and (max-width:960px){.t033 .t-container{display:-webkit-block;display:block}.t033__title{padding-bottom:40px}}@media screen and (max-width:640px){.t033__lineTop{width:100%}}.t037 .t-container{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.t037__title{font-family:'Open Sans',sans-serif;color:#000;font-weight:600;font-size:24px;line-height:28px;padding-right:50px;padding-top:7px;padding-bottom:7px}.t037__text{padding-top:8px;padding-bottom:6px}@media screen and (max-width:960px){.t037 .t-container{display:-webkit-block;display:block}.t037__title{padding-right:0}}@media screen and (max-width:640px){.t037__title{margin-bottom:20px;padding-right:0}}.t050__uptitle{padding-top:9px;padding-bottom:93px;text-transform:uppercase}.t050__descr{padding-top:50px;padding-bottom:9px}.t056__title{padding-top:8px;padding-bottom:9px}.t056__descr{font-size:18px;line-height:28px;letter-spacing:1px;padding-top:22px;padding-bottom:5px}.t029 .t-container{padding-top:3px;padding-bottom:5px}.t029 img{max-width:100%}.t075__wrapperleft{padding-left:0;padding-right:0}.t075__wrappercenter{padding-left:20px;padding-right:20px}.t075__img{margin-bottom:14px;width:100px;height:100px}.t075__img_circle{border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.t075__textclass1 .t075__title{font-size:24px;line-height:30px;margin-bottom:25px;margin-top:18px}.t075__textclass1{font-size:16px;line-height:25px}.t075__textclass2 .t075__title{font-size:18px;line-height:21px;margin-bottom:25px;margin-top:12px}.t075__textclass2{font-size:13px;line-height:20px}.t075__textclass3 .t075__title{font-size:30px;line-height:40px;margin-bottom:25px;margin-top:12px}.t075__textclass3{font-size:16px;line-height:25px}@media screen and (max-width:960px){.t075__textclass1,.t075__textclass2,.t075__textclass3{margin-bottom:45px}}.t004{padding-top:8px;padding-bottom:6px}.t004__text-column-count_2{column-count:2;column-gap:40px;-moz-column-count:2;-moz-column-gap:40px;-webkit-column-count:2;-webkit-column-gap:40px}.t004__text-column-count_3{column-count:3;column-gap:40px;-moz-column-count:3;-moz-column-gap:40px;-webkit-column-count:3;-webkit-column-gap:40px}.t004__text-column-count_4{column-count:4;column-gap:40px;-moz-column-count:4;-moz-column-gap:40px;-webkit-column-count:4;-webkit-column-gap:40px}.t004__initial-letter:first-child::first-letter{font-size:100px;float:left;margin:-30px 20px -30px 0}.t004 table{border-collapse:collapse;font-size:1em;width:100%}.t004 table td,.t004 table th{padding:5px;border:1px solid #ddd;vertical-align:top}.t004 table thead td,.t004 table th{font-weight:700;border-bottom-color:#888}@media screen and (max-width:1200px){.t004__text-column-count_2,.t004__text-column-count_3,.t004__text-column-count_4{column-gap:20px;-moz-column-gap:20px;-webkit-column-gap:20px}}@media screen and (max-width:960px){.t004__text-column-count_2,.t004__text-column-count_3,.t004__text-column-count_4{column-count:1;column-gap:0;-moz-column-count:1;-moz-column-gap:0;-webkit-column-count:1;-webkit-column-gap:0}}@media screen and (max-width:640px){.t004 h1{font-size:28px;line-height:35px}}.t113{width:100%;height:50px;position:absolute;z-index:990}.t113__space{width:100%;height:50px;position:relative}.t113__fixed{position:fixed;top:0}.t113__logo{font-size:20px;margin-top:13px;margin-left:20px;padding-right:50px;float:left}.t113__img{margin-left:20px;padding-right:50px;float:left}.t113__list{list-style-type:none;padding-left:10px!important;padding-top:16px;padding-right:10px;padding-bottom:0;margin:0}.t113__list_item{clear:both;font-family:'Open Sans',sans-serif;font-size:14px;display:inline;padding-left:15px;padding-right:15px;margin:0;color:#000}.t113 a{text-decoration:none;color:#ff8562}.t113__list_item .t-active{opacity:.7}@media screen and (max-width:640px){.t113__list_item{display:block;text-align:center;padding:10px}.t113__fixed{position:relative}.t113{position:relative;height:auto;text-align:center}.t113__logo{float:inherit;text-align:center;margin:0;padding:20px}.t113__img{float:inherit;margin:0 auto;padding:20px}}.t123__centeredContainer{text-align:center}.t135__img{max-width:100%}@media screen and (max-width:640px){.t135{position:relative!important;text-align:center;padding:30px;top:0px!important;right:0px!important;left:0px!important;z-index:1!important}}@media screen and (max-width:640px){.t141{position:relative!important;text-align:center;padding:20px;top:0px!important;right:0px!important}}.t145__title{font-size:30px;line-height:34px;font-weight:700;padding-top:8px;padding-bottom:6px;margin-right:20px}.t145__line{margin-top:14px;margin-bottom:14px;border:0;border-top:3px solid #000;margin-right:20px}.t145__text{padding-top:4px;padding-bottom:6px;font-size:16px;line-height:25px;margin-right:20px}@media screen and (max-width:960px){.t145 .t145__col{margin-top:20px;margin-bottom:20px}}.t149 a{text-decoration:none;color:#ff8562}.t149__title{margin-top:20px;margin-bottom:0}.t149__subtitle{margin-top:4px;margin-bottom:0;opacity:.5}.t149__sp{margin-bottom:20px}.t149__descr{font-size:16px;line-height:24px;margin-top:40px}.t149__img{width:100%}.t149__img.t149__circle{width:70%;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;border:1px solid rgba(0,0,0,.07)}.t149__textwrapper{display:table;width:100%}.t149__floatbeaker_lr3{display:none}@media screen and (max-width:960px){.t149__col.t-col_4,.t149__col.t-col_6{width:100%;max-width:580px;display:table;vertical-align:middle;margin:0 auto 50px;float:none}.t149__col.t-col_4:last-child,.t149__col.t-col_6:last-child{margin-bottom:0!important}.t149__col.t-col_4 .t149__img,.t149__col.t-col_6 .t149__img{display:table-cell;width:100%;vertical-align:middle}.t149__col.t-col_4 .t149__img.t149__circle,.t149__col.t-col_6 .t149__img.t149__circle{width:100%}.t149__col.t-col_4 .t149__textwrapper,.t149__col.t-col_6 .t149__textwrapper{display:table-cell;width:50%;vertical-align:middle;padding-left:30px}.t149__col.t-col_3{max-width:320px;display:inline;float:left;margin-bottom:60px}.t149__floatbeaker_lr3{display:block;width:100%;content:" ";clear:both}.t149__col.t-col_3 .t149__title{font-size:16px;line-height:24px}.t149__col.t-col_3 .t149__subtitle{font-size:14px;line-height:24px}}@media screen and (max-width:660px){.t149__col.t-col_3,.t149__col.t-col_4,.t149__col.t-col_6{max-width:480px;display:table;vertical-align:middle;margin:0 auto;margin-bottom:40px;float:none}.t149__img{display:table-cell;width:100%;vertical-align:middle}.t149__img.t149__circle{width:100%}.t149__textwrapper{display:table-cell;width:50%;vertical-align:middle}.t149__col.t-col_3 .t149__textwrapper{padding-left:30px}}@media screen and (max-width:480px){.t149__col.t-col_3,.t149__col.t-col_4,.t149__col.t-col_6{max-width:320px;width:100%;display:block;float:none}.t149__img{display:block}.t149__img.t149__circle{max-width:70%;margin:0 auto}.t149__col.t-col_3 .t149__textwrapper,.t149__col.t-col_4 .t149__textwrapper,.t149__col.t-col_6 .t149__textwrapper,.t149__textwrapper{display:block;width:100%;margin-bottom:30px;padding-left:0}}.t160{text-align:center;padding-bottom:20px}.t160__img{border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;width:150px;max-width:150px;height:150px;padding-top:17px;padding-bottom:14px}.t160__title{text-align:center;padding-top:8px;padding-bottom:5px}.t160__descr{text-align:center;padding-top:0;padding-bottom:6px;letter-spacing:2px}.t160__text{padding-top:30px;padding-bottom:30px;font-size:22px;line-height:1.55}@media screen and (max-width:960px){.t160__wrapper{padding:0 20px}}@media screen and (max-width:640px){.t160__text{font-size:18px;line-height:1.45}}@media screen and (max-width:480px){.t160__text{font-size:16px;padding-left:10px;padding-right:10px}}.t161 .t-col_2{max-width:100px}.t161 .t-col_6,.t161 .t-col_8,.t161 .t-col_10{width:auto}.t161__img{width:80px;height:80px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;margin-top:9px}.t161 .t161__wrapper{display:table;height:80px}.t161__textwrapper{display:table-cell;vertical-align:middle}.t161__descr{padding-bottom:20px}.t161__text{padding-bottom:22px}@media screen and (max-width:960px){.t161 .t-col_6{max-width:62%}.t161 .t161__blockimgthumb{width:100%;max-width:100%;text-align:center;padding-bottom:20px}.t161 .t161__wrapper{margin:0 20px}}.t162 h2{padding-top:4px;padding-bottom:14px;font-family:'Open Sans',sans-serif;font-size:22px;color:#000;font-weight:600;line-height:34px;cursor:pointer}.t162__subtitle{font-style:italic;font-family:'Georgia',serif;font-size:14px;color:#000;line-height:28px;font-weight:400;margin-top:-12px;padding-bottom:12px;cursor:pointer}.t162__text{font-family:'Georgia',serif;color:#000;font-size:18px;line-height:1.55;padding-bottom:56px;padding-top:28px}.t165 .t-container{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.t165__vmiddle{margin-top:auto;margin-bottom:auto}.t165__vtop{margin-bottom:auto}.t165__vbottom{margin-top:auto}.t165__left{text-align:left}.t165__center{text-align:center}.t165__right{text-align:right}.t165__textwrapper{padding-right:20px}.t165__uptitle{padding:0;margin:0;margin-bottom:14px}.t165__title{padding:0;margin:0;padding-bottom:28px}.t165__text{filter:alpha(opacity=85);KHTMLOpacity:.85;MozOpacity:.85;opacity:.85}.t165__img{float:right;width:100%}.t165__img_circle{border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}@media screen and (max-width:640px){.t165 .t-container{display:-webkit-block;display:block}.t165__img{float:none}.t165__col-top{margin-bottom:30px}}.t166 .t-container{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.t166__textsmall{padding-top:11px;padding-bottom:7px}.t166__text{padding-top:8px;padding-bottom:6px}@media screen and (max-width:960px){.t166 .t-container{display:-webkit-block;display:block}}.t169__text{font-size:60px;line-height:90px;margin:0 100px}@media screen and (max-width:640px){.t169__text{font-size:28px;line-height:36px;margin:0 20px}}.t173__ul{text-align:center;list-style-type:none;padding-left:10px!important;padding-top:16px;padding-right:10px;padding-bottom:0;margin:0}.t173__li{clear:both;font-family:'Open Sans',sans-serif;color:#000;font-size:14px;display:inline;padding-left:15px;padding-right:15px;margin:0;font-weight:600}.t173 a{text-decoration:none}.t173__copyright{text-align:center;font-family:'Open Sans',sans-serif;font-size:14px;color:#000;filter:alpha(opacity=70);KHTMLOpacity:.7;MozOpacity:.7;opacity:.7;padding-top:40px;padding-bottom:10px}@media screen and (max-width:640px){.t173 li{display:block;margin:20px auto}}.t142__submit-overflowed{line-height:1.1!important}.t142__text{display:table-cell;vertical-align:middle;height:50px}.t142__wrapone{position:relative;right:50%;float:right}.t142__wraptwo{position:relative;z-index:1;right:-50%}.t142__submit{font-family:'Open Sans',sans-serif;text-align:center;height:50px;line-height:50px;border:0 none;font-size:16px;padding-left:60px;padding-right:60px;-webkit-appearance:none;font-weight:700;background:none;cursor:pointer;box-sizing:content-box}.t142__submit_size_sm{height:40px;line-height:40px;font-size:14px;padding-left:30px;padding-right:30px}.t142__submit_size_lg{height:60px;line-height:60px;font-size:22px;padding-left:70px;padding-right:70px}.t142__submit_size_xl{height:80px;line-height:80px;font-size:26px;padding-left:80px;padding-right:80px}.t142__submit_size_xxl{height:100px;line-height:100px;font-size:30px;padding-left:90px;padding-right:90px}@media screen and (max-width:640px){.t142__submit{white-space:normal;padding-left:30px;padding-right:30px;margin-left:20px;margin-right:20px;-webkit-border-radius:0}.t142__submit_size_lg,.t142__submit_size_xl,.t142__submit_size_xxl{height:60px;line-height:60px;font-size:18px;padding-left:40px;padding-right:40px}.t142__submit_size_lg .t142__text,.t142__submit_size_xl .t142__text,.t142__submit_size_xxl .t142__text{height:60px}}.t181{text-align:left}.t181__wrapper{padding-top:42px;padding-bottom:42px}.t181__title{color:#fff;padding:24px 0 38px 0;letter-spacing:1px}.t181__descr{color:#fff;padding:0 0 30px 0}.t181 .t-btn:nth-child(2){margin-left:10px}@media screen and (max-width:640px){.t181 .t-btn:nth-child(2){margin-left:0}.t181 .t-btn{margin:5px;margin-left:0}}.t182{text-align:center}.t182__wrapper{padding-top:42px;padding-bottom:42px}.t182__title{color:#fff;padding:24px 0 24px 0;letter-spacing:1px}.t182__descr{color:#fff;padding:15px 0 30px 0}.t182__buttons{margin-top:45px}.t182 .t-btn:nth-child(2){margin-left:10px}@media screen and (max-width:640px){.t182__title{font-size:30px;line-height:30px;padding-left:10px;padding-right:10px}.t182__descr{padding-left:10px;padding-right:10px;font-size:14px;line-height:20px}.t182 .t-btn{margin:7px 3px}}.t183__wrapper{padding-top:42px;padding-bottom:42px}.t183__uptitle{color:#fff;padding-bottom:20px;padding-top:10px}.t183__title{color:#fff;padding:24px 0 24px 0;letter-spacing:1px}.t183__buttons{margin-top:45px}.t183 .t-btn:nth-child(2){margin-left:10px}@media screen and (max-width:640px){.t183__title{padding-left:10px;padding-right:10px}.t183__uptitle{padding-left:10px;padding-right:10px}.t183 .t-btn:nth-child(2){margin-left:5px}.t183 .t-btn{margin:5px}}.t186__wrapper{display:table}.t186__blockinput{display:table-cell;vertical-align:middle;height:100%;width:100%;padding-right:20px}.t186__input{background-color:transparent;-webkit-appearance:none;border-radius:0}.t186__blockbutton{display:table-cell;vertical-align:middle;height:100%}.t186__form-bottom-text{margin-top:30px;text-align:center}@media screen and (max-width:640px){.t186__wrapper{display:block}.t186__blockinput{display:block;width:100%;padding-bottom:10px}.t186__blockbutton{display:block;width:100%;padding-bottom:20px}.t186 .t-submit{width:100%}}.t186__blockinput-errors{background:#f66 none repeat scroll 0 0}.js-error-control-box .t186__input{font-family:'Georgia',serif;border:1px solid red!important}.t186__blockinput-errors-text{font-family:'Georgia',serif;color:#ff7;box-sizing:border-box;padding:0 10px 10px 10px}.t186__blockinput-errors-item{font-family:'Georgia',serif;padding-top:10px;display:none}.t186__blockinput-errorbox{font-family:'Georgia',serif;background:#f66 none repeat scroll 0 0;color:#ff7;padding:10px;text-align:center;margin-bottom:20px}.t186__blockinput-success{text-align:center;background:#FFF;color:#222;padding:20px;font-family:'Georgia',serif;border:2px solid #2D2;margin-bottom:20px}.t186A__wrapper{display:table}.t186A__blockinput{display:table-cell;vertical-align:middle;height:100%;width:50%;padding-right:20px}.t186A__blockbutton{display:table-cell;vertical-align:middle;height:100%}.t186A__form-bottom-text{margin-top:30px;text-align:center}@media screen and (max-width:640px){.t186A__wrapper{display:block}.t186A__blockinput{display:block;width:100%;padding-bottom:10px}.t186A__blockbutton{display:block;width:100%;padding-bottom:20px}.t186A .t-submit{width:100%}}.t186A__blockinput-errors{background:#f66 none repeat scroll 0 0}.js-error-control-box .t186A__input{font-family:'Georgia',serif;border:1px solid red!important}.t186A__blockinput-errors-text{color:#ff7;font-family:'Georgia',serif;box-sizing:border-box;padding:0 10px 10px 10px}.t186A__blockinput-errors-item{font-family:'Georgia',serif;padding-top:10px;display:none}.t186A__blockinput-errorbox{font-family:'Georgia',serif;background:#f66 none repeat scroll 0 0;color:#ff7;padding:10px;text-align:center;margin-bottom:20px}.t186A__blockinput-success{text-align:center;background:#FFF;color:#222;padding:20px;font-family:'Georgia',serif;border:2px solid #2D2;margin-bottom:20px}.t188__wrapone{position:relative;right:50%;float:right}.t188__wraptwo{position:relative;z-index:1;right:-50%}.t188__sociallinkimg{display:inline-block;padding-left:5px;padding-right:5px}.t188__imgwrapper{background-size:contain;background-repeat:no-repeat;background-position:center}.t203__wrapper{display:table;padding-top:60px;padding-bottom:60px;margin-left:-60px;margin-right:-60px}.t203__textwrapper{display:block;text-align:left;background-color:#fff;padding-left:60px;padding-right:60px;padding-top:60px;padding-bottom:60px}.t203__title{padding-top:20px;padding-bottom:20px}.t203__text{padding-bottom:20px;padding-top:20px}@media screen and (max-width:720px){.t203__wrapper{padding-top:0;padding-bottom:0;margin-left:0;margin-right:0}.t203__textwrapper{margin:20px 0;padding:20px}}.t204__burger{position:fixed;z-index:5000000;width:60px;height:60px;top:30px;right:30px;background-color:#000;cursor:pointer}.t204__burger-icon{position:relative;display:inline-block;margin:28px 12px;width:36px;height:3px;background:#fff;vertical-align:middle}.t204__burger-icon:before,.t204__burger-icon:after{position:absolute;left:0;width:100%;height:3px;background:#fff;content:''}.t204__burger-icon:before{top:-9px}.t204__burger-icon:after{bottom:-9px}.t204__menu{box-sizing:border-box;background-color:#000;color:#fff;position:fixed;z-index:5000002;width:380px;height:100vh;top:0;right:0;overflow-y:auto;overflow-x:hidden;visibility:hidden}.t204__closelayer{background-color:#000;position:fixed;top:0;left:0;z-index:5000001;width:100%;height:100vh;filter:alpha(opacity=50);KHTMLOpacity:.5;MozOpacity:.5;opacity:.5;visibility:hidden}.t204__item{display:table;margin:40px auto;width:300px}.t204__item:hover .t204__item_img{opacity:.7}.t204__item:hover .t204__item_text a{color:#ff8562!important}.t204__item_img{display:table-cell;width:85px;height:85px;padding-right:20px}.t204__item_img a{border:solid #222 1px;margin:0;display:block;width:85px;height:85px;background-size:cover}.t204__item_text{display:table-cell;width:100%;vertical-align:middle;color:#fff;font-size:18px}.t204__item_text a{color:#fff!important}@media screen and (max-width:640px){.t204__burger{position:static;text-align:right;top:0;right:0;width:100%}.t204__menu{width:100%;height:auto;position:absolute;top:60px}}.t216__wrapper{padding-top:42px;padding-bottom:42px;position:relative;z-index:1}.t216__blocklogo{padding-bottom:30px;padding-top:30px}.t216__logo{width:auto;max-width:100%;vertical-align:middle}.t216__title{color:#fff;padding:24px 0 38px 0;letter-spacing:.5px}.t216__descr{color:#fff;padding:0 0 30px 0}.t216__descr_center{max-width:700px;margin:0 auto}.t216__descr_center a{color:#fff!important;font-weight:600}@media screen and (max-width:640px){.t216__title{padding-left:10px;padding-right:10px;box-sizing:border-box}.t216__descr{padding-left:10px;padding-right:10px;font-size:14px;line-height:20px;box-sizing:border-box}}.t219{text-align:center;padding:0 2px}.t219__butwrapper{margin:0 auto}.t219__blocktitle{padding-bottom:50px}@media screen and (max-width:640px){.t219{padding:0 20px}}.t264__wrapper{padding:20px;background:#f8f8f8}.t264__title{margin-bottom:19px;border-bottom:1px solid #eee;padding-bottom:8px}.t264__descr{color:#888;margin-bottom:20px}@media screen and (max-width:500px){.t264__title{margin-bottom:10px}.t264__descr{margin-bottom:11px}}.t269__mainblock{margin:0 auto}.t269__uptitle{color:#fff;position:absolute;top:80px;left:0;right:0}.t269__uptitle_mobile{display:none}.t269__title{color:#fff;margin-bottom:24px;padding-top:20px}.t269__descr{color:#fff;margin-bottom:44px}.t269__input-container{max-width:600px;margin:0 auto}.t269__blockinput{display:table-cell;vertical-align:middle;height:100%;width:100%;padding-right:20px}.t269__input{height:56px;outline:none}.t269__submit{height:56px;padding-left:40px;padding-right:40px}.t269__blockinput input{background-color:transparent;-webkit-appearance:none;border-radius:0}.t269__wrapper{display:table;-webkit-transition:all ease-in-out 0.2s;-moz-transition:all ease-in-out 0.2s;-o-transition:all ease-in-out 0.2s;transition:all ease-in-out 0.2s}.t269__blockinput.js-error-control-box .t269__input{border:1px solid red!important}.t269__blockinput-errors-text{color:#ff7;box-sizing:border-box;padding:0 10px 10px 10px;font-family:'Georgia',serif}.t269__blockinput-errors-item{padding-top:10px;display:none;font-family:'Georgia',serif}.t269__blockinput-errorbox{background:#f66 none repeat scroll 0 0;color:#ff7;padding:1px 10px;text-align:center;margin-bottom:20px;font-family:'Georgia',serif;margin-top:20px}.t269__hint{color:#fff;margin-top:20px;max-width:600px;margin:20px auto 0}.t269__blockinput-success{text-align:center;color:#fff;padding:20px;font-family:'Georgia',serif}.t269__success-message{color:#fff}.t269 .js-send-form-success .t269__wrapper{display:none}@media screen and (max-width:680px){.t269__blockinput{display:block;padding-right:0;width:100%}.t269__descr{margin-bottom:32px}.t269__uptitle_desktop{display:none}.t269__uptitle_mobile{display:block}.t269__uptitle{position:initial;top:40px;font-size:16px!important}.t269__mainwrapper{padding:0 20px}.t269__input-container{max-width:320px}.t269__input{width:100%;margin-bottom:18px;height:42px;font-size:14px;padding-left:14px}.t269__submit{width:100%;height:42px;font-size:14px}.t269__wrapper{display:block}}.t282_opened{height:100vh;min-height:100vh;overflow:hidden}.t282__container{width:100%;z-index:99999;position:fixed;top:0;right:0;left:0}.t282__beforeready{visibility:hidden}.t282_opened .t282__container{position:fixed!important;top:0!important;right:0!important;left:0!important}.t282__container.t282__positionfixed{position:fixed;top:0;right:0;left:0}.t282__container.t282__positionstatic{position:relative;top:auto;right:auto;left:auto}.t282__container.t282__positionabsolute{position:absolute}.t282__col-12{max-width:1160px}.t282__container__bg,.t282__container__bg_opened{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;-webkit-transition:all ease-in-out .1s;-moz-transition:all ease-in-out .1s;-o-transition:all ease-in-out .1s;transition:all ease-in-out .1s}.t282__container__bg_opened{opacity:0;background:#fff}.t282_opened .t282__container__bg_opened{opacity:1}.t282_opened .t282__container__bg{opacity:0!important}.t282__menu__content{position:relative;margin:0 auto;padding:0 40px}.t282__logo__container{display:table;height:100px}.t282__logo__content{display:table-cell;vertical-align:middle}.t282__logo{position:relative;z-index:1;display:block;-webkit-transition:all ease-in-out .2s;-moz-transition:all ease-in-out .2s;-o-transition:all ease-in-out .2s;transition:all ease-in-out .2s}.t282__logo:hover{opacity:.8}.t282__logo__img{display:block;height:100%}.t282__burger{position:absolute;width:28px;height:20px;top:50%;margin-top:-10px;right:40px;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.5s ease-in-out;-moz-transition:.5s ease-in-out;-o-transition:.5s ease-in-out;transition:.5s ease-in-out;cursor:pointer;z-index:999}.t282__big .t282__burger{width:42px;height:32px;margin-top:-16px}.t282__small .t282__burger{width:22px;height:14px;margin-top:-7px}.t282__burger span{display:block;position:absolute;width:100%;opacity:1;left:0;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.3s ease-in-out;-moz-transition:.3s ease-in-out;-o-transition:.3s ease-in-out;transition:.3s ease-in-out;height:3px;background-color:#000}.t282__big .t282__burger span{height:5px}.t282__small .t282__burger span{height:2px}.t282__burger span:nth-child(1){top:0}.t282__burger span:nth-child(2),.t282__burger span:nth-child(3){top:8px}.t282__big .t282__burger span:nth-child(2),.t282__big .t282__burger span:nth-child(3){top:13px}.t282__small .t282__burger span:nth-child(2),.t282__small .t282__burger span:nth-child(3){top:6px}.t282__burger span:nth-child(4){top:16px}.t282__big .t282__burger span:nth-child(4){top:26px}.t282__small .t282__burger span:nth-child(4){top:12px}.t282_opened .t282__burger span:nth-child(1){top:8px;width:0%;left:50%}.t282_opened .t282__small .t282__burger span:nth-child(1){top:6px}.t282_opened .t282__big .t282__burger span:nth-child(1){top:6px}.t282_opened .t282__burger span:nth-child(2){-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.t282_opened .t282__burger span:nth-child(3){-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.t282_opened .t282__burger span:nth-child(4){top:8px;width:0%;left:50%}.t282_opened .t282__big .t282__burger span:nth-child(4){top:18px}.t282_opened .t282__small .t282__burger span:nth-child(4){top:6px}.t282__menu__content{z-index:15}.t282__menu__container{position:fixed;right:0;left:0;-webkit-transition:.5s cubic-bezier(0,1,.5,1);-moz-transition:.5s cubic-bezier(0,1,.5,1);-o-transition:.5s cubic-bezier(0,1,.5,1);transition:.5s cubic-bezier(0,1,.5,1);-webkit-transform:translateY(0);-moz-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);z-index:2;z-index:9999}.t282__menu__container.t282__closed{top:0!important}.t282__menu_static .t282__menu__container{bottom:0;overflow:scroll}.t282__menu__container.t282__closed{-webkit-transform:translateY(-200%);-moz-transform:translateY(-100%);-o-transform:translateY(-100%);transform:translateY(-100%)}.t282__menu__wrapper{text-align:center;background:#fff;width:100%}.t282__overlay{position:fixed;top:0;left:0;right:0;bottom:0;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;cursor:pointer;z-index:999;background:black;opacity:.6}.t282__overlay.t282__closed{opacity:0;z-index:-1}.t282__menu__item{display:block;margin-bottom:20px;color:#222}.t282__menu__item:last-child{margin-bottom:0}.t282__menu__item.t-active{opacity:.7}.t282__menu{padding:30px 20px 30px}.t282__menu__items{padding:5px 0 55px}.t282__descr{max-width:540px;margin:0 auto}.t282__share{margin-top:22px}.t282 .t-sociallinks__item,.t282__social__item{display:inline-block;margin:0 3px}.t282 .t-sociallinks__wrapper,.t282__social__wrapper{margin-top:22px}.t282__lang{margin-top:20px}@media screen and (max-width:1200px){.t282__menu__content{padding:0 20px}.t282__burger{right:20px}}@media screen and (max-width:660px){.t282__burger{right:20px}.t282__menu__content{padding:0 20px}}.t282 .ya-share2__container_size_m .ya-share2__icon{width:28px;height:28px}.t282 .ya-share2__container_size_m .ya-share2__counter{line-height:28px}.t282__black-white .ya-share2__badge{background-color:#111!important}.t282__transp-white .ya-share2__badge{background-color:transparent!important}.t282__transp-white .ya-share2__container_size_m .ya-share2__counter:before{display:none}.t282__transp-white .ya-share2__container_size_m .ya-share2__counter{padding-left:0!important;margin-top:2px}.t282__white-black .ya-share2__badge{background-color:#fff!important}.t282__white-black .ya-share2__container_size_m .ya-share2__item_service_facebook .ya-share2__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMjIyIiB2aWV3Qm94PSIwIDAgMjggMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE1LjEgMjN2LTguMjFoMi43NzNsLjQxNS0zLjJIMTUuMVY5LjU0N2MwLS45MjcuMjYtMS41NTggMS41OTYtMS41NThsMS43MDQtLjAwMlY1LjEyNkEyMi43ODcgMjIuNzg3IDAgMCAwIDE1LjkxNyA1QzEzLjQ2IDUgMTEuNzggNi40OTIgMTEuNzggOS4yM3YyLjM2SDl2My4yaDIuNzhWMjNoMy4zMnoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==)}.t282__white-black .ya-share2__container_size_m .ya-share2__counter{color:#222}.t282__white-black .ya-share2__counter:before{background-color:#222}.t282__white-black .ya-share2__container_size_m .ya-share2__item_service_vkontakte .ya-share2__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMjIyIiB2aWV3Qm94PSIwIDAgMjggMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0Ljg4MyAxOS4zOTZzLjMyNS0uMDM2LjQ5LS4yMThjLjE1NC0uMTY3LjE1LS40OC4xNS0uNDhzLS4wMjMtMS40NjguNjQ4LTEuNjg0Yy42Ni0uMjEzIDEuNTEgMS40MTggMi40MDggMi4wNDYuNjguNDc0IDEuMTk3LjM3IDEuMTk3LjM3bDIuNDA0LS4wMzRzMS4yNTYtLjA4LjY2LTEuMDg0Yy0uMDUtLjA4Mi0uMzQ4LS43NDMtMS43ODgtMi4xMDItMS41MDctMS40MjMtMS4zMDUtMS4xOTIuNTEtMy42NTMgMS4xMDYtMS40OTggMS41NDgtMi40MTIgMS40MS0yLjgwNC0uMTMyLS4zNzMtLjk0NS0uMjc1LS45NDUtLjI3NWwtMi43MDYuMDE3cy0uMi0uMDI4LS4zNS4wNjNjLS4xNDQuMDg4LS4yMzguMjk1LS4yMzguMjk1cy0uNDI4IDEuMTYtMSAyLjE0NmMtMS4yMDQgMi4wOC0xLjY4NiAyLjE5LTEuODgzIDIuMDYtLjQ2LS4zLS4zNDUtMS4yMS0uMzQ1LTEuODU1IDAtMi4wMTcuMy0yLjg1Ny0uNTg2LTMuMDc1LS4yOTUtLjA3Mi0uNTEyLS4xMi0xLjI2NC0uMTI4LS45NjYtLjAxLTEuNzgzLjAwMy0yLjI0Ni4yMzQtLjMwOC4xNTMtLjU0Ni40OTUtLjQuNTE0LjE3OC4wMjUuNTgzLjExLjc5OC40MS4yNzcuMzgyLjI2OCAxLjI0NC4yNjggMS4yNDRzLjE2IDIuMzczLS4zNzMgMi42NjhjLS4zNjUuMjAyLS44NjUtLjIxLTEuOTQtMi4wOTgtLjU1LS45NjctLjk2Ni0yLjAzNi0uOTY2LTIuMDM2cy0uMDgtLjItLjIyMy0uMzA2Yy0uMTczLS4xMy0uNDE2LS4xNy0uNDE2LS4xN2wtMi41Ny4wMTZzLS4zODguMDEtLjUzLjE4MmMtLjEyNS4xNTItLjAxLjQ2Ni0uMDEuNDY2czIuMDE0IDQuNzkgNC4yOTQgNy4yMDJjMi4wOSAyLjIxNCA0LjQ2NSAyLjA2OCA0LjQ2NSAyLjA2OGgxLjA3NnoiICBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.t282__white-black .ya-share2__container_size_m .ya-share2__item_service_twitter .ya-share2__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMjIyIiB2aWV3Qm94PSIwIDAgMjggMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIzIDguNzNhNy4zOCA3LjM4IDAgMCAxLTIuMTIuNTgzIDMuNzA2IDMuNzA2IDAgMCAwIDEuNjIzLTIuMDQzIDcuMzk3IDcuMzk3IDAgMCAxLTIuMzQ2Ljg5NiAzLjY5MyAzLjY5MyAwIDAgMC02LjI5MyAzLjM2OCAxMC40ODUgMTAuNDg1IDAgMCAxLTcuNjEtMy44NThjLS4zMi41NDUtLjUgMS4xOC0uNSAxLjg1NiAwIDEuMjguNjUgMi40MSAxLjY0MiAzLjA3M2EzLjY4MyAzLjY4MyAwIDAgMS0xLjY3My0uNDYydi4wNDdjMCAxLjc4OCAxLjI3MyAzLjI4IDIuOTYyIDMuNjJhMy43MTggMy43MTggMCAwIDEtMS42NjcuMDYzIDMuNjk3IDMuNjk3IDAgMCAwIDMuNDUgMi41NjRBNy40MSA3LjQxIDAgMCAxIDUgMTkuOTY3YTEwLjQ1MyAxMC40NTMgMCAwIDAgNS42NiAxLjY1OGM2Ljc5NCAwIDEwLjUwOC01LjYyNiAxMC41MDgtMTAuNTA1IDAtLjE2LS4wMDMtLjMyLS4wMS0uNDc4QTcuNTA3IDcuNTA3IDAgMCAwIDIzIDguNzMyeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.t282__white-black .ya-share2__container_size_m .ya-share2__item_service_odnoklassniki .ya-share2__icon{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIxNTBweCIgaGVpZ2h0PSIxNTBweCIgdmlld0JveD0iMCAwIDE1MCAxNTAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE1MCAxNTAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjx0aXRsZT5TaGFwZTwvdGl0bGU+PGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+PGcgaWQ9IldlbGNvbWUiPjxwYXRoIGlkPSJTaGFwZSIgZmlsbD0iIzIyMjIyMiIgZD0iTTc0Ljk5Nyw0Ni4wMTFjLTQuOTAzLDAuMDA2LTguODc1LDMuOTc5LTguODgzLDguODgzYzAsNC44OTQsMy45ODUsOC44NzksOC44ODMsOC44NzljNC45MDMtMC4wMDgsOC44NzUtMy45NzksOC44OC04Ljg3OUM4My44NzksNDkuOTg5LDc5LjksNDYuMDE3LDc0Ljk5Nyw0Ni4wMTFMNzQuOTk3LDQ2LjAxMXogTTc0Ljk5Nyw3Ni4zMzhjLTExLjgzOC0wLjAxLTIxLjQzNy05LjYwNi0yMS40NDgtMjEuNDQ0YzAuMDA4LTExLjg0Niw5LjYwNC0yMS40NDIsMjEuNDQ4LTIxLjQ1NWMxMS44NDUsMC4wMSwyMS40NTEsOS42MDksMjEuNDU2LDIxLjQ1NUM5Ni40MzgsNjYuNzM0LDg2LjgzOCw3Ni4zMyw3NC45OTcsNzYuMzM4TDc0Ljk5Nyw3Ni4zMzh6IE02Ni4zMiw5My44MzZjLTQuNDEyLTEuMDAyLTguNjI0LTIuNzQ4LTEyLjQ1NS01LjE1NGMtMi45MzktMS44NS0zLjgyMy01LjczNC0xLjk3My04LjY2OGMxLjg0OC0yLjk0MSw1LjcyOC0zLjgyMiw4LjY2Ni0xLjk3NWM4LjgzNCw1LjUyMywyMC4wNTIsNS41MjMsMjguODg2LDBjMS45MDEtMS4xOTUsNC4yOTctMS4yODcsNi4yODQtMC4yNDJjMS45ODQsMS4wNDksMy4yNiwzLjA3OCwzLjM0Miw1LjMyNGMwLjA4NywyLjI0LTEuMDI3LDQuMzYzLTIuOTMsNS41NjFjLTMuODM0LDIuNDA2LTguMDQ5LDQuMTQ4LTEyLjQ1Nyw1LjE1NGwxMS45OTQsMTJjMi40NTEsMi40NTcsMi40NDYsNi40MzYtMC4wMTEsOC44OTNjLTIuNDU2LDIuNDQ1LTYuNDM0LDIuNDQ1LTguODg2LTAuMDEybC0xMS43NzktMTEuNzg5bC0xMS43ODUsMTEuNzg5Yy0yLjQ1NSwyLjQ1Ny02LjQzNiwyLjQ1Ny04Ljg4OSwwYy0yLjQ1NC0yLjQ1NS0yLjQ1NC02LjQzNCwwLTguODkxTDY2LjMyLDkzLjgzNkw2Ni4zMiw5My44MzZ6Ii8+PC9nPjwvc3ZnPg==);background-size:28px 28px}.t282__transp-black .ya-share2__badge{background-color:transparent!important}.t282__transp-black .ya-share2__container_size_m .ya-share2__item_service_facebook .ya-share2__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMjIyIiB2aWV3Qm94PSIwIDAgMjggMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE1LjEgMjN2LTguMjFoMi43NzNsLjQxNS0zLjJIMTUuMVY5LjU0N2MwLS45MjcuMjYtMS41NTggMS41OTYtMS41NThsMS43MDQtLjAwMlY1LjEyNkEyMi43ODcgMjIuNzg3IDAgMCAwIDE1LjkxNyA1QzEzLjQ2IDUgMTEuNzggNi40OTIgMTEuNzggOS4yM3YyLjM2SDl2My4yaDIuNzhWMjNoMy4zMnoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==)}.t282__transp-black .ya-share2__container_size_m .ya-share2__counter{color:#222;padding-left:0!important;margin-top:2px}.t282__transp-black .ya-share2__counter:before{display:none}.t282__transp-black .ya-share2__container_size_m .ya-share2__item_service_vkontakte .ya-share2__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMjIyIiB2aWV3Qm94PSIwIDAgMjggMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0Ljg4MyAxOS4zOTZzLjMyNS0uMDM2LjQ5LS4yMThjLjE1NC0uMTY3LjE1LS40OC4xNS0uNDhzLS4wMjMtMS40NjguNjQ4LTEuNjg0Yy42Ni0uMjEzIDEuNTEgMS40MTggMi40MDggMi4wNDYuNjguNDc0IDEuMTk3LjM3IDEuMTk3LjM3bDIuNDA0LS4wMzRzMS4yNTYtLjA4LjY2LTEuMDg0Yy0uMDUtLjA4Mi0uMzQ4LS43NDMtMS43ODgtMi4xMDItMS41MDctMS40MjMtMS4zMDUtMS4xOTIuNTEtMy42NTMgMS4xMDYtMS40OTggMS41NDgtMi40MTIgMS40MS0yLjgwNC0uMTMyLS4zNzMtLjk0NS0uMjc1LS45NDUtLjI3NWwtMi43MDYuMDE3cy0uMi0uMDI4LS4zNS4wNjNjLS4xNDQuMDg4LS4yMzguMjk1LS4yMzguMjk1cy0uNDI4IDEuMTYtMSAyLjE0NmMtMS4yMDQgMi4wOC0xLjY4NiAyLjE5LTEuODgzIDIuMDYtLjQ2LS4zLS4zNDUtMS4yMS0uMzQ1LTEuODU1IDAtMi4wMTcuMy0yLjg1Ny0uNTg2LTMuMDc1LS4yOTUtLjA3Mi0uNTEyLS4xMi0xLjI2NC0uMTI4LS45NjYtLjAxLTEuNzgzLjAwMy0yLjI0Ni4yMzQtLjMwOC4xNTMtLjU0Ni40OTUtLjQuNTE0LjE3OC4wMjUuNTgzLjExLjc5OC40MS4yNzcuMzgyLjI2OCAxLjI0NC4yNjggMS4yNDRzLjE2IDIuMzczLS4zNzMgMi42NjhjLS4zNjUuMjAyLS44NjUtLjIxLTEuOTQtMi4wOTgtLjU1LS45NjctLjk2Ni0yLjAzNi0uOTY2LTIuMDM2cy0uMDgtLjItLjIyMy0uMzA2Yy0uMTczLS4xMy0uNDE2LS4xNy0uNDE2LS4xN2wtMi41Ny4wMTZzLS4zODguMDEtLjUzLjE4MmMtLjEyNS4xNTItLjAxLjQ2Ni0uMDEuNDY2czIuMDE0IDQuNzkgNC4yOTQgNy4yMDJjMi4wOSAyLjIxNCA0LjQ2NSAyLjA2OCA0LjQ2NSAyLjA2OGgxLjA3NnoiICBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.t282__transp-black .ya-share2__container_size_m .ya-share2__item_service_twitter .ya-share2__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMjIyIiB2aWV3Qm94PSIwIDAgMjggMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIzIDguNzNhNy4zOCA3LjM4IDAgMCAxLTIuMTIuNTgzIDMuNzA2IDMuNzA2IDAgMCAwIDEuNjIzLTIuMDQzIDcuMzk3IDcuMzk3IDAgMCAxLTIuMzQ2Ljg5NiAzLjY5MyAzLjY5MyAwIDAgMC02LjI5MyAzLjM2OCAxMC40ODUgMTAuNDg1IDAgMCAxLTcuNjEtMy44NThjLS4zMi41NDUtLjUgMS4xOC0uNSAxLjg1NiAwIDEuMjguNjUgMi40MSAxLjY0MiAzLjA3M2EzLjY4MyAzLjY4MyAwIDAgMS0xLjY3My0uNDYydi4wNDdjMCAxLjc4OCAxLjI3MyAzLjI4IDIuOTYyIDMuNjJhMy43MTggMy43MTggMCAwIDEtMS42NjcuMDYzIDMuNjk3IDMuNjk3IDAgMCAwIDMuNDUgMi41NjRBNy40MSA3LjQxIDAgMCAxIDUgMTkuOTY3YTEwLjQ1MyAxMC40NTMgMCAwIDAgNS42NiAxLjY1OGM2Ljc5NCAwIDEwLjUwOC01LjYyNiAxMC41MDgtMTAuNTA1IDAtLjE2LS4wMDMtLjMyLS4wMS0uNDc4QTcuNTA3IDcuNTA3IDAgMCAwIDIzIDguNzMyeiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.t282__transp-black .ya-share2__container_size_m .ya-share2__item_service_odnoklassniki .ya-share2__icon{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIxNTBweCIgaGVpZ2h0PSIxNTBweCIgdmlld0JveD0iMCAwIDE1MCAxNTAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE1MCAxNTAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjx0aXRsZT5TaGFwZTwvdGl0bGU+PGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+PGcgaWQ9IldlbGNvbWUiPjxwYXRoIGlkPSJTaGFwZSIgZmlsbD0iIzIyMjIyMiIgZD0iTTc0Ljk5Nyw0Ni4wMTFjLTQuOTAzLDAuMDA2LTguODc1LDMuOTc5LTguODgzLDguODgzYzAsNC44OTQsMy45ODUsOC44NzksOC44ODMsOC44NzljNC45MDMtMC4wMDgsOC44NzUtMy45NzksOC44OC04Ljg3OUM4My44NzksNDkuOTg5LDc5LjksNDYuMDE3LDc0Ljk5Nyw0Ni4wMTFMNzQuOTk3LDQ2LjAxMXogTTc0Ljk5Nyw3Ni4zMzhjLTExLjgzOC0wLjAxLTIxLjQzNy05LjYwNi0yMS40NDgtMjEuNDQ0YzAuMDA4LTExLjg0Niw5LjYwNC0yMS40NDIsMjEuNDQ4LTIxLjQ1NWMxMS44NDUsMC4wMSwyMS40NTEsOS42MDksMjEuNDU2LDIxLjQ1NUM5Ni40MzgsNjYuNzM0LDg2LjgzOCw3Ni4zMyw3NC45OTcsNzYuMzM4TDc0Ljk5Nyw3Ni4zMzh6IE02Ni4zMiw5My44MzZjLTQuNDEyLTEuMDAyLTguNjI0LTIuNzQ4LTEyLjQ1NS01LjE1NGMtMi45MzktMS44NS0zLjgyMy01LjczNC0xLjk3My04LjY2OGMxLjg0OC0yLjk0MSw1LjcyOC0zLjgyMiw4LjY2Ni0xLjk3NWM4LjgzNCw1LjUyMywyMC4wNTIsNS41MjMsMjguODg2LDBjMS45MDEtMS4xOTUsNC4yOTctMS4yODcsNi4yODQtMC4yNDJjMS45ODQsMS4wNDksMy4yNiwzLjA3OCwzLjM0Miw1LjMyNGMwLjA4NywyLjI0LTEuMDI3LDQuMzYzLTIuOTMsNS41NjFjLTMuODM0LDIuNDA2LTguMDQ5LDQuMTQ4LTEyLjQ1Nyw1LjE1NGwxMS45OTQsMTJjMi40NTEsMi40NTcsMi40NDYsNi40MzYtMC4wMTEsOC44OTNjLTIuNDU2LDIuNDQ1LTYuNDM0LDIuNDQ1LTguODg2LTAuMDEybC0xMS43NzktMTEuNzg5bC0xMS43ODUsMTEuNzg5Yy0yLjQ1NSwyLjQ1Ny02LjQzNiwyLjQ1Ny04Ljg4OSwwYy0yLjQ1NC0yLjQ1NS0yLjQ1NC02LjQzNCwwLTguODkxTDY2LjMyLDkzLjgzNkw2Ni4zMiw5My44MzZ6Ii8+PC9nPjwvc3ZnPg==);background-size:28px 28px}.t338__logo{margin-bottom:55px;max-width:280px;width:100%}.t338__title{color:#fff;margin-bottom:50px}.t338__descr{color:#fff;margin-bottom:63px}.t338__btn{border-radius:100px;font-size:14px;height:50px;padding-right:34px;padding-left:34px;color:#fff}.t389{overflow:hidden}.t389__maincontainer{width:100%;height:80px;display:table}.t389__content{padding:2px 40px 0;display:table-cell;vertical-align:middle}.t389__col{display:table-cell;vertical-align:middle}.t389__col_center{width:100%;padding:0 16px}.t389__list{list-style-type:none;padding-left:0!important;margin-bottom:0!important}.t389__list_item{display:inline-block;margin:0 15px}.t389__copyright,.t389__scroll{width:250px}.t389__typo{font-size:14px;color:#222}.t389__col_mobile{display:none}.t389_scrolltop{position:relative;padding-right:12px}.t389__icon{position:absolute;right:0;top:2px}@media screen and (max-width:1200px){.t389__content{padding:2px 20px 0}.t389__col,.t389__copyright,.t389__scroll{width:230px}.t389__col_center{width:100%}}@media screen and (max-width:960px){.t389__col,.t389__copyright,.t389__scroll{width:100%;display:block;text-align:center}.t389__maincontainer{display:block}.t389__content{display:block}.t389__col_mobile{display:block}.t389__col_hiddenmobile{display:none}.t389__maincontainer{height:auto!important;padding:40px 0}.t389__col{margin-bottom:20px;padding:0}.t389__list_item{margin:0 10px 4px}.t389__col:last-child{margin-bottom:0}}@media screen and (max-width:670px){.t389__typo{font-size:12px}}.t396__iframe{z-index:10000;background-color:#fff;width:100vw;height:100vh;position:fixed;top:0;left:0;border:0}.t396__body_overflow_hidden{overflow:hidden}.t396__display_none{display:none}.t396__artboard{position:relative;width:100%;height:100vh;overflow:hidden}.t396__artboard.rendering .tn-elem{visibility:hidden}.t396__artboard.rendered .tn-elem{visibility:visible}.t396__carrier{position:absolute;left:0;top:0;z-index:0;width:100%;height:100vh}.t396__filter{position:absolute;left:0;top:0;z-index:0;width:100%;height:100vh}.t396__elem{position:absolute;box-sizing:border-box;display:table}.t396 .tn-atom{display:table-cell;vertical-align:middle;width:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%}.t396 a.tn-atom{text-decoration:none}.t396 .tn-atom__img{width:100%;display:block}.t396__ui{position:absolute;top:16px;left:196px;background-color:#fa876b;color:#000!important;height:30px;line-height:30px;width:100px;z-index:1000;text-align:center;border-radius:3px;display:none;font-size:14px}.t411__mainblock{margin:0 auto;padding:0 20px;box-sizing:border-box;position:relative;z-index:2}.t411__content{padding:30px 0}.t411__hide{display:none!important}.t411__col{display:inline-block;padding-right:32px;margin-right:30px;position:relative}.t411__col:after{content:' ';position:absolute;top:0;right:0;bottom:0;opacity:.2;background:#fff;width:1px}.t411__col:last-child:after{display:none}.t411__col:last-child{margin-right:0;padding-right:0}.t411__number{color:#fff}.t411__text{color:#fff;padding-bottom:7px}.t411__logo{margin-bottom:45px;max-width:280px;width:100%}.t411__textwrapper{margin:0 auto 55px}.t411__uptitle,.t411__title,.t411__descr,.t411__descr-second{color:#fff}.t411__uptitle{margin-bottom:18px}.t411__descr{margin-top:18px}.t411__hint{color:#fff;margin-top:45px}.t411__descr-second{margin:0 auto 25px}.t411__formwrapper{max-width:600px;margin:50px auto 0}.t411__blockinput{display:table-cell;vertical-align:middle;height:100%;width:100%;padding-right:20px}.t411__input{height:56px;outline:none}.t411__submit{height:56px;padding-left:40px;padding-right:40px}.t411__blockinput input{-webkit-appearance:none;border-radius:0}.t411__wrapper{display:table;-webkit-transition:all ease-in-out 0.2s;-moz-transition:all ease-in-out 0.2s;-o-transition:all ease-in-out 0.2s;transition:all ease-in-out 0.2s}.t411__blockinput.js-error-control-box .t411__input{border:1px solid red!important}.t411__blockinput-errors-text{color:#ff7;box-sizing:border-box;padding:0 10px 10px 10px;font-family:'Georgia',serif}.t411__blockinput-errors-item{padding-top:10px;display:none;font-family:'Georgia',serif}.t411__blockinput-errorbox{background:#f66 none repeat scroll 0 0;color:#ff7;padding:1px 10px;text-align:center;margin-bottom:20px;font-family:'Georgia',serif;margin-top:20px}.t411__blockinput-success{text-align:center;color:#fff;padding:20px;font-family:'Georgia',serif}.t411__success-message{color:#fff}.t411 .js-send-form-success .t411__wrapper{display:none}@media screen and (max-width:640px){.t411__blockinput{display:block;padding-right:0;width:100%}.t411__input-container{max-width:320px;margin:0 auto}.t411__input{width:100%;margin-bottom:18px;height:42px;font-size:14px;padding-left:14px}.t411__submit{width:100%;height:42px;font-size:14px}.t411__wrapper{display:block}.t411__col{padding-right:20px;margin-right:13px}.t411__logo{margin-bottom:25px}.t411__textwrapper{margin-bottom:35px}.t411__formwrapper{margin-top:35px}.t411__hint{margin-top:35px}}@media screen and (max-width:400px){.t411__number{font-size:24px}}.t420__descr ul{padding:0!important;margin:0}.t420__descr li{display:block;margin-bottom:10px}.t420__descr li:last-child{margin-bottom:0}.t420__title{margin-bottom:14px;color:#fff}.t420__title a,.t420__descr a{color:inherit!important}.t420__floatbeaker_lr3{display:none}.t420__title_uppercase{letter-spacing:1px;text-transform:uppercase}.t420__logo{display:block;max-width:120px;width:100%}.t420 .t-sociallinks__item,.t420__right_social_links_item{display:inline-block;margin-right:4px;-webkit-transition:opacity ease-in-out 0.2s;-moz-transition:opacity ease-in-out 0.2s;-o-transition:opacity ease-in-out 0.2s;transition:opacity ease-in-out 0.2s}.t420 .t-sociallinks__item:hover,.t420__right_social_links_item:hover{opacity:.9}.t420 .t-sociallinks__item:last-child,.t420__right_social_links_item:last-child{margin-right:0}.t420 .t-sociallinks,.t420__right_social_links{margin-top:30px}.t420__text{color:#525252;margin-top:21px;font-size:12px}@media screen and (max-width:960px){.t420__col.t-col_3{max-width:320px;display:inline;float:left;margin-bottom:30px}.t420__floatbeaker_lr3{display:block;width:100%;content:" ";clear:both}}@media screen and (max-width:640px){.t420__col.t-col_3{max-width:50%;width:100%}}@media screen and (max-width:420px){.t420__col.t-col_3{max-width:100%;width:100%}}.t454__imglogo{height:auto;display:block}.t454__linewrapper{position:absolute;bottom:0;width:100%}.t454__horizontalline{margin:0;border:0;background-color:#C2C2C2;height:1px;right:0;bottom:0;margin:0 40px 0 40px}.t454__leftmenuwrapper,.t454__rightmenuwrapper{display:inline-table;height:100%;vertical-align:middle}.t454__leftmenuwrapper .t454__list,.t454__rightmenuwrapper .t454__list{display:table-cell;vertical-align:middle}.t454__logowrapper{position:absolute;left:50%;transform:translateX(-50%);display:table;height:inherit;z-index:100}.t454__logowrapper2{display:table-cell;vertical-align:middle;position:relative;z-index:100}.t454__imglogo{max-width:300px}.t454__leftwrapper,.t454__rightwrapper{width:50%;box-sizing:border-box;position:absolute;height:100%}.t454__leftwrapper{text-align:right;padding-right:200px;padding-left:40px;left:0}.t454__rightwrapper{text-align:left;padding-left:200px;padding-right:40px;right:0}@media screen and (max-width:1200px){.t454__leftwrapper{padding-left:20px}.t454__rightwrapper{padding-right:20px}}.t454{width:100%;height:80px;z-index:990;position:fixed;top:0;box-shadow:0 1px 3px rgba(0,0,0,0);-webkit-transition:background-color 300ms linear;-moz-transition:background-color 300ms linear;-o-transition:background-color 300ms linear;-ms-transition:background-color 300ms linear;transition:background-color 300ms linear}.t454__beforeready{visibility:hidden}.t454 ul{margin:0}.t454__maincontainer{width:100%;height:80px;display:table;position:relative}.t454__maincontainer.t454__c12collumns{max-width:1200px;margin:0 auto}.t454__logo{display:inline-block;font-size:24px;font-weight:400;white-space:nowrap}.t454__list{list-style-type:none;margin:0;padding:0!important}.t454__list_item{clear:both;font-family:'Open Sans',sans-serif;font-size:16px;display:inline;padding-left:15px;padding-right:15px;margin:0;color:#000;white-space:nowrap}.t454__list_item .t-active{opacity:.7}.t454__list_item:first-child{padding-left:0}.t454__list_item:last-child{padding-right:0}.t454 a,#allrecords .t454 a{text-decoration:none;color:#000}.t454.t454__positionabsolute{position:absolute}.t454.t454__positionfixed{position:fixed}.t454.t454__positionstatic{position:static}.t454__mobile{display:none}@media screen and (max-width:980px){.t454.t454__hidden{display:none;height:100%}.t454__mobile{background-color:#111;display:block}.t454__mobile_text{color:#fff}.t454__mobile_container{padding:20px;position:relative}.t454__burger{position:absolute;top:50%;margin-top:-10px;right:20px;width:28px;height:20px;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.5s ease-in-out;-moz-transition:.5s ease-in-out;-o-transition:.5s ease-in-out;transition:.5s ease-in-out;cursor:pointer;z-index:9999}.t454__burger span{display:block;position:absolute;width:100%;opacity:1;left:0;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.25s ease-in-out;-moz-transition:.25s ease-in-out;-o-transition:.25s ease-in-out;transition:.25s ease-in-out;height:3px;background-color:#fff}.t454__burger span:nth-child(1){top:0}.t454__burger span:nth-child(2),.t454__burger span:nth-child(3){top:8px}.t454__burger span:nth-child(4){top:16px}.t454_opened .t454__burger span:nth-child(1){top:8px;width:0%;left:50%}.t454_opened .t454__burger span:nth-child(2){-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.t454_opened .t454__burger span:nth-child(3){-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.t454_opened .t454__burger span:nth-child(4){top:8px;width:0%;left:50%}.t454__linewrapper{display:none}.t454{position:static;text-align:center;display:block;margin:0;padding:0;height:auto!important}.t454__maincontainer{padding:20px 0 40px 0}.t454.t454__positionabsolute,.t454.t454__positionfixed,.t454.t454__positionstatic{position:static}.t454__imglogo{width:auto!important;box-sizing:border-box;padding:20px;margin:0 auto}.t454__imglogomobile.t454__imglogo{width:100%!important}.t454__rightcontainer{display:table;position:static;float:none;text-align:center;margin:0 auto}.t454__logo{text-align:center;margin:20px}.t454 img{float:inherit}.t454 .t454__list_item{display:block;text-align:center;padding:10px!important;white-space:normal}.t454__logo{white-space:normal;padding:0}.t454__logowrapper{position:static;display:table;width:100%;padding:20px;box-sizing:border-box;transform:none}.t454__logowrapper2{display:block;position:static}.t454__leftwrapper,.t454__rightwrapper,.rightmenuwrapper{position:static;padding:0!important;width:100%}.t454__rightmenuwrapper,.t454__leftmenuwrapper,.t454__leftmenuwrapper .t454__list,.t454__rightmenuwrapper .t454__list{display:block}}.t456__imglogo{height:auto;display:block}.t456__linewrapper{position:absolute;bottom:0;left:0;width:100%}.t456__horizontalline{margin:0;border:0;background-color:#C2C2C2;height:1px;right:0;bottom:0;margin:0 40px 0 40px}.t456__imglogo{max-width:300px}.t456__leftwrapper{display:table-cell;vertical-align:middle;padding-left:40px}.t456__rightwrapper{display:table-cell;vertical-align:middle;padding-right:40px;width:100%}.t456__menualign_left{text-align:left}.t456__menualign_right{text-align:right}.t456__menualign_center{text-align:center}@media screen and (max-width:1200px){.t456__leftwrapper{padding-left:20px}.t456__rightwrapper{padding-right:20px}}.t456{width:100%;height:80px;z-index:990;position:fixed;top:0;box-shadow:0 1px 3px rgba(0,0,0,0);-webkit-transition:background-color 300ms linear;-moz-transition:background-color 300ms linear;-o-transition:background-color 300ms linear;-ms-transition:background-color 300ms linear;transition:background-color 300ms linear}.t456__beforeready{visibility:hidden}.t456 ul{margin:0}.t456__maincontainer{width:100%;height:80px;display:table;position:relative}.t456__maincontainer.t456__c12collumns{max-width:1200px;margin:0 auto}.t456__logo{display:inline-block;font-size:24px;font-weight:400;white-space:nowrap;padding-right:30px}.t456__list{list-style-type:none;margin:0;padding:0!important}.t456__list_item{clear:both;font-family:'Open Sans',sans-serif;font-size:16px;display:inline;padding-left:15px;padding-right:15px;margin:0;color:#000;white-space:nowrap}.t456__list_item .t-active{opacity:.7}.t456__list_item:first-child{padding-left:0}.t456__list_item:last-child{padding-right:0}.t456 a,#allrecords .t456 a{text-decoration:none;color:#000}.t456.t456__positionabsolute{position:absolute}.t456.t456__positionfixed{position:fixed}.t456.t456__positionstatic{position:static}.t456__mobile{display:none}@media screen and (max-width:980px){.t456__linewrapper{display:none}.t456{position:static;text-align:center;display:block;margin:0;padding:0;height:auto!important}.t456.t456__positionabsolute,.t456.t456__positionfixed,.t456.t456__positionstatic{position:static}.t456__imglogo{width:auto!important;box-sizing:border-box;padding:20px;margin:0 auto}.t456__imglogomobile.t456__imglogo{width:100%!important}.t456__logo{text-align:center;margin:20px}.t456 img{float:inherit}.t456 .t456__list_item{display:block;text-align:center;padding:10px!important;white-space:normal}.t456__logo{white-space:normal;padding:0}.t456__logowrapper{position:static;display:block;width:100%}.t456__logowrapper2{display:block;position:static}.t456__leftwrapper,.t456__rightwrapper{width:100%;display:block}.t456__leftwrapper{padding:20px;box-sizing:border-box}.t456__rightwrapper{padding:20px 0}.t456__list{display:block;padding:0!important}.t456.t456__hidden{display:none;height:100%}.t456__mobile{background-color:#111;display:block}.t456__mobile_text{color:#fff}.t456__mobile_container{padding:20px;position:relative}.t456__burger{position:absolute;top:50%;margin-top:-10px;right:20px;width:28px;height:20px;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.5s ease-in-out;-moz-transition:.5s ease-in-out;-o-transition:.5s ease-in-out;transition:.5s ease-in-out;cursor:pointer;z-index:9999}.t456__burger span{display:block;position:absolute;width:100%;opacity:1;left:0;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.25s ease-in-out;-moz-transition:.25s ease-in-out;-o-transition:.25s ease-in-out;transition:.25s ease-in-out;height:3px;background-color:#fff}.t456__burger span:nth-child(1){top:0}.t456__burger span:nth-child(2),.t456__burger span:nth-child(3){top:8px}.t456__burger span:nth-child(4){top:16px}.t456_opened .t456__burger span:nth-child(1){top:8px;width:0%;left:50%}.t456_opened .t456__burger span:nth-child(2){-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.t456_opened .t456__burger span:nth-child(3){-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.t456_opened .t456__burger span:nth-child(4){top:8px;width:0%;left:50%}} \ No newline at end of file diff --git a/css/tilda-blocks-2.8.css b/css/tilda-blocks-2.8.css deleted file mode 100644 index 842b7642..00000000 --- a/css/tilda-blocks-2.8.css +++ /dev/null @@ -1,3677 +0,0 @@ -@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700&subset=latin,cyrillic); -.t-body { - margin: 0px; -} -#allrecords { - -webkit-font-smoothing: antialiased; - background-color: none; -} -#allrecords a { - color: #ff8562; - text-decoration: none; -} -#allrecords a[href^=tel] { - color: inherit; - text-decoration: none; -} -#allrecords ol { - padding-left: 22px; -} -#allrecords ul { - padding-left: 20px; -} -@media print { - body, - html { - min-width: 1200px; - max-width: 1200px; - padding: 0; - margin: 0 auto; - border: none; - } -} -.t-text { - font-family: 'Georgia', serif; - font-weight: 300; - color: #000000; -} -.t-text_xs { - font-size: 15px; - line-height: 1.55; -} -.t-text_sm { - font-size: 18px; - line-height: 1.55; -} -.t-text_md { - font-size: 20px; - line-height: 1.55; -} -.t-text_lg { - font-size: 22px; - line-height: 1.55; -} -.t-text_weight_plus { - font-weight: 400; -} -.t-text-impact { - font-family: 'Georgia', serif; - font-weight: 300; - color: #000000; -} -.t-text-impact_xs { - font-size: 26px; - line-height: 1.50; -} -.t-text-impact_sm { - font-size: 32px; - line-height: 1.35; -} -.t-text-impact_md { - font-size: 38px; - line-height: 1.35; -} -.t-text-impact_lg { - font-size: 42px; - line-height: 1.23; -} -.t-name { - font-family: 'Open Sans', sans-serif; - font-weight: 600; - color: #000000; -} -.t-name_xs { - font-size: 16px; - line-height: 1.35; -} -.t-name_sm { - font-size: 18px; - line-height: 1.35; -} -.t-name_md { - font-size: 20px; - line-height: 1.35; -} -.t-name_lg { - font-size: 22px; - line-height: 1.35; -} -.t-name_xl { - font-size: 24px; - line-height: 1.35; -} -.t-heading { - font-family: 'Open Sans', sans-serif; - font-weight: 600; - color: #000000; -} -.t-heading_xs { - font-size: 26px; - line-height: 1.23; -} -.t-heading_sm { - font-size: 28px; - line-height: 1.17; -} -.t-heading_md { - font-size: 30px; - line-height: 1.17; -} -.t-heading_lg { - font-size: 32px; - line-height: 1.17; -} -.t-title { - font-family: 'Open Sans', sans-serif; - font-weight: 600; - color: #000000; -} -.t-title_xxs { - font-size: 36px; - line-height: 1.23; -} -.t-title_xs { - font-size: 42px; - line-height: 1.23; -} -.t-title_sm { - font-size: 48px; - line-height: 1.23; -} -.t-title_md { - font-size: 52px; - line-height: 1.23; -} -.t-title_lg { - font-size: 64px; - line-height: 1.23; -} -.t-title_xl { - font-size: 72px; - line-height: 1.17; -} -.t-title_xxl { - font-size: 82px; - line-height: 1.17; -} -.t-descr { - font-family: 'Open Sans', sans-serif; - font-weight: 300; - color: #000000; -} -.t-descr_xxs { - font-size: 14px; - line-height: 1.55; -} -.t-descr_xs { - font-size: 16px; - line-height: 1.55; -} -.t-descr_sm { - font-size: 18px; - line-height: 1.55; -} -.t-descr_md { - font-size: 20px; - line-height: 1.55; -} -.t-descr_lg { - font-size: 22px; - line-height: 1.55; -} -.t-descr_xl { - font-size: 24px; - line-height: 1.50; -} -.t-descr_xxl { - font-size: 26px; - line-height: 1.45; -} -.t-descr_xxxl { - font-size: 30px; - line-height: 1.45; - letter-spacing: 0.45; -} -.t-uptitle { - font-family: 'Open Sans', sans-serif; - font-weight: 600; - color: #000000; - letter-spacing: 2.5px; -} -.t-uptitle_xs { - font-size: 12px; -} -.t-uptitle_sm { - font-size: 14px; -} -.t-uptitle_md { - font-size: 16px; -} -.t-uptitle_lg { - font-size: 18px; -} -.t-uptitle_xl { - font-size: 20px; - letter-spacing: 2px; -} -.t-uptitle_xxl { - font-size: 22px; - letter-spacing: 2px; -} -.t-uptitle_xxxl { - font-size: 24px; - letter-spacing: 2px; -} -@media screen and (max-width: 1200px) { - .t-text_xs { - font-size: 14px; - } - .t-text_sm { - font-size: 16px; - } - .t-text_md { - font-size: 18px; - } - .t-text_lg { - font-size: 20px; - } - .t-text-impact_md { - font-size: 30px; - } - .t-descr_xxs { - font-size: 12px; - } - .t-descr_xs { - font-size: 14px; - } - .t-descr_sm { - font-size: 16px; - } - .t-descr_md { - font-size: 18px; - } - .t-descr_lg { - font-size: 20px; - } - .t-descr_xl { - font-size: 22px; - } - .t-descr_xxl { - font-size: 22px; - } - .t-descr_xxxl { - font-size: 26px; - } - .t-uptitle_md { - font-size: 14px; - } - .t-uptitle_lg { - font-size: 16px; - } - .t-uptitle_xl { - font-size: 18px; - } - .t-uptitle_xxl { - font-size: 20px; - } - .t-uptitle_xxxl { - font-size: 22px; - } - .t-title_xxs { - font-size: 32px; - } - .t-title_xs { - font-size: 38px; - } - .t-title_sm { - font-size: 44px; - } - .t-title_md { - font-size: 48px; - } - .t-title_lg { - font-size: 60px; - } - .t-title_xl { - font-size: 68px; - } - .t-title_xxl { - font-size: 78px; - } - .t-name_xs { - font-size: 14px; - } - .t-name_sm { - font-size: 16px; - } - .t-name_md { - font-size: 18px; - } - .t-name_lg { - font-size: 20px; - } - .t-name_xl { - font-size: 22px; - } - .t-heading_xs { - font-size: 24px; - } - .t-heading_sm { - font-size: 26px; - } - .t-heading_md { - font-size: 28px; - } - .t-heading_lg { - font-size: 30px; - } -} -@media screen and (max-width: 640px) { - .t-text_xs { - font-size: 12px; - line-height: 1.45; - } - .t-text_sm { - font-size: 14px; - line-height: 1.45; - } - .t-text_md { - font-size: 16px; - line-height: 1.45; - } - .t-text_lg { - font-size: 18px; - line-height: 1.45; - } - .t-text-impact_sm { - font-size: 22px; - } - .t-text-impact_md { - font-size: 26px; - } - .t-text-impact_lg { - font-size: 28px; - } - .t-descr_xs { - font-size: 12px; - line-height: 1.45; - } - .t-descr_sm { - font-size: 14px; - line-height: 1.45; - } - .t-descr_md { - font-size: 16px; - line-height: 1.45; - } - .t-descr_lg { - font-size: 18px; - line-height: 1.45; - } - .t-descr_xl { - font-size: 20px; - line-height: 1.40; - } - .t-descr_xxl { - font-size: 20px; - } - .t-descr_xxxl { - font-size: 22px; - } - .t-uptitle_xs { - font-size: 10px; - } - .t-uptitle_sm { - font-size: 10px; - } - .t-uptitle_md { - font-size: 12px; - } - .t-uptitle_lg { - font-size: 14px; - } - .t-uptitle_xl { - font-size: 16px; - } - .t-uptitle_xxl { - font-size: 18px; - } - .t-uptitle_xxxl { - font-size: 20px; - } - .t-title_xxs { - font-size: 28px; - } - .t-title_xs { - font-size: 30px; - } - .t-title_sm { - font-size: 30px; - } - .t-title_md { - font-size: 30px; - } - .t-title_lg { - font-size: 30px; - } - .t-title_xl { - font-size: 32px; - } - .t-title_xxl { - font-size: 36px; - } - .t-name_xs { - font-size: 12px; - } - .t-name_sm { - font-size: 14px; - } - .t-name_md { - font-size: 16px; - } - .t-name_lg { - font-size: 18px; - } - .t-name_xl { - font-size: 20px; - } - .t-heading_xs { - font-size: 22px; - } - .t-heading_sm { - font-size: 24px; - } - .t-heading_md { - font-size: 24px; - } - .t-heading_lg { - font-size: 26px; - } -} -@media screen and (max-width: 480px) { - .t-title_xl { - font-size: 30px; - } - .t-title_xxl { - font-size: 30px; - } -} -.t-records { - -webkit-font_smoothing: antialiased; - background-color: none; -} -.t-records a { - color: #ff8562; - text-decoration: none; -} -.t-records a[href^=tel] { - color: inherit; - text-decoration: none; -} -.t-records ol { - padding-left: 22px; - margin-top: 0px; - margin-bottom: 10px; -} -.t-records ul { - padding-left: 20px; - margin-top: 0px; - margin-bottom: 10px; -} -.t-cover { - height: 700px; - width: 100%; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; - background-color: #000; - background-repeat: no-repeat; - background-position: center center; - text-align: center; - vertical-align: middle; - position: relative; - background-attachment: fixed; - overflow: hidden; -} -.t-cover__carrier { - height: 700px; - width: 100%; - background-size: cover; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-repeat: no-repeat; - background-position: center center; - text-align: center; - vertical-align: middle; - position: relative; - background-attachment: fixed; -} -.t-cover__carrier.loading { - opacity: 0; -} -.t-cover__carrier[data-content-cover-bg=""].loading { - opacity: 1 !important; -} -.t-cover__carrier.loaded { - opacity: 1; - transition: opacity 400ms; -} -@media screen and (max-device-width: 1024px) { - .t-cover { - background-attachment: scroll; - } - .t-cover__carrier { - background-attachment: scroll; - } -} -@media print { - .t-cover { - background-attachment: scroll; - } - .t-cover__carrier { - background-attachment: scroll; - } -} -.t-cover__filter { - height: 700px; - width: 100%; - position: absolute; - top: 0; - left: 0; -} -.t-cover .t-container, -.t-cover .t-container_100, -.t-cover .t-container_10, -.t-cover .t-container_8 { - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; -} -.t-cover__wrapper { - height: 700px; - display: table-cell; - width: 1200px; -} -.t-cover__wrapper span.space { - display: inline-block; - height: 100%; - width: 1px; -} -@media screen and (max-width: 640px) { - .t-cover { - height: 400px; - background-attachment: fixed; - } - .t-cover__carrier { - background-attachment: scroll !important; - background-size: cover; - background-position: center center; - } - .t-cover__filter { - height: 400px; - } - .t-cover__wrapper { - height: 400px; - } -} -@-webkit-keyframes t-arrow-bottom { - 0% { - -moz-transform: translateY(0); - -ms-transform: translateY(0); - -webkit-transform: translateY(0); - -o-transform: translateY(0); - transform: translateY(0); - } - 50% { - -moz-transform: translateY(-7px); - -ms-transform: translateY(-7px); - -webkit-transform: translateY(-7px); - -o-transform: translateY(-7px); - transform: translateY(-7px); - } - 55% { - -moz-transform: translateY(-7px); - -ms-transform: translateY(-7px); - -webkit-transform: translateY(-7px); - -o-transform: translateY(-7px); - transform: translateY(-7px); - } - 100% { - -moz-transform: translateY(0); - -ms-transform: translateY(0); - -webkit-transform: translateY(0); - -o-transform: translateY(0); - transform: translateY(0); - } -} -@keyframes t-arrow-bottom { - 0% { - -moz-transform: translateY(0); - -ms-transform: translateY(0); - -webkit-transform: translateY(0); - -o-transform: translateY(0); - transform: translateY(0); - } - 50% { - -moz-transform: translateY(-7px); - -ms-transform: translateY(-7px); - -webkit-transform: translateY(-7px); - -o-transform: translateY(-7px); - transform: translateY(-7px); - } - 55% { - -moz-transform: translateY(-7px); - -ms-transform: translateY(-7px); - -webkit-transform: translateY(-7px); - -o-transform: translateY(-7px); - transform: translateY(-7px); - } - 100% { - -moz-transform: translateY(0); - -ms-transform: translateY(0); - -webkit-transform: translateY(0); - -o-transform: translateY(0); - transform: translateY(0); - } -} -.t-cover__arrow-wrapper_animated { - animation: t-arrow-bottom 1.7s infinite ease; -} -.t-cover__arrow { - position: absolute; - z-index: 9; - bottom: 40px; - right: 0; - left: 0; - text-align: center; -} -.t-cover__arrow-wrapper { - display: inline-block; - -webkit-transition: all ease-in-out 0.2s; - -moz-transition: all ease-in-out 0.2s; - -o-transition: all ease-in-out 0.2s; - transition: all ease-in-out 0.2s; - cursor: pointer; -} -.t-cover__arrow-wrapper:hover { - opacity: .7; -} -.t-cover__arrow-svg { - fill: #fff; -} -@media screen and (max-width: 640px) { - .t-cover__arrow_mobile { - -moz-transform: scale(.7); - -ms-transform: scale(.7); - -webkit-transform: scale(.7); - -o-transform: scale(.7); - transform: scale(.7); - } - .t-cover__arrow { - bottom: 14px; - } -} -.t-btn { - display: inline-block; - font-family: 'Open Sans', sans-serif; - height: 60px; - border: 0 none; - font-size: 16px; - padding-left: 60px; - padding-right: 60px; - text-align: center; - white-space: nowrap; - vertical-align: middle; - font-weight: bold; - background-image: none; - cursor: pointer; - -webkit-appearance: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.t-btn td { - vertical-align: middle; -} -@media screen and (max-width: 640px) { - .t-btn { - white-space: normal; - padding-left: 30px; - padding-right: 30px; - } -} -.t-btn_sm { - height: 40px; - font-size: 14px; - padding-left: 30px; - padding-right: 30px; -} -.t-btn_lg { - height: 60px; - font-size: 22px; - padding-left: 70px; - padding-right: 70px; -} -@media screen and (max-width: 640px) { - .t-btn_lg { - font-size: 18px; - padding-left: 40px; - padding-right: 40px; - } -} -.t-submit { - font-family: 'Open Sans', sans-serif; - text-align: center; - height: 60px; - border: 0 none; - font-size: 16px; - padding-left: 60px; - padding-right: 60px; - -webkit-appearance: none; - font-weight: bold; - white-space: nowrap; - background-image: none; - cursor: pointer; - margin: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -@media screen and (max-width: 640px) { - .t-submit { - white-space: normal; - padding-left: 30px; - padding-right: 30px; - } -} -.t-input { - margin: 0; - font-family: 'Open Sans', sans-serif; - font-size: 100%; - height: 60px; - padding: 0px 20px; - font-size: 16px; - line-height: 1.33; - width: 100%; - border: 0 none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.t-input::-moz-focus-inner { - padding: 0; - border: 0; -} -.t-input_bbonly { - outline: none; - padding-left: 0 !important; - padding-right: 0 !important; - border-top: 0 !important; - border-right: 0 !important; - border-left: 0 !important; - background-color: transparent !important; - border-radius: 0 !important; -} -@media screen and (max-width: 1200px) { - .t-screenmin-1200px { - display: none; - } -} -@media screen and (max-width: 980px) { - .t-screenmin-980px { - display: none; - } -} -@media screen and (max-width: 640px) { - .t-screenmin-640px { - display: none; - } -} -@media screen and (max-width: 480px) { - .t-screenmin-480px { - display: none; - } -} -@media screen and (max-width: 320px) { - .t-screenmin-320px { - display: none; - } -} -@media screen and (min-width: 321px) { - .t-screenmax-320px { - display: none; - } -} -@media screen and (min-width: 481px) { - .t-screenmax-480px { - display: none; - } -} -@media screen and (min-width: 641px) { - .t-screenmax-640px { - display: none; - } -} -@media screen and (min-width: 981px) { - .t-screenmax-980px { - display: none; - } -} -@media screen and (min-width: 1201px) { - .t-screenmax-1200px { - display: none; - } -} -.t-hidden { - display: none; -} -.t-opacity_50 { - filter: alpha(opacity=50); - KHTMLOpacity: 0.50; - MozOpacity: 0.50; - opacity: 0.50; -} -.t-opacity_70 { - filter: alpha(opacity=70); - KHTMLOpacity: 0.70; - MozOpacity: 0.70; - opacity: 0.70; -} -.t-uppercase { - text-transform: uppercase; -} -.t-align_center { - text-align: center; -} -.t-align_left { - text-align: left; -} -.t-align_right { - text-align: right; -} -.t-margin_auto { - margin-left: auto; - margin-right: auto; -} -.t-valign_middle { - vertical-align: middle; -} -.t-valign_top { - vertical-align: top; -} -.t-valign_bottom { - vertical-align: bottom; -} -.t-margin_left_auto { - margin-right: 0; - margin-left: auto; -} -.yashare-style .b-share-btn__facebook, -.yashare-style .b-share-btn__twitter, -.yashare-style .b-share-btn__vkontakte { - background-color: transparent !important; -} -.yashare-style .b-share__link { - -webkit-border-radius: 0px !important; - border-radius: 0px !important; -} -.yashare-style-black-white .b-share-btn__wrap { - background-color: #000 !important; - padding: 5px !important; -} -.yashare-style-transp-white .b-share-btn__wrap { - padding: 5px !important; -} -.yashare-style-transp-white .b-share-counter { - color: #fff; - font-weight: bold; -} -.yashare-style-white-black .b-share-btn__wrap { - background-color: #fff !important; - padding: 5px !important; -} -.yashare-style-white-black .b-share-icon { - background-image: url("//static.tildacdn.com/img/b-share_counter_large_white.png") !important; -} -.yashare-style-transp-black .b-share-btn__wrap { - padding: 5px !important; -} -.yashare-style-transp-black .b-share-icon { - background-image: url("//static.tildacdn.com/img/b-share_counter_large_white.png") !important; -} -.yashare-style-transp-black .b-share-counter { - color: #000; - font-weight: bold; -} -.ya-share2 ul { - padding-left: 0px !important; -} -.carousel { - position: relative; -} -.carousel ol { - padding-left: 0px !important; -} -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} -.carousel-inner > .item { - position: relative; - display: none; - -webkit-transition: 0.6s ease-in-out left; - transition: 0.6s ease-in-out left; -} -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - display: block; - height: auto; - line-height: 1; -} -.carousel-inner .widthauto { - width: auto; - max-width: 100%; - vertical-align: middle; -} -.carousel-inner > .active, -.carousel-inner > .next, -.carousel-inner > .prev { - display: block; -} -.carousel-inner > .active { - left: 0; -} -.carousel-inner > .next, -.carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; -} -.carousel-inner > .next { - left: 100%; -} -.carousel-inner > .prev { - left: -100%; -} -.carousel-inner > .next.left, -.carousel-inner > .prev.right { - left: 0; -} -.carousel-inner > .active.left { - left: -100%; -} -.carousel-inner > .active.right { - left: 100%; -} -.carousel-control { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 15%; - opacity: 0.2; - filter: alpha(opacity=20); -} -.carousel-control.right { - right: 0; - left: auto; -} -.carousel-control .carousel-control-left { - position: absolute; - top: 48%; - z-index: 5; - display: inline-block; - left: 20%; - height: 34px; - width: 21px; - background: url(//static.tildacdn.com/img/aboutSliderControls.png) no-repeat; -} -.carousel-control .carousel-control-left-white { - position: absolute; - top: 48%; - z-index: 5; - display: inline-block; - left: 20%; - height: 34px; - width: 21px; - background: url(//static.tildacdn.com/img/aboutSliderControls_white.png) no-repeat; -} -.carousel-control .carousel-control-right { - position: absolute; - top: 48%; - z-index: 5; - display: inline-block; - right: 20%; - height: 34px; - width: 21px; - background: url(//static.tildacdn.com/img/aboutSliderControls.png) no-repeat; - background-position: left bottom; -} -.carousel-control .carousel-control-right-white { - position: absolute; - top: 48%; - z-index: 5; - display: inline-block; - right: 20%; - height: 34px; - width: 21px; - background: url(//static.tildacdn.com/img/aboutSliderControls_white.png) no-repeat; - background-position: left bottom; -} -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - padding-left: 0; - margin-left: -30%; - text-align: center; - list-style: none; -} -.carousel-indicators.dotsbottom { - bottom: -60px; -} -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - margin-left: 5px; - margin-right: 5px; - text-indent: -999px; - cursor: pointer; - background-color: #000000; - border: none; - border-radius: 10px; -} -.carousel-indicators .active { - width: 10px; - height: 10px; - margin: 0; - margin-left: 4px; - margin-right: 4px; - border: 1px solid #000000; - border-radius: 10px; - background-color: transparent; -} -.carousel-indicators li.white { - background-color: #fff; -} -.carousel-indicators li.white.active { - border: 1px solid #fff; - border-radius: 10px; - background-color: transparent; -} -.carousel-caption-imgs h6 { - font-family: 'Georgia', serif; - color: #000000; - font-weight: normal; - font-size: 14px; - line-height: 28px; - padding-top: 28px; - padding-bottom: 0px; - text-align: center; -} -.carousel-caption-imgs p { - font-family: 'Georgia', serif; - color: #000000; - font-size: 14px; - line-height: 28px; - padding-top: 14px; - padding-bottom: 14px; - text-align: center; -} -.carousel-title { - font-family: 'Open Sans', sans-serif; - color: #000000; - font-size: 18px; - line-height: 28px; - padding-top: 36px; - padding-bottom: 14px; - text-align: center; -} -.carousel-descr { - font-family: 'Georgia', serif; - color: #000000; - font-size: 14px; - line-height: 28px; - padding-top: 14px; - padding-bottom: 14px; - text-align: center; -} -@media screen and (min-width: 768px) { - .carousel-indicators { - bottom: 20px; - } -} -.clearfix:before, -.clearfix:after { - display: table; - content: " "; -} -.clearfix:after { - clear: both; -} -.center-block { - display: block; - margin-right: auto; - margin-left: auto; -} -@media screen and (max-width: 960px) { - .carousel-control .carousel-control-left { - left: 10%; - } - .carousel-control .carousel-control-left-white { - left: 10%; - } - .carousel-control .carousel-control-right { - right: 10%; - } - .carousel-control .carousel-control-right-white { - right: 10%; - } -} -.t-tildalabel { - background-color: #000; - color: #fff; - width: 100%; - height: 70px; - font-family: Arial; - font-size: 14px; -} -.t-tildalabel:hover .t-tildalabel__wrapper { - opacity: 1; -} -.t-tildalabel_white { - background-color: #fff; - color: #000; -} -.t-tildalabel_gray { - background-color: #eee; - color: #000; -} -.t-tildalabel__wrapper { - display: table; - height: 30px; - width: 270px; - margin: 0 auto; - padding-top: 20px; - opacity: 0.4; -} -.t-tildalabel__txtleft { - display: table-cell; - width: 120px; - height: 30px; - vertical-align: middle; - text-align: right; - padding-right: 12px; - font-weight: 300; - font-size: 12px; -} -.t-tildalabel__wrapimg { - display: table-cell; - width: 30px; - height: 30px; - vertical-align: middle; -} -.t-tildalabel__img { - width: 30px; - height: 30px; - vertical-align: middle; -} -.t-tildalabel__txtright { - display: table-cell; - width: 120px; - height: 30px; - vertical-align: middle; - padding-left: 12px; - font-weight: 500; - letter-spacing: 2px; -} -.t-tildalabel__link { - color: #fff; - text-decoration: none; - vertical-align: middle; -} -.t-tildalabel_white .t-tildalabel__link, -.t-tildalabel_gray .t-tildalabel__link { - color: #000; -} -.t-carousel { - position: relative; -} -.t-carousel__inner { - position: relative; - overflow: hidden; - margin: 0 auto; -} -.t-carousel__slides { - position: relative; -} -.t-carousel__inner > .t-carousel__item { - position: relative; - display: none; - -webkit-transition: 0 ease-in-out left; - -moz-transition: 0 ease-in-out left; - -o-transition: 0 ease-in-out left; - transition: 0 ease-in-out left; -} -.t-carousel__inner > .t-carousel__item.t-carousel__animation_fast { - -webkit-transition: .3s ease-in-out left; - -moz-transition: .3s ease-in-out left; - -o-transition: .3s ease-in-out left; - transition: .3s ease-in-out left; -} -.t-carousel__inner > .t-carousel__item.t-carousel__animation_slow { - -webkit-transition: .6s ease-in-out left; - -moz-transition: .6s ease-in-out left; - -o-transition: .6s ease-in-out left; - transition: .6s ease-in-out left; -} -.t-carousel__item__wrapper { - position: relative; - margin: 0 auto; -} -.t-carousel__item__img { - background-size: contain; - background-repeat: no-repeat; - background-position: center; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; -} -.t-carousel_cover .t-carousel__item__img { - background-size: cover; -} -.t-carousel__inner > .active, -.t-carousel__inner > .next, -.t-carousel__inner > .prev { - display: block; -} -.t-carousel__inner > .active { - left: 0; -} -.t-carousel__inner > .next, -.t-carousel__inner > .prev { - position: absolute; - top: 0; - width: 100%; -} -.t-carousel__inner > .next { - left: 100%; -} -.t-carousel__inner > .prev { - left: -100%; -} -.t-carousel__inner > .next.left, -.t-carousel__inner > .prev.right { - left: 0; -} -.t-carousel__inner > .active.left { - left: -100%; -} -.t-carousel__inner > .active.right { - left: 100%; -} -.t-carousel__arrows__container { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: 0 auto; - pointer-events: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGP6zwAAAgcBApocMXEAAAAASUVORK5CYII=',sizingMethod='scale'); - background: none !important; -} -.t-carousel__arrow_outsidesmall .t-carousel__arrow__wrapper_left { - left: 16px; -} -.t-carousel__arrow_outsidesmall .t-carousel__arrow__wrapper_right { - right: 16px; -} -.t-carousel__arrow_outsidemiddle .t-carousel__arrow__wrapper_left { - left: 20px; -} -.t-carousel__arrow_outsidemiddle .t-carousel__arrow__wrapper_right { - right: 20px; -} -.t-carousel__control { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 15%; - -webkit-transition: all ease-in-out 0.3s; - -moz-transition: all ease-in-out 0.3s; - -o-transition: all ease-in-out 0.3s; - transition: all ease-in-out 0.3s; - pointer-events: auto; -} -.t-carousel__control:hover { - opacity: .6; -} -.t-carousel__arrow { - width: 34px; - height: 34px; - background: transparent; - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} -.t-carousel__arrow.t-carousel__arrow_small { - width: 20px; - height: 20px; -} -.t-carousel__arrow.t-carousel__arrow_large { - width: 54px; - height: 54px; -} -.t-carousel__arrow__wrapper { - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -webkit-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - position: absolute; - top: 50%; -} -.t-carousel__arrow__wrapper_left { - left: 30px; -} -.t-carousel__arrow__wrapper_right { - right: 30px; -} -.t-carousel__arrow_right { - border-top: 3px solid; - border-right: 3px solid; -} -.t-carousel__arrow_right.t-carousel__arrow_light { - border-top: 1px solid; - border-right: 1px solid; -} -.t-carousel__arrow_right.t-carousel__arrow_bold { - border-top: 6px solid; - border-right: 6px solid; -} -.t-carousel__arrow_left { - border-left: 3px solid; - border-bottom: 3px solid; -} -.t-carousel__arrow_left.t-carousel__arrow_light { - border-left: 1px solid; - border-bottom: 1px solid; -} -.t-carousel__arrow_left.t-carousel__arrow_bold { - border-left: 6px solid; - border-bottom: 6px solid; -} -.t-carousel__control.right { - right: 0; - left: auto; -} -@media screen and (max-width: 768px) { - .t-carousel__control .t-carousel__arrow { - width: 12px; - height: 12px; - } - .t-carousel-control { - width: 10%; - } - .t-carousel__arrow__left { - left: 15px; - } - .t-carousel__arrow__right { - right: 15px; - } -} -.t-carousel__indicators.carousel-indicators { - z-index: 15; - text-align: center; - list-style: none; - position: relative; - padding-left: 0 !important; - margin: 0 auto; - padding: 20px 0; - bottom: auto; - left: auto; -} -.t-carousel__indicators.t-carousel__indicators_light { - padding: 15px 0 18px; -} -.t-carousel__indicators.t-carousel__indicators_bold { - padding: 24px 0 21px; -} -.t-carousel__indicators .t-carousel__indicator { - display: inline-block; - width: 8px; - height: 8px; - margin: 0 6px; - text-indent: -999px; - cursor: pointer; - background-color: #222; - border: none; - border-radius: 10px; - opacity: .4; - -webkit-transition: .2s ease-in-out opacity; - -moz-transition: .2s ease-in-out opacity; - -o-transition: .2s ease-in-out opacity; - transition: .2s ease-in-out opacity; -} -@media screen and (max-width: 640px) { - .t-carousel__indicators.carousel-indicators, - .t-carousel__indicators.t-carousel__indicators_light, - .t-carousel__indicators.t-carousel__indicators_bold { - padding: 15px 0; - } -} -.t-carousel__indicators.t-carousel__indicators_light .t-carousel__indicator { - width: 4px; - height: 4px; - margin: 0 5px; -} -.t-carousel__indicators.t-carousel__indicators_bold .t-carousel__indicator { - width: 10px; - height: 10px; - margin: 0 6px; -} -.t-carousel__indicators .t-carousel__indicator:hover { - opacity: .8; -} -.t-carousel__indicators .t-carousel__indicator.active { - opacity: 1; -} -.t-carousel__indicators.t-carousel__indicators_inside { - position: absolute; - bottom: 0; - left: 0; - right: 0; -} -.t-carousel__caption-inside { - display: none; -} -.t-carousel__caption_wrapper { - border-top: 1px solid #eee; - padding: 14px 0; -} -.t-carousel__descr { - margin-top: 5px; - color: #777; -} -.t-mbfix { - opacity: 0.01; - -webkit-transform: translateX(0px); - -ms-transform: translateX(0px); - transform: translateX(0px); - position: fixed; - width: 100%; - height: 500px; - background-color: white; - top: 0px; - left: 0px; - z-index: 10000; - -webkit-transition: all 0.1s ease; - transition: all 0.1s ease; -} -.t-mbfix_hide { - -webkit-transform: translateX(3000px); - -ms-transform: translateX(3000px); - transform: translateX(3000px); -} -.t107 { - text-align: center; -} -.t107__width { - vertical-align: middle; -} -.t107__widthauto { - width: auto; - max-width: 100%; - display: block; - margin: 0 auto; -} -.t107__title { - padding-top: 28px; - padding-bottom: 28px; - font-size: 14px; - line-height: 28px; -} -.t102__title { - font-size: 104px; - color: #fff; - margin: 74px 0 54px 0; - text-transform: uppercase; -} -.t102__descr { - color: #fff; - padding: 0 220px; -} -@media screen and (max-width: 1024px) { - .t102__title { - font-size: 70px; - line-height: 70px; - margin-top: 30px; - } - .t102__descr { - padding: 0 120px; - } -} -@media screen and (max-width: 640px) { - .t102__title { - font-size: 34px; - line-height: 38px; - margin-top: 30px; - } - .t102__descr { - padding: 0 10px; - } -} -.t001__wrapper { - padding-top: 42px; - padding-bottom: 42px; -} -.t001__uptitle { - text-transform: uppercase; - color: #ffffff; - padding-bottom: 60px; - padding-top: 30px; -} -.t001__title { - color: #fff; - padding: 24px 0px 38px 0px; - letter-spacing: 0.5px; -} -.t001__descr { - color: #fff; - padding: 0px 0px 30px 0px; -} -.t001__descr_center { - max-width: 700px; - margin: 0 auto; -} -.t001__descr_center a { - color: #fff !important; - font-weight: 600; -} -@media screen and (max-width: 640px) { - .t001__title { - padding-left: 10px; - padding-right: 10px; - } - .t001__uptitle { - padding-left: 10px; - padding-right: 10px; - } - .t001__descr { - padding-left: 10px; - padding-right: 10px; - font-size: 14px; - line-height: 20px; - } -} -.t015__title { - padding-top: 8px; - padding-bottom: 3px; -} -.t015__uptitle { - text-transform: uppercase; - padding-top: 10px; - padding-bottom: 40px; -} -.t015__descr { - padding: 41px 0px 0px 0px; -} -.t017__uptitle { - padding-top: 3px; - padding-bottom: 22px; -} -.t017__title { - padding-top: 2px; - padding-bottom: 0px; -} -.t017__descr { - padding-top: 21px; -} -.t021__line { - width: 100%; - max-width: 140px; - margin-left: auto; - margin-right: auto; - height: 1px; - background-color: #000000; -} -.t021__text-impact { - text-align: center; - margin-top: 44px; - margin-bottom: 54px; -} -.t030__title { - margin-bottom: 15px; -} -.t030__descr { - margin-top: 8px; - padding-bottom: 6px; -} -.t033 .t-container { - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.t033__lineTop { - border-top: 4px solid #000000; - padding-left: 0; - width: 100%; - margin-top: 1px; -} -.t033__title { - font-size: 24px; - color: #000000; - line-height: 36px; - padding-top: 19px; -} -.t033__descr { - margin-top: -12px; -} -@media screen and (max-width: 960px) { - .t033 .t-container { - display: -webkit-block; - display: block; - } - .t033__title { - padding-bottom: 40px; - } -} -@media screen and (max-width: 640px) { - .t033__lineTop { - width: 100%; - } -} -.t037 .t-container { - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.t037__title { - font-family: 'Open Sans', sans-serif; - color: #000000; - font-weight: 600; - font-size: 24px; - line-height: 28px; - padding-right: 50px; - padding-top: 7px; - padding-bottom: 7px; -} -.t037__text { - padding-top: 8px; - padding-bottom: 6px; -} -@media screen and (max-width: 960px) { - .t037 .t-container { - display: -webkit-block; - display: block; - } - .t037__title { - padding-right: 0px; - } -} -@media screen and (max-width: 640px) { - .t037__title { - margin-bottom: 20px; - padding-right: 0; - } -} -.t050__uptitle { - padding-top: 9px; - padding-bottom: 93px; - text-transform: uppercase; -} -.t050__descr { - padding-top: 50px; - padding-bottom: 9px; -} -.t029 .t-container { - padding-top: 3px; - padding-bottom: 5px; -} -.t029 img { - max-width: 100%; -} -.t075__wrapperleft { - padding-left: 0px; - padding-right: 0px; -} -.t075__wrappercenter { - padding-left: 20px; - padding-right: 20px; -} -.t075__img { - margin-bottom: 14px; - width: 100px; - height: 100px; -} -.t075__img_circle { - border-radius: 50%; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; -} -.t075__textclass1 .t075__title { - font-size: 24px; - line-height: 30px; - margin-bottom: 25px; - margin-top: 18px; -} -.t075__textclass1 { - font-size: 16px; - line-height: 25px; -} -.t075__textclass2 .t075__title { - font-size: 18px; - line-height: 21px; - margin-bottom: 25px; - margin-top: 12px; -} -.t075__textclass2 { - font-size: 13px; - line-height: 20px; -} -.t075__textclass3 .t075__title { - font-size: 30px; - line-height: 40px; - margin-bottom: 25px; - margin-top: 12px; -} -.t075__textclass3 { - font-size: 16px; - line-height: 25px; -} -@media screen and (max-width: 960px) { - .t075__textclass1, - .t075__textclass2, - .t075__textclass3 { - margin-bottom: 45px; - } -} -.t004 { - padding-top: 8px; - padding-bottom: 6px; -} -.t004__text-column-count_2 { - column-count: 2; - column-gap: 40px; - -moz-column-count: 2; - -moz-column-gap: 40px; - -webkit-column-count: 2; - -webkit-column-gap: 40px; -} -.t004__text-column-count_3 { - column-count: 3; - column-gap: 40px; - -moz-column-count: 3; - -moz-column-gap: 40px; - -webkit-column-count: 3; - -webkit-column-gap: 40px; -} -.t004__text-column-count_4 { - column-count: 4; - column-gap: 40px; - -moz-column-count: 4; - -moz-column-gap: 40px; - -webkit-column-count: 4; - -webkit-column-gap: 40px; -} -.t004__initial-letter:first-child::first-letter { - font-size: 100px; - float: left; - margin: -30px 20px -30px 0; -} -.t004 table { - border-collapse: collapse; - font-size: 1em; - width: 100%; -} -.t004 table td, -.t004 table th { - padding: 5px; - border: 1px solid #ddd; - vertical-align: top; -} -.t004 table thead td, -.t004 table th { - font-weight: bold; - border-bottom-color: #888; -} -@media screen and (max-width: 1200px) { - .t004__text-column-count_2, - .t004__text-column-count_3, - .t004__text-column-count_4 { - column-gap: 20px; - -moz-column-gap: 20px; - -webkit-column-gap: 20px; - } -} -@media screen and (max-width: 960px) { - .t004__text-column-count_2, - .t004__text-column-count_3, - .t004__text-column-count_4 { - column-count: 1; - column-gap: 0px; - -moz-column-count: 1; - -moz-column-gap: 0px; - -webkit-column-count: 1; - -webkit-column-gap: 0px; - } -} -@media screen and (max-width: 640px) { - .t004 h1 { - font-size: 28px; - line-height: 35px; - } -} -.t113 { - width: 100%; - height: 50px; - position: absolute; - z-index: 990; -} -.t113__space { - width: 100%; - height: 50px; - position: relative; -} -.t113__fixed { - position: fixed; - top: 0; -} -.t113__logo { - font-size: 20px; - margin-top: 13px; - margin-left: 20px; - padding-right: 50px; - float: left; -} -.t113__img { - margin-left: 20px; - padding-right: 50px; - float: left; -} -.t113__list { - list-style-type: none; - padding-left: 10px !important; - padding-top: 16px; - padding-right: 10px; - padding-bottom: 0px; - margin: 0px; -} -.t113__list_item { - clear: both; - font-family: 'Open Sans', sans-serif; - font-size: 14px; - display: inline; - padding-left: 15px; - padding-right: 15px; - margin: 0px; - color: #000000; -} -.t113 a { - text-decoration: none; - color: #ff8562; -} -.t113__list_item .t-active { - opacity: 0.7; -} -@media screen and (max-width: 640px) { - .t113__list_item { - display: block; - text-align: center; - padding: 10px; - } - .t113__fixed { - position: relative; - } - .t113 { - position: relative; - height: auto; - text-align: center; - } - .t113__logo { - float: inherit; - text-align: center; - margin: 0px; - padding: 20px; - } - .t113__img { - float: inherit; - margin: 0px auto; - padding: 20px; - } -} -.t123__centeredContainer { - text-align: center; -} -.t135__img { - max-width: 100%; -} -@media screen and (max-width: 640px) { - .t135 { - position: relative !important; - text-align: center; - padding: 30px; - top: 0px !important; - right: 0px !important; - left: 0px !important; - z-index: 1 !important; - } -} -@media screen and (max-width: 640px) { - .t141 { - position: relative !important; - text-align: center; - padding: 20px; - top: 0px !important; - right: 0px !important; - } -} -.t145__title { - font-size: 30px; - line-height: 34px; - font-weight: bold; - padding-top: 8px; - padding-bottom: 6px; - margin-right: 20px; -} -.t145__line { - margin-top: 14px; - margin-bottom: 14px; - border: 0; - border-top: 3px solid #000000; - margin-right: 20px; -} -.t145__text { - padding-top: 4px; - padding-bottom: 6px; - font-size: 16px; - line-height: 25px; - margin-right: 20px; -} -@media screen and (max-width: 960px) { - .t145 .t145__col { - margin-top: 20px; - margin-bottom: 20px; - } -} -.t149 a { - text-decoration: none; - color: #ff8562; -} -.t149__title { - margin-top: 20px; - margin-bottom: 0px; -} -.t149__subtitle { - margin-top: 4px; - margin-bottom: 0px; - opacity: 0.5; -} -.t149__sp { - margin-bottom: 20px; -} -.t149__descr { - font-size: 16px; - line-height: 24px; - margin-top: 40px; -} -.t149__img { - width: 100%; -} -.t149__img.t149__circle { - width: 70%; - border-radius: 50%; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border: 1px solid rgba(0,0,0,0.07); -} -.t149__textwrapper { - display: table; - width: 100%; -} -.t149__floatbeaker_lr3 { - display: none; -} -@media screen and (max-width: 960px) { - .t149__col.t-col_4, - .t149__col.t-col_6 { - width: 100%; - max-width: 580px; - display: table; - vertical-align: middle; - margin: 0 auto 50px; - float: none; - } - .t149__col.t-col_4:last-child, - .t149__col.t-col_6:last-child { - margin-bottom: 0 !important; - } - .t149__col.t-col_4 .t149__img, - .t149__col.t-col_6 .t149__img { - display: table-cell; - width: 100%; - vertical-align: middle; - } - .t149__col.t-col_4 .t149__img.t149__circle, - .t149__col.t-col_6 .t149__img.t149__circle { - width: 100%; - } - .t149__col.t-col_4 .t149__textwrapper, - .t149__col.t-col_6 .t149__textwrapper { - display: table-cell; - width: 50%; - vertical-align: middle; - padding-left: 30px; - } - .t149__col.t-col_3 { - max-width: 320px; - display: inline; - float: left; - margin-bottom: 60px; - } - .t149__floatbeaker_lr3 { - display: block; - width: 100%; - content: " "; - clear: both; - } - .t149__col.t-col_3 .t149__title { - font-size: 16px; - line-height: 24px; - } - .t149__col.t-col_3 .t149__subtitle { - font-size: 14px; - line-height: 24px; - } -} -@media screen and (max-width: 660px) { - .t149__col.t-col_3, - .t149__col.t-col_4, - .t149__col.t-col_6 { - max-width: 480px; - display: table; - vertical-align: middle; - margin: 0 auto; - margin-bottom: 40px; - float: none; - } - .t149__img { - display: table-cell; - width: 100%; - vertical-align: middle; - } - .t149__img.t149__circle { - width: 100%; - } - .t149__textwrapper { - display: table-cell; - width: 50%; - vertical-align: middle; - } - .t149__col.t-col_3 .t149__textwrapper { - padding-left: 30px; - } -} -@media screen and (max-width: 480px) { - .t149__col.t-col_3, - .t149__col.t-col_4, - .t149__col.t-col_6 { - max-width: 320px; - width: 100%; - display: block; - float: none; - } - .t149__img { - display: block; - } - .t149__img.t149__circle { - max-width: 70%; - margin: 0 auto; - } - .t149__col.t-col_3 .t149__textwrapper, - .t149__col.t-col_4 .t149__textwrapper, - .t149__col.t-col_6 .t149__textwrapper, - .t149__textwrapper { - display: block; - width: 100%; - margin-bottom: 30px; - padding-left: 0; - } -} -.t160 { - text-align: center; - padding-bottom: 20px; -} -.t160__img { - border-radius: 50%; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - width: 150px; - max-width: 150px; - height: 150px; - padding-top: 17px; - padding-bottom: 14px; -} -.t160__title { - text-align: center; - padding-top: 8px; - padding-bottom: 5px; -} -.t160__descr { - text-align: center; - padding-top: 0px; - padding-bottom: 6px; - letter-spacing: 2px; -} -.t160__text { - padding-top: 30px; - padding-bottom: 30px; - font-size: 22px; - line-height: 1.55; -} -@media screen and (max-width: 960px) { - .t160__wrapper { - padding: 0 20px; - } -} -@media screen and (max-width: 640px) { - .t160__text { - font-size: 18px; - line-height: 1.45; - } -} -@media screen and (max-width: 480px) { - .t160__text { - font-size: 16px; - padding-left: 10px; - padding-right: 10px; - } -} -.t161 .t-col_2 { - max-width: 100px; -} -.t161 .t-col_6, -.t161 .t-col_8, -.t161 .t-col_10 { - width: auto; -} -.t161__img { - width: 80px; - height: 80px; - border-radius: 50%; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - margin-top: 9px; -} -.t161 .t161__wrapper { - display: table; - height: 80px; -} -.t161__textwrapper { - display: table-cell; - vertical-align: middle; -} -.t161__descr { - padding-bottom: 20px; -} -.t161__text { - padding-bottom: 22px; -} -@media screen and (max-width: 960px) { - .t161 .t-col_6 { - max-width: 62%; - } - .t161 .t161__blockimgthumb { - width: 100%; - max-width: 100%; - text-align: center; - padding-bottom: 20px; - } - .t161 .t161__wrapper { - margin: 0 20px; - } -} -.t162 h2 { - padding-top: 4px; - padding-bottom: 14px; - font-family: 'Open Sans', sans-serif; - font-size: 22px; - color: #000000; - font-weight: 600; - line-height: 34px; - cursor: pointer; -} -.t162__subtitle { - font-style: italic; - font-family: 'Georgia', serif; - font-size: 14px; - color: #000000; - line-height: 28px; - font-weight: normal; - margin-top: -12px; - padding-bottom: 12px; - cursor: pointer; -} -.t162__text { - font-family: 'Georgia', serif; - color: #000000; - font-size: 18px; - line-height: 1.55; - padding-bottom: 56px; - padding-top: 28px; -} -.t165 .t-container { - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.t165__vmiddle { - margin-top: auto; - margin-bottom: auto; -} -.t165__vtop { - margin-bottom: auto; -} -.t165__vbottom { - margin-top: auto; -} -.t165__left { - text-align: left; -} -.t165__center { - text-align: center; -} -.t165__right { - text-align: right; -} -.t165__textwrapper { - padding-right: 20px; -} -.t165__uptitle { - padding: 0px; - margin: 0px; - margin-bottom: 14px; -} -.t165__title { - padding: 0px; - margin: 0px; - padding-bottom: 28px; -} -.t165__text { - filter: alpha(opacity=85); - KHTMLOpacity: 0.85; - MozOpacity: 0.85; - opacity: 0.85; -} -.t165__img { - float: right; - width: 100%; -} -.t165__img_circle { - border-radius: 50%; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; -} -@media screen and (max-width: 640px) { - .t165 .t-container { - display: -webkit-block; - display: block; - } - .t165__img { - float: none; - } - .t165__col-top { - margin-bottom: 30px; - } -} -.t166 .t-container { - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.t166__textsmall { - padding-top: 11px; - padding-bottom: 7px; -} -.t166__text { - padding-top: 8px; - padding-bottom: 6px; -} -@media screen and (max-width: 960px) { - .t166 .t-container { - display: -webkit-block; - display: block; - } -} -.t169__text { - font-size: 60px; - line-height: 90px; - margin: 0px 100px; -} -@media screen and (max-width: 640px) { - .t169__text { - font-size: 28px; - line-height: 36px; - margin: 0px 20px; - } -} -.t173__ul { - text-align: center; - list-style-type: none; - padding-left: 10px !important; - padding-top: 16px; - padding-right: 10px; - padding-bottom: 0px; - margin: 0px; -} -.t173__li { - clear: both; - font-family: 'Open Sans', sans-serif; - color: #000000; - font-size: 14px; - display: inline; - padding-left: 15px; - padding-right: 15px; - margin: 0px; - font-weight: 600; -} -.t173 a { - text-decoration: none; -} -.t173__copyright { - text-align: center; - font-family: 'Open Sans', sans-serif; - font-size: 14px; - color: #000000; - filter: alpha(opacity=70); - KHTMLOpacity: 0.70; - MozOpacity: 0.70; - opacity: 0.70; - padding-top: 40px; - padding-bottom: 10px; -} -@media screen and (max-width: 640px) { - .t173 li { - display: block; - margin: 20px auto; - } -} -.t142__submit-overflowed { - line-height: 1.1 !important; -} -.t142__text { - display: table-cell; - vertical-align: middle; - height: 50px; -} -.t142__wrapone { - position: relative; - right: 50%; - float: right; -} -.t142__wraptwo { - position: relative; - z-index: 1; - right: -50%; -} -.t142__submit { - font-family: 'Open Sans', sans-serif; - text-align: center; - height: 50px; - line-height: 50px; - border: 0 none; - font-size: 16px; - padding-left: 60px; - padding-right: 60px; - -webkit-appearance: none; - font-weight: bold; - background: none; - cursor: pointer; -} -.t142__submit_size_sm { - height: 40px; - line-height: 40px; - font-size: 14px; - padding-left: 30px; - padding-right: 30px; -} -.t142__submit_size_lg { - height: 60px; - line-height: 60px; - font-size: 22px; - padding-left: 70px; - padding-right: 70px; -} -.t142__submit_size_xl { - height: 80px; - line-height: 80px; - font-size: 26px; - padding-left: 80px; - padding-right: 80px; -} -.t142__submit_size_xxl { - height: 100px; - line-height: 100px; - font-size: 30px; - padding-left: 90px; - padding-right: 90px; -} -@media screen and (max-width: 640px) { - .t142__submit { - white-space: normal; - padding-left: 30px; - padding-right: 30px; - margin-left: 20px; - margin-right: 20px; - -webkit-border-radius: 0px; - } - .t142__submit_size_lg, - .t142__submit_size_xl, - .t142__submit_size_xxl { - height: 60px; - line-height: 60px; - font-size: 18px; - padding-left: 40px; - padding-right: 40px; - } - .t142__submit_size_lg .t142__text, - .t142__submit_size_xl .t142__text, - .t142__submit_size_xxl .t142__text { - height: 60px; - } -} -.t181 { - text-align: left; -} -.t181__wrapper { - padding-top: 42px; - padding-bottom: 42px; -} -.t181__title { - color: #fff; - padding: 24px 0px 38px 0px; - letter-spacing: 1px; -} -.t181__descr { - color: #fff; - padding: 0px 0px 30px 0px; -} -.t181 .t-btn:nth-child(2) { - margin-left: 10px; -} -@media screen and (max-width: 640px) { - .t181 .t-btn:nth-child(2) { - margin-left: 0px; - } - .t181 .t-btn { - margin: 5px; - margin-left: 0px; - } -} -.t182 { - text-align: center; -} -.t182__wrapper { - padding-top: 42px; - padding-bottom: 42px; -} -.t182__title { - color: #fff; - padding: 24px 0px 24px 0px; - letter-spacing: 1px; -} -.t182__descr { - color: #fff; - padding: 15px 0px 30px 0px; -} -.t182__buttons { - margin-top: 45px; -} -.t182 .t-btn:nth-child(2) { - margin-left: 10px; -} -@media screen and (max-width: 640px) { - .t182__title { - font-size: 30px; - line-height: 30px; - padding-left: 10px; - padding-right: 10px; - } - .t182__descr { - padding-left: 10px; - padding-right: 10px; - font-size: 14px; - line-height: 20px; - } - .t182 .t-btn { - margin: 7px 3px; - } -} -.t183__wrapper { - padding-top: 42px; - padding-bottom: 42px; -} -.t183__uptitle { - text-transform: uppercase; - color: #ffffff; - padding-bottom: 20px; - padding-top: 10px; -} -.t183__title { - color: #fff; - padding: 24px 0px 24px 0px; - letter-spacing: 1px; -} -.t183__buttons { - margin-top: 45px; -} -.t183 .t-btn:nth-child(2) { - margin-left: 10px; -} -@media screen and (max-width: 640px) { - .t183__title { - padding-left: 10px; - padding-right: 10px; - } - .t183__uptitle { - padding-left: 10px; - padding-right: 10px; - } - .t183 .t-btn:nth-child(2) { - margin-left: 5px; - } - .t183 .t-btn { - margin: 5px; - } -} -.t186A__wrapper { - display: table; -} -.t186A__blockinput { - display: table-cell; - vertical-align: middle; - height: 100%; - width: 50%; - padding-right: 20px; -} -.t186A__blockbutton { - display: table-cell; - vertical-align: middle; - height: 100%; -} -@media screen and (max-width: 640px) { - .t186A__wrapper { - display: block; - } - .t186A__blockinput { - display: block; - width: 100%; - padding-bottom: 10px; - } - .t186A__blockbutton { - display: block; - width: 100%; - padding-bottom: 20px; - } - .t186A__submit { - width: 100%; - } -} -.t186A__blockinput-errors { - background: #ff6666 none repeat scroll 0px 0px; -} -.js-error-control-box .t186A__input { - font-family: 'Georgia', serif; - border: 1px solid #FF0000 !important; -} -.t186A__blockinput-errors-text { - color: #ffff77; - font-family: 'Georgia', serif; - box-sizing: border-box; - padding: 0px 10px 10px 10px; -} -.t186A__blockinput-errors-item { - font-family: 'Georgia', serif; - padding-top: 10px; - display: none; -} -.t186A__blockinput-errorbox { - font-family: 'Georgia', serif; - background: #ff6666 none repeat scroll 0px 0px; - color: #ffff77; - padding: 10px; - text-align: center; - margin-bottom: 20px; -} -.t186A__blockinput-success { - text-align: center; - background: #FFF; - color: #222; - padding: 20px; - font-family: 'Georgia', serif; - border: 2px solid #22DD22; - margin-bottom: 20px; -} -.t188__wrapone { - position: relative; - right: 50%; - float: right; -} -.t188__wraptwo { - position: relative; - z-index: 1; - right: -50%; -} -.t188__sociallinkimg { - display: inline-block; - padding-left: 5px; - padding-right: 5px; -} -.t188__imgwrapper { - background-size: contain; - background-repeat: no-repeat; - background-position: center; -} -.t203__wrapper { - display: table; - padding-top: 60px; - padding-bottom: 60px; - margin-left: -60px; - margin-right: -60px; -} -.t203__textwrapper { - display: block; - text-align: left; - background-color: #fff; - padding-left: 60px; - padding-right: 60px; - padding-top: 60px; - padding-bottom: 60px; -} -.t203__title { - padding-top: 20px; - padding-bottom: 20px; -} -.t203__text { - padding-bottom: 20px; - padding-top: 20px; -} -@media screen and (max-width: 720px) { - .t203__wrapper { - padding-top: 0px; - padding-bottom: 0px; - margin-left: 0px; - margin-right: 0px; - } - .t203__textwrapper { - margin: 20px 0px; - padding: 20px; - } -} -.t204__burger { - position: fixed; - z-index: 5000000; - width: 60px; - height: 60px; - top: 30px; - right: 30px; - background-color: #000; - cursor: pointer; -} -.t204__burger-icon { - position: relative; - display: inline-block; - margin: 28px 12px; - width: 36px; - height: 3px; - background: #fff; - vertical-align: middle; -} -.t204__burger-icon:before, -.t204__burger-icon:after { - position: absolute; - left: 0; - width: 100%; - height: 3px; - background: #fff; - content: ''; -} -.t204__burger-icon:before { - top: -9px; -} -.t204__burger-icon:after { - bottom: -9px; -} -.t204__menu { - box-sizing: border-box; - background-color: #000; - color: #fff; - position: fixed; - z-index: 5000002; - width: 380px; - height: 100vh; - top: 0px; - right: 0px; - overflow-y: auto; - overflow-x: hidden; - visibility: hidden; -} -.t204__closelayer { - background-color: #000; - position: fixed; - top: 0px; - left: 0px; - z-index: 5000001; - width: 100%; - height: 100vh; - filter: alpha(opacity=50); - KHTMLOpacity: 0.50; - MozOpacity: 0.50; - opacity: 0.50; - visibility: hidden; -} -.t204__item { - display: table; - margin: 40px auto; - width: 300px; -} -.t204__item:hover .t204__item_img { - opacity: 0.7; -} -.t204__item:hover .t204__item_text a { - color: #ff8562 !important; -} -.t204__item_img { - display: table-cell; - width: 85px; - height: 85px; - padding-right: 20px; -} -.t204__item_img a { - border: solid #222 1px; - margin: 0; - display: block; - width: 85px; - height: 85px; - background-size: cover; -} -.t204__item_text { - display: table-cell; - width: 100%; - vertical-align: middle; - color: #fff; - font-size: 18px; -} -.t204__item_text a { - color: #fff !important; -} -@media screen and (max-width: 640px) { - .t204__burger { - position: static; - text-align: right; - top: 0; - right: 0; - width: 100%; - } - .t204__menu { - width: 100%; - height: auto; - position: absolute; - top: 60px; - } -} -.t216__wrapper { - padding-top: 42px; - padding-bottom: 42px; -} -.t216__blocklogo { - padding-bottom: 30px; - padding-top: 30px; -} -.t216__logo { - width: auto; - max-width: 100%; - vertical-align: middle; -} -.t216__title { - color: #fff; - padding: 24px 0px 38px 0px; - letter-spacing: 0.5px; -} -.t216__descr { - color: #fff; - padding: 0px 0px 30px 0px; -} -.t216__descr_center { - max-width: 700px; - margin: 0 auto; -} -.t216__descr_center a { - color: #fff !important; - font-weight: 600; -} -@media screen and (max-width: 640px) { - .t216__title { - padding-left: 10px; - padding-right: 10px; - } - .t216__descr { - padding-left: 10px; - padding-right: 10px; - font-size: 14px; - line-height: 20px; - } -} -.t219 { - text-align: center; - padding: 0 2px; -} -.t219__butwrapper { - margin: 0 auto; -} -.t219__blocktitle { - padding-bottom: 50px; -} -@media screen and (max-width: 640px) { - .t219 { - padding: 0 20px; - } -} -.t269__mainblock { - margin: 0 auto; -} -.t269__uptitle { - color: #fff; - position: absolute; - top: 80px; - left: 0; - right: 0; -} -.t269__title { - color: #fff; - margin-bottom: 24px; - padding-top: 20px; -} -.t269__descr { - color: #fff; - margin-bottom: 44px; -} -.t269__input-container { - max-width: 600px; - margin: 0 auto; -} -.t269__blockinput { - display: table-cell; - vertical-align: middle; - height: 100%; - width: 100%; - padding-right: 20px; -} -.t269__input { - height: 56px; - outline: none; -} -.t269__submit { - height: 56px; - padding-left: 40px; - padding-right: 40px; -} -.t269__blockinput input { - background-color: transparent; - -webkit-appearance: none; - border-radius: 0; -} -.t269__wrapper { - display: table; - -webkit-transition: all ease-in-out 0.2s; - -moz-transition: all ease-in-out 0.2s; - -o-transition: all ease-in-out 0.2s; - transition: all ease-in-out 0.2s; -} -.t269__blockinput.js-error-control-box .t269__input { - border: 1px solid #FF0000 !important; -} -.t269__blockinput-errors-text { - color: #ffff77; - box-sizing: border-box; - padding: 0px 10px 10px 10px; - font-family: 'Georgia', serif; -} -.t269__blockinput-errors-item { - padding-top: 10px; - display: none; - font-family: 'Georgia', serif; -} -.t269__blockinput-errorbox { - background: #ff6666 none repeat scroll 0px 0px; - color: #ffff77; - padding: 1px 10px; - text-align: center; - margin-bottom: 20px; - font-family: 'Georgia', serif; - margin-top: 20px; -} -.t269__hint { - color: #fff; - margin-top: 20px; - max-width: 600px; - margin: 20px auto 0; -} -.t269__blockinput-success { - text-align: center; - color: #fff; - padding: 20px; - font-family: 'Georgia', serif; -} -.t269__success-message { - color: #fff; -} -.t269 .js-send-form-success .t269__wrapper { - display: none; -} -@media screen and (max-width: 680px) { - .t269__blockinput { - display: block; - padding-right: 0; - width: 100%; - } - .t269__descr { - margin-bottom: 32px; - } - .t269__uptitle { - top: 40px; - font-size: 16px !important; - } - .t269__mainwrapper { - padding: 0 20px; - } - .t269__input-container { - max-width: 320px; - } - .t269__input { - width: 100%; - margin-bottom: 18px; - height: 42px; - font-size: 14px; - padding-left: 14px; - } - .t269__submit { - width: 100%; - height: 42px; - font-size: 14px; - } - .t269__wrapper { - display: block; - } -} -.t338__logo { - margin-bottom: 55px; - max-width: 280px; - width: 100%; -} -.t338__title { - color: #fff; - margin-bottom: 50px; -} -.t338__descr { - color: #fff; - margin-bottom: 63px; -} -.t338__btn { - border-radius: 100px; - font-size: 14px; - height: 50px; - padding-right: 34px; - padding-left: 34px; - color: #fff; -} -.t389__maincontainer { - width: 100%; - height: 80px; - display: table; -} -.t389__content { - padding: 2px 40px 0; - display: table-cell; - vertical-align: middle; -} -.t389__col { - display: table-cell; - vertical-align: middle; -} -.t389__col_center { - width: 100%; - padding: 0 16px; -} -.t389__list { - list-style-type: none; - padding-left: 0 !important; - margin-bottom: 0 !important; -} -.t389__list_item { - display: inline-block; - margin: 0 15px; -} -.t389__copyright, -.t389__scroll { - width: 250px; -} -.t389__typo { - font-size: 14px; - color: #222; -} -.t389__col_mobile { - display: none; -} -.t389_scrolltop { - position: relative; - padding-right: 12px; -} -.t389__icon { - position: absolute; - right: 0; - top: 2px; -} -@media screen and (max-width: 1200px) { - .t389__content { - padding: 2px 20px 0; - } - .t389__col, - .t389__copyright, - .t389__scroll { - width: 230px; - } - .t389__col_center { - width: 100%; - } -} -@media screen and (max-width: 960px) { - .t389__col, - .t389__copyright, - .t389__scroll { - width: 100%; - display: block; - text-align: center; - } - .t389__maincontainer { - display: block; - } - .t389__content { - display: block; - } - .t389__col_mobile { - display: block; - } - .t389__col_hiddenmobile { - display: none; - } - .t389__maincontainer { - height: auto !important; - padding: 40px 0; - } - .t389__col { - margin-bottom: 20px; - padding: 0; - } - .t389__list_item { - margin: 0 10px 4px; - } - .t389__col:last-child { - margin-bottom: 0; - } -} -@media screen and (max-width: 670px) { - .t389__typo { - font-size: 12px; - } -} -.t396__iframe { - z-index: 10000; - background-color: #fff; - width: 100vw; - height: 100vh; - position: fixed; - top: 0px; - left: 0px; - border: 0px; -} -.t396__body_overflow_hidden { - overflow: hidden; -} -.t396__display_none { - display: none; -} -.t396__artboard { - position: relative; - width: 100%; - height: 100vh; - overflow: hidden; -} -.t396__carrier { - position: absolute; - left: 0px; - top: 0px; - z-index: 0; - width: 100%; - height: 100vh; -} -.t396__filter { - position: absolute; - left: 0px; - top: 0px; - z-index: 0; - width: 100%; - height: 100vh; -} -.t396__elem { - position: absolute; - box-sizing: border-box; - display: table; -} -.t396 .tn-atom { - display: table-cell; - vertical-align: middle; - width: 100%; -} -.t396 a.tn-atom { - text-decoration: none; -} -.t396 .tn-atom__img { - width: 100%; - display: block; -} -.t396__ui { - position: absolute; - top: 16px; - left: 196px; - background-color: #fa876b; - color: #000 !important; - height: 30px; - line-height: 30px; - width: 100px; - z-index: 1000; - text-align: center; - border-radius: 3px; - display: none; - font-size: 14px; -} -.t411__mainblock { - margin: 0 auto; - padding: 0 20px; - box-sizing: border-box; - position: relative; - z-index: 2; -} -.t411__content { - padding: 30px 0; -} -.t411__hide { - display: none !important; -} -.t411__col { - display: inline-block; - padding-right: 32px; - margin-right: 30px; - position: relative; -} -.t411__col:after { - content: ' '; - position: absolute; - top: 0; - right: 0; - bottom: 0; - opacity: .2; - background: #fff; - width: 1px; -} -.t411__col:last-child:after { - display: none; -} -.t411__col:last-child { - margin-right: 0; - padding-right: 0; -} -.t411__number { - color: #fff; -} -.t411__text { - color: #fff; - padding-bottom: 7px; -} -.t411__logo { - margin-bottom: 45px; - max-width: 280px; - width: 100%; -} -.t411__textwrapper { - margin: 0 auto 55px; -} -.t411__uptitle, -.t411__title, -.t411__descr, -.t411__descr-second { - color: #fff; -} -.t411__uptitle { - margin-bottom: 18px; -} -.t411__descr { - margin-top: 18px; -} -.t411__hint { - color: #fff; - margin-top: 45px; -} -.t411__descr-second { - margin: 0 auto 25px; -} -.t411__formwrapper { - max-width: 600px; - margin: 50px auto 0; -} -.t411__blockinput { - display: table-cell; - vertical-align: middle; - height: 100%; - width: 100%; - padding-right: 20px; -} -.t411__input { - height: 56px; - outline: none; -} -.t411__submit { - height: 56px; - padding-left: 40px; - padding-right: 40px; -} -.t411__blockinput input { - -webkit-appearance: none; - border-radius: 0; -} -.t411__wrapper { - display: table; - -webkit-transition: all ease-in-out 0.2s; - -moz-transition: all ease-in-out 0.2s; - -o-transition: all ease-in-out 0.2s; - transition: all ease-in-out 0.2s; -} -.t411__blockinput.js-error-control-box .t411__input { - border: 1px solid #FF0000 !important; -} -.t411__blockinput-errors-text { - color: #ffff77; - box-sizing: border-box; - padding: 0px 10px 10px 10px; - font-family: 'Georgia', serif; -} -.t411__blockinput-errors-item { - padding-top: 10px; - display: none; - font-family: 'Georgia', serif; -} -.t411__blockinput-errorbox { - background: #ff6666 none repeat scroll 0px 0px; - color: #ffff77; - padding: 1px 10px; - text-align: center; - margin-bottom: 20px; - font-family: 'Georgia', serif; - margin-top: 20px; -} -.t411__blockinput-success { - text-align: center; - color: #fff; - padding: 20px; - font-family: 'Georgia', serif; -} -.t411__success-message { - color: #fff; -} -.t411 .js-send-form-success .t411__wrapper { - display: none; -} -@media screen and (max-width: 640px) { - .t411__blockinput { - display: block; - padding-right: 0; - width: 100%; - } - .t411__input-container { - max-width: 320px; - margin: 0 auto; - } - .t411__input { - width: 100%; - margin-bottom: 18px; - height: 42px; - font-size: 14px; - padding-left: 14px; - } - .t411__submit { - width: 100%; - height: 42px; - font-size: 14px; - } - .t411__wrapper { - display: block; - } - .t411__col { - padding-right: 20px; - margin-right: 13px; - } - .t411__logo { - margin-bottom: 25px; - } - .t411__textwrapper { - margin-bottom: 35px; - } - .t411__formwrapper { - margin-top: 35px; - } - .t411__hint { - margin-top: 35px; - } -} -@media screen and (max-width: 400px) { - .t411__number { - font-size: 24px; - } -} -.t454__imglogo { - height: auto; - display: block; -} -.t454__linewrapper { - position: absolute; - bottom: 0; - width: 100%; -} -.t454__horizontalline { - margin: 0; - border: 0; - background-color: #C2C2C2; - height: 1px; - right: 0; - bottom: 0; - margin: 0 40px 0 40px; -} -.t454__leftmenuwrapper, -.t454__rightmenuwrapper { - display: inline-table; - height: 100%; - vertical-align: middle; -} -.t454__leftmenuwrapper .t454__list, -.t454__rightmenuwrapper .t454__list { - display: table-cell; - vertical-align: middle; -} -.t454__logowrapper { - position: absolute; - left: 50%; - display: table; - height: inherit; -} -.t454__logowrapper2 { - display: table-cell; - vertical-align: middle; - position: relative; - left: -50%; - z-index: 100; -} -.t454__imglogo { - max-width: 300px; -} -.t454__leftwrapper, -.t454__rightwrapper { - width: 50%; - box-sizing: border-box; - position: absolute; - height: 100%; -} -.t454__leftwrapper { - text-align: right; - padding-right: 200px; - padding-left: 40px; - left: 0; -} -.t454__rightwrapper { - text-align: left; - padding-left: 200px; - padding-right: 40px; - right: 0; -} -@media screen and (max-width: 1200px) { - .t454__leftwrapper { - padding-left: 20px; - } - .t454__rightwrapper { - padding-right: 20px; - } -} -.t454 { - width: 100%; - height: 80px; - z-index: 990; - position: fixed; - top: 0; - box-shadow: 0px 1px 3px rgba(0,0,0,0); - -webkit-transition: background-color 300ms linear; - -moz-transition: background-color 300ms linear; - -o-transition: background-color 300ms linear; - -ms-transition: background-color 300ms linear; - transition: background-color 300ms linear; -} -.t454__beforeready { - visibility: hidden; -} -.t454 ul { - margin: 0px; -} -.t454__maincontainer { - width: 100%; - height: 80px; - display: table; - position: relative; -} -.t454__maincontainer.t454__c12collumns { - max-width: 1200px; - margin: 0 auto; -} -.t454__logo { - display: inline-block; - font-size: 24px; - font-weight: 400; - white-space: nowrap; -} -.t454__list { - list-style-type: none; - margin: 0px; - padding: 0 !important; -} -.t454__list_item { - clear: both; - font-family: 'Open Sans', sans-serif; - font-size: 16px; - display: inline; - padding-left: 15px; - padding-right: 15px; - margin: 0px; - color: #000000; - white-space: nowrap; -} -.t454__list_item .t-active { - opacity: 0.7; -} -.t454__list_item:first-child { - padding-left: 0; -} -.t454__list_item:last-child { - padding-right: 0; -} -.t454 a, -#allrecords .t454 a { - text-decoration: none; - color: #000000; -} -.t454.t454__positionabsolute { - position: absolute; -} -.t454.t454__positionfixed { - position: fixed; -} -.t454.t454__positionstatic { - position: static; -} -.t454__mobile { - display: none; -} -@media screen and (max-width: 980px) { - .t454.t454__hidden { - display: none; - height: 100%; - } - .t454__mobile { - background-color: #111; - display: block; - } - .t454__mobile_text { - color: #fff; - } - .t454__mobile_container { - padding: 20px; - position: relative; - } - .t454__burger { - position: absolute; - top: 50%; - margin-top: -10px; - right: 20px; - width: 28px; - height: 20px; - -webkit-transform: rotate(0deg); - -moz-transform: rotate(0deg); - -o-transform: rotate(0deg); - transform: rotate(0deg); - -webkit-transition: .5s ease-in-out; - -moz-transition: .5s ease-in-out; - -o-transition: .5s ease-in-out; - transition: .5s ease-in-out; - cursor: pointer; - z-index: 9999; - } - .t454__burger span { - display: block; - position: absolute; - width: 100%; - opacity: 1; - left: 0; - -webkit-transform: rotate(0deg); - -moz-transform: rotate(0deg); - -o-transform: rotate(0deg); - transform: rotate(0deg); - -webkit-transition: .25s ease-in-out; - -moz-transition: .25s ease-in-out; - -o-transition: .25s ease-in-out; - transition: .25s ease-in-out; - height: 3px; - background-color: #fff; - } - .t454__burger span:nth-child(1) { - top: 0px; - } - .t454__burger span:nth-child(2), - .t454__burger span:nth-child(3) { - top: 8px; - } - .t454__burger span:nth-child(4) { - top: 16px; - } - .t454_opened .t454__burger span:nth-child(1) { - top: 8px; - width: 0%; - left: 50%; - } - .t454_opened .t454__burger span:nth-child(2) { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); - } - .t454_opened .t454__burger span:nth-child(3) { - -webkit-transform: rotate(-45deg); - -moz-transform: rotate(-45deg); - -o-transform: rotate(-45deg); - transform: rotate(-45deg); - } - .t454_opened .t454__burger span:nth-child(4) { - top: 8px; - width: 0%; - left: 50%; - } - .t454__linewrapper { - display: none; - } - .t454 { - position: static; - text-align: center; - display: block; - margin: 0; - padding: 0; - height: auto !important; - } - .t454__maincontainer { - padding: 20px 0 40px 0; - } - .t454.t454__positionabsolute, - .t454.t454__positionfixed, - .t454.t454__positionstatic { - position: static; - } - .t454__imglogo { - width: auto !important; - box-sizing: border-box; - padding: 20px; - margin: 0 auto; - } - .t454__imglogomobile.t454__imglogo { - width: 100% !important; - } - .t454__rightcontainer { - display: table; - position: static; - float: none; - text-align: center; - margin: 0 auto; - } - .t454__logo { - text-align: center; - margin: 20px; - } - .t454 img { - float: inherit; - } - .t454 .t454__list_item { - display: block; - text-align: center; - padding: 10px !important; - white-space: normal; - } - .t454__logo { - white-space: normal; - padding: 0px; - } - .t454__logowrapper { - position: static; - display: table; - width: 100%; - padding: 20px; - box-sizing: border-box; - } - .t454__logowrapper2 { - display: block; - position: static; - } - .t454__leftwrapper, - .t454__rightwrapper, - .rightmenuwrapper { - position: static; - padding: 0 !important; - width: 100%; - } - .t454__rightmenuwrapper, - .t454__leftmenuwrapper, - .t454__leftmenuwrapper .t454__list, - .t454__rightmenuwrapper .t454__list { - display: block; - } -} diff --git a/css/tilda-custom.css b/css/tilda-custom.css deleted file mode 100644 index 5bea168b..00000000 --- a/css/tilda-custom.css +++ /dev/null @@ -1,89 +0,0 @@ -a, a:hover, a:visited { - text-decoration: underline !important; - color: white !important; -} - -a.external, a.external:hover, a.external:visited { - text-decoration: underline !important; - color: #1396e2 !important; -} - -a.t-btn { - color: black !important; -} - -.disclaimer { - font-size: 22px; -} -@media screen and (min-width: 640px) and (max-width: 1200px) { - - .disclaimer { - font-size: 18px; - } - - .t269__title { - margin-top: 40px; - } -} - -@media screen and (max-width: 980px){ - .t269__title { - font-size: 50px; - } - .t454__maincontainer { - padding: 0 !important; - } -} - -@media screen and (max-width: 639px) { - .t269__title { - font-size: 40px; - } - .disclaimer { - font-size: 14px; - } -} - -@media screen and (max-width: 400px) { - .t269__title { - font-size: 30px; - } - .t415__number { - font-size: 24px; - } -} - -@media screen and (max-width: 360px) { - .t269__mainwrapper { - padding: 0 10px; - } -} - -#ui-id-1 { - margin-top: 4px !important; -} - -.ui-autocomplete { - overflow: hidden; - border-radius: 4px; -} - -.ui-autocomplete li { - font-size: 16px; - white-space: nowrap; -} - -li.ui-menu-item.not-found { - opacity: 1 !important; - color: #aaa; - pointer-events: none; -} - -li.ui-menu-item.have-more { - opacity: 1 !important; - color: #aaa; - padding-top: 4px; - border-top: 1px dotted #aaa; - font-style: italic; - pointer-events: none; -} diff --git a/css/tilda-grid-3.0.min.css b/css/tilda-grid-3.0.min.css deleted file mode 100644 index 69ee01bd..00000000 --- a/css/tilda-grid-3.0.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-clear,.t-container:after,.t-container_100:after,.t-container_10:after,.t-container_8:after{clear:both}*,:after,:before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}a,b,blockquote,center,code,div,h1,h2,h3,h4,h5,h6,i,img,p,pre,span,table,td,th,tr,u,video{margin:0;padding:0;border:0}.t-row{margin:0}.t-container,.t-container_10,.t-container_8{margin-left:auto;margin-right:auto;padding:0;width:100%}.t-container{max-width:1200px}.t-container.flexx,.t-container_flex{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.t-container_100{width:100%;padding:0}.t-container_10{max-width:1000px}.t-container_8{max-width:800px}.t-container:after,.t-container:before,.t-container_100:after,.t-container_100:before,.t-container_10:after,.t-container_10:before,.t-container_8:after,.t-container_8:before{display:table;content:" "}.t-col{display:inline;float:left;margin-left:20px;margin-right:20px;width:100%}.t-col.flexx,.t-col_flex{align-items:stretch;height:inherit;margin-top:auto;margin-bottom:auto}.t-col_1{max-width:60px}.t-col_2{max-width:160px}.t-col_3{max-width:260px}.t-col_4{max-width:360px}.t-col_5{max-width:460px}.t-col_6{max-width:560px}.t-col_7{max-width:660px}.t-col_8{max-width:760px}.t-col_9{max-width:860px}.t-col_10{max-width:960px}.t-col_11{max-width:1060px}.t-col_12{max-width:1160px}.t-col_100{max-width:100vw}.t-prefix_1{padding-left:100px}.t-prefix_2{padding-left:200px}.t-prefix_3{padding-left:300px}.t-prefix_4{padding-left:400px}.t-prefix_5{padding-left:500px}.t-prefix_6{padding-left:600px}.t-prefix_7{padding-left:700px}.t-prefix_8{padding-left:800px}.t-prefix_9{padding-left:900px}.t-prefix_10{padding-left:1000px}.t-prefix_11{padding-left:1100px}.t-prefix_12{padding-left:1200px}.t-width{width:100%}.t-width_1{max-width:60px}.t-width_2{max-width:160px}.t-width_3{max-width:260px}.t-width_4{max-width:360px}.t-width_5{max-width:460px}.t-width_6{max-width:560px}.t-width_7{max-width:660px}.t-width_8{max-width:760px}.t-width_9{max-width:860px}.t-width_10{max-width:960px}.t-width_11{max-width:1060px}.t-width_12{max-width:1160px}.t-width_100{max-width:100%}.t-cell{display:table-cell;vertical-align:middle;height:100%;margin-left:0;margin-right:0}.t-cell_25{width:25vw}.t-cell_33{width:33.3333333vw}.t-cell_50{width:50vw}.t-cell_100{width:100vw}@media screen and (max-width:1200px){.t-container{max-width:960px;padding:0}.t-container_10{max-width:780px}.t-container_8{max-width:640px}.t-col{display:inline;float:left;margin-left:10px;margin-right:10px;width:100%}.t-col_1{max-width:60px}.t-col_2{max-width:140px}.t-col_3{max-width:220px}.t-col_4{max-width:300px}.t-col_5{max-width:380px}.t-col_6{max-width:460px}.t-col_7{max-width:540px}.t-col_8{max-width:620px}.t-col_9{max-width:700px}.t-col_10{max-width:780px}.t-col_11{max-width:860px}.t-col_12{max-width:940px}.t-prefix_1{padding-left:80px}.t-prefix_2{padding-left:160px}.t-prefix_3{padding-left:240px}.t-prefix_4{padding-left:320px}.t-prefix_5{padding-left:400px}.t-prefix_6{padding-left:480px}.t-prefix_7{padding-left:560px}.t-prefix_8{padding-left:640px}.t-prefix_9{padding-left:720px}.t-prefix_10{padding-left:800px}.t-prefix_11{padding-left:880px}.t-prefix_12{padding-left:960px}.t-width_1{max-width:60px}.t-width_2{max-width:140px}.t-width_3{max-width:220px}.t-width_4{max-width:300px}.t-width_5{max-width:380px}.t-width_6{max-width:460px}.t-width_7{max-width:540px}.t-width_8{max-width:620px}.t-width_9{max-width:700px}.t-width_10{max-width:780px}.t-width_11{max-width:860px}.t-width_12{max-width:940px}.t-width_100{max-width:100%}}@media screen and (max-width:960px){.t-col,.t-container.flexx,.t-container_flex{display:block}.t-container{max-width:640px}.t-col,.t-col_1,.t-col_10,.t-col_11,.t-col_12,.t-col_2,.t-col_3,.t-col_4,.t-col_5,.t-col_6,.t-col_7,.t-col_8,.t-col_9{width:100%;max-width:100%}.t-col{float:none;padding-left:20px;padding-right:20px;margin:0;box-sizing:border-box}.t-prefix_1,.t-prefix_10,.t-prefix_11,.t-prefix_12,.t-prefix_2,.t-prefix_3,.t-prefix_4,.t-prefix_5,.t-prefix_6,.t-prefix_7,.t-prefix_8,.t-prefix_9{padding-left:none}} \ No newline at end of file diff --git a/css/tilda-zoom-1.0.min.css b/css/tilda-zoom-1.0.min.css deleted file mode 100644 index 8eb03a3a..00000000 --- a/css/tilda-zoom-1.0.min.css +++ /dev/null @@ -1 +0,0 @@ -.t-zoomer__show_fixed{max-height:100%;max-width:100%;overflow:hidden}.t-zoomer__wrapper{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;opacity:0;-webkit-transition:all ease-in-out .2s;-moz-transition:all ease-in-out .2s;-o-transition:all ease-in-out .2s;transition:all ease-in-out .2s}.t-zoomer__show .t-zoomer__wrapper{z-index:9999999;opacity:1}.t-zoomer__container{text-align:center;position:absolute;top:0;right:0;left:0;bottom:0}.t-zoomer__bg{position:absolute;top:0;right:0;left:0;bottom:0;background:#fff;cursor:-webkit-zoom-out;cursor:zoom-out}.t-zoomer__comments{position:absolute;right:0;bottom:0;left:0;display:block;height:auto}.t-zoomer__descr{z-index:3;text-align:center;padding:14px 20px 0;background:transparent;max-width:700px;margin:0 auto}.t-zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.t-zoomer__show .t-zoomable,.t-zoomer__show .t-carousel__zoomer__inner{cursor:-webkit-zoom-out;cursor:zoom-out}.t-zoomer__container{z-index:99999999}.t-carousel__zoomed,.t-carousel__zoomer__slides,.t-carousel__zoomer__inner,.t-carousel__zoomer__item,.t-carousel__zoomer__wrapper{position:absolute;top:0;right:0;bottom:0;left:0}.t-carousel__zoomer__inner{top:15px;right:15px;bottom:15px;left:15px}.t-carousel__zoomer__img{position:absolute;top:0;bottom:0;left:0;right:0;max-width:100%;max-height:100%;margin:auto;overflow:auto}.t-carousel__zoomer__item{height:100%;display:none}.t-zoomer__close{position:fixed;right:10px;top:12px;width:29px;height:32px;cursor:pointer;-webkit-transition:opacity ease-in-out 0.3s;-moz-transition:opacity ease-in-out 0.3s;-o-transition:opacity ease-in-out 0.3s;transition:opacity ease-in-out 0.3s;z-index:999999999999}.t-zoomer__close:hover{opacity:.7}.t-zoomer__close-line{position:absolute;left:15px;height:26px;width:2px;background-color:#222}.t-zoomer__close-line-first{-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.t-zoomer__close-line-second{-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.t-carousel__zoomer__control{position:absolute;top:0;bottom:0;left:0;width:15%;-webkit-transition:opacity ease-in-out 0.3s;-moz-transition:opacity ease-in-out 0.3s;-o-transition:opacity ease-in-out 0.3s;transition:opacity ease-in-out 0.3s;cursor:pointer;z-index:99}.t-carousel__zoomer__control_right{left:auto;right:0}.t-carousel__zoomer__control:hover{opacity:.6}.t-carousel__zoomer__arrow{width:20px;height:20px;background:transparent;-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.t-carousel__zoomer__arrow__wrapper{-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);position:absolute;top:50%}.t-carousel__zoomer__arrow__wrapper_left{left:18px}.t-carousel__zoomer__arrow__wrapper_right{right:18px}.t-carousel__zoomer__arrow_right{border-top:2px solid;border-right:2px solid}.t-carousel__zoomer__arrow_left{border-left:2px solid;border-bottom:2px solid}@media screen and (max-width:768px){.t-carousel__zoomer__control .t-carousel__zoomer__arrow{width:12px;height:12px}.t-carousel__zoomer-control{width:10%}.t-carousel__zoomer__arrow__left{left:15px}.t-carousel__zoomer__arrow__right{right:15px}} \ No newline at end of file diff --git a/extensions/CryptoKitties/css/styles.css b/extensions/CryptoKitties/css/styles.css deleted file mode 100644 index 17a345f2..00000000 --- a/extensions/CryptoKitties/css/styles.css +++ /dev/null @@ -1,82 +0,0 @@ -.ck-kitty { - display:inline-block; - vertical-align:top; - height:200px; - width:200px; - border:1px solid white; - border-radius:6px; - color:white; - text-align:center; - margin-bottom:32px; -} - -.ck-kitty-dashed { - border-style: dashed; -} - -#ck-symbol { - display:inline-block; - vertical-align:top; - width:70px; - height:200px; - line-height:200px; - color:white; - font-size:64px; -} - -.ck-show-small { - display:none; -} - -#ck-full td, -#ck-address-block tr.last td { - text-align: center; -} - -#ck-full .ck-kitty, -#ck-address-block tr.last td .ck-kitty { - margin-left: 10px; - margin-right: 10px; -} - -#ck-address-block tr.last td .ck-link { - cursor: pointer; - text-decoration: none !important; - border-bottom: 1px dashed #47C2FF; -} - -#ck-full td, -#ck-address-block tr.last td { - padding-top:20px; -} - -#ck-loading { - color: white; -} - -.ck-full-close { - top: 24px; - position: absolute; - right: 32px; - font-size: 30px; - color: #444; - cursor: pointer; -} - -@media screen and (min-width: 992px) and (max-width: 1200px) { - .ck-has-kitties { - clear: left !important; - width: 100% !important; - } -} - -@media screen and (max-width: 550px) { - .ck-show-small { - display:inline; - } - - #ck-symbol { - height:72px; - line-height:64px; - } -} \ No newline at end of file diff --git a/extensions/CryptoKitties/css/tipr.css b/extensions/CryptoKitties/css/tipr.css deleted file mode 100644 index af1c968e..00000000 --- a/extensions/CryptoKitties/css/tipr.css +++ /dev/null @@ -1,86 +0,0 @@ -/* -Tipr 3.2 -Copyright (c) 2017 Tipue -Tipr is released under the MIT License -http://www.tipue.com/tipr -*/ - - -.tipr_content -{ - font: 300 11px/1.7 'Roboto Condensed', sans-serif; - color: #777; - text-transform: uppercase; - letter-spacing: 1px; - background-color: #f3f3f3; - padding: 7px 14px 6px 14px; -} -.tipr_container_below -{ - display: none; - position: absolute; - margin-top: 7px; - z-index: 1000; -} -.tipr_container_above -{ - display: none; - position: absolute; - margin-top: -67px; - z-index: 1000; -} -.tipr_point_above, .tipr_point_below -{ - position: relative; - background: #f3f3f3; - border: 1px solid #f3f3f3; - border-radius: 1px; -} -.tipr_point_above:after, .tipr_point_above:before -{ - position: absolute; - pointer-events: none; - border: solid transparent; - top: 100%; - content: ""; - height: 0; - width: 0; -} -.tipr_point_above:after -{ - border-top-color: #f3f3f3; - border-width: 8px; - left: 50%; - margin-left: -8px; -} -.tipr_point_above:before -{ - border-top-color: #f3f3f3; - border-width: 9px; - left: 50%; - margin-left: -9px; -} -.tipr_point_below:after, .tipr_point_below:before -{ - position: absolute; - pointer-events: none; - border: solid transparent; - bottom: 100%; - content: ""; - height: 0; - width: 0; -} -.tipr_point_below:after -{ - border-bottom-color: #f3f3f3; - border-width: 8px; - left: 50%; - margin-left: -8px; -} -.tipr_point_below:before -{ - border-bottom-color: #f3f3f3; - border-width: 9px; - left: 50%; - margin-left: -9px; -} \ No newline at end of file diff --git a/extensions/CryptoKitties/img/stroller.png b/extensions/CryptoKitties/img/stroller.png deleted file mode 100644 index ab44fc1e..00000000 Binary files a/extensions/CryptoKitties/img/stroller.png and /dev/null differ diff --git a/extensions/CryptoKitties/js/cryptokitties.js b/extensions/CryptoKitties/js/cryptokitties.js deleted file mode 100644 index 9dfa7576..00000000 --- a/extensions/CryptoKitties/js/cryptokitties.js +++ /dev/null @@ -1,191 +0,0 @@ -Ethplorer.Extensions.CryptoKitties = { - contract: '0x06012c8cf97bead5deae237070f9587f8e7a266d', - data: {}, - current: 0, - show: false, - init: function(){ - Ethplorer.Events.addHandler("ethp_showTxDetails_finish", Ethplorer.Extensions.CryptoKitties.onTxDetails); - Ethplorer.Events.addHandler("ethp_showAddressDetails_finish", Ethplorer.Extensions.CryptoKitties.onAddressDetails); - }, - gaSendEvent: function(action){ - if(Ethplorer.Config.ga && ('undefined' !== typeof(ga))){ - ga('send', 'event', 'CryptoKitties', action); - } - }, - onAddressDetails: function(addrData){ - if(!addrData.cryptokitties) return; - Ethplorer.Extensions.CryptoKitties.gaSendEvent('addressDetails'); - var limit = 2; - var address = addrData.address.toLowerCase(); - $('#address-token-balances').parent().append('
Loading CryptoKitties...
'); - $('#address-token-balances').parent().after('
') - $.getJSON('/extensions/CryptoKitties/service.php', {action:"getAddress", address:address}, function(data){ - $('#ck-loading').hide(); - $('#ck-address-block tr.last td').empty(); - if(data && data.total){ - Ethplorer.Extensions.CryptoKitties.data = data; - $('#address-token-balances').parent().append('

CryptoKitties

'); - for(var i=0; i< data.kitties.length; i++){ - if(i"); - Ethplorer.Extensions.CryptoKitties.showKittyData('ck-' + i, data.kitties[i], false); - } - $('#ck-full td').append("
"); - Ethplorer.Extensions.CryptoKitties.showKittyData('ck-' + i + '-f', data.kitties[i], false); - } - if(data.total > limit){ - $('#ck-address-block tr.last td').append(''); - $('.ck-link').click(function(){ - $('#ck-address-block').hide(); - $('#ck-full').show(); - }); - $('.ck-full-close').click(function(){ - $('#ck-address-block').show(); - $('#ck-full').hide(); - }); - if(data.total > 20){ - $('#ck-full table').after("
Last 20 of " + data.total + " kitties shown
"); - } - } - } - }); - }, - onTxDetails: function(txData){ - var oTx = txData.tx; - if(oTx.to && (Ethplorer.Extensions.CryptoKitties.contract === oTx.to) && oTx.method){ - Ethplorer.Extensions.CryptoKitties.gaSendEvent('txDetails'); - var p = oTx.method.replace('(', ' ').replace(',', ' ').replace(')', '').split(' '); - var cmd = p[0]; - $('.token-operation-type').text(cmd); - var m1 = ['giveBirth', 'createSaleAuction'] - if(m1.indexOf(p[0]) >= 0){ - var data = oTx.input.slice(8).substr(0,64).replace(/^0+/, ''); - var id = parseInt(data, 16); - if(id){ - $('#token-information-block').addClass('text-center'); - $('#token-information-block').html('
'); - Ethplorer.Extensions.CryptoKitties.showKitty('ck-1', id); - } - } - var m2 = ['bidOnSiringAuction', 'breedWithAuto'] - if(m2.indexOf(p[0]) >= 0){ - var data1 = oTx.input.slice(8).substr(0,64).replace(/^0+/, ''); - var data2 = oTx.input.slice(8).substr(64,64).replace(/^0+/, ''); - var id1 = parseInt(data1, 16); - var id2 = parseInt(data2, 16); - if(id1 && id2){ - $('#token-information-block').addClass('text-center'); - $('#token-information-block').empty(); - $('#token-information-block').append('

'); - $('#token-information-block').append('

'); - $('#token-information-block').append('
'); - Ethplorer.Extensions.CryptoKitties.showKitty('ck-1', id1); - Ethplorer.Extensions.CryptoKitties.showKitty('ck-2', id2); - var symbol = '?'; - if('breedWithAuto' == p[0]){ - $("#ck-symbol").css('color', 'red'); - symbol = '❤'; - } - $("#ck-symbol").html(symbol); - } - } - if(Ethplorer.Extensions.CryptoKitties.show){ - $('#token-information-block, #token-operation-block').addClass('ck-has-kitties'); - } - if(oTx.receipt && oTx.receipt.logs && oTx.receipt.logs.length){ - for(var i=0; i"); - var block = parseInt(oLog.data.substr(64 * 3 + 2), 16); - var currentBlock = oTx.blockNumber + oTx.confirmations; - var blocksTillBirth = block - currentBlock; - var msg = ""; - if(blocksTillBirth > 0){ - msg = "A new kitty should be born in " + blocksTillBirth + " blocks"; - $('#token-information-block').append('
'); - $("#ck-3").html(""); - $('#ck-3').append("
" + msg + "
"); - setInterval(function(){ - var cnt = parseInt($('.ck-counter:eq(0)').text()); - if(cnt > 0){ - cnt--; - $('.ck-counter').text(cnt); - } - }, 15000); - }else{ - var matronId = parseInt(oLog.data.substr(64 + 2, 64), 16); - var sireId = parseInt(oLog.data.substr(64 * 2 + 2, 64), 16); - var matron = Ethplorer.Extensions.CryptoKitties.data[matronId]; - Ethplorer.Extensions.CryptoKitties.i = setInterval(function(_m, _s){ - return function(){ - if(Ethplorer.Extensions.CryptoKitties.data[_m] && Ethplorer.Extensions.CryptoKitties.data[_s]){ - clearInterval(Ethplorer.Extensions.CryptoKitties.i); - var matron = Ethplorer.Extensions.CryptoKitties.data[_m]; - if(matron && matron.children && matron.children.length){ - var kitty = false; - if(1 === matron.children.length){ - kitty = matron.children[0]; - } - if(kitty){ - $('#token-information-block').append('
'); - Ethplorer.Extensions.CryptoKitties.showKittyData('ck-3', kitty, false); - $('#ck-3 span').append('
born on block ' + $('.ck-block').text()); - } - } - } - } - }(matronId, sireId), 1000); - msg = "Kitty born on block " + block + ''; - } - $('#operation-status').before(infoTR); - infoTR.find("td:eq(1)").html(msg); - break; - } - } - } - } - }, - showKitty: function(containerId, id){ - Ethplorer.Extensions.CryptoKitties.show = true; - $('#' + containerId).html("Loading..."); - $.getJSON('/extensions/CryptoKitties/service.php', {action:"getKitty", id:id}, function(data){ - Ethplorer.Extensions.CryptoKitties.data[id] = data; - Ethplorer.Extensions.CryptoKitties.showKittyData(containerId, data, true); - }); - }, - showKittyData: function(containerId, data, tooltip){ - var bgColors = { - coral: "#c5eefa", - babyblue: "#dcebfc", - topaz: "#d1eeeb", - mintgreen: "#cdf5d4", - limegreen: "#d9f5cb", - babypuke: "#eff1e0", - chestnut: "#efe1da", - strawberry: "#fcdede", - pumpkin: "#fae1ca", - gold: "#faf4cf", - sizzurp: "#dfdffa", - bubblegum: "#fadff4", - violet: "#ede2f5", - thundergrey: "#eee9e8" - }; - if(data["color"] && bgColors[data["color"]]){ - $('#' + containerId).css("background-color", bgColors[data["color"]]); - } - var img = $(''); - if(tooltip){ - img.attr("data-tip", data["bio"] ? data["bio"] : ""); - img.addClass('tip'); - } - $('#' + containerId).html(img); - $('#' + containerId).append("Kitty " + data["id"] + " - Gen " + data["generation"] + ""); - if(tooltip){ - $('.tip').tipr(); - } - } -}; diff --git a/extensions/CryptoKitties/js/tipr.min.js b/extensions/CryptoKitties/js/tipr.min.js deleted file mode 100644 index e8d539fe..00000000 --- a/extensions/CryptoKitties/js/tipr.min.js +++ /dev/null @@ -1,10 +0,0 @@ -(function($){$.fn.tipr=function(options){var set=$.extend({'speed':200,'mode':'below','space':70},options);return this.each(function(){var mouseY=-1;$(document).on('mousemove',function(event) -{mouseY=event.clientY;});var viewY=$(window).height();$(this).hover(function() -{var d_m=set.mode;$(window).on('resize',function() -{viewY=$(window).height();});if(viewY-mouseY
'+$(this).attr('data-tip')+'
';$(this).after(out);var w_t=$(tipr_cont).outerWidth();var w_e=$(this).width();var m_l=(w_e / 2)-(w_t / 2);$(tipr_cont).css('margin-left',m_l+'px');$(this).removeAttr('title alt');$(tipr_cont).fadeIn(set.speed);},function() -{$(tipr_cont).remove();});});};})(jQuery); \ No newline at end of file diff --git a/extensions/CryptoKitties/service.php b/extensions/CryptoKitties/service.php deleted file mode 100644 index 11423d99..00000000 --- a/extensions/CryptoKitties/service.php +++ /dev/null @@ -1,44 +0,0 @@ - 'memcached')); - -$oCache = $es->getCache(); - -$api = "https://api.cryptokitties.co/kitties"; - -if(isset($_GET["action"]) && ("getKitty" === $_GET["action"])){ - $id = isset($_GET["id"]) ? (int)$_GET["id"] : false; - if($id){ - $cacheId = "ck-kitty-" . $id; - $result = $oCache->get($cacheId, FALSE, TRUE, 600); - if(!$result){ - $result = file_get_contents($api . "/" . $id); - $oCache->save($cacheId, $result); - } - if($result){ - echo $result; - die(); - } - } -} - -if(isset($_GET["action"]) && ("getAddress" === $_GET["action"])){ - $address = isset($_GET["address"]) ? strtolower(preg_replace("/[^a-fA-F0-9x]/", "", $_GET["address"])) : false; - if($address){ - $cacheId = "ck-kitty-" . $address; - $result = $oCache->get($cacheId, FALSE, TRUE, 600); - if(!$result){ - $result = file_get_contents($api . "?owner_wallet_address=" . $address . '&limit=20'); - $oCache->save($cacheId, $result); - } - if($result){ - echo $result; - die(); - } - } -} - -// ?owner_wallet_address= - -echo '{"error":"Invalid Request"}'; \ No newline at end of file diff --git a/favicon-16x16.png b/favicon-16x16.png deleted file mode 100644 index 5af256cd..00000000 Binary files a/favicon-16x16.png and /dev/null differ diff --git a/favicon-32x32.png b/favicon-32x32.png deleted file mode 100644 index 1ebd5510..00000000 Binary files a/favicon-32x32.png and /dev/null differ diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index aa9c043f..00000000 Binary files a/favicon.ico and /dev/null differ diff --git a/go.php b/go.php deleted file mode 100644 index d8bd2414..00000000 --- a/go.php +++ /dev/null @@ -1,23 +0,0 @@ -0){ - $sLink = $_GET["link"]; - $fp = @fopen(dirname(__FILE__) . "/service/log/go-links.log", "a+"); - if($fp){ - $t = date('Y-m-d H:i:s')." - ".$sLink." - ".@getenv("REMOTE_ADDR")." - ".@getenv("HTTP_REFERER"). " - ".@getenv("HTTP_USER_AGENT")."\r\n"; - @fwrite($fp, $t); - } -} - -header("HTTP/1.1 301 Moved Permanently"); -header("Location: " . $sLink); - -?> - \ No newline at end of file diff --git a/images/address-chart.png b/images/address-chart.png index d24021c0..e226cdb2 100644 Binary files a/images/address-chart.png and b/images/address-chart.png differ diff --git a/images/ethplorer-home.png b/images/ethplorer-home.png index 02b25b2e..825ef862 100644 Binary files a/images/ethplorer-home.png and b/images/ethplorer-home.png differ diff --git a/images/ethplorer-token-index.png b/images/ethplorer-token-index.png index ed1a05a8..3f0b978f 100644 Binary files a/images/ethplorer-token-index.png and b/images/ethplorer-token-index.png differ diff --git a/images/ethplorer-top-operations.png b/images/ethplorer-top-operations.png index 53572da7..534669e3 100644 Binary files a/images/ethplorer-top-operations.png and b/images/ethplorer-top-operations.png differ diff --git a/index.php b/index.php deleted file mode 100644 index 1fd7cfd9..00000000 --- a/index.php +++ /dev/null @@ -1,768 +0,0 @@ - $part){ - $rParts[$i] = strtolower($part); -} -if(3 === count($rParts)){ - if(('tx' === $rParts[1]) && $es->isValidTransactionHash($rParts[2])){ - $header = "Transaction hash: " . $rParts[2]; - $error = FALSE; - } - if(('address' === $rParts[1]) && $es->isValidAddress($rParts[2])){ - $header = "Address: " . $rParts[2]; - $address = $rParts[2]; - $error = FALSE; - } - if(('token' === $rParts[1]) && $es->isValidAddress($rParts[2])){ - $header = "Token address: " . $rParts[2]; - $error = FALSE; - } -} -if($error){ - if(isset($rParts[1]) && !$rParts[1]){ - header('Location:/'); - die(); - } -} -$testWidget = true; -if(isset($_GET['test'])){ - $testWidget = true; -} -$debugEnabled = false; -if(isset($_GET['debug']) && $_GET['debug']){ - $debugId = $_GET['debug']; - $debugEnabled = true; -} - -$hasNotes = isset($aConfig['adv']) && count($aConfig['adv']); - -$csvExport = ''; -if(is_array($rParts) && isset($rParts[2])){ - $csvExport = ' Export...Export as CSV'; -} -?> - - - Ethplorer<?php if($header){ echo ": " . $header; } ?> - - - - - $aExtension){ - $cv = isset($aExtension['version']) ? (int)$aExtension['version'] : false; - if(isset($aExtension['css'])){ - $aExtension['js'] = (array)$aExtension['js']; - foreach($aExtension['css'] as $js){ - $jsf = "/extensions/" . $extName . "/" . $js; - if(file_exists(dirname(__FILE__) . $jsf)){ - echo ' ' . "\n"; - } - } - } - } - } ?> - - - - - - - - - - - - - - - - - $aExtension){ - $cv = isset($aExtension['version']) ? (int)$aExtension['version'] : false; - if(isset($aExtension['js'])){ - $aExtension['js'] = (array)$aExtension['js']; - foreach($aExtension['js'] as $js){ - $jsf = "/extensions/" . $extName . "/" . $js; - if(file_exists(dirname(__FILE__) . $jsf)){ - echo ' ' . "\n"; - } - } - } - } - } ?> - - - - - - - - - - -
- -
-
-
-
- - - - - -
-

ERROR

-

Invalid request

-
- - -
-
-
search in progress...
-
- -
-

-

-
- -
- -
-

-
- - -
-

-
- - -
- -
- - - - - - - - - - - -
- -
-
-
- -
- - -
-

-
- -
-
-
-
-
-

Internal operations

-
- -
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
URL
SHA256 Hash
Filename
Filesize
Data
Short Link
-
- -
- - -
- -
- -
-
-
-

Information

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Created At
Creator
Create Tx
Balance
Total In
Total Out
Transactions
Transactions
-
-
-
-
-
-

Token Balances -
-

-
-
-
-
-
- -

Chainy Information

-
- - - - -
- Chainy is a smart contract which allows to create and read different kind of data in Ethereum blockchain: -

- AEON short links
- Irreplaceable short URLs (similar to bit.ly but impossible to change) -

- Proof of Existence + Files
- Permanent proof of existence of the document (file) together with link to the file at one page -

- Broadcast Messages
- Public text message on the Ethereum blockchain. Also may be encrypted -

- Read more: https://chainy.link
- Post your data: https://chainy.link/add -
-
-
-

Token Information

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Symbol
Price
Total Supply
Decimals
Owner
Transfers
Issuances
Holders
-
-
-
- -
-
-
- -
×
-
-
-
-
-
-
-
-

Token Transfers

-
-
-
-
- * all dates are displayed for timezone -
-
-
-
-
-
-

Token Issuances

-
-
-
-
- * all dates are displayed for timezone -
-
-
-
-
-
-

Token Holders

-
-
-
-
-
-
-
-
- - -
- -
-
-
-
- - -
-



- - - diff --git a/js/ace.js b/js/ace.js deleted file mode 100644 index b4b7a55c..00000000 --- a/js/ace.js +++ /dev/null @@ -1,14 +0,0 @@ -(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE="",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((i.match(/rv:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0}),define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(e,t,n){var a=u(t);if(!i.isMac&&s){t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(a|=8);if(s.altGr){if((3&a)==3)return;s.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)s[n]==1&&(o=t.timeStamp);else if(n===18&&a===3&&f===2){var l=t.timeStamp-o;l<50&&(s.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1),a&8&&n>=91&&n<=93&&(n=-1);if(!a&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,a,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&a&8){e(t,a,n);if(t.defaultPrevented)return;a&=-9}return!!a||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,a,n):!1}function f(){s=Object.create(null)}var r=e("./keys"),i=e("./useragent"),s=null,o=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addTouchMoveListener=function(e,n){if("ontouchmove"in e){var r,i;t.addListener(e,"touchstart",function(e){var t=e.changedTouches[0];r=t.clientX,i=t.clientY}),t.addListener(e,"touchmove",function(e){var t=1,s=e.changedTouches[0];e.wheelX=-(s.clientX-r)/t,e.wheelY=-(s.clientY-i)/t,r=s.clientX,i=s.clientY,n(e)})}},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){function c(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}function h(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)}var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",c),i.isOldIE&&t.addListener(e,"dblclick",h)})};var u=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[u(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var o=null;r(e,"keydown",function(e){o=e.keyCode}),r(e,"keypress",function(e){return a(n,e,o)})}else{var u=null;r(e,"keydown",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=a(n,e,e.keyCode);return u=e.defaultPrevented,t}),r(e,"keypress",function(e){u&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),u=null)}),r(e,"keyup",function(e){s[e.keyCode]=null}),s||(f(),r(window,"focus",f))}};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var l=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+l;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n=53&&O()},I=o.delayedCall(j,50);r.addListener(n,"compositionstart",B),i.isGecko?r.addListener(n,"text",function(){I.schedule()}):(r.addListener(n,"keyup",function(){I.schedule()}),r.addListener(n,"keydown",function(){I.schedule()})),r.addListener(n,"compositionend",F),this.getElement=function(){return n},this.setReadOnly=function(e){n.readOnly=e},this.onContextMenu=function(e){L=!0,b(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,o){if(!o&&i.isOldIE)return;p||(p=n.style.cssText),n.style.cssText=(o?"z-index:100000;":"")+"height:"+n.style.height+";"+(i.isIE?"opacity:0.1;":"");var u=t.container.getBoundingClientRect(),a=s.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(u.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){n.style.left=e.clientX-l-2+"px",n.style.top=Math.min(e.clientY-f-2,c)+"px"};h(e);if(e.type!="mousedown")return;t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(q),i.isWin&&!i.isOldIE&&r.capture(t.container,h,R)},this.onContextMenuClose=R;var q,U=function(e){t.textInput.onContextMenu(e),R()};r.addListener(n,"mouseup",U),r.addListener(n,"mousedown",function(e){e.preventDefault(),R()}),r.addListener(t.renderer.scroller,"contextmenu",U),r.addListener(n,"contextmenu",U)};t.TextInput=f}),define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function u(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e)),t.setDefaultHandler("touchmove",this.onTouchMove.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function a(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function f(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=0;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var r=this.editor,i=e.getButton();if(i!==0){var s=r.getSelectionRange(),o=s.isEmpty();r.$blockScrolling++,(o||i==1)&&r.selection.moveToPosition(n),r.$blockScrolling--,i==2&&r.textInput.onContextMenu(e.domEvent);return}this.mousedownEvent.time=Date.now();if(t&&!r.isFocused()){r.focus();if(this.$focusTimout&&!this.$clickSelection&&!r.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);t.$blockScrolling++;if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=f(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);n.$blockScrolling++;if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=f(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>o||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()},this.onTouchMove=function(e){var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(u.prototype),t.DefaultHandlers=u}),define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){i.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(s.prototype),t.Tooltip=s}),define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("
"),i.setHtml(f),i.show(),t._signal("showGutterTooltip",i),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=u.domEvent.target,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t._signal("hideGutterTooltip",i),t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(m),t.$blockScrolling-=1,t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a)},t.init=f}),define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("../config"),l=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener([u,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),r.addTouchMoveListener(e.container,this.onTouchMove.bind(this,"touchmove"));var f=e.renderer.$gutter;r.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(f,"mousedown",n),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.onTouchMove=function(e,t){var n=new u(t,this.editor);n.speed=1,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var s=this,o=function(e){if(!e)return;if(i.isWebKit&&!e.which&&s.releaseMouse)return s.releaseMouse();s.x=e.clientX,s.y=e.clientY,t&&t(e),s.mouseEvent=new u(e,s.editor),s.$mouseMoved=!0},a=function(e){clearInterval(l),f(),s[s.state+"End"]&&s[s.state+"End"](e),s.state="",n.$keepTextAreaAtCursor==null&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),s.isMousePressed=!1,s.$onCaptureMouseMove=s.releaseMouse=null,e&&s.onMouseEvent("mouseup",e)},f=function(){s[s.state]&&s[s.state](),s.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){a(e)});s.$onCaptureMouseMove=o,s.releaseMouse=r.capture(this.editor.container,o,a);var l=setInterval(f,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(l.prototype),f.defineOptions(l.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=l}),define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return!o&&e==-1&&(s={command:"insertstring"},o=u.exec("insertstring",this.$editor,t)),o&&this.$editor._signal&&this.$editor._signal("keyboardActivity",s),o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(s.prototype),t.KeyBinding=s}),define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.rowt.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},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.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);e!==0&&t===0&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&(r.row>0||e>0)&&r.row++,this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;yi){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}}}).call(r.prototype),t.TokenIterator=r}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){if(this.lineCommentStart&&this.lineCommentStart.indexOf(i)!=-1)return;c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g,y&&/string\.end/.test(v.type)&&(y=!1);else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";function r(e){var n=/\w{4}/g;for(var r in e)t.packages[r]=e[r].replace(n,"\\u$&")}t.packages={},r({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"})}),define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../tokenizer").Tokenizer,i=e("./text_highlight_rules").TextHighlightRules,s=e("./behaviour/cstyle").CstyleBehaviour,o=e("../unicode"),u=e("../lib/lang"),a=e("../token_iterator").TokenIterator,f=e("../range").Range,l=function(){this.HighlightRules=i};(function(){this.$defaultBehaviour=new s,this.tokenRe=new RegExp("^["+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,s=!0,o=!0,a=Infinity,f=t.getTabSize(),l=!1;if(!this.lineCommentStart){if(!this.blockComment)return!1;var c=this.blockComment.start,h=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+u.escapeRegExp(c)+")"),d=new RegExp("(?:"+u.escapeRegExp(h)+")\\s*$"),v=function(e,t){if(g(e,t))return;if(!s||/\S/.test(e))i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:a},c)},m=function(e,t){var n;(n=e.match(d))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(p))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(p.test(e))return!0;var r=t.getTokens(n);for(var i=0;i2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),a==Infinity&&(a=E,s=!1,o=!1),l&&a%f!=0&&(a=Math.floor(a/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new a(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,l=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new f(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new a(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new f(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);l.start.row==c&&(l.start.column+=h),l.end.row==c&&(l.end.column+=h),t.selection.fromOrientedRange(l)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.columnthis.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.rowr)break;l.start.row==r&&l.start.column>=t.column&&(l.start.column!=t.column||!this.$insertRight)&&(l.start.column+=o,l.start.row+=s);if(l.end.row==r&&l.end.column>=t.column){if(l.end.column==t.column&&this.$insertRight)continue;l.end.column==t.column&&o>0&&al.start.column&&l.end.column==u[a+1].start.column&&(l.end.column-=o),l.end.column+=o,l.end.row+=s}}if(s!=0&&a=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s)return t.children||t.all?this.removeFold(s):this.expandFold(s),s;var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range))return this.removeFold(s),s}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,o),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=e.length-1;r!=-1;r--){var i=e[r];i.group=="doc"?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=0;re.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,l=s.start,o=l.row-a.row,u=l.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new f(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new f(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,s){var o;if(e!=null){o=this.$getDisplayTokens(e,a.length),o[0]=n;for(var f=1;fr-b){var w=a+r-b;if(e[w-1]>=p&&e[w]>=p){y(w);continue}if(e[w]==n||e[w]==u){for(w;w!=a-1;w--)if(e[w]==n)break;if(w>a){y(w);continue}w=a+r;for(w;w>2)),a-1);while(w>E&&e[w]E&&e[w]E&&e[w]==l)w--}else while(w>E&&e[w]E){y(++w);continue}w=a+r,e[w]==t&&w--,y(w-b)}return s},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o39&&u<48||u>57&&u<64?i.push(l):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]=0)var o=a[f],r=this.$docRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getLength()-1,p=this.getNextFoldLine(r),d=p?p.start.row:Infinity;while(o<=e){u=this.getRowLength(r);if(o+u>e||r>=h)break;o+=u,r++,r>d&&(r=p.end.row+1,p=this.getNextFoldLine(r,p),d=p?p.start.row:Infinity),c&&(this.$docRowCache.push(r),this.$screenRowCache.push(o))}if(p&&p.start.row<=r)n=this.getFoldDisplayLine(p),r=p.start.row;else{if(o+u<=e||r>h)return{row:h,column:this.getLine(h).length};n=this.getLine(r),p=null}var v=0;if(this.$useWrapMode){var m=this.$wrapData[r];if(m){var g=Math.floor(e-o);s=m[g],g>0&&m.length&&(v=m.indent,i=m[g-1]||m[m.length-1],n=n.substring(i))}}return i+=this.$getStringScreenWidth(n,t-v)[1],this.$useWrapMode&&i>=s&&(i=s-1),p?p.idxToPosition(i):{row:r,column:i}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return{row:r,column:v+this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;sn)break}return[r,s]}},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()}}).call(p.prototype),e("./edit_session/folding").Folding.call(p.prototype),e("./edit_session/bracket_match").BracketMatch.call(p.prototype),s.defineOptions(p.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize")},initialValue:4,handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=p}),define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";function u(e,t){function n(e){return/\w/.test(e)||t.regExp?"\\b":""}return n(e[0])+e+n(e[e.length-1])}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i){if(!e.start){var o=e.offset+(i||0);r=new s(n,o,n,o+e.length);if(!e.length&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start))return r=null,!1}else r=e;return!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;hv)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;gE&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g=0;u--)if(i(o[u],t,s))return!0};else var u=function(e,t,s){var o=r.getMatchOffsets(e,n);for(var u=0;u=o;r--)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=u,o=s.row;r>=o;r--)if(n(e.getLine(r),r))return}:function(n){var r=s.row,i=e.getLine(r).substr(s.column);if(n(i,r,s.column))return;for(r+=1;r<=u;r++)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=o,u=s.row;r<=u;r++)if(n(e.getLine(r),r))return};return{forEach:a}}}).call(o.prototype),t.Search=o}),define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||0}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i=this.commandKeyBinding,s;if(!n)delete i[t];else if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(s=i[t].indexOf(n))!=-1&&i[t].splice(s,1):i[t]=[i[t]],typeof r!="number"&&(r||n.isDefault?r=-100:r=e(n));var o=i[t];for(s=0;sr)break}o.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:o}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","F4"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:o("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:o("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:o("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:o("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:o("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:o("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:o("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:o("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:o("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:o("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",exec:function(e){},readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:o("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:o("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o0&&this.$blockScrolling--;var n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this})},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),s=i.length,o=i.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(o)||r<=s&&/[\w\d]$/.test(o))return;o=i.substring(t.start.column,t.end.column);if(!/^[\w\d]+$/.test(o))return;var u=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return u},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){typeof e=="string"&&(e={text:e}),this._signal("paste",e);var t=e.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(t);else{var n=t.split(/\r\n|\r|\n/),r=this.selection.rangeList.ranges;if(n.length>r.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,t);for(var i=r.length;i--;){var s=r[i];s.isEmpty()||this.session.remove(s),this.session.insert(s.start,n[i])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var r=new p(0,0,0,0);for(var i=e.first;i<=e.last;i++){var s=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=s.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&np+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},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+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))}}).call(b.prototype),g.defineOptions(b.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.keybindingId},handlesSet:!0},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),t.Editor=b}),define("ace/undomanager",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.reset()};(function(){function e(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines.length==1?null:e.lines,text:e.lines.length==1?e.lines[0]:null}}function t(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines||[e.text]}}function n(e,t){var n=new Array(e.length);for(var r=0;r0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return this.dirtyCounter===0},this.$serializeDeltas=function(t){return n(t,e)},this.$deserializeDeltas=function(e){return n(e,t)}}).call(r.prototype),t.UndoManager=r}),define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;to&&(v=s.end.row+1,s=t.getNextFoldLine(v,s),o=s?s.start.row:Infinity);if(v>i){while(this.$cells.length>d+1)p=this.$cells.pop(),this.element.removeChild(p.element);break}p=this.$cells[++d],p||(p={element:null,textNode:null,foldWidget:null},p.element=r.createElement("div"),p.textNode=document.createTextNode(""),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[d]=p);var m="ace_gutter-cell ";a[v]&&(m+=a[v]),f[v]&&(m+=f[v]),this.$annotations[v]&&(m+=this.$annotations[v].className),p.element.className!=m&&(p.element.className=m);var g=t.getRowLength(v)*e.lineHeight+"px";g!=p.element.style.height&&(p.element.style.height=g);if(u){var y=u[v];y==null&&(y=u[v]=t.getFoldWidget(v))}if(y){p.foldWidget||(p.foldWidget=r.createElement("span"),p.element.appendChild(p.foldWidget));var m="ace_fold-widget ace_"+y;y=="start"&&v==o&&vn.right-t.right)return"foldWidgets"}}).call(u.prototype),t.Gutter=u}),define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(!e)return;this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}this.element.innerHTML=t.join("")},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(t,n,i,s,o){var u=this.session,a=n.start.row,f=n.end.row,l=a,c=0,h=0,p=u.getScreenLastRowColumn(l),d=new r(l,n.start.column,l,h);for(;l<=f;l++)d.start.row=d.end.row=l,d.start.column=l==a?n.start.column:u.getRowWrapIndent(l),d.end.column=p,c=h,h=p,p=l+1p,l==f),s,l==f?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"",e.push("
"),u=this.$getTop(t.end.row,r);var f=t.end.column*r.characterWidth;e.push("
"),o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var l=(t.start.column?1:0)|(t.end.column?0:8);e.push("
")},this.drawSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;e.push("
")},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),e.push("
")},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;e.push("
")}}).call(s.prototype),t.Marker=s}),define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\u00b7",this.$padding=0,this.$updateEolChar=function(){var e=this.session.doc.getNewLineCharacter()=="\n"?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n"+s.stringRepeat(this.TAB_CHAR,n)+""):t.push(s.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i="",o="";if(this.showInvisibles){r+=" ace_invisible",i=" ace_invisible_space",o=" ace_invisible_tab";var u=s.stringRepeat(this.SPACE_CHAR,this.tabSize),a=s.stringRepeat(this.TAB_CHAR,this.tabSize)}else var u=s.stringRepeat(" ",this.tabSize),a=u;this.$tabStrings[" "]=""+u+"",this.$tabStrings[" "]=""+a+""}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),s=this.element.childNodes,o=0;for(var u=e.firstRow;uf&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),f=a?a.start.row:Infinity);if(u>i)break;var l=s[o++];if(l){var c=[];this.$renderLine(c,u,!this.$useLineGroups(),u==f?a:!1),l.style.height=e.lineHeight*this.session.getRowLength(u)+"px",l.innerHTML=c.join("")}u++}},this.scrollLines=function(e){var t=this.config;this.config=e;if(!t||t.lastRow0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRowt.lastRow){var i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){var r=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=i.createElement("div"),f=[];this.$renderLine(f,s,!1,s==u?o:!1),a.innerHTML=f.join("");if(this.$useLineGroups())a.className="ace_line_group",r.appendChild(a),a.style.height=e.lineHeight*this.session.getRowLength(s)+"px";else while(a.firstChild)r.appendChild(a.firstChild);s++}return r},this.update=function(e){this.config=e;var t=[],n=e.firstRow,r=e.lastRow,i=n,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>r)break;this.$useLineGroups()&&t.push("
"),this.$renderLine(t,i,!1,i==o?s:!1),this.$useLineGroups()&&t.push("
"),i++}this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/\t|&|<|>|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF\uFFF9-\uFFFC])|[\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,u=function(e,n,r,o,u){if(n)return i.showInvisibles?""+s.stringRepeat(i.SPACE_CHAR,e.length)+"":e;if(e=="&")return"&";if(e=="<")return"<";if(e==">")return">";if(e==" "){var a=i.session.getScreenTabSize(t+o);return t+=a-1,i.$tabStrings[a]}if(e=="\u3000"){var f=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",l=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,""+l+""}return r?""+i.SPACE_CHAR+"":(t+=1,""+e+"")},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("",a,"")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:t[0]==" "?(r-=r%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,o=0,u=n[0],a=0;for(var f=0;f=u)a=this.$renderToken(e,a,l,c.substring(0,u-i)),c=c.substring(u-i),i=u,r||e.push("","
"),e.push(s.stringRepeat("\u00a0",n.indent)),o++,a=0,u=n[o]||Number.MAX_VALUE;c.length!=0&&(i+=c.length,a=this.$renderToken(e,a,l,c))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"")),n||e.push("
")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),i===undefined&&(i=!("opacity"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=(i?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&!i&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+n.column*this.config.characterWidth,i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,i=t.length;ne.height+e.offset||s.top<0)&&n>1)continue;var o=(this.cursors[r++]||this.addCursor()).style;this.drawCursor?this.drawCursor(o,s,e,t[n],this.session):(o.left=s.left+"px",o.top=s.top+"px",o.width=e.characterWidth+"px",o.height=e.lineHeight+"px")}while(this.cursors.length>r)this.removeCursor();var u=this.session.getOverwrite();this.$setOverwrite(u),this.$pixelPos=s,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(s.prototype),t.Cursor=s}),define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=32768,a=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(a.prototype);var f=function(e,t){a.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};r.inherits(f,a),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){this.scrollTop=this.element.scrollTop;if(this.coeff!=1){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>u?(this.coeff=u/e,e=u):this.coeff!=1&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(f.prototype);var l=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(l,a),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(l.prototype),t.ScrollBar=f,t.ScrollBarV=f,t.ScrollBarH=l,t.VScrollBar=f,t.HScrollBar=l}),define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){this.changes=this.changes|e;if(!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;var e;while(e=t.changes)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=0,f=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),a||this.$testFractionalRect(),this.$measureNode.innerHTML=s.stringRepeat("X",a),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,u),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=i.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;t>0&&t<1?a=50:a=100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",o.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(){if(a===50){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(t){e={width:0,height:0}}var n={height:e.height,width:e.width/a}}else var n={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/a};return n.width===0||n.height===0?null:n},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,a);var t=this.$main.getBoundingClientRect();return t.width/a},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(f.prototype)}),define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./lib/useragent"),u=e("./layer/gutter").Gutter,a=e("./layer/marker").Marker,f=e("./layer/text").Text,l=e("./layer/cursor").Cursor,c=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,p=e("./renderloop").RenderLoop,d=e("./layer/font_metrics").FontMetrics,v=e("./lib/event_emitter").EventEmitter,m='.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}';i.importCssString(m,"ace_editor.css");var g=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!o.isOldIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new a(this.content);var r=this.$textLayer=new f(this.content);this.canvas=r.element,this.$markerFront=new a(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new d(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._emit("renderer",this)};(function(){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,this.CHANGE_H_SCROLL=1024,r.implement(this,v),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar()},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var i=0,s=this.$size,o={width:s.width,height:s.height,scrollerHeight:s.scrollerHeight,scrollerWidth:s.scrollerWidth};r&&(e||s.height!=r)&&(s.height=r,i|=this.CHANGE_SIZE,s.scrollerHeight=s.height,this.$horizScroll&&(s.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",i|=this.CHANGE_SCROLL);if(n&&(e||s.width!=n)){i|=this.CHANGE_SIZE,s.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",s.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px";if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)i|=this.CHANGE_FULL}return s.$dirty=!n||!r,i&&this._signal("resize",o),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,i=this.lineHeight;if(t<0||t>e.height-i){r.top=r.left="0";return}var s=this.characterWidth;if(this.$composition){var o=this.textarea.value.replace(/^\x01+/,"");s*=this.session.$getStringScreenWidth(o)[0]+2,i+=2}n-=this.scrollLeft,n>this.$size.scrollerWidth-s&&(n=this.$size.scrollerWidth-s),n+=this.gutterWidth,r.height=i+"px",r.width=s+"px",r.left=Math.min(n,this.$size.scrollerWidth-s)+"px",r.top=Math.min(t,this.$size.height-i)+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px"}e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var f=this.scrollTop%this.lineHeight,l=t.scrollerHeight+this.lineHeight,c=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=c;var h=this.scrollMargin;this.session.setScrollTop(Math.max(-h.top,Math.min(this.scrollTop,i-t.scrollerHeight+h.bottom))),this.session.setScrollLeft(Math.max(-h.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+h.right)));var p=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+c<0||this.scrollTop>h.top),d=a!==p;d&&(this.$vScroll=p,this.scrollBarV.setVisible(p));var v=Math.ceil(l/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-f)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),l=t.scrollerHeight+e.getRowLength(g)*w+b,f=this.scrollTop-y*w;var S=0;this.layerConfig.width!=s&&(S=this.CHANGE_H_SCROLL);if(u||d)S=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),d&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:l,maxHeight:i,offset:f,gutterOffset:w?Math.max(0,Math.ceil((f+t.height-t.scrollerHeight)/w)):0,height:this.$size.scrollerHeight},S},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(ts?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-ui?(i=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=(e+this.scrollLeft-n.left-this.$padding)/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=Math.round(r);return{row:i,column:s,side:r-s>0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(i,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(r.column*this.characterWidth),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r||!r.cssClass)throw new Error("couldn't load module "+e+" or it didn't call define");i.importCssString(r.cssText,r.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),s.defineOptions(g.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=g}),define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),u=function(t,n,r,i){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var s=this.$normalizePath;i=i||s(e.toUrl("ace/worker/worker.js",null,"_"));var u={};t.forEach(function(t){u[t]=s(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{this.$worker=new Worker(i)}catch(a){if(!(a instanceof window.DOMException))throw a;var f=this.$workerBlob(i),l=window.URL||window.webkitURL,c=l.createObjectURL(f);this.$worker=new Worker(c),l.revokeObjectURL(c)}this.$worker.postMessage({init:!0,tlns:u,module:n,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),e.action=="insert"?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})},this.$workerBlob=function(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}}).call(u.prototype);var a=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,i=!1,u=Object.create(s),a=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){a.messageBuffer.push(e),r&&(i?setTimeout(f):f())},this.setEmitSync=function(e){i=e};var f=function(){var e=a.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};u.postMessage=function(e){a.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.messageBuffer.length)f()})};a.prototype=u.prototype,t.UIWorkerClient=a,t.WorkerClient=u}),define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)d--;if(d>0){var m=0;while(r[m].isEmpty())m++}for(var g=d;g>=m;g--)r[g].isEmpty()&&r.splice(g,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges();var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++tf){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.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_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(!n||!e.action)return;var r=e.data,i=r.start.row,s=r.end.row,o=e.action=="add";for(var u=i+1;u0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("
"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./editor").Editor,o=e("./edit_session").EditSession,u=e("./undomanager").UndoManager,a=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,typeof define=="function"&&(t.define=define),t.edit=function(e){if(typeof e=="string"){var n=e;e=document.getElementById(n);if(!e)throw new Error("ace.edit can't find div #"+n)}if(e&&e.env&&e.env.editor instanceof s)return e.env.editor;var o="";if(e&&/input|textarea/i.test(e.tagName)){var u=e;o=u.value,e=r.createElement("pre"),u.parentNode.replaceChild(e,u)}else e&&(o=r.getInnerText(e),e.innerHTML="");var f=t.createEditSession(o),l=new s(new a(e));l.setSession(f);var c={document:f,editor:l,onResize:l.resize.bind(l,null)};return u&&(c.textarea=u),i.addListener(window,"resize",c.onResize),l.on("destroy",function(){i.removeListener(window,"resize",c.onResize),c.editor.container.env=null}),l.container.env=l.env=c,l},t.createEditSession=function(e,t){var n=new o(e,t);return n.setUndoManager(new u),n},t.EditSession=o,t.UndoManager=u,t.version="1.2.6"}); - (function() { - window.require(["ace/ace"], function(a) { - if (a) { - a.config.init(true); - a.define = window.define; - } - if (!window.ace) - window.ace = a; - for (var key in a) if (a.hasOwnProperty(key)) - window.ace[key] = a[key]; - }); - })(); - \ No newline at end of file diff --git a/js/bignumber.js b/js/bignumber.js deleted file mode 100644 index a90e7a34..00000000 --- a/js/bignumber.js +++ /dev/null @@ -1,4 +0,0 @@ -/* bignumber.js v2.4.0 https://github.com/MikeMcl/bignumber.js/LICENCE */ -!function(e){"use strict";function n(e){function a(e,n){var t,r,i,o,u,s,f=this;if(!(f instanceof a))return j&&L(26,"constructor call without new",e),new a(e,n);if(null!=n&&H(n,2,64,M,"base")){if(n=0|n,s=e+"",10==n)return f=new a(e instanceof a?e:s),U(f,P+f.e+1,B);if((o="number"==typeof e)&&0*e!=0||!new RegExp("^-?"+(t="["+b.slice(0,n)+"]+")+"(?:\\."+t+")?$",37>n?"i":"").test(s))return g(f,s,o,n);o?(f.s=0>1/e?(s=s.slice(1),-1):1,j&&s.replace(/^0\.0*|\./,"").length>15&&L(M,N,e),o=!1):f.s=45===s.charCodeAt(0)?(s=s.slice(1),-1):1,s=D(s,10,n,f.s)}else{if(e instanceof a)return f.s=e.s,f.e=e.e,f.c=(e=e.c)?e.slice():e,void(M=0);if((o="number"==typeof e)&&0*e==0){if(f.s=0>1/e?(e=-e,-1):1,e===~~e){for(r=0,i=e;i>=10;i/=10,r++);return f.e=r,f.c=[e],void(M=0)}s=e+""}else{if(!p.test(s=e+""))return g(f,s,o);f.s=45===s.charCodeAt(0)?(s=s.slice(1),-1):1}}for((r=s.indexOf("."))>-1&&(s=s.replace(".","")),(i=s.search(/e/i))>0?(0>r&&(r=i),r+=+s.slice(i+1),s=s.substring(0,i)):0>r&&(r=s.length),i=0;48===s.charCodeAt(i);i++);for(u=s.length;48===s.charCodeAt(--u););if(s=s.slice(i,u+1))if(u=s.length,o&&j&&u>15&&(e>S||e!==m(e))&&L(M,N,f.s*e),r=r-i-1,r>z)f.c=f.e=null;else if(G>r)f.c=[f.e=0];else{if(f.e=r,f.c=[],i=(r+1)%y,0>r&&(i+=y),u>i){for(i&&f.c.push(+s.slice(0,i)),u-=y;u>i;)f.c.push(+s.slice(i,i+=y));s=s.slice(i),i=y-s.length}else i-=u;for(;i--;s+="0");f.c.push(+s)}else f.c=[f.e=0];M=0}function D(e,n,t,i){var o,u,f,c,h,g,p,d=e.indexOf("."),m=P,w=B;for(37>t&&(e=e.toLowerCase()),d>=0&&(f=J,J=0,e=e.replace(".",""),p=new a(t),h=p.pow(e.length-d),J=f,p.c=s(l(r(h.c),h.e),10,n),p.e=p.c.length),g=s(e,t,n),u=f=g.length;0==g[--f];g.pop());if(!g[0])return"0";if(0>d?--u:(h.c=g,h.e=u,h.s=i,h=C(h,p,m,w,n),g=h.c,c=h.r,u=h.e),o=u+m+1,d=g[o],f=n/2,c=c||0>o||null!=g[o+1],c=4>w?(null!=d||c)&&(0==w||w==(h.s<0?3:2)):d>f||d==f&&(4==w||c||6==w&&1&g[o-1]||w==(h.s<0?8:7)),1>o||!g[0])e=c?l("1",-m):"0";else{if(g.length=o,c)for(--n;++g[--o]>n;)g[o]=0,o||(++u,g.unshift(1));for(f=g.length;!g[--f];);for(d=0,e="";f>=d;e+=b.charAt(g[d++]));e=l(e,u)}return e}function F(e,n,t,i){var o,u,s,c,h;if(t=null!=t&&H(t,0,8,i,v)?0|t:B,!e.c)return e.toString();if(o=e.c[0],s=e.e,null==n)h=r(e.c),h=19==i||24==i&&k>=s?f(h,s):l(h,s);else if(e=U(new a(e),n,t),u=e.e,h=r(e.c),c=h.length,19==i||24==i&&(u>=n||k>=u)){for(;n>c;h+="0",c++);h=f(h,u)}else if(n-=s,h=l(h,u),u+1>c){if(--n>0)for(h+=".";n--;h+="0");}else if(n+=u-c,n>0)for(u+1==c&&(h+=".");n--;h+="0");return e.s<0&&o?"-"+h:h}function _(e,n){var t,r,i=0;for(u(e[0])&&(e=e[0]),t=new a(e[0]);++ie||e>t||e!=c(e))&&L(r,(i||"decimal places")+(n>e||e>t?" out of range":" not an integer"),e),!0}function I(e,n,t){for(var r=1,i=n.length;!n[--i];n.pop());for(i=n[0];i>=10;i/=10,r++);return(t=r+t*y-1)>z?e.c=e.e=null:G>t?e.c=[e.e=0]:(e.e=t,e.c=n),e}function L(e,n,t){var r=new Error(["new BigNumber","cmp","config","div","divToInt","eq","gt","gte","lt","lte","minus","mod","plus","precision","random","round","shift","times","toDigits","toExponential","toFixed","toFormat","toFraction","pow","toPrecision","toString","BigNumber"][e]+"() "+n+": "+t);throw r.name="BigNumber Error",M=0,r}function U(e,n,t,r){var i,o,u,s,f,l,c,a=e.c,h=R;if(a){e:{for(i=1,s=a[0];s>=10;s/=10,i++);if(o=n-i,0>o)o+=y,u=n,f=a[l=0],c=f/h[i-u-1]%10|0;else if(l=d((o+1)/y),l>=a.length){if(!r)break e;for(;a.length<=l;a.push(0));f=c=0,i=1,o%=y,u=o-y+1}else{for(f=s=a[l],i=1;s>=10;s/=10,i++);o%=y,u=o-y+i,c=0>u?0:f/h[i-u-1]%10|0}if(r=r||0>n||null!=a[l+1]||(0>u?f:f%h[i-u-1]),r=4>t?(c||r)&&(0==t||t==(e.s<0?3:2)):c>5||5==c&&(4==t||r||6==t&&(o>0?u>0?f/h[i-u]:0:a[l-1])%10&1||t==(e.s<0?8:7)),1>n||!a[0])return a.length=0,r?(n-=e.e+1,a[0]=h[(y-n%y)%y],e.e=-n||0):a[0]=e.e=0,e;if(0==o?(a.length=l,s=1,l--):(a.length=l+1,s=h[y-o],a[l]=u>0?m(f/h[i-u]%h[u])*s:0),r)for(;;){if(0==l){for(o=1,u=a[0];u>=10;u/=10,o++);for(u=a[0]+=s,s=1;u>=10;u/=10,s++);o!=s&&(e.e++,a[0]==O&&(a[0]=1));break}if(a[l]+=s,a[l]!=O)break;a[l--]=0,s=1}for(o=a.length;0===a[--o];a.pop());}e.e>z?e.c=e.e=null:e.et?null!=(e=i[t++]):void 0};return f(n="DECIMAL_PLACES")&&H(e,0,E,2,n)&&(P=0|e),r[n]=P,f(n="ROUNDING_MODE")&&H(e,0,8,2,n)&&(B=0|e),r[n]=B,f(n="EXPONENTIAL_AT")&&(u(e)?H(e[0],-E,0,2,n)&&H(e[1],0,E,2,n)&&(k=0|e[0],$=0|e[1]):H(e,-E,E,2,n)&&(k=-($=0|(0>e?-e:e)))),r[n]=[k,$],f(n="RANGE")&&(u(e)?H(e[0],-E,-1,2,n)&&H(e[1],1,E,2,n)&&(G=0|e[0],z=0|e[1]):H(e,-E,E,2,n)&&(0|e?G=-(z=0|(0>e?-e:e)):j&&L(2,n+" cannot be zero",e))),r[n]=[G,z],f(n="ERRORS")&&(e===!!e||1===e||0===e?(M=0,H=(j=!!e)?x:o):j&&L(2,n+w,e)),r[n]=j,f(n="CRYPTO")&&(e===!!e||1===e||0===e?(V=!(!e||!h),e&&!V&&j&&L(2,"crypto unavailable",h)):j&&L(2,n+w,e)),r[n]=V,f(n="MODULO_MODE")&&H(e,0,9,2,n)&&(W=0|e),r[n]=W,f(n="POW_PRECISION")&&H(e,0,E,2,n)&&(J=0|e),r[n]=J,f(n="FORMAT")&&("object"==typeof e?X=e:j&&L(2,n+" not an object",e)),r[n]=X,r},a.max=function(){return _(arguments,T.lt)},a.min=function(){return _(arguments,T.gt)},a.random=function(){var e=9007199254740992,n=Math.random()*e&2097151?function(){return m(Math.random()*e)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)};return function(e){var t,r,i,o,u,s=0,f=[],l=new a(q);if(e=null!=e&&H(e,0,E,14)?0|e:P,o=d(e/y),V)if(h&&h.getRandomValues){for(t=h.getRandomValues(new Uint32Array(o*=2));o>s;)u=131072*t[s]+(t[s+1]>>>11),u>=9e15?(r=h.getRandomValues(new Uint32Array(2)),t[s]=r[0],t[s+1]=r[1]):(f.push(u%1e14),s+=2);s=o/2}else if(h&&h.randomBytes){for(t=h.randomBytes(o*=7);o>s;)u=281474976710656*(31&t[s])+1099511627776*t[s+1]+4294967296*t[s+2]+16777216*t[s+3]+(t[s+4]<<16)+(t[s+5]<<8)+t[s+6],u>=9e15?h.randomBytes(7).copy(t,s):(f.push(u%1e14),s+=7);s=o/7}else j&&L(14,"crypto unavailable",h);if(!s)for(;o>s;)u=n(),9e15>u&&(f[s++]=u%1e14);for(o=f[--s],e%=y,o&&e&&(u=R[y-e],f[s]=m(o/u)*u);0===f[s];f.pop(),s--);if(0>s)f=[i=0];else{for(i=-1;0===f[0];f.shift(),i-=y);for(s=1,u=f[0];u>=10;u/=10,s++);y>s&&(i-=y-s)}return l.e=i,l.c=f,l}}(),C=function(){function e(e,n,t){var r,i,o,u,s=0,f=e.length,l=n%A,c=n/A|0;for(e=e.slice();f--;)o=e[f]%A,u=e[f]/A|0,r=c*o+u*l,i=l*o+r%A*A+s,s=(i/t|0)+(r/A|0)+c*u,e[f]=i%t;return s&&e.unshift(s),e}function n(e,n,t,r){var i,o;if(t!=r)o=t>r?1:-1;else for(i=o=0;t>i;i++)if(e[i]!=n[i]){o=e[i]>n[i]?1:-1;break}return o}function r(e,n,t,r){for(var i=0;t--;)e[t]-=i,i=e[t]1;e.shift());}return function(i,o,u,s,f){var l,c,h,g,p,d,w,v,N,b,S,R,A,E,D,F,_,x=i.s==o.s?1:-1,I=i.c,L=o.c;if(!(I&&I[0]&&L&&L[0]))return new a(i.s&&o.s&&(I?!L||I[0]!=L[0]:L)?I&&0==I[0]||!L?0*x:x/0:NaN);for(v=new a(x),N=v.c=[],c=i.e-o.e,x=u+c+1,f||(f=O,c=t(i.e/y)-t(o.e/y),x=x/y|0),h=0;L[h]==(I[h]||0);h++);if(L[h]>(I[h]||0)&&c--,0>x)N.push(1),g=!0;else{for(E=I.length,F=L.length,h=0,x+=2,p=m(f/(L[0]+1)),p>1&&(L=e(L,p,f),I=e(I,p,f),F=L.length,E=I.length),A=F,b=I.slice(0,F),S=b.length;F>S;b[S++]=0);_=L.slice(),_.unshift(0),D=L[0],L[1]>=f/2&&D++;do{if(p=0,l=n(L,b,F,S),0>l){if(R=b[0],F!=S&&(R=R*f+(b[1]||0)),p=m(R/D),p>1)for(p>=f&&(p=f-1),d=e(L,p,f),w=d.length,S=b.length;1==n(d,b,w,S);)p--,r(d,w>F?_:L,w,f),w=d.length,l=1;else 0==p&&(l=p=1),d=L.slice(),w=d.length;if(S>w&&d.unshift(0),r(b,d,S,f),S=b.length,-1==l)for(;n(L,b,F,S)<1;)p++,r(b,S>F?_:L,S,f),S=b.length}else 0===l&&(p++,b=[0]);N[h++]=p,b[0]?b[S++]=I[A]||0:(b=[I[A]],S=1)}while((A++=10;x/=10,h++);U(v,u+(v.e=h+c*y-1)+1,s,g)}else v.e=c,v.r=+g;return v}}(),g=function(){var e=/^(-?)0([xbo])(?=\w[\w.]*$)/i,n=/^([^.]+)\.$/,t=/^\.([^.]+)$/,r=/^-?(Infinity|NaN)$/,i=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(o,u,s,f){var l,c=s?u:u.replace(i,"");if(r.test(c))o.s=isNaN(c)?null:0>c?-1:1;else{if(!s&&(c=c.replace(e,function(e,n,t){return l="x"==(t=t.toLowerCase())?16:"b"==t?2:8,f&&f!=l?e:n}),f&&(l=f,c=c.replace(n,"$1").replace(t,"0.$1")),u!=c))return new a(c,l);j&&L(M,"not a"+(f?" base "+f:"")+" number",u),o.s=null}o.c=o.e=null,M=0}}(),T.absoluteValue=T.abs=function(){var e=new a(this);return e.s<0&&(e.s=1),e},T.ceil=function(){return U(new a(this),this.e+1,2)},T.comparedTo=T.cmp=function(e,n){return M=1,i(this,new a(e,n))},T.decimalPlaces=T.dp=function(){var e,n,r=this.c;if(!r)return null;if(e=((n=r.length-1)-t(this.e/y))*y,n=r[n])for(;n%10==0;n/=10,e--);return 0>e&&(e=0),e},T.dividedBy=T.div=function(e,n){return M=3,C(this,new a(e,n),P,B)},T.dividedToIntegerBy=T.divToInt=function(e,n){return M=4,C(this,new a(e,n),0,1)},T.equals=T.eq=function(e,n){return M=5,0===i(this,new a(e,n))},T.floor=function(){return U(new a(this),this.e+1,3)},T.greaterThan=T.gt=function(e,n){return M=6,i(this,new a(e,n))>0},T.greaterThanOrEqualTo=T.gte=function(e,n){return M=7,1===(n=i(this,new a(e,n)))||0===n},T.isFinite=function(){return!!this.c},T.isInteger=T.isInt=function(){return!!this.c&&t(this.e/y)>this.c.length-2},T.isNaN=function(){return!this.s},T.isNegative=T.isNeg=function(){return this.s<0},T.isZero=function(){return!!this.c&&0==this.c[0]},T.lessThan=T.lt=function(e,n){return M=8,i(this,new a(e,n))<0},T.lessThanOrEqualTo=T.lte=function(e,n){return M=9,-1===(n=i(this,new a(e,n)))||0===n},T.minus=T.sub=function(e,n){var r,i,o,u,s=this,f=s.s;if(M=10,e=new a(e,n),n=e.s,!f||!n)return new a(NaN);if(f!=n)return e.s=-n,s.plus(e);var l=s.e/y,c=e.e/y,h=s.c,g=e.c;if(!l||!c){if(!h||!g)return h?(e.s=-n,e):new a(g?s:NaN);if(!h[0]||!g[0])return g[0]?(e.s=-n,e):new a(h[0]?s:3==B?-0:0)}if(l=t(l),c=t(c),h=h.slice(),f=l-c){for((u=0>f)?(f=-f,o=h):(c=l,o=g),o.reverse(),n=f;n--;o.push(0));o.reverse()}else for(i=(u=(f=h.length)<(n=g.length))?f:n,f=n=0;i>n;n++)if(h[n]!=g[n]){u=h[n]0)for(;n--;h[r++]=0);for(n=O-1;i>f;){if(h[--i]0?(s=u,r=l):(o=-o,r=f),r.reverse();o--;r.push(0));r.reverse()}for(o=f.length,n=l.length,0>o-n&&(r=l,l=f,f=r,n=o),o=0;n;)o=(f[--n]=f[n]+l[n]+o)/O|0,f[n]%=O;return o&&(f.unshift(o),++s),I(e,f,s)},T.precision=T.sd=function(e){var n,t,r=this,i=r.c;if(null!=e&&e!==!!e&&1!==e&&0!==e&&(j&&L(13,"argument"+w,e),e!=!!e&&(e=null)),!i)return null;if(t=i.length-1,n=t*y+1,t=i[t]){for(;t%10==0;t/=10,n--);for(t=i[0];t>=10;t/=10,n++);}return e&&r.e+1>n&&(n=r.e+1),n},T.round=function(e,n){var t=new a(this);return(null==e||H(e,0,E,15))&&U(t,~~e+this.e+1,null!=n&&H(n,0,8,15,v)?0|n:B),t},T.shift=function(e){var n=this;return H(e,-S,S,16,"argument")?n.times("1e"+c(e)):new a(n.c&&n.c[0]&&(-S>e||e>S)?n.s*(0>e?0:1/0):n)},T.squareRoot=T.sqrt=function(){var e,n,i,o,u,s=this,f=s.c,l=s.s,c=s.e,h=P+4,g=new a("0.5");if(1!==l||!f||!f[0])return new a(!l||0>l&&(!f||f[0])?NaN:f?s:1/0);if(l=Math.sqrt(+s),0==l||l==1/0?(n=r(f),(n.length+c)%2==0&&(n+="0"),l=Math.sqrt(n),c=t((c+1)/2)-(0>c||c%2),l==1/0?n="1e"+c:(n=l.toExponential(),n=n.slice(0,n.indexOf("e")+1)+c),i=new a(n)):i=new a(l+""),i.c[0])for(c=i.e,l=c+h,3>l&&(l=0);;)if(u=i,i=g.times(u.plus(C(s,u,h,1))),r(u.c).slice(0,l)===(n=r(i.c)).slice(0,l)){if(i.el&&(m=b,b=S,S=m,o=l,l=g,g=o),o=l+g,m=[];o--;m.push(0));for(w=O,v=A,o=g;--o>=0;){for(r=0,p=S[o]%v,d=S[o]/v|0,s=l,u=o+s;u>o;)c=b[--s]%v,h=b[s]/v|0,f=d*c+h*p,c=p*c+f%v*v+m[u]+r,r=(c/w|0)+(f/v|0)+d*h,m[u--]=c%w;m[u]=r}return r?++i:m.shift(),I(e,m,i)},T.toDigits=function(e,n){var t=new a(this);return e=null!=e&&H(e,1,E,18,"precision")?0|e:null,n=null!=n&&H(n,0,8,18,v)?0|n:B,e?U(t,e,n):t},T.toExponential=function(e,n){return F(this,null!=e&&H(e,0,E,19)?~~e+1:null,n,19)},T.toFixed=function(e,n){return F(this,null!=e&&H(e,0,E,20)?~~e+this.e+1:null,n,20)},T.toFormat=function(e,n){var t=F(this,null!=e&&H(e,0,E,21)?~~e+this.e+1:null,n,21);if(this.c){var r,i=t.split("."),o=+X.groupSize,u=+X.secondaryGroupSize,s=X.groupSeparator,f=i[0],l=i[1],c=this.s<0,a=c?f.slice(1):f,h=a.length;if(u&&(r=o,o=u,u=r,h-=r),o>0&&h>0){for(r=h%o||o,f=a.substr(0,r);h>r;r+=o)f+=s+a.substr(r,o);u>0&&(f+=s+a.slice(r)),c&&(f="-"+f)}t=l?f+X.decimalSeparator+((u=+X.fractionGroupSize)?l.replace(new RegExp("\\d{"+u+"}\\B","g"),"$&"+X.fractionGroupSeparator):l):f}return t},T.toFraction=function(e){var n,t,i,o,u,s,f,l,c,h=j,g=this,p=g.c,d=new a(q),m=t=new a(q),w=f=new a(q);if(null!=e&&(j=!1,s=new a(e),j=h,(!(h=s.isInt())||s.lt(q))&&(j&&L(22,"max denominator "+(h?"out of range":"not an integer"),e),e=!h&&s.c&&U(s,s.e+1,1).gte(q)?s:null)),!p)return g.toString();for(c=r(p),o=d.e=c.length-g.e-1,d.c[0]=R[(u=o%y)<0?y+u:u],e=!e||s.cmp(d)>0?o>0?d:m:s,u=z,z=1/0,s=new a(c),f.c[0]=0;l=C(s,d,0,1),i=t.plus(l.times(w)),1!=i.cmp(e);)t=w,w=i,m=f.plus(l.times(i=m)),f=i,d=s.minus(l.times(i=d)),s=i;return i=C(e.minus(t),w,0,1),f=f.plus(i.times(m)),t=t.plus(i.times(w)),f.s=m.s=g.s,o*=2,n=C(m,w,o,B).minus(g).abs().cmp(C(f,t,o,B).minus(g).abs())<1?[m.toString(),w.toString()]:[f.toString(),t.toString()],z=u,n},T.toNumber=function(){return+this},T.toPower=T.pow=function(e,n){var t,r,i,o=m(0>e?-e:+e),u=this;if(null!=n&&(M=23,n=new a(n)),!H(e,-S,S,23,"exponent")&&(!isFinite(e)||o>S&&(e/=0)||parseFloat(e)!=e&&!(e=NaN))||0==e)return t=Math.pow(+u,e),new a(n?t%n:t);for(n?e>1&&u.gt(q)&&u.isInt()&&n.gt(q)&&n.isInt()?u=u.mod(n):(i=n,n=null):J&&(t=d(J/y+2)),r=new a(q);;){if(o%2){if(r=r.times(u),!r.c)break;t?r.c.length>t&&(r.c.length=t):n&&(r=r.mod(n))}if(o=m(o/2),!o)break;u=u.times(u),t?u.c&&u.c.length>t&&(u.c.length=t):n&&(u=u.mod(n))}return n?r:(0>e&&(r=q.div(r)),i?r.mod(i):t?U(r,J,B):r)},T.toPrecision=function(e,n){return F(this,null!=e&&H(e,1,E,24,"precision")?0|e:null,n,24)},T.toString=function(e){var n,t=this,i=t.s,o=t.e;return null===o?i?(n="Infinity",0>i&&(n="-"+n)):n="NaN":(n=r(t.c),n=null!=e&&H(e,2,64,25,"base")?D(l(n,o),0|e,10,i):k>=o||o>=$?f(n,o):l(n,o),0>i&&t.c[0]&&(n="-"+n)),n},T.truncated=T.trunc=function(){return U(new a(this),this.e+1,1)},T.valueOf=T.toJSON=function(){var e,n=this,t=n.e;return null===t?n.toString():(e=r(n.c),e=k>=t||t>=$?f(e,t):l(e,t),n.s<0?"-"+e:e)},null!=e&&a.config(e),a}function t(e){var n=0|e;return e>0||e===n?n:n-1}function r(e){for(var n,t,r=1,i=e.length,o=e[0]+"";i>r;){for(n=e[r++]+"",t=y-n.length;t--;n="0"+n);o+=n}for(i=o.length;48===o.charCodeAt(--i););return o.slice(0,i+1||1)}function i(e,n){var t,r,i=e.c,o=n.c,u=e.s,s=n.s,f=e.e,l=n.e;if(!u||!s)return null;if(t=i&&!i[0],r=o&&!o[0],t||r)return t?r?0:-s:u;if(u!=s)return u;if(t=0>u,r=f==l,!i||!o)return r?0:!i^t?1:-1;if(!r)return f>l^t?1:-1;for(s=(f=i.length)<(l=o.length)?f:l,u=0;s>u;u++)if(i[u]!=o[u])return i[u]>o[u]^t?1:-1;return f==l?0:f>l^t?1:-1}function o(e,n,t){return(e=c(e))>=n&&t>=e}function u(e){return"[object Array]"==Object.prototype.toString.call(e)}function s(e,n,t){for(var r,i,o=[0],u=0,s=e.length;s>u;){for(i=o.length;i--;o[i]*=n);for(o[r=0]+=b.indexOf(e.charAt(u++));rt-1&&(null==o[r+1]&&(o[r+1]=0),o[r+1]+=o[r]/t|0,o[r]%=t)}return o.reverse()}function f(e,n){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(0>n?"e":"e+")+n}function l(e,n){var t,r;if(0>n){for(r="0.";++n;r+="0");e=r+e}else if(t=e.length,++n>t){for(r="0",n-=t;--n;r+="0");e+=r}else t>n&&(e=e.slice(0,n)+"."+e.slice(n));return e}function c(e){return e=parseFloat(e),0>e?d(e):m(e)}var a,h,g,p=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,d=Math.ceil,m=Math.floor,w=" not a boolean or binary digit",v="rounding mode",N="number type has more than 15 significant digits",b="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_",O=1e14,y=14,S=9007199254740991,R=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],A=1e7,E=1e9;if("undefined"!=typeof crypto&&(h=crypto),a=n(),a["default"]=a.BigNumber=a,"function"==typeof define&&define.amd)define(function(){return a});else if("undefined"!=typeof module&&module.exports){if(module.exports=a,!h)try{h=require("crypto")}catch(D){}}else e||(e="undefined"!=typeof self?self:Function("return this")()),e.BigNumber=a}(this); - -BigNumber.config({ ERRORS: false }); diff --git a/js/bootstrap.min.js b/js/bootstrap.min.js deleted file mode 100755 index 7f21c1eb..00000000 --- a/js/bootstrap.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * Bootstrap v3.0.2 by @fat and @mdo - * Copyright 2013 Twitter, Inc. - * Licensed under http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world by @mdo and @fat. - */ - -if("undefined"==typeof jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(''}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery); \ No newline at end of file diff --git a/js/ethplorer-note.js b/js/ethplorer-note.js deleted file mode 100644 index 0da2c4ee..00000000 --- a/js/ethplorer-note.js +++ /dev/null @@ -1,67 +0,0 @@ -/*! - * Copyright 2017 Everex https://everex.io - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -EthplorerNote = { - service: "/service/service.php", - next: 0, - notes: [], - init: function(container){ - EthplorerNote.container = container; - if((document.location.host !== 'ethplorer.io') && (document.location.host.indexOf('ethplorer') < 0)){ - EthplorerNote.service = '//ethplorer.io' + EthplorerNote.service; - } - var inner = $('
'); - inner.addClass('ethplorer-note'); - EthplorerNote.container.append(inner); - EthplorerNote.inner = inner; - EthplorerNote.loadNotes(); - }, - loadNotes: function(){ - $.getJSON(EthplorerNote.service, {notes: 1}, function(data, status, xhr){ - if(('undefined' !== typeof(data)) && data.length){ - EthplorerNote.notes = data; - EthplorerNote.showNext(); - } - }); - }, - showNext: function(){ - if(!EthplorerNote.notes.length){ - return; - } - if(EthplorerNote.next >= EthplorerNote.notes.length){ - EthplorerNote.next = 0; - } - - EthplorerNote.container.show(); - - var note = EthplorerNote.notes[EthplorerNote.next]; - EthplorerNote.inner.fadeOut(500, function(_data){ - return function(){ - var link = "/go.php?link=" + _data.link; - EthplorerNote.inner.html(_data.html.replace(/\%link\%/g, link)); - if(_data.image){ - var img = $(''); - img.attr('src', _data.image); - EthplorerNote.inner.prepend(img); - } - EthplorerNote.inner.fadeIn(800); - } - }(note)); - - EthplorerNote.next++; - setTimeout(EthplorerNote.showNext, 15000); - } -}; \ No newline at end of file diff --git a/js/ethplorer-search.js b/js/ethplorer-search.js deleted file mode 100644 index f15a3f0f..00000000 --- a/js/ethplorer-search.js +++ /dev/null @@ -1,73 +0,0 @@ -/*! - * Copyright 2017 Everex https://everex.io - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -EthplorerSearch = { - data: {}, - service: "/service/service.php", - searchCache: {}, - init: function(form, el, cb){ - EthplorerSearch.form = form; - EthplorerSearch.el = el; - EthplorerSearch.cb = cb; - EthplorerSearch.form.submit(function(e){ - if('function' === typeof(EthplorerSearch.cb)){ - EthplorerSearch.cb(EthplorerSearch.el.val(), true); - } - e.preventDefault(); - }); - EthplorerSearch.el.autocomplete({ - source: function(request, response){ - var search = request.term; - if(search in EthplorerSearch.searchCache){ - response(EthplorerSearch.searchCache[search]); - return; - } - $.getJSON(EthplorerSearch.service, {search: search}, function(data, status, xhr){ - if(!data.total){ - data.results = [false]; - }else{ - if(data.total > data.results.length){ - data.results.push({more: (data.total - data.results.length)}); - } - } - EthplorerSearch.searchCache[search] = data.results; - response(data.results); - }); - }, - minLength: 1, - select: function(event, ui){ - if('undefined' !== typeof(ui.item[2])){ - document.location.href = '/address/' + ui.item[2]; - } - } - }) - .autocomplete( "instance" )._renderItem = function(ul, res){ - if(!res) return; - if('undefined' !== typeof(res[0])){ - var address = res[2]; - var text = (res[0] ? $('').text(res[0]).html() : "") + (res[1] ? (' (' + res[1] + ')') : ''); - text = text.replace(new RegExp(EthplorerSearch.el.val(), 'ig'), "$&"); - address = address.replace(new RegExp(EthplorerSearch.el.val(), 'ig'), "$&"); - text += (' ' + address + '') - return $('
  • ').append(text).appendTo(ul); - } - if('undefined' !== typeof(res.more)){ - return $('
  • ').append(res.more + ' results more...').appendTo(ul); - } - return $('
  • ').append('No results').appendTo(ul); - }; - } -}; diff --git a/js/ethplorer.js b/js/ethplorer.js deleted file mode 100644 index 682c79e2..00000000 --- a/js/ethplorer.js +++ /dev/null @@ -1,2108 +0,0 @@ -/*! - * Copyright 2016 Everex https://everex.io - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -Ethplorer = { - debug: false, - debugId: "", - data: {}, - pageSize: 10, - service: /*"https://ethplorer.io/service/service.php",*/ "/service/service.php", - filter: '', - ethPrice: {rate: 0, diff: 0}, - searchCache: {}, - saveData: function(){}, - Config: {testnet: false}, - Extensions: {}, - handlers: {}, - init: function(){ - if('undefined' !== typeof(ethplorerConfig)){ - Ethplorer.Config = ethplorerConfig; - } - Ethplorer.isProd = ('ethplorer.io' === document.location.host); - BigNumber.config({ ERRORS: false }); - Ethplorer.Nav.init(); - Ethplorer.Storage.init(); - Ethplorer.pageSize = Ethplorer.Storage.get('pageSize', 10); - if(Ethplorer.pageSize > 10){ - Ethplorer.Nav.set('pageSize', Ethplorer.pageSize); - } - if(Ethplorer.Nav.get('pageSize')){ - Ethplorer.pageSize = Ethplorer.Nav.get('pageSize'); - } - if(Ethplorer.Nav.get('filter')){ - var filter = Ethplorer.Nav.get('filter'); - if(filter){ - filter = filter.toLowerCase(); - if(Ethplorer.checkFilter(filter)){ - Ethplorer.filter = filter; - Ethplorer.Nav.set('filter', Ethplorer.filter); - $('.filter-clear').show(); - $('#filter_list').val(Ethplorer.filter); - $('#filter_list').addClass('filled'); - }else{ - Ethplorer.Nav.del('filter'); - } - } - } - Ethplorer.route(); - $('#network').text(Ethplorer.Config.testnet ? 'Test' : 'Modern'); - $('.navbar-nav li[data-page]').click(function(){ - if($(this).hasClass('active')) return; - if(!$('#loader:visible').length){ - $('.content-page:visible').hide(); - $('#' + $(this).attr('data-page')).show(); - $('.navbar-nav li').removeClass('active'); - $(this).addClass('active'); - } - }); - $(document).on('click', '.tx-details-link', function(){ - Ethplorer.Storage.set('tx-details-block', 'open'); - $('.tx-details-link').addClass('closed'); - $('#tx-details-block').show(); - $("#tx-details-block").find("tr:visible:odd").addClass("odd"); - $("#tx-details-block").find("tr:visible:even").addClass("even"); - $("#tx-details-block").find("tr:visible:last").addClass("last"); - }); - $(document).on('click', '.tx-details-close', function(){ - Ethplorer.Storage.set('tx-details-block', 'closed'); - $('.tx-details-link').removeClass('closed'); - $('#tx-details-block').hide(); - }); - $(document).on('click', '[data-toggle="tab"]', function(){ - Ethplorer.Nav.set('tab', $(this).parent().attr('id')); - }); - $('.download').click(function(){ - var date = new Date(); - var hashDate = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate(); - var href = $(this).attr("href"); - if(href.indexOf('&hash') == -1){ - href += '&hash=' + md5($(this).attr("href") + hashDate); - } - $(this).attr("href", href); - /*$('.export-csv').hide(); - $('.export-csv-spinner').show(); - Ethplorer.downloadData($(this).attr('data-address'));*/ - }); - if(Ethplorer.Nav.get('tab')){ - $('#' + Ethplorer.Nav.get('tab') +' a').click(); - } - $('.filter-clear').click(function(){ - $('#filter_list').val(''); - $('.filter-form').trigger('submit'); - }); - $('.filter-form').submit(function(e){ - e.preventDefault(); - var filter = $('#filter_list').val().toLowerCase(); - if(Ethplorer.filter != filter){ - if(filter){ - if(Ethplorer.checkFilter(filter)){ - $('.filter-clear').show(); - Ethplorer.Nav.set('filter', filter); - $('#filter_list').addClass('filled'); - }else{ - if(!$('#filter-error').length){ - var errDiv = $('
    '); - errDiv.addClass("col-xs-12 text-right"); - errDiv.text('Invalid filter value'); - $('.filter-box').after(errDiv); - $('#filter-error').show(500, function(){ - setTimeout(function(){ - $('#filter-error').hide(500, function(){ - $('#filter-error').remove(); - }); - }, 3000); - }); - } - return; - } - }else{ - $('.filter-clear').hide(); - $('#filter_list').removeClass('filled'); - Ethplorer.Nav.del('filter'); - } - Ethplorer.filter = filter; - Ethplorer.showTableLoader(); - $('#filter_list').attr('disabled', true) - - // Reload active tab, set other tabs as need to reload - Ethplorer.reloadTab(false, true); - } - }); - $('.nav-tabs li a').click(function(){ - var tabName = $(this).parent().attr('id').replace('tab-', ''); - if(('undefined' !== typeof(Ethplorer.reloadTabs)) && (Ethplorer.reloadTabs.indexOf(tabName) >= 0)){ - Ethplorer.reloadTab(tabName, false); - } - setTimeout(function(){ - $("table").find("tr:visible:last").addClass("last"); - }, 300); - }); - var blockStatus = Ethplorer.Storage.get('tx-details-block', 'open'); - if('open' === blockStatus){ - $('.tx-details-link').addClass('closed'); - $('#tx-details-block').show(); - }else{ - $('.tx-details-link').removeClass('closed'); - $('#tx-details-block').hide(); - } - - // @see ethplorer-search.js - // @todo extension - if('undefined' !== typeof(EthplorerSearch)){ - EthplorerSearch.init($('#search-form'), $('#search'), Ethplorer.search); - } - - // @see ethplorer-adv.js - // @todo extension - if('undefined' !== typeof(EthplorerNote)){ - EthplorerNote.init($('#ethplorer-note')); - } - - // Initialize extensions - if(Ethplorer.Extensions){ - for(var ext in Ethplorer.Extensions){ - Ethplorer.Extensions[ext].init(); - } - } - - // implement save to file function - /*Ethplorer.saveData = function(data, name, mimetype){ - var file = new File([data], name, {type: mimetype + ";charset=utf-8"}); - saveAs(file); - saveAs( - new Blob( - [data] - , {type: mimetype} - ) - , name - ); - }; - - var URL = window.URL || window.webkitURL || window.mozURL || window.msURL; - if(Blob && URL){ - Ethplorer.saveData = function(data, name, mimetype){ - var blob, url; - if(!mimetype) mimetype = 'application/octet-stream'; - if('download' in document.createElement('a')){ - blob = new Blob([data], {type: mimetype}); - url = URL.createObjectURL(blob); - var link = document.createElement('a'); - link.setAttribute('href', url); - link.setAttribute('download', name || 'ethplorer.data'); - var event = document.createEvent('MouseEvents'); - event.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null); - link.dispatchEvent(event); - } - setTimeout(function(){ URL.revokeObjectURL(url); }, 250); - }; - }else if(!/\bMSIE\b/.test(navigator.userAgent)){ - Ethplorer.saveData = function(data, name, mimetype){ - if(!mimetype) mimetype = 'application/octet-stream'; - window.open("data:" + mimetype + "," + encodeURIComponent(data), '_blank', ''); - }; - }*/ - }, - getActiveTab: function(){ - var tab = ($('.nav-tabs:visible li.active').length) ? $('.nav-tabs:visible li.active').attr('id').replace('tab-', '') : false; - if(!tab){ - if($('#address-transfers:visible').length){ - tab = 'transfers'; - } - if($('#address-chainy-tx:visible').length){ - tab = 'chainy'; - } - } - return tab; - }, - reloadTab: function(name, reloadOthers){ - var tabs = ['transfers', 'issuances', 'chainy', 'holders']; - if(!name){ // Get active tab if name not set - name = Ethplorer.getActiveTab(); - } - if(tabs.indexOf(name) < 0){ - return; - } - var methodName = 'draw' + name[0].toUpperCase() + name.substr(1); - if('undefined' !== typeof(Ethplorer[methodName])){ - Ethplorer.showTableLoader(); - Ethplorer.loadAddressData(Ethplorer.currentAddress, {refresh: name}, Ethplorer[methodName]); - } - if(reloadOthers){ - Ethplorer.reloadTabs = tabs; - } - if(('undefined' !== typeof(Ethplorer.reloadTabs)) && (Ethplorer.reloadTabs.indexOf(name) >= 0)){ - delete Ethplorer.reloadTabs[Ethplorer.reloadTabs.indexOf(name)]; - } - }, - checkFilter: function(filter){ - return (!filter || /^[0-9a-fx]+$/.test(filter)); - }, - route: function(){ - var pathData = Ethplorer.Utils.parsePath(); - switch(pathData.cmd){ - case 'tx': - Ethplorer.getTxDetails(pathData.arg); - break; - case 'address': - Ethplorer.getAddressDetails(pathData.arg); - break; - case 'search': - Ethplorer.search(pathData.arg); - break; - default: - Ethplorer.error('Invalid request'); - } - }, - error: function(message){ - Ethplorer.hideLoader(); - $('.content-page').hide(); - $('#error-reason').text(message); - $('#error').show(); - $('#ethplorer-path').hide(); - }, - getTxErrorReason: function(reason){ - var aReasons = { - out_of_gas: 'Out of gas' - }; - return ('undefined' !== typeof(aReasons[reason])) ? aReasons[reason] : reason; - }, - getTxDetails: function (txHash, abi){ - Ethplorer.showLoader(); - - // Check TX hash format first - txHash = txHash.toLowerCase(); - if(!/^0x[0-9a-f]{64}$/i.test(txHash)){ - Ethplorer.error('Invalid transaction hash'); - return; - } - var requestData = {data: txHash}; - if(Ethplorer.debug){ - requestData.debugId = Ethplorer.debugId; - } - $.getJSON(Ethplorer.service, requestData, function(_txHash){ - return function(data){ - if(data.ethPrice){ - Ethplorer.ethPrice = data.ethPrice; - } - Ethplorer.showTxDetails(_txHash, data); - } - }(txHash)); - }, - - knownContracts: [], - dataFields: {}, - - showOpDetails: function(oTx, op){ - var titleAdd = ''; - var oToken = Ethplorer.prepareToken(op.token); - var tokenName = ('N/A' !== oToken.name) ? oToken.name : '[ERC20]'; - titleAdd += (tokenName + ' '); - $('.token-name:eq(0)').html(Ethplorer.Utils.getEthplorerLink(oToken.address, tokenName, false)); - $('.token-name:eq(1)').html(Ethplorer.Utils.getEthplorerLink(oToken.address, oToken.name , false)); - var txData = {tx: oTx, operation: op, token: oToken}; - - $('.token-related td.list-field').empty(); - Ethplorer.fillValues('transaction', txData, ['token', 'token.timestamp', 'token.contract', 'token.symbol', 'token.price', 'token.decimals', 'token.owner']); - var totalSupply = oToken.totalSupply; - if(oToken.price && oToken.price.rate){ - var pf = parseFloat(totalSupply.replace(/\,/g,'').split(' ')[0]); - if(pf){ - pf = Ethplorer.Utils.round(pf * oToken.price.rate, 2); - totalSupply = totalSupply + '
    $ ' + Ethplorer.Utils.formatNum(pf, true, 2, true) + ''; - $('#transaction-token-totalSupply').html(totalSupply); - } - } - - if(oToken.estimatedDecimals){ - $('#transaction-token-decimals').append(' (estimated)'); - } - - $('#transfer-tx-timestamp').html($('#transaction-tx-timestamp').html()); - - if($('#transaction-tx-message').html()){ - $('#transfer-tx-message').html($('#transaction-tx-message').html()); - $('#transaction-tx-message').html('') - } - var oOperation = txData.operation; - // Temporary workaround - if(oOperation.type == 'Mint'){ - oOperation.type = 'Issuance'; - } - - var valFloat = parseFloat(Ethplorer.Utils.toBig(oOperation.value).toString()); - valFloat = valFloat / Math.pow(10, oToken.decimals) - if('undefined' !== typeof(oOperation.formatted)){ - if(Ethplorer.Utils.isSafari()){ - oOperation.value = valFloat; - }else{ - oOperation.value = Ethplorer.Utils.toBig(oOperation.value).div(Math.pow(10, oToken.decimals)); - } - oOperation.value = Ethplorer.Utils.formatNum(oOperation.value, true, oToken.decimals, true, true); - oOperation.value = oToken.symbol ? (oOperation.value + ' ' + oToken.symbol) : oOperation.value; - oOperation.formatted = true; - } - var value = oOperation.value; - if(valFloat && oToken.price && oToken.price.rate){ - value = value + '
    ($ ' + Ethplorer.Utils.formatNum(oToken.price.rate * valFloat, true, 2, true, true) + ')'; - } - $('#transfer-operation-value').html(value); - - titleAdd += oOperation.type; - $('.token-operation-type').text(oOperation['type']); - Ethplorer.fillValues('transfer', txData, ['operation', 'operation.from', 'operation.to']); - if(oTx.blockNumber){ - $('#txTokenStatus')[oOperation.success ? 'removeClass' : 'addClass']('text-danger'); - $('#txTokenStatus')[oOperation.success ? 'addClass' : 'removeClass']('text-success'); - $('#txTokenStatus').html(oOperation.success ? 'Success' : 'Failed' + (oOperation.failedReason ? (': ' + Ethplorer.getTxErrorReason(oOperation.failedReason)) : '')); - $('#operation-status').addClass(oOperation.success ? 'green' : 'red'); - } - document.title = 'Ethplorer: ' + (titleAdd ? (titleAdd + ' -') : ''); - Ethplorer.Utils.hideEmptyFields(); - }, - - - showTxDetails: function(txHash, txData){ - // $('#ethplorer-path').html('

    Transaction hash: ' + txHash + '

    '); - $('#ethplorer-path').show(); - - $('.list-field').empty(); - $('#transaction-tx-hash').html(Ethplorer.Utils.getEtherscanLink(txHash)); - $('.token-related')[txData.token ? 'show' : 'hide'](); - $('#tx-status, #operation-status').removeClass('green red'); - - var oTx = txData.tx; - if(false === oTx){ - Ethplorer.error('Transaction not found'); - return; - } - - Ethplorer.knownContracts = txData.contracts ? txData.contracts : []; - - if(oTx.blockNumber){ - $('#txEthStatus')[oTx.success ? 'removeClass' : 'addClass']('text-danger'); - $('#txEthStatus')[oTx.success ? 'addClass' : 'removeClass']('text-success'); - $('#txEthStatus').html(oTx.success ? 'Success' : 'Failed' + (oTx.failedReason ? (': ' + Ethplorer.getTxErrorReason(oTx.failedReason)) : '')); - $('#tx-status').addClass(oTx.success ? 'green' : 'red'); - }else{ - $('#txEthStatus').removeClass('text-danger text-success'); - $('#txEthStatus').html('Pending'); - } - - var titleAdd = ''; - - $('#tx-parsed').hide(); - if(oTx.input.length){ - oTx.input = oTx.input.toUpperCase().replace(/^0x/i, ''); - Ethplorer.dataFields['transaction-tx-input'] = { - hex: oTx.input, - ascii: Ethplorer.Utils.hex2ascii(oTx.input) - }; - var obj = Ethplorer.Utils.parseJData(oTx.input); - var isChainy = false; - if(oTx.to && ('0xf3763c30dd6986b53402d41a8552b8f7f6a6089b' === oTx.to)){ - var input = Ethplorer.Utils.hex2ascii(oTx.input.substring(136).replace(/0+$/, '')); - try { - obj = JSON.parse(input); - }catch(e){ - // console.log(e.message); - // console.log(input); - } - Ethplorer.dataFields['transaction-tx-input']['ascii'] = input; - if(('undefined' !== typeof(obj['id'])) && ('CHAINY' === obj['id'])){ - // Chainy transaction - var chainyTypes = { - 'R': 'Redirect', - 'T': 'Text', - 'H': 'Hash', - 'L': ('undefined' !== typeof(obj['url'])) ? 'File Link' : 'File Hash', - 'E': 'Encrypted' - }; - titleAdd = 'Chainy ' + chainyTypes[obj['type']]; - $('#chainy-op').text(chainyTypes[obj['type']]); - if('undefined' !== typeof(obj['url'])){ - $('#chainy-url').html(' ' + obj['url'] + ''); - } - var aFields = ['hash', 'filename', 'filesize', 'description']; - for(var f = 0; f < aFields.length; f++){ - var fld = aFields[f]; - if('undefined' !== typeof(obj[fld])){ - $('#chainy-' + fld).text(obj[fld]); - } - } - var log = oTx.receipt && oTx.receipt.logs && oTx.receipt.logs.length ? oTx.receipt.logs[0] : false; - if(log && log.topics && log.topics.length && (0 === log.topics[0].indexOf("0xdad5c"))){ - try { - var data = log.data.slice(194).replace(/0+$/, ''); - var link = Ethplorer.Utils.hex2ascii(data); - $('#chainy-link').html(' ' + link + ''); - }catch(e){} - } - $('.chainy').show(); - isChainy = true; - } - } - if(false !== obj){ - $('#transaction-tx-parsed').text(JSON.stringify(obj, null, 4)); - $('#tx-parsed').show(); - if(obj.description){ - var msg = obj.description; - if(obj.link){ - msg = msg + ' ' + obj.link; - } - var msgid = isChainy ? "#chainy-message" : '#transaction-tx-message'; - msg = $('').text(msg).html(); - msg = msg.replace(/http[s]?\:\/\/[^\s]*/g, '$&'); - msg = msg.replace(/~~~(.*)~~~\n?/g, '

    $1

    '); - msg = msg.replace(/\n/g, '
    '); - $(msgid).html(msg); - } - } - } - if(txData.tx.gasPrice){ - txData.tx.gasPrice = parseFloat(Ethplorer.Utils.toBig(txData.tx.gasPrice).toString()); - txData.tx.cost = txData.tx.gasUsed ? txData.tx.gasPrice * txData.tx.gasUsed : 0; - } - Ethplorer.fillValues('transaction', txData, ['tx', 'tx.from', 'tx.to', 'tx.creates', 'tx.value', 'tx.timestamp', 'tx.gasLimit', 'tx.gasUsed', 'tx.gasPrice', 'tx.fee', 'tx.nonce', 'tx.blockNumber', 'tx.confirmations', 'tx.input', 'tx.cost', 'tx.method']); - - if(txData.token){ - var oToken = Ethplorer.prepareToken(txData.token); - var tokenName = ('N/A' !== oToken.name) ? oToken.name : '[ERC20]'; - titleAdd += (tokenName + ' '); - $('.token-name:eq(0)').html(Ethplorer.Utils.getEthplorerLink(oToken.address, tokenName, false)); - $('.token-name:eq(1)').html(Ethplorer.Utils.getEthplorerLink(oToken.address, oToken.name , false)); - - if(oToken.image){ - var img = Ethplorer.Utils.getEthplorerLink(oToken.address, '##IMG##', false); - $('.token-related:eq(1) .block-header').find('img').remove(); - $('.token-related:eq(1) .block-header').prepend( - img.replace('##IMG##', '') - ); - } - - txData.token = oToken; - - Ethplorer.fillValues('transaction', txData, ['token', 'token.timestamp', 'token.contract', 'token.symbol', 'token.price', 'token.decimals', 'token.owner', 'token.totalSupply']); - var totalSupply = oToken.totalSupply; - if(oToken.price && oToken.price.rate){ - var pf = parseFloat(totalSupply.replace(/\,/g,'').split(' ')[0]); - if(pf){ - pf = Ethplorer.Utils.round(pf * oToken.price.rate, 2); - totalSupply = totalSupply + '
    $ ' + Ethplorer.Utils.formatNum(pf, true, 2, true) + ''; - $('#transaction-token-totalSupply').html(totalSupply); - } - } - - if(oToken.estimatedDecimals){ - $('#transaction-token-decimals').append(' (estimated)'); - } - - if($('#transaction-tx-message').html()){ - $('#transfer-tx-message').html($('#transaction-tx-message').html()); - $('#transaction-tx-message').html('') - } - if(txData.operations && txData.operations.length){ - txData.operation = txData.operations[txData.operations.length - 1]; - var multiop = txData.operations.length > 1; - for(var i=0; i'; - }else if(op.from && op.to){ - var from = 'from ' + op.from + ''; - var to = 'to ' + op.to + ''; - opParties = from + '
    ' + to; - } - if(multiop){ - var row = $( - '' + - 'Details' + - '' + op.type.toString().toUpperCase() + - ' ' + op.value + ' ' + op.symbol + '' + - '
    ' + opParties + '
    ' + - '' + op.value + '' + - '' + op.symbol + '' + - '' + - '' - ); - row[0].operation = op; - row.click(function(_tx){ - return function(){ - if($(this).hasClass('selectable')){ - $(this).removeClass('selectable'); - $('.multiop .blue').addClass('selectable'); - $('.multiop .blue').removeClass('blue'); - $(this).addClass('blue'); - $('.token-related').animate({opacity:0.1}, 250, function(){ - $('.token-related').animate({opacity:1}, 250); - }); - setTimeout(function(__tx, _op){ - return function(){ - Ethplorer.showOpDetails(__tx, _op); - }; - }(_tx, this.operation), 250); - Ethplorer.Nav.set('opIdx', ('undefined' !== typeof(this.operation.priority)) ? this.operation.priority : this.operation.index) - } - }; - }(oTx)); - $('.multiop table').append(row); - } - } - if(multiop){ - $('.multiop table tr').addClass('selectable'); - $('.multiop table tr:eq(0)').removeClass('selectable').addClass('blue'); - $('.multiop .block-header h3').text(txData.operations.length + ' internal operations found'); - $('.multiop').show(); - } - - var oOperation = txData.operation; - // Temporary workaround - if(oOperation.type == 'Mint'){ - oOperation.type = 'Issuance'; - } - titleAdd += oOperation.type; - $('.token-operation-type').text(oOperation.type); - Ethplorer.fillValues('transfer', txData, ['operation', 'operation.from', 'operation.to']); - if(oOperation.value){ - var value = oOperation.value; - if(valFloat && oToken.price && oToken.price.rate){ - value = value + '
    ($ ' + Ethplorer.Utils.formatNum(oToken.price.rate * valFloat, true, 2, true, true) + ')'; - } - $('#transfer-operation-value').html(value); - } - - if(oTx.blockNumber){ - $('#txTokenStatus')[oOperation.success ? 'removeClass' : 'addClass']('text-danger'); - $('#txTokenStatus')[oOperation.success ? 'addClass' : 'removeClass']('text-success'); - $('#txTokenStatus').html(oOperation.success ? 'Success' : 'Failed' + (oOperation.failedReason ? (': ' + Ethplorer.getTxErrorReason(oOperation.failedReason)) : '')); - $('#operation-status').addClass(oOperation.success ? 'green' : 'red'); - } - }else{ - titleAdd += 'Operation'; - $('.token-operation-type').text('Operation'); - if(oTx.receipt && oTx.receipt.logs && oTx.receipt.logs.length){ - for(var i=0; i'; - if(data.isContract && data.token){ - qrIcon = ''; - $('#address-token-details').show(); - var oToken = Ethplorer.prepareToken(data.token); - // oToken.address = oToken.address; - var ttype = (address.toLowerCase() !== "0x55d34b686aa8c04921397c5807db9ecedba00a4c") ? 'Token ' : 'Contract '; - $('#ethplorer-path').html(qrIcon + ttype + oToken.name + '
    ' + Ethplorer.Utils.toChecksumAddress(oToken.address) + ''); - titleAdd = ttype + oToken.name + (oToken.symbol ? (' [' + oToken.symbol + ']') : '' ) + ' Information'; - // Read description from tx - if(data.contract && data.contract.code){ - var json = Ethplorer.Utils.parseJData(data.contract.code); - if(json && json.description){ - oToken.description = json.description; - } - } - // Read from config - if(Ethplorer.Config.tokens && ('undefined' !== typeof(Ethplorer.Config.tokens[oToken.address]))){ - if('undefined' !== typeof(Ethplorer.Config.tokens[oToken.address].description)){ - oToken.description = Ethplorer.Config.tokens[oToken.address].description; - } - } - // console.log(oToken); - var showAlert = true; // document.location.hash && (document.location.hash.indexOf('showAlert') > 0); - if(oToken.alert && showAlert){ - $('#ethplorer-alert').html(oToken.alert); - $('#ethplorer-alert').show(); - } - if(oToken.description){ - oToken.description = $('').text(oToken.description).html(); - oToken.description = oToken.description.replace(/http[s]?\:\/\/[^\s]*/g, '$&'); - oToken.description = oToken.description.replace(/~~~(.*)~~~\n?/g, '

    $1

    '); - oToken.description = oToken.description.replace(/\n/g, '
    '); - }else{ - oToken.description = ''; - } - - // Add website, social icons and other links - if(oToken.description && (oToken.website || oToken.facebook || oToken.twitter || oToken.reddit || oToken.telegram)){ - oToken.description = oToken.description + '
    '; - } - if(oToken.website){ - if(oToken.description){ - oToken.description = oToken.description + '
    '; - } - oToken.description = oToken.description + ' ' + oToken.website + ''; - } - if(oToken.facebook){ - oToken.description = oToken.description + '
    ' + oToken.facebook + ''; - } - if(oToken.twitter){ - oToken.description = oToken.description + '
    ' + oToken.twitter + ''; - } - if(oToken.reddit){ - oToken.description = oToken.description + '
    ' + oToken.reddit + ''; - } - if(oToken.telegram){ - oToken.description = oToken.description + '
    Join Channel'; - } - if(oToken.links){ - oToken.links = oToken.links.replace(/http[s]?\:\/\/[^\s]*/g, '$&'); - oToken.links = oToken.links.replace(/\n/g, '
    '); - oToken.description = oToken.description + '

    ' + oToken.links; - } - - if(oToken.image){ - $('#address-token-details .block-header').find('img').remove(); - $('#address-token-details .block-header').prepend(''); - } - $('.address-token-name').html(oToken.name); - if(Ethplorer.Config.updateLink){ - $('.address-token-name:eq(0)').append('Update') - } - - Ethplorer.drawHolders(srcAddress, data); - Ethplorer.drawIssuances(srcAddress, data); - - if(data.pager && data.pager.transfers){ - data.token.transfersCount = data.pager.transfers.total; - } - if(data.pager && data.pager.issuances){ - data.token.issuancesCount = ''; - if(data.pager.issuances.total){ - data.token.issuancesCount = data.pager.issuances.total; - } - } - if(data.pager && data.pager.holders){ - data.token.holdersCount = data.pager.holders.total; - } - - if(data.contract && data.contract.txsCount && (data.contract.txsCount > data.token.txsCount)){ - data.token.txsCount = data.contract.txsCount; - } - - var fields = [ - 'token', 'token.name', 'token.price', 'token.description', 'token.owner', 'token.totalSupply', 'token.totalIn', 'token.totalOut', 'token.decimals', 'token.symbol', - 'token.txsCount', 'token.transfersCount', 'token.issuancesCount', 'token.holdersCount', 'token.createdAt', 'token.createdTx' - ]; - - $('#tab-issuances').show(); - $('#tab-holders').show(); - - Ethplorer.fillValues('address', data, fields); - - var totalSupply = oToken.totalSupply; - if(oToken.price && oToken.price.rate){ - var pf = parseFloat(totalSupply.replace(/\,/g,'').split(' ')[0]); - if(pf){ - pf = Ethplorer.Utils.round(pf * oToken.price.rate, 2); - totalSupply = totalSupply + '
    $ ' + Ethplorer.Utils.formatNum(pf, true, 2, true) + ''; - $('#address-token-totalSupply').html(totalSupply); - } - } - - if(oToken.estimatedDecimals){ - $('#address-token-decimals').append(' (estimated)'); - } - }else if(data.balances && data.balances.length){ - // Fill prices - var totalPrice = 0; - var lastTotalPrice = 0; - for(var k=0; k 0) && oToken.price && oToken.price.rate){ - data.balances[k].price = oToken.price.rate; - data.balances[k].balanceUSD = oToken.price.rate * qFloat; - var lastRate = oToken.price.diff > -100 ? (oToken.price.rate / (1 + oToken.price.diff / 100)) : 0; - lastTotalPrice += qFloat * lastRate; - totalPrice += data.balances[k].balanceUSD; - } - } - var totalDiff = Ethplorer.Utils.round(Ethplorer.Utils.pdiff(totalPrice, lastTotalPrice), 2); - // Sort - var balances = data.balances.sort(function(a,b){ - if(a.price && !b.price) return -1; - if(b.price && !a.price) return 1; - if(a.balanceUSD < b.balanceUSD) - return 1; - if (a.balanceUSD > b.balanceUSD) - return -1; - return 0; - }); - - // Show - $('#address-token-balances table').empty(); - for(var k=0; k'); - var qty = balance.qty; - if(!parseFloat(qty.toString()) && !(balance.totalIn || balance.totalOut)){ - // No balance and no movement - skip - continue; - } - var value = Ethplorer.Utils.formatNum(qty, true, oToken.decimals, true, true) + ' ' + oToken.symbol; - if(balances[k].price){ - var rate = oToken.price; - var price = balances[k].balanceUSD; - value += ('
    $ ' + Ethplorer.Utils.formatNum(price, true, 2, true) + ' '); - if(rate.diff){ - var cls = rate.diff > 0 ? 'diff-up' : 'diff-down'; - var hint = 'Updated at ' + Ethplorer.Utils.ts2date(rate.ts, true); - if(rate.diff > 0){ - rate.diff = '+' + rate.diff; - } - value = value + ' (' + Ethplorer.Utils.round(rate.diff, 2) + '%)' - } - value = value + '
    '; - - } - // @temporary off - if(false && (balance.totalIn || balance.totalOut)){ - value += '
    '; - var totalIn = Ethplorer.Utils.toBig(balance.totalIn); - var totalOut = Ethplorer.Utils.toBig(balance.totalOut); - if(Ethplorer.Utils.isSafari()){ - totalIn = parseFloat(totalIn.toString()) / Math.pow(10, oToken.decimals); - totalOut = parseFloat(totalOut.toString()) / Math.pow(10, oToken.decimals); - }else{ - totalIn = totalIn.div(Math.pow(10, oToken.decimals)); - totalOut = totalOut.div(Math.pow(10, oToken.decimals)); - } - value += ('
    Total In: ' + Ethplorer.Utils.formatNum(totalIn, true, oToken.decimals, true) + '
    '); - value += ('Total Out: ' + Ethplorer.Utils.formatNum(totalOut, true, oToken.decimals, true) + '
    '); - } - row.append('' + Ethplorer.Utils.getEthplorerLink(balance.contract, oToken.name, false) + ''); - row.append('' + value + ''); - row.find('td:eq(1)').addClass('text-right'); - $('#address-token-balances table').append(row); - } - if(totalPrice){ - var value = '~ $ ' + Ethplorer.Utils.formatNum(totalPrice, true, 2, true, true); - if(totalDiff){ - var cls = totalDiff > 0 ? 'diff-up' : 'diff-down'; - if(totalDiff > 0){ - totalDiff = '+' + totalDiff; - } - value = value + ' (' + Ethplorer.Utils.round(totalDiff, 2) + '%)'; - } - $('#address-balances-total').html('' + value + ''); - }else{ - $('#address-balances-total').html(' '); - } - } - - if(!data.isContract || !data.token){ - $('.nav-tabs').hide(); - $('.filter-box').addClass('out-of-tabs'); - if(!$('#address-token-balances table tr').length){ - var row = $(''); - var cell = $(''); - cell.html('No token balances found'); - row.append(cell); - $('#address-token-balances table').append(row); - $('#address-token-balances table').show(); - $('#address-balances-total').remove(); - } - $('#address-token-balances').show(); - }else{ - $('.filter-box').addClass('in-tabs'); - } - - if(!data.contract || !data.contract.isChainy){ - Ethplorer.drawTransfers(srcAddress, data); - } - - document.title = 'Ethplorer'; - document.title += (': ' + (titleAdd ? (titleAdd + ' -') : '')); - document.title += ((data.isContract ? ' Ethereum contract ' : ' Ethereum address ') + Ethplorer.currentAddress); - - Ethplorer.Events.fire('ethp_showAddressDetails_finish', data); - - $('.local-time-offset').text(Ethplorer.Utils.getTZOffset()); - Ethplorer.Utils.hideEmptyFields(); - Ethplorer.hideLoader(); - if(!data.isContract || (data.contract && data.contract.isChainy)) $('#ethplorer-path').html(qrIcon + "Address: " + address); - $('#disqus_thread').show(); - $('#addressDetails').show(); - - $("table").find("tr:visible:odd").addClass("odd"); - $("table").find("tr:visible:even").addClass("even"); - $("table").find("tr:visible:last").addClass("last"); - - // Just for fun - if('0xf3Db5Fa2C66B7aF3Eb0C0b782510816cbe4813b8' === address){ - $('#tab-holders span').text('Hodlers'); - $('#address-token-holders h3').text('Token Everex Hodlers'); - } - - Ethplorer.showAddressWidget(data); - }, - - showAddressWidget: function(data){ - //console.log('testWidget = ' + testWidget); - var oToken = Ethplorer.prepareToken(data.token); - var address = Ethplorer.currentAddress; - if(('undefined' !== typeof(ethplorerWidget)) && (true || !Ethplorer.isProd)){ - if(data.token || (data.isContract && data.contract.isChainy)){ - if(data.isContract && data.contract.isChainy) oToken.name = 'Chainy'; - var widgetTitle = (oToken && oToken.name) ? ($('