code: public static long decodeBase32(String hash) {
          boolean isNegative = hash.startsWith("-");
          int startIndex = isNegative ? 1 : 0;
          long base = 1;
          long result = 0;
          for (int i = hash.length() - 1; i >= startIndex; i--) {
              int j = getCharIndex(hash.charAt(i));
              result = result + base * j;
              base = base * 32;
          }
          if (isNegative)
              result *= -1;
          return result;
      }
docs: Returns the conversion of a base32 geohash to a long.
  
  @param hash
  geohash as a string
  @return long representation of hash