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

Alta na gasolina e energia responde por mais de 1/3 do IPCA-15 de 2021

iStock
Imagem: iStock

Daniela Amorim

Rio de Janeiro

23/12/2021 12h01

O encarecimento de apenas dois itens na cesta de consumo das famílias em 2021 foi responsável por mais de um terço da prévia da inflação oficial, que alcançou dois dígitos neste ano. A gasolina e a energia elétrica mais caras deram uma contribuição de 3,62 pontos porcentuais para a taxa de 10,42% registrada pelo Índice Nacional de Preços ao Consumidor Amplo 15 (IPCA-15) em 2021. O resultado é o maior para um fechamento de ano desde 2015, informou o Instituto Brasileiro de Geografia e Estatística (IBGE).

A gasolina subiu 49,59% em 2021, item de maior impacto no IPCA-15, 2,42 pontos porcentuais. A energia elétrica aumentou 27,34%, segundo maior impacto, 1,20 ponto porcentual.

O automóvel novo subiu 15,20%, impacto de 0,45 ponto porcentual, seguido pelo etanol, com alta de 63,28% e impacto de 0,42 ponto porcentual, e gás de botijão, com elevação de 38,07% e impacto de 0,41 ponto porcentual.

Os gastos das famílias com o grupo Transportes saltaram 21,35% no ano de 2021, uma contribuição de 4,26 pontos porcentuais para o IPCA-15. Já o gastos com Habitação aumentou 14,67%, o equivalente a 2,29 pontos porcentuais do IPCA-15, enquanto Alimentação e Bebidas encareceram 8,68%, contribuição de 1,82 ponto porcentual na inflação.

Em 2021, os Artigos de Residência subiram 12,18% (0,46 ponto porcentual); Vestuário aumentou 9,83% (0,42 ponto porcentual); Saúde e Cuidados Pessoais subiram 3,46% (0,46 ponto porcentual); Despesas Pessoais subiram 4,61% (0,49 ponto porcentual); Educação aumentou 2,62% (0,16 ponto porcentual); e Comunicação teve elevação de 1,04% (0,06 ponto porcentual).