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

'Divergentes': Lula une Marília Arraes e João Campos em ato no Recife

Ato de campanha de Marília Arraes (Solidariedade), candidata ao governo de Pernambuco, e Lula (PT), no Recife - Ricardo Labastier/UOL
Ato de campanha de Marília Arraes (Solidariedade), candidata ao governo de Pernambuco, e Lula (PT), no Recife
Imagem: Ricardo Labastier/UOL

Do TAB, no Recife

15/10/2022 04h01

"Juntem os divergentes para vencer os antagônicos". Com a mesma frase que usou para justificar sua união com Geraldo Alckmin (PSB) na chapa em que concorre à Presidência da República, o ex-presidente Luiz Inácio Lula da Silva (PT) definiu a reaproximação de Marília Arraes (Solidariedade) e João Campos (PSB), na sexta-feira (14), no Recife.

Primos e adversários políticos, eles expam abertamente uma rixa familiar que começou há oito anos, antes da morte do ex-governador Eduardo Campos (PSB), e se intensificou em 2020, quando disputaram a Prefeitura da capital pernambucana. Os dois se enfrentaram no segundo turno e João venceu a eleição com 56,27% dos votos válidos (447.913), ante 43,73% (348.126) de Marília.

"Pode ter acontecido uma briga, mas a relação deles é sanguínea. Eles têm o [mesmo] DNA", afirmava Lula, questionado por uma jornalista sobre a reconciliação. Marília e João se reencontraram por causa de um ato de campanha do ex-presidente e dela, candidata ao governo de Pernambuco.

Marília concorre pelo Solidariedade, partido ao qual se filiou em março deste ano. Antes, ou pelo PT e pelo PSB.

"Eu tô aqui porque preciso que ela ganhe e ela tá aqui porque precisa que eu ganhe. Se a gente conseguir reconstruir nesse estado a governança que eu e Eduardo Campos fizemos, Pernambuco vai ser muito melhor", afirmou Lula.

14.out.2022 | Marília Arraes (Solidariedade), Lula (PT), Humberto Costa (PT) e João Campos (PSB) no Recife - Ricardo Labastier/UOL - Ricardo Labastier/UOL
Marília, Lula, o senador Humberto Costa (PT) e o prefeito João Campos (PSB)
Imagem: Ricardo Labastier/UOL

'Teimosia'

Marília Arraes ou para o segundo turno em primeiro lugar, com 1.175.651 votos (23,97%). Agora ela disputa o cargo com Raquel Lyra (PSBD), que recebeu 1.009.556 (20,58%).

Embora tenha liderado todas as pesquisas de primeiro turno, a deputada federal agora está atrás nas pesquisas. Na última terça-feira (11), o Ipec mostrou que Raquel virou e tem 50% das intenções de votos válidos, enquanto Marília está com 42%.

O cenário é incerto, dizem pessoas próximas à neta do ex-governador Miguel Arraes. "A presença de Lula pode melhorar a situação dela", espera uma parlamentar do PT. Para outra fonte, porém, a candidatura de Marília foi "teimosia" e pode pôr em risco a hegemonia do campo de centro-esquerda à frente do estado.

Após a campanha para a Prefeitura, em 2020, Marília decidiu se lançar ao governo. A ideia do PT, no entanto, tê-la no Senado e manter o apoio ao PSB local. "Marília não quis ser senadora. Ela tinha um projeto de ir para o governo, e não quis abrir mão. Por isso saiu do PT", explica a entrevistada.

No primeiro turno de 2022, o PT apoiou Danilo Cabral (PSB) para governador. Agora, a sigla declarou voto em Marília.

14.out.2022 | Ato de campanha de Marília Arraes (Solidariedade) e Lula (PT) no Recife - Ricardo Labastier/UOL - Ricardo Labastier/UOL
Lula: 'Tô aqui porque preciso que ela ganhe e ela tá aqui porque precisa que eu ganhe'
Imagem: Ricardo Labastier/UOL

'Uma vírgula'

Marília Arraes e João Campos não se falaram diretamente nem posaram juntos para foto durante a entrevista coletiva - antes mesmo do fim da conversa, ela se levantou e saiu, para ir ao banheiro. Na mesa, os dois ficaram separados por Lula e pelo senador Humberto Costa (PT).

Antes da caminhada, porém, a candidata chegou a comentar o apoio do primo. Disse que "mesmo tão jovem, [ele] teve o discernimento a favor da democracia, a favor de um governo progressista". Segundo ela, as divergências entre eles "são muito menores do que o risco que corre nosso país", referindo-se ao posicionamento de ambos contra Jair Bolsonaro (PL).

A tentativa de conciliar os votos do ex-presidente com os da deputada federal parece ter mobilizado a militância petista no estado. Ao contrário do primeiro turno, quando a Justiça Eleitoral proibiu que Marília usasse referência a Lula na sua campanha - já que o apoio oficial do candidato do PT era ao PSB -, agora é possível ver bandeiras com os rostos dos dois espalhados pelo Recife. Marília se mantém vestida de vermelho, como fez desde o início da corrida eleitoral.

"Eu não conheço a adversária da Marília, não posso falar mal dela uma vírgula", afirmou Lula, se referindo a Raquel. "Mas sei que todas as pessoas ligadas ao Bolsonaro foram apoiar ela e não a Marília." Nas ruas do estado, entretanto, é frequente ouvir a associação "Luquel", entre eleitores que decidiram votar no candidato do PT à Presidência, junto à candidata do PSDB ao governo de Pernambuco. "Lula que desculpe, mas aqui é Luquel."

O clima do ato era de um Carnaval fora de época, incluindo a presença de bonecos de Olinda e de um dragão gigante do bloco Eu Acho É Pouco, um dos mais tradicionais de Pernambuco, entre a multidão.

Bem na reta final do trajeto, Lula fez novamente Marília Arraes se juntar a João Campos. Juntos, os três posaram de mão dadas para uma foto no carro que levou a dupla durante a caminhada.