| 12345678910111213141516171819202122232425262728293031323334353637383940 | package coreimport (	"encoding/base64")type UserSet struct {	validUserIds   []ID	userIdsAskHash map[string]int}func NewUserSet() *UserSet {	vuSet := new(UserSet)	vuSet.validUserIds = make([]ID, 0, 16)	vuSet.userIdsAskHash = make(map[string]int)	return vuSet}func hashBytesToString(hash []byte) string {	return base64.StdEncoding.EncodeToString(hash)}func (us *UserSet) AddUser(user User) error {	id := user.Id	us.validUserIds = append(us.validUserIds, id)	idBase64 := hashBytesToString(id.Hash([]byte("ASK")))	us.userIdsAskHash[idBase64] = len(us.validUserIds) - 1	return nil}func (us UserSet) IsValidUserId(askHash []byte) (*ID, bool) {	askBase64 := hashBytesToString(askHash)	idIndex, found := us.userIdsAskHash[askBase64]	if found {		return &us.validUserIds[idIndex], true	}	return nil, false}
 |