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

'Machista', 'não mentirás' e 'jeito malandro': 9 frases do debate do Rio

Igor Mello

Do UOL, no Rio

02/10/2020 01h48

Apesar das poucas oportunidades de confrontos diretos, não faltaram momentos quentes no primeiro debate entre os candidatos à Prefeitura do Rio, realizado pela Band. Os principais candidatos na disputa tiveram atritos em temas variados, da gestão da pandemia de covid-19 no município a acusações de machismo.

Com 11 candidatos, o programa permitiu interações diretas em dois dos quatro blocos. Eduardo Paes (DEM), ex-prefeito e líder nas pesquisas, e o prefeito Marcelo Crivella (Republicanos) foram os principais alvos dos concorrentes. Eles entraram em discussões com Renata Souza (PSOL), Benedita da Silva (PT) e Martha Rocha (PDT).

Ainda houve tempo para que Clarissa Garotinho (PROS) e Fred Luz (NOVO) tivessem uma dura discussão.

Veja, em nove frases, os principais momentos do debate:

Eu lamento muito que nossa candidata Benedita tenha esquecido os princípios bíblicos, do Não Mentirás

Crivella para Benedita da Silva após críticas à gestão da pandemia pela prefeitura

Aonde está esse aparelho de tomografia? Onde foi colocado primeiro? Onde a comunidade não tinha ibilidade porque era um espaço da igreja e isso não podemos fazer. As pessoas deixaram de frequentar. Temos que ter um estado laico, aonde nós possamos agir como gestores públicos. E não confundir o púlpito com palanque político

Benedita da Silva em resposta logo em seguida a Crivella

Você deixou as pessoas morrerem sem atendimento nos hospitais, como quer falar de ideologia de gênero enquanto a população está morrendo? Isso é uma vergonha

Renata Souza em resposta a Crivella

Se o PSOL ganhar a eleição, nossas crianças vão ter uma coisa que tinha em casa, orientação sexual. Vai ter kit gay na escola e vão induzir a liberação das drogas

Crivella em tréplica a Renata Souza


Estou vendo que a Martha [Rocha] não estudou as contas da prefeitura. Aliás, lê as decisões do Tribunal de Contas do Município e do Poder Judiciário mostrando que nós deixamos recursos em caixa, não sei se vai entender direito o que estou dizendo

Eduardo Paes em resposta a Martha Rocha


Quero dizer para o candidato que esse jeito debochado e desrespeitoso, esse jeito malandro de ser, o carioca não aguenta mais, não. O carioca quer andar de cabeça erguida. Quero te dizer, candidato, que o teu filme não vale ver de novo

Martha Rocha em tréplica a Eduardo Paes

O Rio de Janeiro precisa de gestores de qualidade, não de papo furado. Ao se assumir uma prefeitura em qualquer situação que esteja vamos esquecer os culpados, porque os problemas têm que ser resolvidos

Fred Luz para Clarissa Garotinho


Fred, você vem com essa casca de partido Novo, mas na verdade você é um machista que gosta de menosprezar a história das mulheres. (...) Só porque eu sou jovem e sou mulher, você acha que eu não tenho direito de construir a minha própria trajetória?

Clarissa Garotinho em resposta à declaração de Fred Luz


Carioca não quer saber de briga política, não quer saber de briga de televisão. O carioca quer ser bem cuidado

Luiz Lima (PSL) para Crivella em referência a críticas à TV Globo pelo prefeito, ligado à Record