This contains a couple of changes that I missed elsewhere, sorry about that!
String.prototype.substr()
String.prototype.substring()
license