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

Vaza vídeo de noiva flagrando Gui com outra em motel; ele reage com música

De Splash, em São Paulo

10/04/2023 22h15

Bia Michelle se manifestou em suas redes sociais, na tarde desta segunda-feira (10), para anunciar que terminou o noivado com MC Gui após descoberta de uma traição.

A ex-bailarina do Faustão decidiu confirmar o fim do relacionamento aos seguidores após a divulgação de um vídeo pelo perfil Let's Gossip, no Instagram, mostrar ela revoltada em um motel gritando com o funkeiro.

"Eu sempre fiquei calada e com medo. Sempre pensei nos outros, e ninguém nunca pensou em mim", começou Bia. "Quando eu voltei com ele, depois de tudo o que ele fez na Fazenda, eu realmente acreditei que ele ia mudar", disse.

Ela relatou, no entanto, que não conseguiu mais confiar no funkeiro mesmo após perdoá-lo pelo erro exposto em um reality show em rede nacional.

Por todas as minhas inseguranças, eu comecei a rastrear o celular dele. Eu não queria estar falando isso para vocês, não queria influenciar isso de alguma forma, mas foi isso que me levou a descobrir a traição.
Bia Michelle

Na sequência, a bailarina contou que há duas semanas acordou com um sentimento estranho em relação ao noivo. Após não conseguir contato, ela decidiu rastreá-lo e acabou descobrindo sua ida a um motel.

"Então, comecei a rastreá-lo e ele tinha acabado de sair de casa. Percebi que o caminho era totalmente ao contrário dos lugares que ele normalmente ia. Quando ele parou, coloquei no Google Maps e já apareceu que era um motel", revelou.

Queria ver com os meus próprios olhos. Sim, ele teve coragem de fazer isso comigo. Eu precisava ar por isso. Eu não desejo isso para ninguém", continuou Bia. Ela disse que foi ao local com a sua mãe e, que ao chegar lá, já se deparou com o carro dele.

"Eu ligava, mas ele não me atendia. Até que uma hora um carro com uma moça ou. Eu olhei para ela e eu já sabia que era ela.
Bia Michelle

Ao chegar ao local, Bia disse que tentou contato com o funkeiro, não obteve sucesso, mas teve certeza de sua presença ao ver uma mulher sair em outro veículo.

"Vocês não fazem ideia o quão difícil é ar por algo assim. Eu fui ao motel com a minha mãe, a gente entrou, vi o carro dele, liguei e ele não me atendia. Até que uma hora, um carro com uma moça ou e ao olhar ela já sabia que era a pessoa. Falei: "Mãe, é essa menina que ele estava com certeza", detalhou.

Foi só eu sair de perto do carro dele, e olhei pelo retrovisor ele correndo em direção ao carro dele. Eu saí do carro correndo também e olhei para ele e só conseguia falar: "Você tem noção do que acabou de fazer?". Mesmo vendo, foi muito difícil, mas aqui estou firme forte e ou. Foi bom e agradeço a Deus por ar por isso porque precisava disso para me libertar.
Bia Michelle

MC Gui ironiza com fake pronunciamento sobre caso de traição - Divulgação - Divulgação
MC Gui ironiza com fake pronunciamento sobre caso de traição
Imagem: Divulgação

Diante da repercussão do caso, MC Gui ganhou engajamento nas redes sociais e postou stories com a palavra "pronunciamento" com um link para uma música de seu canal no YouTube.

Splash procurou a equipe do artista se posicionar sobre o caso, mas não obteve resposta até a publicação deste texto.

No vídeo que circula nas redes, Bia Michelle avistou MC Gui em um carro e decidiu confrontá-lo. "Abre o carro, sai do carro. Abre!", gritou ela, enquanto desferia socos no automóvel do músico. "Só vamos embora, perdão. Não faz isso comigo, me perdoa", reagiu ele.