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

Esse conteúdo é antigo

Bolsonaro publica decretos que flexibilizam regras para uso de armas

O presidente Jair Bolsonaro (sem partido) publica foto com arma - Reprodução/Instagram
O presidente Jair Bolsonaro (sem partido) publica foto com arma
Imagem: Reprodução/Instagram

Do UOL, em São Paulo

12/02/2021 23h18Atualizada em 13/02/2021 00h27

O presidente Jair Bolsonaro (sem partido) publicou, em edição extra do Diário Oficial da União, decretos que alteram a regulamentação sobre armas no Brasil. As medidas flexibilizam os limites para compra e estoque de armas e cartuchos para pessoas autorizadas pela lei.

Uma das propostas permite que pessoas autorizadas possam adquirir até seis armas (antes eram quatro por pessoa); o governo também estabeleceu a permissão para que atiradores adquiram até 60 armas e caçadores, 30, só sendo exigida autorização do Exército quando superar essa quantidade.

O tema deve repercutir no Congresso Nacional, responsável por elaborar, modificar e aprovar leis nacionais. O assunto faz parte da chamada "pauta de costumes" do governo e enfrenta forte resistência no Parlamento.

O presidente alterou ainda a quantidade anual de insumo para recarga de cartuchos utilizada por um desportista (2 mil para armas de uso e 5 mil para uso permitido registradas em seu nome); e o estabelecimento da regulamentação da atividade dos praticantes de tiro recreativo, entre outros pontos.

"O pacote de alterações dos decretos de armas compreende um conjunto de medidas que, em última análise, visam materializar o direito que as pessoas autorizadas pela lei têm à aquisição e ao porte de armas de fogo e ao exercício da atividade de colecionador, atirador e caçador, nos espaços e limites permitidos pela lei", informa o governo federal em nota.

Bolsonaro já havia anunciado a intenção de editar novos decretos sobre armas logo após a vitória de seu aliado Arthur Lira (PP-AL) na disputa pela chefia da Câmara. Como o presidente da Casa tem a prerrogativa de colocar ou não determinados temas para discussão e votação, o chefe do Executivo federal tem a expectativa de conseguir emplacar leis que flexibilizam as regras de porte e posse de armas no país.

Em 2019, Bolsonaro tentou levar a empreitada (uma de suas bandeiras de campanha) adiante, porém Rodrigo Maia (DEM-RJ), ex-comandante da Câmara, não pautou os projetos relacionados a "costumes" e deu prioridade à agenda econômica.

Promessa de campanha de Bolsonaro, a flexibilização do porte de armas e munições acompanha o presidente desde que ele assumiu o cargo.

Mais de 1 milhão de civis armados no Brasil

Dois anos depois do primeiro decreto do presidente Jair Bolsonaro rumo à expansão do armamento da população, o país tem 1,151 milhão de armas legais nas mãos de cidadãos —65% mais do que o acervo ativo de dezembro de 2018, que era de 697 mil.

Os dados são inéditos e foram obtidos pelo jornal "O Globo" via Lei de o à Informação junto ao Exército e à Polícia Federal (PF), em uma parceria com os Institutos Igarapé e Sou da Paz.

O aumento mais expressivo, de 72%, se deu no registro da Polícia Federal, que contempla as licenças para pessoas físicas. O número ou de 346 mil armas de fogo, em 2018, para 595 mil, no fim de 2020.

Nos casos de armamentos registrados pelo Exército, que atendem aos Caçadores, Atiradores e Colecionadores (CACs), a elevação, no mesmo período, foi de 58%: ou de 351 mil para 556 mil. Tanto em um quanto no outro órgão, o salto não é explicado apenas pelas novas armas de fogo, mas também por registros expirados que foram renovados.