//funcion para llenar combos 
function agregarItemsCombo(json, comboFinal){ 
    if( !json.length <= 0 ){ 
    	comboFinal.disabled = false;
        for( var j = 0; j < json.length; j++ ){ 
        	comboFinal.options[j] = new Option(json[j].value, json[j].key); 
        }//fin del ciclo for 
    }//fin del condicional if 
} 
function cargarElementos(url, comboInicial, comboFinal){
	var pos=comboInicial.selectedIndex;
	$(comboFinal).empty();
  	$.post(url,
  		    {groupId: comboInicial.options[pos].value}, 
		    function(data){
		       	agregarItemsCombo(data, comboFinal);
		    }
  	);//fin de llamada AJAX
}


/** Mostrar Transicion */

function mostrarTransicion(id){
	$("#envuelve_layer_recalcular"+id).show();
}

/*
 * Analitys: funtion to normalize text
 */
function normalize(text) {
    return text.trim().toLowerCase().latinize();
}


function isElementInView(element, fullyInView) {
    var pageTop = $(window).scrollTop();
    var pageBottom = pageTop + $(window).height();
    var elementTop = $(element).offset().top;
    var elementBottom = elementTop + $(element).height();

    if (fullyInView === true) {
        return ((pageTop < elementTop) && (pageBottom > elementBottom));
    } else {
        return ((elementTop <= pageBottom) && (elementBottom >= pageTop));
    }
}

function isElementInTopView(element, fullyInView) {
    var pageTop = $(window).scrollTop();
    var pageBottom = pageTop + $(window).height();
    
    if ( typeof($(element).offset()) !== 'undefined') {
    var elementTop = $(element).offset().top;

	    if (fullyInView === true) {
	        return (pageTop < elementTop);
	    } else {
	        return (elementTop <= pageBottom);
	    }
    }
}

//funcion para mantener el color de los button cuando seleccionas un button
function changeValues(element, callback=undefined, arguments=undefined) {
	var parentElement = $(element).parent().parent();
	var oldElement = parentElement.find('.ca-btn-primary');
	oldElement.addClass('ca-btn-tertiary');
	oldElement.removeClass('ca-btn-primary');
	$(element).addClass('ca-btn-primary');
	$(element).removeClass('ca-btn-tertiary');
		if ($(element).attr('data-target') && $(element).attr('value')) {
			$($(element).data('target')).val($(element).val());
		}
		if (typeof callback !== 'undefined') {
			callback(element, arguments);
		}
	}
var qf=qf||{};
qf.typeOf=function(a){var b=typeof a;if("function"==b&&"undefined"==typeof a.call)return"object";if("object"==b)if(a){if(a instanceof Array||!(a instanceof Object||"[object Array]"!=Object.prototype.toString.call(a)||"number"!=typeof a.length||"undefined"==typeof a.splice||"undefined"==typeof a.propertyIsEnumerable||a.propertyIsEnumerable("splice")))return"array";if(!(a instanceof Object||"[object Function]"!=Object.prototype.toString.call(a)&&("undefined"==typeof a.call||"undefined"==typeof a.propertyIsEnumerable||
a.propertyIsEnumerable("call"))))return"function"}else return"null";return b};qf.addNamespace=function(a){a=a.split(".");for(var b=window,c;a.length&&(c=a.shift());)b=b[c]?b[c]:b[c]={}};qf.Map=function(a){this._map={};this._keys=[];this._count=0;a&&this.merge(a)};qf.Map._hasKey=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};qf.Map.prototype.hasKey=function(a){return qf.Map._hasKey(this._map,a)};qf.Map.prototype.length=function(){return this._count};
qf.Map.prototype.getValues=function(){this._cleanupKeys();for(var a=[],b=0;b<this._keys.length;b++)a.push(this._map[this._keys[b]]);return a};qf.Map.prototype.getKeys=function(){this._cleanupKeys();return this._keys.concat()};qf.Map.prototype.isEmpty=function(){return 0==this._count};qf.Map.prototype.clear=function(){this._map={};this._count=this._keys.length=0};
qf.Map.prototype.remove=function(a){if(!qf.Map._hasKey(this._map,a))return!1;delete this._map[a];this._count--;this._keys.length>2*this._count&&this._cleanupKeys();return!0};qf.Map.prototype.get=function(a,b){return qf.Map._hasKey(this._map,a)?this._map[a]:b};qf.Map.prototype.set=function(a,b){qf.Map._hasKey(this._map,a)||(this._count++,this._keys.push(a));this._map[a]=b};
qf.Map.prototype.merge=function(a,b){var c=0;if(a instanceof qf.Map){var d=a.getKeys();var e=a.getValues()}else{d=[];e=[];for(var g in a)d[c]=g,e[c++]=a[g]}a=b||qf.Map.mergeReplace;for(c=0;c<d.length;c++)this.hasKey(d[c])?this.set(d[c],a(this.get(d[c]),e[c])):this.set(d[c],e[c])};
qf.Map.prototype._cleanupKeys=function(){if(this._count!=this._keys.length){for(var a=0,b=0,c={};a<this.keys_.length;){var d=this.keys_[a];qf.Map._hasKey(this._map,d)&&!qf.Map._hasKey(c,d)&&(this.keys_[b++]=d,c[d]=!0);a++}this.keys_.length=b}};qf.Map.mergeReplace=function(a,b){return b};qf.Map.mergeKeep=function(a,b){return a};qf.Map.mergeArrayConcat=function(a,b){"array"!=qf.typeOf(a)&&(a=[a]);"array"!=qf.typeOf(b)&&(b=[b]);return a.concat(b)};qf.addNamespace("qf.form");
qf.form._getSelectMultipleValue=function(a){for(var b=[],c=0;c<a.options.length;c++)a.options[c].selected&&b.push(a.options[c].value);return b};
qf.form.getValue=function(a){"string"==typeof a&&(a=document.getElementById(a));if(!(a&&"type"in a))return null;switch(a.type.toLowerCase()){case "checkbox":case "radio":return a.checked?a.value:null;case "select-one":var b=a.selectedIndex;return-1==b?null:a.options[b].value;case "select-multiple":return qf.form._getSelectMultipleValue(a);default:return"undefined"==typeof a.value?null:a.value}};
qf.form.getSubmitValue=function(a){"string"==typeof a&&(a=document.getElementById(a));if(!a||!1 in a||a.disabled)return null;switch(a.type.toLowerCase()){case "reset":case "button":return null;default:return qf.form.getValue(a)}};qf.$v=qf.form.getSubmitValue;
qf.form.getContainerSubmitValue=function(){for(var a=new qf.Map,b=0;b<arguments.length;b++)if(arguments[b]instanceof qf.Map)a.merge(arguments[b],qf.Map.mergeArrayConcat);else{if("object"==qf.typeOf(arguments[b]))var c=arguments[b].name,d=arguments[b].value;else c=document.getElementById(arguments[b]).name,d=qf.form.getSubmitValue(arguments[b]);if(null!==d){var e={};e[c]=d;a.merge(e,qf.Map.mergeArrayConcat)}}return a};qf.$cv=qf.form.getContainerSubmitValue;
qf.form._setSelectSingleValue=function(a,b){a.selectedIndex=-1;for(var c,d=0;c=a.options[d];d++)if(c.value==b){c.selected=!0;break}};qf.form._setSelectMultipleValue=function(a,b){"array"!=qf.typeOf(b)&&(b=[b]);for(var c,d=0;c=a.options[d];d++){c.selected=!1;for(var e=0,g=b.length;e<g;e++)c.value==b[e]&&(c.selected=!0)}};
qf.form.setValue=function(a,b){"string"==typeof a&&(a=document.getElementById(a));if(a&&"type"in a)switch(a.type.toLowerCase()){case "checkbox":case "radio":a.checked=!!b;break;case "select-one":qf.form._setSelectSingleValue(a,b);break;case "select-multiple":qf.form._setSelectMultipleValue(a,b);break;default:a.value=b}};qf.addNamespace("qf.events");qf.events.addListener=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent("on"+b,c)};
qf.events.fixEvent=function(a){a=a||window.event;a.preventDefault=a.preventDefault||function(){this.returnValue=!1};a.stopPropagation=a.stopPropagation||function(){this.cancelBubble=!0};a.target||(a.target=a.srcElement);!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement==a.target?a.toElement:a.fromElement);if(null==a.pageX&&null!=a.clientX){var b=document.documentElement,c=document.body;a.pageX=a.clientX+(b&&b.scrollLeft||c&&c.scrollLeft||0)-(b.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
c&&c.scrollTop||0)-(b.clientTop||0)}!a.which&&a.button&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a};qf.Validator=function(a,b){this.rules=b||[];this.errors=new qf.Map;a.validator=this;qf.events.addListener(a,"submit",qf.Validator.submitHandler)};qf.Validator.submitHandler=function(a){a=qf.events.fixEvent(a);var b=a.target;b.validator&&!b.validator.run(b)&&a.preventDefault()};qf.Validator.prototype.msgPrefix="Algunos de los datos son incorrectos:";
qf.Validator.prototype.msgPostfix="Por favor, compruebe los datos introducidos";qf.Validator.prototype.onStart=function(a){};qf.Validator.prototype.onError=function(a,b){};qf.Validator.prototype.onValid=function(){};qf.Validator.prototype.onInvalid=function(){alert(this.msgPrefix+"\n - "+this.errors.getValues().join("\n - ")+"\n"+this.msgPostfix)};
qf.Validator.prototype.run=function(a){this.onStart(a);this.errors.clear();a=0;for(var b;b=this.rules[a];a++)this.errors.hasKey(b.owner)||this.validate(b);if(this.errors.isEmpty())return this.onValid(),!0;this.onInvalid();return!1};
qf.Validator.prototype.validate=function(a){var b=a.callback.call(this);if("undefined"==typeof a.chained)var c=b;else{c=!1;for(var d=0;d<a.chained.length;d++){for(var e=0;e<a.chained[d].length&&(b=b&&this.validate(a.chained[d][e]),b);e++);if(c=c||b)break;b=!0}}c||!a.message||this.errors.hasKey(a.owner)||(this.errors.set(a.owner,a.message),this.onError(a.owner,a.message));return c};qf.addNamespace("qf.rules");qf.rules.each=function(a){for(var b=0;b<a.length;b++)if(!a[b]())return!1;return!0};
qf.rules.empty=function(a){switch(qf.typeOf(a)){case "array":for(var b=0;b<a.length;b++)if(!qf.rules.empty(a[b]))return!1;return!0;case "undefined":case "null":return!0;default:return""==a}};
qf.rules.nonempty=function(a,b){var c,d=0;if("array"==qf.typeOf(a)){for(c=0;c<a.length;c++)qf.rules.nonempty(a[c],1)&&d++;return d>=b}if(a instanceof qf.Map){var e=a.getValues();if(1==a.length()&&(a=a.getKeys()[0],c=e[0],"[]"==a.slice(-2)&&"array"==qf.typeOf(c)))return qf.rules.nonempty(c,b);for(c=0;c<e.length;c++)qf.rules.nonempty(e[c],1)&&d++;return d>=b}return""!=a&&"undefined"!=qf.typeOf(a)&&"null"!=qf.typeOf(a)};var todosTrue=function(a){return a?!0:!1},todosFalse=function(a){return a?!1:!0};
function sonTodosTrue(a){switch(a.length){case 4:var b=[!0,!0,!0,!0];break;case 5:b=[!0,!0,!0,!0,!0];break;default:b=[!0,!0,!0,!0]}var c=b.length;for(i=0;i<c;i++)if(a[i]!=b[i])return!1;return!0}function sonTodosFalse(a){if(5!=a.length)return!1;var b=[!1,!1,!1,!1,!1],c=b.length;for(i=0;i<c;i++)if(a[i]!=b[i])return!1;return!0}
function checkAsegurado(a){result="";var b=[];if($("#respuesta").attr("checked")&&0<parseInt($("#numasegurados").val())){var c=a._keys.length;for(i=0;i<c;i++)if(b[i]=!1,""==a._map[a._keys[i]]||"-"==a._map[a._keys[i]])b[i]=!0;if(sonTodosTrue(b)||sonTodosFalse(b))return!0}else return!0;return!1}
function validaFechaNacimiento(a){a=dateFormToString(a);return 0<a.length&&(fnac=a.split("/"),birthdate=new Date,birthdate.setDate(fnac[0]),birthdate.setMonth(fnac[1]-1),birthdate.setFullYear(fnac[2]),hoy=new Date,birthdate>=hoy)?!1:!0}
function validaFechaMinima(a,b){a=dateFormToString(a);return 0<a.length&&(fmin=b.split("/"),mindate=new Date,mindate.setDate(fmin[0]),mindate.setMonth(fmin[1]-1),mindate.setFullYear(fmin[2]),fnac=a.split("/"),birthdate=new Date,birthdate.setDate(fnac[0]),birthdate.setMonth(fnac[1]-1),birthdate.setFullYear(fnac[2]),birthdate<mindate)?!1:!0}function validaFechaEfecto(a){return validaFechaEfectoNDias(a,90)}
function validaFechaEfectoNDias(a,b){var c=!0;a=dateFormToString(a);0<a.length&&(f=a.split("/"),a=new Date(f[2],f[1]-1,f[0],1,90,0),now=new Date,now.setHours(0),now.setMinutes(1),now_mas90=new Date(now.getFullYear(),now.getMonth(),now.getDate()+b),diff=parseInt((now_mas90.getTime()-a.getTime())/864E5),c=a>=now&&0<=diff&&diff<b?!0:!1);return c}
function validaFechaCorrecta(a){var b=!0,c=dateFormToString(a);if(0<c.length&&(b=!1,/^\d{2}\/\d{2}\/\d{4}$/.test(c))){a=c.split("/")[1];var d=c.split("/")[0];c=c.split("/")[2];var e=new Date(c,a-1,d);e.getMonth()+1==a&&e.getDate()==d&&e.getFullYear()==c&&(b=!0)}return b}function dateFormToString(a){var b="";if("string"!==typeof a){for(i=0;i<a._count;i++)""!==a._map[a._keys[i]]&&(b+=a._map[a._keys[i]]+"/");b=b.substring(0,b.length-1)}else b=a;return b}
function muestraAseguradosExtra(a){i=0;0<a?jQuery("#masAsegurados").prop("checked",!0):(jQuery("#masAsegurados").prop("checked",!1),jQuery("#numasegurados").val(0));jQuery(".ca-dev-nuevoAsegurado").each(function(b){i<a?jQuery(this).css("display","flex"):jQuery(this).css("display","none");i++})}
function muestraSelectNumAsegurados(a){switch(a){case !1:jQuery("#num_asegurados").hide("slow");muestraAseguradosExtra(0);break;case !0:jQuery("#num_asegurados").show("fadeOut"),0<jQuery("#numasegurados").val()&&muestraAseguradosExtra(jQuery("#numasegurados").val())}}function validaEmail(a){return/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/.test(a.toLowerCase())}function validarDNI(a){return documentTypesValidationFeature.validate("DNI",a)}function retornaV(){return!0}
function numbersOnly(a){a=a.charCode?a.charCode:a.keyCode;if(8!=a&&9!=a&&(48>a||57<a))return!1}function validaTelefono(a){return/^(\+34|0034|34)?[6|7][0-9]{8}$/.test(a)&&9<=a.length&&13>=a.length?!0:!1}function validaCPostal(a){if(5!=a.length||!/(^\d{5}$)/.test(a))return!1;a=a.substring(0,2);numcp=parseInt(a,10);if(1>parseInt(numcp)||52<parseInt(numcp))return!1;var b=document.getElementById("datos_personales");return a!=b.hprovincia.value?!1:!0}
function validaSoloCPostal(a){if(5!=a.length||!/(^\d{5}$)/.test(a))return!1;a=parseInt(a.substring(0,2),10);return!(1>a||52<a)}function obtenerDigito(a){valores=[1,2,4,8,5,10,9,7,3,6];for(var b=control=0;9>=b;b++)control+=parseInt(a.charAt(b))*valores[b];control=11-control%11;11==control?control=0:10==control&&(control=1);return control}
function validaTarjeta(a,b,c,d,e,g){if("1"==a)return!0;a=/(^\d{16}$)/;var h=/(^\d{3,4}$)/,m=ValidarTJ(c);return void 0!==b&&a.test(c)&&h.test(d)&&m?validaFecha(e,g):!1}function ValidarTJ(a){a=a.toString();for(var b=a.length,c,d=0,e=0;e<b;e+=2)c=2*parseInt(a.charAt(e)),9<c&&(c=c.toString(),c=parseInt(c.charAt(0))+parseInt(c.charAt(1))),d+=c;for(e=1;e<b;e+=2)d+=parseInt(a.charAt(e));return 0==d%10?!0:!1}
function validaFecha(a,b){var c=new Date,d=c.getMonth()+1;c=c.getFullYear();if(c>a)return!1;if(c<a)return!0;if(c==a)return d<=b}
function validaIBAN(a){var b;var c=a.replace(/ /g,"").toUpperCase();a="";var d=!0;var e="";countrycode=c.substring(0,2);if(!RegExp("^ES\\d{2}\\d{20}$","i").test(c))return!1;c=c.substring(4,c.length)+c.substring(0,4);for(b=0;b<c.length;b++){var g=c.charAt(b);"0"!==g&&(d=!1);d||(a+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(g))}for(d=0;d<a.length;d++)c=a.charAt(d),e=""+e+c,e%=97;return 1===e}var checkH=!1,checkM=!1;
function copiaDatosATomador(a){a?$("#fstomador").show("blind",{},300):$("#fstomador").hide("blind",{},300)}function hayTomador(a){"Si"==a?jQuery("#copiadatos").val(!0):jQuery("#copiadatos").val(!1)}
function copiaDatosTitular(a){jQuery("#fspersonales :text").keyup(function(){a.nombretom.value=a.nos1.value;a.ape1tom.value=a.ape1s1.value;a.ape2tom.value=a.ape2s1.value;a.dnitom.value=a.nif1.value});6==$("#parentom option").length&&appendOptionLast(6);a.nombretom.value=a.nos1.value;a.ape1tom.value=a.ape1s1.value;a.ape2tom.value=a.ape2s1.value;a.dnitom.value=a.nif1.value;fecha=document.getElementById("fna1").innerHTML.split("/");a.dia.value=fecha[0];a.mes.value=fecha[1];a.anyo.value=fecha[2];if("Hombre"==
document.getElementById("genero1").innerHTML||"Mujer"==document.getElementById("genero1").innerHTML)"Hombre"==document.getElementById("genero1").innerHTML?checkH=a.hombretom.checked=!0:checkM=a.mujertom.checked=!0;jQuery("#parentom").val("T")}
function limpiaFormTomador(a){removeOptionLast();a.nombretom.value="";a.ape1tom.value="";a.ape2tom.value="";a.dnitom.value="";a.generotom[0].disabled=!1;a.generotom[0].checked=!1;a.generotom[1].disabled=!1;a.generotom[1].checked=!1;a.dia.value="";a.mes.value="";a.anyo.value="";jQuery("#fspersonales :text").unbind("keyup");jQuery("#parentom").val("P")}function showLayerLoading(){jQuery("#envuelve_layer_errores").show()}
function esMenorEdad(a){mayor=!0;f=dateFormToString(a).split("/");fecha=new Date(f[2],f[1]-1,f[0]);now=new Date;anyo=31536E6;now.setHours(0);now.setMinutes(0);18.01>parseFloat((now.getTime()-fecha.getTime())/anyo)&&(mayor=!1);return mayor}function appendOptionLast(a){a=document.createElement("option");a.text="Titular";a.value="T";var b=document.getElementById("parentom");try{b.add(a,null)}catch(c){b.add(a)}}
function removeOptionLast(){var a=document.getElementById("parentom");0<a.length&&a.remove(a.length-1)}function muestraForm(a){0<a?jQuery("#cont_form_empresas_auton").show():jQuery("#cont_form_empresas_auton").hide()}
var documentTypesValidationFeature=function(){var a={},b=function(){return{id:"DNI",validate:function(d){if(0<d.length)if(letradni=d.charAt(d.length-1),numdni=d.substring(0,d.length-1),isNaN(letradni)){if(cadena="TRWAGMYFPDXBNJZSQVHLCKET",posicion=numdni%23,letra=cadena.substring(posicion,posicion+1),letra!=letradni.toUpperCase())return!1}else return!1;return!0}}}(),c=function(){return{id:"NIE",validate:function(d){if(9==d.length){letranie1=d.charAt(0);letranie2=d.charAt(d.length-1);if(isNaN(letranie1)&&
isNaN(letranie2)){var e=letranie1;numletra="X"==e.toUpperCase()?"0":"Y"==e.toUpperCase()?"1":"Z"==e.toUpperCase()?"2":"#";if("#"==numletra)return!1;numnie=parseInt(numletra+d.substring(1,d.length-1));cadena="TRWAGMYFPDXBNJZSQVHLCKET";posicion=numnie%23;letra=cadena.substring(posicion,posicion+1);if(letra!=letranie2.toUpperCase())return!1}else return!1;return!0}return!1}}}();a[b.id]=b;a[c.id]=c;return{validate:function(d,e){return a.hasOwnProperty(d)?a[d].validate(e):!1}}}();
function getTypeOfDocumentSelected(a){a=$("#typeOfDocument-"+a);return 0<a.length?a.val():""}
var codPromocionalValidationFeature=function(){function a(d){d=$("#"+d);return 0<d.length?d.val():""}var b={},c=function(){var d={1:8,2:2,3:7,4:0,5:5,6:6,7:3,8:1,9:9,10:4},e=[0,2,4,6,8,1,3,5,7,9];return{id:"1",validate:function(g){var h=a(g+"-value")+a(g+"-digit");g=$("#"+g);0<g.length&&g.val(h);if(0==h.length)return!0;if(10==h.length&&/^\d+$/.test(h)){g=h.substring(0,8);for(var m=h.substring(8,9),l=0,k=0;k<g.length;k++)l+=d[parseInt(g.substr(k,1))+1];for(g=l.toString();1<g.length;){for(k=l=0;k<g.length;k++)l+=
parseInt(g.substr(k,1));g=l.toString()}if(g=m===g)if(g=0,m=!1,l=String("6015470"+h).replace(/[^\d]/g,""),0==l.length)g=!1;else{for(k=l.length-1;0<=k;--k)h=parseInt(l.charAt(k),10),g+=(m=!m)?h:e[h];g=0==g%10}return g}return!1}}}();b[c.id]=c;return{validate:function(d){var e=a("codProm-"+d);return b.hasOwnProperty(e)?b[e].validate(d):!1}}}();
function repartirEnInputs(a,b,c){a.preventDefault();b.val();var d=b.get(0).selectionStart,e=b.get(0).selectionEnd;if("paste"==a.type){var g=a.originalEvent.clipboardData.getData("text").trim().replace(/[^a-zA-Z 0-9]+/g,""),h=b.val();a=b.attr("maxLength");d=h.substring(0,d)+g+h.substring(e,h.length);d.length>a&&(c.val(d.substring(a,d.length)),d=d.substring(0,a));b.val(d);c.focus()}else a=b.attr("maxLength"),d=b.val(),d.length>a&&(b.val(d.substring(0,a)),c.val(d.substring(a,d.length)).trigger("change")),
b.val().length==b.attr("maxLength")&&c.focus()};
var Base64={code:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x3d",encode:function(a,b){var c=[],g="",e=Base64.code;b=("undefined"==typeof b?0:b)?Utf8.encode(a):a;a=b.length%3;if(0<a)for(;3>a++;)g+="\x3d",b+="\x00";for(a=0;a<b.length;a+=3){var d=b.charCodeAt(a);var f=b.charCodeAt(a+1);var h=b.charCodeAt(a+2);var k=d<<16|f<<8|h;d=k>>18&63;f=k>>12&63;h=k>>6&63;k&=63;c[a/3]=e.charAt(d)+e.charAt(f)+e.charAt(h)+e.charAt(k)}c=c.join("");return c=c.slice(0,c.length-g.length)+g},decode:function(a,
b){b="undefined"==typeof b?!1:b;var c=[],g=Base64.code;var e=b?Utf8.decode(a):a;for(var d=0;d<e.length;d+=4){var f=g.indexOf(e.charAt(d));var h=g.indexOf(e.charAt(d+1));a=g.indexOf(e.charAt(d+2));var k=g.indexOf(e.charAt(d+3));var l=f<<18|h<<12|a<<6|k;f=l>>>16&255;h=l>>>8&255;l&=255;c[d/4]=String.fromCharCode(f,h,l);64==k&&(c[d/4]=String.fromCharCode(f,h));64==a&&(c[d/4]=String.fromCharCode(f))}c=c.join("");return b?Utf8.decode(c):c}};
