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

Transforma

Mulheres protagonizam um mundo em evolução


Babiy Querino: "Não culpo meu cabelo por prisão; Judiciário que é racista"

Barbara Aquino  - Reprodução/Instagram
Barbara Aquino Imagem: Reprodução/Instagram

Nathália Geraldo

De Universa

15/05/2020 04h00

A absolvição da dançarina Barbara Querino de Oliveira, na quarta-feira, 13 de maio, rompeu o grito na garganta que ela segurava por sete meses. Desde a audiência em outubro de 2019, Babiy, como é conhecida nas redes sociais, aguardava a notícia de que "não devia mais nada para Justiça", como contou para Universa, no final da tarde de quinta-feira (14).

"Meu advogado me ligou na quarta, e ainda fez um suspense, dizendo que tinha o resultado da audiência. Quando ele deu a notícia, gritei muito no ouvido dele", disse. "Estou muito feliz, mas tenho a sensação de que não era para nada disso ter acontecido".

Ela se refere ao fato de ter sido fichada, em 2017, sob a acusação de ter participado de um roubo de carro, em São Paulo, e que envolvia seu irmão e um primo. A dançarina foi reconhecida pelas vítimas do assalto por fotos compartilhadas por WhatsApp — apesar de Babiy ter apresentado fotos que provavam que ela estava trabalhando em outra cidade no dia do crime. Em 2018, ela foi condenada a cinco anos e quatro meses por assalto a mão armada.

Babiy Querino: a vida após a absolvição

Presa por ter sido reconhecida por uma vítima de roubo por conta de seu cabelo, Babiy ficou presa por um ano e oito meses no Centro de Progressão Penitenciária (P) Feminino do Butantã (zona oeste da Capital). Por ter cumprido dois sextos da pena, estava, até quarta-feira, m regime aberto — o que significava que não podia viajar ou estar fora de casa depois das 22 horas. O esquema, conta, prejudicava seus trabalhos. "Quem trabalha com dança quase sempre tem que viajar e ficar fora de casa à noite. Isso me prejudicou".

Acontece que a absolvição — com documento assinado pelo desembargador do Tribunal de Justiça de São Paulo, Guilherme Souza Nucci — chegou quase três anos depois de Babiy ter sido fichada por um crime que não cometeu. Em 2017, ela foi dada como cúmplice de um roubo em virtude do reconhecimento de seu "cabelo cacheado".

Babiy não culpabiliza seu cabelo natural por sua prisão. "Foi complicado ar pela aceitação da forma que ele é; e eu fui presa justamente por isso. Mas eu não culpabilizo minha aceitação ou meu cabelo; meu caso só mostra o quanto o Judiciário é racista".

Meu cabelo é meu símbolo de resistência.

Além de atribuir o encerramento do caso ao trabalho de seu advogado, Babiy comenta que a pressão popular, com campanhas nas redes sociais, engajamento de artistas, fez com que sua história ficasse mais conhecida. Agora, ela conversará com seu representante jurídico para processar o Estado, a emissora de TV que "a colocou como bandida antes mesmo de ela ser presa" e as vítimas que a apontaram como autora do crime, que podem responder judicialmente por racismo.

Vidas carcerárias importam

Babiy mantém sua carreira de dançarina. Mas, durante a pandemia de coronavírus, tem trabalhado também em prol de campanhas como a "Vidas carcerárias importam" e promovendo assistência a famílias das pessoas que estão no sistema penitenciário brasileiro. Ainda tem se organizado para ajudar a população de seu bairro, Jardim Ibirapuera (Zona Sul da Capital).