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

Bolsonaro ofendeu Doria e pessoas do governo do Rio em reunião ministerial

João Doria e Jair Bolsonaro  - Reprodução/Redes Sociais e Marcos Corrêa/PR
João Doria e Jair Bolsonaro Imagem: Reprodução/Redes Sociais e Marcos Corrêa/PR

Rubens Valente, Constança Rezende e Eduardo Militão

Do UOL, em Brasília

12/05/2020 17h28Atualizada em 12/05/2020 20h10

O presidente Jair Bolsonaro (sem partido) se dirigiu ao governador de São Paulo, João Doria (PSDB), e a integrantes do governo do Rio de Wilson Witzel (PSC), com palavrões durante reunião ministerial do dia 22 de abril, segundo pessoas que tiveram o à gravação do encontro no Planalto. O vídeo foi exibido a investigadores e advogados hoje, no prédio da Polícia Federal de Brasília.

Segundo esses relatos, Bolsonaro também afirmou que iria intervir nos ministérios e que não podia "apanhar sozinho", referindo-se a críticas de seu governo. Já o ministro da Educação, Abraham Weintraub, disse, de acordo com presentes à exibição, que os ministros do STF (Supremo Tribunal Federal) deveriam ir para a cadeia.

Na mesma reunião, o presidente teria associado a troca da chefia da Polícia Federal no Rio de Janeiro a interesses da própria família, além de ter ameaçado demitir o então ministro da Justiça, Sergio Moro, presente no encontro, e o diretor da PF à época, Maurício Valeixo.

Em nota, a defesa de Moro afirmou que "o material confirma integralmente as declarações do ex-ministro Sérgio Moro na entrevista coletiva de 24 de abril e no depoimento prestado à PF em 2 de maio"

"É de extrema relevância e interesse público que a íntegra desse vídeo venha à tona. Ela não possui menção a nenhum tema sensível à segurança nacional", afirmou.

O ministro da Educação afirmou em rede social, depois da divulgação de relatos de quem assistiu ao vídeo, que "não gostaria de comentar vídeo sob segredo de Justiça em respeito às boas práticas judiciais". Weintraub disse que não teve o à gravação.

Segundo revelou a colunista do UOL Thaís Oyama, o ministro xingou os ministros do STF de "filhos da puta" durante a reunião ministerial. Ele nega e diz que suas "falas são republicanas e educadas. "Não é meu hábito xingar ou falar palavrão."

O vídeo da reunião tem duração aproximada de duas horas. A transmissão hoje também foi acompanhada pelo ex-ministro Sergio Moro. Ao deixar o governo, o ex-juiz disse que o presidente Bolsonaro o ameaçou com demissão se não fossem feitas trocas em postos de comando da PF.

As acusações contra Bolsonaro foram feitas por Moro em entrevista coletiva para anunciar sua saída do governo e repetidas em depoimento à PF (Polícia Federal) no inquérito aberto pelo STF (Supremo Tribunal Federal) a pedido do procurador-geral da República, Augusto Aras.

Em seu depoimento, Moro disse que Bolsonaro pressionou pela troca do comando da PF no Rio de Janeiro e do diretor-geral da instituição durante reunião ministerial realizada no Palácio do Planalto no último dia 22. O ministro do STF, Celso de Mello, relator do inquérito, determinou que o governo entregasse o vídeo com a gravação.

O registro é mantido em sigilo por Celso de Mello, que autorizou que apenas a PGR (Procuradoria-Geral da República), a AGU (Advocacia-Geral da União), a equipe da PF responsável pelo inquérito e Moro possam ter o ao vídeo, entregue pelo Planalto ao STF na última sexta-feira (8), em um HD externo, e encaminhada ontem à PF.

Na mesma decisão em que autorizou a análise do vídeo da reunião, o ministro Celso de Mello afirmou que pretende decidir "brevissimamente" sobre se manterá em sigilo ou dará publicidade à gravação, seja em sua íntegra ou apenas a trechos do registro da reunião.

O conhecimento sobre o teor da reunião será importante para:

  • Definir se o vídeo, ou quais trechos da gravação, deve permanecer em sigilo e quais trechos poderão ser utilizados na investigação
  • Orientar os investigadores nos depoimentos de testemunhas ouvidas na investigação.

Em manifestação no inquérito, Aras afirmou que precisaria primeiro conhecer o teor da gravação para só então opinar sobre sua manutenção em sigilo.