;(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; // 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(); })();
Topo
Notícias

Líder indígena faz protesto contra 'genocídio' em evento pré-COP: 'Chega'

O líder indígena Adriano Karipuna durante o TEDxAmazônia, em Belém - Felipe Martins/TEDxAmazônia
O líder indígena Adriano Karipuna durante o TEDxAmazônia, em Belém Imagem: Felipe Martins/TEDxAmazônia
do UOL

Do UOL, em Belém*

08/06/2025 13h31

O líder indígena Adriano Karipuna fez um protesto contra o "genocídio dos povos tradicionais da Amazônia" durante sua fala no TEDxAmazônia, um evento pré-COP30 realizado em Belém, sede da conferência internacional em novembro.

O que aconteceu

"Chega de genocídio com o povo indígena Guarani Kaiowá do Sul do Brasil", protestou Karipuna, originário da aldeia Panorama, em Rondônia. "Chega de genocídio contra os meus parentes, não consanguíneos, mas sim como parente indígena, povo pataxó. Chega de genocídio! Nossos corpos indígenas estão caindo", lamentou e pediu ainda o fim do "genocídio contra o povo palestino".

"Eu piso nesse chão, quando eu menciono o povo indígena, é como se fosse um tapete: eu piso em lugar sangrento", disse Karipuna. "Porque a cada mês, ou a cada semana, eu vejo nos jornais, mais uma vez, um indígena foi assassinado. Isso só vai para estatística. E todos que estão aqui têm que dizer: 'Não! Chega de genocídio contra os povos! Chega! Já basta."

Em setembro de 2024, a ONU (Organização das Nações Unidas) denunciou violência contra indígenas no Brasil. Os ataques explodiram durante a gestão Jair Bolsonaro (PL), de 2019 a 2022, e seguem altas. Só em 2023, primeiro ano do governo Lula (PT), foram mais 200 assassinatos.

Não é porque eu sou indígena, liderança, sou a resistência: eu sinto dor ao ver os corpos dos meus parentes sendo derrubados por defender a floresta, por defender o patrimônio. Eu quero dizer que nós vamos sempre continuar lutando.
Adriano Karipuna, liderança indígena de Rondônia

Karipuna retomou aos primeiros contatos de seu povo com não-indígenas. "Morreram bastante, por doenças infecciosas. Nós não tínhamos a imunidade tampouco o às vacinações. Nos anos 90, chegamos a ser oito pessoas, oito karipunas. Por isso, quero dizer para todos vocês que precisamos respeitar a diversidade dos povos tradicionais, e principalmente dos povos de isolamento voluntário, que muitas pessoas chamam de 'índio isolado'. Eu, como indígena, não gosto de mencionar a palavra índio isolado."

O líder, que hoje cursa direito em Porto Velho, apontou que, em vez de buscar estes povos, a sociedade civil deve respeitá-los. "Ainda há muitas culturas vivas por não ter contato com a sociedade não-indígena. Devemos, eu como liderança do meu povo, vocês que estão aqui, devemos garantir a segurança e a cultura desses povos, ados e não ados", afirmou.

Ele terminou seu discurso pedindo aceleração da demarcação de terras indígenas. Promessa de campanha do petista, os registros de territórios para povos originários têm crescido em relação ao governo Bolsonaro, mas em velocidade questionada por ativistas e lideranças. "Viva a floresta Amazônia! Viva os povos tradicionais que sempre vamos continuar lutando em defesa de todos e desse patrimônio maravilhoso chamado natureza", concluiu Karipuna.

*O repórter viajou a convite do TEDxAmazônia

Notícias