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

Rubens Valente

Onde a nota da Defesa sobre 1964 contradiz Bolsonaro

Oito dos 22 ministros de Bolsonaro são militares, a maior participação das Forças Armadas em um governo desde a redemocratização - Equipe de transição/Rafael Carvalho
Oito dos 22 ministros de Bolsonaro são militares, a maior participação das Forças Armadas em um governo desde a redemocratização Imagem: Equipe de transição/Rafael Carvalho

Colunista do UOL

31/03/2020 11h44

A ordem do dia distribuída pelos três comandantes militares e pelo ministro da Defesa, Fernando Azevedo, para ser lida hoje em todos os quartéis por ocasião dos 56 anos do golpe militar de 1964 tem sofrido críticas, com razão, pela visão facciosa e cheia de lacunas tanto sobre o golpe quanto sobre a ditadura que se seguiu.

Mas num ponto ela presta uma ajudinha à história. É quando diz: "As Forças Armadas assumiram a responsabilidade de conter aquela escalada, com todos os desgastes previsíveis".

A versão é diferente da espalhada por Jair Bolsonaro ao longo dos últimos dois anos. No programa "Roda Viva" de julho de 2018, por exemplo, ele argumentou que o então presidente João Goulart (1919-1976) foi meramente deposto pelo Congresso. "Não foi golpe. Golpe é quando alguém mete o pé na porta e tira aquele cidadão de lá ou executa ou faz uma maldade qualquer. Ele [Goulart] simplesmente deixou o Brasil. E quem declarou vaga a cadeira do presidente na época foi o Parlamento brasileiro", disse Bolsonaro na ocasião.

A cronologia fabricada desconsidera a conspiração militar pré-golpe e os fatos ocorridos em 30 e 31 de março, fartamente explicados nos livros de história e nas memórias dos próprios oficiais que deram o golpe. O Congresso só declarou vaga a Presidência em 2 de abril, quando tropas militares já haviam se movido em direção a Brasília, Goulart já havia se dado conta da perda do comando sobre a máquina militar e temia uma guerra civil sangrenta. Não há nenhuma dúvida de que o ato determinante do golpe partiu dos militares, mas Bolsonaro finge que foi o mero cumprimento de uma decisão do Congresso.

A ordem do dia de hoje assume o caráter ativo da ação dos militares em 1964, que fizeram uma "contenção" e "assumiram a responsabilidade", com "desgastes". Mas qual teria sido essa responsabilidade, ter anulado a Constituição ao depor um presidente legitimamente eleito? E "todos os desgastes previsíveis" teriam sido as acusações de torturas, desaparecimentos forçados e assassinatos de militantes da esquerda, a censura à imprensa, o fechamento do Congresso? Aqui a nota, estrategicamente, se cala.

Apesar dos seus inúmeros defeitos, que não caberia aqui discutir, a ordem do dia atual também é mais matizada que a do ano ado, quando os comandantes e o ministro se manifestaram. "O 31 de Março de 1964 foi um episódio simbólico dessa identificação, dando ensejo ao cumprimento da Constituição Federal de 1946, quando o Congresso Nacional, em 2 de abril, declarou a vacância do cargo de presidente da República e realizou, no dia 11, a eleição indireta do presidente Castello Branco, que tomou posse no dia 15." Quase a mesma teoria fantasiosa de Bolsonaro, mas pelo menos respeitou a ordem dos eventos.

Mais adiante, a nota de 2019 falava que as Forças Armadas atuaram para a "estabilização" do país, uma explicação diversa de contenção de determinadas forças do espectro político expressada na nota de 2020. Contenção implica uma ação efetiva contra algo; estabilização é expressão etérea.

De 1985 para cá, os militares encararam a criação da comissão de mortos e desaparecidos, o estabelecimento da anistia para perseguidos pela ditadura, os inúmeros livros, reportagens e estudos acadêmicos críticos ao período militar, a criação e as conclusões da CNV (Comissão Nacional da Verdade) e as ações de "esculacho" feitas em casas de militares, entre muitas outras iniciativas da sociedade civil e dos governos que procuraram jogar luz sobre crimes cometidos no período. Os militares nunca pediram desculpas por nada de errado que tenham feito. Porém, entre muxoxos e grunhidos, engoliram em seco.

Então a roda da história girou e agora, em um governo de farta presença militar, como o do capitão reformado Bolsonaro, os comandantes se sentem livres e seguros para, enfim, tentar reescrever a história a favor das Forças Armadas (e é bom que se diga que não é favor deles, pessoalmente, pois eram crianças de nove ou dez anos na época do golpe). A ironia é ver que nesse esforço, talvez por um ato falho, não é possível saber, tenham desmentido o próprio presidente.