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

Ministro da Fazenda diz que PEC do Teto é uma medida histórica

Pedro Ladeira/Folhapress
Imagem: Pedro Ladeira/Folhapress

De Brasília

13/12/2016 18h17

O ministro da Fazenda, Henrique Meirelles, disse que a aprovação do projeto de emenda constitucional que estabeleceu um teto para os gastos é "histórica" e é uma vitória que sinaliza que o ajuste fiscal está sendo implementado com sucesso no Brasil.

"É importante a mensagem de que o ajuste fiscal vai bem e tem sua medida mais importante aprovada hoje. A agenda econômica prossegue normalmente, inabalável, de acordo com cronograma".

O ministro lembrou que havia grande dúvida sobre a aprovação da PEC e disse que a votação mais apertada foi em função de ausências justificadas de senadores. "A margem foi extremamente confortável", afirmou.

Meirelles disse que a aprovação dá condições para o governo discutir medidas para o bom equilíbrio orçamentário. O ministro ressaltou que é a primeira vez em que o crescimento das despesas é endereçado na Constituição e que isso é necessário porque mais de 75% da alta dos gastos entre 1991 e 2015 se deve a despesas obrigatórias definidas pela Constituição. "O crescimento das despesas públicas no Brasil é definido pela Constituição e para controlar crescimento da dívida é necessário alterar Constituição", completou.

O ministro lembrou o envio da reforma da Previdência ao Congresso Nacional e disse que a aprovação também desse projeto é importante para viabilizar o equilíbrio das contas públicas a longo prazo.

Base

Meirelles avaliou ainda que, apesar do placar mais apertado na votação da PEC, isso não significa que base de apoio do governo está menor. "A votação estava assegurada. A nossa expectativa é de um cronograma normal para a votação da Reforma da Previdência em 2017", comentou.

O Plenário do Senado aprovou hoje em segundo turno o texto-base da Proposta de Emenda Constitucional (PEC) que cria um teto para o crescimento dos gastos da União, por 53 votos a 16.

A PEC já havia sido aprovada em dois turnos no Plenário da Câmara dos Deputados com ampla margem de vantagem. O placar de hoje foi inferior à votação em primeiro turno no Senado, quando o Novo Regime Fiscal havia recebido 61 votos favoráveis e 14 contrários. A PEC será promulgada para próxima quinta-feira, 15.