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

Em Goiânia, polícia deixa bolsonaristas protestarem a cada 5 minutos

Bolsonaristas protestam contra derrota nas eleições em Goiânia - Theo Mariano/UOL
Bolsonaristas protestam contra derrota nas eleições em Goiânia Imagem: Theo Mariano/UOL

Theo Mariano

Colaboração para o TAB, de Goiânia

31/10/2022 18h57

O furor verde e amarelo tomou as ruas de Goiânia nesta segunda-feira (31), nas imediações da Praça do Expedicionário, no setor Jardim Guanabara. O rescaldo da tarde ensolarada ganhou as cores da fumaça dos pneus queimando na Avenida Guatapará. Ali, pouco mais de uma centena de bolsonaristas clamavam por intervenção militar, enquanto carros, caminhões e motos atravessavam o tumulto de buzinas, palavras de ordem e xingamentos.

A manifestação iniciou-se por volta das 13h30. Sol e chuva foram incapazes de espantar os bolsonaristas, que portavam cartazes solicitando a execução do artigo 142 da Constituição, que pede a presença das Forças Armadas para a manutenção da lei e da ordem, perturbada por eles mesmos. Apenas o presidente Jair Bolsonaro (PL) seria capaz de fazer diluir o grupo que, a cada cinco minutos, tomava as vias.

Às 17h, enquanto um grupo discursava num carro de som, dizendo que estava aguardando o pronunciamento do presidente, uma tempestade intensa encharcou o local. Debaixo da chuva gelada, os bolsonaristas diziam "Lula ladrão, seu lugar é na prisão". Os policiais pareciam aliviados com a chegada da chuva, imaginando que, com ela, os manifestantes iriam embora. Mas não foram.

O grupo havia instalado uma tenda no canteiro da via paralisada, onde se amontoava para escapar do aguaceiro. Na mesma tenda, os manifestantes bebiam água mineral e refrigerante, distribuídos gratuitamente. O carro de som tocava o hino nacional, bem como jingles da campanha do presidente Jair Bolsonaro, que perdeu nas urnas para o petista Luiz Inácio Lula da Silva (PT). Além disso, um homem pedia ao microfone doações de dinheiro para compra de suprimentos que seriam levados aos caminhoneiros nas barricadas instaladas em outras vias do estado.

Manifestantes bolsonaristas na Avenida Guatapará, em Goiânia  - Theo Mariano/UOL - Theo Mariano/UOL
Imagem: Theo Mariano/UOL

Ponto estratégico

O local da manifestação foi estrategicamente selecionado por ser próximo ao Comando de Operações Especiais do Exército. "Nossa última esperança são as Forças Armadas. Só elas podem colocar ordem em toda a balbúrdia que se instalou no país", afirmou um dos mobilizadores do evento e representante de um grupo de patriotas de Goiás, Clayton Rodrigues, 50.

Segundo o manifestante, a ideia da mobilização é garantir que o resultado das eleições seja contestado com uma intervenção militar, destituição e prisão dos ministros do STF (Supremo Tribunal Federal) e uma "possível convocação" de novas eleições em 90 dias. "O STF que nos aguarde. Senhor Alexandre de Moraes, queremos ver o senhor na cadeia", disse Clayton Rodrigues, em discurso aos manifestantes.

A todo momento, os bolsonaristas agradeciam pela presença dos policiais militares na manifestação. "Estão todos aqui, fazendo um belo trabalho, pacificamente", disse um homem, enquanto discursava sobre o carro de som, estacionado no canteiro direito da Avenida Guatapará. Enquanto isso, os manifestantes confirmavam estar ali "dispostos a morrer" pela pátria.

Sobre a Praça Expedicionária, cerca de 20 viaturas estavam paradas, com sirenes acesas. Em meio às luzes vermelhas, viam-se agentes da segurança pública apenas observando. Foram acionados batalhões de forças especiais, mas não houve qualquer confronto com os manifestantes. O acordo com os manifestantes foi que, a cada cinco minutos, eles podiam interromper o trânsito para protestar.

Pneus queimados em Goiânia, em protesto pela derrota de Jair Bolsonaro - Theo Mariano/UOL - Theo Mariano/UOL
Imagem: Theo Mariano/UOL

Nuances da mobilização

Os pontos de manifestações contra o resultado das eleições foram vários em Goiás. Segundo a última atualização da PRF (Polícia Rodoviária Federal), divulgada na tarde desta segunda, foram feitos bloqueios em Jataí, Itumbiara e Caiapônia. A empresa Triunfo Concebra, responsável por trechos da BR-153 e BR-060 em Goiás, divulgou ainda outros três pontos de manifestação: em Aparecida de Goiânia, Anápolis e Abadiânia.

Em Anápolis, parado há 18 horas, o caminhoneiro Maruzan Bueno, 63, diz que a manifestação não tem qualquer relação com o segmento dos caminhoneiros. "Alguns empresários usam o nome do nosso grupo para fazer barulho. Mas isso não a de conversa", disse ao TAB. De acordo com o motorista, que está no local sem qualquer previsão de liberação, "é muito fácil" usar os caminhoneiros para realizar esse tipo de protesto. "Fazer o quê, né?".