text: // Copyright (c) 2009-2017 SAP SE, All Rights Reserved
  sap.ui.define(function(){"use strict";var H=function(){this._history=[];this.backwards=false;this._historyPosition=-1;this._virtual={};};H.prototype.hashChange=function(n){var h=this._history.indexOf(n);if(h===-1){if(this._historyPosition+1<this._history.length){this._history=this._history.slice(0,this._historyPosition+1);}this._history.push(n);this._historyPosition+=1;this.backwards=false;this.forwards=false;}else{this.backwards=this._historyPosition>h;this.forwards=this._historyPosition<h;this._historyPosition=h;}};H.prototype.pop=function(){var l;if(this._history.length>0){l=this._history.pop();this._historyPosition--;}return l;};H.prototype.isVirtualHashchange=function(n,o){return this._virtual.hasOwnProperty(o)&&this.getCurrentHash()===n&&this._history.length-1>this._historyPosition&&this._history[this._historyPosition+1]===o;};H.prototype.setVirtualNavigation=function(h){this._virtual[h]=true;};H.prototype.getCurrentHash=function(){return this._history[this._historyPosition]||null;};H.prototype.getHashIndex=function(h){return this._history.indexOf(h);};H.prototype.getHistoryLength=function(){return this._history.length;};return H;},true);
  