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

Esse conteúdo é antigo

Nova cúpula da PRF abandona bolsonarismo e deve retomar foco operacional

Polícia Rodoviária Federal (PRF) desbloqueia rodovia BR-493, no bairro Manilha, em Itaboraí (RJ) - Arquivo - Eduardo Anizelli/Folhapress
Polícia Rodoviária Federal (PRF) desbloqueia rodovia BR-493, no bairro Manilha, em Itaboraí (RJ) Imagem: Arquivo - Eduardo Anizelli/Folhapress

Rayssa Motta e Fausto Macedo

Em São Paulo

13/03/2023 17h00Atualizada em 13/03/2023 17h29

A troca de todos os comandos regionais nos 26 Estados e no Distrito Federal marca uma nova fase da Polícia Rodoviária Federal (PRF), que se propõe a retomar a pauta operacional, alheia a bandeiras políticas depois de um longo período de alinhamento ao bolsonarismo.

O governo exonerou, em janeiro, os superintendentes nos 26 Estados e no Distrito Federal. A lista final com os substitutos foi publicada nesta segunda-feira, 13, no Diário Oficial da União. Alguns já vinham trabalhando interinamente. Em outras unidades, o comando ficou a cargo de superintendentes 'temporários', que assumiram provisoriamente a função enquanto o governo analisava os currículos e fazia sua escolha final.

Inspetores da PRF ouvidos pela reportagem do Estadão avaliam que a corporação deve assumir uma nova fase, sem alinhamento político ou ideológico que marcou o comando durante o governo Bolsonaro.

O novo diretor-geral da PRF, Antônio Fernando Souza Oliveira, tomou posse no mês ado com a promessa de afastar a corporação de bandeiras políticas e de recuperar a imagem da instituição, desgastada na gestão anterior. Em seu discurso, afirmou que 'atos isolados' e 'abomináveis' lançaram 'desconfiança' sobre a corporação e falou em 'resgatar a essência' da Polícia Rodoviária Federal, que segundo ele 'não tem partido'. Oliveira participou ativamente das nomeações dos superintendentes.

Os novos chefes regionais da PRF são quadros mais operacionais, sem vínculos políticos ou partidários. O foco do trabalho deve ser o combate às redes do contrabando e do narcotráfico que usam as rodovias por todo o País para transportar ilícitos e cargas milionárias do crime organizado.

Ao Estadão, o novo superintendente no Paraná, Fernando César Oliveira, afirmou que pretende reafirmar a PRF como 'uma polícia de Estado, comprometida com suas atribuições legais'. "Sem promoção pessoal nem qualquer tipo de proselitismo ideológico ou religioso", garante.

Em sua primeira declaração oficial, o inspetor Edson José Almeida Júnior, que assume como superintendente em São Paulo, prometeu trabalhar para o 'fortalecimento institucional'.

Ao longo dos últimos quatro anos, a PRF esteve no centro de pelo menos três grandes crises. A primeira foi o assassinato de Genivaldo de Jesus Santos, asfixiado com gás de pimenta no porta-malas de uma viatura em Sergipe. O episódio levantou o debate sobre a violência das abordagens policiais e sobre a lacuna de diretrizes de direitos humanos nos cursos de formação dos agentes.

A segunda foram as operações no segundo turno da eleição. A PRF desobedeceu o comando do Tribunal Superior Eleitoral (TSE) e abordou ônibus de ageiros no dia da votação, sobretudo no Nordeste, reduto eleitoral do presidente Luiz Inácio Lula da Silva (PT). Foram ao menos 560 operações. O PT encampou a narrativa de que a corporação foi usada politicamente para dificultar o voto na região.

Por fim, o antigo diretor-geral da PRF, Silvinei Vasques, virou alvo de investigação por supostamente se omitir no enfrentamento a grupos bolsonaristas que ocuparam rodovias federais em protesto contra o resultado das eleições de outubro. Ele chegou a usar as redes sociais para pedir votos para Bolsonaro na véspera do segundo turno.