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

Oração por Bolsonaro, bandeiraço por Lula: eleitores se mobilizam em debate

Do UOL, em São Paulo

16/10/2022 19h38

Eleitores do presidente Jair Bolsonaro (PL) e do ex-presidente Luiz Inácio Lula da Silva (PT) se mobilizam nas imediações da TV Bandeirantes, em São Paulo, onde ocorrerá o primeiro debate direto no segundo turno das eleições presidenciais, promovido em conjunto pelo UOL, Folha de S.Paulo e TV Cultura.

Um grupo de cinco bolsonaristas com bandeira do Brasil se reuniu para fazer uma oração em uma área separada por gradis. No outro lado, petistas fazem um bandeiraço ao som de músicas alusivas a Lula.

Oração de olhos fechados. De olhos fechados e com as mãos estendidas, a manicure Veronica Lobo Queiroz, 40, puxava a oração. "O Brasil é do senhor Jesus. Deus é o senhor. Estamos apoiando o nosso presidente, que fala a verdade. É isso que viemos falar."

Apoio de farda. Entre os apoiadores de Bolsonaro, havia até um bombeiro, que trajava o uniforme de trabalho e ostentava uma bandeira de Franco da Rocha, na Grande São Paulo. "Vim fardado porque saí direto do serviço pra cá. O meu objetivo é tirar uma foto com o Bolsonaro e parabenizá-lo", disse o bombeiro Irineu Vasconcelos, 44.

"Não vou entrar em detalhes. Mas está acontecendo muita fake news contra o Bolsonaro. A gente tá aqui pra dar apoio a ele", declarou o pintor José Vieira, 40.

Bandeiraço por Lula. Com bandeiras e carro de som, apoiadores de Lula se mobilizaram no lado oposto ao local onde estavam concentrados os bolsonaristas. Ainda assim, houve contato com bolsonaristas.

16.out.2022 - Eleitores do Lula (PT) se mobilizam em frente à TV Bandeiras em dia de debate - Herculano Barreto Filho/UOL - Herculano Barreto Filho/UOL
16.out.2022 - Eleitores do Lula (PT) se mobilizam em frente à TV Bandeiras em dia de debate
Imagem: Herculano Barreto Filho/UOL
"Bolsonaro!", gritou um homem que ou de carro pelo local. "É Lula!", responderam os petistas. "Não é aqui, é do outro lado", respondeu uma petista ao ver um casal usando camisas amarelas da seleção brasileira, que procuravam o local de concentração de bolsonaristas.

Militância. A enfermeira aposentada Edva Aguilar, 65, foi a primeira petista a chegar no local. Com bandeira e adesivos colados na roupa, ela diz acreditar na força da militância durante o segundo turno das eleições. "Tá vendo o meu carro ali, todo adesivado?", disse, ao mostrar o veículo estacionado junto ao meio-fio.

"A expectativa é que o Bolsonaro vá perder as estribeiras no debate, como é de costume. Ele dizer que 'pintou um clima' com uma menininha de 14 anos não condiz com quem diz defender Deus, pátria e família", disse Edva.

"É importante estarmos aqui para dar apoio nesse debate, que vai ser o mais importante das eleições", disse o servidor público João Gabriel Buonavita, 37.