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

Chico Alves

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Randolfe quer saber se comitiva da saúde em Israel negociou aparelho espião

Senador Randolfe Rodrigues, vice-presidente da I da Covid - Adriano Machado/Reuters
Senador Randolfe Rodrigues, vice-presidente da I da Covid Imagem: Adriano Machado/Reuters

Colunista do UOL

19/05/2021 11h05

A estranha licitação que o Ministério da Justiça pretende fazer hoje para compra de aparelho espião de alta tecnologia no valor de R$ 25,4 milhões levantou a curiosidade do senador Randolfe Rodrigues (Rede-AP) para um tema abordado na I da Covid. O parlamentar, que é vice-presidente da comissão, vai requisitar os documentos relativos à viagem feita por uma comitiva do governo a Israel para supostamente avaliar spray nasal que seria usado contra o coronavírus. "Um dos motivos para o pedido é verificar se essa viagem tem alguma ligação com a compra de equipamentos de espionagem", observou Randolfe à coluna.

Como o UOL publicou, o edital deverá contemplar o programa de espionagem Pegasus, desenvolvido pela empresa israelense NSO Group. Curiosamente, o recurso não seria destinado ao GSI (Gabinete de Segurança Institucional) ou à Abin (Agência Brasileira de Inteligência). Isso se deveria à ingerência de Carlos Bolsonaro no processo.

A utilização desse sistema gerou denúncias de espionagem de celulares e computadores de críticos dos governos de vários países. Isso poderia ser feito, na prática, mesmo sem autorização judicial

Um dos motivos para a suspeita do senador é que na comitiva de dez pessoas que foi a Israel somente dois integrantes eram técnicos da área da saúde. Os demais - o chanceler Ernesto Araújo, dois diplomatas, o assessor internacional Filipe Martins, os deputados federais Eduardo Bolsonaro (PSL-SP) e Hélio Lopes (PSL-RJ), um segurança e o secretário de Comunicação - não tinham conhecimento na área.

Outro fator estranho é que participou da comitiva o sargento PM Max Guilherme Machado de Moura, que hoje trabalha como assessor especial da presidência. Durante o depoimento à I da Covid, Ernesto Araújo foi perguntado várias vezes por Randolfe sobre qual o motivo da participação de Max na comitiva, já que ele não tem qualquer especialização na área de saúde. Araújo não soube responder.

Além de checar se há relação da comitiva com a negociação do aparelho espião, o senador informou que enviará petição à ministra Càrmen Lúcia, do Supremo Tribunal Federal, para que o Ministério Público Federal apure as denúncias. Randolfe disse que também dará entrada com Ação Popular, pedindo a apuração das denúncias e a suspensão do edital, além de representação no Tribunal de Contas da União, pedindo a apuração das denúncias e a suspensão do edital.