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

Guerra da Rússia-Ucrânia

Notícias do conflito entre Rússia e Ucrânia


Esse conteúdo é antigo

Como os animais estão sendo resgatados durante a guerra na Ucrânia

Cachorro é transportado pelos donos dentro de mochila - GETTY IMAGES
Cachorro é transportado pelos donos dentro de mochila Imagem: GETTY IMAGES

Manish Pandey - Newsbeat

10/03/2022 08h02Atualizada em 10/03/2022 08h02

Mais de um milhão de pessoas já fugiram da Ucrânia desde o início da invasão russa - e a União Europeia estima que esse número pode chegar a 4 milhões.

A tragédia ainda está se desenrolando e embora o maior foco de preocupação seja o desastre humanitário, a decisão do que levar consigo ao deixar o país também é bastante difícil.

Entre as pessoas presas nesse dilema, estão aquelas que tiveram que decidir o que fazer com seus amados animais de estimação.

"A devastação causada por alguns dos bombardeios e o ambiente aberto coberto de vidro, concreto e metal é perigoso para as pessoas, mas também para os animais", disse James Sawyer, diretor do Fundo Internacional para o Bem-Estar Animal (IFAW) no Reino Unido, à Radio 1 Newsbeat.

Sua organização apoia abrigos na Ucrânia e fornece recursos como alimentos e suprimentos veterinários, além de pagar os salários dos funcionários durante a guerra para garantir que os animais continuem sendo cuidados.

"Os suprimentos locais estão se esgotando, um dos dois abrigos de animais que apoiamos foi danificado por bombas, perdendo um dos animais", acrescenta.

Apoio de emergência

James diz que "não é seguro colocar as botas no chão" por enquanto, então o IFAW tem se concentrado em oferecer o melhor apoio possível remotamente.

Eles têm fornecido ajuda emergencial aos funcionários que am por momentos difíceis com 1.100 cães sob seus cuidados.

E ficar para trás para cuidar dos animais é obviamente perigoso. Em um abrigo, os funcionários dizem que estão medo até de acender uma fogueira, para não chamar atenção desnecessária.

cachorro abrigo - Shelter Pif - Shelter Pif
Cachorro em abrigo apoiado pela IFAW na Ucrânia
Imagem: Shelter Pif

Cruzando a fronteira

Também há problemas para tentar fugir do país através da fronteira, pois diversas regras sobre o uso de microchips e apresentação de comprovantes de vacinação dos animais ainda estão em vigor.

A PETA (People for the Ethical Treatment of Animals) da Alemanha enviou reforços para a fronteira para tentar "guiar os animais com segurança", de acordo com Jennifer White, da organização de direitos dos animais.

Além da IFAW, ela diz que está trabalhando com outras organizações parceiras na vizinha Romênia que conseguiram entrar na Ucrânia para resgatar animais abandonados e vacinar cães e gatos.

Segundo White, foram doadas duas toneladas de ração para gatos e cachorros, além de cobertores para pessoas que estão caminhando longas distâncias.

E quando se trata da evacuação dos animais, não são apenas animais domésticos que precisam ser retirados do país.

"Sempre que uma área é atingida pela guerra, os animais presos no zoológico se tornam dependentes", diz White.

jovem abraça cachorro - Getty Images - Getty Images
Jovem abraça seu cachorro enquanto eles aguardam para cruzar a fronteira entre a Ucrânia e a Polônia
Imagem: Getty Images

Relatos sugerem que animais do santuário de ursos Save Wild, localizado perto de Kiev, foram transportados para a Polônia, onde um zoológico lhes ofereceu refúgio durante a guerra.

Mas isso não acontece lugares e funcionários do zoológico de Kiev já disseram que a oportunidade de evacuar seus animais ou.

"É quase impossível evacuar os animais, porque é impossível fornecer serviço veterinário e transporte adequados", diz Kyrylo Trantin, chefe do zoológico.