code: func ValidatePath(p string) error {
  	chunks := strings.Split(p, "/")
  	if len(chunks) < 3 || chunks[0] != "" {
  		return fmt.Errorf("a Google Storage path must have format /<bucket>/<path>")
  	}
  	for i := 1; i < len(chunks); i++ {
  		if chunks[i] == "" {
  			return fmt.Errorf("a Google Storage path components must not be empty")
  		}
  	}
  	for _, r := range p {
  		if r > unicode.MaxASCII || !unicode.IsPrint(r) {
  			return fmt.Errorf("forbidden symbol %q in the google storage path", r)
  		}
  	}
  	return nil
  }
docs: // ValidatePath returns an error if p doesn't look like "/bucket/path".
  //
  // Additionally it verifies p is using only printable ASCII characters, since
  // all Google Storage paths used by CIPD are ASCII (assembled from constants
  // fetched from validated configs and hex digests, there are no user-supplied
  // path elements). We want to assert no fancy unicode characters sneak in.