;(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; // 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(); })();
Topo
Notícias

Autoridades de imigração dos EUA defendem prisão de estudante brasileiro

1.jun.2025 - Colegas de classe de Marcelo Gomes da Silva juntam-se a membros da comunidade em manifestação de apoio ao estudante - Brian Snyder/REUTERS
1.jun.2025 - Colegas de classe de Marcelo Gomes da Silva juntam-se a membros da comunidade em manifestação de apoio ao estudante Imagem: Brian Snyder/REUTERS

Nate Raymond, em Boston

02/06/2025 15h36

O chefe do Departamento de Imigração e Alfândega dos Estados Unidos defendeu nesta segunda-feira a decisão de sua agência de prender um brasileiro, estudante do ensino médio de Massachusetts, a caminho do treino de vôlei, argumentando que "ele está neste país ilegalmente e não vamos dar as costas a ninguém".

Todd Lyons, diretor interino do ICE, fez os comentários em resposta a jornalistas durante um evento em Boston ao ser questionado sobre o motivo de as autoridades prenderem, no sábado, Marcelo Gomes da Silva, de 18 anos. Ele está nos Estados Unidos desde 2012.

Marcelo Gomes foi preso no sábado, um dia antes de sua formatura do colegial nos EUA - Ana Júlia Araújo - Ana Júlia Araújo
Marcelo Gomes foi preso no sábado, um dia antes de sua formatura do colegial nos EUA
Imagem: Ana Júlia Araújo

A prisão do brasileiro provocou um grande protesto no domingo no subúrbio de Milford, em Boston, onde ele mora, e uma demanda por informações sobre o incidente por parte da governadora democrata Maura Healey, que disse estar "perturbada e indignada".

Lyons falou sobre a prisão de Gomes enquanto anunciava resultados de uma onda de aplicação da lei de imigração em Massachusetts que resultou em quase 1.500 pessoas sendo levadas sob custódia no mês ado, parte do esforço linha dura do presidente republicano Donald Trump para aumentar as deportações em massa.

Lyons e Patricia Hyde, diretora de campo interina das Operações de Execução e Remoção do ICE em Boston, disseram que Gomes não era o alvo da investigação que levou à sua prisão e que as autoridades estavam procurando seu pai, que continua foragido.

"Obviamente, ele não é o pai do ano porque também trouxe seu filho para cá ilegalmente", disse Lyons.

O estudante da Milford High School estava dirigindo o veículo do pai quando foi preso, disse Lyons. O diretor interino acrescentou que quando as autoridades encontrarem alguém no país ilegalmente, "tomaremos providências".

"Estamos fazendo o trabalho que o ICE deveria estar fazendo o tempo todo", disse. "Fazemos cumprir todas as leis de imigração."

Um juiz federal emitiu uma ordem de emergência no domingo impedindo a transferência de Gomes para fora de Massachusetts por pelo menos 72 horas. A decisão ocorreu no âmbito de uma ação judicial que questiona a legalidade de sua detenção.

A peça diz que Gomes entrou nos Estados Unidos com um visto de estudante. Embora o status do visto de estudante tenha expirado, a ação diz que ele é elegível e pretende solicitar asilo.

Notícias