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

Bolsonaro pede desculpas a Maria do Rosário por fala sobre estupro

RELEMBRE: Bolsonaro diz que não estupra deputada "porque ela não merece"

UOL Notícias

Luciana Amaral e Vanessa Alves Baptista

Do UOL, em Brasília e em São Paulo

13/06/2019 14h19

Seguindo determinação judicial, o presidente Jair Bolsonaro (PSL) pediu desculpas hoje, em mensagem publicada no Twitter, à deputada federal Maria do Rosário (PT-RS). Em 2014, o então deputado Bolsonaro afirmou que a deputada não merecia ser estuprada porque ele a considera "muito feia" e porque ela "não faz" seu "tipo".

Bolsonaro foi condenado pelo Tribunal de Justiça do Distrito Federal, em 2015, a pagar indenização de R$ 10 mil por danos morais. Ele então recorreu ao STJ (Superior Tribunal de Justiça), que manteve a decisão, e ao STF (Supremo Tribunal Federal), que fez o mesmo.

Em maio deste ano, a Justiça determinou que o valor fosse pago em até 15 dias úteis e que Bolsonaro publicasse nota de retratação. O prazo começou a valer em 24 de maio e se encerra hoje.

O UOL procurou a Presidência da República para saber se Bolsonaro também já indenizou a deputada e aguarda a resposta.

Em novembro de 2003, Bolsonaro já havia dito que não estupraria Maria do Rosário porque ela não merecia. Ele discutiu com ela diante das câmeras da RedeTV! no Congresso Nacional.

Veja discussão entre Bolsonaro e Maria do Rosário em 2003

redetv

Na nota de desculpa divulgada hoje, Bolsonaro afirmou estar à época "no calor do momento" em meio a um embate ideológico sobre direitos humanos com parlamentares e justificou ter falado que ela "não merecia ser estuprada" ao relembrar de quando foi chamado de "estuprador" pela deputada.

Bolsonaro disse ainda querer aproveitar o caso para manifestar o "integral e ir respeito às mulheres" e ressalta ter defendido penas mais severas para condenados por estupro, como a castração química, e classificar como hediondos crimes ionais.

Em seguida, defende ter atuado em prol das mulheres desde que assumiu o Palácio do Planalto, em janeiro, e que as mulheres são prioridade em seu governo.

Já no dia de minha posse como presidente da República, o protagonismo foi feminino, tendo a primeira-dama discursado antes mesmo do presidente, com a naturalidade que tratamos essas questões em nossas vidas

Jair Bolsonaro, presidente da República

"Nos primeiros meses de governo reforcei a Lei Maria da Penha permitindo a adoção de medidas protetivas de urgência para mulheres ou a seus dependentes, em casos de violência doméstica ou familiar (lei 13.827/19). Essas são algumas das nossas ações em tão pouco de governo em prol das mulheres e meninas do nosso país", completou.