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

Sarto (PDT) e Capitão Wagner (PROS) farão 2º turno em Fortaleza

Sarto (PDT) e Capitão Wagner (PROS), candidatos à prefeitura de Fortaleza em 2020 - Reprodução/Facebook
Sarto (PDT) e Capitão Wagner (PROS), candidatos à prefeitura de Fortaleza em 2020 Imagem: Reprodução/Facebook

Carlos Madeiro

Colaboração para o UOL, em Maceió

15/11/2020 22h38Atualizada em 16/11/2020 00h36

O deputado estadual Sarto (PDT) fará o segundo turno contra o deputado federal Capitão Wagner (PROS) em disputa pela Prefeitura de Fortaleza. O resultado da votação deste domingo (15) deixa de fora da corrida eleitoral a ex-prefeita Luizianne Lins (PT), que também estava no páreo.

O candidato do partido de Ciro Gomes, que disputou as últimas eleições presidenciais, obteve 35,72% dos votos. O seu rival no segundo turno, 33,32%. Luizianne Lins (PT) ficou com 17,76%, Heitor Férrer (Solidariedade) com 4,93%, Celio Studart (PV) com 3,54% e Renato Roseno (PSOL) obteve 2,68% dos votos, segundo o TSE (Tribunal Superior Eleitoral).

A eleição em Fortaleza reuniu três das maiores lideranças do país: o presidente Jair Bolsonaro apoiando o capitão; os irmãos Ciro e Cid Gomes, apoiando Sarto; e o ex-presidente Luiz Inácio Lula da Silva, ao lado de Luizianne.

Sarto, 61, era presidente da Assembleia Legislativa e foi lançado candidato em cima da hora pelo PDT para concorrer e defender a força do grupo liderado pelos Ferreira Gomes —os irmãos foram decisivos para a eleição de Roberto Cláudio (PDT) na capital cearense em 2012 e 2016 e pretendem repetir a façanha.

Um dos pontos que marcou a disputa no Ceará foi a ausência do governador Camilo Santana (PT) na campanha, mesmo havendo uma candidatura petista no páreo. Isso ocorreu em respeito à aliança dele com os Ferreira Gomes. Tanto Sarto como Luizianne usaram a imagem do governador em suas campanhas.

Com a demora na definição de seu nome, Sarto começou a disputa bem atrás em todas as pesquisas. Até o início de novembro, Ibope e Datafolha apontavam que o pedetista era o terceiro colocado. Sarto, no entanto, calcou sua campanha no apoio dos irmãos Cid e Ciro Gomes e, com isso, alcançou a liderança nos últimos levantamentos.

O Capitão Wagner, 41, fez carreira na polícia militar e hoje é deputado federal. Apesar de contar com apoio declarado de Bolsonaro, ele preferiu não usar a imagem do presidente devido ao alto índice de rejeição ao presidente na capital cearense. Em regra, quando perguntado, ele se limitava a dizer que tinha uma boa relação com o governo federal.

Wagner chegou a disputar a eleição em 2016 e também foi ao segundo turno, mas acabou derrotado pelo atual prefeito Roberto Cláudio.

Durante a campanha, Wagner foi constantemente atacado por adversários de que teria sido um dos comandantes do motim policial no início do ano, que resultou em uma onda de violência no estado. Ele negou e disse que apenas estava ajudando na negociação entre governo e servidores.