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

Reinaldo Azevedo

ANÁLISE

Texto baseado no relato de acontecimentos, mas contextualizado a partir do conhecimento do jornalista sobre o tema; pode incluir interpretações do jornalista sobre os fatos.

O impossível impeachment de ministros do STF é esgoto retórico de Bolsonaro

Reprodução
Imagem: Reprodução

Colunista do UOL

16/08/2021 07h42

Receba os novos posts desta coluna no seu e-mail

Email inválido

Jair Bolsonaro está pensando num modo de constranger o presidente do Senado, Rodrigo Pacheco, com o seu anunciado pedido de impeachment dos ministros Alexandre de Moraes e Roberto Barroso. Não estou comentando a questão aqui porque vislumbre algum risco de esse troço prosperar. É só esgoto retórico. Chamo a atenção para o estágio de degradação da Presidência da República sob o (des)comando desse irresponsável.

As milícias digitais há muito tempo insistem nessa tese. Derrotado o voto impresso — a militância continua —, é preciso ter um novo cavalo de batalha, sem jamais desistir do outro, que permanecerá como ponto infeccioso até a eleição. Para a anunciada manifestação do dia 7 de setembro, é preciso ter uma palavra de ordem mais quente do que o ataque às urnas eletrônicas. Se Bolsonaro for ao Senado, é claro que Pacheco irá recebê-lo. Que tente dar um jeito de fazê-lo em seu gabinete, sem direito a abelhudos transmitindo lives para seus bandidos da Internet.

Obviamente, não há a menor possibilidade de isso prosperar. A propósito: assim como o presidente da Câmara pode acumular quantos pedidos de impeachment quiser contra o presidente, sem que haja quem possa obrigá-lo seja a arquivar, seja a dar sequência, o do Senado pode ir também colecionado os de impedimento contra ministros do Supremo ou contra o procurador-geral da República. E nada nem ninguém lhe impõem tirá-lo da gaveta.

Bolsonaro apenas lança uma nova palavra de ordem de sua pantomima golpista de sempre. Está empenhado em destruir as instituições desde o segundo dia de governo. Ou, se quiserem, desde o primeiro. Em um dos discursos de posse, no Palácio do Planalto, afirmou a seguinte pérola:
"Não podemos deixar que ideologias nefastas venham a dividir os brasileiros. Ideologias que destroem nossos valores e tradições, destroem nossas famílias, alicerce da nossa sociedade. E convido a todos para iniciarmos um movimento nesse sentido. Podemos, eu, você e as nossas famílias, todos juntos, restabelecer padrões éticos e morais que transformarão nosso Brasil."

Para quem sabia ler, e apontei isso então, o trecho traz a receita do insucesso e do desastre. Ora "ideologias nefastas" serão todas aquelas dos que discordam do mandatário. A propósito: quais eram mesmo as "nossas tradições"? Notem ali o apelo ao "restabelecimento dos padrões éticos". Quem "restabelece" volta a um ponto do ado, certo? Que ponto servia de referência? Assim, o primeiro dia já anunciava o que estava por vir. E o desastre, em todas as áreas, começou a se realizar no dia seguinte. Com menos de três meses de gestão, a 14 de março de 2019, Dias Toffoli, então presidente do Supremo, abria de ofício o inquérito das "fake news". Estava mais do que claro que o Palácio do Planalto aria a ser, por intermédio de agitadores, digitais ou não, um eixo de desestabilização da democracia.

MUDANÇA DE FOCO
Nos dois primeiros anos de governo, os alvos dos ataques eram tanto o Congresso -- com ênfase em Rodrigo Maia (sem partido-RJ) e no centrão -- como o Supremo. Em suma: o que se queria era um Bolsonaro ditador, que também assim se queria. Feito o acordo com os antigos adversários, o tribunal ou a ser o alvo único do golpismo. Afinal, Bolsonaro tem a certeza de que, enquanto houver, por exemplo, Orçamento secreto, contará com o número necessário de deputados que se grudam ao poder, especialmente em anos pré-eleitoral e eleitoral, como craca às pedras e ao casco das embarcações.

O ogro não desistirá desse "inimigo". Obviamente, ele e os seus seguidores, nessa luta ensandecida, se expõem ao cometimento de crimes, a exemplo daqueles perpetrados por Roberto Jefferson — o que foi preso tardiamente; já expliquei aqui por que deveria ter sido alvo de um flagrante.

Parece-me inferior a zero a possibilidade de Pacheco dar continuidade a um pedido de impeachment. Até porque é o caso de indagar: quais crimes cometeram os ministros? Ainda que a o troço andasse, a tramitação é longa. Está entre os artigos 41 e 73 da Lei 1.079.

Não é uma tramitação simples. Para vocês terem uma ideia, a lei dispensa 25 artigos para o impedimento do presidente da República e 33 — na prática, 34, em razão da existência de um Artigo "41-A" — para o de ministro do STF ou procurador-geral da República. Ainda que tudo chegasse aos finalmentes, seriam necessários os respectivos votos de pelo menos 54 senadores (dois terços) — conforme dispõe o Artigo 68 — para impichar um magistrado do tribunal. Não vai acontecer.

ENCERRO
Trata-se apenas de mais uma chicana de um celerado. A questão é saber quanto isso custa e quais são as consequências, na sociedade, desse embate contínuo. Bolsonaro tem a certeza de que, assim, mantém unida a sua grei e garante o seu lugar no segundo turno. Para, se for o caso, propor a guerra de vida ou morte contra o PT -- quando, então, insistirá em que apenas a sua vitória é legítima.

E se perder? Trata-se do assunto em outro post.