(function(){function h(d){(d.pkcs5=d.pkcs5||{}).pbkdf2=function(b,c,p,e,a){if("undefined"===typeof a||null===a)a=d.md.sha1.create();var k=a.digestLength;if(e>4294967295*k)throw{message:"Derived key is too long."};var g=Math.ceil(e/k);e-=(g-1)*k;var f=d.hmac.create();f.start(a,b);b="";for(var l,m=1;m<=g;++m){f.update(c);f.update(d.util.int32ToBytes(m));a=l=f.digest().getBytes();for(var h=2;h<=p;++h)f.start(null,null),f.update(l),l=f.digest().getBytes(),a=d.util.xorBytes(a,l,k);b+=m