int hash(String name, int t) { for (int o = 0; o < name.length; o++) { t = ((t << 5) - t + name.codeUnitAt(o)).toSigned(32); } return t; }