https://hkn.eecs.berkeley.edu/~dyoo/python/ahocorasick/