code: function safeAdd(x, y) {
      var lsw = (x & 0xFFFF) + (y & 0xFFFF);
      var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
      return (msw << 16) | (lsw & 0xFFFF)
  }
docs: /*
  JavaScript MD5
  https://github.com/blueimp/JavaScript-MD5
  
  Copyright 2011, Sebastian Tschan
  https://blueimp.net
  
  Licensed under the MIT license:
  https://opensource.org/licenses/MIT
  
  Based on
  A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
  Digest Algorithm, as defined in RFC 1321.
  Version 2.2 Copyright (C) Paul Johnston 1999 - 2009
  Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
  Distributed under the BSD License
  See http://pajhome.org.uk/crypt/md5 for more info.
   /*
  Add integers, wrapping at 2^32. This uses 16-bit operations internally
  to work around bugs in some JS interpreters.