Как стать автором
Обновить
10
0

Пользователь

Отправить сообщение
НЛО прилетело и опубликовало эту надпись здесь
msiexec /qn /i "Yandex_Browser.msi"
taskkill /f /im browser.exe
sc config YandexBrowserService start= disabled
sc stop YandexBrowserService
sc delete YandexBrowserService
schtasks /delete /tn "Обновление Браузера Яндекс" /f
del /q /f "%SystemRoot%\Tasks\*Яндекс*.job"

for /D %%a in ("%ProgramFiles%\chrome_BITS_*") do echo %%a & rd /s /q "%%a"
for /D %%a in ("%ProgramFiles%\chrome_url_fetcher_*") do echo %%a & rmdir /s /q "%%a"
rd /s /q "%ProgramData%\Yandex\"
rd /s /q "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Installer"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\service_update.exe"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\cs.pak"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\de.pak"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\en-US.pak"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\es.pak"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\fr.pak"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\it.pak"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\ja.pak"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\kk.pak"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\pt-BR.pak"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\pt-PT.pak"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\tr.pak"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\uk.pak"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\uz.pak"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\zh-CN.pak"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\23.9.1.1024\Locales\zh-TW.pak"
rd /s /q "%ProgramFiles%\Yandex\YandexBrowser\Application\SetupMetrics"
del /q /f "%ProgramFiles%\Yandex\YandexBrowser\Application\debug.log"
rd /s /q "%ProgramFiles%\Yandex\TempResources"
rd /s /q "%AppData%\Yandex\"

del /q /f "%USERPROFILE%\Desktop\*Yandex*.lnk"
rd /s /q "%LOCALAPPDATA%\Yandex\YandexBrowser\"
mkdir "C:\Temp\YandexBrowser"
mklink /d "%LOCALAPPDATA%\Yandex\YandexBrowser" "c:\Temp\YandexBrowser"

mkdir "%LOCALAPPDATA%\Yandex\YandexBrowser\User Data\Default"
copy /y "Copy_Yandex\master_preferences" "%ProgramFiles%\Yandex\YandexBrowser\Application\"
copy /y "Copy_Yandex\Local State" "%LOCALAPPDATA%\Yandex\YandexBrowser\User Data\"
copy /y "Copy_Yandex\Tablo" "%LOCALAPPDATA%\Yandex\YandexBrowser\User Data\Default\"
copy /y "Copy_Yandex\Yandex.lnk" "%PUBLIC%\Desktop\"

" Эх, какой надо было фантазией обладать, чтобы в это играть:) ", в том то и дело что это были не просто программы, а увлекательнейшая история путешествия двух взрослых дядек с Луны на Землю. Коршунова и Перепелкина на "Кон-Тики. История из недалекого, и уже осязаемого будущего (благодаря не дУрной физической симуляции, причем написанной для более ранней и более простой, но и более массовой версии ПМК: БЗ-34 ) Увлекательнейшее чтиво, дух захватывало так, что хотелось перечитывать его. Народ гонялся за этими калькуляторами, для полного погружения в это действо. Написал и фантастическое произведение и код симуляторов, замечательный Михаил Пухов. Тот случай когда писатель и поэт пишет код, как часть своего произведения.

Ну как бы давно известно, что у разумных представителей Homo (за исключением периода буйства гормонов в молодом возрасте) секс начинается в голове, а уже заканчивается там, где заканчивается… :-)

А вот относительно совета «разговаривать с партнером» — то это скорее пожелание быть богатым и здоровым, чем практическая рекомендация. Практически у всех женщин после рождения ребенка (или даже еще раньше — в процессе беременности) — происходит гормональный сдвиг в мозгах в сторону «яжматери». У кого-то до клинической стадии, когда она считает что вокруг нее и ребенка весь мир вращается, у кого-то поменьше… И как минимум (в норме) — она поглощена ребенком, крутится вокруг ребенка, а муж в этот момент для нее особой ценности не представляет (не путать мужа и его ресурсы — ресурсы как раз очень нужны!). И о чем тут можно разговаривать? Разумеется, есть женщины исключения, и бла-бла-бла, но статистической нормой они не являются.

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

Отсюда следует, что к первому браку (где будут рождаться первые дети) — следует относиться так же, как опытные летчики к посадке в плохую погоду: "… мы сейчас зайдем на полосу и уйдем на второй круг — но если все будет в порядке, то сядем". В применении к семье это, вероятно, звучит примерно так: "… мы сейчас вырастим детей до трех лет и разведемся, но если захотим, то будем жить дальше". Второй брак, когда у обоих уже выполнена биологическая программа — и партнер вызывает интерес именно как человек, а не как поставщик ресурсов для продолжения рода — имеет шанс быть более счастливым.

К сожалению, вместо реальной картины мира (что первый брак скорее всего придется выбросить) — в общественное сознание транслируются мифы типа "… и жили они счастливо и умерли в один день" и тому подобное. Ну а потом психологи пишут статьи типа этой…

Тоже раньше во времена android 2.3 использовал Fiddler как прокси. Потом долго не экспериментировал. А недавно как раз когда хотел для снифинга использовать Fiddler не получилось как раз из-за SSL Pinning. В итоге нашел хорошую статью про httptoolkit.tech и frida'у. Там же в статье есть ссылка на скрипт для frida unpinning. В том приложении трафик которого интересовал как раз использовался okHttp3 (подсмотрел в JADX). Все хорошо получилось подсмотреть, правда немного помучился с рутованием эмулятора с установленными сервисами.

можно рсс ленту канала проверять, она даже "гостям" доступна: достаточно зайти на сам канал чтобы из url взять channel_id канала, рсс будет по адресу https://www.youtube.com/feeds/videos.xml?channel_id=UCchBatdUMZoMfJ3rIzgV84g

Есть способ еще проще через streams (и правильнее, так как шифрование сохранится) с тем же Nginx, и даже ничего в коде скрипта менять не придется.
На стороне приложения пишем в /etc/hosts:

ip.of.my.proxy api.telegram.org

Для Nginx на проксе пишем:

stream {
# Конфигурация апстрима
upstream tgapi {
server api.telegram.org:443;
}
# Вот этот блок ради того, чтобы можно было один сервер использовать как прокси для нескольких имен
map $ssl_preread_server_name $upstream {
hostnames;
default tgapi;
api.telegram.org tgapi;
}
server {
listen 443;
ssl_preread on;
proxy_pass $upstream;
}
}


Кстати, в большинстве дистрибутивов nginx собран без stream, но оно есть в nginx-full в официальной репе самого nginx.
Если кому нужно, для своих ботов написал на Node.js небольшой модуль, который рекурсивно рассылает всем юзерам сообщение в рамках лимитов. Удобно для апдейтов по функционалу.

Жми меня!
/**
 * Used to send messages to all users
 *
 * @module sendout
 * @license MIT
 */

/** Dependencies */

const db = require('./db');

/**
 * Used to send messages to all chats
 * @param {Telegram:Bot} bot Bot that should send messages
 * @param {String} text Text to be sent
 */
function sendAll(bot, text) {
  db.getChats()
    .then((chats) => {
      sendMessage(text, chats, bot, {});
    })
    .catch(/** todo: handle error */);
}

/**
 * Recursive function to send text to an array of chats; please don't use this
 *    function twice at any given point of time. Sends at most 30 messages/sec
 *
 * @param {String} text - Text to be sent
 * @param {[Mongoose:Chat]} chats - Chats to get this message
 * @param  {Telegram:Bot} bot - Bot that should respond
 */
function sendMessage(text, chats, bot, results) {
  if (chats.length <= 0) {
    const keys = Object.keys(results);
    const successKeyIndex = keys.indexOf('success');
    if (successKeyIndex > -1) {
      keys.splice(successKeyIndex, 1);
    }
    let message = `All messages were sent, here are the results:\n\nSuccess: ${results.success || 0}`;

    keys.forEach((key) => {
      message = `${message}\n${key}: ${results[key]}`;
    });

    bot.sendMessage('ваш id', message);
    return;
  }

  /** Get current users and users for the next loop */
  const nextUsers = Object.create(chats);
  const currentUsers = nextUsers.splice(0, 30);
  const resultsCopy = Object.create(results);

  const promises = [];
  currentUsers.forEach((user) => {
    promises.push(new Promise((resolve) => {
      bot.sendMessage(user.id, text, {
        disable_web_page_preview: 'true',
      })
        .then(() => resolve('success'))
        .catch((err) => {
          resolve(String(err.message));
        });
    }));
  });
  Promise.all(promises)
    .then((values) => {
      values.forEach((value) => {
        if (resultsCopy[value]) {
          resultsCopy[value] += 1;
        } else {
          resultsCopy[value] = 1;
        }
      });
      setTimeout(() => {
        sendMessage(text, nextUsers, bot, resultsCopy);
      }, 1500);
    })
    .catch(err => bot.sendMessage('ваш id', err.message));
}

module.exports = {
  sendAll,
};
Например, достаточно легко сделать суммаризацию списка ip-адресов через решения на perl или python. Простой скрипт на perl, делающий это с помощью Net::CIDR::Lite, превращает 85 тысяч префиксов в 60 (не тысяч), но, естественно, перекрывает гораздо бОльший диапазон адресов, чем заблокировано.

Вот этот момент я немножечко не понял.
Я набросал скрипт на перле:
curl -s https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv | perl -MSocket -F'\s|;|\|' -nlae 'BEGIN{$mask = 24 ;for($i=0;$i<$mask;$i++){$bm=($bm<<1)+1}$bm=$bm<<(32-$mask)}for(@F){next if !(/^((25[0-5]?|2[0-4]?\d|[01]?\d\d?)\.){3}(25[0-5]?|2[0-4]?\d?|[01]?\d\d?)$/);$h{unpack("N",inet_aton($_))&$bm}+=1}END{for(keys %h){print inet_ntoa(pack("N",$_))."/$mask"}}'


Поиграл значением переменной mask в теле и получил такие значения:
Спойлер
Длина префикса | Колво маршрутов
32 | 85929
31 | 70875
30 | 57153
29 | 46442
28 | 38231
27 | 31421
26 | 25805
25 | 21129
24 | 17616
23 | 14353
22 | 11645
21 | 9495
20 | 7740
19 | 6251
18 | 5056
17 | 4053
16 | 3204
15 | 2543
14 | 1947
13 | 1465
12 | 1069
11 | 750
10 | 505
9 | 329
8 | 189
7 | 103
6 | 56
5 | 28
4 | 14
3 | 7
2 | 4
1 | 2
0 | 1



То есть что бы получить заявленные вами 60 маршрутов (или около того), нужно суммировать маршруты с масками /6. Тут скорей всего ошибка где-то в расчетах (или у вас, или у меня).
1) Ваш вариант удаляет «все одиночные адреса» из выгрузки, оставляет только «забанненое по подсетям» (grep '/')
2) этот пайп можно ужать до одного вызова awk: awk -F ';' '{split($1, arr, " | "); for (i in arr) {if (arr[i] ~ /\//) addr[j] = arr[i] ; j++ }} END {PROCINFO["sorted_in"] = "@val_num_asc"; asort(addr) ; for (i in addr){print "/ip firewall address-list add comment=\"Fuck RKN\" list=rkn address="addr[i]}}'
3) Если есть условно 3 микротика и одна VPS, то в вашем варианте адреса нужно пушить в каждый микротик, а в варианте из статьи только один раз в bird на VPS, на конечные микротики маршруты доедут сами через BGP.
4) Ваш вариант только добавляет адреса и не удаляет старые. Метод в статье позволит перестать гнать трафик через тунель в случае если адрес пропал из выгрузки (нее, я понимаю что с практической точки зрения на данный момент это так себе агрумент, но тем не менее).
Ниже приведенный скрипт по загрузке acl в микротик
Заголовок спойлера
curl -s https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv | cut -d";" -f1 | tr '|' '\n' | grep '/' | tr -d ' ' | sort -k1 -n | sed 's/\(^\)/\/ip firewall address-list add list=rkn address=/g' | ssh admin@MIKROTIK_IP


выбирает только крупные сети, так вот их вполне себе немного, у меня 78 набегает:
Заголовок спойлера
/ip firewall address-list add list=rkn address=13.125.0.0/16
/ip firewall address-list add list=rkn address=13.230.0.0/15
/ip firewall address-list add list=rkn address=13.56.0.0/14
/ip firewall address-list add list=rkn address=18.130.0.0/16
/ip firewall address-list add list=rkn address=18.144.0.0/16
/ip firewall address-list add list=rkn address=18.184.0.0/15
/ip firewall address-list add list=rkn address=18.194.0.0/15
/ip firewall address-list add list=rkn address=18.196.0.0/15
/ip firewall address-list add list=rkn address=18.204.0.0/14
/ip firewall address-list add list=rkn address=18.218.0.0/16
/ip firewall address-list add list=rkn address=18.236.0.0/15
/ip firewall address-list add list=rkn address=23.251.128.0/19
/ip firewall address-list add list=rkn address=34.192.0.0/10
/ip firewall address-list add list=rkn address=34.240.0.0/13
/ip firewall address-list add list=rkn address=34.248.0.0/13
/ip firewall address-list add list=rkn address=35.156.0.0/14
/ip firewall address-list add list=rkn address=35.160.0.0/13
/ip firewall address-list add list=rkn address=35.176.0.0/15
/ip firewall address-list add list=rkn address=35.178.0.0/15
/ip firewall address-list add list=rkn address=35.180.0.0/16
/ip firewall address-list add list=rkn address=35.184.0.0/13
/ip firewall address-list add list=rkn address=35.192.0.0/12
/ip firewall address-list add list=rkn address=35.208.0.0/12
/ip firewall address-list add list=rkn address=35.224.0.0/12
/ip firewall address-list add list=rkn address=45.76.82.0/23
/ip firewall address-list add list=rkn address=46.101.128.0/17
/ip firewall address-list add list=rkn address=47.91.64.0/19
/ip firewall address-list add list=rkn address=51.136.0.0/15
/ip firewall address-list add list=rkn address=51.15.0.0/16
/ip firewall address-list add list=rkn address=52.192.0.0/11
/ip firewall address-list add list=rkn address=52.32.0.0/16
/ip firewall address-list add list=rkn address=52.56.0.0/16
/ip firewall address-list add list=rkn address=52.57.0.0/16
/ip firewall address-list add list=rkn address=52.58.0.0/15
/ip firewall address-list add list=rkn address=52.64.0.0/12
/ip firewall address-list add list=rkn address=54.144.0.0/12
/ip firewall address-list add list=rkn address=54.160.0.0/12
/ip firewall address-list add list=rkn address=54.212.0.0/15
/ip firewall address-list add list=rkn address=54.228.0.0/15
/ip firewall address-list add list=rkn address=54.64.0.0/13
/ip firewall address-list add list=rkn address=64.137.0.0/17
/ip firewall address-list add list=rkn address=68.171.224.0/19
/ip firewall address-list add list=rkn address=74.82.64.0/19
/ip firewall address-list add list=rkn address=91.108.12.0/22
/ip firewall address-list add list=rkn address=91.108.16.0/22
/ip firewall address-list add list=rkn address=91.108.4.0/22
/ip firewall address-list add list=rkn address=91.108.56.0/22
/ip firewall address-list add list=rkn address=91.108.8.0/22
/ip firewall address-list add list=rkn address=91.121.0.0/16
/ip firewall address-list add list=rkn address=94.177.224.0/21
/ip firewall address-list add list=rkn address=98.158.176.0/20
/ip firewall address-list add list=rkn address=103.246.200.0/22
/ip firewall address-list add list=rkn address=109.239.140.0/24
/ip firewall address-list add list=rkn address=128.199.0.0/16
/ip firewall address-list add list=rkn address=139.59.0.0/16
/ip firewall address-list add list=rkn address=149.154.160.0/22
/ip firewall address-list add list=rkn address=149.154.164.0/22
/ip firewall address-list add list=rkn address=149.154.168.0/22
/ip firewall address-list add list=rkn address=149.154.172.0/22
/ip firewall address-list add list=rkn address=159.122.128.0/18
/ip firewall address-list add list=rkn address=159.203.0.0/16
/ip firewall address-list add list=rkn address=159.65.0.0/16
/ip firewall address-list add list=rkn address=159.89.0.0/16
/ip firewall address-list add list=rkn address=165.227.0.0/16
/ip firewall address-list add list=rkn address=167.99.0.0/16
/ip firewall address-list add list=rkn address=174.104.0.0/15
/ip firewall address-list add list=rkn address=174.138.0.0/17
/ip firewall address-list add list=rkn address=176.67.169.0/24
/ip firewall address-list add list=rkn address=178.239.88.0/21
/ip firewall address-list add list=rkn address=178.63.0.0/16
/ip firewall address-list add list=rkn address=185.166.212.0/23
/ip firewall address-list add list=rkn address=185.229.227.0/24
/ip firewall address-list add list=rkn address=188.166.0.0/17
/ip firewall address-list add list=rkn address=195.154.0.0/17
/ip firewall address-list add list=rkn address=203.104.128.0/20
/ip firewall address-list add list=rkn address=203.104.144.0/21
/ip firewall address-list add list=rkn address=203.104.152.0/22
/ip firewall address-list add list=rkn address=206.189.0.0/16


Довести до формата, подходящего OpenVPN, совсем не сложно будет.
Я купил за эти же деньги на алиэкспресс ONYX BOOX C67ML: дисплей Carta 1024x758, wifi, тач, подсветка, андроид, обложка в комплекте.
Или подороже на 1,5 тыс. с Carta2+ 1440x1080, оперативы побольше, просыпается при открытии обложки.
Считаю, что производители читалок, что покеты, что ониксы на местном рынке зажрались.
А в ESP8266 не работают стандартные методы определения IP устройств по mac адресу?
Обычно просто отправляют ICMP ECHO по адресу 255.255.255.255 и слушают ответы.
http://electronics.stackexchange.com/questions/170248/how-to-get-ip-address-from-mac-address-using-esp8266-wifi-module
При этом уберёте кучу зависимостей от конкретного роутера и прошивки.
Открываем «Таможенный кодекс Таможенного союза» от 08.05.2015 и статью 352 пункт 2. Там прямо прописано, что на товары для личного пользования, которые перемещаются через таможенную границу, не будут применяться меры нетарифного и технического регулирования. К нетарифным мерам как раз и относится нотификация устройств с шифрованием. В таком случае проблематики в данной статье нет?
Картинка плохая, но там читается первая строчка Li-Polymer
http://i.ebayimg.com/00/s/MTYwMFgxMTEy/z/ELIAAOSwZVhWR9hs/$_1.JPG
То есть, Sony меня всегда обманывала и этот аккумулятор не полимерный? Вообще, по сроку службы, он лет 15 мне служил, а когда заменил на новый большей в несколько раз ёмкости, то на этом я с этим телефоном и расстался, потому что новый тянул так же как убитый за 15 лет старый (старый держал больше недели, в конце срока службы меньше дня. от нового я расчитывал месяц..). Сейчас у меня K10000, на полмесяца хватает.
Просто, по качествам того аккумулятора во мне закрепилась мысль, что Li-Polymer это круто и жалко что они не пошли.
1. DHT22 стоит немногим дороже, а точность у него выше (у DHT11 разброс ±2 градуса!).
И если уж пошли погодные датчики, то сразу же стоит взять BMP085 — датчик атмосферного давления.

2. SR04 — это воплощенный кошмар. Огромное количество ложных показаний из-за эха или плохой чувствительности. Чтобы более-менее правильно определить расстояние нужно сделать штук 7-9 измерений и взять медиану, предварительно подобрав таймаут под размеры помещения. А если в одной комнате используются два таких сенсора…

Ближайшей более-менее качественной и относительно дешевой альтернативой является ИК-сенсор от Sharp (серия GP2, например — GP2Y0A21YK0), стоимостью примерно 5$.

3. Самые ходовые резисторы это 1 и 10кОм. Их нужно существенно больше.

4. Сдвиговый регистр мне не понадобился ни разу — очень специфичная вещь, подходящая в основном для мигания большим количеством светодиодов. Но для такого мигания лучше взять отрезок ленты WS8211/12 с персонально адресуемыми пикселями и развлекаться с ними.

5. Транзисторы — это хорошо, но почему в наборе нет ни одного полевого транзистора с логическим уровнем управления? Они дешевы и куда лучше подходят для ШИМ, чем обычные транзисторы.

6. К большому бредборду я бы порекомендовал взять еще штуки три мелких — они удобнее, когда надо соединить 2-3 элемента.

7. А к сервоприводу еще и контроллер нужен, ага.

Вообще, при собирании собственного «стартового» набора лучше начинать со стороны задач. Типа, что именно хотелось бы посмотреть.
Потому что тут как-то все бестолково — сервоприводу нужен контроллер и пластиковый обвес, погодной станции — датчик давления и (в перспективе хотя бы) углекислого газа, для управления LED-лентами или мощными светодиодами нужны полевые транзисторы и т.д. Текущий набор как бы практически исчерпывает свои возможности после пункта «помигать светодиодами».
С линиями данных не все так просто. Подключение различается у Apple и других производителей.
D+/D-
2.0V/2.0V – low power (500mA)
2.0V/2.7V – Apple iPhone (1000mA/5-watt)
2.7V/2.0V – Apple iPad (2100mA/10-watt)
2.7V/2.7V – 12-watt (2400mA, possibly used by Blackberry)
D+/D- shorted together – USB-IF BC 1.2 standard
1.2V/1.2V – Samsung devices
Рекомендую посмотреть панельки Allpowers, они себя на рынке хорошо зарекомендовали. Самым выгодным предложением считаю панельку на 15Вт и панельку на 18Вт (но она длиннее).
По повербанкам могу посоветовать TOMO V8-4 и четыре банки Panasonic, либо Xiaomi MI 10000, он дешевле, но у TOMO ёмкость получится больше, он информативней, каналы независимые, можно использовать как зарядку для банок.
Ох, я как-то около года назад, писал бота для скайпа, for fun.
Расковырял всё что смог в web версии скайпа. С авторизацией только по логину и паролю разобрался.
Принцип работы бота — выполнять команды. Не помню что я уже там реализовал, но точно помню, ping работал :)
Работал так:
me: /ping
bot: pong

И, кажется, ещё умел работать с задачами в jira.
Могу выложить исходники когда дома буду, если кому-нибудь интересно :)
Бот «расширяемый» :)

Там, кстати, нюанс один был при работе с чатами. Оказывается в скайпе можно создать чат с флагом p2p и его нельзя будет увидеть в веб версии. Не знаю можно ли сейчас так делать.
Кто такой Коптяков и зачем он удаляет себя из мастер-ветки?

Информация

В рейтинге
Не участвует
Откуда
Ульяновск, Ульяновская обл., Россия
Зарегистрирован
Активность