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

Cintra diz que corte de recursos do Sistema S vai começar imediatamente

Adriana Fernandes

Brasília

17/12/2018 19h54

O futuro ministro da Economia, Paulo Guedes, determinou à equipe uma meta de corte de 50% dos recursos do Sistema S, informou ao Broadcast, sistema de notícias em tempo real do Grupo Estado, o economista Marcos Cintra, que vai comandar a secretaria especial da Receita Federal. Segundo ele, o processo será gradual, mas vai começar "imediatamente".

"Muito do que o Sistema S faz pode ser feito pelo mercado de forma competitiva. Preservaremos as atividades com características de bens públicos", disse. O resto das atividades, como capacitação, o mercado atende bem, afirmou Cintra.

O futuro secretário avaliou que "tudo está aberto à reavaliação pelo futuro governo. "O presidente Jair Bolsonaro representa renovação. E o ministro Paulo Guedes será o instrumento desse processo", ressaltou.

Segundo Cintra, o futuro governo no Sistema S vai desonerar a folha de salários das empresas para estimular empregos. "Nossa prioridade", afirmou.

Reforma Tributária

Focado na elaboração da proposta de Reforma Tributária, Cintra disse que há muitos pontos em comum no projeto do deputado Luiz Carlos Hauly (aprovado em comissão especial na Câmara na semana ada) que podem ser aproveitados no futuro.

"Estou trabalhando intensamente no projeto do governo. O projeto aprovado na Câmara tem diferenças com o que pensamos. Lá na frente poderemos convergir em vários pontos", explicou.

Para ele, a crescente judicialização do sistema tributário, como ocorre com o PIS/Cofins, é fruto de sua complexidade e burocracia.

O futuro secretário informou que a primeira tarefa do governo é tornar o sistema que existe mais funcional enquanto se discute e aprova a Reforma Tributária.

"Vamos trabalhar nestas duas frentes simultaneamente", disse ele, ressaltando que no curto prazo as prioridades serão: simplificação, desburocratização, melhorias nos processos e procedimentos. "Há muito que fazer para melhorar e acabar com privilégios e garantir mais eficiência no mercado, nivelando o campo de atuação entre as empresas.

Cintra previu que o setor produtivo sentirá logo as melhorias com essas medidas de curto prazo, enquanto a "reforma de fundo", que envolve questões federativas, que precisam ser rediscutidas, é discutida.