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

Jamil Chade

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Potências ocidentais apostam no Itamaraty para "enquadrar" Bolsonaro

16.fev.2022 - Jair Bolsonaro acompanha Vlir Putin, presidente da Rússia, durante declaração à imprensa, em Moscou - Alan Santos/PR
16.fev.2022 - Jair Bolsonaro acompanha Vlir Putin, presidente da Rússia, durante declaração à imprensa, em Moscou Imagem: Alan Santos/PR

Colunista do UOL

26/02/2022 09h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

Nos mais altos círculos diplomáticos da Europa e EUA, as principais potências ocidentais apostam no Itamaraty para "conter" e "enquadrar" o presidente Jair Bolsonaro, num momento definidor da ordem mundial.

A esperança é de que, num momento em que americanos e europeus tentam criar uma frente única contra o presidente russo Vladimir Putin, o Brasil tem um peso relevante, principalmente por fazer parte do Conselho de Segurança da ONU. Mas a hesitação de Bolsonaro diante do confronto, o racha entre apoiadores bolsonaristas e a visita ao Kremlin, na semana ada, obrigaram as diplomacias estrangeiras a sair em busca de interlocutores fora do Planalto.

Tanto americanos como europeus acreditam que existe, no Itamaraty, um foco de "resistência" às ideias bolsonaristas e que poderia ser um caminho importante para construir uma relação com base em princípios do direito internacional. "Há praticamente uma insurreição no Itamaraty contra as posturas de Bolsonaro", disse um dos mais experientes embaixadores europeus na ONU, na condição de anonimato.

Do lado americano, negociadores item que estão em "constantes" conversas com a chancelaria brasileira e que estão cientes de como existe um grupo que defende posturas tradicionais do país, tanto na defesa do multilateralismo como do direito internacional.

Nos últimos dias, o silêncio constrangedor de Bolsonaro apenas foi interrompido por uma cacofonia de vozes dentro do governo sobre como tratar a crise na Rússia. Um dos poucos consensos é de que a introdução de sanções seria inaceitável ao setor agrícola e, portanto, o caminho não é sequer considerado. Mas denunciar publicamente Putin ou a ser um desafio, já que poderia resultar em perdas para os negócios que o país quer manter com os russos. Há também a percepção, entre negociadores profissionais, de que um banho de sangue apenas pode ser evitado se houver um espaço preservado para o diálogo.

Nos últimos dias, após conversas mantidas por embaixadores europeus e com a cúpula da diplomacia americana, o Itamaraty optou por assumir uma postura crítica aos ataques contra a Ucrânia. O chanceler Carlos França chegou ainda a conversar com Bolsonaro na quinta-feira, após a live do presidente, para explicar que o Brasil não tinha mais como ficar sobre o muro.

De olho numa aproximação com a Otan e OCDE, membros do governo entenderam que um distanciamento neste momento poderia significar um congelamento de qualquer processo de cooperação com esses órgãos, além do próprio enfraquecimento da Carta das Nações Unidas e de interesses econômicos.

Proposta do Brasil foi incorporada na ONU, mas Itamaraty queria texto mais reconciliador

O Brasil, porém, insistia em incluir no texto que seria submetido ao Conselho de Segurança da ONU referências a um determinado equilíbrio para que fosse possível a reabertura do diálogo. Depois de negociações que duraram horas, as propostas brasileiras foram incorporadas no projeto de resolução apresentada por Joe Biden, o que deu ao Itamaraty o espaço para dar um voto positivo ao texto.

No Conselho de Segurança na sexta-feira, ao final e diante do voto a favor do projeto americano, a delegação brasileira chegou a ser cumprimentada por estrangeiros pela nova postura que tomou.

Em um discurso duro contra a Rússia, o embaixador do Brasil na ONU, Ronaldo Costa Filho, alertou que o mundo vivia um momento "sem precedentes" e uma "violação da Carta da ONU". Segundo ele, o Brasil está "profundamente preocupado" com a operação militar russa e alertou que "uma linha foi cruzada".

O Itamaraty ainda rejeitou a tese dos russos de que sua ação teria, como argumento, a necessidade de garantir um equilíbrio de segurança na ONU diante da expansão da OTAN. Para Costa Filho, isso "não dá direito de ameaçar outro estado".

Diante do veto da Rússia, o embaixador brasileiro "lamentou" o fato de que o Conselho não pode reagir a uma violação.

Mas o embaixador brasileiro também aproveitou para criticar a ruptura com Moscou e alertou ameaças e força não funcionarão. "Não há alternativa à negociação", insistiu.

Segundo ele, ao incluir no texto o termo "ato de agressão", o documento mostrou como a situação atual é grave. Mas ele alertou sobre o risco de que o mesmo termo não seja usado em outras ocasiões.

O Itamaraty não escondeu que esperava que o texto fosse mais "reconciliador". Mas itiu que o risco agora é de que o Conselho de Segurança da ONU seja marginalizado no debate. "A paralisia poderia levar a sua irrelevância, justamente quando mais precisamos dele", completou o embaixador.