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

Tales Faria

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Sergio Moro reaparece como candidato à vaga de Luciano Huck

Chefe da Sucursal de Brasília do UOL

09/10/2021 12h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

O ex-juiz e ex-ministro da Justiça Sérgio Moro deve anunciar no mês que vem sua disposição de concorrer a presidente da República em 2022. Pelo menos foi essa a impressão que deixou na cúpula do Podemos, o partido que o quer como filiado. Moro ressurge das cinzas para ocupar a vaga de Luciano Huck como o outsider aspirante a candidato da Terceira Via contra o ex-presidente Lula (PT) e contra Jair Bolsonaro (Sem partido), o atual chefe do Planalto.

O verdugo da Lava Jato retorna como um fantasma a assombrar os pré-candidatos em campanha. Estes, por sua vez, tentarão não ar recibo.

Bolsonaro vai dizer que não está nem ligando para seu ex-ministro, que o acusou de manipular politicamente a Polícia Federal. Lula dirá que está doido para enfrentar o ex-juiz nas urnas e nas ruas. Afinal, já o derrotou na Justiça. Mas não é bem assim.

Para Lula, o candidato mais fácil de derrotar - e, portanto, o melhor adversário - é o atual presidente da República. Com Moro na área, a polarização pode se romper. Quanto a Bolsonaro, Moro ameaça roubar-lhe boa parte do eleitorado e impedir até mesmo que o presidente chegue ao segundo turno.

Mais preocupados ainda estarão aqueles outros que sonhavam e sonham tornar-se o nome da Terceira Via.

É o caso do governador de São Paulo, o tucano João Doria, e do pedetista Ciro Gomes. Ambos estão em campanha desde sempre, mas não conseguiram superar o ex-juiz nas pesquisas, mesmo com Moro tendo ado este tempo todo exilado em um emprego de luxo nos Estados Unidos.

Não se trata de avaliar se Moro será um bom ou mau gestor, um bom ou mau candidato. Mas não há como negar que sua possível candidatura mexe com o ambiente político.

Como ocorreu com o apresentador da Globo Luciano Huck, quando este ameaçou sair candidato, Sergio Moro tem grandes chances de atrair o apoio de partidos como o Novo, o Cidadania e outros. Mas como aquele velho apresentador da Globo, o Chacrinha, o ex-juiz aparece em cena para confundir, não para ajeitar o ambiente.

O DEM e o PSL, por exemplo, que estão em processo de fusão, devem rachar no apoio a Sergio Moro. Parte dos deputados pesselistas já estão arrastando as asas para o ex-comandante da Lava Jato, enquanto os deputados do DEM, mais alinhados com o centrão, não gostam.

Outras legendas do centrão também devem rachar. E o partido que comanda o grupo, o PP do presidente da Câmara, Arthur Lira (AL), e do ministro da Casa Civil, Ciro Nogueira, se verá isolado e precisando como nunca, em cada estado, do guarda-chuva de Bolsonaro ou Lula.

Ou seja, para o bem ou para o mal, Moro reaparece bagunçando o coreto. Há quem diga que, na verdade, ele nem quer ser candidato a presidente. Só quer mesmo surfar no noticiário para depois concorrer a senador pelo Paraná.

Sei não... Acho que ele é mais ambicioso do que isto.