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

Investigação do Congresso dos EUA sobre ataque ao Capitólio corre contra prazo eleitoral

Apoiadores de Donald Trump invadiram o Capitólio no dia 6 de janeiro - Saul Loeb/AFP
Apoiadores de Donald Trump invadiram o Capitólio no dia 6 de janeiro Imagem: Saul Loeb/AFP

Jan Wolfe

Washington

04/01/2022 12h06

O inquérito do Congresso norte-americano sobre o violento ataque ao Capitólio no dia 6 de janeiro por apoiadores de Donald Trump começa em breve audiências públicas e vai colocar a investigação em foco, enquanto a campanha para as eleições de novembro se intensifica.

A investigação sobre o pior ataque ao Congresso do país desde a Guerra de 1812 foi conduzida principalmente a portas fechadas até agora. O Comitê de Selecionados da Câmara dos Deputados sobre o 6 de Janeiro já entrevistou mais de 300 testemunhas do episódio de violência provocado por apoiadores de Trump, que tentavam reverter sua derrota eleitoral, e sobre a resposta do ex-presidente ao ato criminoso.

Os membros do comitê estão correndo para finalizar seus trabalhos antes das eleições marcadas para o dia 8 de novembro. Os sete democratas e dois republicanos sabem que seus esforços podem ser suspensos se os republicanos retomarem a maioria na Câmara, como é apontado por algumas previsões. A cobertura midiática das audiências da comissão parlamentar pode se tornar útil politicamente na campanha.

As lideranças republicanas na Câmara se recusaram a participar da investigação, já que cerca de 55% dos eleitores republicanos acreditam hoje nas afirmações do ex-presidente Trump de que sua derrota foi o resultado de fraudes generalizadas. Vários tribunais rejeitaram a afirmação, mas a comoção estimulou uma onda de revisões aos limites estaduais nas eleições.

O inquérito da Câmara está avançando paralelamente aos processos do Departamento de Justiça sobre cerca de 725 participantes da invasão, que são acusados desde conduta desordeira até conspiração. Cerca de 165 pessoas se declararam culpadas de participar do ataque até agora, e os primeiros julgamentos podem começar no mês que vem.

Membros do Comitê da Câmara alertam que as acusações falsas de fraude eleitoral que inspiraram o episódio violento também estão prejudicando a fé no sistema democrático dos Estados Unidos.

"Nossa democracia ficou a centímetros da ruína", disse o deputado Bennie Thompson, presidente da comissão, em uma audiência do Congresso no mês ado. "Queremos saber o porquê e compartilhar essas informações com o povo norte-americano."