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

Pantanal

Tudo sobre a novela da Globo


Pantanal: 1º banho de rio de Juma e Jove teve mais nudez na versão original

Primeiro banho de rio de Juma e Jove teve mais nudez na versão original de "Pantanal" - Reprodução/Globo/SBT
Primeiro banho de rio de Juma e Jove teve mais nudez na versão original de 'Pantanal' Imagem: Reprodução/Globo/SBT

De Splash, no Rio

04/05/2022 16h51

O primeiro banho de rio de Jove (Jesuíta Barbosa) e Juma (Alanis Guillen), que foi ao ar ontem na novela "Pantanal", repercutiu nas redes sociais. Ao entrar no rio, o protagonista ficou nu diante da filha de Maria Marruá (Juliana Paes) sem que ela pedisse. "É só um corpo", disse ele.

Após insistência de Jove, Juma topou entrar na água, mas usando vestido. Ela ainda pediu para não ser "relada" pelo filho de José Leôncio (Marcos Palmeira) e saiu antes que ele se aproximasse. O momento chamou a atenção dos telespectadores e alguns internautas ainda apontaram um comportamento abusivo de Jove.

No entanto, a cena exibida ontem não foi idêntica à escrita por Benedito Ruy Barbosa em 1990 para a TV Manchete, que levou ao ar a nudez dos dois personagens interpretados por Marcos Winter e Cristiana Oliveira. A adaptação de Bruno Luperi optou por não deixar Juma sem roupa no primeiro banho de rio dos protagonistas da trama.

Na versão original, após insistência de Jove, Juma também questiona se não seria "relada" pelo protagonista. Ao receber a resposta de que "não", ela decide aceitar o convite e entra no rio sem roupa. Como era habitual na primeira versão, a câmera mostra os dois atores pelados, diferente da atual versão, que tem mais cuidado ao exibir o corpo dos atores em cenas sem vestimentas.

Na primeira versão, os dois chegam a se tocar, o que não é mostrado na atual, pois Jove apenas se aproxima da jovem, momento em que Juma sai da água e diz "chega", pedindo para ir embora.

Outra diferença é a música da trilha sonora: na primeira versão, toca "Amor Selvagem", de Marcos Viana, enquanto Gabriel Sater dá voz a "Amor de índio", composta por Beto Guedes, na atual.

No capítulo de hoje, segundo sinopse da TV Globo, José Leôncio vai mandar Jove voltar para o Rio de Janeiro, que vai embora escondido da fazenda e será abrigado por Juma em sua tapera. Ela, por sua vez, dirá a José Leôncio que Jove foi embora com o Velho do Rio, mas, na verdade, os dois estarão juntos. Pela primeira vez, em um banho no rio, Juma ficará nua diante de Jove no momento em que ele pedir para ela imaginar que ele não está ali.