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

Esse conteúdo é antigo

Eurásia: Rússia e líder da China são os maiores riscos de 2023; veja lista

Presidentes da Rússia e China, Vladimir Putin e Xi Jinping - Sputnik/Sergey Bobylev/Pool via REUTERS
Presidentes da Rússia e China, Vladimir Putin e Xi Jinping Imagem: Sputnik/Sergey Bobylev/Pool via REUTERS

Do UOL, em São Paulo

04/01/2023 09h32

Relatório divulgado pelo grupo aponta o país comandado pelo presidente Vladimir Putin como um "Estado vilão".

Uma Rússia humilhada deixará de ser um jogador global para se tornar o Estado vilão mais perigoso do mundo, representando uma séria ameaça à segurança da Europa, dos Estados Unidos e além."

No caso da China, o documento diz o que líder chinês Xi Jinping é "praticamente ir em sua capacidade de perseguir sua agenda política estatista e nacionalista".

Com poucos freios e contrapesos sobrando para constrangê-lo e sem vozes dissidentes para desafiar seus pontos de vista, a capacidade de Xi de cometer grandes erros também é incomparável."

Veja a lista de maiores riscos para 2023 divulgada pela Eurásia

  1. Rússia
  2. Xi Jinping
  3. Armas de destruição em massa
  4. Ondas de choque de inflação
  5. Irã
  6. Crise energética
  7. Paralisação do desenvolvimento global
  8. Divisão política nos Estados Unidos
  9. Boom do Tik Tok
  10. Escassez de água

A Rússia está em guerra contra a Ucrânia desde 24 de fevereiro do ano ado. E o conflito parece estar longe de acabar, com ataques que continuam dos dois lados.

Menos de uma hora após a agem de 2022 para 2023, uma explosão foi registrada em Kiev, capital da Ucrânia. Segundo autoridades ucranianas, os disparos foram russos. A Rússia, por sua vez, acusou a Ucrânia de matar 63 militares em Donetski.

Durante 2022, a covid-19 persistiu na China, com o país asiático ando boa parte do ano com fortes restrições sanitárias.

A China está na lista dos primeiros países que o presidente Lula (PT) vai visitar em seu início de mandato.