;(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

"PT solidário com Glenn", diz Gleisi; Eduardo Bolsonaro fala em cadeia

2.set.2019 - O jornalista Glenn Greenwald no programa Roda Viva - Ronaldo Silva/Futura Press/Estadão Conteúdo
2.set.2019 - O jornalista Glenn Greenwald no programa Roda Viva Imagem: Ronaldo Silva/Futura Press/Estadão Conteúdo

Do UOL, em São Paulo

21/01/2020 13h19Atualizada em 21/01/2020 17h23

A presidente do PT, Gleisi Hoffman, saiu em defesa de Glenn Greenwald, hoje, nas redes sociais. O MPF (Ministério Público Federal) em Brasília denunciou o jornalista do The Intercept e mais seis pessoas por crimes relacionados à invasão de celulares de autoridades brasileiras no âmbito da Operação Spoofing.

"MP abusa do poder para se vingar de Glenn Greenwald, que denunciou crimes da Lava Jato e parcialidade de [Sergio] Moro contra Lula. Querem estado policial, com mais farsas, ilegalidades e arbitrariedades. PT solidário com Glenn, em defesa da liberdade de imprensa", tuitou a deputada federal.

Também na rede social, o ex-presidente Luiz Inácio Lula da Silva manifestou apoio ao jornalista do The Intercept. "Minha solidariedade ao jornalista Glenn Greenwald, vítima de mais um evidente abuso de autoridade contra a liberdade de imprensa e a democracia", escreveu.

Outra personalidade da política a se manifestar, mas atacando Glenn foi Eduardo Bolsonaro, deputado e filho do presidente Jair Bolsonaro — ambos críticos do jornalista.

"Glenn Greenwald sempre disse que adorava o Brasil e queria conhecer o país a fundo. Quem sabe agora vai conhecer até a cadeia... talvez jogar futebol com o [Marcelo] Freixo...", tuitou Eduardo Bolsonaro.

Já Ciro Gomes criticou o MPF: "Sem pé nem cabeça esta denúncia contra o jornalista Glenn Greenwald. O jornalismo é tarefa essencial à democracia e às liberdades individuais e públicas. O que Glenn fez foi o mais genuíno jornalismo. Abusa - e muito - o membro do Ministério Público que avança no constrangimento ilegal à liberdade de informação protegida pela Constituição Federal. Repudio com toda veemência esta atitude descabida", disse o ex-governador, no Facebook.

"Só o bolsonarismo boçal explica a motivação deste cidadão que deslustra o Ministério Público Federal e compromete a boa imagem que a instituição deve merecer junto à nação. Que os tribunais façam cessar este abuso o quanto antes", concluiu Ciro Gomes.

O deputado Marco Feliciano ironizou, no Twitter: "Não adianta sair correndo para se esconder na embaixada americana, pois Tio Trump te espera lá!"

Na denúncia são apontadas a prática de organização criminosa, lavagem de dinheiro, bem como as interceptações telefônicas engendradas pelos investigados. Para o MPF, embora Greenwald não seja investigado nem indiciado, ficou comprovado que ele auxiliou, incentivou e orientou o grupo durante o período das invasões.

De acordo com a denúncia, assinada pelo procurador da República Wellington Divino de Oliveira, o grupo praticava crimes cibernéticos por meio de três frentes: fraudes bancárias, invasão de dispositivos informáticos (por exemplo, celulares) e lavagem de dinheiro.

A denúncia não detalha os crimes de fraudes bancárias. Uma nova ação penal deverá ser apresentada posteriormente para tratar desses crimes, segundo o MPF.

A Operação Spoofing pede a condenação dos acusados. Com exceção de Greenwald, todos os outros denunciados responderão pelo crime de lavagem de dinheiro.

Glenn fala o que faria se descobrisse que o hacker recebeu dinheiro

UOL Notícias

Conversa entre Greenwald e hacker

O MPF afirma que decidiu incluir Greenwald na denúncia após análise de um MacBook apreendido com autorização da Justiça na casa de um dos investigados na operação Spoofing. No aparelho foi encontrado um áudio de um diálogo entre o jornalista e um suposto hacker.

A conversa, segundo a denúncia, teria acontecido logo após a divulgação, pela imprensa, da invasão sofrida pelo ministro da Justiça e Segurança Pública, Sergio Moro.

No áudio, segundo o MPF, o hacker diz que as invasões e o monitoramento das comunicações telefônicas ainda eram realizadas e pede orientações ao jornalista sobre a possibilidade de "baixar" o conteúdo de contas do Telegram de outras pessoas antes da publicação das reportagens pelo site The Intercept.

O jornalista, então, teria recomendado ao hacker apagar as mensagens que já haviam sido readas a ele de forma a não ligá-los ao material ilícito, "caracterizando clara conduta de participação auxiliar no delito, buscando subverter a ideia de proteção a fonte jornalística em uma imunidade para orientação de criminosos".

"Greenwald, diferentemente da tese por ele apresentada, recebeu o material de origem ilícita, enquanto a organização criminosa ainda praticava os crimes", diz a denúncia.

O UOL procurou Glenn Greenwald sobre a acusação, mas ele ainda não se manifestou. Assim que o fizer, a manifestação do jornalista será incluída na reportagem.

O MPF disse, ainda, que o jornalista não era alvo das investigações, em respeito à medida cautelar proferida pelo ministro do STF (Supremo Tribunal Federal) Gilmar Mendes, que proibiu investigações contra Greenwald. Uma cópia da denúncia será encaminhada à Procuradoria-Geral da República para que subsidie eventual pedido de revogação da decisão do ministro.

Ouça o podcast Baixo Clero, com análises políticas de blogueiros do UOL. Os podcasts do UOL estão disponíveis em uol.com.br/podcasts, no Spotify, Apple Podcasts, Google Podcasts e outras plataformas de áudio.