global_zi=100;
global_y=0;

function iframe_autosize()
	{
	if (this.document.height)
		{var iframeElement = parent.document.getElementById(this.name);}
	else if (this.document.all) 
		{var iframeElement=parent.document.all[this.name];}
	else
		{return;}
	var _w_resize=false;
	var _h_resize=false;
	if(iframeElement.lang)
		{
		tab1=iframeElement.lang.split(";");
		for(z=0;z<tab1.length;z++)
			{
			if(tab1[z])
				{
				tab2=tab1[z].split("=");
				for(y=0;y<tab2.length;y++)
					{
					if(tab2[0]=="_w_resize")
						{var _w_resize=tab2[1];}
					if(tab2[0]=="_h_resize")
						{var _h_resize=tab2[1];}
					}
				}
			}
		}
	if(_w_resize)
		{
		if (this.document.width)
			{iframeElement.style.width=this.document.width+"px";}
		else if (this.document.all) 
			{
			if(this.document.compatMode && this.document.compatMode!="BackCompat") 
				{iframeElement.style.width=this.document.documentElement.scrollWidth+5+"px";}
			else 
				{iframeElement.style.width=this.document.body.scrollWidth+5+"px";}
			}
		}	
	if(_h_resize)
		{
		if (this.document.height)
			{iframeElement.style.height=this.document.height +"px";}
		else if (document.all) 
			{
			if(this.document.compatMode && this.document.compatMode!="BackCompat")  
				{iframeElement.style.height=this.document.documentElement.scrollHeight+5+"px";}
			else 
				{iframeElement.style.height=this.document.body.scrollHeight+5+"px";}
			}
		}		
	}

	
function div_apply_dimensions(element,l,h)
	{
	if(l==undefined || l=="")
		{h="auto";}
	if(h==undefined || h=="")
		{h="auto";}
	element.setStyle("width",l);
	element.setStyle("height",h);
	}
	
function div_apply_coordinates(element,x,y,bool_mouse_xy)
	{
	element.setStyle("position","absolute");
	ar_element=element.getComputedSize();
	if(bool_mouse_xy==undefined || bool_mouse_xy=="")
		{bool_mouse_xy=false;}
	if(bool_mouse_xy)
		{
		e=this.evt;
		source=this.evtsrc;
		while(source.parentNode)
			{source=source.parentNode;}
		var tmpX = 0;
		var tmpY = 0;
		tmpw=getDocumentWidth();
		tmph=getDocumentHeight();
		if(e.pageX)
			{
			tmpX = e.pageX;
			tmpY = e.pageY ;
			}
		else if(e.clientX)
			{
			if(document.documentElement)
				{
				//IE 6+ strict mode
				tmpX = e.clientX + document.documentElement.scrollLeft;
				tmpY = e.clientY + document.documentElement.scrollTop;
				}
			else if(document.body)
				{
				//Other IE
				tmpX = e.clientX + document.body.scrollLeft;
				tmpY = e.clientY + document.body.scrollTop;
				}
			}
		else
			{set_eventfalse();return false;}
			
		if(element.style.width && element.style.width!="auto")
			{
			if(source!=this)
				{
				wi=Number(element.style.width.substr(0,(element.style.width.length-2)));
				if(tmpX>wi)
					{tmpX-=(wi+20);}
				else
					{tmpX+=15;}
				if(tmpX+wi>tmpw)
					{tmpX=tmpw+20-wi;}
				if(tmpX<0)
					{tmpX=40;}	
				}
			}
		if(element.style.height && element.style.height!="auto")
			{
			if(source!=this)
				{
				he=Number(element.style.height.substr(0,(element.style.height.length-2)));
				//window.alert(tmpY+"/ H element : "+he+"; H doc :"+tmph);
				if(tmpY>he)
					{tmpY-=(he);}
				else
					{tmpY+=10;}
				
				if(tmpY+he>tmph)
					{tmpY-=(tmpY+he-tmph);}
				if(tmpY<0)
					{tmpY=10;}
				}
			}
		element.setStyle("left", tmpX);
		element.setStyle("top", tmpY);
		return;
		}
	ar_element=element.getComputedSize();
	if(x=="" || x==undefined)
		{
		x=ar_element.computedLeft;
		if(x==1)
			{
			l=ar_element.totalWidth;
			dx=-1*Math.round(l/2);
			element.setStyle("marginLeft",dx);
			element.setStyle("left", "50%");
			ar_element=element.getComputedSize();
			x=ar_element.computedLeft;
			if(x<0)
				{element.setStyle("left",0);}
			}
		}
	else
		{
		element.setStyle("left",x);
		}
		
	if(y=="" || y==undefined)
		{
		y=ar_element.computedTop;
		if(y==1)
			{
			h=ar_element.totalHeight;
			dy=-1*Math.round(h/2);
			element.setStyle("marginTop",dy);
			element.setStyle("top", "50%");
			ar_element=element.getComputedSize();
			y=ar_element.computedTop;
			if(y<0)
				{element.setStyle("top",0);}
			}
		}
	else
		{
		element.setStyle("top",y);
		}
	}
	
function show_layer(element)
	{
	if(!$chk(element._backup_dim))
		{
		element._backup_dim=true;
		element._width=element.getStyle("width").toInt();
		element._height=element.getStyle("height").toInt();
		}
	element.setStyle("z-index", global_zi);
	global_zi++;
	var fx_layer_show = new Fx.Morph(element, {duration: 500, transition: Fx.Transitions.Back.easeIn});
	if($chk(element._backup_pos))
		{fx_layer_show.start({width: [element._width/3, element._width], height: [element._height/3, element._height], top: element._y, left: element._x, opacity:[0.25,1]});}
	else
		{fx_layer_show.start({width: [element._width/3, element._width], height: [element._height/3, element._height], opacity:[0.25,1]});}
	}

		
function reduce_layer(element)
	{
	//new_place=window.top.document.getElementById("d_console");
	//new_place=$(new_place);
			
	if(!$chk(element._backup_pos))
		{
		element._backup_pos=true;
		element._y_red=global_y;
		global_y+=20;
		element._x=element.getPosition().x;
		element._y=element.getPosition().y;
		}
	if($chk("reduce_"+element.hash_id))
		{
		element_r=$("reduce_"+element.hash_id);
		element_r.removeEvent('click',reduce_fn);
		element_r.addEvent('click', restore_fn=function(){restore_layer(element);});
		}

	var fx_layer_reduce = new Fx.Morph(element, {duration: 700, transition: Fx.Transitions.Back.easeOut});
	fx_layer_reduce.start({width:32, height: 16, top: element._y_red, left: 0, marginTop: 0, marginLeft: 0});
	}

function restore_layer(element)
	{
	if($chk("reduce_"+element.hash_id))
		{
		element_r=$("reduce_"+element.hash_id);
		element_r.removeEvent('click',restore_fn);
		element_r.addEvent('click', reduce_fn=function(){reduce_layer(element);});
		}
	element.setStyle("z-index", global_zi);
	global_zi++;
	var fx_layer_restore = new Fx.Morph(element, {duration: 700, transition: Fx.Transitions.Back.easeIn});
	fx_layer_restore.start({width: element._width, height: element._height, top: element._y, left: element._x});
	}
	
function shut_layer(element)
	{
	element.fade(0);
	}
	
function shut_me()
	{
	var main_layer=parent.document.getElementById(window.frameElement.containerObject);
	main_layer=$(main_layer);
	main_layer.fade(0);
	}
	
function opener_reload()
	{
	if(window.frameElement)
		{if(window.frameElement.openerObject)
			{if(window.frameElement.openerObject.reload)
				{window.frameElement.openerObject.reload();}
			}
		}
	}
	
function chk_layer(target,key,close_bool)
	{
	if(target=="" || target==undefined)
		{target="std_layer";}
		
	var main_layer=document.getElementById(target+"_"+key);
	if(!$chk(main_layer))
		{
		var main_layer  = new Element('div',
			{
			"id" : target+"_"+key,
			"class" : target,
			"opacity" : 0
			});
		main_layer.hash_id=key;
		main_layer.inject($(document.body),'top');
		if(close_bool)
			{
			var shutButtonLayer=new Element('div',
				{
				"id" : "shut_"+key,
				"class" : "std_shut_button",
				"alt" : "Fermer cette fenêtre", 
				"title" : "Fermer cette fenêtre", 
				"events" : {
						"click": function(){shut_layer(main_layer);}
						}
				});
			shutButtonLayer.inject(main_layer);
			var reduceButtonLayer=new Element('div',
				{
				"id" : "reduce_"+key,
				"class" : "std_reduce_button",
				"alt" : "Réduire cette fenêtre", 
				"title" : "Réduire cette fenêtre", 
				"events" : {
						"click": reduce_fn=function(){reduce_layer(main_layer);}
						}
				});
			reduceButtonLayer.inject(main_layer);
			}
		}
	else
		{
		main_layer=$(main_layer);
		}
	return main_layer;
	}

//-------------------------------------------	
function popup(url,name,parameters) 
	{
	largeur=Math.round((screen.availWidth-640)/2);
	hauteur=Math.round((screen.availHeight-480)/2);
	ph="";
	ph+="toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menubar=0";
	ph+=",top="+hauteur+",left="+largeur;
	window.open(url, name, ph); 
	}
	
function adv_popup(url,name,l,h,p)
	{
	largeur=Math.round((screen.availWidth-l)/2);
	hauteur=Math.round((screen.availHeight-h)/2);
	ev=new String();
	if(p!="" && p!=undefined)
		{ev=p+",";}
	ev+="top="+hauteur+",left="+largeur+",width="+l+",height="+h;
	eval(name+"=window.open(url,name,ev);");
	if(eval(name))
		{eval(name+".focus();");}
	}
//-------------------------------------------

function dsp_adv_layer(target,close_bool,l,h,x,y,bool_mouse_xy,bool_draggable)
	{
	_div=chk_layer(target,"",close_bool);
	dsp_layer(_div,x,y,l,h,bool_mouse_xy,bool_draggable);
	}
	
function dsp_layer(_div,x,y,l,h,bool_mouse_xy,bool_draggable)
	{
	div_apply_dimensions(_div,l,h);
	div_apply_coordinates(_div,x,y,bool_mouse_xy);
	_div.fade(1);
	}
//-------------------------------------------

function dsp_adv_imglayer(target,url,close_bool,l,h,x,y,bool_mouse_xy)
	{
	//url="/front/display/display_imglayer.php?_url_image="+url;
	//dsp_adv_framelayer(target,url,close_bool,l,h,x,y,bool_mouse_xy);
	}
	
//-------------------------------------------	

function dsp_std_messagelayer(target,content)
	{
	_div=chk_layer(target,Crypto.MD5(content, { asString: true }),true);
	shut_title="Fermer cette fenêtre";
	dsp_messagelayer(_div,content,15,"","","","");
	}
	
function dsp_adv_messagelayer(target,content,close_bool,l,h,x,y)
	{
	if(close_bool==undefined || close_bool=="")
		{close_bool=true;}
	_div=chk_layer(target,Crypto.MD5(content, { asString: true }),close_bool);
	shut_title="Fermer cette fenêtre";
	dsp_messagelayer(_div,content,15,l,h,x,y);
	}
	
function dsp_messagelayer(_div,content,padding,x,y,l,h)
	{
	if(content.length==0)
		{return;}
	_div.style.padding=padding+"px";
	_div.style.backgroundColor="#FFFFE1";
	for(var i=0;i <content.length;++i)
		{
		if(i)
			{
			var theBR = document.createElement('br');
			_div.appendChild(theBR);
			}
		var text = document.createTextNode(content[i]);
		_div.appendChild(text);
		}
	div_apply_dimensions(_div,l,h);
	div_apply_coordinates(_div,x,y,false);
	show_layer(_div);
	}
	
//-------------------------------------------	
	
function dsp_std_framelayer(target,url)
	{
	_div=chk_layer(target,Crypto.MD5(url, { asString: true }),true);
	if_param="style='border:none;' ";
	shut_title="Fermer cette fenêtre";
	dsp_framelayer(_div,url);
	}
	
function dsp_adv_framelayer(target,url,close_bool,l,h,x,y,bool_mouse_xy,bool_draggable,openerObject)
	{
	_div=chk_layer(target,Crypto.MD5(url, { asString: true }),close_bool);	
	shut_title="Fermer cette fenêtre";
	dsp_framelayer(_div,url,x,y,l,h,bool_mouse_xy,bool_draggable,openerObject);
	}
	
function dsp_framelayer(_div,url,x,y,l,h,bool_mouse_xy,bool_draggable,openerObject)
	{
	var main_iframe=document.getElementById("iframe_"+_div.id);
	if(!$chk(main_iframe))
		{
		div_apply_dimensions(_div,l,h);
		div_apply_coordinates(_div,x,y,bool_mouse_xy);
		var main_iframe  = new Element('iframe', 
			{
			"id" : "iframe_"+_div.id,
			"name" : "iframe_"+_div.id,
			"frameBorder" : 0, 
			"src" : url,
			"events" : {
						"load": iframe_load=function()
							{
							main_iframe.width="100%";
							main_iframe.height="100%";
							show_layer(_div);
							main_iframe.removeEvent("load",iframe_load);
							}
					}
			});
		main_iframe.setStyle("border", 0);
		main_iframe.containerObject=_div.id;
		main_iframe.openerObject=openerObject;
		main_iframe.inject(_div);
		}
	else
		{
		_div.setStyle("opacity", 0);
		main_iframe.src=url;
		//main_iframe.width="100%";
		//main_iframe.height="100%";
		show_layer(_div);
		}
	
	//if(bool_draggable)
	//	{new Draggable(_div);}
	}
	
function ajax_open(_url,_func,ct)
	{
	if(!ct)
		{ct="application/x-www-form-urlencoded;";}
	var xhr_object = null; 
	if(window.XMLHttpRequest)
		{xhr_object = new XMLHttpRequest();}
	else if(window.ActiveXObject)
		{xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); }
	else
		{window.alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest."); }
	xhr_object.open("GET",_url,true); 
	xhr_object.setRequestHeader("Content-type", ct);
	xhr_object.send(null);
	xhr_object.onreadystatechange = function()
		{ 
		if(xhr_object.readyState == 4) 
			{
			if(xhr_object.responseText)
				{
				if(_func)
					{_func(xhr_object.responseText);}
				} 
			else
				{
				// Pas de réponse
				}
			}
		else
			{
			//window.alert(xhr_object.readyState);
			}
		}
	}

function ajax_open_post(_url,_func,_var,ct)
	{
	if(!ct)
		{ct="application/x-www-form-urlencoded;";}
	var xhr_object = null; 
	if(window.XMLHttpRequest)
		{xhr_object = new XMLHttpRequest();}
	else if(window.ActiveXObject)
		{xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); }
	else
		{window.alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest."); }
	xhr_object.open("POST",_url,true); 
	xhr_object.onreadystatechange = function()
		{
		if(xhr_object.readyState == 4) 
			{
			if(xhr_object.responseText)
				{
				if(_func)
					{_func(xhr_object.responseText);}
				} 
			else
				{
				//window.alert("null rep");
				// Pas de réponse
				}
			}
		else
			{
			//window.alert(xhr_object.readyState);
			}
		}
	xhr_object.setRequestHeader("Content-type", ct);
	xhr_object.send("_arg="+_var);
	}
	
function getWindowWidth()
	{
	var windowHeight=0;
	if (typeof(window.innerWidth)=='number')
		{windowWidth=window.innerWidth;}
	else 
		{
		if(document.documentElement && document.documentElement.clientWidth)
			{windowWidth = document.documentElement.clientWidth;}
		else 
			{
			if(document.body&&document.body.clientWidth)
				{windowWidth=document.body.clientWidth;}
			}
		}
	return windowWidth;
	}
	
function getWindowHeight()
	{
	var windowHeight=0;
	if (typeof(window.innerHeight)=='number')
		{windowHeight=window.innerHeight;}
	else 
		{
		if(document.documentElement && document.documentElement.clientHeight)
			{windowHeight = document.documentElement.clientHeight;}
		else 
			{
			if(document.body&&document.body.clientHeight)
				{windowHeight=document.body.clientHeight;}
			}
		}
	return windowHeight;
	}

function getDocumentWidth()
	{
	docw=0;
	if(this.document.width)
		{docw=this.document.width;}
	else if (this.document.all) 
		{
		if(this.document.compatMode && this.document.compatMode!="BackCompat") 
			{docw=this.document.documentElement.scrollWidth+5;}
		else 
			{docw=this.document.body.scrollWidth+5;}
		}
	return(docw);
	}
function getDocumentHeight()
	{
	doch=0;
	if(this.document.height)
		{doch=this.document.height;}
	else if (this.document.all) 
		{
		if(this.document.compatMode && this.document.compatMode!="BackCompat") 
			{doch=this.document.documentElement.scrollHeight+5;}
		else 
			{doch=this.document.body.scrollHeight+5;}
		}
	return(doch);
	}
	
/*
 * Crypto-JS v2.0.0
 * http://code.google.com/p/crypto-js/
 * Copyright (c) 2009, Jeff Mott. All rights reserved.
 * http://code.google.com/p/crypto-js/wiki/License
 */
(function(){var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var d=window.Crypto={};var a=d.util={rotl:function(h,g){return(h<<g)|(h>>>(32-g))},rotr:function(h,g){return(h<<(32-g))|(h>>>g)},endian:function(h){if(h.constructor==Number){return a.rotl(h,8)&16711935|a.rotl(h,24)&4278255360}for(var g=0;g<h.length;g++){h[g]=a.endian(h[g])}return h},randomBytes:function(h){for(var g=[];h>0;h--){g.push(Math.floor(Math.random()*256))}return g},bytesToWords:function(h){for(var k=[],j=0,g=0;j<h.length;j++,g+=8){k[g>>>5]|=h[j]<<(24-g%32)}return k},wordsToBytes:function(i){for(var h=[],g=0;g<i.length*32;g+=8){h.push((i[g>>>5]>>>(24-g%32))&255)}return h},bytesToHex:function(g){for(var j=[],h=0;h<g.length;h++){j.push((g[h]>>>4).toString(16));j.push((g[h]&15).toString(16))}return j.join("")},hexToBytes:function(h){for(var g=[],i=0;i<h.length;i+=2){g.push(parseInt(h.substr(i,2),16))}return g},bytesToBase64:function(h){if(typeof btoa=="function"){return btoa(e.bytesToString(h))}for(var g=[],l=0;l<h.length;l+=3){var m=(h[l]<<16)|(h[l+1]<<8)|h[l+2];for(var k=0;k<4;k++){if(l*8+k*6<=h.length*8){g.push(c.charAt((m>>>6*(3-k))&63))}else{g.push("=")}}}return g.join("")},base64ToBytes:function(h){if(typeof atob=="function"){return e.stringToBytes(atob(h))}h=h.replace(/[^A-Z0-9+\/]/ig,"");for(var g=[],j=0,k=0;j<h.length;k=++j%4){if(k==0){continue}g.push(((c.indexOf(h.charAt(j-1))&(Math.pow(2,-2*k+8)-1))<<(k*2))|(c.indexOf(h.charAt(j))>>>(6-k*2)))}return g}};d.mode={};var b=d.charenc={};var f=b.UTF8={stringToBytes:function(g){return e.stringToBytes(unescape(encodeURIComponent(g)))},bytesToString:function(g){return decodeURIComponent(escape(e.bytesToString(g)))}};var e=b.Binary={stringToBytes:function(j){for(var g=[],h=0;h<j.length;h++){g.push(j.charCodeAt(h))}return g},bytesToString:function(g){for(var j=[],h=0;h<g.length;h++){j.push(String.fromCharCode(g[h]))}return j.join("")}}})();(function(){var f=Crypto,a=f.util,b=f.charenc,e=b.UTF8,d=b.Binary;var c=f.MD5=function(i,g){var h=a.wordsToBytes(c._md5(i));return g&&g.asBytes?h:g&&g.asString?d.bytesToString(h):a.bytesToHex(h)};c._md5=function(y){if(y.constructor==String){y=e.stringToBytes(y)}var k=a.bytesToWords(y),n=y.length*8,v=1732584193,u=-271733879,t=-1732584194,s=271733878;for(var p=0;p<k.length;p++){k[p]=((k[p]<<8)|(k[p]>>>24))&16711935|((k[p]<<24)|(k[p]>>>8))&4278255360}k[n>>>5]|=128<<(n%32);k[(((n+64)>>>9)<<4)+14]=n;var q=c._ff,h=c._gg,w=c._hh,o=c._ii;for(var p=0;p<k.length;p+=16){var g=v,r=u,j=t,x=s;v=q(v,u,t,s,k[p+0],7,-680876936);s=q(s,v,u,t,k[p+1],12,-389564586);t=q(t,s,v,u,k[p+2],17,606105819);u=q(u,t,s,v,k[p+3],22,-1044525330);v=q(v,u,t,s,k[p+4],7,-176418897);s=q(s,v,u,t,k[p+5],12,1200080426);t=q(t,s,v,u,k[p+6],17,-1473231341);u=q(u,t,s,v,k[p+7],22,-45705983);v=q(v,u,t,s,k[p+8],7,1770035416);s=q(s,v,u,t,k[p+9],12,-1958414417);t=q(t,s,v,u,k[p+10],17,-42063);u=q(u,t,s,v,k[p+11],22,-1990404162);v=q(v,u,t,s,k[p+12],7,1804603682);s=q(s,v,u,t,k[p+13],12,-40341101);t=q(t,s,v,u,k[p+14],17,-1502002290);u=q(u,t,s,v,k[p+15],22,1236535329);v=h(v,u,t,s,k[p+1],5,-165796510);s=h(s,v,u,t,k[p+6],9,-1069501632);t=h(t,s,v,u,k[p+11],14,643717713);u=h(u,t,s,v,k[p+0],20,-373897302);v=h(v,u,t,s,k[p+5],5,-701558691);s=h(s,v,u,t,k[p+10],9,38016083);t=h(t,s,v,u,k[p+15],14,-660478335);u=h(u,t,s,v,k[p+4],20,-405537848);v=h(v,u,t,s,k[p+9],5,568446438);s=h(s,v,u,t,k[p+14],9,-1019803690);t=h(t,s,v,u,k[p+3],14,-187363961);u=h(u,t,s,v,k[p+8],20,1163531501);v=h(v,u,t,s,k[p+13],5,-1444681467);s=h(s,v,u,t,k[p+2],9,-51403784);t=h(t,s,v,u,k[p+7],14,1735328473);u=h(u,t,s,v,k[p+12],20,-1926607734);v=w(v,u,t,s,k[p+5],4,-378558);s=w(s,v,u,t,k[p+8],11,-2022574463);t=w(t,s,v,u,k[p+11],16,1839030562);u=w(u,t,s,v,k[p+14],23,-35309556);v=w(v,u,t,s,k[p+1],4,-1530992060);s=w(s,v,u,t,k[p+4],11,1272893353);t=w(t,s,v,u,k[p+7],16,-155497632);u=w(u,t,s,v,k[p+10],23,-1094730640);v=w(v,u,t,s,k[p+13],4,681279174);s=w(s,v,u,t,k[p+0],11,-358537222);t=w(t,s,v,u,k[p+3],16,-722521979);u=w(u,t,s,v,k[p+6],23,76029189);v=w(v,u,t,s,k[p+9],4,-640364487);s=w(s,v,u,t,k[p+12],11,-421815835);t=w(t,s,v,u,k[p+15],16,530742520);u=w(u,t,s,v,k[p+2],23,-995338651);v=o(v,u,t,s,k[p+0],6,-198630844);s=o(s,v,u,t,k[p+7],10,1126891415);t=o(t,s,v,u,k[p+14],15,-1416354905);u=o(u,t,s,v,k[p+5],21,-57434055);v=o(v,u,t,s,k[p+12],6,1700485571);s=o(s,v,u,t,k[p+3],10,-1894986606);t=o(t,s,v,u,k[p+10],15,-1051523);u=o(u,t,s,v,k[p+1],21,-2054922799);v=o(v,u,t,s,k[p+8],6,1873313359);s=o(s,v,u,t,k[p+15],10,-30611744);t=o(t,s,v,u,k[p+6],15,-1560198380);u=o(u,t,s,v,k[p+13],21,1309151649);v=o(v,u,t,s,k[p+4],6,-145523070);s=o(s,v,u,t,k[p+11],10,-1120210379);t=o(t,s,v,u,k[p+2],15,718787259);u=o(u,t,s,v,k[p+9],21,-343485551);v=(v+g)>>>0;u=(u+r)>>>0;t=(t+j)>>>0;s=(s+x)>>>0}return a.endian([v,u,t,s])};c._ff=function(i,h,o,l,g,k,j){var m=i+(h&o|~h&l)+(g>>>0)+j;return((m<<k)|(m>>>(32-k)))+h};c._gg=function(i,h,o,l,g,k,j){var m=i+(h&l|o&~l)+(g>>>0)+j;return((m<<k)|(m>>>(32-k)))+h};c._hh=function(i,h,o,l,g,k,j){var m=i+(h^o^l)+(g>>>0)+j;return((m<<k)|(m>>>(32-k)))+h};c._ii=function(i,h,o,l,g,k,j){var m=i+(o^(h|~l))+(g>>>0)+j;return((m<<k)|(m>>>(32-k)))+h};c._blocksize=16})();

