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

Adolescente autista e gay tira a vida após constante bullying na escola

Cameron com a mãe, Kerry Warwick, e a irmã - Reprodução/cameron-warwick.muchloved.com
Cameron com a mãe, Kerry Warwick, e a irmã Imagem: Reprodução/cameron-warwick.muchloved.com

De Universa

25/02/2020 16h18

Um americano de 16 anos, de Fareham, Hampshire, tirou a própria vida após, nas palavras da mãe, se assumir gay e sofrer bullying por causa disso. O garoto era autista e lutava contra uma depressão. Segundo informações do "Dailymail", o fato ocorreu em setembro do ano ado.

A mãe do adolescente, Kerry Warwick, de 38, disse em entrevista que alunos chegavam a jogar comida no jovem durante os intervalos para o almoço, levando ele a se machucar. Ela teria dito ainda que os estudantes jogavam-no ao chão e xingavam-no. O garoto já havia tentado contra sua própria vida em 2017.

Pouco antes de sua morte, Cameron havia terminado o relacionamento que mantinha por internet com um jovem de 18 anos. Essa pessoa teria confirmado à polícia que o adolescente foi incansavelmente intimidado na escola por ser gay.

Sua mãe revelou ainda que antes de morrer Cameron ficou estressado por não conseguir as notas necessárias para se matricular em um curso de jogos na faculdade, mas por outro lado conseguiu ingressar no de Design de Computadores. Em setembro porém, ele não compareceu às aulas, e quando deram falta, ele já foi encontrado sem vida.

cameron - Reprodução/cameron-warwick.muchloved.com - Reprodução/cameron-warwick.muchloved.com
O adolescente Cameron Warwick era autista e, após se revelar gay, sofreu bullying na escola
Imagem: Reprodução/cameron-warwick.muchloved.com

Os pais de Cameron mantém um site em que recebem doações, para instituições que atendem pessoas com autismo. É possível ainda deixar mensagens na página. Numa delas, escrita no último dia 21, um dos dois escreve:

"Meu doce garoto. Ontem foi o dia em que finalmente as perguntas foram respondidas sobre o que aconteceu com você. No entanto, sinto que muitas ficaram sem resposta, e mais [outras] foram criadas. Vou continuar lutando por mais. Mais informações, responsabilidade e respostas para revelar toda a verdade do seu sofrimento. Não descansarei até descobrir tudo o que há para saber. E então usarei essas informações para garantir que ninguém mais se decepcione como você. Sinto muito por não poder te salvar. Eu tentei tanto. Você não poderia imaginar o vazio profundo que deixaria para trás. Mas se eu puder salvar apenas mais um jovem como você, talvez eu encontre a paz. Envie-me sua força e coragem, por favor, meu querido. Eu preciso disso agora mais do que nunca. Te amo sempre".

A reportagem do "Daily mail" procurou o diretor da escola Fareham Academy. Ele disse que a unidade "tem uma política robusta e de tolerância zero sobre o bullying, tomando as medidas proporcionadas necessárias".