;(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();
})();
Petista é atacado nas redes por postagens antes de decisão sobre Lula
Senador Humberto Costa (PT-PE), atacado nas redes por postagens sobre Lula Imagem: Kleyton Amorim/UOL
Do UOL, em São Paulo
08/03/2021 23h45
O senador Humberto Costa (PT-PE) tem recebido ataques em seu perfil do Twitter devido a um vídeo que postou do ex-presidente Luiz Inácio Lula da Silva.
Nos comentários, opositores acusam o político de saber antecipadamente da decisão de hoje do ministro Edson Fachin de anular as condenações de Lula. Com isso, o petista retomou seus direitos políticos e pode concorrer às eleições de 2022.
TRAGO VERDADES - Lula segue sendo a liderança política mais importante do País e com potencial de votos para derrotar Bolsonaro. #AnulaSTFpic.twitter.com/OjiHgtY5u0
"O Humberto Costa já sabia da decisão favorável do STF", escreveu um usuário da rede social. "Me explica esse post 20 horas antes da decisão do STF?", exigiu outro.
Ao UOL, o senador disse que a postagem foi feita "pensando no julgamento do HC [habeas corpus] sobre a declaração da suspeição do [ex-juiz e ex-miistro Sergio] Moro". Ele não quis comentar os ataques.
A defesa de Lula pediu em novembro de 2018 o julgamento de parcialidade do então juiz Sergio Moro, dias após ele aceitar o convite para ser ministro do governo de Jair Bolsonaro (sem partido).
A defesa do petista alega que uma das provas da parcialidade de Moro foi a entrada do ex-juiz na política. Moro nega que tenha havido suspeição ou troca de favores.
O recurso começou a ser julgado em dezembro daquele ano, mas foi interrompido após um pedido de vista do ministro Gilmar Mendes. Ele pretendia devolver o caso à 2ª Turma ainda neste semestre.
Porém, com a decisão de hoje de Fachin, não está certo se o STF manterá o julgamento. Mas membros do Supremo querem manter a discussão, segundo apuraram as colunistas Juliana Dal Piva, do UOL, e Mônica Bergamo, da Folha.
A decisão
Fachin anulou todas as condenações de Lula pela Justiça Federal do Paraná no âmbito da Operação Lava Jato.
Ao conceder o habeas corpus a Lula, Fachin declarou que a 13ª Vara Federal de Curitiba, origem da Lava Jato, não tem competência para julgar os processos do tríplex de Guarujá (SP), do sítio de Atibaia (SP) e os dois relacionados ao Instituto Lula, uma vez que os casos não se limitam apenas aos desvios ocorridos na Petrobras, mas também a outros órgãos da istração pública.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.