;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Esse conteúdo é antigo

Moraes diz que prisão de Silveira foi 'marco no combate ao extremismo'

O ministro do STF, Alexandre de Moraes, é Relator dos inquéritos das fake news, aberto para apurar notícias falsas, ofensas e ameaças - Foto: Rosinei Coutinho/SCO/STF/Agência Brasil
O ministro do STF, Alexandre de Moraes, é Relator dos inquéritos das fake news, aberto para apurar notícias falsas, ofensas e ameaças Imagem: Foto: Rosinei Coutinho/SCO/STF/Agência Brasil

Rayssa Motta

São Paulo

22/02/2021 13h22

O ministro Alexandre de Moraes, do Supremo Tribunal Federal, disse nesta segunda-feira, 22, que a confirmação da ordem de prisão do deputado bolsonarista Daniel Silveira (PSL-RJ) nos plenários da própria Corte e da Câmara dos Deputados foi um "marco no combate ao extremismo antidemocrático".

"O incentivo a dar surras em ministros do Supremo Tribunal Federal, o incentivo a agressões contra a saúde e vida de ministros do Supremo Tribunal Federal, o incentivo à ditadura e ao AI-5 que fecha o Supremo Tribunal Federal não são críticas, são atentados contra a democracia", disse.

Relator dos inquéritos das fake news, aberto para apurar notícias falsas, ofensas e ameaças dirigidas aos integrantes do Tribunal, e dos atos antidemocráticos, que investiga a organização, o financiamento e a divulgação de manifestações contra a democracia, além de próximo presidente do Tribunal Superior Eleitoral (TSE), o ministro participou do seminário virtual Eleições 2022 e desinformação no Brasil, organizado pela Fundação Getulio Vargas (FGV).

"Nós não podemos mais deixar que as redes sociais sejam terra de ninguém. Porque os discursos de ódio e antidemocráticos vêm manipulando as pessoas", afirmou na transmissão. "Com essas milícias digitais, nós estamos sofrendo o mais pesado, mais forte e mais vil ataque às instituições e ao estado democrático de direito", acrescentou.

Na avaliação do ministro, as empresas de tecnologia devem ser responsabilizadas pelos conteúdos publicados em suas plataformas. A ideia, segundo ele, é garantir que "respostas firmes" possam ser cobradas dessas companhias. Desde que assumiu investigações sensíveis aos aliados e apoiadores do presidente Jair Bolsonaro, Moraes expediu uma série de ordens para a derrubada de perfis bolsonaristas nas redes socais. As plataformas, no entanto, demonstram resistência em tirar as contas do ar.

"Ao serem classificadas como empresas de tecnologia, as plataformas digitais simplesmente lavam as mãos sobre a terra de ninguém que elas proporcionam. Sendo que hoje essas pseudo empresas de tecnologia são as mais poderosas e fortes empresas de mídia do mercado mundial", defendeu o ministro.

Durante sua apresentação, Moraes também voltou a criticar o uso do direito da liberdade de expressão para justificar ataques antidemocráticos. "Por mais ácidas que sejam as críticas, elas fazem parte da democracia. Não são críticas. São atentados contra a democracia, atentados contra o estado de direito, atentados contra autoridades, que precisam ser combatidos", observou. "A utilização da liberdade de expressão como verdadeiro escudo protetivo para a prática de atividades ilícitas, isso não é permitido pela Constituição."

Já falando sobre as eleições do ano que vem, o ministro classificou como um "desafio muito grande" impedir que as "milícias digitais" influenciem o pleito. Ele lembrou que a produção de notícias falsas deixou de ser amadora e ou a integrar uma "indústria de monetização".

"Antes se utilizavam muito de robôs, quando começamos a investigar e pegar esse caminho. Agora na verdade usam pessoas replicando várias vezes até tentar chegar às notícias mais divulgadas de forma artificial. Então há o núcleo produtor, o núcleo difusor e o núcleo político. Ou seja, após a produção, uma difusão artificialmente realizada para chegar nas notícias mais divulgadas, aparece o núcleo político: políticos dizendo "olha o que o povo quer", repetindo essas ideias contra a democracia, a favor da ditadura, a favor do AI-5, com discursos de ódio, como se não fossem deles as ideias, como se estivessem representando o povo que se manifestou nas redes. E atrás desses três núcleos, de produção, de difusão e o núcleo político, há o núcleo de financiamento - empresários que financiam essas redes, obviamente com intuitos ideológicos, políticos, inclusive intuitos eleitorais", explicou Moraes.