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

Brasil ainda tem um ou dois meses de dificuldades pela frente, diz Guedes

Ministro da Economia, Paulo Guedes, em Brasília -
Ministro da Economia, Paulo Guedes, em Brasília

Antonio Temóteo e Guilherme Mazieiro

Do UOL, em Brasília

05/08/2020 10h37Atualizada em 05/08/2020 11h49

O Brasil ainda tem um ou dois meses de dificuldades pela frente, afirmou hoje o ministro da Economia, Paulo Guedes. A declaração foi feita por Guedes durante audiência pública na comissão mista da reforma tributária.

Segundo o ministro, o esforço emergencial em curso no país, com o pagamento do auxílio emergencial de R$ 600 e outras medidas para garantir emprego, devem continuar. Sem dar detalhes da proposta, Guedes ainda declarou que o governo de o auxílio de R$ 600 será reformulado e se transformará no programa Renda Brasil.

Como antecipou o UOL, uma das propostas em estudo pelo Ministério da Economia para criar o programa Renda Brasil é unificar o Bolsa Família, o abono salarial, o seguro-defeso e o salário-família.

A ideia do governo é usar os recursos dos quatro programas para criar uma marca social para o presidente Jair Bolsonaro (sem partido), já que o Bolsa Família é uma herança do PT (Partido dos Trabalhadores).

"O Renda Brasil é uma construção que teremos que fazer juntos, o governo com o Congresso. A pandemia revelou algo que nós suspeitávamos. De 106 milhões de brasileiros dentro da população economicamente ativa, 50 milhões estão fora da força formal de trabalho. Desse total, 12 milhões são desempregados e 38 milhões são invisíveis. Isso vai exigir de nós reformas importantes", disse.

Unificação de impostos federais e estaduais

Os secretários estaduais de Fazenda vão se reunir hoje com o Ministério da Economia para discutir a unificação dos impostos estaduais e federais, informou Guedes durante a reunião com os parlamentares.

"Já fizemos, ano ado, duas reuniões. Eu pessoalmente participei de uma. E a quarta vai ser hoje à tarde com os secretários de fazenda, exatamente para ver o acoplamento. Como poderemos fazer um acoplamento do IVA [Imposto sobre Valor Agregado] federal, que estamos entregando agora para comissão, com os IVAs estaduais", disse Guedes.

O IVA é o nome dado a uma modalidade de imposto unificado que simplifica o sistema de cobranças.

O governo Jair Bolsonaro (sem partido) enviou ao Congresso, em julho, uma proposta de criação da chamada CBS (Contribuição sobre Bens e Serviços), que unificaria PIS/Cofins, impostos federais.