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

Ciro pede ao TSE que torne Bolsonaro inelegível por reunião com diplomatas

Ciro Gomes (PDT) e Jair Bolsonaro (PL) - Reprodução
Ciro Gomes (PDT) e Jair Bolsonaro (PL) Imagem: Reprodução

Weudson Ribeiro

Colaboração para o UOL, em Brasília

19/08/2022 16h48

Candidato à Presidência da República, o ex-governador Ciro Gomes (PDT) protocolou hoje no TSE (Tribunal Superior Eleitoral) um pedido de declaração de inelegibilidade do presidente Jair Bolsonaro (PL) pela prática de abuso de poder político e uso indevido dos meios de comunicação. A ação foi distribuída ao ministro Mauro Campbell, que deverá seguir parecer do MPE (Ministério Público Eleitoral) antes de tomar uma decisão.

A manifestação ocorre após reunião transmitida pela EBC (Empresa Brasileira de Comunicação) em que Bolsonaro afirmou, sem apresentar provas, que os ministros da Corte Eleitoral buscam eleger políticos de esquerda ao supostamente impedirem que medidas de transparência sobre o sistema de votação sejam adotadas. Bolsonaro é um proponente do voto impresso e tem feito reiterados ataques às urnas eletrônicas, muitos dos quais foram refutados por especialistas em segurança digital e órgãos oficiais, como a PF (Polícia Federal).

"É inegável que o senhor Jair Messias Bolsonaro aproveitou-se do evento para difundir a gravação do discurso com finalidade eleitoral, indissociável ao pleito de 2022. Isso porque o ataque à Justiça Eleitoral e ao sistema eletrônico de votação faz parte da sua estratégia de campanha eleitoral, de modo que há nítida veiculação de atos abusivos em desfavor da integridade do sistema eleitoral, através de fake news, o que consubstancia-se em um fato de extrema gravidade, apto a ser apurado na ambiência desta ação", diz Walber Agra, advogado que representa Ciro junto a tribunais superiores.

Em nota ao UOL, a Presidência da República disse que Bolsonaro manteve encontro com chefes de missões diplomáticas no Brasil para intercâmbio de ideias sobre o processo eleitoral.

"O presidente sublinhou aos representantes do corpo diplomático que sua própria carreira política é um resultado do sistema democrático. Lembrou seu período de mais de 30 anos como representante eleito, em trajetória iniciada na Câmara Municipal do Rio de Janeiro, ando pela Câmara dos Deputados e culminando com sua eleição à Presidência da República em 2018, com mais de 57 milhões de votos válidos, em campanha realizada com mínimo financiamento público", destacou.