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

Sucuri é flagrada nadando no fundo de rio de MS por fotógrafo: 'Ágil'

Do UOL, em São Paulo

28/06/2022 14h42Atualizada em 28/06/2022 15h19

Um fotógrafo da natureza ficou frente a frente com uma sucuri no fundo do rio Formoso, em Mato Grosso do Sul. Apesar de parecer causar medo, Daniel De Granville contou ao UOL que encontrar essas sucuris, para ele que trabalha com as sucuris há 15 anos, é mais comum do que parece.

Em vídeo publicado no Instagram, a sucuri fêmea aparece rastejando no fundo do rio e dá uma breve encarada na câmera. Em certo momento, o animal chega a colocar a língua para fora.

O fotógrafo se diz acostumado com esses encontros. "Não sei quantas vezes já encontrei essas sucuris, pois na época em que elas aparecem são vários encontros, às vezes mergulho com duas dessas no mesmo dia. E, realmente, segundo já ouvi de especialistas, quanto maiores, mais tranquilas elas são".

As fêmeas são mais pesadas que os machos e, por isso, vivem no fundo do rio, segundo o fotógrafo. "Elas são muito maiores e mais pesadas, chegando a mais de 6 metros e uns 130 kg, aproximadamente. Os machos geralmente não am dos 3,5 a 4 metros e são bem mais leves. Então, acreditamos que as fêmeas se beneficiam do fundo do rio para ter mais atrito e se deslocar mais rapidamente, ficando mais ágeis".

Devido ao porte do animal, De Granville explicou que as fêmeas são mais tranquilas e os machos são mais agressivos.

"Os machos, que são bem menores e mais leves, tendem a ser um pouco mais agressivos, principalmente na época do acasalamento", disse.

A sucuri macho costuma "fugir" das pessoas, mas em algumas oportunidades age para se defender.

"Há registros de ataques também. No caso não é um ataque predatório, mas de defesa. Um dos possíveis motivos para esta agressividade dos machos na época do acasalamento é devido ao comportamento reprodutivo curioso desta espécie".

Ele destaca que o rio Formoso é um refúgio importante para diversas espécies e não apenas as sucuris, um lugar essencial para aprofundar o estudo sobre esses animais.

"A região de Bonito é única, por juntar dois fatores: a presença dessas enormes serpentes e rios de águas muito cristalinas. Existem grandes sucuris em outras regiões, como na Amazônia. E existem rios cristalinos em outras partes do mundo também. Porém, a região de Bonito é a única no planeta onde estas duas características se encontram".