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

Manifestantes defendem armas de fogo em Brasília

09/07/2022 17h25

Brasília, 9 Jul 2022 (AFP) - Centenas de pessoas marcharam na manhã deste sábado (9) em direção ao Congresso para defender a posse e o porte de armas de fogo, cujo o foi flexibilizado no governo do presidente Jair Bolsonaro.

O encontro nacional, realizado no Dia Mundial de Destruição das Armas, foi organizado pelo grupo Proarmas, definido por seus dirigentes como o maior movimento armamentista da América Latina.

A associação convocou o ato "pela liberdade", defendendo o "direito à autodefesa, escolha e segurança", e a ampliação da legislação sobre armas de fogo.

O deputado Eduardo Bolsonaro falou perante centenas de participantes que se reuniram na Esplanada dos Ministérios, em Brasília.

"A esquerdalha nunca imaginou que tantas pessoas pudessem vir às ruas para falar: sim, eu quero estar armado porque eu prefiro bandido embaixo da terra que a minha esposa estuprada", disse.

"O vagabundo só respeita o que ele teme e todo mundo tem medo de tomar tiro (...) Se ele souber que nós estamos armados certamente vai pensar duas vezes", acrescentou.

Desde que chegou ao poder em 2019, Bolsonaro flexibilizou por meio de decretos as exigências para ter o a armas de fogo, assim como o número permitido de armas e munições por pessoa.

Entre os manifestantes estava André Lago, de 45 anos. "Toda ditadura começa com o desarmamento da população. Queremos que todos tenham a liberdade de poder defender sua propriedade e sua família", disse esse professor de português, vestindo uma camiseta com "Bolsonaro presidente 2022" estampado e um bandeira do Brasil amarrada no pescoço

Entre 2018 e 2022, o número de registrados para possuir armas no Brasil aumentou 474%, segundo dados divulgados recentemente pela ONG Fórum Brasileiro de Segurança Pública com base em dados do Exército e da Polícia Federal.

Quando Bolsonaro foi eleito em 2018, havia 117.467 pessoas cadastradas como caçadores, atiradores esportivos e colecionadores de armas. Esse número subiu para 673.818 em junho de 2022.

A marcha pró-armas em Brasília acontece em meio a um debate global sobre o controle de armas de fogo diante dos frequentes massacres nos Estados Unidos e do assassinato na sexta-feira do ex-primeiro-ministro Shinzo Abe no Japão, com uma arma aparentemente caseira.

mls/ic