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

Com imagem de Bolsonaro na camisa, Tarcísio vota em São José dos Campos

José Dacau

Do UOL, em São José dos Campos

02/10/2022 11h18Atualizada em 02/10/2022 15h14

O candidato Tarcísio de Freitas (Republicanos) votou hoje pela manhã em um colégio, na Vila Ema, em São José dos Campos, no Interior. Ele aparece em segundo lugar nas pesquisas para governador de São Paulo e deve disputar o segundo turno com Fernando Haddad (PT).

O ex-ministro das Infraestrutura exibia em sua camiseta a imagem do presidente e candidato à reeleição, Jair Bolsonaro (PL).

"Minha expectativa é que que o presidente Bolsonaro irá muito bem. Acho que vai surpreender o resultado dele, pelo que eu vejo nas ruas e pelo que eu acompanhei ao longo de quatro anos. Eu acredito que vai ter segundo turno", disse Tarciso, sobre a eleição presidencial.

As últimas pesquisas de intenção de votos divulgadas, ontem à tarde, mostraram que Tarcísio tem uma vantagem relevante frente ao atual governador Rodrigo Garcia (PSDB).

No Datafolha, o candidato do Republicanos apareceu com 31% dos votos válidos - que exclui brancos, nulos e indecisos -, e o tucano, com 23%. E Haddad, na liderança com 39%.

Na pesquisa do Ipec, considerando os votos válidos, na disputa por uma vaga no segundo turno da disputa pelo Palácio dos Bandeirantes, Haddad ficou com 41%; Tarcísio 31% e Garcia 22%.

A pesquisa da Quaest Consultoria aponta empate técnico entre Haddad (36%) e Tarcísio (34%). A margem de erro é de dois pontos percentuais para mais ou para menos.

Na garupa do presidente. Tarcísio participou do último ato de campanha do presidente Jair Bolsonaro (PL), uma motociata realizada ontem pela manhã na cidade de São Paulo.

A leitura dos números do Datafolha na campanha de Tarcísio é de que a estratégia de associar o candidato ao presidente foi correta.

Os dois apareceram juntos no rádio e na televisão desde o primeiro dia da propaganda eleitoral. A dupla também fez dobradinha nas redes sociais, motociatas e comícios.

Na avaliação da equipe de Tarcísio, a corrida pelo Planalto foi polarizada entre Bolsonaro e o ex-presidente Luiz Inácio Lula da Silva (PT), e este fenômeno se replicou em São Paulo.

Outro fator que favorece Tarcísio seriam as qualidades do candidato, que foi ministro da Infraestrutura do governo Bolsonaro, e que mostrou saber sobre os problemas do estado, além de citar conhecimentos sobre diversas áreas, como saúde e educação. Nas palavras de um interlocutor, "Tarcísio não é um poste."

Tropeços e inteligência emocional. A campanha de Tarcísio no primeiro turno teve uma série de percalços. O primeiro foi companheiro de partido e deputado estadual Douglas Garcia (Republicanos), que agrediu verbalmente a jornalista Vera Magalhães.

O episódio ocorreu no debate promovido por UOL, Folha de S.Paulo e TV Cultura em 13 de setembro. O aliado estava lá como convidado do candidato a governador.

Na semana seguinte, Tarcísio não soube responder em qual local votava. Em uma eleição em que foi rotulado de "forasteiro" por ter nascido no Rio de Janeiro e morar em Brasília, o episódio tinha potencial de muito estrago.