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

OPINIÃO

Opinião - Russomanno sendo Russomanno: a fama de elitista não sai no banho

06 out. 2020 - Celso Russomanno (Republicanos) visita o Mercado da Lapa, na zona oeste de São Paulo - FÁBIO VIEIRA/FOTORUA/ESTADÃO CONTEÚDO
06 out. 2020 - Celso Russomanno (Republicanos) visita o Mercado da Lapa, na zona oeste de São Paulo Imagem: FÁBIO VIEIRA/FOTORUA/ESTADÃO CONTEÚDO

Matheus Pichonelli

Colunista do UOL

14/10/2020 11h01

Celso Russomanno estava à frente na corrida para a Prefeitura de São Paulo em 2012 quando viu um microfone à sua frente, deixou a pista e correu para declarar que em sua gestão a tarifa de ônibus seria proporcional à distância percorrida pelos usuários. A proposta, que obviamente prejudicava a população mais pobre, que morava longe do trabalho e que mais dependia de transporte público, foi um balaço de prata na própria testa.

Quatro anos depois, o deputado e apresentador de TV recebeu uma segunda chance, mas ela submergiu com pouco tempo de TV e a exploração, por parte dos adversários, da dívida milionária de um bar onde era sócio e um vídeo em que parecia destratar uma caixa de supermercado. Isso sem contar frases sobre horas trabalhadas e a pertinência de propostas como a "guerra" ao excesso de portas para os corredores de ônibus.

Dessa vez o neoaliado do presidente Jair Bolsonaro pede uma chance não para ele, e sim para São Paulo.

A chance veio em forma de favoritismo e liderança nas pesquisas. Russomanno só precisa combinar com Russomanno, ao menos aquela sua versão fora da propaganda que adora parar e dizer bobagem sobre transporte toda vez que reabastece no pit stop da corrida que lidera.

Na terça-feira (13), Russomanno voltou a ser Russomanno ao dizer que moradores de rua e usuários de droga em regiões como a da "cracolândia", que não têm como tomar banho, podem ser "mais resistentes do que a gente" em relação à covid-19.

Aqui podemos até dispensar a mensagem implícita sobre quem são "eles" e quem é " a gente", uma barreira invisível do direito a ser humano mediada pelo o à rede de água.

Vamos ficar só na lógica.

Não fosse o auxílio emergencial, aprovado a duras penas pelo Congresso, Jair Bolsonaro, a inspiração de Russomanno, estaria ainda derretendo diante da opinião pública disfarçando a demofobia e a ausência de ideias para a pandemia com teorias próprias a respeito do "brasileiro que precisa ser estudado" porque "mergulha no esgoto e nada acontece".

O que precisava ser estudada era a ausência de saneamento básico que mata 15 mil brasileiros ao ano em decorrência da precariedade, mas isso já não fazia cócegas no país que logo atingiria uma marca dez vezes maior de mortos na pandemia minimizada pelo governante.

Em sua fala na Associação Comercial de São Paulo, Russomanno criticou as medidas de isolamento social que, segundo ele, foram inflacionadas pelo medo. "Todo mundo esperava que a Covid tomasse conta de todo mundo, até porque eles (os moradores de rua) não têm o afastamento que foi pré-estabelecido pela OMS. E eles estão aí, nós temos casos pontuais, e não temos uma quantidade imensa de moradores de rua com problema de Covid", declarou o candidato.

Alguém poderia perguntar se 150 mil mortos era pouco ou estava de bom tamanho.

O candidato do Republicanos acredita que eles, os moradores de rua que não são "a gente", sejam mais resistentes porque "convivem o tempo todo nas ruas, não tem como tomar banho todos os dias, etc e tal", afirmou.

Quem junta os pontos sem desconfiar das imposturas sanitárias de quem quer gerenciar a área da saúde pública por quatro anos pode pensar que a solução para escapar do vírus é deixar de tomar banho.

Sem querer, Russomanno traz de volta ao século 21 o raciocínio dos médicos do tempo da Peste Negra, que dizimou um em cada três europeus entre 1348 e 1350. Como mostrou um artigo recente da revista Aventuras na História, os doutores da época acreditavam que a doença era causada por miasmas, os ares contaminados e fedorentos, e não por uma bactéria transmitida pela pulga de ratos.

Pensando que esses miasmas penetravam pelos poros da pele abertos durante o banho, as autoridades logo associaram a higienização do corpo a uma porta de entrada para o cemitério. Isso explica a aversão ao banho da época. O mito (sem trocadilhos) da Idade Média dizia que a sujeira sobre a pele era uma espécie de proteção natural e assim reinou por anos. A negação da ciência não era opção com tantas luzes apagadas.

Não se sabe o que os candidatos a alcaldes diziam na época para conseguir perder a eleição. Sabe-se, porém, que a tese de Russomanno era bastante popular no período.

Em 2020, talvez, só talvez, essa tese sem fundamento sirva apenas para colar como furúnculo na pele a pecha de candidato que conhece, não quer conhecer e tem raiva de quem conhece a realidade dos moradores de rua de sua própria cidade.

Em tempos de eleição, é erro fatal.

A fama de elitista não sai no banho.