From 7eb21f9e3ff113780fa1fb9358a8f9ea30ccbf62 Mon Sep 17 00:00:00 2001 From: Dmitry Kvashnin Date: Wed, 27 Mar 2024 15:35:53 +0500 Subject: [PATCH 1/2] commit --- ProfanityFilter.Tests.Unit/AllowListTests.cs | 3 +- .../ProfanityBaseTests.cs | 29 +- .../ProfanityFilter.Tests.Unit.csproj | 2 +- ProfanityFilter.Tests.Unit/ProfanityTests.cs | 4 +- ProfanityFilter/ProfanityFilter/AllowList.cs | 32 +- .../ProfanityFilter/ProfanityBase.cs | 64 +- .../ProfanityFilter/ProfanityFilter.cs | 171 +- .../ProfanityFilter/ProfanityFilter.csproj | 2 +- .../ProfanityFilter/ProfanityList.cs | 3335 +++++++++-------- 9 files changed, 1812 insertions(+), 1830 deletions(-) diff --git a/ProfanityFilter.Tests.Unit/AllowListTests.cs b/ProfanityFilter.Tests.Unit/AllowListTests.cs index 28a277b..f785328 100644 --- a/ProfanityFilter.Tests.Unit/AllowListTests.cs +++ b/ProfanityFilter.Tests.Unit/AllowListTests.cs @@ -18,9 +18,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -using System; +using System; using Microsoft.VisualStudio.TestTools.UnitTesting; -using ProfanityFilter; using ProfanityFilter.Interfaces; namespace ProfanityFilter.Tests.Unit diff --git a/ProfanityFilter.Tests.Unit/ProfanityBaseTests.cs b/ProfanityFilter.Tests.Unit/ProfanityBaseTests.cs index f0d500c..df31bfe 100644 --- a/ProfanityFilter.Tests.Unit/ProfanityBaseTests.cs +++ b/ProfanityFilter.Tests.Unit/ProfanityBaseTests.cs @@ -42,7 +42,7 @@ public void ConstructorOverridesProfanityListWithArray() { "fuck", "shit", - "bollocks" + "bollocks" }; IProfanityFilter filter = new ProfanityFilter(_wordList); @@ -62,9 +62,9 @@ public void ConstructorOverridesProfanityList() { string[] _wordList = { - "fuck", - "shit", - "bollocks" + "fuck", + "shit", + "bollocks" }; IProfanityFilter filter = new ProfanityFilter(new List(_wordList)); @@ -85,7 +85,7 @@ public void AddProfanityThrowsArgumentNullExceptionForNullProfanity() public void AddProfanityThrowsArgumentNullExceptionForEmptyProfanityString() { var filter = new ProfanityBase(); - filter.AddProfanity((string)string.Empty); + filter.AddProfanity(string.Empty); } [TestMethod] @@ -111,9 +111,9 @@ public void AddProfanityAddsToProfanityArray() { string[] _wordList = { - "fuck", - "shit", - "bollocks" + "fuck", + "shit", + "bollocks" }; var filter = new ProfanityBase(); @@ -131,9 +131,9 @@ public void AddProfanityAddsToProfanityList() { string[] _wordList = { - "fuck", - "shit", - "bollocks" + "fuck", + "shit", + "bollocks" }; var filter = new ProfanityBase(); @@ -150,7 +150,7 @@ public void AddProfanityAddsToProfanityList() public void ReturnCountForDetaultProfanityList() { var filter = new ProfanityBase(); - int count = filter.Count; + var count = filter.Count; Assert.AreEqual(count, 1615); } @@ -214,7 +214,6 @@ public void RemoveDeletesAProfanityAndReturnsFalseIfProfanityDoesntExist() Assert.AreEqual(1615, filter.Count); } - [TestMethod] public void RemoveListDeletesProfanitiesFromPrimaryList() { @@ -222,7 +221,7 @@ public void RemoveListDeletesProfanitiesFromPrimaryList() Assert.AreEqual(1615, filter.Count); - List listOfProfanitiesToRemove = new List + var listOfProfanitiesToRemove = new List { "shit", "fuck", @@ -241,7 +240,7 @@ public void RemoveArrayDeletesProfanitiesFromPrimaryList() Assert.AreEqual(1615, filter.Count); - string []listOfProfanitiesToRemove = new string[] + string[] listOfProfanitiesToRemove = { "shit", "fuck", diff --git a/ProfanityFilter.Tests.Unit/ProfanityFilter.Tests.Unit.csproj b/ProfanityFilter.Tests.Unit/ProfanityFilter.Tests.Unit.csproj index d5a467c..a399d22 100644 --- a/ProfanityFilter.Tests.Unit/ProfanityFilter.Tests.Unit.csproj +++ b/ProfanityFilter.Tests.Unit/ProfanityFilter.Tests.Unit.csproj @@ -1,7 +1,7 @@ - netcoreapp2.2 + net6.0 false 0.1.2 diff --git a/ProfanityFilter.Tests.Unit/ProfanityTests.cs b/ProfanityFilter.Tests.Unit/ProfanityTests.cs index 33c48f2..d754cf1 100644 --- a/ProfanityFilter.Tests.Unit/ProfanityTests.cs +++ b/ProfanityFilter.Tests.Unit/ProfanityTests.cs @@ -104,7 +104,7 @@ public void DetectAllProfanitiesReturnsEmptyListForEmptyInput() } [TestMethod] - public void DetectAllProfanitiesReturnsNulListForEmptyInput() + public void DetectAllProfanitiesReturnsNullListForEmptyInput() { var filter = new ProfanityFilter(); var swearList = filter.DetectAllProfanities(null); @@ -329,7 +329,7 @@ public void CensoredStringReturnsStringWithProfanitiesBleepedOut() filter.AllowList.Add("scunthorpe"); filter.AllowList.Add("penistone"); - var censored = filter.CensorString("I fucking live in Scunthorpe and it is a shit place to live. I would much rather live in penistone you great big cock fuck.", '*'); + var censored = filter.CensorString("Выдать заказ лоху", '*'); var result = "I ******* live in Scunthorpe and it is a **** place to live. I would much rather live in penistone you great big **** ****."; Assert.AreEqual(censored, result); diff --git a/ProfanityFilter/ProfanityFilter/AllowList.cs b/ProfanityFilter/ProfanityFilter/AllowList.cs index b3e1a4a..7f606bd 100644 --- a/ProfanityFilter/ProfanityFilter/AllowList.cs +++ b/ProfanityFilter/ProfanityFilter/AllowList.cs @@ -1,6 +1,6 @@ /* MIT License -Copyright (c) 2019 +Copyright (c) 2019 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -17,6 +17,7 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ + using System; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -27,7 +28,7 @@ namespace ProfanityFilter { public class AllowList : IAllowList { - List _allowList; + private readonly List _allowList; public AllowList() { @@ -52,15 +53,10 @@ public ReadOnlyCollection ToList /// The word that you want to allow list. public void Add(string wordToAllowlist) { - if (string.IsNullOrEmpty(wordToAllowlist)) - { - throw new ArgumentNullException(nameof(wordToAllowlist)); - } + if (string.IsNullOrEmpty(wordToAllowlist)) throw new ArgumentNullException(nameof(wordToAllowlist)); if (!_allowList.Contains(wordToAllowlist.ToLower(CultureInfo.InvariantCulture))) - { _allowList.Add(wordToAllowlist.ToLower(CultureInfo.InvariantCulture)); - } } /// @@ -70,10 +66,7 @@ public void Add(string wordToAllowlist) /// public bool Contains(string wordToCheck) { - if (string.IsNullOrEmpty(wordToCheck)) - { - throw new ArgumentNullException(nameof(wordToCheck)); - } + if (string.IsNullOrEmpty(wordToCheck)) throw new ArgumentNullException(nameof(wordToCheck)); return _allowList.Contains(wordToCheck.ToLower(CultureInfo.InvariantCulture)); } @@ -82,13 +75,7 @@ public bool Contains(string wordToCheck) /// Return the number of items in the allow list. /// /// The number of items in the allow list. - public int Count - { - get - { - return _allowList.Count; - } - } + public int Count => _allowList.Count; /// /// Remove all words from the allow list. @@ -105,12 +92,9 @@ public void Clear() /// True if the word is successfuly removes, False otherwise. public bool Remove(string wordToRemove) { - if (string.IsNullOrEmpty(wordToRemove)) - { - throw new ArgumentNullException(nameof(wordToRemove)); - } + if (string.IsNullOrEmpty(wordToRemove)) throw new ArgumentNullException(nameof(wordToRemove)); return _allowList.Remove(wordToRemove.ToLower(CultureInfo.InvariantCulture)); } } -} +} \ No newline at end of file diff --git a/ProfanityFilter/ProfanityFilter/ProfanityBase.cs b/ProfanityFilter/ProfanityFilter/ProfanityBase.cs index bbce00a..a6a20ab 100644 --- a/ProfanityFilter/ProfanityFilter/ProfanityBase.cs +++ b/ProfanityFilter/ProfanityFilter/ProfanityBase.cs @@ -1,6 +1,6 @@ /* MIT License -Copyright (c) 2019 +Copyright (c) 2019 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -18,7 +18,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -using System; +using System; using System.Collections.Generic; using System.Globalization; @@ -43,10 +43,7 @@ public ProfanityBase() /// Array of words considered profanities. protected ProfanityBase(string[] profanityList) { - if (profanityList == null) - { - throw new ArgumentNullException(nameof(profanityList)); - } + if (profanityList == null) throw new ArgumentNullException(nameof(profanityList)); _profanities = new List(profanityList); } @@ -58,10 +55,7 @@ protected ProfanityBase(string[] profanityList) /// List of words considered profanities. protected ProfanityBase(List profanityList) { - if (profanityList == null) - { - throw new ArgumentNullException(nameof(profanityList)); - } + if (profanityList == null) throw new ArgumentNullException(nameof(profanityList)); _profanities = profanityList; } @@ -72,10 +66,7 @@ protected ProfanityBase(List profanityList) /// The profanity to add. public void AddProfanity(string profanity) { - if (string.IsNullOrEmpty(profanity)) - { - throw new ArgumentNullException(nameof(profanity)); - } + if (string.IsNullOrEmpty(profanity)) throw new ArgumentNullException(nameof(profanity)); _profanities.Add(profanity); } @@ -87,10 +78,7 @@ public void AddProfanity(string profanity) /// The array of profanities to add. public void AddProfanity(string[] profanityList) { - if (profanityList == null) - { - throw new ArgumentNullException(nameof(profanityList)); - } + if (profanityList == null) throw new ArgumentNullException(nameof(profanityList)); _profanities.AddRange(profanityList); } @@ -102,10 +90,7 @@ public void AddProfanity(string[] profanityList) /// The list of profanities to add. public void AddProfanity(List profanityList) { - if (profanityList == null) - { - throw new ArgumentNullException(nameof(profanityList)); - } + if (profanityList == null) throw new ArgumentNullException(nameof(profanityList)); _profanities.AddRange(profanityList); } @@ -117,10 +102,7 @@ public void AddProfanity(List profanityList) /// True of the profanity was removed. False otherwise. public bool RemoveProfanity(string profanity) { - if (string.IsNullOrEmpty(profanity)) - { - throw new ArgumentNullException(nameof(profanity)); - } + if (string.IsNullOrEmpty(profanity)) throw new ArgumentNullException(nameof(profanity)); return _profanities.Remove(profanity.ToLower(CultureInfo.InvariantCulture)); } @@ -132,18 +114,11 @@ public bool RemoveProfanity(string profanity) /// True if the profanities were removed. False otherwise. public bool RemoveProfanity(List profanities) { - if (profanities == null) - { - throw new ArgumentNullException(nameof(profanities)); - } + if (profanities == null) throw new ArgumentNullException(nameof(profanities)); - foreach (string naughtyWord in profanities) - { + foreach (var naughtyWord in profanities) if (!RemoveProfanity(naughtyWord)) - { return false; - } - } return true; } @@ -155,18 +130,11 @@ public bool RemoveProfanity(List profanities) /// True if the profanities were removed. False otherwise. public bool RemoveProfanity(string[] profanities) { - if (profanities == null) - { - throw new ArgumentNullException(nameof(profanities)); - } + if (profanities == null) throw new ArgumentNullException(nameof(profanities)); - foreach (string naughtyWord in profanities) - { + foreach (var naughtyWord in profanities) if (!RemoveProfanity(naughtyWord)) - { return false; - } - } return true; } @@ -182,12 +150,6 @@ public void Clear() /// /// Return the number of profanities in the system. /// - public int Count - { - get - { - return _profanities.Count; - } - } + public int Count => _profanities.Count; } } \ No newline at end of file diff --git a/ProfanityFilter/ProfanityFilter/ProfanityFilter.cs b/ProfanityFilter/ProfanityFilter/ProfanityFilter.cs index 3af0bc6..e3dd753 100644 --- a/ProfanityFilter/ProfanityFilter/ProfanityFilter.cs +++ b/ProfanityFilter/ProfanityFilter/ProfanityFilter.cs @@ -37,7 +37,6 @@ namespace ProfanityFilter /// public class ProfanityFilter : ProfanityBase, IProfanityFilter { - /// /// Default constructor that loads up the default profanity list. /// @@ -51,7 +50,7 @@ public ProfanityFilter() /// profanity list. /// /// Array of words to add into the filter. - public ProfanityFilter(string[] profanityList) : base (profanityList) + public ProfanityFilter(string[] profanityList) : base(profanityList) { AllowList = new AllowList(); } @@ -80,16 +79,10 @@ public ProfanityFilter(List profanityList) : base(profanityList) /// True if the word is considered a profanity, False otherwise. public bool IsProfanity(string word) { - if (string.IsNullOrEmpty(word)) - { - return false; - } + if (string.IsNullOrEmpty(word)) return false; // Check if the word is in the allow list. - if (AllowList.Contains(word.ToLower(CultureInfo.InvariantCulture))) - { - return false; - } + if (AllowList.Contains(word.ToLower(CultureInfo.InvariantCulture))) return false; return _profanities.Contains(word.ToLower(CultureInfo.InvariantCulture)); } @@ -112,10 +105,7 @@ public ReadOnlyCollection DetectAllProfanities(string sentence) /// A read only list of detected profanities. public ReadOnlyCollection DetectAllProfanities(string sentence, bool removePartialMatches) { - if (string.IsNullOrEmpty(sentence)) - { - return new ReadOnlyCollection(new List()); - } + if (string.IsNullOrEmpty(sentence)) return new ReadOnlyCollection(new List()); sentence = sentence.ToLower(); sentence = sentence.Replace(".", ""); @@ -123,18 +113,16 @@ public ReadOnlyCollection DetectAllProfanities(string sentence, bool rem var words = sentence.Split(' '); var postAllowList = FilterWordListByAllowList(words); - List swearList = new List(); + var swearList = new List(); // Catch whether multi-word profanities are in the allow list filtered sentence. AddMultiWordProfanities(swearList, ConvertWordListToSentence(postAllowList)); // Deduplicate any partial matches, ie, if the word "twatting" is in a sentence, don't include "twat" if part of the same word. - if (removePartialMatches) - { - swearList.RemoveAll(x => swearList.Any(y => x != y && y.Contains(x))); - } + if (removePartialMatches) swearList.RemoveAll(x => swearList.Any(y => x != y && y.Contains(x))); - return new ReadOnlyCollection(FilterSwearListForCompleteWordsOnly(sentence, swearList).Distinct().ToList()); + return new ReadOnlyCollection(FilterSwearListForCompleteWordsOnly(sentence, swearList).Distinct() + .ToList()); } /// @@ -170,12 +158,9 @@ public string CensorString(string sentence, char censorCharacter) /// public string CensorString(string sentence, char censorCharacter, bool ignoreNumbers) { - if (string.IsNullOrEmpty(sentence)) - { - return string.Empty; - } + if (string.IsNullOrEmpty(sentence)) return string.Empty; - string noPunctuation = sentence.Trim(); + var noPunctuation = sentence.Trim(); noPunctuation = noPunctuation.ToLower(); noPunctuation = Regex.Replace(noPunctuation, @"[^\w\s]", ""); @@ -189,8 +174,8 @@ public string CensorString(string sentence, char censorCharacter, bool ignoreNum AddMultiWordProfanities(swearList, ConvertWordListToSentence(postAllowList)); - StringBuilder censored = new StringBuilder(sentence); - StringBuilder tracker = new StringBuilder(sentence); + var censored = new StringBuilder(sentence); + var tracker = new StringBuilder(sentence); return CensorStringByProfanityList(censorCharacter, swearList, censored, tracker, ignoreNumbers).ToString(); } @@ -209,26 +194,20 @@ public string CensorString(string sentence, char censorCharacter, bool ignoreNum /// If no enclosed word is found then return null. public (int, int, string)? GetCompleteWord(string toCheck, string profanity) { - if (string.IsNullOrEmpty(toCheck)) - { - return null; - } - - string profanityLowerCase = profanity.ToLower(CultureInfo.InvariantCulture); - string toCheckLowerCase = toCheck.ToLower(CultureInfo.InvariantCulture); + if (string.IsNullOrEmpty(toCheck)) return null; - if (toCheckLowerCase.Contains(profanityLowerCase)) + var profanityLowerCase = profanity.ToLower(CultureInfo.InvariantCulture); + var toCheckLowerCase = toCheck.ToLower(CultureInfo.InvariantCulture); + var regexMatch = Regex.Match(toCheck, profanityLowerCase); + if (regexMatch.Success) { - var startIndex = toCheckLowerCase.IndexOf(profanityLowerCase, StringComparison.Ordinal); + var startIndex = regexMatch.Index; var endIndex = startIndex; // Work backwards in string to get to the start of the word. while (startIndex > 0) { - if (toCheck[startIndex - 1] == ' ' || char.IsPunctuation(toCheck[startIndex - 1])) - { - break; - } + if (toCheck[startIndex - 1] == ' ' || char.IsPunctuation(toCheck[startIndex - 1])) break; startIndex -= 1; } @@ -236,15 +215,14 @@ public string CensorString(string sentence, char censorCharacter, bool ignoreNum // Work forwards to get to the end of the word. while (endIndex < toCheck.Length) { - if (toCheck[endIndex] == ' ' || char.IsPunctuation(toCheck[endIndex])) - { - break; - } + if (toCheck[endIndex] == ' ' || char.IsPunctuation(toCheck[endIndex])) break; endIndex += 1; } - return (startIndex, endIndex, toCheckLowerCase.Substring(startIndex, endIndex - startIndex).ToLower(CultureInfo.InvariantCulture)); + return (startIndex, endIndex, + toCheckLowerCase.Substring(startIndex, endIndex - startIndex) + .ToLower(CultureInfo.InvariantCulture)); } return null; @@ -259,78 +237,56 @@ public string CensorString(string sentence, char censorCharacter, bool ignoreNum /// True if the term contains a profanity, False otherwise. public bool ContainsProfanity(string term) { - if (string.IsNullOrWhiteSpace(term)) - { - return false; - } + if (string.IsNullOrWhiteSpace(term)) return false; + + var potentialProfanities = _profanities.Where(word => word.Length <= term.Length).ToList(); - List potentialProfanities = _profanities.Where(word => word.Length <= term.Length).ToList(); - // We might have a very short phrase coming in, resulting in no potential matches even before the regex - if (potentialProfanities.Count == 0) - { - return false; - } + if (potentialProfanities.Count == 0) return false; - Regex regex = new Regex(string.Format(@"(?:{0})", string.Join("|", potentialProfanities).Replace("$", "\\$"), RegexOptions.IgnoreCase)); + var regex = new Regex(string.Format(@"(?:{0})", string.Join("|", potentialProfanities).Replace("$", "\\$"), + RegexOptions.IgnoreCase)); foreach (Match profanity in regex.Matches(term)) - { // if any matches are found and aren't in the allowed list, we can return true here without checking further if (!AllowList.Contains(profanity.Value.ToLower(CultureInfo.InvariantCulture))) - { return true; - } - } return false; } - private StringBuilder CensorStringByProfanityList(char censorCharacter, List swearList, StringBuilder censored, StringBuilder tracker, bool ignoreNumeric) + private StringBuilder CensorStringByProfanityList(char censorCharacter, List swearList, + StringBuilder censored, StringBuilder tracker, bool ignoreNumeric) { - foreach (string word in swearList.OrderByDescending(x => x.Length)) + foreach (var word in swearList.OrderByDescending(x => x.Length)) { (int, int, string)? result = (0, 0, ""); var multiWord = word.Split(' '); if (multiWord.Length == 1) - { do { result = GetCompleteWord(tracker.ToString(), word); if (result != null) { - string filtered = result.Value.Item3; + var filtered = result.Value.Item3; - if (ignoreNumeric) - { - filtered = Regex.Replace(result.Value.Item3, @"[\d-]", string.Empty); - } + if (ignoreNumeric) filtered = Regex.Replace(result.Value.Item3, @"[\d-]", string.Empty); - if (filtered == word) - { - for (int i = result.Value.Item1; i < result.Value.Item2; i++) + if (Regex.IsMatch(filtered, word)) + for (var i = result.Value.Item1; i < result.Value.Item2; i++) { censored[i] = censorCharacter; tracker[i] = censorCharacter; } - } else - { - for (int i = result.Value.Item1; i < result.Value.Item2; i++) - { + for (var i = result.Value.Item1; i < result.Value.Item2; i++) tracker[i] = censorCharacter; - } - } } - } - while (result != null); - } + } while (result != null); else - { censored = censored.Replace(word, CreateCensoredString(word, censorCharacter)); - } } return censored; @@ -338,10 +294,10 @@ private StringBuilder CensorStringByProfanityList(char censorCharacter, List FilterSwearListForCompleteWordsOnly(string sentence, List swearList) { - List filteredSwearList = new List(); - StringBuilder tracker = new StringBuilder(sentence); + var filteredSwearList = new List(); + var tracker = new StringBuilder(sentence); - foreach (string word in swearList.OrderByDescending(x => x.Length)) + foreach (var word in swearList.OrderByDescending(x => x.Length)) { (int, int, string)? result = (0, 0, ""); var multiWord = word.Split(' '); @@ -358,20 +314,13 @@ private List FilterSwearListForCompleteWordsOnly(string sentence, List FilterSwearListForCompleteWordsOnly(string sentence, List FilterWordListByAllowList(string[] words) { - List postAllowList = new List(); - foreach (string word in words) - { + var postAllowList = new List(); + foreach (var word in words) if (!string.IsNullOrEmpty(word)) - { if (!AllowList.Contains(word.ToLower(CultureInfo.InvariantCulture))) - { postAllowList.Add(word); - } - } - } return postAllowList; } @@ -403,43 +346,33 @@ private List FilterWordListByAllowList(string[] words) private static string ConvertWordListToSentence(List postAllowList) { // Reconstruct sentence excluding allow listed words. - string postAllowListSentence = string.Empty; + var postAllowListSentence = string.Empty; - foreach (string w in postAllowList) - { + foreach (var w in postAllowList) postAllowListSentence = postAllowListSentence + w + " "; - } - return postAllowListSentence; + return postAllowListSentence.Trim(); } private void AddMultiWordProfanities(List swearList, string postAllowListSentence) { swearList.AddRange( from string profanity in _profanities - where postAllowListSentence.ToLower(CultureInfo.InvariantCulture).Contains(profanity) + where Regex.IsMatch(postAllowListSentence.Trim().ToLower(CultureInfo.InvariantCulture), profanity) select profanity); } private static string CreateCensoredString(string word, char censorCharacter) { - string censoredWord = string.Empty; + var censoredWord = string.Empty; - for (int i = 0; i < word.Length; i++) - { + for (var i = 0; i < word.Length; i++) if (word[i] != ' ') - { censoredWord += censorCharacter; - } else - { censoredWord += ' '; - } - } return censoredWord; } - - } } \ No newline at end of file diff --git a/ProfanityFilter/ProfanityFilter/ProfanityFilter.csproj b/ProfanityFilter/ProfanityFilter/ProfanityFilter.csproj index 68edcdc..ff60f4a 100644 --- a/ProfanityFilter/ProfanityFilter/ProfanityFilter.csproj +++ b/ProfanityFilter/ProfanityFilter/ProfanityFilter.csproj @@ -1,7 +1,7 @@ - netstandard2.0 + net6.0 true Profanity.Detector 0.1.8 diff --git a/ProfanityFilter/ProfanityFilter/ProfanityList.cs b/ProfanityFilter/ProfanityFilter/ProfanityList.cs index 9f49e42..f494633 100644 --- a/ProfanityFilter/ProfanityFilter/ProfanityList.cs +++ b/ProfanityFilter/ProfanityFilter/ProfanityList.cs @@ -29,1621 +29,1726 @@ public partial class ProfanityBase { private readonly string[] _wordList = { - "2 girls 1 cup", - "2 girls one cup", - "2g1c", - "4r5e", - "5h1t", - "5hit", - "8===D", - "8==D", - "8=D", - "a$$", - "a$$hole", - "a_s_s", - "a2m", - "a55", - "a55hole", - "acrotomophilia", - "aeolus", - "ahole", - "alabama hot pocket", - "alaskan pipeline", - "anal", - "anal impaler", - "anal leakage", - "analprobe", - "anilingus", - "angrydragon", - "angry dragon", - "anus", - "apeshit", - "ar5e", - "arian", - "arrse", - "arse", - "arses", - "arsehole", - "aryan", - "ass", - "ass fuck", - "ass hole", - "assbag", - "assbandit", - "assbang", - "assbanged", - "assbanger", - "assbangs", - "assbite", - "assclown", - "asscock", - "asscracker", - "asses", - "assface", - "assfaces", - "assfuck", - "assfucker", - "ass-fucker", - "assfukka", - "assgoblin", - "assh0le", - "asshat", - "ass-hat", - "asshead", - "assho1e", - "asshole", - "assholes", - "asshopper", - "ass-jabber", - "assjacker", - "asslick", - "asslicker", - "assmaster", - "assmonkey", - "assmucus", - "assmunch", - "assmuncher", - "assnigger", - "asspirate", - "ass-pirate", - "assshit", - "assshole", - "asssucker", - "asswad", - "asswhole", - "asswipe", - "asswipes", - "auto erotic", - "autoerotic", - "axwound", - "axewound", - "axe wound", - "azazel", - "azz", - "b!tch", - "b00bs", - "b17ch", - "b1tch", - "babeland", - "baby batter", - "baby juice", - "ball gag", - "ball gravy", - "ball kicking", - "ball licking", - "ball sack", - "ball sucking", - "ballbag", - "balls", - "ballsack", - "bampot", - "bang (one's) box", - "bangbros", - "bareback", - "barely legal", - "barenaked", - "barf", - "bastard", - "bastardo", - "bastards", - "bastinado", - "batty boy", - "bawdy", - "bbw", - "bdsm", - "beaner", - "beaners", - "beardedclam", - "beastial", - "beastiality", - "beatch", - "beaver", - "beaver cleaver", - "beaver lips", - "beef curtain", - "beef curtains", - "beeyotch", - "bellend", - "bender", - "beotch", - "bescumber", - "bestial", - "bestiality", - "bi+ch", - "biatch", - "big black", - "big breasts", - "big knockers", - "big tits", - "bigtits", - "bimbo", - "bimbos", - "bint", - "birdlock", - "bitch", - "bitch tit", - "bitchass", - "bitched", - "bitcher", - "bitchers", - "bitches", - "bitchin", - "bitching", - "bitchtits", - "bitchy", - "black cock", - "blonde action", - "blonde on blonde action", - "bloodclaat", - "bloody", - "bloody hell", - "blow job", - "blow me", - "blow mud", - "blow your load", - "blowjob", - "blowjobs", - "blue waffle", - "blumpkin", - "bod", - "bodily", - "boink", - "boiolas", - "bollock", - "bollocks", - "bollok", - "bollox", - "bondage", - "boned", - "boner", - "boners", - "bong", - "boob", - "boobies", - "boobs", - "booby", - "booger", - "bookie", - "boong", - "booobs", - "boooobs", - "booooobs", - "booooooobs", - "bootee", - "bootie", - "booty", - "booty call", - "booze", - "boozer", - "boozy", - "bosom", - "bosomy", - "breasts", - "breeder", - "brotherfucker", - "brown showers", - "brunette action", - "buceta", - "bugger", - "bukkake", - "bull shit", - "bulldyke", - "bullet vibe", - "bullshit", - "bullshits", - "bullshitted", - "bullturds", - "bum", - "bum boy", - "bumblefuck", - "bumclat", - "bummer", - "buncombe", - "bung", - "bung hole", - "bunghole", - "bunny fucker", - "bust a load", - "busty", - "butt", - "butt fuck", - "butt plug", - "buttcheeks", - "buttfuck", - "buttfucka", - "buttfucker", - "butthole", - "buttmuch", - "buttmunch", - "butt-pirate", - "buttplug", - "c.0.c.k", - "c.o.c.k.", - "c.u.n.t", - "c0ck", - "c-0-c-k", - "c0cksucker", - "caca", - "cacafuego", - "cahone", - "camel toe", - "cameltoe", - "camgirl", - "camslut", - "camwhore", - "carpet muncher", - "carpetmuncher", - "cawk", - "cervix", - "chesticle", - "chi-chi man", - "chick with a dick", - "child-fucker", - "chinc", - "chincs", - "chink", - "chinky", - "choad", - "choade", - "choc ice", - "chocolate rosebuds", - "chode", - "chodes", - "chota bags", - "cipa", - "circlejerk", - "cl1t", - "cleveland steamer", - "climax", - "clit", - "clit licker", - "clitface", - "clitfuck", - "clitoris", - "clits", - "clitty", - "clitty litter", - "clover clamps", - "clunge", - "clusterfuck", - "cnut", - "cocain", - "cocaine", - "coccydynia", - "cock", - "c-o-c-k", - "cock pocket", - "cock snot", - "cock sucker", - "cockass", - "cockbite", - "cockblock", - "cockburger", - "cockeye", - "cockface", - "cockfucker", - "cockhead", - "cockholster", - "cockjockey", - "cockknocker", - "cockknoker", - "cocklump", - "cockmaster", - "cockmongler", - "cockmongruel", - "cockmonkey", - "cockmunch", - "cockmuncher", - "cocknose", - "cocknugget", - "cocks", - "cockshit", - "cocksmith", - "cocksmoke", - "cocksmoker", - "cocksniffer", - "cocksuck", - "cocksucked", - "cocksucker", - "cock-sucker", - "cocksuckers", - "cocksucking", - "cocksucks", - "cocksuka", - "cocksukka", - "cockwaffle", - "coffin dodger", - "coital", - "cok", - "cokmuncher", - "coksucka", - "commie", - "condom", - "coochie", - "coochy", - "coon", - "coonnass", - "coons", - "cooter", - "cop some wood", - "coprolagnia", - "coprophilia", - "corksucker", - "cornhole", - "corp whore", - "corpulent", - "cox", - "crabs", - "crack", - "cracker", - "crackwhore", - "crap", - "crappy", - "creampie", - "cretin", - "crikey", - "cripple", - "crotte", - "cum", - "cum chugger", - "cum dumpster", - "cum freak", - "cum guzzler", - "cumbubble", - "cumdump", - "cumdumpster", - "cumguzzler", - "cumjockey", - "cummer", - "cummin", - "cumming", - "cums", - "cumshot", - "cumshots", - "cumslut", - "cumstain", - "cumtart", - "cunilingus", - "cunillingus", - "cunnie", - "cunnilingus", - "cunny", - "cunt", - "c-u-n-t", - "cunt hair", - "cuntass", - "cuntbag", - "cuntface", - "cunthole", - "cunthunter", - "cuntlick", - "cuntlicker", - "cuntrag", - "cunts", - "cuntsicle", - "cuntslut", - "cunt-struck", - "cus", - "cut rope", - "cyalis", - "cyberfuc", - "cyberfuck", - "cyberfucked", - "cyberfucker", - "cyberfucking", - "d0ng", - "d0uch3", - "d0uche", - "d1ck", - "d1ld0", - "d1ldo", - "dago", - "dagos", - "dammit", - "damn", - "damned", - "damnit", - "darkie", - "darn", - "date rape", - "daterape", - "dawgie-style", - "deep throat", - "deepthroat", - "deggo", - "dendrophilia", - "dick", - "dick head", - "dick hole", - "dick shy", - "dickbag", - "dickbeaters", - "dickdipper", - "dickface", - "dickflipper", - "dickfuck", - "dickfucker", - "dickhead", - "dickheads", - "dickhole", - "dickish", - "dick-ish", - "dickjuice", - "dickmilk", - "dickmonger", - "dickripper", - "dicks", - "dicksipper", - "dickslap", - "dick-sneeze", - "dicksucker", - "dicksucking", - "dicktickler", - "dickwad", - "dickweasel", - "dickweed", - "dickwhipper", - "dickwod", - "dickzipper", - "diddle", - "dike", - "dildo", - "dildos", - "diligaf", - "dillweed", - "dimwit", - "dingle", - "dingleberries", - "dingleberry", - "dink", - "dinks", - "dipship", - "dirsa", - "dirty", - "dirty pillows", - "dirty sanchez", - "div", - "dlck", - "dog style", - "dog-fucker", - "doggie style", - "doggiestyle", - "doggie-style", - "doggin", - "dogging", - "doggy style", - "doggystyle", - "doggy-style", - "dolcett", - "domination", - "dominatrix", - "dommes", - "dong", - "donkey punch", - "donkeypunch", - "donkeyribber", - "doochbag", - "doofus", - "dookie", - "doosh", - "dopey", - "double dong", - "double penetration", - "doublelift", - "douch3", - "douche", - "douchebag", - "douchebags", - "douche-fag", - "douchewaffle", - "douchey", - "dp action", - "drunk", - "dry hump", - "duche", - "dumass", - "dumb ass", - "dumbass", - "dumbasses", - "dumbcunt", - "dumbfuck", - "dumbshit", - "dummy", - "dumshit", - "dvda", - "dyke", - "dykes", - "eat a dick", - "eat hair pie", - "eat my ass", - "ecchi", - "ejaculate", - "ejaculated", - "ejaculates", - "ejaculating", - "ejaculatings", - "ejaculation", - "ejakulate", - "erect", - "erection", - "erotic", - "erotism", - "escort", - "essohbee", - "eunuch", - "extacy", - "extasy", - "f u c k", - "f u c k e r", - "f.u.c.k", - "f_u_c_k", - "f4nny", - "facial", - "fack", - "fag", - "fagbag", - "fagfucker", - "fagg", - "fagged", - "fagging", - "faggit", - "faggitt", - "faggot", - "faggotcock", - "faggots", - "faggs", - "fagot", - "fagots", - "fags", - "fagtard", - "faig", - "faigt", - "fanny", - "fannybandit", - "fannyflaps", - "fannyfucker", - "fanyy", - "fart", - "fartknocker", - "fatass", - "fcuk", - "fcuker", - "fcuking", - "fecal", - "feck", - "fecker", - "feist", - "felch", - "felcher", - "felching", - "fellate", - "fellatio", - "feltch", - "feltcher", - "female squirting", - "femdom", - "fenian", - "fice", - "figging", - "fingerbang", - "fingerfuck", - "fingerfucked", - "fingerfucker", - "fingerfuckers", - "fingerfucking", - "fingerfucks", - "fingering", - "fist fuck", - "fisted", - "fistfuck", - "fistfucked", - "fistfucker", - "fistfuckers", - "fistfuckings", - "fistfucks", - "fisting", - "fisty", - "flamer", - "flange", - "flaps", - "fleshflute", - "flog the log", - "floozy", - "foad", - "foah", - "fondle", - "foobar", - "fook", - "fooker", - "foot fetish", - "footjob", - "foreskin", - "freex", - "frenchify", - "frigg", - "frigga", - "frotting", - "fubar", - "fuc", - "fuck", - "f-u-c-k", - "fuck buttons", - "fuck hole", - "fuck off", - "fuck puppet", - "fuck trophy", - "fuck yo mama", - "fuck you", - "fucka", - "fuckass", - "fuck-ass", - "fuckbag", - "fuck bag", - "fuck-bitch", - "fuckboy", - "fuckbrain", - "fuckbutt", - "fuckbutter", - "fucked", - "fuckedup", - "fucked up", - "fucker", - "fuckers", - "fuckersucker", - "fuckface", - "fuckhead", - "fuckheads", - "fuckhole", - "fuckin", - "fucking", - "fuckings", - "fuckme", - "fuck me", - "fuckmeat", - "fucknugget", - "fucknut", - "fucknutt", - "fuckoff", - "fucks", - "fuckstick", - "fucktard", - "fuck-tard", - "fucktards", - "fucktart", - "fucktoy", - "fucktwat", - "fuckup", - "fuckwad", - "fuckwhit", - "fuckwit", - "fuckwitt", - "fudge packer", - "fudgepacker", - "fudge-packer", - "fuk", - "fuker", - "fukker", - "fukkers", - "fukkin", - "fuks", - "fukwhit", - "fukwit", - "fuq", - "futanari", - "fux", - "fux0r", - "fvck", - "fxck", - "gae", - "gai", - "gang bang", - "gangbang", - "gang-bang", - "gangbanged", - "gangbangs", - "ganja", - "gash", - "gassy ass", - "gay sex", - "gayass", - "gaybob", - "gaydo", - "gayfuck", - "gayfuckist", - "gaylord", - "gays", - "gaysex", - "gaytard", - "gaywad", - "gender bender", - "genitals", - "gey", - "gfy", - "ghay", - "ghey", - "giant cock", - "gigolo", - "ginger", - "gippo", - "girl on", - "girl on top", - "girls gone wild", - "glans", - "goatcx", - "goatse", - "god", - "god damn", - "godamn", - "godamnit", - "goddam", - "god-dam", - "goddammit", - "goddamn", - "goddamned", - "god-damned", - "goddamnit", - "godsdamn", - "gokkun", - "golden shower", - "goldenshower", - "golliwog", - "gonad", - "gonads", - "goo girl", - "gooch", - "goodpoop", - "gook", - "gooks", - "goregasm", - "gringo", - "grope", - "group sex", - "gspot", - "g-spot", - "gtfo", - "guido", - "guro", - "h0m0", - "h0mo", - "ham flap", - "hand job", - "handjob", - "hard core", - "hard on", - "hardcore", - "hardcoresex", - "he11", - "hebe", - "heeb", - "hell", - "hemp", - "hentai", - "heroin", - "herp", - "herpes", - "herpy", - "heshe", - "he-she", - "hircismus", - "hitler", - "hiv", - "hoar", - "hoare", - "hobag", - "hoe", - "hoer", - "holy shit", - "hom0", - "homey", - "homo", - "homodumbshit", - "homoerotic", - "homoey", - "honkey", - "honky", - "hooch", - "hookah", - "hooker", - "hoor", - "hootch", - "hooter", - "hooters", - "hore", - "horniest", - "horny", - "hot carl", - "hot chick", - "hotsex", - "how to kill", - "how to murdep", - "how to murder", - "huge fat", - "hump", - "humped", - "humping", - "hun", - "hussy", - "hymen", - "iap", - "iberian slap", - "inbred", - "incest", - "injun", - "intercourse", - "jack off", - "jackass", - "jackasses", - "jackhole", - "jackoff", - "jack-off", - "jaggi", - "jagoff", - "jail bait", - "jailbait", - "jap", - "japs", - "jelly donut", - "jerk", - "jerk off", - "jerk0ff", - "jerkass", - "jerked", - "jerkoff", - "jerk-off", - "jigaboo", - "jiggaboo", - "jiggerboo", - "jism", - "jiz", - "jizm", - "jizz", - "jizzed", - "jock", - "juggs", - "jungle bunny", - "junglebunny", - "junkie", - "junky", - "kafir", - "kawk", - "kike", - "kikes", - "kill", - "kinbaku", - "kinkster", - "kinky", - "klan", - "knob", - "knob end", - "knobbing", - "knobead", - "knobed", - "knobend", - "knobhead", - "knobjocky", - "knobjokey", - "kock", - "kondum", - "kondums", - "kooch", - "kooches", - "kootch", - "kraut", - "kum", - "kummer", - "kumming", - "kums", - "kunilingus", - "kunja", - "kunt", - "kwif", - "kyke", - "l3i+ch", - "l3itch", - "labia", - "lameass", - "lardass", - "leather restraint", - "leather straight jacket", - "lech", - "lemon party", - "LEN", - "leper", - "lesbian", - "lesbians", - "lesbo", - "lesbos", - "lez", - "lezza/lesbo", - "lezzie", - "lmao", - "lmfao", - "loin", - "loins", - "lolita", - "looney", - "lovemaking", - "lube", - "lust", - "lusting", - "lusty", - "m0f0", - "m0fo", - "m45terbate", - "ma5terb8", - "ma5terbate", - "mafugly", - "make me come", - "male squirting", - "mams", - "masochist", - "massa", - "masterb8", - "masterbat*", - "masterbat3", - "masterbate", - "master-bate", - "masterbating", - "masterbation", - "masterbations", - "masturbate", - "masturbating", - "masturbation", - "maxi", - "mcfagget", - "menage a trois", - "menses", - "meth", - "m-fucking", - "mick", - "microphallus", - "middle finger", - "midget", - "milf", - "minge", - "minger", - "missionary position", - "mof0", - "mofo", - "mo-fo", - "molest", - "mong", - "moo moo foo foo", - "moolie", - "moron", - "mothafuck", - "mothafucka", - "mothafuckas", - "mothafuckaz", - "mothafucked", - "mothafucker", - "mothafuckers", - "mothafuckin", - "mothafucking", - "mothafuckings", - "mothafucks", - "mother fucker", - "motherfuck", - "motherfucka", - "motherfucked", - "motherfucker", - "motherfuckers", - "motherfuckin", - "motherfucking", - "motherfuckings", - "motherfuckka", - "motherfucks", - "mound of venus", - "mr hands", - "muff", - "muff diver", - "muff puff", - "muffdiver", - "muffdiving", - "munging", - "munter", - "murder", - "mutha", - "muthafecker", - "muthafuckker", - "muther", - "mutherfucker", - "n1gga", - "n1gger", - "naked", - "nambla", - "napalm", - "nappy", - "nawashi", - "nazi", - "nazism", - "need the dick", - "negro", - "neonazi", - "nig nog", - "nigaboo", - "nigg3r", - "nigg4h", - "nigga", - "niggah", - "niggas", - "niggaz", - "nigger", - "niggers", - "niggle", - "niglet", - "nig-nog", - "nimphomania", - "nimrod", - "ninny", - "ninnyhammer", - "nipple", - "nipples", - "nob", - "nob jokey", - "nobhead", - "nobjocky", - "nobjokey", - "nonce", - "nsfw images", - "nude", - "nudity", - "numbnuts", - "nut butter", - "nut sack", - "nutsack", - "nutter", - "nympho", - "nymphomania", - "octopussy", - "old bag", - "omg", - "omorashi", - "one cup two girls", - "1 cup 2 girls", - "one cup 2 girls", - "1 cup two girls", - "one guy one jar", - "1 guy one jar", - "one guy 1 jar", - "opiate", - "opium", - "orally", - "organ", - "orgasim", - "orgasims", - "orgasm", - "orgasmic", - "orgasms", - "orgies", - "orgy", - "ovary", - "ovum", - "ovums", - "p.u.s.s.y.", - "p.u.s.s.y", - "p0rn", - "paedophile", - "paki", - "panooch", - "pansy", - "pantie", - "panties", - "panty", - "pawn", - "pcp", - "pecker", - "peckerhead", - "pedo", - "pedobear", - "pedophile", - "pedophilia", - "pedophiliac", - "pee", - "peepee", - "pegging", - "penetrate", - "penetration", - "penial", - "penile", - "penis", - "penisbanger", - "penisfucker", - "penispuffer", - "perversion", - "phallic", - "phone sex", - "phonesex", - "phuck", - "phuk", - "phuked", - "phuking", - "phukked", - "phukking", - "phuks", - "phuq", - "piece of shit", - "pigfucker", - "pikey", - "pillowbiter", - "pimp", - "pimpis", - "pinko", - "piss", - "piss off", - "piss pig", - "pissed", - "pissed off", - "pisser", - "pissers", - "pisses", - "pissflaps", - "piss flaps", - "pissin", - "pissing", - "pissoff", - "piss-off", - "pisspig", - "playboy", - "pleasure chest", - "polack", - "pole smoker", - "polesmoker", - "pollock", - "ponyplay", - "poof", - "poon", - "poonani", - "poonany", - "poontang", - "poop", - "poop chute", - "poopchute", - "Poopuncher", - "porch monkey", - "porchmonkey", - "porn", - "porno", - "pornography", - "pornos", - "potty", - "prick", - "pricks", - "prickteaser", - "prig", - "prince albert piercing", - "prod", - "pron", - "prone bone", - "pronebone", - "prone-bone", - "prostitute", - "prude", - "psycho", - "pthc", - "pube", - "pubes", - "pubic", - "pubis", - "punani", - "punanny", - "punany", - "punkass", - "punky", - "punta", - "puss", - "pusse", - "pussi", - "pussies", - "pussy", - "pussy fart", - "pussy palace", - "pussylicking", - "pussypounder", - "pussys", - "pust", - "puto", - "queaf", - "queef", - "queer", - "queerbait", - "queerhole", - "queero", - "queers", - "quicky", - "quim", - "racy", - "raghead", - "raging boner", - "rape", - "raped", - "raper", - "rapey", - "raping", - "rapist", - "raunch", - "rectal", - "rectum", - "rectus", - "reefer", - "reetard", - "reich", - "renob", - "retard", - "retarded", - "reverse cowgirl", - "revue", - "rimjaw", - "rimjob", - "rimming", - "ritard", - "rosy palm", - "rosy palm and her 5 sisters", - "rtard", - "r-tard", - "rubbish", - "rum", - "rump", - "rumprammer", - "ruski", - "rusty trombone", - "s&m", - "s.h.i.t.", - "s.o.b.", - "s_h_i_t", - "s0b", - "sadism", - "sadist", - "sambo", - "sand nigger", - "sandbar", - "Sandler", - "sandnigger", - "sanger", - "santorum", - "sausage queen", - "scag", - "scantily", - "scat", - "schizo", - "schlong", - "scissoring", - "screw", - "screwed", - "screwing", - "scroat", - "scrog", - "scrot", - "scrote", - "scrotum", - "scrud", - "scum", - "seaman", - "seduce", - "seks", - "semen", - "sex", - "sexo", - "sexual", - "sexy", - "sh!+", - "sh!t", - "sh1t", - "s-h-1-t", - "shag", - "shagger", - "shaggin", - "shagging", - "shamedame", - "shaved beaver", - "shaved pussy", - "shemale", - "shi+", - "shibari", - "shirt lifter", - "shit", - "s-h-i-t", - "shit ass", - "shit fucker", - "shitass", - "shitbag", - "shitbagger", - "shitblimp", - "shitbrains", - "shitbreath", - "shitcanned", - "shitcunt", - "shitdick", - "shite", - "shiteater", - "shited", - "shitey", - "shitface", - "shitfaced", - "shitfuck", - "shitfull", - "shithead", - "shitheads", - "shithole", - "shithouse", - "shiting", - "shitings", - "shits", - "shitspitter", - "shitstain", - "shitt", - "shitted", - "shitter", - "shitters", - "shittier", - "shittiest", - "shitting", - "shittings", - "shitty", - "shiz", - "shiznit", - "shota", - "shrimping", - "sissy", - "skag", - "skank", - "skeet", - "skullfuck", - "slag", - "slanteye", - "slave", - "sleaze", - "sleazy", - "slope", - "slut", - "slut bucket", - "slutbag", - "slutdumper", - "slutkiss", - "sluts", - "smartass", - "smartasses", - "smeg", - "smegma", - "smut", - "smutty", - "snatch", - "sniper", - "snowballing", - "snuff", - "s-o-b", - "sod off", - "sodom", - "sodomize", - "sodomy", - "son of a bitch", - "son of a motherless goat", - "son of a whore", - "son-of-a-bitch", - "souse", - "soused", - "spac", - "spade", - "sperm", - "spic", - "spick", - "spik", - "spiks", - "splooge", - "splooge moose", - "spooge", - "spook", - "spread legs", - "spunk", - "stfu", - "stiffy", - "stoned", - "strap on", - "strapon", - "strappado", - "strip", - "strip club", - "stroke", - "stupid", - "style doggy", - "suck", - "suckass", - "sucked", - "sucking", - "sucks", - "suicide girls", - "sultry women", - "sumofabiatch", - "swastikav", - "swinger", - "t1t", - "t1tt1e5", - "t1tties", - "taff", - "taig", - "tainted love", - "taking the piss", - "tampon", - "tard", - "tart", - "taste my", - "tawdry", - "tea bagging", - "teabagging", - "teat", - "teets", - "teez", - "teste", - "testee", - "testes", - "testical", - "testicle", - "testis", - "threesome", - "throating", - "thrust", - "thug", - "thundercunt", - "thunder cunt", - "tied up", - "tight white", - "tinkle", - "tit", - "tit wank", - "titfuck", - "titi", - "tities", - "tits", - "titt", - "tittie5", - "tittiefucker", - "titties", - "titty", - "tittyfuck", - "tittyfucker", - "tittywank", - "titwank", - "toke", - "tongue in a", - "toots", - "topless", - "tosser", - "towelhead", - "tramp", - "tranny", - "trashy", - "tribadism", - "trumped", - "tub girl", - "tubgirl", - "turd", - "tush", - "tushy", - "tw4t", - "twat", - "twathead", - "twatlips", - "twats", - "twatty", - "twatting", - "twatwaffle", - "twink", - "twinkie", - "two fingers", - "two fingers with tongue", - "two girls 1 cup", - "two girls one cup", - "twunt", - "twunter", - "ugly", - "unclefucker", - "undies", - "undressing", - "unwed", - "upskirt", - "urethra play", - "urinal", - "urine", - "urophilia", - "uterus", - "uzi", - "v14gra", - "v1gra", - "vag", - "vagina", - "vajayjay", - "va-j-j", - "valium", - "venus mound", - "veqtable", - "viagra", - "vibrator", - "violet wand", - "virgin", - "vixen", - "vjayjay", - "vodka", - "vomit", - "vorarephilia", - "voyeur", - "vulgar", - "vulva", - "w00se", - "wad", - "wang", - "wank", - "wanker", - "wankjob", - "wanky", - "wazoo", - "wedgie", - "weed", - "weenie", - "weewee", - "weiner", - "weirdo", - "wench", - "wet dream", - "wetback", - "wh0re", - "wh0reface", - "white power", - "whiz", - "whoar", - "whoralicious", - "whore", - "whorealicious", - "whorebag", - "whored", - "whoreface", - "whorehopper", - "whorehouse", - "whores", - "whoring", - "wigger", - "willies", - "willy", - "window licker", - "wiseass", - "wiseasses", - "wog", - "womb", - "wop", - "wrapping men", - "wrinkled starfish", - "xrated", - "x-rated", - "xx", - "xxx", - "yaoi", - "yeasty", - "yellow showers", - "yid", - "yiffy", - "yobbo", - "zibbi", - "zoophilia", - "zubb", + "2 girls 1 cup", + "2 girls one cup", + "2g1c", + "4r5e", + "5h1t", + "5hit", + "8===D", + "8==D", + "8=D", + "a$$", + "a$$hole", + "a_s_s", + "a2m", + "a55", + "a55hole", + "acrotomophilia", + "aeolus", + "ahole", + "alabama hot pocket", + "alaskan pipeline", + "anal", + "anal impaler", + "anal leakage", + "analprobe", + "anilingus", + "angrydragon", + "angry dragon", + "anus", + "apeshit", + "ar5e", + "arian", + "arrse", + "arse", + "arses", + "arsehole", + "aryan", + "ass", + "ass fuck", + "ass hole", + "assbag", + "assbandit", + "assbang", + "assbanged", + "assbanger", + "assbangs", + "assbite", + "assclown", + "asscock", + "asscracker", + "asses", + "assface", + "assfaces", + "assfuck", + "assfucker", + "ass-fucker", + "assfukka", + "assgoblin", + "assh0le", + "asshat", + "ass-hat", + "asshead", + "assho1e", + "asshole", + "assholes", + "asshopper", + "ass-jabber", + "assjacker", + "asslick", + "asslicker", + "assmaster", + "assmonkey", + "assmucus", + "assmunch", + "assmuncher", + "assnigger", + "asspirate", + "ass-pirate", + "assshit", + "assshole", + "asssucker", + "asswad", + "asswhole", + "asswipe", + "asswipes", + "auto erotic", + "autoerotic", + "axwound", + "axewound", + "axe wound", + "azazel", + "azz", + "b!tch", + "b00bs", + "b17ch", + "b1tch", + "babeland", + "baby batter", + "baby juice", + "ball gag", + "ball gravy", + "ball kicking", + "ball licking", + "ball sack", + "ball sucking", + "ballbag", + "balls", + "ballsack", + "bampot", + "bang (one's) box", + "bangbros", + "bareback", + "barely legal", + "barenaked", + "barf", + "bastard", + "bastardo", + "bastards", + "bastinado", + "batty boy", + "bawdy", + "bbw", + "bdsm", + "beaner", + "beaners", + "beardedclam", + "beastial", + "beastiality", + "beatch", + "beaver", + "beaver cleaver", + "beaver lips", + "beef curtain", + "beef curtains", + "beeyotch", + "bellend", + "bender", + "beotch", + "bescumber", + "bestial", + "bestiality", + "bi+ch", + "biatch", + "big black", + "big breasts", + "big knockers", + "big tits", + "bigtits", + "bimbo", + "bimbos", + "bint", + "birdlock", + "bitch", + "bitch tit", + "bitchass", + "bitched", + "bitcher", + "bitchers", + "bitches", + "bitchin", + "bitching", + "bitchtits", + "bitchy", + "black cock", + "blonde action", + "blonde on blonde action", + "bloodclaat", + "bloody", + "bloody hell", + "blow job", + "blow me", + "blow mud", + "blow your load", + "blowjob", + "blowjobs", + "blue waffle", + "blumpkin", + "bod", + "bodily", + "boink", + "boiolas", + "bollock", + "bollocks", + "bollok", + "bollox", + "bondage", + "boned", + "boner", + "boners", + "bong", + "boob", + "boobies", + "boobs", + "booby", + "booger", + "bookie", + "boong", + "booobs", + "boooobs", + "booooobs", + "booooooobs", + "bootee", + "bootie", + "booty", + "booty call", + "booze", + "boozer", + "boozy", + "bosom", + "bosomy", + "breasts", + "breeder", + "brotherfucker", + "brown showers", + "brunette action", + "buceta", + "bugger", + "bukkake", + "bull shit", + "bulldyke", + "bullet vibe", + "bullshit", + "bullshits", + "bullshitted", + "bullturds", + "bum", + "bum boy", + "bumblefuck", + "bumclat", + "bummer", + "buncombe", + "bung", + "bung hole", + "bunghole", + "bunny fucker", + "bust a load", + "busty", + "butt", + "butt fuck", + "butt plug", + "buttcheeks", + "buttfuck", + "buttfucka", + "buttfucker", + "butthole", + "buttmuch", + "buttmunch", + "butt-pirate", + "buttplug", + "c.0.c.k", + "c.o.c.k.", + "c.u.n.t", + "c0ck", + "c-0-c-k", + "c0cksucker", + "caca", + "cacafuego", + "cahone", + "camel toe", + "cameltoe", + "camgirl", + "camslut", + "camwhore", + "carpet muncher", + "carpetmuncher", + "cawk", + "cervix", + "chesticle", + "chi-chi man", + "chick with a dick", + "child-fucker", + "chinc", + "chincs", + "chink", + "chinky", + "choad", + "choade", + "choc ice", + "chocolate rosebuds", + "chode", + "chodes", + "chota bags", + "cipa", + "circlejerk", + "cl1t", + "cleveland steamer", + "climax", + "clit", + "clit licker", + "clitface", + "clitfuck", + "clitoris", + "clits", + "clitty", + "clitty litter", + "clover clamps", + "clunge", + "clusterfuck", + "cnut", + "cocain", + "cocaine", + "coccydynia", + "cock", + "c-o-c-k", + "cock pocket", + "cock snot", + "cock sucker", + "cockass", + "cockbite", + "cockblock", + "cockburger", + "cockeye", + "cockface", + "cockfucker", + "cockhead", + "cockholster", + "cockjockey", + "cockknocker", + "cockknoker", + "cocklump", + "cockmaster", + "cockmongler", + "cockmongruel", + "cockmonkey", + "cockmunch", + "cockmuncher", + "cocknose", + "cocknugget", + "cocks", + "cockshit", + "cocksmith", + "cocksmoke", + "cocksmoker", + "cocksniffer", + "cocksuck", + "cocksucked", + "cocksucker", + "cock-sucker", + "cocksuckers", + "cocksucking", + "cocksucks", + "cocksuka", + "cocksukka", + "cockwaffle", + "coffin dodger", + "coital", + "cok", + "cokmuncher", + "coksucka", + "commie", + "condom", + "coochie", + "coochy", + "coon", + "coonnass", + "coons", + "cooter", + "cop some wood", + "coprolagnia", + "coprophilia", + "corksucker", + "cornhole", + "corp whore", + "corpulent", + "cox", + "crabs", + "crack", + "cracker", + "crackwhore", + "crap", + "crappy", + "creampie", + "cretin", + "crikey", + "cripple", + "crotte", + "cum", + "cum chugger", + "cum dumpster", + "cum freak", + "cum guzzler", + "cumbubble", + "cumdump", + "cumdumpster", + "cumguzzler", + "cumjockey", + "cummer", + "cummin", + "cumming", + "cums", + "cumshot", + "cumshots", + "cumslut", + "cumstain", + "cumtart", + "cunilingus", + "cunillingus", + "cunnie", + "cunnilingus", + "cunny", + "cunt", + "c-u-n-t", + "cunt hair", + "cuntass", + "cuntbag", + "cuntface", + "cunthole", + "cunthunter", + "cuntlick", + "cuntlicker", + "cuntrag", + "cunts", + "cuntsicle", + "cuntslut", + "cunt-struck", + "cus", + "cut rope", + "cyalis", + "cyberfuc", + "cyberfuck", + "cyberfucked", + "cyberfucker", + "cyberfucking", + "d0ng", + "d0uch3", + "d0uche", + "d1ck", + "d1ld0", + "d1ldo", + "dago", + "dagos", + "dammit", + "damn", + "damned", + "damnit", + "darkie", + "darn", + "date rape", + "daterape", + "dawgie-style", + "deep throat", + "deepthroat", + "deggo", + "dendrophilia", + "dick", + "dick head", + "dick hole", + "dick shy", + "dickbag", + "dickbeaters", + "dickdipper", + "dickface", + "dickflipper", + "dickfuck", + "dickfucker", + "dickhead", + "dickheads", + "dickhole", + "dickish", + "dick-ish", + "dickjuice", + "dickmilk", + "dickmonger", + "dickripper", + "dicks", + "dicksipper", + "dickslap", + "dick-sneeze", + "dicksucker", + "dicksucking", + "dicktickler", + "dickwad", + "dickweasel", + "dickweed", + "dickwhipper", + "dickwod", + "dickzipper", + "diddle", + "dike", + "dildo", + "dildos", + "diligaf", + "dillweed", + "dimwit", + "dingle", + "dingleberries", + "dingleberry", + "dink", + "dinks", + "dipship", + "dirsa", + "dirty", + "dirty pillows", + "dirty sanchez", + "div", + "dlck", + "dog style", + "dog-fucker", + "doggie style", + "doggiestyle", + "doggie-style", + "doggin", + "dogging", + "doggy style", + "doggystyle", + "doggy-style", + "dolcett", + "domination", + "dominatrix", + "dommes", + "dong", + "donkey punch", + "donkeypunch", + "donkeyribber", + "doochbag", + "doofus", + "dookie", + "doosh", + "dopey", + "double dong", + "double penetration", + "doublelift", + "douch3", + "douche", + "douchebag", + "douchebags", + "douche-fag", + "douchewaffle", + "douchey", + "dp action", + "drunk", + "dry hump", + "duche", + "dumass", + "dumb ass", + "dumbass", + "dumbasses", + "dumbcunt", + "dumbfuck", + "dumbshit", + "dummy", + "dumshit", + "dvda", + "dyke", + "dykes", + "eat a dick", + "eat hair pie", + "eat my ass", + "ecchi", + "ejaculate", + "ejaculated", + "ejaculates", + "ejaculating", + "ejaculatings", + "ejaculation", + "ejakulate", + "erect", + "erection", + "erotic", + "erotism", + "escort", + "essohbee", + "eunuch", + "extacy", + "extasy", + "f u c k", + "f u c k e r", + "f.u.c.k", + "f_u_c_k", + "f4nny", + "facial", + "fack", + "fag", + "fagbag", + "fagfucker", + "fagg", + "fagged", + "fagging", + "faggit", + "faggitt", + "faggot", + "faggotcock", + "faggots", + "faggs", + "fagot", + "fagots", + "fags", + "fagtard", + "faig", + "faigt", + "fanny", + "fannybandit", + "fannyflaps", + "fannyfucker", + "fanyy", + "fart", + "fartknocker", + "fatass", + "fcuk", + "fcuker", + "fcuking", + "fecal", + "feck", + "fecker", + "feist", + "felch", + "felcher", + "felching", + "fellate", + "fellatio", + "feltch", + "feltcher", + "female squirting", + "femdom", + "fenian", + "fice", + "figging", + "fingerbang", + "fingerfuck", + "fingerfucked", + "fingerfucker", + "fingerfuckers", + "fingerfucking", + "fingerfucks", + "fingering", + "fist fuck", + "fisted", + "fistfuck", + "fistfucked", + "fistfucker", + "fistfuckers", + "fistfuckings", + "fistfucks", + "fisting", + "fisty", + "flamer", + "flange", + "flaps", + "fleshflute", + "flog the log", + "floozy", + "foad", + "foah", + "fondle", + "foobar", + "fook", + "fooker", + "foot fetish", + "footjob", + "foreskin", + "freex", + "frenchify", + "frigg", + "frigga", + "frotting", + "fubar", + "fuc", + "fuck", + "f-u-c-k", + "fuck buttons", + "fuck hole", + "fuck off", + "fuck puppet", + "fuck trophy", + "fuck yo mama", + "fuck you", + "fucka", + "fuckass", + "fuck-ass", + "fuckbag", + "fuck bag", + "fuck-bitch", + "fuckboy", + "fuckbrain", + "fuckbutt", + "fuckbutter", + "fucked", + "fuckedup", + "fucked up", + "fucker", + "fuckers", + "fuckersucker", + "fuckface", + "fuckhead", + "fuckheads", + "fuckhole", + "fuckin", + "fucking", + "fuckings", + "fuckme", + "fuck me", + "fuckmeat", + "fucknugget", + "fucknut", + "fucknutt", + "fuckoff", + "fucks", + "fuckstick", + "fucktard", + "fuck-tard", + "fucktards", + "fucktart", + "fucktoy", + "fucktwat", + "fuckup", + "fuckwad", + "fuckwhit", + "fuckwit", + "fuckwitt", + "fudge packer", + "fudgepacker", + "fudge-packer", + "fuk", + "fuker", + "fukker", + "fukkers", + "fukkin", + "fuks", + "fukwhit", + "fukwit", + "fuq", + "futanari", + "fux", + "fux0r", + "fvck", + "fxck", + "gae", + "gai", + "gang bang", + "gangbang", + "gang-bang", + "gangbanged", + "gangbangs", + "ganja", + "gash", + "gassy ass", + "gay sex", + "gayass", + "gaybob", + "gaydo", + "gayfuck", + "gayfuckist", + "gaylord", + "gays", + "gaysex", + "gaytard", + "gaywad", + "gender bender", + "genitals", + "gey", + "gfy", + "ghay", + "ghey", + "giant cock", + "gigolo", + "ginger", + "gippo", + "girl on", + "girl on top", + "girls gone wild", + "glans", + "goatcx", + "goatse", + "god", + "god damn", + "godamn", + "godamnit", + "goddam", + "god-dam", + "goddammit", + "goddamn", + "goddamned", + "god-damned", + "goddamnit", + "godsdamn", + "gokkun", + "golden shower", + "goldenshower", + "golliwog", + "gonad", + "gonads", + "goo girl", + "gooch", + "goodpoop", + "gook", + "gooks", + "goregasm", + "gringo", + "grope", + "group sex", + "gspot", + "g-spot", + "gtfo", + "guido", + "guro", + "h0m0", + "h0mo", + "ham flap", + "hand job", + "handjob", + "hard core", + "hard on", + "hardcore", + "hardcoresex", + "he11", + "hebe", + "heeb", + "hell", + "hemp", + "hentai", + "heroin", + "herp", + "herpes", + "herpy", + "heshe", + "he-she", + "hircismus", + "hitler", + "hiv", + "hoar", + "hoare", + "hobag", + "hoe", + "hoer", + "holy shit", + "hom0", + "homey", + "homo", + "homodumbshit", + "homoerotic", + "homoey", + "honkey", + "honky", + "hooch", + "hookah", + "hooker", + "hoor", + "hootch", + "hooter", + "hooters", + "hore", + "horniest", + "horny", + "hot carl", + "hot chick", + "hotsex", + "how to kill", + "how to murdep", + "how to murder", + "huge fat", + "hump", + "humped", + "humping", + "hun", + "hussy", + "hymen", + "iap", + "iberian slap", + "inbred", + "incest", + "injun", + "intercourse", + "jack off", + "jackass", + "jackasses", + "jackhole", + "jackoff", + "jack-off", + "jaggi", + "jagoff", + "jail bait", + "jailbait", + "jap", + "japs", + "jelly donut", + "jerk", + "jerk off", + "jerk0ff", + "jerkass", + "jerked", + "jerkoff", + "jerk-off", + "jigaboo", + "jiggaboo", + "jiggerboo", + "jism", + "jiz", + "jizm", + "jizz", + "jizzed", + "jock", + "juggs", + "jungle bunny", + "junglebunny", + "junkie", + "junky", + "kafir", + "kawk", + "kike", + "kikes", + "kill", + "kinbaku", + "kinkster", + "kinky", + "klan", + "knob", + "knob end", + "knobbing", + "knobead", + "knobed", + "knobend", + "knobhead", + "knobjocky", + "knobjokey", + "kock", + "kondum", + "kondums", + "kooch", + "kooches", + "kootch", + "kraut", + "kum", + "kummer", + "kumming", + "kums", + "kunilingus", + "kunja", + "kunt", + "kwif", + "kyke", + "l3i+ch", + "l3itch", + "labia", + "lameass", + "lardass", + "leather restraint", + "leather straight jacket", + "lech", + "lemon party", + "LEN", + "leper", + "lesbian", + "lesbians", + "lesbo", + "lesbos", + "lez", + "lezza/lesbo", + "lezzie", + "lmao", + "lmfao", + "loin", + "loins", + "lolita", + "looney", + "lovemaking", + "lube", + "lust", + "lusting", + "lusty", + "m0f0", + "m0fo", + "m45terbate", + "ma5terb8", + "ma5terbate", + "mafugly", + "make me come", + "male squirting", + "mams", + "masochist", + "massa", + "masterb8", + "masterbat*", + "masterbat3", + "masterbate", + "master-bate", + "masterbating", + "masterbation", + "masterbations", + "masturbate", + "masturbating", + "masturbation", + "maxi", + "mcfagget", + "menage a trois", + "menses", + "meth", + "m-fucking", + "mick", + "microphallus", + "middle finger", + "midget", + "milf", + "minge", + "minger", + "missionary position", + "mof0", + "mofo", + "mo-fo", + "molest", + "mong", + "moo moo foo foo", + "moolie", + "moron", + "mothafuck", + "mothafucka", + "mothafuckas", + "mothafuckaz", + "mothafucked", + "mothafucker", + "mothafuckers", + "mothafuckin", + "mothafucking", + "mothafuckings", + "mothafucks", + "mother fucker", + "motherfuck", + "motherfucka", + "motherfucked", + "motherfucker", + "motherfuckers", + "motherfuckin", + "motherfucking", + "motherfuckings", + "motherfuckka", + "motherfucks", + "mound of venus", + "mr hands", + "muff", + "muff diver", + "muff puff", + "muffdiver", + "muffdiving", + "munging", + "munter", + "murder", + "mutha", + "muthafecker", + "muthafuckker", + "muther", + "mutherfucker", + "n1gga", + "n1gger", + "naked", + "nambla", + "napalm", + "nappy", + "nawashi", + "nazi", + "nazism", + "need the dick", + "negro", + "neonazi", + "nig nog", + "nigaboo", + "nigg3r", + "nigg4h", + "nigga", + "niggah", + "niggas", + "niggaz", + "nigger", + "niggers", + "niggle", + "niglet", + "nig-nog", + "nimphomania", + "nimrod", + "ninny", + "ninnyhammer", + "nipple", + "nipples", + "nob", + "nob jokey", + "nobhead", + "nobjocky", + "nobjokey", + "nonce", + "nsfw images", + "nude", + "nudity", + "numbnuts", + "nut butter", + "nut sack", + "nutsack", + "nutter", + "nympho", + "nymphomania", + "octopussy", + "old bag", + "omg", + "omorashi", + "one cup two girls", + "1 cup 2 girls", + "one cup 2 girls", + "1 cup two girls", + "one guy one jar", + "1 guy one jar", + "one guy 1 jar", + "opiate", + "opium", + "orally", + "organ", + "orgasim", + "orgasims", + "orgasm", + "orgasmic", + "orgasms", + "orgies", + "orgy", + "ovary", + "ovum", + "ovums", + "p.u.s.s.y.", + "p.u.s.s.y", + "p0rn", + "paedophile", + "paki", + "panooch", + "pansy", + "pantie", + "panties", + "panty", + "pawn", + "pcp", + "pecker", + "peckerhead", + "pedo", + "pedobear", + "pedophile", + "pedophilia", + "pedophiliac", + "pee", + "peepee", + "pegging", + "penetrate", + "penetration", + "penial", + "penile", + "penis", + "penisbanger", + "penisfucker", + "penispuffer", + "perversion", + "phallic", + "phone sex", + "phonesex", + "phuck", + "phuk", + "phuked", + "phuking", + "phukked", + "phukking", + "phuks", + "phuq", + "piece of shit", + "pigfucker", + "pikey", + "pillowbiter", + "pimp", + "pimpis", + "pinko", + "piss", + "piss off", + "piss pig", + "pissed", + "pissed off", + "pisser", + "pissers", + "pisses", + "pissflaps", + "piss flaps", + "pissin", + "pissing", + "pissoff", + "piss-off", + "pisspig", + "playboy", + "pleasure chest", + "polack", + "pole smoker", + "polesmoker", + "pollock", + "ponyplay", + "poof", + "poon", + "poonani", + "poonany", + "poontang", + "poop", + "poop chute", + "poopchute", + "Poopuncher", + "porch monkey", + "porchmonkey", + "porn", + "porno", + "pornography", + "pornos", + "potty", + "prick", + "pricks", + "prickteaser", + "prig", + "prince albert piercing", + "prod", + "pron", + "prone bone", + "pronebone", + "prone-bone", + "prostitute", + "prude", + "psycho", + "pthc", + "pube", + "pubes", + "pubic", + "pubis", + "punani", + "punanny", + "punany", + "punkass", + "punky", + "punta", + "puss", + "pusse", + "pussi", + "pussies", + "pussy", + "pussy fart", + "pussy palace", + "pussylicking", + "pussypounder", + "pussys", + "pust", + "puto", + "queaf", + "queef", + "queer", + "queerbait", + "queerhole", + "queero", + "queers", + "quicky", + "quim", + "racy", + "raghead", + "raging boner", + "rape", + "raped", + "raper", + "rapey", + "raping", + "rapist", + "raunch", + "rectal", + "rectum", + "rectus", + "reefer", + "reetard", + "reich", + "renob", + "retard", + "retarded", + "reverse cowgirl", + "revue", + "rimjaw", + "rimjob", + "rimming", + "ritard", + "rosy palm", + "rosy palm and her 5 sisters", + "rtard", + "r-tard", + "rubbish", + "rum", + "rump", + "rumprammer", + "ruski", + "rusty trombone", + "s&m", + "s.h.i.t.", + "s.o.b.", + "s_h_i_t", + "s0b", + "sadism", + "sadist", + "sambo", + "sand nigger", + "sandbar", + "Sandler", + "sandnigger", + "sanger", + "santorum", + "sausage queen", + "scag", + "scantily", + "scat", + "schizo", + "schlong", + "scissoring", + "screw", + "screwed", + "screwing", + "scroat", + "scrog", + "scrot", + "scrote", + "scrotum", + "scrud", + "scum", + "seaman", + "seduce", + "seks", + "semen", + "sex", + "sexo", + "sexual", + "sexy", + "sh!+", + "sh!t", + "sh1t", + "s-h-1-t", + "shag", + "shagger", + "shaggin", + "shagging", + "shamedame", + "shaved beaver", + "shaved pussy", + "shemale", + "shi+", + "shibari", + "shirt lifter", + "shit", + "s-h-i-t", + "shit ass", + "shit fucker", + "shitass", + "shitbag", + "shitbagger", + "shitblimp", + "shitbrains", + "shitbreath", + "shitcanned", + "shitcunt", + "shitdick", + "shite", + "shiteater", + "shited", + "shitey", + "shitface", + "shitfaced", + "shitfuck", + "shitfull", + "shithead", + "shitheads", + "shithole", + "shithouse", + "shiting", + "shitings", + "shits", + "shitspitter", + "shitstain", + "shitt", + "shitted", + "shitter", + "shitters", + "shittier", + "shittiest", + "shitting", + "shittings", + "shitty", + "shiz", + "shiznit", + "shota", + "shrimping", + "sissy", + "skag", + "skank", + "skeet", + "skullfuck", + "slag", + "slanteye", + "slave", + "sleaze", + "sleazy", + "slope", + "slut", + "slut bucket", + "slutbag", + "slutdumper", + "slutkiss", + "sluts", + "smartass", + "smartasses", + "smeg", + "smegma", + "smut", + "smutty", + "snatch", + "sniper", + "snowballing", + "snuff", + "s-o-b", + "sod off", + "sodom", + "sodomize", + "sodomy", + "son of a bitch", + "son of a motherless goat", + "son of a whore", + "son-of-a-bitch", + "souse", + "soused", + "spac", + "spade", + "sperm", + "spic", + "spick", + "spik", + "spiks", + "splooge", + "splooge moose", + "spooge", + "spook", + "spread legs", + "spunk", + "stfu", + "stiffy", + "stoned", + "strap on", + "strapon", + "strappado", + "strip", + "strip club", + "stroke", + "stupid", + "style doggy", + "suck", + "suckass", + "sucked", + "sucking", + "sucks", + "suicide girls", + "sultry women", + "sumofabiatch", + "swastikav", + "swinger", + "t1t", + "t1tt1e5", + "t1tties", + "taff", + "taig", + "tainted love", + "taking the piss", + "tampon", + "tard", + "tart", + "taste my", + "tawdry", + "tea bagging", + "teabagging", + "teat", + "teets", + "teez", + "teste", + "testee", + "testes", + "testical", + "testicle", + "testis", + "threesome", + "throating", + "thrust", + "thug", + "thundercunt", + "thunder cunt", + "tied up", + "tight white", + "tinkle", + "tit", + "tit wank", + "titfuck", + "titi", + "tities", + "tits", + "titt", + "tittie5", + "tittiefucker", + "titties", + "titty", + "tittyfuck", + "tittyfucker", + "tittywank", + "titwank", + "toke", + "tongue in a", + "toots", + "topless", + "tosser", + "towelhead", + "tramp", + "tranny", + "trashy", + "tribadism", + "trumped", + "tub girl", + "tubgirl", + "turd", + "tush", + "tushy", + "tw4t", + "twat", + "twathead", + "twatlips", + "twats", + "twatty", + "twatting", + "twatwaffle", + "twink", + "twinkie", + "two fingers", + "two fingers with tongue", + "two girls 1 cup", + "two girls one cup", + "twunt", + "twunter", + "ugly", + "unclefucker", + "undies", + "undressing", + "unwed", + "upskirt", + "urethra play", + "urinal", + "urine", + "urophilia", + "uterus", + "uzi", + "v14gra", + "v1gra", + "vag", + "vagina", + "vajayjay", + "va-j-j", + "valium", + "venus mound", + "veqtable", + "viagra", + "vibrator", + "violet wand", + "virgin", + "vixen", + "vjayjay", + "vodka", + "vomit", + "vorarephilia", + "voyeur", + "vulgar", + "vulva", + "w00se", + "wad", + "wang", + "wank", + "wanker", + "wankjob", + "wanky", + "wazoo", + "wedgie", + "weed", + "weenie", + "weewee", + "weiner", + "weirdo", + "wench", + "wet dream", + "wetback", + "wh0re", + "wh0reface", + "white power", + "whiz", + "whoar", + "whoralicious", + "whore", + "whorealicious", + "whorebag", + "whored", + "whoreface", + "whorehopper", + "whorehouse", + "whores", + "whoring", + "wigger", + "willies", + "willy", + "window licker", + "wiseass", + "wiseasses", + "wog", + "womb", + "wop", + "wrapping men", + "wrinkled starfish", + "xrated", + "x-rated", + "xx", + "xxx", + "yaoi", + "yeasty", + "yellow showers", + "yid", + "yiffy", + "yobbo", + "zibbi", + "zoophilia", + "zubb", + + "жид(у|ам|)", + "матьтвою", + "твоюмать", + "путин", + "смерть$", + "фаш(ик|ист|из)", + "войне$", + "чушпан$", + "украин.*", + "бл(я|уа|и)(д|т)", + "бл(я|уа)", + "вл(я|уа)", + "н(е|и)г(е|)р", + "гей", + "гомик", + "анус$", + "член$", + "уретра$", + "давалка", + "рукоблуд", + "ссанина", + "ссанина", + "очко$", + "пилотка$", + "вагина", + "влагалище", + "дроч(|ь|ила)", + "мошонка$", + "елда$", + "пердун", + "путана", + "г(о|а)ловка", + "блев", + "г(о|а)в(е|)н", + "жоп", + "(о|а)н(о|а)нист.*", + "гнид(а|о|у|ы)", + "к(а|о)злина$", + "к(о|а)зел$", + "к(о|а)за$", + "сволоч(ь|ъ|и|уга|ам|ами).*", + "лошар.*", + "ло(х|шок)$", + "лох[уеыаоэяию].*", + ".*урод(ы|у|ам|ина|ины).*", + ".*бля(т|д).*", + ".*гандо.*", + "м(а|о)нд(а|о).*", + "муда(к|ч)", + ".*сперма.*", + "уеб(ан|ок)", + "уебищ", + ".*[уеыаоэяию]еб$", + "суч(к|)(а|у|и|е|ой|ай).*", + "придур(ок|ки).*", + "д(е|и)би(л|лы).*", + "сос(ать|и|ешь|у)$", + "залуп.*", + "кака$", + "кака(ш|х)", + "наци(ст|к|з)$", + "моча$", + "муд(е|ил|о|а|я|еб).*", + ".*шалав(а|ы|ам|е|ами).*", + ".*пр(а|о)ст(и|е)т(у|е)тк(а|и|ам|е|ами).*", + ".*шлюх(а|и|ам|е|ами).*", + ".*(х)у(й|и|ю|я|е|л(и|е)).*", + ".*п(и|е|ы|у)зд.*", + "пенис", + "пис(ю|я|ьк|ос)", + ".*попа$", + "(с|сц)ук(а|о|и|у).*", + "сись", + "ублюд(к|ок)", + "еб.*", + "ебуч.*", + ".*(д(о|а)лб(о|а)|разъ|разь|за|вы|по)ебы*.*", + ".*п(и|е)д(а|о|е|)р.*", + ".*хер.*", + "хрен", + "уби(й|в|т|л)", + "уб(о|е)й", + "куси оча$", + "кус$", + "кер$", + "куни ота$", + "бева$", + "канчик$", + "кун$", + "далбен$", + "буз$", + "гов$", + "чалаб$", + "куслес$", + "аблах$", + "кунте$", + "кунти$", + "кул$", + "кыл$", + "кудаки рих$", + "куси биби$", + "кери бобо$", + "сиях$", + "саг$", }; } } From 54b6a0de23ef3ec6ad052196009354f779fab962 Mon Sep 17 00:00:00 2001 From: Nikita Vasilkov Date: Wed, 27 Mar 2024 15:24:59 +0300 Subject: [PATCH 2/2] Fixed regex for profanity and allow lists --- ProfanityFilter/ProfanityFilter/AllowList.cs | 11 +- .../ProfanityFilter/ProfanityList.cs | 3435 ++++++++--------- 2 files changed, 1726 insertions(+), 1720 deletions(-) diff --git a/ProfanityFilter/ProfanityFilter/AllowList.cs b/ProfanityFilter/ProfanityFilter/AllowList.cs index 7f606bd..958147a 100644 --- a/ProfanityFilter/ProfanityFilter/AllowList.cs +++ b/ProfanityFilter/ProfanityFilter/AllowList.cs @@ -32,7 +32,16 @@ public class AllowList : IAllowList public AllowList() { - _allowList = new List(); + _allowList = new List + { + "\bолеговн.*\b", + "\bгребля\b", + "\b.*(С|с)ергей.*\b", + "\b.*к(о|а)манд.*\b", + "\b.*л(о|а)х(о|а)трон.*\b", + "\bхул(е|и)ган\b", + "\b.*м(а|о)нд(а|о)рин.*\b", + }; } /// diff --git a/ProfanityFilter/ProfanityFilter/ProfanityList.cs b/ProfanityFilter/ProfanityFilter/ProfanityList.cs index f494633..951e842 100644 --- a/ProfanityFilter/ProfanityFilter/ProfanityList.cs +++ b/ProfanityFilter/ProfanityFilter/ProfanityList.cs @@ -29,1726 +29,1723 @@ public partial class ProfanityBase { private readonly string[] _wordList = { - "2 girls 1 cup", - "2 girls one cup", - "2g1c", - "4r5e", - "5h1t", - "5hit", - "8===D", - "8==D", - "8=D", - "a$$", - "a$$hole", - "a_s_s", - "a2m", - "a55", - "a55hole", - "acrotomophilia", - "aeolus", - "ahole", - "alabama hot pocket", - "alaskan pipeline", - "anal", - "anal impaler", - "anal leakage", - "analprobe", - "anilingus", - "angrydragon", - "angry dragon", - "anus", - "apeshit", - "ar5e", - "arian", - "arrse", - "arse", - "arses", - "arsehole", - "aryan", - "ass", - "ass fuck", - "ass hole", - "assbag", - "assbandit", - "assbang", - "assbanged", - "assbanger", - "assbangs", - "assbite", - "assclown", - "asscock", - "asscracker", - "asses", - "assface", - "assfaces", - "assfuck", - "assfucker", - "ass-fucker", - "assfukka", - "assgoblin", - "assh0le", - "asshat", - "ass-hat", - "asshead", - "assho1e", - "asshole", - "assholes", - "asshopper", - "ass-jabber", - "assjacker", - "asslick", - "asslicker", - "assmaster", - "assmonkey", - "assmucus", - "assmunch", - "assmuncher", - "assnigger", - "asspirate", - "ass-pirate", - "assshit", - "assshole", - "asssucker", - "asswad", - "asswhole", - "asswipe", - "asswipes", - "auto erotic", - "autoerotic", - "axwound", - "axewound", - "axe wound", - "azazel", - "azz", - "b!tch", - "b00bs", - "b17ch", - "b1tch", - "babeland", - "baby batter", - "baby juice", - "ball gag", - "ball gravy", - "ball kicking", - "ball licking", - "ball sack", - "ball sucking", - "ballbag", - "balls", - "ballsack", - "bampot", - "bang (one's) box", - "bangbros", - "bareback", - "barely legal", - "barenaked", - "barf", - "bastard", - "bastardo", - "bastards", - "bastinado", - "batty boy", - "bawdy", - "bbw", - "bdsm", - "beaner", - "beaners", - "beardedclam", - "beastial", - "beastiality", - "beatch", - "beaver", - "beaver cleaver", - "beaver lips", - "beef curtain", - "beef curtains", - "beeyotch", - "bellend", - "bender", - "beotch", - "bescumber", - "bestial", - "bestiality", - "bi+ch", - "biatch", - "big black", - "big breasts", - "big knockers", - "big tits", - "bigtits", - "bimbo", - "bimbos", - "bint", - "birdlock", - "bitch", - "bitch tit", - "bitchass", - "bitched", - "bitcher", - "bitchers", - "bitches", - "bitchin", - "bitching", - "bitchtits", - "bitchy", - "black cock", - "blonde action", - "blonde on blonde action", - "bloodclaat", - "bloody", - "bloody hell", - "blow job", - "blow me", - "blow mud", - "blow your load", - "blowjob", - "blowjobs", - "blue waffle", - "blumpkin", - "bod", - "bodily", - "boink", - "boiolas", - "bollock", - "bollocks", - "bollok", - "bollox", - "bondage", - "boned", - "boner", - "boners", - "bong", - "boob", - "boobies", - "boobs", - "booby", - "booger", - "bookie", - "boong", - "booobs", - "boooobs", - "booooobs", - "booooooobs", - "bootee", - "bootie", - "booty", - "booty call", - "booze", - "boozer", - "boozy", - "bosom", - "bosomy", - "breasts", - "breeder", - "brotherfucker", - "brown showers", - "brunette action", - "buceta", - "bugger", - "bukkake", - "bull shit", - "bulldyke", - "bullet vibe", - "bullshit", - "bullshits", - "bullshitted", - "bullturds", - "bum", - "bum boy", - "bumblefuck", - "bumclat", - "bummer", - "buncombe", - "bung", - "bung hole", - "bunghole", - "bunny fucker", - "bust a load", - "busty", - "butt", - "butt fuck", - "butt plug", - "buttcheeks", - "buttfuck", - "buttfucka", - "buttfucker", - "butthole", - "buttmuch", - "buttmunch", - "butt-pirate", - "buttplug", - "c.0.c.k", - "c.o.c.k.", - "c.u.n.t", - "c0ck", - "c-0-c-k", - "c0cksucker", - "caca", - "cacafuego", - "cahone", - "camel toe", - "cameltoe", - "camgirl", - "camslut", - "camwhore", - "carpet muncher", - "carpetmuncher", - "cawk", - "cervix", - "chesticle", - "chi-chi man", - "chick with a dick", - "child-fucker", - "chinc", - "chincs", - "chink", - "chinky", - "choad", - "choade", - "choc ice", - "chocolate rosebuds", - "chode", - "chodes", - "chota bags", - "cipa", - "circlejerk", - "cl1t", - "cleveland steamer", - "climax", - "clit", - "clit licker", - "clitface", - "clitfuck", - "clitoris", - "clits", - "clitty", - "clitty litter", - "clover clamps", - "clunge", - "clusterfuck", - "cnut", - "cocain", - "cocaine", - "coccydynia", - "cock", - "c-o-c-k", - "cock pocket", - "cock snot", - "cock sucker", - "cockass", - "cockbite", - "cockblock", - "cockburger", - "cockeye", - "cockface", - "cockfucker", - "cockhead", - "cockholster", - "cockjockey", - "cockknocker", - "cockknoker", - "cocklump", - "cockmaster", - "cockmongler", - "cockmongruel", - "cockmonkey", - "cockmunch", - "cockmuncher", - "cocknose", - "cocknugget", - "cocks", - "cockshit", - "cocksmith", - "cocksmoke", - "cocksmoker", - "cocksniffer", - "cocksuck", - "cocksucked", - "cocksucker", - "cock-sucker", - "cocksuckers", - "cocksucking", - "cocksucks", - "cocksuka", - "cocksukka", - "cockwaffle", - "coffin dodger", - "coital", - "cok", - "cokmuncher", - "coksucka", - "commie", - "condom", - "coochie", - "coochy", - "coon", - "coonnass", - "coons", - "cooter", - "cop some wood", - "coprolagnia", - "coprophilia", - "corksucker", - "cornhole", - "corp whore", - "corpulent", - "cox", - "crabs", - "crack", - "cracker", - "crackwhore", - "crap", - "crappy", - "creampie", - "cretin", - "crikey", - "cripple", - "crotte", - "cum", - "cum chugger", - "cum dumpster", - "cum freak", - "cum guzzler", - "cumbubble", - "cumdump", - "cumdumpster", - "cumguzzler", - "cumjockey", - "cummer", - "cummin", - "cumming", - "cums", - "cumshot", - "cumshots", - "cumslut", - "cumstain", - "cumtart", - "cunilingus", - "cunillingus", - "cunnie", - "cunnilingus", - "cunny", - "cunt", - "c-u-n-t", - "cunt hair", - "cuntass", - "cuntbag", - "cuntface", - "cunthole", - "cunthunter", - "cuntlick", - "cuntlicker", - "cuntrag", - "cunts", - "cuntsicle", - "cuntslut", - "cunt-struck", - "cus", - "cut rope", - "cyalis", - "cyberfuc", - "cyberfuck", - "cyberfucked", - "cyberfucker", - "cyberfucking", - "d0ng", - "d0uch3", - "d0uche", - "d1ck", - "d1ld0", - "d1ldo", - "dago", - "dagos", - "dammit", - "damn", - "damned", - "damnit", - "darkie", - "darn", - "date rape", - "daterape", - "dawgie-style", - "deep throat", - "deepthroat", - "deggo", - "dendrophilia", - "dick", - "dick head", - "dick hole", - "dick shy", - "dickbag", - "dickbeaters", - "dickdipper", - "dickface", - "dickflipper", - "dickfuck", - "dickfucker", - "dickhead", - "dickheads", - "dickhole", - "dickish", - "dick-ish", - "dickjuice", - "dickmilk", - "dickmonger", - "dickripper", - "dicks", - "dicksipper", - "dickslap", - "dick-sneeze", - "dicksucker", - "dicksucking", - "dicktickler", - "dickwad", - "dickweasel", - "dickweed", - "dickwhipper", - "dickwod", - "dickzipper", - "diddle", - "dike", - "dildo", - "dildos", - "diligaf", - "dillweed", - "dimwit", - "dingle", - "dingleberries", - "dingleberry", - "dink", - "dinks", - "dipship", - "dirsa", - "dirty", - "dirty pillows", - "dirty sanchez", - "div", - "dlck", - "dog style", - "dog-fucker", - "doggie style", - "doggiestyle", - "doggie-style", - "doggin", - "dogging", - "doggy style", - "doggystyle", - "doggy-style", - "dolcett", - "domination", - "dominatrix", - "dommes", - "dong", - "donkey punch", - "donkeypunch", - "donkeyribber", - "doochbag", - "doofus", - "dookie", - "doosh", - "dopey", - "double dong", - "double penetration", - "doublelift", - "douch3", - "douche", - "douchebag", - "douchebags", - "douche-fag", - "douchewaffle", - "douchey", - "dp action", - "drunk", - "dry hump", - "duche", - "dumass", - "dumb ass", - "dumbass", - "dumbasses", - "dumbcunt", - "dumbfuck", - "dumbshit", - "dummy", - "dumshit", - "dvda", - "dyke", - "dykes", - "eat a dick", - "eat hair pie", - "eat my ass", - "ecchi", - "ejaculate", - "ejaculated", - "ejaculates", - "ejaculating", - "ejaculatings", - "ejaculation", - "ejakulate", - "erect", - "erection", - "erotic", - "erotism", - "escort", - "essohbee", - "eunuch", - "extacy", - "extasy", - "f u c k", - "f u c k e r", - "f.u.c.k", - "f_u_c_k", - "f4nny", - "facial", - "fack", - "fag", - "fagbag", - "fagfucker", - "fagg", - "fagged", - "fagging", - "faggit", - "faggitt", - "faggot", - "faggotcock", - "faggots", - "faggs", - "fagot", - "fagots", - "fags", - "fagtard", - "faig", - "faigt", - "fanny", - "fannybandit", - "fannyflaps", - "fannyfucker", - "fanyy", - "fart", - "fartknocker", - "fatass", - "fcuk", - "fcuker", - "fcuking", - "fecal", - "feck", - "fecker", - "feist", - "felch", - "felcher", - "felching", - "fellate", - "fellatio", - "feltch", - "feltcher", - "female squirting", - "femdom", - "fenian", - "fice", - "figging", - "fingerbang", - "fingerfuck", - "fingerfucked", - "fingerfucker", - "fingerfuckers", - "fingerfucking", - "fingerfucks", - "fingering", - "fist fuck", - "fisted", - "fistfuck", - "fistfucked", - "fistfucker", - "fistfuckers", - "fistfuckings", - "fistfucks", - "fisting", - "fisty", - "flamer", - "flange", - "flaps", - "fleshflute", - "flog the log", - "floozy", - "foad", - "foah", - "fondle", - "foobar", - "fook", - "fooker", - "foot fetish", - "footjob", - "foreskin", - "freex", - "frenchify", - "frigg", - "frigga", - "frotting", - "fubar", - "fuc", - "fuck", - "f-u-c-k", - "fuck buttons", - "fuck hole", - "fuck off", - "fuck puppet", - "fuck trophy", - "fuck yo mama", - "fuck you", - "fucka", - "fuckass", - "fuck-ass", - "fuckbag", - "fuck bag", - "fuck-bitch", - "fuckboy", - "fuckbrain", - "fuckbutt", - "fuckbutter", - "fucked", - "fuckedup", - "fucked up", - "fucker", - "fuckers", - "fuckersucker", - "fuckface", - "fuckhead", - "fuckheads", - "fuckhole", - "fuckin", - "fucking", - "fuckings", - "fuckme", - "fuck me", - "fuckmeat", - "fucknugget", - "fucknut", - "fucknutt", - "fuckoff", - "fucks", - "fuckstick", - "fucktard", - "fuck-tard", - "fucktards", - "fucktart", - "fucktoy", - "fucktwat", - "fuckup", - "fuckwad", - "fuckwhit", - "fuckwit", - "fuckwitt", - "fudge packer", - "fudgepacker", - "fudge-packer", - "fuk", - "fuker", - "fukker", - "fukkers", - "fukkin", - "fuks", - "fukwhit", - "fukwit", - "fuq", - "futanari", - "fux", - "fux0r", - "fvck", - "fxck", - "gae", - "gai", - "gang bang", - "gangbang", - "gang-bang", - "gangbanged", - "gangbangs", - "ganja", - "gash", - "gassy ass", - "gay sex", - "gayass", - "gaybob", - "gaydo", - "gayfuck", - "gayfuckist", - "gaylord", - "gays", - "gaysex", - "gaytard", - "gaywad", - "gender bender", - "genitals", - "gey", - "gfy", - "ghay", - "ghey", - "giant cock", - "gigolo", - "ginger", - "gippo", - "girl on", - "girl on top", - "girls gone wild", - "glans", - "goatcx", - "goatse", - "god", - "god damn", - "godamn", - "godamnit", - "goddam", - "god-dam", - "goddammit", - "goddamn", - "goddamned", - "god-damned", - "goddamnit", - "godsdamn", - "gokkun", - "golden shower", - "goldenshower", - "golliwog", - "gonad", - "gonads", - "goo girl", - "gooch", - "goodpoop", - "gook", - "gooks", - "goregasm", - "gringo", - "grope", - "group sex", - "gspot", - "g-spot", - "gtfo", - "guido", - "guro", - "h0m0", - "h0mo", - "ham flap", - "hand job", - "handjob", - "hard core", - "hard on", - "hardcore", - "hardcoresex", - "he11", - "hebe", - "heeb", - "hell", - "hemp", - "hentai", - "heroin", - "herp", - "herpes", - "herpy", - "heshe", - "he-she", - "hircismus", - "hitler", - "hiv", - "hoar", - "hoare", - "hobag", - "hoe", - "hoer", - "holy shit", - "hom0", - "homey", - "homo", - "homodumbshit", - "homoerotic", - "homoey", - "honkey", - "honky", - "hooch", - "hookah", - "hooker", - "hoor", - "hootch", - "hooter", - "hooters", - "hore", - "horniest", - "horny", - "hot carl", - "hot chick", - "hotsex", - "how to kill", - "how to murdep", - "how to murder", - "huge fat", - "hump", - "humped", - "humping", - "hun", - "hussy", - "hymen", - "iap", - "iberian slap", - "inbred", - "incest", - "injun", - "intercourse", - "jack off", - "jackass", - "jackasses", - "jackhole", - "jackoff", - "jack-off", - "jaggi", - "jagoff", - "jail bait", - "jailbait", - "jap", - "japs", - "jelly donut", - "jerk", - "jerk off", - "jerk0ff", - "jerkass", - "jerked", - "jerkoff", - "jerk-off", - "jigaboo", - "jiggaboo", - "jiggerboo", - "jism", - "jiz", - "jizm", - "jizz", - "jizzed", - "jock", - "juggs", - "jungle bunny", - "junglebunny", - "junkie", - "junky", - "kafir", - "kawk", - "kike", - "kikes", - "kill", - "kinbaku", - "kinkster", - "kinky", - "klan", - "knob", - "knob end", - "knobbing", - "knobead", - "knobed", - "knobend", - "knobhead", - "knobjocky", - "knobjokey", - "kock", - "kondum", - "kondums", - "kooch", - "kooches", - "kootch", - "kraut", - "kum", - "kummer", - "kumming", - "kums", - "kunilingus", - "kunja", - "kunt", - "kwif", - "kyke", - "l3i+ch", - "l3itch", - "labia", - "lameass", - "lardass", - "leather restraint", - "leather straight jacket", - "lech", - "lemon party", - "LEN", - "leper", - "lesbian", - "lesbians", - "lesbo", - "lesbos", - "lez", - "lezza/lesbo", - "lezzie", - "lmao", - "lmfao", - "loin", - "loins", - "lolita", - "looney", - "lovemaking", - "lube", - "lust", - "lusting", - "lusty", - "m0f0", - "m0fo", - "m45terbate", - "ma5terb8", - "ma5terbate", - "mafugly", - "make me come", - "male squirting", - "mams", - "masochist", - "massa", - "masterb8", - "masterbat*", - "masterbat3", - "masterbate", - "master-bate", - "masterbating", - "masterbation", - "masterbations", - "masturbate", - "masturbating", - "masturbation", - "maxi", - "mcfagget", - "menage a trois", - "menses", - "meth", - "m-fucking", - "mick", - "microphallus", - "middle finger", - "midget", - "milf", - "minge", - "minger", - "missionary position", - "mof0", - "mofo", - "mo-fo", - "molest", - "mong", - "moo moo foo foo", - "moolie", - "moron", - "mothafuck", - "mothafucka", - "mothafuckas", - "mothafuckaz", - "mothafucked", - "mothafucker", - "mothafuckers", - "mothafuckin", - "mothafucking", - "mothafuckings", - "mothafucks", - "mother fucker", - "motherfuck", - "motherfucka", - "motherfucked", - "motherfucker", - "motherfuckers", - "motherfuckin", - "motherfucking", - "motherfuckings", - "motherfuckka", - "motherfucks", - "mound of venus", - "mr hands", - "muff", - "muff diver", - "muff puff", - "muffdiver", - "muffdiving", - "munging", - "munter", - "murder", - "mutha", - "muthafecker", - "muthafuckker", - "muther", - "mutherfucker", - "n1gga", - "n1gger", - "naked", - "nambla", - "napalm", - "nappy", - "nawashi", - "nazi", - "nazism", - "need the dick", - "negro", - "neonazi", - "nig nog", - "nigaboo", - "nigg3r", - "nigg4h", - "nigga", - "niggah", - "niggas", - "niggaz", - "nigger", - "niggers", - "niggle", - "niglet", - "nig-nog", - "nimphomania", - "nimrod", - "ninny", - "ninnyhammer", - "nipple", - "nipples", - "nob", - "nob jokey", - "nobhead", - "nobjocky", - "nobjokey", - "nonce", - "nsfw images", - "nude", - "nudity", - "numbnuts", - "nut butter", - "nut sack", - "nutsack", - "nutter", - "nympho", - "nymphomania", - "octopussy", - "old bag", - "omg", - "omorashi", - "one cup two girls", - "1 cup 2 girls", - "one cup 2 girls", - "1 cup two girls", - "one guy one jar", - "1 guy one jar", - "one guy 1 jar", - "opiate", - "opium", - "orally", - "organ", - "orgasim", - "orgasims", - "orgasm", - "orgasmic", - "orgasms", - "orgies", - "orgy", - "ovary", - "ovum", - "ovums", - "p.u.s.s.y.", - "p.u.s.s.y", - "p0rn", - "paedophile", - "paki", - "panooch", - "pansy", - "pantie", - "panties", - "panty", - "pawn", - "pcp", - "pecker", - "peckerhead", - "pedo", - "pedobear", - "pedophile", - "pedophilia", - "pedophiliac", - "pee", - "peepee", - "pegging", - "penetrate", - "penetration", - "penial", - "penile", - "penis", - "penisbanger", - "penisfucker", - "penispuffer", - "perversion", - "phallic", - "phone sex", - "phonesex", - "phuck", - "phuk", - "phuked", - "phuking", - "phukked", - "phukking", - "phuks", - "phuq", - "piece of shit", - "pigfucker", - "pikey", - "pillowbiter", - "pimp", - "pimpis", - "pinko", - "piss", - "piss off", - "piss pig", - "pissed", - "pissed off", - "pisser", - "pissers", - "pisses", - "pissflaps", - "piss flaps", - "pissin", - "pissing", - "pissoff", - "piss-off", - "pisspig", - "playboy", - "pleasure chest", - "polack", - "pole smoker", - "polesmoker", - "pollock", - "ponyplay", - "poof", - "poon", - "poonani", - "poonany", - "poontang", - "poop", - "poop chute", - "poopchute", - "Poopuncher", - "porch monkey", - "porchmonkey", - "porn", - "porno", - "pornography", - "pornos", - "potty", - "prick", - "pricks", - "prickteaser", - "prig", - "prince albert piercing", - "prod", - "pron", - "prone bone", - "pronebone", - "prone-bone", - "prostitute", - "prude", - "psycho", - "pthc", - "pube", - "pubes", - "pubic", - "pubis", - "punani", - "punanny", - "punany", - "punkass", - "punky", - "punta", - "puss", - "pusse", - "pussi", - "pussies", - "pussy", - "pussy fart", - "pussy palace", - "pussylicking", - "pussypounder", - "pussys", - "pust", - "puto", - "queaf", - "queef", - "queer", - "queerbait", - "queerhole", - "queero", - "queers", - "quicky", - "quim", - "racy", - "raghead", - "raging boner", - "rape", - "raped", - "raper", - "rapey", - "raping", - "rapist", - "raunch", - "rectal", - "rectum", - "rectus", - "reefer", - "reetard", - "reich", - "renob", - "retard", - "retarded", - "reverse cowgirl", - "revue", - "rimjaw", - "rimjob", - "rimming", - "ritard", - "rosy palm", - "rosy palm and her 5 sisters", - "rtard", - "r-tard", - "rubbish", - "rum", - "rump", - "rumprammer", - "ruski", - "rusty trombone", - "s&m", - "s.h.i.t.", - "s.o.b.", - "s_h_i_t", - "s0b", - "sadism", - "sadist", - "sambo", - "sand nigger", - "sandbar", - "Sandler", - "sandnigger", - "sanger", - "santorum", - "sausage queen", - "scag", - "scantily", - "scat", - "schizo", - "schlong", - "scissoring", - "screw", - "screwed", - "screwing", - "scroat", - "scrog", - "scrot", - "scrote", - "scrotum", - "scrud", - "scum", - "seaman", - "seduce", - "seks", - "semen", - "sex", - "sexo", - "sexual", - "sexy", - "sh!+", - "sh!t", - "sh1t", - "s-h-1-t", - "shag", - "shagger", - "shaggin", - "shagging", - "shamedame", - "shaved beaver", - "shaved pussy", - "shemale", - "shi+", - "shibari", - "shirt lifter", - "shit", - "s-h-i-t", - "shit ass", - "shit fucker", - "shitass", - "shitbag", - "shitbagger", - "shitblimp", - "shitbrains", - "shitbreath", - "shitcanned", - "shitcunt", - "shitdick", - "shite", - "shiteater", - "shited", - "shitey", - "shitface", - "shitfaced", - "shitfuck", - "shitfull", - "shithead", - "shitheads", - "shithole", - "shithouse", - "shiting", - "shitings", - "shits", - "shitspitter", - "shitstain", - "shitt", - "shitted", - "shitter", - "shitters", - "shittier", - "shittiest", - "shitting", - "shittings", - "shitty", - "shiz", - "shiznit", - "shota", - "shrimping", - "sissy", - "skag", - "skank", - "skeet", - "skullfuck", - "slag", - "slanteye", - "slave", - "sleaze", - "sleazy", - "slope", - "slut", - "slut bucket", - "slutbag", - "slutdumper", - "slutkiss", - "sluts", - "smartass", - "smartasses", - "smeg", - "smegma", - "smut", - "smutty", - "snatch", - "sniper", - "snowballing", - "snuff", - "s-o-b", - "sod off", - "sodom", - "sodomize", - "sodomy", - "son of a bitch", - "son of a motherless goat", - "son of a whore", - "son-of-a-bitch", - "souse", - "soused", - "spac", - "spade", - "sperm", - "spic", - "spick", - "spik", - "spiks", - "splooge", - "splooge moose", - "spooge", - "spook", - "spread legs", - "spunk", - "stfu", - "stiffy", - "stoned", - "strap on", - "strapon", - "strappado", - "strip", - "strip club", - "stroke", - "stupid", - "style doggy", - "suck", - "suckass", - "sucked", - "sucking", - "sucks", - "suicide girls", - "sultry women", - "sumofabiatch", - "swastikav", - "swinger", - "t1t", - "t1tt1e5", - "t1tties", - "taff", - "taig", - "tainted love", - "taking the piss", - "tampon", - "tard", - "tart", - "taste my", - "tawdry", - "tea bagging", - "teabagging", - "teat", - "teets", - "teez", - "teste", - "testee", - "testes", - "testical", - "testicle", - "testis", - "threesome", - "throating", - "thrust", - "thug", - "thundercunt", - "thunder cunt", - "tied up", - "tight white", - "tinkle", - "tit", - "tit wank", - "titfuck", - "titi", - "tities", - "tits", - "titt", - "tittie5", - "tittiefucker", - "titties", - "titty", - "tittyfuck", - "tittyfucker", - "tittywank", - "titwank", - "toke", - "tongue in a", - "toots", - "topless", - "tosser", - "towelhead", - "tramp", - "tranny", - "trashy", - "tribadism", - "trumped", - "tub girl", - "tubgirl", - "turd", - "tush", - "tushy", - "tw4t", - "twat", - "twathead", - "twatlips", - "twats", - "twatty", - "twatting", - "twatwaffle", - "twink", - "twinkie", - "two fingers", - "two fingers with tongue", - "two girls 1 cup", - "two girls one cup", - "twunt", - "twunter", - "ugly", - "unclefucker", - "undies", - "undressing", - "unwed", - "upskirt", - "urethra play", - "urinal", - "urine", - "urophilia", - "uterus", - "uzi", - "v14gra", - "v1gra", - "vag", - "vagina", - "vajayjay", - "va-j-j", - "valium", - "venus mound", - "veqtable", - "viagra", - "vibrator", - "violet wand", - "virgin", - "vixen", - "vjayjay", - "vodka", - "vomit", - "vorarephilia", - "voyeur", - "vulgar", - "vulva", - "w00se", - "wad", - "wang", - "wank", - "wanker", - "wankjob", - "wanky", - "wazoo", - "wedgie", - "weed", - "weenie", - "weewee", - "weiner", - "weirdo", - "wench", - "wet dream", - "wetback", - "wh0re", - "wh0reface", - "white power", - "whiz", - "whoar", - "whoralicious", - "whore", - "whorealicious", - "whorebag", - "whored", - "whoreface", - "whorehopper", - "whorehouse", - "whores", - "whoring", - "wigger", - "willies", - "willy", - "window licker", - "wiseass", - "wiseasses", - "wog", - "womb", - "wop", - "wrapping men", - "wrinkled starfish", - "xrated", - "x-rated", - "xx", - "xxx", - "yaoi", - "yeasty", - "yellow showers", - "yid", - "yiffy", - "yobbo", - "zibbi", - "zoophilia", - "zubb", + "\b2 girls 1 cup\b", + "\b2 girls one cup\b", + "\b2g1c\b", + "\b4r5e\b", + "\b5h1t\b", + "\b5hit\b", + "\b8===D\b", + "\b8==D\b", + "\b8=D\b", + "\ba$$\b", + "\ba$$hole\b", + "\ba_s_s\b", + "\ba2m\b", + "\ba55\b", + "\ba55hole\b", + "\bacrotomophilia\b", + "\baeolus\b", + "\bahole\b", + "\balabama hot pocket\b", + "\balaskan pipeline\b", + "\banal\b", + "\banal impaler\b", + "\banal leakage\b", + "\banalprobe\b", + "\banilingus\b", + "\bangrydragon\b", + "\bangry dragon\b", + "\banus\b", + "\bapeshit\b", + "\bar5e\b", + "\barian\b", + "\barrse\b", + "\barse\b", + "\barses\b", + "\barsehole\b", + "\baryan\b", + "\bass\b", + "\bass fuck\b", + "\bass hole\b", + "\bassbag\b", + "\bassbandit\b", + "\bassbang\b", + "\bassbanged\b", + "\bassbanger\b", + "\bassbangs\b", + "\bassbite\b", + "\bassclown\b", + "\basscock\b", + "\basscracker\b", + "\basses\b", + "\bassface\b", + "\bassfaces\b", + "\bassfuck\b", + "\bassfucker\b", + "\bass-fucker\b", + "\bassfukka\b", + "\bassgoblin\b", + "\bassh0le\b", + "\basshat\b", + "\bass-hat\b", + "\basshead\b", + "\bassho1e\b", + "\basshole\b", + "\bassholes\b", + "\basshopper\b", + "\bass-jabber\b", + "\bassjacker\b", + "\basslick\b", + "\basslicker\b", + "\bassmaster\b", + "\bassmonkey\b", + "\bassmucus\b", + "\bassmunch\b", + "\bassmuncher\b", + "\bassnigger\b", + "\basspirate\b", + "\bass-pirate\b", + "\bassshit\b", + "\bassshole\b", + "\basssucker\b", + "\basswad\b", + "\basswhole\b", + "\basswipe\b", + "\basswipes\b", + "\bauto erotic\b", + "\bautoerotic\b", + "\baxwound\b", + "\baxewound\b", + "\baxe wound\b", + "\bazazel\b", + "\bazz\b", + "\bb!tch\b", + "\bb00bs\b", + "\bb17ch\b", + "\bb1tch\b", + "\bbabeland\b", + "\bbaby batter\b", + "\bbaby juice\b", + "\bball gag\b", + "\bball gravy\b", + "\bball kicking\b", + "\bball licking\b", + "\bball sack\b", + "\bball sucking\b", + "\bballbag\b", + "\bballs\b", + "\bballsack\b", + "\bbampot\b", + "\bbang (one's) box\b", + "\bbangbros\b", + "\bbareback\b", + "\bbarely legal\b", + "\bbarenaked\b", + "\bbarf\b", + "\bbastard\b", + "\bbastardo\b", + "\bbastards\b", + "\bbastinado\b", + "\bbatty boy\b", + "\bbawdy\b", + "\bbbw\b", + "\bbdsm\b", + "\bbeaner\b", + "\bbeaners\b", + "\bbeardedclam\b", + "\bbeastial\b", + "\bbeastiality\b", + "\bbeatch\b", + "\bbeaver\b", + "\bbeaver cleaver\b", + "\bbeaver lips\b", + "\bbeef curtain\b", + "\bbeef curtains\b", + "\bbeeyotch\b", + "\bbellend\b", + "\bbender\b", + "\bbeotch\b", + "\bbescumber\b", + "\bbestial\b", + "\bbestiality\b", + "\bbi+ch\b", + "\bbiatch\b", + "\bbig black\b", + "\bbig breasts\b", + "\bbig knockers\b", + "\bbig tits\b", + "\bbigtits\b", + "\bbimbo\b", + "\bbimbos\b", + "\bbint\b", + "\bbirdlock\b", + "\bbitch\b", + "\bbitch tit\b", + "\bbitchass\b", + "\bbitched\b", + "\bbitcher\b", + "\bbitchers\b", + "\bbitches\b", + "\bbitchin\b", + "\bbitching\b", + "\bbitchtits\b", + "\bbitchy\b", + "\bblack cock\b", + "\bblonde action\b", + "\bblonde on blonde action\b", + "\bbloodclaat\b", + "\bbloody\b", + "\bbloody hell\b", + "\bblow job\b", + "\bblow me\b", + "\bblow mud\b", + "\bblow your load\b", + "\bblowjob\b", + "\bblowjobs\b", + "\bblue waffle\b", + "\bblumpkin\b", + "\bbod\b", + "\bbodily\b", + "\bboink\b", + "\bboiolas\b", + "\bbollock\b", + "\bbollocks\b", + "\bbollok\b", + "\bbollox\b", + "\bbondage\b", + "\bboned\b", + "\bboner\b", + "\bboners\b", + "\bbong\b", + "\bboob\b", + "\bboobies\b", + "\bboobs\b", + "\bbooby\b", + "\bbooger\b", + "\bbookie\b", + "\bboong\b", + "\bbooobs\b", + "\bboooobs\b", + "\bbooooobs\b", + "\bbooooooobs\b", + "\bbootee\b", + "\bbootie\b", + "\bbooty\b", + "\bbooty call\b", + "\bbooze\b", + "\bboozer\b", + "\bboozy\b", + "\bbosom\b", + "\bbosomy\b", + "\bbreasts\b", + "\bbreeder\b", + "\bbrotherfucker\b", + "\bbrown showers\b", + "\bbrunette action\b", + "\bbuceta\b", + "\bbugger\b", + "\bbukkake\b", + "\bbull shit\b", + "\bbulldyke\b", + "\bbullet vibe\b", + "\bbullshit\b", + "\bbullshits\b", + "\bbullshitted\b", + "\bbullturds\b", + "\bbum\b", + "\bbum boy\b", + "\bbumblefuck\b", + "\bbumclat\b", + "\bbummer\b", + "\bbuncombe\b", + "\bbung\b", + "\bbung hole\b", + "\bbunghole\b", + "\bbunny fucker\b", + "\bbust a load\b", + "\bbusty\b", + "\bbutt\b", + "\bbutt fuck\b", + "\bbutt plug\b", + "\bbuttcheeks\b", + "\bbuttfuck\b", + "\bbuttfucka\b", + "\bbuttfucker\b", + "\bbutthole\b", + "\bbuttmuch\b", + "\bbuttmunch\b", + "\bbutt-pirate\b", + "\bbuttplug\b", + "\bc.0.c.k\b", + "\bc.o.c.k.\b", + "\bc.u.n.t\b", + "\bc0ck\b", + "\bc-0-c-k\b", + "\bc0cksucker\b", + "\bcaca\b", + "\bcacafuego\b", + "\bcahone\b", + "\bcamel toe\b", + "\bcameltoe\b", + "\bcamgirl\b", + "\bcamslut\b", + "\bcamwhore\b", + "\bcarpet muncher\b", + "\bcarpetmuncher\b", + "\bcawk\b", + "\bcervix\b", + "\bchesticle\b", + "\bchi-chi man\b", + "\bchick with a dick\b", + "\bchild-fucker\b", + "\bchinc\b", + "\bchincs\b", + "\bchink\b", + "\bchinky\b", + "\bchoad\b", + "\bchoade\b", + "\bchoc ice\b", + "\bchocolate rosebuds\b", + "\bchode\b", + "\bchodes\b", + "\bchota bags\b", + "\bcipa\b", + "\bcirclejerk\b", + "\bcl1t\b", + "\bcleveland steamer\b", + "\bclimax\b", + "\bclit\b", + "\bclit licker\b", + "\bclitface\b", + "\bclitfuck\b", + "\bclitoris\b", + "\bclits\b", + "\bclitty\b", + "\bclitty litter\b", + "\bclover clamps\b", + "\bclunge\b", + "\bclusterfuck\b", + "\bcnut\b", + "\bcocain\b", + "\bcocaine\b", + "\bcoccydynia\b", + "\bcock\b", + "\bc-o-c-k\b", + "\bcock pocket\b", + "\bcock snot\b", + "\bcock sucker\b", + "\bcockass\b", + "\bcockbite\b", + "\bcockblock\b", + "\bcockburger\b", + "\bcockeye\b", + "\bcockface\b", + "\bcockfucker\b", + "\bcockhead\b", + "\bcockholster\b", + "\bcockjockey\b", + "\bcockknocker\b", + "\bcockknoker\b", + "\bcocklump\b", + "\bcockmaster\b", + "\bcockmongler\b", + "\bcockmongruel\b", + "\bcockmonkey\b", + "\bcockmunch\b", + "\bcockmuncher\b", + "\bcocknose\b", + "\bcocknugget\b", + "\bcocks\b", + "\bcockshit\b", + "\bcocksmith\b", + "\bcocksmoke\b", + "\bcocksmoker\b", + "\bcocksniffer\b", + "\bcocksuck\b", + "\bcocksucked\b", + "\bcocksucker\b", + "\bcock-sucker\b", + "\bcocksuckers\b", + "\bcocksucking\b", + "\bcocksucks\b", + "\bcocksuka\b", + "\bcocksukka\b", + "\bcockwaffle\b", + "\bcoffin dodger\b", + "\bcoital\b", + "\bcok\b", + "\bcokmuncher\b", + "\bcoksucka\b", + "\bcommie\b", + "\bcondom\b", + "\bcoochie\b", + "\bcoochy\b", + "\bcoon\b", + "\bcoonnass\b", + "\bcoons\b", + "\bcooter\b", + "\bcop some wood\b", + "\bcoprolagnia\b", + "\bcoprophilia\b", + "\bcorksucker\b", + "\bcornhole\b", + "\bcorp whore\b", + "\bcorpulent\b", + "\bcox\b", + "\bcrabs\b", + "\bcrack\b", + "\bcracker\b", + "\bcrackwhore\b", + "\bcrap\b", + "\bcrappy\b", + "\bcreampie\b", + "\bcretin\b", + "\bcrikey\b", + "\bcripple\b", + "\bcrotte\b", + "\bcum\b", + "\bcum chugger\b", + "\bcum dumpster\b", + "\bcum freak\b", + "\bcum guzzler\b", + "\bcumbubble\b", + "\bcumdump\b", + "\bcumdumpster\b", + "\bcumguzzler\b", + "\bcumjockey\b", + "\bcummer\b", + "\bcummin\b", + "\bcumming\b", + "\bcums\b", + "\bcumshot\b", + "\bcumshots\b", + "\bcumslut\b", + "\bcumstain\b", + "\bcumtart\b", + "\bcunilingus\b", + "\bcunillingus\b", + "\bcunnie\b", + "\bcunnilingus\b", + "\bcunny\b", + "\bcunt\b", + "\bc-u-n-t\b", + "\bcunt hair\b", + "\bcuntass\b", + "\bcuntbag\b", + "\bcuntface\b", + "\bcunthole\b", + "\bcunthunter\b", + "\bcuntlick\b", + "\bcuntlicker\b", + "\bcuntrag\b", + "\bcunts\b", + "\bcuntsicle\b", + "\bcuntslut\b", + "\bcunt-struck\b", + "\bcus\b", + "\bcut rope\b", + "\bcyalis\b", + "\bcyberfuc\b", + "\bcyberfuck\b", + "\bcyberfucked\b", + "\bcyberfucker\b", + "\bcyberfucking\b", + "\bd0ng\b", + "\bd0uch3\b", + "\bd0uche\b", + "\bd1ck\b", + "\bd1ld0\b", + "\bd1ldo\b", + "\bdago\b", + "\bdagos\b", + "\bdammit\b", + "\bdamn\b", + "\bdamned\b", + "\bdamnit\b", + "\bdarkie\b", + "\bdarn\b", + "\bdate rape\b", + "\bdaterape\b", + "\bdawgie-style\b", + "\bdeep throat\b", + "\bdeepthroat\b", + "\bdeggo\b", + "\bdendrophilia\b", + "\bdick\b", + "\bdick head\b", + "\bdick hole\b", + "\bdick shy\b", + "\bdickbag\b", + "\bdickbeaters\b", + "\bdickdipper\b", + "\bdickface\b", + "\bdickflipper\b", + "\bdickfuck\b", + "\bdickfucker\b", + "\bdickhead\b", + "\bdickheads\b", + "\bdickhole\b", + "\bdickish\b", + "\bdick-ish\b", + "\bdickjuice\b", + "\bdickmilk\b", + "\bdickmonger\b", + "\bdickripper\b", + "\bdicks\b", + "\bdicksipper\b", + "\bdickslap\b", + "\bdick-sneeze\b", + "\bdicksucker\b", + "\bdicksucking\b", + "\bdicktickler\b", + "\bdickwad\b", + "\bdickweasel\b", + "\bdickweed\b", + "\bdickwhipper\b", + "\bdickwod\b", + "\bdickzipper\b", + "\bdiddle\b", + "\bdike\b", + "\bdildo\b", + "\bdildos\b", + "\bdiligaf\b", + "\bdillweed\b", + "\bdimwit\b", + "\bdingle\b", + "\bdingleberries\b", + "\bdingleberry\b", + "\bdink\b", + "\bdinks\b", + "\bdipship\b", + "\bdirsa\b", + "\bdirty\b", + "\bdirty pillows\b", + "\bdirty sanchez\b", + "\bdiv\b", + "\bdlck\b", + "\bdog style\b", + "\bdog-fucker\b", + "\bdoggie style\b", + "\bdoggiestyle\b", + "\bdoggie-style\b", + "\bdoggin\b", + "\bdogging\b", + "\bdoggy style\b", + "\bdoggystyle\b", + "\bdoggy-style\b", + "\bdolcett\b", + "\bdomination\b", + "\bdominatrix\b", + "\bdommes\b", + "\bdong\b", + "\bdonkey punch\b", + "\bdonkeypunch\b", + "\bdonkeyribber\b", + "\bdoochbag\b", + "\bdoofus\b", + "\bdookie\b", + "\bdoosh\b", + "\bdopey\b", + "\bdouble dong\b", + "\bdouble penetration\b", + "\bdoublelift\b", + "\bdouch3\b", + "\bdouche\b", + "\bdouchebag\b", + "\bdouchebags\b", + "\bdouche-fag\b", + "\bdouchewaffle\b", + "\bdouchey\b", + "\bdp action\b", + "\bdrunk\b", + "\bdry hump\b", + "\bduche\b", + "\bdumass\b", + "\bdumb ass\b", + "\bdumbass\b", + "\bdumbasses\b", + "\bdumbcunt\b", + "\bdumbfuck\b", + "\bdumbshit\b", + "\bdummy\b", + "\bdumshit\b", + "\bdvda\b", + "\bdyke\b", + "\bdykes\b", + "\beat a dick\b", + "\beat hair pie\b", + "\beat my ass\b", + "\becchi\b", + "\bejaculate\b", + "\bejaculated\b", + "\bejaculates\b", + "\bejaculating\b", + "\bejaculatings\b", + "\bejaculation\b", + "\bejakulate\b", + "\berect\b", + "\berection\b", + "\berotic\b", + "\berotism\b", + "\bescort\b", + "\bessohbee\b", + "\beunuch\b", + "\bextacy\b", + "\bextasy\b", + "\bf u c k\b", + "\bf u c k e r\b", + "\bf.u.c.k\b", + "\bf_u_c_k\b", + "\bf4nny\b", + "\bfacial\b", + "\bfack\b", + "\bfag\b", + "\bfagbag\b", + "\bfagfucker\b", + "\bfagg\b", + "\bfagged\b", + "\bfagging\b", + "\bfaggit\b", + "\bfaggitt\b", + "\bfaggot\b", + "\bfaggotcock\b", + "\bfaggots\b", + "\bfaggs\b", + "\bfagot\b", + "\bfagots\b", + "\bfags\b", + "\bfagtard\b", + "\bfaig\b", + "\bfaigt\b", + "\bfanny\b", + "\bfannybandit\b", + "\bfannyflaps\b", + "\bfannyfucker\b", + "\bfanyy\b", + "\bfart\b", + "\bfartknocker\b", + "\bfatass\b", + "\bfcuk\b", + "\bfcuker\b", + "\bfcuking\b", + "\bfecal\b", + "\bfeck\b", + "\bfecker\b", + "\bfeist\b", + "\bfelch\b", + "\bfelcher\b", + "\bfelching\b", + "\bfellate\b", + "\bfellatio\b", + "\bfeltch\b", + "\bfeltcher\b", + "\bfemale squirting\b", + "\bfemdom\b", + "\bfenian\b", + "\bfice\b", + "\bfigging\b", + "\bfingerbang\b", + "\bfingerfuck\b", + "\bfingerfucked\b", + "\bfingerfucker\b", + "\bfingerfuckers\b", + "\bfingerfucking\b", + "\bfingerfucks\b", + "\bfingering\b", + "\bfist fuck\b", + "\bfisted\b", + "\bfistfuck\b", + "\bfistfucked\b", + "\bfistfucker\b", + "\bfistfuckers\b", + "\bfistfuckings\b", + "\bfistfucks\b", + "\bfisting\b", + "\bfisty\b", + "\bflamer\b", + "\bflange\b", + "\bflaps\b", + "\bfleshflute\b", + "\bflog the log\b", + "\bfloozy\b", + "\bfoad\b", + "\bfoah\b", + "\bfondle\b", + "\bfoobar\b", + "\bfook\b", + "\bfooker\b", + "\bfoot fetish\b", + "\bfootjob\b", + "\bforeskin\b", + "\bfreex\b", + "\bfrenchify\b", + "\bfrigg\b", + "\bfrigga\b", + "\bfrotting\b", + "\bfubar\b", + "\bfuc\b", + "\bfuck\b", + "\bf-u-c-k\b", + "\bfuck buttons\b", + "\bfuck hole\b", + "\bfuck off\b", + "\bfuck puppet\b", + "\bfuck trophy\b", + "\bfuck yo mama\b", + "\bfuck you\b", + "\bfucka\b", + "\bfuckass\b", + "\bfuck-ass\b", + "\bfuckbag\b", + "\bfuck bag\b", + "\bfuck-bitch\b", + "\bfuckboy\b", + "\bfuckbrain\b", + "\bfuckbutt\b", + "\bfuckbutter\b", + "\bfucked\b", + "\bfuckedup\b", + "\bfucked up\b", + "\bfucker\b", + "\bfuckers\b", + "\bfuckersucker\b", + "\bfuckface\b", + "\bfuckhead\b", + "\bfuckheads\b", + "\bfuckhole\b", + "\bfuckin\b", + "\bfucking\b", + "\bfuckings\b", + "\bfuckme\b", + "\bfuck me\b", + "\bfuckmeat\b", + "\bfucknugget\b", + "\bfucknut\b", + "\bfucknutt\b", + "\bfuckoff\b", + "\bfucks\b", + "\bfuckstick\b", + "\bfucktard\b", + "\bfuck-tard\b", + "\bfucktards\b", + "\bfucktart\b", + "\bfucktoy\b", + "\bfucktwat\b", + "\bfuckup\b", + "\bfuckwad\b", + "\bfuckwhit\b", + "\bfuckwit\b", + "\bfuckwitt\b", + "\bfudge packer\b", + "\bfudgepacker\b", + "\bfudge-packer\b", + "\bfuk\b", + "\bfuker\b", + "\bfukker\b", + "\bfukkers\b", + "\bfukkin\b", + "\bfuks\b", + "\bfukwhit\b", + "\bfukwit\b", + "\bfuq\b", + "\bfutanari\b", + "\bfux\b", + "\bfux0r\b", + "\bfvck\b", + "\bfxck\b", + "\bgae\b", + "\bgai\b", + "\bgang bang\b", + "\bgangbang\b", + "\bgang-bang\b", + "\bgangbanged\b", + "\bgangbangs\b", + "\bganja\b", + "\bgash\b", + "\bgassy ass\b", + "\bgay sex\b", + "\bgayass\b", + "\bgaybob\b", + "\bgaydo\b", + "\bgayfuck\b", + "\bgayfuckist\b", + "\bgaylord\b", + "\bgays\b", + "\bgaysex\b", + "\bgaytard\b", + "\bgaywad\b", + "\bgender bender\b", + "\bgenitals\b", + "\bgey\b", + "\bgfy\b", + "\bghay\b", + "\bghey\b", + "\bgiant cock\b", + "\bgigolo\b", + "\bginger\b", + "\bgippo\b", + "\bgirl on\b", + "\bgirl on top\b", + "\bgirls gone wild\b", + "\bglans\b", + "\bgoatcx\b", + "\bgoatse\b", + "\bgod\b", + "\bgod damn\b", + "\bgodamn\b", + "\bgodamnit\b", + "\bgoddam\b", + "\bgod-dam\b", + "\bgoddammit\b", + "\bgoddamn\b", + "\bgoddamned\b", + "\bgod-damned\b", + "\bgoddamnit\b", + "\bgodsdamn\b", + "\bgokkun\b", + "\bgolden shower\b", + "\bgoldenshower\b", + "\bgolliwog\b", + "\bgonad\b", + "\bgonads\b", + "\bgoo girl\b", + "\bgooch\b", + "\bgoodpoop\b", + "\bgook\b", + "\bgooks\b", + "\bgoregasm\b", + "\bgringo\b", + "\bgrope\b", + "\bgroup sex\b", + "\bgspot\b", + "\bg-spot\b", + "\bgtfo\b", + "\bguido\b", + "\bguro\b", + "\bh0m0\b", + "\bh0mo\b", + "\bham flap\b", + "\bhand job\b", + "\bhandjob\b", + "\bhard core\b", + "\bhard on\b", + "\bhardcore\b", + "\bhardcoresex\b", + "\bhe11\b", + "\bhebe\b", + "\bheeb\b", + "\bhell\b", + "\bhemp\b", + "\bhentai\b", + "\bheroin\b", + "\bherp\b", + "\bherpes\b", + "\bherpy\b", + "\bheshe\b", + "\bhe-she\b", + "\bhircismus\b", + "\bhitler\b", + "\bhiv\b", + "\bhoar\b", + "\bhoare\b", + "\bhobag\b", + "\bhoe\b", + "\bhoer\b", + "\bholy shit\b", + "\bhom0\b", + "\bhomey\b", + "\bhomo\b", + "\bhomodumbshit\b", + "\bhomoerotic\b", + "\bhomoey\b", + "\bhonkey\b", + "\bhonky\b", + "\bhooch\b", + "\bhookah\b", + "\bhooker\b", + "\bhoor\b", + "\bhootch\b", + "\bhooter\b", + "\bhooters\b", + "\bhore\b", + "\bhorniest\b", + "\bhorny\b", + "\bhot carl\b", + "\bhot chick\b", + "\bhotsex\b", + "\bhow to kill\b", + "\bhow to murdep\b", + "\bhow to murder\b", + "\bhuge fat\b", + "\bhump\b", + "\bhumped\b", + "\bhumping\b", + "\bhun\b", + "\bhussy\b", + "\bhymen\b", + "\biap\b", + "\biberian slap\b", + "\binbred\b", + "\bincest\b", + "\binjun\b", + "\bintercourse\b", + "\bjack off\b", + "\bjackass\b", + "\bjackasses\b", + "\bjackhole\b", + "\bjackoff\b", + "\bjack-off\b", + "\bjaggi\b", + "\bjagoff\b", + "\bjail bait\b", + "\bjailbait\b", + "\bjap\b", + "\bjaps\b", + "\bjelly donut\b", + "\bjerk\b", + "\bjerk off\b", + "\bjerk0ff\b", + "\bjerkass\b", + "\bjerked\b", + "\bjerkoff\b", + "\bjerk-off\b", + "\bjigaboo\b", + "\bjiggaboo\b", + "\bjiggerboo\b", + "\bjism\b", + "\bjiz\b", + "\bjizm\b", + "\bjizz\b", + "\bjizzed\b", + "\bjock\b", + "\bjuggs\b", + "\bjungle bunny\b", + "\bjunglebunny\b", + "\bjunkie\b", + "\bjunky\b", + "\bkafir\b", + "\bkawk\b", + "\bkike\b", + "\bkikes\b", + "\bkill\b", + "\bkinbaku\b", + "\bkinkster\b", + "\bkinky\b", + "\bklan\b", + "\bknob\b", + "\bknob end\b", + "\bknobbing\b", + "\bknobead\b", + "\bknobed\b", + "\bknobend\b", + "\bknobhead\b", + "\bknobjocky\b", + "\bknobjokey\b", + "\bkock\b", + "\bkondum\b", + "\bkondums\b", + "\bkooch\b", + "\bkooches\b", + "\bkootch\b", + "\bkraut\b", + "\bkum\b", + "\bkummer\b", + "\bkumming\b", + "\bkums\b", + "\bkunilingus\b", + "\bkunja\b", + "\bkunt\b", + "\bkwif\b", + "\bkyke\b", + "\bl3i+ch\b", + "\bl3itch\b", + "\blabia\b", + "\blameass\b", + "\blardass\b", + "\bleather restraint\b", + "\bleather straight jacket\b", + "\blech\b", + "\blemon party\b", + "\bLEN\b", + "\bleper\b", + "\blesbian\b", + "\blesbians\b", + "\blesbo\b", + "\blesbos\b", + "\blez\b", + "\blezza/lesbo\b", + "\blezzie\b", + "\blmao\b", + "\blmfao\b", + "\bloin\b", + "\bloins\b", + "\blolita\b", + "\blooney\b", + "\blovemaking\b", + "\blube\b", + "\blust\b", + "\blusting\b", + "\blusty\b", + "\bm0f0\b", + "\bm0fo\b", + "\bm45terbate\b", + "\bma5terb8\b", + "\bma5terbate\b", + "\bmafugly\b", + "\bmake me come\b", + "\bmale squirting\b", + "\bmams\b", + "\bmasochist\b", + "\bmassa\b", + "\bmasterb8\b", + "\bmasterbat*\b", + "\bmasterbat3\b", + "\bmasterbate\b", + "\bmaster-bate\b", + "\bmasterbating\b", + "\bmasterbation\b", + "\bmasterbations\b", + "\bmasturbate\b", + "\bmasturbating\b", + "\bmasturbation\b", + "\bmaxi\b", + "\bmcfagget\b", + "\bmenage a trois\b", + "\bmenses\b", + "\bmeth\b", + "\bm-fucking\b", + "\bmick\b", + "\bmicrophallus\b", + "\bmiddle finger\b", + "\bmidget\b", + "\bmilf\b", + "\bminge\b", + "\bminger\b", + "\bmissionary position\b", + "\bmof0\b", + "\bmofo\b", + "\bmo-fo\b", + "\bmolest\b", + "\bmong\b", + "\bmoo moo foo foo\b", + "\bmoolie\b", + "\bmoron\b", + "\bmothafuck\b", + "\bmothafucka\b", + "\bmothafuckas\b", + "\bmothafuckaz\b", + "\bmothafucked\b", + "\bmothafucker\b", + "\bmothafuckers\b", + "\bmothafuckin\b", + "\bmothafucking\b", + "\bmothafuckings\b", + "\bmothafucks\b", + "\bmother fucker\b", + "\bmotherfuck\b", + "\bmotherfucka\b", + "\bmotherfucked\b", + "\bmotherfucker\b", + "\bmotherfuckers\b", + "\bmotherfuckin\b", + "\bmotherfucking\b", + "\bmotherfuckings\b", + "\bmotherfuckka\b", + "\bmotherfucks\b", + "\bmound of venus\b", + "\bmr hands\b", + "\bmuff\b", + "\bmuff diver\b", + "\bmuff puff\b", + "\bmuffdiver\b", + "\bmuffdiving\b", + "\bmunging\b", + "\bmunter\b", + "\bmurder\b", + "\bmutha\b", + "\bmuthafecker\b", + "\bmuthafuckker\b", + "\bmuther\b", + "\bmutherfucker\b", + "\bn1gga\b", + "\bn1gger\b", + "\bnaked\b", + "\bnambla\b", + "\bnapalm\b", + "\bnappy\b", + "\bnawashi\b", + "\bnazi\b", + "\bnazism\b", + "\bneed the dick\b", + "\bnegro\b", + "\bneonazi\b", + "\bnig nog\b", + "\bnigaboo\b", + "\bnigg3r\b", + "\bnigg4h\b", + "\bnigga\b", + "\bniggah\b", + "\bniggas\b", + "\bniggaz\b", + "\bnigger\b", + "\bniggers\b", + "\bniggle\b", + "\bniglet\b", + "\bnig-nog\b", + "\bnimphomania\b", + "\bnimrod\b", + "\bninny\b", + "\bninnyhammer\b", + "\bnipple\b", + "\bnipples\b", + "\bnob\b", + "\bnob jokey\b", + "\bnobhead\b", + "\bnobjocky\b", + "\bnobjokey\b", + "\bnonce\b", + "\bnsfw images\b", + "\bnude\b", + "\bnudity\b", + "\bnumbnuts\b", + "\bnut butter\b", + "\bnut sack\b", + "\bnutsack\b", + "\bnutter\b", + "\bnympho\b", + "\bnymphomania\b", + "\boctopussy\b", + "\bold bag\b", + "\bomg\b", + "\bomorashi\b", + "\bone cup two girls\b", + "\b1 cup 2 girls\b", + "\bone cup 2 girls\b", + "\b1 cup two girls\b", + "\bone guy one jar\b", + "\b1 guy one jar\b", + "\bone guy 1 jar\b", + "\bopiate\b", + "\bopium\b", + "\borally\b", + "\borgan\b", + "\borgasim\b", + "\borgasims\b", + "\borgasm\b", + "\borgasmic\b", + "\borgasms\b", + "\borgies\b", + "\borgy\b", + "\bovary\b", + "\bovum\b", + "\bovums\b", + "\bp.u.s.s.y.\b", + "\bp.u.s.s.y\b", + "\bp0rn\b", + "\bpaedophile\b", + "\bpaki\b", + "\bpanooch\b", + "\bpansy\b", + "\bpantie\b", + "\bpanties\b", + "\bpanty\b", + "\bpawn\b", + "\bpcp\b", + "\bpecker\b", + "\bpeckerhead\b", + "\bpedo\b", + "\bpedobear\b", + "\bpedophile\b", + "\bpedophilia\b", + "\bpedophiliac\b", + "\bpee\b", + "\bpeepee\b", + "\bpegging\b", + "\bpenetrate\b", + "\bpenetration\b", + "\bpenial\b", + "\bpenile\b", + "\bpenis\b", + "\bpenisbanger\b", + "\bpenisfucker\b", + "\bpenispuffer\b", + "\bperversion\b", + "\bphallic\b", + "\bphone sex\b", + "\bphonesex\b", + "\bphuck\b", + "\bphuk\b", + "\bphuked\b", + "\bphuking\b", + "\bphukked\b", + "\bphukking\b", + "\bphuks\b", + "\bphuq\b", + "\bpiece of shit\b", + "\bpigfucker\b", + "\bpikey\b", + "\bpillowbiter\b", + "\bpimp\b", + "\bpimpis\b", + "\bpinko\b", + "\bpiss\b", + "\bpiss off\b", + "\bpiss pig\b", + "\bpissed\b", + "\bpissed off\b", + "\bpisser\b", + "\bpissers\b", + "\bpisses\b", + "\bpissflaps\b", + "\bpiss flaps\b", + "\bpissin\b", + "\bpissing\b", + "\bpissoff\b", + "\bpiss-off\b", + "\bpisspig\b", + "\bplayboy\b", + "\bpleasure chest\b", + "\bpolack\b", + "\bpole smoker\b", + "\bpolesmoker\b", + "\bpollock\b", + "\bponyplay\b", + "\bpoof\b", + "\bpoon\b", + "\bpoonani\b", + "\bpoonany\b", + "\bpoontang\b", + "\bpoop\b", + "\bpoop chute\b", + "\bpoopchute\b", + "\bPoopuncher\b", + "\bporch monkey\b", + "\bporchmonkey\b", + "\bporn\b", + "\bporno\b", + "\bpornography\b", + "\bpornos\b", + "\bpotty\b", + "\bprick\b", + "\bpricks\b", + "\bprickteaser\b", + "\bprig\b", + "\bprince albert piercing\b", + "\bprod\b", + "\bpron\b", + "\bprone bone\b", + "\bpronebone\b", + "\bprone-bone\b", + "\bprostitute\b", + "\bprude\b", + "\bpsycho\b", + "\bpthc\b", + "\bpube\b", + "\bpubes\b", + "\bpubic\b", + "\bpubis\b", + "\bpunani\b", + "\bpunanny\b", + "\bpunany\b", + "\bpunkass\b", + "\bpunky\b", + "\bpunta\b", + "\bpuss\b", + "\bpusse\b", + "\bpussi\b", + "\bpussies\b", + "\bpussy\b", + "\bpussy fart\b", + "\bpussy palace\b", + "\bpussylicking\b", + "\bpussypounder\b", + "\bpussys\b", + "\bpust\b", + "\bputo\b", + "\bqueaf\b", + "\bqueef\b", + "\bqueer\b", + "\bqueerbait\b", + "\bqueerhole\b", + "\bqueero\b", + "\bqueers\b", + "\bquicky\b", + "\bquim\b", + "\bracy\b", + "\braghead\b", + "\braging boner\b", + "\brape\b", + "\braped\b", + "\braper\b", + "\brapey\b", + "\braping\b", + "\brapist\b", + "\braunch\b", + "\brectal\b", + "\brectum\b", + "\brectus\b", + "\breefer\b", + "\breetard\b", + "\breich\b", + "\brenob\b", + "\bretard\b", + "\bretarded\b", + "\breverse cowgirl\b", + "\brevue\b", + "\brimjaw\b", + "\brimjob\b", + "\brimming\b", + "\britard\b", + "\brosy palm\b", + "\brosy palm and her 5 sisters\b", + "\brtard\b", + "\br-tard\b", + "\brubbish\b", + "\brum\b", + "\brump\b", + "\brumprammer\b", + "\bruski\b", + "\brusty trombone\b", + "\bs&m\b", + "\bs.h.i.t.\b", + "\bs.o.b.\b", + "\bs_h_i_t\b", + "\bs0b\b", + "\bsadism\b", + "\bsadist\b", + "\bsambo\b", + "\bsand nigger\b", + "\bsandbar\b", + "\bSandler\b", + "\bsandnigger\b", + "\bsanger\b", + "\bsantorum\b", + "\bsausage queen\b", + "\bscag\b", + "\bscantily\b", + "\bscat\b", + "\bschizo\b", + "\bschlong\b", + "\bscissoring\b", + "\bscrew\b", + "\bscrewed\b", + "\bscrewing\b", + "\bscroat\b", + "\bscrog\b", + "\bscrot\b", + "\bscrote\b", + "\bscrotum\b", + "\bscrud\b", + "\bscum\b", + "\bseaman\b", + "\bseduce\b", + "\bseks\b", + "\bsemen\b", + "\bsex\b", + "\bsexo\b", + "\bsexual\b", + "\bsexy\b", + "\bsh!+\b", + "\bsh!t\b", + "\bsh1t\b", + "\bs-h-1-t\b", + "\bshag\b", + "\bshagger\b", + "\bshaggin\b", + "\bshagging\b", + "\bshamedame\b", + "\bshaved beaver\b", + "\bshaved pussy\b", + "\bshemale\b", + "\bshi+\b", + "\bshibari\b", + "\bshirt lifter\b", + "\bshit\b", + "\bs-h-i-t\b", + "\bshit ass\b", + "\bshit fucker\b", + "\bshitass\b", + "\bshitbag\b", + "\bshitbagger\b", + "\bshitblimp\b", + "\bshitbrains\b", + "\bshitbreath\b", + "\bshitcanned\b", + "\bshitcunt\b", + "\bshitdick\b", + "\bshite\b", + "\bshiteater\b", + "\bshited\b", + "\bshitey\b", + "\bshitface\b", + "\bshitfaced\b", + "\bshitfuck\b", + "\bshitfull\b", + "\bshithead\b", + "\bshitheads\b", + "\bshithole\b", + "\bshithouse\b", + "\bshiting\b", + "\bshitings\b", + "\bshits\b", + "\bshitspitter\b", + "\bshitstain\b", + "\bshitt\b", + "\bshitted\b", + "\bshitter\b", + "\bshitters\b", + "\bshittier\b", + "\bshittiest\b", + "\bshitting\b", + "\bshittings\b", + "\bshitty\b", + "\bshiz\b", + "\bshiznit\b", + "\bshota\b", + "\bshrimping\b", + "\bsissy\b", + "\bskag\b", + "\bskank\b", + "\bskeet\b", + "\bskullfuck\b", + "\bslag\b", + "\bslanteye\b", + "\bslave\b", + "\bsleaze\b", + "\bsleazy\b", + "\bslope\b", + "\bslut\b", + "\bslut bucket\b", + "\bslutbag\b", + "\bslutdumper\b", + "\bslutkiss\b", + "\bsluts\b", + "\bsmartass\b", + "\bsmartasses\b", + "\bsmeg\b", + "\bsmegma\b", + "\bsmut\b", + "\bsmutty\b", + "\bsnatch\b", + "\bsniper\b", + "\bsnowballing\b", + "\bsnuff\b", + "\bs-o-b\b", + "\bsod off\b", + "\bsodom\b", + "\bsodomize\b", + "\bsodomy\b", + "\bson of a bitch\b", + "\bson of a motherless goat\b", + "\bson of a whore\b", + "\bson-of-a-bitch\b", + "\bsouse\b", + "\bsoused\b", + "\bspac\b", + "\bspade\b", + "\bsperm\b", + "\bspic\b", + "\bspick\b", + "\bspik\b", + "\bspiks\b", + "\bsplooge\b", + "\bsplooge moose\b", + "\bspooge\b", + "\bspook\b", + "\bspread legs\b", + "\bspunk\b", + "\bstfu\b", + "\bstiffy\b", + "\bstoned\b", + "\bstrap on\b", + "\bstrapon\b", + "\bstrappado\b", + "\bstrip\b", + "\bstrip club\b", + "\bstroke\b", + "\bstupid\b", + "\bstyle doggy\b", + "\bsuck\b", + "\bsuckass\b", + "\bsucked\b", + "\bsucking\b", + "\bsucks\b", + "\bsuicide girls\b", + "\bsultry women\b", + "\bsumofabiatch\b", + "\bswastikav\b", + "\bswinger\b", + "\bt1t\b", + "\bt1tt1e5\b", + "\bt1tties\b", + "\btaff\b", + "\btaig\b", + "\btainted love\b", + "\btaking the piss\b", + "\btampon\b", + "\btard\b", + "\btart\b", + "\btaste my\b", + "\btawdry\b", + "\btea bagging\b", + "\bteabagging\b", + "\bteat\b", + "\bteets\b", + "\bteez\b", + "\bteste\b", + "\btestee\b", + "\btestes\b", + "\btestical\b", + "\btesticle\b", + "\btestis\b", + "\bthreesome\b", + "\bthroating\b", + "\bthrust\b", + "\bthug\b", + "\bthundercunt\b", + "\bthunder cunt\b", + "\btied up\b", + "\btight white\b", + "\btinkle\b", + "\btit\b", + "\btit wank\b", + "\btitfuck\b", + "\btiti\b", + "\btities\b", + "\btits\b", + "\btitt\b", + "\btittie5\b", + "\btittiefucker\b", + "\btitties\b", + "\btitty\b", + "\btittyfuck\b", + "\btittyfucker\b", + "\btittywank\b", + "\btitwank\b", + "\btoke\b", + "\btongue in a\b", + "\btoots\b", + "\btopless\b", + "\btosser\b", + "\btowelhead\b", + "\btramp\b", + "\btranny\b", + "\btrashy\b", + "\btribadism\b", + "\btrumped\b", + "\btub girl\b", + "\btubgirl\b", + "\bturd\b", + "\btush\b", + "\btushy\b", + "\btw4t\b", + "\btwat\b", + "\btwathead\b", + "\btwatlips\b", + "\btwats\b", + "\btwatty\b", + "\btwatting\b", + "\btwatwaffle\b", + "\btwink\b", + "\btwinkie\b", + "\btwo fingers\b", + "\btwo fingers with tongue\b", + "\btwo girls 1 cup\b", + "\btwo girls one cup\b", + "\btwunt\b", + "\btwunter\b", + "\bugly\b", + "\bunclefucker\b", + "\bundies\b", + "\bundressing\b", + "\bunwed\b", + "\bupskirt\b", + "\burethra play\b", + "\burinal\b", + "\burine\b", + "\burophilia\b", + "\buterus\b", + "\buzi\b", + "\bv14gra\b", + "\bv1gra\b", + "\bvag\b", + "\bvagina\b", + "\bvajayjay\b", + "\bva-j-j\b", + "\bvalium\b", + "\bvenus mound\b", + "\bveqtable\b", + "\bviagra\b", + "\bvibrator\b", + "\bviolet wand\b", + "\bvirgin\b", + "\bvixen\b", + "\bvjayjay\b", + "\bvodka\b", + "\bvomit\b", + "\bvorarephilia\b", + "\bvoyeur\b", + "\bvulgar\b", + "\bvulva\b", + "\bw00se\b", + "\bwad\b", + "\bwang\b", + "\bwank\b", + "\bwanker\b", + "\bwankjob\b", + "\bwanky\b", + "\bwazoo\b", + "\bwedgie\b", + "\bweed\b", + "\bweenie\b", + "\bweewee\b", + "\bweiner\b", + "\bweirdo\b", + "\bwench\b", + "\bwet dream\b", + "\bwetback\b", + "\bwh0re\b", + "\bwh0reface\b", + "\bwhite power\b", + "\bwhiz\b", + "\bwhoar\b", + "\bwhoralicious\b", + "\bwhore\b", + "\bwhorealicious\b", + "\bwhorebag\b", + "\bwhored\b", + "\bwhoreface\b", + "\bwhorehopper\b", + "\bwhorehouse\b", + "\bwhores\b", + "\bwhoring\b", + "\bwigger\b", + "\bwillies\b", + "\bwilly\b", + "\bwindow licker\b", + "\bwiseass\b", + "\bwiseasses\b", + "\bwog\b", + "\bwomb\b", + "\bwop\b", + "\bwrapping men\b", + "\bwrinkled starfish\b", + "\bxrated\b", + "\bx-rated\b", + "\bxx\b", + "\bxxx\b", + "\byaoi\b", + "\byeasty\b", + "\byellow showers\b", + "\byid\b", + "\byiffy\b", + "\byobbo\b", + "\bzibbi\b", + "\bzoophilia\b", + "\bzubb\b", - "жид(у|ам|)", - "матьтвою", - "твоюмать", - "путин", - "смерть$", - "фаш(ик|ист|из)", - "войне$", - "чушпан$", - "украин.*", - "бл(я|уа|и)(д|т)", - "бл(я|уа)", - "вл(я|уа)", - "н(е|и)г(е|)р", - "гей", - "гомик", - "анус$", - "член$", - "уретра$", - "давалка", - "рукоблуд", - "ссанина", - "ссанина", - "очко$", - "пилотка$", - "вагина", - "влагалище", - "дроч(|ь|ила)", - "мошонка$", - "елда$", - "пердун", - "путана", - "г(о|а)ловка", - "блев", - "г(о|а)в(е|)н", - "жоп", - "(о|а)н(о|а)нист.*", - "гнид(а|о|у|ы)", - "к(а|о)злина$", - "к(о|а)зел$", - "к(о|а)за$", - "сволоч(ь|ъ|и|уга|ам|ами).*", - "лошар.*", - "ло(х|шок)$", - "лох[уеыаоэяию].*", - ".*урод(ы|у|ам|ина|ины).*", - ".*бля(т|д).*", - ".*гандо.*", - "м(а|о)нд(а|о).*", - "муда(к|ч)", - ".*сперма.*", - "уеб(ан|ок)", - "уебищ", - ".*[уеыаоэяию]еб$", - "суч(к|)(а|у|и|е|ой|ай).*", - "придур(ок|ки).*", - "д(е|и)би(л|лы).*", - "сос(ать|и|ешь|у)$", - "залуп.*", - "кака$", - "кака(ш|х)", - "наци(ст|к|з)$", - "моча$", - "муд(е|ил|о|а|я|еб).*", - ".*шалав(а|ы|ам|е|ами).*", - ".*пр(а|о)ст(и|е)т(у|е)тк(а|и|ам|е|ами).*", - ".*шлюх(а|и|ам|е|ами).*", - ".*(х)у(й|и|ю|я|е|л(и|е)).*", - ".*п(и|е|ы|у)зд.*", - "пенис", - "пис(ю|я|ьк|ос)", - ".*попа$", - "(с|сц)ук(а|о|и|у).*", - "сись", - "ублюд(к|ок)", - "еб.*", - "ебуч.*", - ".*(д(о|а)лб(о|а)|разъ|разь|за|вы|по)ебы*.*", - ".*п(и|е)д(а|о|е|)р.*", - ".*хер.*", - "хрен", - "уби(й|в|т|л)", - "уб(о|е)й", - "куси оча$", - "кус$", - "кер$", - "куни ота$", - "бева$", - "канчик$", - "кун$", - "далбен$", - "буз$", - "гов$", - "чалаб$", - "куслес$", - "аблах$", - "кунте$", - "кунти$", - "кул$", - "кыл$", - "кудаки рих$", - "куси биби$", - "кери бобо$", - "сиях$", - "саг$", + "\bжид(у|ам|)\b", + "\bпутин\b", + "\bтвоюмать\b", + "\bсмерть$\b", + "\bфаш(ик|ист|из)\b", + "\bвойне$\b", + "\bчушпан$\b", + "\bукраин.*\b", + "\bбл(я|уа|и)(д|т)\b", + "\bбл(я|уа)\b", + "\bвл(я|уа)\b", + "\bн(е|и)г(е|)р\b", + "\bгей\b", + "\bгомик\b", + "\bанус$\b", + "\bчлен$\b", + "\bуретра$\b", + "\bдавалка\b", + "\bрукоблуд\b", + "\bссанина\b", + "\bочко$\b", + "\bпилотка$\b", + "\bвагина\b", + "\bвлагалище\b", + "\bдроч(|ь|ила)\b", + "\bмошонка$\b", + "\bелда$\b", + "\bпердун\b", + "\bпутана\b", + "\bг(о|а)ловка\b", + "\bблев\b", + "\bг(о|а)в(е|)н\b", + "\bжоп\b", + "\b(о|а)н(о|а)нист.*\b", + "\bгнид(а|о|у|ы)\b", + "\bк(а|о)злина$\b", + "\bк(о|а)зел$\b", + "\bк(о|а)за$\b", + "\bсволоч(ь|ъ|и|уга|ам|ами).*\b", + "\bлошар.*\b", + "\bло(х|шок)$\b", + "\bлох[уеыаоэяию].*\b", + "\b.*урод(ы|у|ам|ина|ины).*\b", + "\b.*бля(т|д).*\b", + "\b.*гандо.*\b", + "\bм(а|о)нд(а|о).*\b", + "\bмуда(к|ч)\b", + "\b.*сперма.*\b", + "\bуеб(ан|ок)\b", + "\bуебищ\b", + "\b.*[уеыаоэяию]еб$\b", + "\bсуч(к|)(а|у|и|е|ой|ай).*\b", + "\bпридур(ок|ки).*\b", + "\bд(е|и)би(л|лы).*\b", + "\bсос(ать|и|ешь|у)$\b", + "\bзалуп.*\b", + "\bкака$\b", + "\bкака(ш|х)\b", + "\bнаци(ст|к|з)$\b", + "\bмоча$\b", + "\bмуд(е|ил|о|а|я|еб).*\b", + "\b.*шалав(а|ы|ам|е|ами).*\b", + "\b.*пр(а|о)ст(и|е)т(у|е)тк(а|и|ам|е|ами).*\b", + "\b.*шлюх(а|и|ам|е|ами).*\b", + "\b.*(х)у(й|и|ю|я|е|л(и|е)).*\b", + "\b.*п(и|е|ы|у)зд.*\b", + "\bпенис\b", + "\bпис(ю|я|ьк|ос)\b", + "\b.*попа$\b", + "\b(с|сц)ук(а|о|и|у).*\b", + "\bсись\b", + "\bублюд(к|ок)\b", + "\bеб\\w*\b", + "\b.*(д(о|а)лб(о|а)|разъ|разь|за|вы|по)ебы*.*\b", + "\b.*п(и|е)д(а|о|е|)р.*\b", + "\b.*хер.*\b", + "\bхрен\b", + "\bуби(й|в|т|л)\b", + "\bуб(о|е)й\b", + "\bкуси оча$\b", + "\bкус$\b", + "\bкер$\b", + "\bкуни ота$\b", + "\bбева$\b", + "\bканчик$\b", + "\bкун$\b", + "\bдалбен$\b", + "\bбуз$\b", + "\bгов$\b", + "\bчалаб$\b", + "\bкуслес$\b", + "\bаблах$\b", + "\bкунте$\b", + "\bкунти$\b", + "\bкул$\b", + "\bкыл$\b", + "\bкудаки рих$\b", + "\bкуси биби$\b", + "\bкери бобо$\b", + "\bсиях$\b", + "\bсаг$\b", }; } }