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

Madeleine Lacsko

OPINIÃO

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

Lula não vai perder palanque no Nordeste por questões éticas e morais

Colunista do UOL

14/10/2022 19h31

Na Live UOL desta sexta-feira (14), falei sobre a defesa feita pelo ex-presidente Luiz Inácio Lula da Silva (PT) do governador afastado de Alagoas e candidato à reeleição, Paulo Dantas (MDB).

Dantas foi alvo de uma operação da Polícia Federal e é apontado como principal beneficiário e "autor intelectual" de um suposto esquema de desvio de verba pública.

Durante comício na capital alagoana, o candidato do PT à Presidência defendeu o governador afastado —até 31 de dezembro, segundo decisão do STJ (Superior Tribunal de Justiça).

"Isso cheira à minha condenação. Por que eu fui condenado? Exatamente para evitar que eu fosse candidato em 2018. Quem é que tem interesse em evitar que você seja candidato? Alguém. Eu não vou dizer o nome. A verdade é que você deve ter um esquema nesse estado que não gosta do governo progressista", disse Lula.

"Que você seja julgado, investigado decentemente. Quando você for julgado e tiverem encontrado alguma prova, aí podem te condenar. Condenar para que você não seja candidato é um erro que já cometeram comigo", acrescentou o petista, que disse também ter sido orientado por aliados a não ir ao estado, mas que jamais deixaria "um companheiro no meio do caminho".

Criticando com frequência as "rachadinhas" ligadas ao presidente Jair Bolsonaro (PL) e a sua família, Lula revelou que não vê problemas na defesa de um aliado que está sendo acusado do mesmo tipo de esquema.

Com o discurso a favor de Dantas, neste momento da corrida eleitoral, o petista mostra que tem uma certeza: não vai perder seu palanque no Nordeste do país —onde conta com ampla vitória— por causa de questões éticas ou morais.

Na Live UOL, falamos também sobre os erros da militância petista, nas redes sociais; e sobre as primeiras prisões relacionadas a desvios de verbas do orçamento secreto.

Ao lado de Felipe Moura Brasil, debato os principais assuntos do país diariamente, das 17h às 18h, com transmissão ao vivo nos perfis do UOL no YouTube, no Facebook e no Twitter.

** Este texto não reflete, necessariamente, a opinião do UOL