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

Plínio Fraga

Por fidelidade a Trump, Bolsonaro deixa brazucas à própria sorte no México

22.jun.2019 - Migrantes pulam sobre muro para cruzar a fronteira dos EUA com o México em Ciudad Juarez - Jose Luis Gonzalez/Reuters
22.jun.2019 - Migrantes pulam sobre muro para cruzar a fronteira dos EUA com o México em Ciudad Juarez Imagem: Jose Luis Gonzalez/Reuters

Colunista do UOL

30/01/2020 10h57

Os brazucas, brasileiros que tentam imigrar para os EUA sem documentação, atingiram 18 mil em um ano, segundo informe desta semana do governo americano. No ano anterior, tinham sido 1,6 mil, um salto de 1.025%. Sozinhos os brasileiros representaram um terço dos latinos barrados nas fronteiras americanas.

A partir de agora, o governo Trump exigirá que os solicitantes brasileiros de asilo esperem no México pela duração de seus processos de imigração nos EUA, sujeitando a primeira população de língua não espanhola à polêmica política "Permaneça no México".

Mais de 57.000 solicitantes de asilo latino-americanos que tentaram entrar nos EUA foram enviados para o norte do México, onde costumam ficar presos em abrigos superlotados e acampamentos improvisados. Como menos de 5% conseguem pagar um advogado, a maioria sofre maus-tratos até a deportação. Neste mês, mais de 120 brasileiros fizeram o caminho forçado de volta para casa.

Somente no último quadrimestre de 2019, a patrulha de fronteira americana prendeu mais de 6.300 brasileiros, contingente só atrás de pessoas oriundas de México, El Salvador, Honduras e Guatemala.

Questionado por jornalistas sobre a proteção a brasileiros barrados nos EUA, o presidente Jair Bolsonaro foi seco: "Pergunta pro Trump". O presidente entende que são brasileiros que desrespeitam a lei americana e devem por isso sofrer as consequências da tentativa de imigração clandestina.

O aumento massivo da tentativa de brazucas de entrar ilegalmente nos EUA coincide com o primeiro ano de Bolsonaro, mas ainda está longe do recorde. Nos anos 90, o número de imigrantes brasileiros ilegais chegou a ar de 100 mil.

As estimativas são frágeis, mas se calcula que haja 1 milhão de brasileiros vivendo nos EUA. Apenas um terço se estabeleceu legalmente.

Ao abraçar Trump, Bolsonaro vira as costas para toda essa gente.