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

Ucrânia acusa Rússia de 'se esconder por trás de uniformes separatistas'

Do UOL, em São Paulo*

23/02/2022 11h14Atualizada em 23/02/2022 21h21

O presidente da Ucrânia, Volodymyr Zelensky, acusou hoje os militares russos de "se esconderem por trás de uniformes de separatistas" para entrar no território de Donbass, onde ficam as regiões de Donetsk e Lugansk. Os dois locais foram reconhecidos anteontem pelo presidente da Rússia, Vladimir Putin, como repúblicas autônomas.

"Ainda não é um ato de agressão à Ucrânia e sua soberania, mas a presença de militares russos nos territórios de Donbass está sendo escondida por trás de uniformes de separatistas", afirmou o presidente ucraniano.

Segundo Zelensky, a situação representa uma violação do acordo de Minsk, firmado em 2014 com o objetivo de implantar um cessar-fogo após a Rússia anexar a península da Crimeia. A Ucrânia alega que os russos nunca cumpriram o que foi acordado. "A resposta a isso deve ser decisiva, imediata e dura", afirmou Zelensky.

Onde fica a Ucrânia? - UOL - UOL
Onde fica a Ucrânia?
Imagem: UOL

As declarações foram dadas em Kiev pelo presidente ucraniano durante pronunciamento ao lado de seus homólogos da Polônia, Andrzej Duda, e da Lituânia, Gitanas Nauseda.

Zelensky ainda afirmou que o "futuro da segurança europeia" é decidido atualmente na Ucrânia, onde se teme uma invasão russa iminente, e agradeceu às sanções impostas contra a Rússia pelo União Europeia, os Estados Unidos, o Reino Unido e o Canadá.

Ainda durante o pronunciamento, o presidente ucraniano pediu garantias de segurança da Rússia como um o para acabar com o ime entre os dois países. "Creio que a Rússia deve estar entre os países que oferecem garantias claras de segurança. Já sugeri muitas vezes que o presidente da Rússia se sentasse à mesa das negociações e falasse", disse ele.

Mais tarde nesta quarta-feira (23) Zelensky disse que tentou conversar com o presidente russo, mas não obteve sucesso: "comecei uma conversa por telefone com o presidente da Federação Russa. Resultado: silêncio".

Putin diz que exigências russas são 'inegociáveis'

Em outro pronunciamento feito hoje mais cedo, Putin disse que não cederá em suas exigências na crise em que enfrenta vários países ocidentais, o que aumenta o temor de uma invasão da Ucrânia, apesar do acúmulo de sanções internacionais.

"Os interesses e a segurança de nossos cidadãos não são negociáveis para nós", declarou ele em um breve discurso exibido na televisão por ocasião do Dia do Defensor da Pátria.

Ontem, a Rússia aprovou os acordos com os separatistas ucranianos, que preveem o envio de uma força de "manutenção da paz" ao país vizinho, na prática um aval para uma operação militar na Ucrânia.

Parlamento da Ucrânia aprovou porte de arma por civis

O Parlamento da Ucrânia aprovou hoje um projeto de lei que dá permissão aos ucranianos para portar armas de fogo.

"A adoção desta lei é totalmente do interesse do Estado e da sociedade", afirmaram os autores do projeto de lei em uma nota, acrescentando que a lei era necessária devido às "ameaças e perigos existentes para os cidadãos da Ucrânia".

Mais cedo, o ministério ucraniano das Relações Exteriores também pediu a seus cidadãos que deixem a Rússia rapidamente, porque uma possível invasão poderia reduzir a assistência consular.

Segundo Oleksiy Danilov, autoridade do alto escalão da segurança da Ucrânia, o país também vai impor um estado de emergência. A medida foi anunciada hoje pela manhã e vale para todo o território ucraniano, exceto as regiões de Donetsk e Lugansk. O estado de emergência deve durar 30 dias, podendo ser prorrogado por mais 30.

* Com informações da AFP