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

Ministra do TSE suspende direitos de resposta dados a Lula contra Bolsonaro

Do UOL, em São Paulo

21/10/2022 07h57Atualizada em 21/10/2022 10h00

A ministra Maria Cláudia Bucchianeri, do TSE (Tribunal Superior Eleitoral), suspendeu na noite de ontem 164 direitos de resposta do ex-presidente Luiz Inácio Lula da Silva (PT) nas propagandas eleitorais do presidente Jair Bolsonaro (PL), candidato à reeleição.

A suspensão foi determinada pela ministra após a defesa do presidente entrar com recurso na Corte Eleitoral para reverter decisão dela da última quarta-feira (19) que concedeu os direitos de resposta a Lula. Agora, Bucchianeri enviou o caso para análise do plenário do TSE.

O tipo de recurso dos advogados de Bolsonaro foi um embargo de declaração, o que, na avaliação da ministra, "é incompatível com a celeridade inerente aos processos de direito de resposta".

"Nesse contexto, recebo os presentes embargos declaratórios como recurso inominado e a ele atribuo, excepcionalmente, eficácia suspensiva, até respectiva análise colegiada", escreveu Bucchianeri.

A medida ocorreu a dez dias do segundo turno e evita que a campanha de Bolsonaro veja reduzida a quantidade de inserções a que tem direito na televisão no momento decisivo da disputa. Não há data para esse julgamento no plenário do TSE. Antes, Bucchianeri abriu prazo de 24 horas para que as defesas de Bolsonaro e Lula se manifestem sobre a causa.

Na decisão de quarta-feira, a ministra tinha concedido os direitos de resposta a favor de Lula por entender que, em 164 vezes, a campanha de Bolsonaro veiculou fatos "sabidamente inverídicos por descontextualização".

Ela apontou propagandas em que a campanha do candidato à reeleição associava o petista ao crime organizado ao dizer que Lula foi o mais votado em presídios.

Se os direitos de resposta não tivessem sido suspensos, Lula teria direito a 76 inserções de 30 segundos na campanha de Bolsonaro, somando 38 minutos.