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

Juliana Dal Piva

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.

Policial e membro do PTB, Queiroz defende Jefferson após tiros contra PF

Fabrício Queiroz, ex-assessor do senador Flávio Bolsonaro - Reprodução/SBT
Fabrício Queiroz, ex-assessor do senador Flávio Bolsonaro Imagem: Reprodução/SBT

Colunista do UOL

23/10/2022 18h45

Fabrício Queiroz, ex-candidato a deputado estadual pelo PTB no Rio de Janeiro, saiu em defesa do ex-deputado Roberto Jefferson neste domingo (23). Para Queiroz, que foi assessor do senador Flávio Bolsonaro (PL-RJ), Jefferson não pode ser chamado de "bandido" mesmo após o ataque do correligionário a um grupo de policiais federais que foi cumprir a ordem de prisão contra Jefferson determinada pelo STF (Supremo Tribunal Federal).

Policiais federais foram agredidos ao cumprir o mandado neste domingo na casa do ex-deputado em Comendador Levy Gasparian, a 140 km do Rio. Quando os agentes chegaram, Jefferson reagiu. Ele atirou contra os policiais e, segundo a Polícia Federal, lançou granadas. Dois policiais ficaram feridos por estilhaços.

"Já estava desenhado que ia chegar ao limite essa perseguição. Repúdio os tiros contra os policiais em qualquer hipótese. Mas Roberto Jefferson não é bandido. Basta de ordens absurdas. Deus, família e liberdade", escreveu Queiroz, em sua conta no instagram.

Queiroz se filiou ao PTB este ano para disputar uma vaga na Alerj (Assembleia Legislativa do Rio), mas não conseguiu se eleger. Ele chegou a ser denunciado junto com Flávio Bolsonaro, em 2020, por desviar salários de funcionários do filho mais velho do presidente Jair Bolsonaro. Como o STJ (Superior Tribunal de Justiça) anulou provas da investigação, o MP-RJ (Ministério Público do Rio de Janeiro) está refazendo a investigação.

Prisão domiciliar

Jefferson está em prisão domiciliar com tornozeleira eletrônica e teve um novo pedido de prisão determinado pelo ministro Alexandre de Moraes, do STF (Supremo Tribunal Federal), depois de insultar a ministra Cármen Lúcia.

O ex-deputado xingou a ministra em um vídeo no sábado (22) e comparou Cármen Lúcia a "prostitutas", "arrombadas" e "vagabundas". O vídeo foi publicado por sua filha Cristiane Brasil (PTB) nas redes sociais.

Até 18h30, Jefferson ainda não tinha sido preso e estava em sua casa. Ao saber do ataque de Jefferson, o presidente Jair Bolsonaro enviou o ministro da Justiça, Anderson Torres, para o local. Depois do ataque, Jefferson gravou novos vídeos e disse que não iria se entregar.