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

Esquerda marca atos contra Bolsonaro e racha por críticas e vitrine a Lula

 Protesto em Brasília contra o governo Bolsonaro pede o impeachment do presidente - Ueslei Marcelino/Reuters - 21.fev.2021
Protesto em Brasília contra o governo Bolsonaro pede o impeachment do presidente Imagem: Ueslei Marcelino/Reuters - 21.fev.2021

Luciana Amaral

Do UOL, em Brasília

25/05/2021 04h00

Sem consenso político e dividida quanto à necessidade de promover atos em meio à pandemia, parte da esquerda prepara protestos contra o governo de Jair Bolsonaro (sem partido) com a aposta em cuidados nas ruas para não dar brecha às mesmas críticas que faz ao presidente, especialmente após a "motociata" neste domingo (23) no Rio de Janeiro.

Para quarta (26), centrais sindicais planejam ato em frente ao Congresso Nacional contra a gestão de Bolsonaro no enfrentamento à pandemia e a favor do auxílio emergencial de R$ 600. As entidades também querem entregar uma sugestão de agenda legislativa aos presidentes da Câmara, Arthur Lira (PP-AL), e do Senado, Rodrigo Pacheco (DEM-MG).

O protesto será presencial, mas, segundo os organizadores, contará com distanciamento social, distribuição de máscaras e medição de temperatura, por exemplo. O presidente da CSB (Central dos Sindicatos Brasileiros), Antonio Neto, afirma que o número de pessoas por central também será limitado para não haver aglomeração. Haverá ainda transmissão online na internet.

O evento tem o apoio de CSB, CUT (Central Única dos Trabalhadores), Força Sindical, UGT (União Geral dos Trabalhadores), CTB (Central dos Trabalhadores e Trabalhadoras do Brasil), Nova Central, Intersindical, Pública, CSP-Conlutas, CGTB (Central Geral dos Trabalhadores do Brasil), Contag (Confederação Nacional dos Trabalhadores Rurais Agricultores e Agricultoras Familiares) e MST (Movimento Sem Terra), junto às frentes Brasil Popular e Povo sem Medo.

Na avaliação de Neto, a oposição precisa "começar a mostrar a cara também", mas sem incorrer nos mesmos erros de Bolsonaro, que tem participado de atos com aglomerações e sem o uso de máscara. Essas medidas vão na contramão do que é recomendado por especialistas para conter a propagação do novo coronavírus.

"Vamos ter que ter a responsabilidade de mostrar que é possível fazer um ato respeitando efetivamente todos esses protocolos que estamos denunciando a cada momento que ele [Bolsonaro] faz", disse.

Frentes e movimentos sociais organizam outras manifestações contra o governo Bolsonaro para sábado (29) em diversas cidades brasileiras. Pedirão o impeachment do presidente, vacinação mais rápida contra a covid-19 e medidas de proteção social.

A ação conta com o e do coordenador do MTST (Movimento dos Trabalhadores Sem-Teto) e da frente Povo sem Medo, Guilherme Boulos (PSOL).

Para uma ala da esquerda, não é possível esperar mais para se posicionar incisivamente nas ruas contra o governo apesar de o país poder estar na iminência de uma terceira onda de infecções pelo novo coronavírus.

Para um líder do PT, ouvido sob reserva, há uma tensão muito grande com pessoas ando fome e ficando desempregadas. E isso acaba por pressionar os líderes populares a "colocar a boca no trombone".

Ainda assim, o parlamentar reconhece que, dentro da própria base, há pessoas em dúvida se devem ir aos atos por temerem se infectar. Há quem acredite ser cedo para eatas e haver o risco de mau exemplo com eventuais aglomerações. Seria considerado uma incoerência entre discurso e prática.

Fora o receio da propagação da covid-19, parte da esquerda entende esses movimentos como uma pressão do PT e de apoiadores para consolidar o ex-presidente Luiz Inácio Lula da Silva (PT) como o candidato da oposição na eleição presidencial de 2022, avalia um deputado do PSB, que preferiu não se identificar.

Parte dos integrantes do PSB investe na possibilidade de uma terceira via entre Lula e Bolsonaro e não acredita que devam já encampar o nome do petista para o próximo pleito. A tendência é de não irem e não incentivarem a convocação.

Além disso, há a avaliação de que os próximos protestos possam ser interpretados apenas como uma resposta à "motociata" de Bolsonaro e haver o risco de a esquerda parecer mais "fraca" do que a base fiel do presidente da República ao promover atos com espaços vazios —por causa do distanciamento social—, em contraponto às imagens com aglomerações dos eventos pró-governo.