// ==UserScript== // @name AlloCine_Zap // @fullname AlloCine Zap // @author http://userscripts.org:8080/users/102504 // @namespace http://userscripts.org:8080/scripts/show/59373 // @description Supprime les publicités - Zapping entre les vidéos sans changer de page // @icon data:image/png;base64,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 // @version 4.7.3 // @date 04/06/2014 // @source https://greasyfork.org/scripts/1939 // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @grant GM_registerMenuCommand // @grant GM_xmlhttpRequest // @grant GM_openInTab // @grant unsafeWindow // @run-at document-end // @match http://www.allocine.fr/* // @match http://www.screenrush.co.uk/* // @match http://www.sensacine.com/* // @match http://www.filmstarts.de/* // @match http://www.beyazperde.com/* // @match http://www.adorocinema.com/* // @exclude http://*/_video/iblogvision.aspx* // @compatibility Firefox, Chrome, Opéra // @downloadURL none // ==/UserScript== //**************************************************************** // functions for Opera //**************************************************************** if (typeof GM_getValue === "undefined"){ if(typeof window.localStorage == "object") { function GM_getValue ( key, defaultValue ) { var value = window.localStorage.getItem(key); if( value == null ) value = defaultValue; else if(value=='true') value = true; else if(value=='false') value = false; return value; } } else{ function GM_getValue( cookieName, oDefault ) { var cookieJar = document.cookie.split( "; " ); for( var x = 0; x < cookieJar.length; x++ ) { var oneCookie = cookieJar[x].split( "=" ); if( oneCookie[0] == escape( cookieName ) ) { try { eval('var footm = '+unescape( oneCookie[1] )); } catch(e) { return oDefault; } return footm; } } return oDefault; } } } if (typeof GM_setValue === "undefined") { if(typeof window.localStorage == "object") { function GM_setValue( key, value ) { window.localStorage.setItem( key, value ); } } else{ function getRecoverableString(oVar,notFirst) { var oType = typeof(oVar); if( ( oType == 'null' ) || ( oType == 'object' && !oVar ) ) { //most browsers say that the typeof for null is 'object', but unlike a real //object, it will not have any overall value return 'null'; } if( oType == 'undefined' ) { return 'window.uDfXZ0_d'; } if( oType == 'object' ) { //Safari throws errors when comparing non-objects with window/document/etc if( oVar == window ) { return 'window'; } if( oVar == document ) { return 'document'; } if( oVar == document.body ) { return 'document.body'; } if( oVar == document.documentElement ) { return 'document.documentElement'; } } if( oVar.nodeType && ( oVar.childNodes || oVar.ownerElement ) ) { return '{error:\'DOM node\'}'; } if( !notFirst ) { Object.prototype.toRecoverableString = function (oBn) { if( this.tempLockIgnoreMe ) { return '{\'LoopBack\'}'; } this.tempLockIgnoreMe = true; var retVal = '{', sepChar = '', j; for( var i in this ) { if( i == 'toRecoverableString' || i == 'tempLockIgnoreMe' || i == 'prototype' || i == 'constructor' ) { continue; } if( oBn && ( i == 'index' || i == 'input' || i == 'length' || i == 'toRecoverableObString' ) ) { continue; } j = this[i]; if( !i.match(basicObPropNameValStr) ) { //for some reason, you cannot use unescape when defining peoperty names inline for( var x = 0; x < cleanStrFromAr.length; x++ ) { i = i.replace(cleanStrFromAr[x],cleanStrToAr[x]); } i = '\''+i+'\''; } else if( window.ActiveXObject && navigator.userAgent.indexOf('Mac') + 1 && !navigator.__ice_version && window.ScriptEngine && ScriptEngine() == 'JScript' && i.match(/^\d+$/) ) { //IE mac does not allow numerical property names to be used unless they are quoted i = '\''+i+'\''; } retVal += sepChar+i+':'+getRecoverableString(j,true); sepChar = ','; } retVal += '}'; this.tempLockIgnoreMe = false; return retVal; }; Array.prototype.toRecoverableObString = Object.prototype.toRecoverableString; Array.prototype.toRecoverableString = function () { if( this.tempLock ) { return '[\'LoopBack\']'; } if( !this.length ) { var oCountProp = 0; for( var i in this ) { if( i != 'toRecoverableString' && i != 'toRecoverableObString' && i != 'tempLockIgnoreMe' && i != 'prototype' && i != 'constructor' && i != 'index' && i != 'input' && i != 'length' ) { oCountProp++; } } if( oCountProp ) { return this.toRecoverableObString(true); } } this.tempLock = true; var retVal = '['; for( var i = 0; i < this.length; i++ ) { retVal += (i?',':'')+getRecoverableString(this[i],true); } retVal += ']'; delete this.tempLock; return retVal; }; Boolean.prototype.toRecoverableString = function () { return ''+this+''; }; Date.prototype.toRecoverableString = function () { return 'new Date('+this.getTime()+')'; }; Function.prototype.toRecoverableString = function () { return this.toString().replace(/^\s+|\s+$/g,'').replace(/^function\s*\w*\([^\)]*\)\s*\{\s*\[native\s+code\]\s*\}$/i,'function () {[\'native code\'];}'); }; Number.prototype.toRecoverableString = function () { if( isNaN(this) ) { return 'Number.NaN'; } if( this == Number.POSITIVE_INFINITY ) { return 'Number.POSITIVE_INFINITY'; } if( this == Number.NEGATIVE_INFINITY ) { return 'Number.NEGATIVE_INFINITY'; } return ''+this+''; }; RegExp.prototype.toRecoverableString = function () { return '\/'+this.source+'\/'+(this.global?'g':'')+(this.ignoreCase?'i':''); }; String.prototype.toRecoverableString = function () { var oTmp = escape(this); if( oTmp == this ) { return '\''+this+'\''; } return 'unescape(\''+oTmp+'\')'; }; } if( !oVar.toRecoverableString ) { return '{error:\'internal object\'}'; } var oTmp = oVar.toRecoverableString(); if( !notFirst ) { //prevent it from changing for...in loops that the page may be using delete Object.prototype.toRecoverableString; delete Array.prototype.toRecoverableObString; delete Array.prototype.toRecoverableString; delete Boolean.prototype.toRecoverableString; delete Date.prototype.toRecoverableString; delete Function.prototype.toRecoverableString; delete Number.prototype.toRecoverableString; delete RegExp.prototype.toRecoverableString; delete String.prototype.toRecoverableString; } return oTmp; } function GM_setValue( cookieName, cookieValue, lifeTime ) { if( !cookieName ) { return; } if( lifeTime == "delete" ) { lifeTime = -10; } else { lifeTime = 31536000; } document.cookie = escape( cookieName ) + "=" + escape( getRecoverableString( cookieValue ) ) + ";expires=" + ( new Date( ( new Date() ).getTime() + ( 1000 * lifeTime ) ) ).toGMTString() + ";path=/"; } } } if (typeof GM_xmlhttpRequest === "undefined") { function GM_xmlhttpRequest(details) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { var responseState = { responseXML:(xmlhttp.readyState==4 ? xmlhttp.responseXML : ''), responseText:(xmlhttp.readyState==4 ? xmlhttp.responseText : ''), readyState:xmlhttp.readyState, responseHeaders:(xmlhttp.readyState==4 ? xmlhttp.getAllResponseHeaders() : ''), status:(xmlhttp.readyState==4 ? xmlhttp.status : 0), statusText:(xmlhttp.readyState==4 ? xmlhttp.statusText : '') } if (details["onreadystatechange"]) { details["onreadystatechange"](responseState); } if (xmlhttp.readyState==4) { if (details["onload"] && xmlhttp.status>=200 && xmlhttp.status<300) { details["onload"](responseState); } if (details["onerror"] && (xmlhttp.status<200 || xmlhttp.status>=300)) { details["onerror"](responseState); } } } try { //cannot do cross domain xmlhttp.open(details.method, details.url); // alert(details.method +':'+ details.url) } catch(e) { if( details["onerror"] ) { //simulate a real error details["onerror"]({responseXML:'',responseText:'',readyState:4,responseHeaders:'',status:403,statusText:'Forbidden'}); } return; } if (details.headers) { for (var prop in details.headers) { xmlhttp.setRequestHeader(prop, details.headers[prop]); } } xmlhttp.send((typeof(details.data)!='undefined')?details.data:null); } } //**************************************************************** // Start //**************************************************************** if (typeof unsafeWindow === "undefined") unsafeWindow = window; if (typeof unsafeWindow !== "undefined" && unsafeWindow.ac != undefined && unsafeWindow.ac.adRenderer != undefined) { // Zap page intro: http://userscripts.org:8080/scripts/show/60935 unsafeWindow.ac.adRenderer.interstitialStop(); window.clearInterval(unsafeWindow.ac.adRenderer.preRollInterval); window.clearInterval(unsafeWindow.ac.adRenderer.timePreroll); window.clearInterval(unsafeWindow.ac.adRenderer.__interstitial); } var BalisesDivPub = document.getElementsByTagName('div'); var NbBalisesDivPub = BalisesDivPub.length; for (i=0; i GM_getValue('AZ_DateUpdate') && AZ_today_YYYYMMDD >= AZ_new_check) { var erreur_later = false; if(!GM_getValue('AZ_DateLater')) erreur_later = true; if (erreur_later || GM_getValue('AZ_DateLater')<=AZ_today_YYYYMMDD) check_AZ_version(); } */ //**************************************************************** // L a n g u a g e //**************************************************************** //if (!GM_getValue('AZ_lng') || GM_getValue('AZ_lng')=='auto') var AZ_LANG = navigator.language; //else var AZ_LANG = GM_getValue('AZ_lng'); var AZ_LANG = navigator.language; if (AZ_LANG!='fr' && AZ_LANG!='en') AZ_LANG = 'en'; //AZ_LANG = 'en'; switch ( AZ_LANG ) { case 'fr': AZ_LNG = { name: 'Allocine Zap', show: 'Afficher', hide: 'Masquer', show_vid: 'Afficher la vidéo', hide_vid: 'Masquer la vidéo', load_vid: 'Charger cette vidéo', size: 'Taille', player: 'Lecteur', quality: 'Qualité|Haute|Moyenne|Faible', error_vid: 'Erreur. Rechargez la page SVP.', position_reset: 'Réinitialiser positionnement', options: 'Options', OptBorder: 'Bordure', OptPosition: 'Position', OptOriginal: 'Originelle', OptFloat: 'Flottante', OptIcons: 'Icônes|Bleu|Rouge|Vert|Jaune', OptColor: 'Couleur de la police', OptBgcolor: 'Couleur d\'arrière-plan', download: 'Télécharger', monallocine: 'Mon AlloCiné', header: 'En-tête', header_fixed: 'Fixe', header_normal: 'Normal', footer: 'Pied de page', bydefault: 'Par défaut', option_close: 'Fermer', options_reload: 'Recharger la page ?', option_cancel: 'Annuler', title_update_new: 'Nouvelle version de', check_updates: 'Vérifier les mises à jour', check_noresult: 'Pas de nouvelle version de Allocine Zap', update_button: 'Mettre à jour', later_button: 'Plus tard', autoplay: 'Lecture auto.', on: 'Activé', off: 'Désactivé', url: 'URL', donate_title: 'Si vous trouvez Allocine Zap utile, vous pouvez faire un don libre.' }; break; case 'en': AZ_LNG = { name: 'Allocine Zap', show: 'Show', hide: 'Hide', show_vid: 'Show video', hide_vid: 'Hide video', load_vid: 'Load this video', size: 'Size', player: 'Player', quality: 'Quality|Hight|Medium|Low', error_vid: 'Error. please, reload the page.', position_reset: 'Reset positioning', options: 'Options', OptBorder: 'Border', OptPosition: 'Position', OptOriginal: 'Original', OptFloat: 'Float', OptIcons: 'Icons|Blue|Red|Green|Yellow', OptColor: 'Font color', OptBgcolor: 'Background color', download: 'Download', monallocine: 'My Screenrush', header: 'Header', header_fixed: 'Fixed', header_normal: 'Normal', footer: 'Footer', bydefault: 'By default', options_reload: 'Reload page ?', option_close: 'Close', option_cancel: 'Cancel', title_update_new: 'New version of', check_updates: 'Check for updates', check_noresult: 'No new version of Allocine Zap', update_button: 'Update', later_button: 'Later', autoplay: 'Autoplay', on: 'On', off: 'Off', url: 'URL', donate_title: 'If you find Allocine Zap useful, you can make a free donation.' }; } switch ( location.hostname ) { case 'www.screenrush.co.uk': AZ_LNG.monallocine = 'My Screenrush'; AZ_LNG.footer = 'Footer'; break; case 'www.sensacine.com': AZ_LNG.monallocine = 'Mi SensaCine'; AZ_LNG.footer = 'Pie de página'; break; case 'www.filmstarts.de': AZ_LNG.monallocine = 'Mein FILMSTARTS'; AZ_LNG.footer = 'Fußzeile'; break; case 'www.beyazperde.com': AZ_LNG.monallocine = 'Beyazperdem'; AZ_LNG.footer = 'Altbilgi'; break; case 'www.adorocinema.com': AZ_LNG.monallocine = 'Meu AdoroCinema'; AZ_LNG.footer = 'Rodapé'; break; } //**************************************************************** // A j o u t d u M e n u //**************************************************************** if(typeof GM_registerMenuCommand !== "undefined") { GM_registerMenuCommand( 'Allocine Zap: '+AZ_LNG.options , AZ_options_only); // GM_registerMenuCommand( 'Allocine Zap: '+AZ_LNG.check_updates , ForceCheck_AZ_version); GM_registerMenuCommand( 'Allocine Zap: '+AZ_LNG.position_reset , AZ_reset_pos); } //**************************************************************** // V a r i a b l e s //**************************************************************** var AZ_Url_Page = window.location.href; var AZ_TLBR = '2px'; if (GM_getValue('AZ_canhidenav')) try {GM_deleteValue('AZ_canhidenav');} catch(Err){}; if (GM_getValue('AZ_position')) try {GM_deleteValue('AZ_position');} catch(Err){}; if (!GM_getValue('AZ_width')) GM_setValue('AZ_width', 480); if (!GM_getValue('AZ_height')) GM_setValue('AZ_height', 300); if (!GM_getValue('AZ_Top')) GM_setValue('AZ_Top', AZ_TLBR); if (!GM_getValue('AZ_Left')) GM_setValue('AZ_Left', AZ_TLBR); if (!GM_getValue('AZ_header')) GM_setValue('AZ_header', 'fixed'); if (!GM_getValue('AZ_choix_lecteur')) GM_setValue('AZ_choix_lecteur', 'html5'); if (!GM_getValue('AZ_quality')) GM_setValue('AZ_quality', 'HD'); if (!GM_getValue('AZ_border')) GM_setValue('AZ_border', '8px'); if (!GM_getValue('AZ_posOri')) GM_setValue('AZ_posOri', false); if (!GM_getValue('AZ_autoplay')) GM_setValue('AZ_autoplay', false); if (typeof GM_getValue('AZ_zap') === "undefined") GM_setValue('AZ_zap', true); if (!GM_getValue('AZ_Color')) GM_setValue('AZ_Color', '#000000'); if (!GM_getValue('AZ_BgColor')) GM_setValue('AZ_BgColor', '#FFD515'); if (!GM_getValue('AZ_IconsColor')) GM_setValue('AZ_IconsColor', '#028CD7'); var AZ_TypePlayer = ['','_DivX','_HTML5','_Iframe']; var AZ_Quality = GM_getValue('AZ_quality'); var AZ_UrlVideoCplt = 'autoPlay='+GM_getValue('AZ_autoplay')+'&autoplay='+GM_getValue('AZ_autoplay')+'&'; AZ_UrlVideoCplt += 'timeToShowAdPanel=15&expandable=false&canHideNav=true&adVast=false&smartIdPrerollSet=&'; AZ_UrlVideoCplt += 'urlDirectVast=&urlDirectVastPr=&urlDirectVastDfp=&'; AZ_UrlVideoCplt += 'urlPostrollDfp1=&urlPostrollDfp2=&'; AZ_UrlVideoCplt += 'host=http://'+window.location.host+'&'; AZ_UrlVideoCplt += 'pre-roll=false&preroll=false&preRoll=false&'; AZ_UrlVideoCplt += 'post-roll=false&postroll=false&postRoll=false&'; AZ_UrlVideoCplt += 'v7=true&blog='+(GM_getValue('AZ_choix_lecteur')=='true'?'true':'false')+'&'; //**************************************************************** // I m a g e s - B a s e 64 //**************************************************************** var IMG_B64_Empty = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'; var IMG_B64_Paypal = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAWCAYAAAA8VJfMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0I3MDA1REEwMDFEMTFFMzhDNjJENjM1ODk4RDk2MDMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0I3MDA1REIwMDFEMTFFMzhDNjJENjM1ODk4RDk2MDMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozQjcwMDVEODAwMUQxMUUzOEM2MkQ2MzU4OThEOTYwMyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozQjcwMDVEOTAwMUQxMUUzOEM2MkQ2MzU4OThEOTYwMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ps+KmasAAAZNSURBVHjarFZrbBzVFf7uncd69uH17sbreNfYjhOCYyupSV0UaMKjkBYBLcVOX2pQoVUqIaS2qIVKqBUVqqjEn4DUP4AgtFJRJH6A2vKjkUgIWMGGEMfkgb2JY28S2/Ha+5jd2Z333N4Z1014BKlVrjTSzNy55zvnO+d8ZwhjDNdiMUsFk+P8xgMIATwnTlxLdSsToHILEFkHpp2B0LIFIvE/uGJpupk5eXbuJ3XdSAsCtcGdIoQ6/h5/diJNoflUPDyVSSdHRYHqq04TfXEF3Af2l12LsdLEHyCFn+C79pUY4mc9/jh34Wev/mP0aRcMAvUdEnxT8O98ByWBIBqW0NudObpU1h7i704FwISuAFMZjPAzZtlk2rm7IMdeRHLgYYBcHXQqXxhartYRVkLwOFN1Q4frugGwJIlokkUsluv8u+Jgqaq9X9fNDRy44KlTPiMceL6J2VUDrqmSaPevUZv8F2rnxhDd+BI34hsCvRLQsJzE7KXSAOOHbdcLwAZ62nD/9j7cOXg90okoLE60wMEZD+bw+NnYh6dnfrNymm8Qzo9V2YnSsTAz5i2iZI9QKQHUpp+CVZKCfK+Cep4XRFyu1dfnL5Vhey5KWgNr4gp233PT/bvv3Zb8+QPb2x4Z3vFIa3MINU33yYZmOjhxbuHx0VPnbwryCZZhhZEnPbAHOTogNWtMyfyIeeZar/TRfaSp9TIopSuFMjtf3LlYrvFoPDR0Cx1tKXS1rzmkhORyRGkqbOpu+9u69hRqDQOmbcO0eGQew4nZ5bFJtfXHjAkDrH5+G/T5R2msl+eWG4327OcOnqb6wu+JEMbn6D1zfmmoWjfRMN0gn5nW+FFZFmur+7btxZZUDYbtBt8YloVkLAzV8DB7Sd3JlPYcEltOkMbCZthaBlQCERURRD4Js9LPr8+DTuYXB03HhcWNSaKAzrXJQyv0M9G07NjhY2ee+ejsPAS+p9YNxHixdWbboGp1GIadgBSdRqR7PKBaOzfkiQli2V4baJPCnLrAiPR8UL2qWpWUJtktqY3M95/6Ky6pNchUQIgXy8jHM48fPJqT3jg80XNq+uJ33hrLocppZ5yGUkXDD39wW9AJn8ws7du6IfU7DqUwKV7080lc8yFN014gjFZj8NZ7zM8giQSg8Xhz0Lhvvz+B47mLqJo2r04hKJQ//uUAwiL5lZ/jusE/Eygo70nPcTB0+2Ze0evx8oETWFiurPv2LX3zjqGFBLtC4ajwhPBxv6+j0SiwoDb4QT/+Zz/Vp59cWNpi+P1AKVy/si0Tbp0Xi/8g8ANyCIpE0Z1qxt239mPXN76Kf344i4PjeQzv2PhbrVqjUckwUT7WwjzHQrjzFUEQQMyljTALQCgNIsWr/wVlrk1/+dybP/VbBZIc6GcqEcbAQJYLjAgxRJCORbChPcGVKIuQLGPfoUm8e/z8wZv72o88s+dbHzz9YJk7HCEQozqi1z9PpfAR3hUUam4NrOpWJAbPcHUqB6COY1HdsJCbWxoO5IzjRriHvxi6Fdv6ezCRLwTVRojEddnCW+NzOMnf+a0yvL33yT/tuWss0F5BIYRXmNeyeYSEO46weh6ykoVXGHmYwtNJvPcxLiCmH6coirI3c7Gg5BdV/2QQZUc6ge1bevD6B7M4PbOMtS2RQDB8QWmJyhi+ZSNu3tSx4fYbe6ZX00N8Oni6eYu8CSVT96o5MHt5PdEv7kK8/yXUzo6wYNp0rtCbXyxmipVqkE/wCLoySZQbLi+sRey+o79w20DXEwLxHE5ribfJQktEnpZlufbp2YZA47je1l29xI1n+WxRG/S67+3h+RyBXVRRHLsMenpm4d1KzQoqlnCGuzNpFDUT6eYovvv13l0d6eb3rrTvea541cEqtYA1LnAmq6BCdA5tA/v8NHIGwBYOXJ4yU3OVjFXhjssSlFgTtvV1ILdYQ2ZNBMnm0NRn7VIqOI7rCr6DPI0rk4OSL5vxgcyuzt4AdPc3v/bYpmxqr247XOSjyLYlsH9kHHcPdulKSCp9kRVRWAH7f1Ygg1tvyP55zwM7pNbW1Og7k0Xs/fsE11UDfV3J11b/GvzIcI1WEKnwnynzzkT+vf5O4yv9JIX2ZGR08Ibr9l6LyK66XPbFxcG+rGj+1583nlP/+rcAAwB96+JQdhoHCgAAAABJRU5ErkJggg'; var IMG_B64_Paypal = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB9UlEQVQ4ja3TT2sTQRgG8IAnL54EP4GfQbyIZlZDxYh/D+JFqYIehBIPoUFqlC6xUkIVu7Ohim2pWIsgLTaol2I1iuBBFHpQ9NJ0550karKZJrtsMo8HS1lK0iL4wtxm3nl/zDORyP+sKKcss8kNL4MLaXCajY5SfNPD+4ednfFxWR8k4JoDDBKQISBd1Oj77AfxyZKKWuJ81wYHbHH43NyvhknAvQrw1AWeuUDuJ3DdAQa+Bm2D09uuDZjlpK68Uf4NAfQVlG/Ywmc26RPTFZ0WwEgZMHKkmS3mOnIMTrP9X/wguQKceV5tMpv0kckyLrxWyBCQc1o4OlXuzmGcijeLWqdW/vpvSWBIAnfKwFQV6F90cfX9amfOPnt598lHZWUSkC0BMzVgXgF5BTyhFgYKdX0wR/rU44oKcdzI6Zlta7c7Zy++rDVNAswlP2CcgtiYROy+ROyB1AYXXs9DqXoXlJchwHZabYOLpdD4YjjxoeGbBCTfKd/gVNuMk1xwPWY5iXCDxdvfgxavAJfy1WZ8otTsxJmWrXa6UPcOhcffm13e3jMm3Rd1jVerwLFx6fXmq946J5xMTp+Y5ST23P22Y8MLiCHGRWUtuh/DHGY5qa7h6RioEOfy/O/Gln8gXBs5xydknY382PWvE6xzopyyW+3/A/j/2Su76YY0AAAAAElFTkSuQmCC'; var IMG_B64_ArrowRed = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzQ1M0MwQjkwMDE5MTFFM0I0MDhEMjc1NjI5QzBDNDUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzQ1M0MwQkEwMDE5MTFFM0I0MDhEMjc1NjI5QzBDNDUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NDUzQzBCNzAwMTkxMUUzQjQwOEQyNzU2MjlDMEM0NSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NDUzQzBCODAwMTkxMUUzQjQwOEQyNzU2MjlDMEM0NSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ppmv1b0AAAFOSURBVHjaYmZAA34yMnW8P35oPfv79wwDLqAhJmayNyLiRw8Ly1t+BgZlZDkmGIOLhYW3JSRkkQg3N7vGv39CGQwMC4HCrBgKywMDJ5mqqWn++vWLgRnI92FgsA5jYGhGUehjYhKb6O2d8O37d7AiViguBurXZ2DwBCs0UFGx6i4pmcPMysrw/98/BkagIDPUFHEg7mBgWAqk1ZidFBWL3z17xvLqyZOfChISQn9evWL4efkyA8v//wz7GRge3QTinwwMAnBfeejoJDzo6/t/Pjb2/wEmpv/HGRj+WzAwVEKlWVhgCtnY2Bj/A035D2T/gYoB3ckIZf5hQQoqxn9A4i8Q/4Iq/ockCVf4HyoBUvATSQyrwv9IJv6FYgyFTEDAyMYGdAwLwxcg/zfEBiYMhc9evXq778CBl2+fPGF4CvQU0BeMXxkYPsPkAQIMAADUbD0YXJOVAAAAAElFTkSuQmCC'; var IMG_B64_ArrowGreen = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjM4NTg4NEQwMDE4MTFFM0E0NEZDMTYxQ0VEN0ExQzciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjM4NTg4NEUwMDE4MTFFM0E0NEZDMTYxQ0VEN0ExQzciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMzg1ODg0QjAwMTgxMUUzQTQ0RkMxNjFDRUQ3QTFDNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMzg1ODg0QzAwMTgxMUUzQTQ0RkMxNjFDRUQ3QTFDNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pm8VNtsAAAFVSURBVHjaZJA/SAJhGMZ/n15lQi0ZaRAW/UUDOwhcggKDiBoaC5qaWqLJsaaipUlot6EgZ4mgEGmoWSGoKSRsyKK4CuLuPLs7z/Lw+fh44Xt+PO/7vYKGethgkj0ENXlQZqBvgMJFIVkqlE4tW/oDO+hihBDtEJ2OEh+L83b/FjRB3KDAwG9WH+iSjmqoGIZRbdieJtCGrES8Lqcl0WrvBsU/6E5sd67khtyghk6bA5mvwiPQNE3/bz3MLqPM0k2/neZIN5nITGQrEAqsvJRf7jxUOGOKGEtM2J+p1UFVVUksJsY3tzfndUW/8qDwwAlrvDqItRDDGtE8QpDaTyWLt8VsfcYnLslwwLc9qw37O/3ks/nzXCZ3iLOIuspc08kcvYTloEy1Un1O76SXtR/tixb5GBLrorJ6vFoLx8ILzZbXBep8SJ/Su1JWHks3paNm61eAAQC2s2igggWONgAAAABJRU5ErkJggg'; //var IMG_B64_Download = 'data:image/png;base64,