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

Bruno Pereira denunciou crimes de garimpeiros no Javari em maio, mostra TV

O indigenista brasileiro Bruno Araújo Pereira - Bruno Jorge/Funai
O indigenista brasileiro Bruno Araújo Pereira Imagem: Bruno Jorge/Funai

Do UOL, em São Paulo

20/06/2022 17h11Atualizada em 20/06/2022 17h11

O indigenista Bruno Araújo Pereira, que foi morto junto ao jornalista Dom Phillips durante expedição no início do mês, denunciou crimes de garimpeiros na Terra Indígena Vale do Javari em maio. O servidor licenciado da Funai gravou áudio relatando a presença de garimpeiros ilegais na região.

O áudio divulgado pela GloboNews hoje traz Bruno Pereira dizendo que os trabalhadores ilegais estavam do lado da "aldeia antiga", relatando que dava para escutar as dragas, embarcações para garimpo que revolvem o fundo de um rio para filtrar o ouro. Além disso, o indigenista afirmou que "o Rio Coruru tá empestado de balsa de garimpo".

"Tive a informação da Funai que o garimpo tá no lado do Jarinau, da aldeia antiga. Da aldeia antiga dá pra escutar as dragas. A aldeia antiga fica duas voltas abaixo da aldeia nova, onde eles estão, onde os tais garimpeiros tinham ido lá, né. Então, é pressão", contou.

Adicionando: "Ou seja, os garimpeiros estão lá e a informação que a gente tem de outros [indígenas] kanamari é que o Rio Coruru tá empestado de balsa de garimpo".

Bruno e Dom Phillips foram mortos no Javari

Na noite de ontem, as autoridades encontraram a embarcação utilizada por Bruno e Dom - afundada a 20 metros de profundidade. O indigenista e o jornalista tiveram suas mortes confirmadas no último final de semana, quando a Polícia Federal confirmou que restos mortais encontrados eram realmente das vítimas.

Atualmente, a PF trabalha com oito suspeitos possíveis pela morte dos homens - que foram assassinados com tiros de armas de caça. Dentre esses estão três pescadores já presos, no entanto, a possibilidade de mandantes foi possivelmente descartada pela polícia.