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

Alexandre de Moraes visita Cármen Lúcia, e posse no STF é marcada: 22 de março

Alexandre de Moraes tomará posse como ministro do STF no dia 22 de março - Dida Sampaio/Estadão Conteúdo
Alexandre de Moraes tomará posse como ministro do STF no dia 22 de março Imagem: Dida Sampaio/Estadão Conteúdo

Felipe Amorim

Do UOL, em Brasília

22/02/2017 18h51

Alexandre de Moraes já tem data para tomar posse como novo ministro do STF (Supremo Tribunal Federal): 22 de março. O agendamento foi anunciado no início da noite desta quarta-feira (22), após o ex-ministro da Justiça se encontrar com a presidente da Corte, Cármen Lúcia. Ele deixou o prédio do Supremo sem conversar com a imprensa.

Moraes foi indicado ao STF pelo presidente Michel Temer no último dia 6 de fevereiro, para ocupar a vaga deixada por Teori Zavascki, que morreu em 19 de janeiro, e a indicação foi rapidamente apreciada pelo Senado.

O candidato foi aprovado ontem na CCJ (Comissão de Constituição e Justiça) por 19 votos a 7 após uma sabatina que durou pouco mais de 11 horas e, nesta quarta, teve seu nome referendado no plenário por 55 votos a 13.

Moraes substitui Teori

Com 49 anos de idade, Alexandre de Moraes terá até 26 anos de mandato no STF, que exige a aposentadoria compulsória dos ministros aos 75 anos.

Ele é o primeiro ministro indicado por Michel Temer à mais alta corte do país e poderá ser o único, já que nenhum dos outros 10 ministros do Supremo completa 75 anos até 2018, último ano de mandato de Temer.

Moraes herdará os processos do gabinete de Teori Zavascki, exceto os ligados à Operação Lava Jato. A presidente Cármen Lúcia decidiu redistribuir por sorteio os processos ligados à operação, e o sorteado como relator foi o ministro Edson Fachin. O novo ministro vai fazer parte da 1ª Turma do STF, na vaga deixada por Fachin, que pediu para ocupar a vaga de Teori na 2ª Turma. 

O indicado atuará como revisor dos processos da Lava Jato na corte, apenas nos casos que forem analisados em plenário, podendo dar sugestões ao relatório do relator, documento que faz uma espécie de resumo dos fatos e provas de um processo.

Vaga no Ministério da Justiça

Aliados do presidente Michel Temer articulam a nomeação para o Ministério da Justiça do subchefe de assuntos jurídicos da Casa Civil, Gustavo Rocha, que tem perfil técnico. A intenção seria aplacar os ânimos do ex-presidente da Câmara Eduardo Cunha (PMDB-RJ), que, segundo reportagem da Folha de S. Paulo, já mandou diversos recados para o governo de que pode fechar acordo de delação na Lava Jato.

Rocha seria uma opção à recusa do ex-ministro do STF Carlos Velloso, que alegou não poder quebrar os contratos de seu escritório para assumir a vaga. Antes dele, estavam na lista de possíveis candidatos ao cargo o vice-procurador-geral da República, José Bonifácio de Andrada, e o deputado Rodrigo Pacheco (PMDB-MG), apoiado pela bancada peemedebista na Câmara. O presidente também sondou o advogado Antonio Mariz para o posto, mas ele ainda não sinalizou sobre o assunto.