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

Jornal cita diálogo em que Bebianno teria contado teor de carta a Bolsonaro

Gustavo Bebianno, ex-ministro do governo Bolsonaro - Ricardo Borges/Folhapress
Gustavo Bebianno, ex-ministro do governo Bolsonaro Imagem: Ricardo Borges/Folhapress

Do UOL, em São Paulo

14/03/2020 22h41

O jornal "O Estado de S. Paulo" revelou hoje diálogo em que o ex-ministro Gustavo Bebianno teria contado teor de carta enviada ao presidente Jair Bolsonaro (sem partido)

Bebianno morreu na madrugada de hoje vítima de um infarto fulminante. Ele estava em um sítio no interior do Rio com seu filho quando se sentiu mal. Ao ir ao banheiro tomar um remédio, desmaiou. Ele foi levado para um hospital próximo, onde morreu. O velório e o enterro aconteceram na tarde de hoje em Teresópolis (RJ).

No encontro, ocorrido na última terça-feira, em Brasília, onde fazia reuniões para viabilizar a candidatura à prefeitura do Rio, Bebianno teria detalhado o conteúdo da carta enviada a Bolsonaro após ser demitido do governo.

"Eu disse que Carlos [Bolsonaro, filho de Jair Bolsonaro] não sabia amar, era nutrido por ódio o tempo inteiro. Ninguém o ensinou a amar. Ele não aprendeu", disse.

Segundo o jornal, cópias da carta foram entregues para o ministro da Cidadania, Onyx Lorenzoni, então chefe da Casa Civil; o general Maynard Santa Rosa, que ocupava o cargo de chefe da Secretaria de Assuntos Estratégicos (SAE); e para o ator Carlos Vereza.

Lorenzoni garantiu a Bebianno que Bolsonaro leu o conteúdo da carta.

Um dos coordenadores da campanha de Bolsonaro, Bebianno foi o primeiro ministro a ser demitido no novo governo, em fevereiro do ano ado. A sua saída da Secretaria-Geral da Presidência aconteceu em meio a uma crise com suspeitas de candidaturas laranjas no PSL — que era então partido do presidente — e agravou-se após episódios de desentendimentos com o vereador Carlos Bolsonaro (PSC-RJ).

Em dezembro, o ex-ministro se filiou ao PSDB do Rio de Janeiro, em um evento que contou com a presença do governador de São Paulo, João Doria, que deve se colocar como opção em uma eventual disputa com Bolsonaro para a presidência em 2022 e já tem travado intensos debates com o presidente.