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

Número 2 de Guedes diz que teto de gastos do governo "é de titânio"

13.mar.2020 - O secretário-executivo do Ministério da Economia, Marcelo Guaranys, em coletiva sobre a MP que permite saques de R$ 1.045 do FGTS - Dida Sampaio/Estadão Conteúdo
13.mar.2020 - O secretário-executivo do Ministério da Economia, Marcelo Guaranys, em coletiva sobre a MP que permite saques de R$ 1.045 do FGTS Imagem: Dida Sampaio/Estadão Conteúdo

Do UOL, em Brasília

28/07/2020 16h09

Receba os novos posts desta coluna no seu e-mail

Email inválido

Número dois do ministério da Economia, o secretário-executivo da pasta comandada por Paulo Guedes, Marcelo Guaranys disse à coluna que não há no governo nenhuma intenção de permitir que medidas em debate ou em construção furem o teto constitucional dos gastos.

"Nosso teto é de titânio!", afirmou, em referência ao metal que é conhecido por ser bastante resistente.

A pressão por mudanças não é de hoje e vem numa toada crescente na esteira da pandemia do coronavírus, que tem obrigado o governo a abrir o caixa.

O Congresso é um dos principais atores nessa batalha pela manutenção ou flexibilização do teto de gastos. Há em curso, tentativas de flexibilizar as regras para incluir medidas de apoio a pandemia ou investimentos em infraestrutura.

Na Economia, apesar da defesa da medida, há busca de alternativas para, por exemplo, usar um espaço surgido no cálculo do teto de gastos nos últimos meses para o pagamento do seguro-desemprego, que cresceu por conta da crise do coronavírus.

Recentemente, durante as articulações no Congresso para a aprovação do Fundeb, o governo tentou incluir despesas do programa Renda Brasil, numa espécie de drible do teto.

O Renda Brasil deve ser criado em agosto, segundo promessa de Guedes. Além do programa que o ministro vem exaltando, há o projeto de retomada do crescimento que está sendo coordenado pela Casa Civil: o Pro-Brasil.

Na parte que está sendo desenhada pelos militares há a previsão de retomar o crescimento com investimentos em projetos, por exemplo, para obras paradas.

Em abril, quando apresentou o programa Pro-Brasil, o ministro da Casa Civil, Braga Netto fez questão de ressaltar que reconhecia a importância do instrumento para as contas públicas.

"Não se toca no teto de gastos", disse na ocasião.