;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Carla Araújo

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.

Guedes alertou Bolsonaro sobre efeito cascata de pressão de servidores

Do UOL, em Brasília

22/12/2021 10h50

Receba os novos posts desta coluna no seu e-mail

Email inválido

O empenho direto do presidente Jair Bolsonaro na articulação que garantiu uma reserva no Orçamento de 2022 para dar aumento a policiais já começou a ter efeito em outras categorias de servidores, como os da Receita Federal e do Banco Central, que ameaçam debandada e manifestaram indignação.

Bolsonaro, no entanto, não poderá alegar surpresa com a reação. Isso porque, segundo fontes do governo, o ministro Paulo Guedes (Economia) alertou pessoalmente o presidente, em mais de uma ocasião, que o efeito cascata de revolta entre os servidores seria quase inevitável.

Conforme mostrou reportagem do jornal Folha de S. Paulo, enquanto lutou pelo reajuste dos policiais federais, Bolsonaro deixou de lado aproximadamente 1 milhão de servidores ativos, aposentados e pensionistas que estão com a remuneração congelada há cinco anos.

Na última segunda-feira, mesmo já estando em férias, Guedes recebeu o aviso da Receita e do BC de que se realmente o governo trabalhasse para conceder o aumento a apenas uma categoria haveria reação.

Segundo interlocutores do ministro, Guedes fez questão de reforçar isso ao presidente. Bolsonaro, porém, ignorou o alerta e fez pressão direta no relator do Orçamento de 2022, deputado Hugo Leal, que acabou cedendo e separando R$ 1,7 bilhão para os agentes de segurança.

Durante as negociações do Orçamento na reta final, Guedes submergiu e evitou contato com os parlamentares. A visão da equipe econômica era de que a decisão teria que ser meramente política e que haveria o risco de o ônus de um aumento segmentado caísse justamente no colo do ministro.

Sinais trocados

Nos bastidores, Guedes sempre se mostrou contrário ao aumento de servidores, mesmo sendo pressionado diretamente pelo presidente e, no caso dos policiais, pelo ministro da Justiça, Anderson Torres.

Chegou a dizer publicamente que aumento de servidores em ano eleitoral "não era oportuno" e que seria uma desonra com as gerações futuras.

Apesar disso, o ministro cedeu e fez a sua parte para que os policiais possam ter aumento no ano que vem, enviando ao Congresso um pedido de reserva de R$ 2,5 bilhões para que a categoria fosse atendida.

Inicialmente, o relator do Orçamento não incluiu essa previsão no texto, mas depois de pressionado diretamente pelo presidente acabou cedendo e o valor final decidido por parlamentares ficou no R$ 1,7 bilhão.

Ao longo do ano, Guedes sofreu uma série de desgastes e perdeu força. Em 2022, a tendência é que seu discurso de defesa da agenda econômica e da responsabilidade fiscal fiquem apenas na teoria.

Isso porque Guedes parece ter entrado de vez para a leva de colegas da Esplanada que fazem exatamente o que Bolsonaro gosta: "um manda e outro obedece".