extended-kmp