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

Thaís Oyama

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Lavajatista, Olimpio sonhava disputar a presidência se Moro não concorresse

O senador Major Olimpio, morto ontem pela covid-19: lavajatista ferrenho - Roque de Sá/Agência Senado
O senador Major Olimpio, morto ontem pela covid-19: lavajatista ferrenho Imagem: Roque de Sá/Agência Senado

Colunista do UOL

19/03/2021 09h27

Próximo do ex-ministro Sergio Moro, o senador Major Olimpio, morto ontem pela covid-19, sonhava em concorrer à Presidência da República em 2022 pelo PSL caso o ex-juiz decidisse não entrar na disputa.

O senador ambicionava montar uma chapa tendo como vice o general Carlos Alberto Santos Cruz. O ex-ministro da Secretaria de Governo de Bolsonaro, que não é filiado a nenhum partido, era, na visão de Olimpio, "um general que não compactuou com o sistema, ao contrário dos outros que permanecem no governo".

Olimpio chegou a procurar Santos Cruz para um encontro em janeiro, como confirma o general. "Ele me escreveu, sem dizer qual era o assunto, e eu respondi que estava à disposição para encontrá-lo. Mas com a pandemia e a interrupção das sessões presenciais no Senado, não tivemos tempo para essa conversa", afirma Santos Cruz.

Antes de romper com Bolsonaro, Olimpio foi um de seus aliados mais próximos. Em 2017, quando o ex-capitão era ainda um deputado do baixo clero e se candidatou pela quarta vez à Presidência da Câmara, um dos parcos quatro votos que recebeu veio do major, então em seu primeiro mandato como deputado federal.

Naquele mesmo ano, Olimpio integrou o núcleo de parlamentares obscuros que começou a se reunir na casa do hoje ex-deputado Alberto Fraga para conversar sobre a possibilidade de lançar Bolsonaro à presidência.

Quando, já na reta final da campanha de 2018, o ex-capitão foi esfaqueado em Juiz de Fora e teve de ser transferido para São Paulo, Olimpio foi uns dos que viajaram com ele no avião-UTI que levou o candidato para o hospital Albert Einstein. Os outros ageiros eram Fabio Wajngarten, ex-chefe da Secom, e Nabhan Garcia, secretário de Assuntos Fundiários.

Major Olimpio, eleito senador, rompeu com Bolsonaro em agosto do ano ado. Segundo disse, a gota d'água foi o fato de o presidente e seu filho Flávio Bolsonaro tentarem pressioná-lo a não o pedido de abertura da I da Lava Toga, que teria como principal investigado o ministro do STF Dias Toffoli. À época, o senador declarou que Bolsonaro queria barrar a Lava Toga para "proteger seu filho bandido". Até a manhã de hoje, o presidente não havia se manifestado sobre a morte de seu ex-aliado.

Ferrenho defensor da Lava Jato, Major Olimpio não chegou a testemunhar a mais importante virada por que ou a operação.

Já estava na UTI quando Edson Fachin, ministro do Supremo Tribunal Federal, anulou as condenações do ex-presidente Lula e quando a Segunda Turma do tribunal iniciou o julgamento da suspeição de Moro, que pode ter como consequência a derrubada em série de sentenças originadas da operação que ele defendia.

Siga o UOL no