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

Paulo Marinho responde a Moro e diz que fatos serão revelados 'com certeza'

Do UOL, em São Paulo

17/05/2020 19h32

O empresário Paulo Marinho, suplente do senador Flávio Bolsonaro e protagonista de uma entrevista à Folha que deu novos contornos às supostas interferências do presidente Jair Bolsonaro na Polícia Federal, utilizou suas redes sociais para responder o ex-ministro Sergio Moro.

O ex-ministro, que saiu do governo acusando Bolsonaro de supostamente interferir na PF para proteger seus filhos de investigações da corporação, escreveu em seu Twitter: "Espero que os fatos revelados, com coragem, pelo Sr. Paulo Marinho sejam totalmente esclarecidos". Marinho respondeu duas horas depois: "Com certeza serão".

Marinho afirmou hoje, em entrevista à Folha, que Flávio Bolsonaro o procurou após o segundo turno das eleições presidenciais em 2018, e afirmou que teve conhecimento prévio sobre a Operação Furna da Onça, da Polícia Federal.

A operação resultou na investigação de uma "rachadinha" — prática na qual funcionários do gabinete de políticos devolvem para ele parte do salário recebido com dinheiro público — entre parlamentares da Alerj (Assembleia Legislativa do Rio de Janeiro), incluindo Flávio, então deputado estadual no RJ.

Segundo o relato de Marinho, o senador, recém-eleito na época, afirmou também que a PF segurou a deflagração da operação para depois das eleições, para não prejudicar a candidatura de Bolsonaro à presidência e de Flávio ao Senado. Ele teria sido informado por um delegado no Rio. A operação aconteceu apenas após o segundo turno, antes da conversa relatada por Marinho.

O filho do presidente teria afirmado também que foi informado que a investigação atingiria em cheio Fabrício Queiroz, funcionário de seu gabinete e ex-funcionário do gabinete de Bolsonaro quando era deputado federal.

Pouco após isso, Queiroz foi exonerado do gabinete de Flávio Bolsonaro no Rio, assim como uma de suas filhas foi exonerada do gabinete do então deputado federal Jair Bolsonaro.