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

Timing não poderia ser pior para Lula nem melhor para Moro

O ex-presidente Lula e o ex-ministro Sergio Moro - Carla Carniel/Reuters e Rodolfo Buhrer/Fotoarena/Estadão Conteúdo
O ex-presidente Lula e o ex-ministro Sergio Moro Imagem: Carla Carniel/Reuters e Rodolfo Buhrer/Fotoarena/Estadão Conteúdo

Colunista do UOL

22/03/2023 20h17

Mais uma vez perdemos de vista a discussão realmente importante para mergulhar no sarapatel da polarização tóxica. A história surreal do plano para matar o senador Sergio Moro e promotores que combatiam o PCC mostra a tentativa do crime organizado brasileiro de saltar para um novo patamar.

Na máquina de moer a realidade, esse dado chocante é escanteado e reduzido à rivalidade Lula x Moro. O timing de Lula foi péssimo. Alardeado como arquiteto da pacificação nacional sem jamais ter se comprometido com isso, resolveu abrir o coração à imprensa que considera amiga do governo.

Disse literalmente sobre o período em que esteve preso: "Uma coisa que eu tenho muito orgulho é que o procurador entrava para ver se estava tudo bem, eu falava: 'Não está tudo bem. Vai ficar quando eu f**** esse [Sergio] Moro. Estou aqui para me vingar dessa gente, e se preparem que eu vou prova'".

No estado de apoteose da superficialidade que vivemos, rapidamente aparecem os tradutores de político. Há anos, todas as vezes em que um político importante faz uma fala que o complica, surge alguém que traduz. Lembra um pouco o que eu fazia com meu filho quando começou a falar e ninguém além de mim entendia o que ele balbuciava.

Considero absurdamente desrespeitoso tentar fazer com o presidente Lula o que eu fazia com meu filho pequeno. Já não faço isso agora que ele está mais velho e domina a linguagem. Tentar fazer isso com um dos mais brilhantes oradores políticos do Brasil é bastante arrogante e, podemos imaginar, um resquício classista.

Lula é mais competente em oratória que todos seus potenciais tradutores, é um craque da matéria. Falou exatamente o que quis dizer e sabendo o impacto que teria, é um político brilhante. Acabou traído por algo que não controla, o timing.

Não poderia pensar, imagino, que no dia seguinte seria revelada uma operação que conteve os planos do PCC de matar o senador Moro. Nesse contexto, o uso político da fala do presidente é completamente diferente daquele do momento da fala.

Inevitável que a oposição tentasse associar uma coisa à outra e fizesse ilações sobre a relação entre o desejo de vingança e os planos do crime organizado. É um prato cheio para manipular o público acostumado a afirmações do tipo, que unem dois fatos sem comprovar a relação entre os dois.

A discussão a a se voltar para outro foco, o da rivalidade entre Lula e Moro. Para o senador, que começou o mandato sem uma causa forte, o timing não poderia ser melhor. Ele já sabia há meses do plano do crime organizado contra ele.

O timing da revelação coloca o mandato de Sérgio Moro em outro patamar. A publicidade sobre o plano e a operação inevitavelmente dariam ao senador a marca da briga contra o crime organizado bem quando o Rio Grande do Norte está aterrorizado.

A divulgação no dia seguinte à fala do presidente Lula leva o senador para um patamar em que rivaliza diretamente com o presidente, o que o coloca em destaque absoluto na oposição. Ele é o rival número um, favorecido pelo timing. Será favorecido também pelos supostos apoiadores do presidente que irão minimizar e até ridicularizar o caso, prejudicando a imagem de Lula.

Infelizmente, esse debate todo vai nos afastar do mais importante, que está diante dos nossos olhos: o crime organizado brasileiro tenta se colocar numa posição de afronta ao Estado.

Os planos contra Moro e contra o promotor Lincoln Gakiya lembram o modus operandi do cartel terrorista de Pablo Escobar, na Colômbia. Diante de ações de autoridades, partiam para o terrorismo, matavam quem se punha diante do caminho na tentativa de impor sua autoridade criminosa à das instituições estabelecidas.

É uma discussão urgente que precisa ser feita e requer planos concretos de enfrentamento. Quantos outros planos as organizações criminosas já fizeram e estão fazendo contra autoridades que as contrariam? Qual a relação disso com o terror no Rio Grande do Norte? Não sabemos e aparentemente não estamos dispostos a discutir.

Resta saber se nossas autoridades terão a habilidade de superar o debate político rasteiro para endereçar o que realmente importa ao país.