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

F. Bolsonaro endossa reportagem da Folha e diz que ação do MP é "aberração"

Em entrevista à Record, Flávio Bolsonaro diz que quanto mais Queiroz demora, mais o complica - jose lucena/Futura Press/Folhapress
Em entrevista à Record, Flávio Bolsonaro diz que quanto mais Queiroz demora, mais o complica Imagem: jose lucena/Futura Press/Folhapress

Do UOL, em São Paulo

20/05/2019 20h03

Contrariando o modus operandi da família, o senador Flávio Bolsonaro (PSL), filho mais velho do presidente da República, endossou uma reportagem publicada hoje pela Folha de S. Paulo que aponta deslizes cometidos pelo Ministério Público no caso que investiga os impropérios de seu ex-assistente Fabrício Queiroz.

Em uma publicação em sua rede social, Flávio fez uma montagem com o título da reportagem da Folha e um texto que afirma que "os erros cometidos pelo Ministério Público comprovam o que tenho dito desde o início".

"Pela quantidade de ilegalidades e excessos, os procuradores sabem que esse processo não tem futuro na Justiça e por isso vazam trechos da investigação sigilosa", diz o texto publicado pelo senador.

Os supostos "vazamentos" dizem respeito às reportagens publicadas na última semana que revelaram a quebra de sigilo bancário e fiscal de Flávio e outras 86 pessoas ligadas a seu gabinete. Nove empresas também estão sendo investigadas. O juiz Flávio Itabaiana determinou que a quebra de sigilo atinge todas as notas fiscais e movimentações feitas pelo senador entre 2007 e 2018.

Um dia antes de vir à tona a quebra de sigilo de Flávio Bolsonaro, o senador havia atacado o Ministério Público em uma entrevista concedida ao jornal O Estado de São Paulo. Na ocasião, Flávio chamou a operação reiteradas vezes, de "ilegal".

Hoje, a Folha mostrou que o MP teria cometido alguns erros nos pedidos de quebra de sigilo endereçados ao juiz da 27ª Vara Criminal do Rio de Janeiro.

Os promotores pediram a quebra de sigilo de três pessoas que não têm vínculo político com Flávio. O MP ainda ignorou a remuneração de Fabrício Queiroz como policial militar aposentado e afirmou que uma servidora da TV Alerj trabalhava no gabinete de Flávio de forma equivocada.

Interesses

Apesar dos elogios de hoje, o presidente Jair Bolsonaro e seus três filhos que atuam como políticos de carreira mantém uma relação conflituosa com a Folha.

A última rusga foi na visita do mandatário a Dallas, nos Estados Unidos, quando debateu com uma repórter do jornal. Questionado sobre os cortes na educação, o presidente disse que a Folha não tem que contratar "qualquer uma" .

A jornalista questionou se a educação do país se desenvolveria com os cortes promovidos pelo governo na área. Ao constatar que a repórter era da Folha, atacou: "Primeiro, você, da Folha de S.Paulo, tem que entrar de novo numa faculdade que presta e fazer um bom jornalismo. É isso que a Folha tem que fazer e não contratar qualquer uma ou qualquer um para ser jornalista, para ficar semeando a discórdia e perguntando besteira por aí e publicando coisas nojentas."

O presidente já utilizou espaço em diversos veículos, além de suas transmissões ao vivo pelas redes sociais, para atacar a Folha. Pouco depois de ser eleito, Bolsonaro afirmou em entrevista à TV Globo que "quase todas as fake news que se voltaram contra mim partiram da 'Folha de S.Paulo', inclusive a última matéria, onde eu teria contratado, né, empresas fora do Brasil, via empresários aqui para espalhar mentiras sobre o PT."