func (p *PathManager) AddPaths(paths []string) {
	p.l.Lock()
	defer p.l.Unlock()
	txn := p.paths.Txn()
	for _, prefix := range paths {
		if len(prefix) == 0 {
			continue
		}
		var exception bool
		if strings.HasPrefix(prefix, "!") {
			prefix = strings.TrimPrefix(prefix, "!")
			exception = true
		}
		txn.Insert([]byte(strings.TrimSuffix(prefix, "*")), exception)
	}
	p.paths = txn.Commit()
}
AddPaths adds path to the paths list
package pathmanager
import (
	"strings"
	"sync"
	iradix "github.com/hashicorp/go-immutable-radix"
)
type PathManager struct {
	l     sync.RWMutex
	paths *iradix.Tree
}
func New() *PathManager {
	return &PathManager{
		paths: iradix.New(),
	}
}