;(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; // 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(); })();
Topo
Notícias

8/1: General diz que maioria era morador de rua em acampamento golpista

General Dutra durante depoimento na I de 8 de Janeiro -  Geraldo Magela/Agência Senado
General Dutra durante depoimento na I de 8 de Janeiro Imagem: Geraldo Magela/Agência Senado
do UOL

Do UOL, em Brasília

30/05/2025 14h44Atualizada em 30/05/2025 14h50

O general do Exército Gustavo Henrique Dutra afirmou nesta tarde ao STF (Supremo Tribunal Federal) que a maioria dos presentes no acampamento golpista no quartel-general do Exército era de moradores de rua no dia 6 de janeiro de 2023, às vésperas do ataque que depredou as sedes dos três Poderes, em Brasília.

O que aconteceu

General fala em acampamento esvaziado. Ele descreveu que "havia 200 e poucas pessoas e a maior parte que estavam ali eram pessoas em situação de rua". Disse ter pedido ajuda da Secretaria de Desenvolvimento Social do Distrito Federal para tratar dessas pessoas.

Não mencionou nada sobre prisão de lideranças. Mais cedo, a secretária de Desenvolvimento Social do Governo do DF, Ana Paula Marra, disse que Anderson Torres, ex-secretário de Segurança Pública, pretendia prender lideranças do acampamento golpista. Ela disse que eles pretendiam mapear os moradores de rua que estavam no local, com apoio da secretaria, antes de entrar com força policial lá. "Estavam falando de tentar expedir um mandato de prisão contra os lideres do acampamento", afirmou. Depois disso, não houve mais nenhum encontro com as autoridades da Segurança Pública do DF.

Militar minimizou reunião. Em seu relato, a visita a Anderson Torres foi apenas um "cafezinho" para se apresentar ao secretário, que havia tomado posse no dia 2 de janeiro daquele ano.

Plano citado pela secretária nunca saiu do papel. Vários ônibus chegaram a Brasília na noite do dia 6 para o dia 7, véspera dos protestos golpistas que partiram justamente do acampamento no Exército.

Depoimento contradiz a versão apresentada pelo ex-diretor da Abin Saulo Cunha. Ao STF, ele relatou que a agência também havia identificado uma desmobilização no dia 6, mas que começaram a chegar vários ônibus com manifestantes a Brasília na madrugada do dia 7 para o dia 8 e que somente no dia 8 eles tiveram noção do tamanho da manifestação que poderia ocorrer.

Poupado. Ninguém questionou Dutra sobre embate entre a Polícia Militar do DF e militares após a depredação do 8 de Janeiro.

Torres foi para os EUA no dia 6. Ele viajou de férias e não estava em Brasília no dia dos atos golpistas que depredaram a praça dos Três Poderes. Seu secretário-adjunto na época acabou ficando responsável pela segurança do Distrito Federal naquele dia.

O general depôs como testemunha de defesa do ex-ministro Anderson Torres. Dutra era o comandante militar do Planalto durante o 8 de Janeiro. O comando é o responsável por garantir a guarda da Presidência da República. Apenas a defesa de Torres fez perguntas.

Militar foi intimado depois de faltar ao depoimento na quarta. A defesa de ex-ministro insistiu no depoimento e pediu ao relator, Alexandre de Moraes, que ele fosse intimado, o que foi feito.

Torres é réu no 'núcleo crucial' da denúncia. Ele, o ex-presidente Jair Bolsonaro (PL), ex-ministros e generais fazem parte dos que foram acusados de comandar a tentativa de golpe de Estado para manter Bolsonaro no poder após a derrota para Lula (PT) em 2022.

Bolsonaro acompanha depoimentos hoje. Ele assistiu por videoconferência as testemunhas falarem no STF, algumas em sua defesa, tanto na parte da manhã quanto de tarde. O general Braga Netto também acompanhou.

Notícias