bekindprofanityfilter 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/CONTRIBUTORS.md +106 -0
  2. package/LICENSE +22 -0
  3. package/README.md +1015 -0
  4. package/allprofanity.config.example.json +35 -0
  5. package/bin/init.js +49 -0
  6. package/config.schema.json +163 -0
  7. package/dist/algos/aho-corasick.d.ts +75 -0
  8. package/dist/algos/aho-corasick.js +238 -0
  9. package/dist/algos/aho-corasick.js.map +1 -0
  10. package/dist/algos/bloom-filter.d.ts +103 -0
  11. package/dist/algos/bloom-filter.js +208 -0
  12. package/dist/algos/bloom-filter.js.map +1 -0
  13. package/dist/algos/context-patterns.d.ts +102 -0
  14. package/dist/algos/context-patterns.js +484 -0
  15. package/dist/algos/context-patterns.js.map +1 -0
  16. package/dist/index.d.ts +1332 -0
  17. package/dist/index.js +2631 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/innocence-scoring.d.ts +23 -0
  20. package/dist/innocence-scoring.js +118 -0
  21. package/dist/innocence-scoring.js.map +1 -0
  22. package/dist/language-detector.d.ts +162 -0
  23. package/dist/language-detector.js +952 -0
  24. package/dist/language-detector.js.map +1 -0
  25. package/dist/language-dicts.d.ts +60 -0
  26. package/dist/language-dicts.js +2718 -0
  27. package/dist/language-dicts.js.map +1 -0
  28. package/dist/languages/arabic-words.d.ts +10 -0
  29. package/dist/languages/arabic-words.js +1649 -0
  30. package/dist/languages/arabic-words.js.map +1 -0
  31. package/dist/languages/bengali-words.d.ts +10 -0
  32. package/dist/languages/bengali-words.js +1696 -0
  33. package/dist/languages/bengali-words.js.map +1 -0
  34. package/dist/languages/brazilian-words.d.ts +10 -0
  35. package/dist/languages/brazilian-words.js +2122 -0
  36. package/dist/languages/brazilian-words.js.map +1 -0
  37. package/dist/languages/chinese-words.d.ts +10 -0
  38. package/dist/languages/chinese-words.js +2728 -0
  39. package/dist/languages/chinese-words.js.map +1 -0
  40. package/dist/languages/english-primary-all-languages.d.ts +23 -0
  41. package/dist/languages/english-primary-all-languages.js +36894 -0
  42. package/dist/languages/english-primary-all-languages.js.map +1 -0
  43. package/dist/languages/english-words.d.ts +5 -0
  44. package/dist/languages/english-words.js +5156 -0
  45. package/dist/languages/english-words.js.map +1 -0
  46. package/dist/languages/french-words.d.ts +10 -0
  47. package/dist/languages/french-words.js +2326 -0
  48. package/dist/languages/french-words.js.map +1 -0
  49. package/dist/languages/german-words.d.ts +10 -0
  50. package/dist/languages/german-words.js +2633 -0
  51. package/dist/languages/german-words.js.map +1 -0
  52. package/dist/languages/hindi-words.d.ts +10 -0
  53. package/dist/languages/hindi-words.js +2341 -0
  54. package/dist/languages/hindi-words.js.map +1 -0
  55. package/dist/languages/innocent-words.d.ts +41 -0
  56. package/dist/languages/innocent-words.js +109 -0
  57. package/dist/languages/innocent-words.js.map +1 -0
  58. package/dist/languages/italian-words.d.ts +10 -0
  59. package/dist/languages/italian-words.js +2287 -0
  60. package/dist/languages/italian-words.js.map +1 -0
  61. package/dist/languages/japanese-words.d.ts +11 -0
  62. package/dist/languages/japanese-words.js +2557 -0
  63. package/dist/languages/japanese-words.js.map +1 -0
  64. package/dist/languages/korean-words.d.ts +10 -0
  65. package/dist/languages/korean-words.js +2509 -0
  66. package/dist/languages/korean-words.js.map +1 -0
  67. package/dist/languages/russian-words.d.ts +10 -0
  68. package/dist/languages/russian-words.js +2175 -0
  69. package/dist/languages/russian-words.js.map +1 -0
  70. package/dist/languages/spanish-words.d.ts +11 -0
  71. package/dist/languages/spanish-words.js +2536 -0
  72. package/dist/languages/spanish-words.js.map +1 -0
  73. package/dist/languages/tamil-words.d.ts +10 -0
  74. package/dist/languages/tamil-words.js +1722 -0
  75. package/dist/languages/tamil-words.js.map +1 -0
  76. package/dist/languages/telugu-words.d.ts +10 -0
  77. package/dist/languages/telugu-words.js +1739 -0
  78. package/dist/languages/telugu-words.js.map +1 -0
  79. package/dist/romanization-detector.d.ts +50 -0
  80. package/dist/romanization-detector.js +779 -0
  81. package/dist/romanization-detector.js.map +1 -0
  82. package/package.json +79 -0
@@ -0,0 +1,1649 @@
1
+ /**
2
+ * Arabic profanity words list
3
+ * Contains common profanities, insults, and offensive terms. Includes variations.
4
+ * ⚠️ Warning: This file contains explicit language in Arabic
5
+ */
6
+ const arabicBadWords = {
7
+ // Core vulgar words
8
+ "كس": { s: 4, c: 4 },
9
+ "كس أمك": { s: 4, c: 4 },
10
+ "كس اختك": { s: 4, c: 4 },
11
+ "زب": { s: 4, c: 4 },
12
+ "زبي": { s: 4, c: 4 },
13
+ "طيز": { s: 3, c: 4 },
14
+ "شرموطة": { s: 5, c: 4 },
15
+ "شرموط": { s: 5, c: 4 },
16
+ "قحبة": { s: 5, c: 4 },
17
+ "عاهرة": { s: 5, c: 4 },
18
+ "عاهرات": { s: 5, c: 4 },
19
+ "العاهرات": { s: 5, c: 4 },
20
+ "ابن العاهرة": { s: 5, c: 4 },
21
+ "ابن الشرموطة": { s: 5, c: 5 },
22
+ "ابن القحبة": { s: 5, c: 5 },
23
+ "ابن الكلب": { s: 3, c: 4 },
24
+ // Insults
25
+ "أحمق": { s: 1, c: 4 },
26
+ "حمقى": { s: 1, c: 4 },
27
+ "الأحمق": { s: 1, c: 4 },
28
+ "وغد": { s: 1, c: 4 },
29
+ "أيها الوغد": { s: 1, c: 4 },
30
+ "سافل": { s: 1, c: 4 },
31
+ "أيها الحقير": { s: 1, c: 4 },
32
+ "حثالة": { s: 1, c: 4 },
33
+ "حمار": { s: 3, c: 4 },
34
+ "كلب": { s: 1, c: 4 },
35
+ "يا ابن الحرام": { s: 3, c: 4 },
36
+ "خول": { s: 1, c: 4 },
37
+ "ديوث": { s: 1, c: 4 },
38
+ "عرص": { s: 1, c: 4 },
39
+ "منيك": { s: 3, c: 5 },
40
+ "متناك": { s: 3, c: 5 },
41
+ // Curses
42
+ "اللعنة": { s: 3, c: 4 },
43
+ "اللعين": { s: 3, c: 4 },
44
+ "أيها اللعين": { s: 3, c: 4 },
45
+ "يلعن أبوك": { s: 1, c: 4 },
46
+ "يلعن دينك": { s: 3, c: 4 },
47
+ "لعنة": { s: 3, c: 4 },
48
+ // Sexual
49
+ "نيك": { s: 3, c: 5 },
50
+ "سخيف": { s: 3, c: 4 },
51
+ "مارس الجنس مع": { s: 3, c: 4 },
52
+ "القذف": { s: 3, c: 4 },
53
+ "الجنس": { s: 3, c: 4 },
54
+ "المواد الإباحية": { s: 3, c: 4 },
55
+ "زنا": { s: 3, c: 4 },
56
+ "لوطي": { s: 3, c: 4 },
57
+ // Slurs
58
+ "الشاذ": { s: 5, c: 4 },
59
+ "الشواذ": { s: 5, c: 4 },
60
+ "مثلي الجنس": { s: 5, c: 4 },
61
+ "زنجي": { s: 5, c: 4 },
62
+ "الزنوج": { s: 5, c: 4 },
63
+ "نازي": { s: 5, c: 5 },
64
+ // Body parts / functions (vulgar)
65
+ "قضيب": { s: 4, c: 3 },
66
+ "مؤخرة": { s: 4, c: 3 },
67
+ "المؤخرات": { s: 4, c: 3 },
68
+ "خصية": { s: 4, c: 3 },
69
+ "بول": { s: 4, c: 3 },
70
+ "تبول": { s: 4, c: 3 },
71
+ "خرا": { s: 4, c: 5 },
72
+ "القواد": { s: 4, c: 3 },
73
+ "سادي": { s: 4, c: 3 },
74
+ // Egyptian / regional
75
+ "أحا": { s: 3, c: 4 },
76
+ "الكلبة": { s: 3, c: 4 },
77
+ "الكلبات": { s: 3, c: 4 },
78
+ // Egyptian dialect
79
+ "ابن المتناكة": { s: 3, c: 5 },
80
+ "يا خول": { s: 3, c: 4 },
81
+ "شرموطة أمك": { s: 5, c: 4 },
82
+ "كسمك": { s: 4, c: 4 },
83
+ "عرص ابن العرص": { s: 3, c: 4 },
84
+ "ابن الوسخة": { s: 3, c: 4 },
85
+ "يا واطي": { s: 3, c: 4 },
86
+ "يا وسخ": { s: 3, c: 4 },
87
+ "ابن الشرشوحة": { s: 3, c: 4 },
88
+ "متناكة": { s: 3, c: 5 },
89
+ // Levantine dialect (Syrian/Lebanese/Palestinian/Jordanian)
90
+ "كس إمك": { s: 4, c: 4 },
91
+ "أيري فيك": { s: 4, c: 4 },
92
+ "أيري": { s: 4, c: 4 },
93
+ "روح إنتاك": { s: 3, c: 5 },
94
+ "منيوك": { s: 3, c: 5 },
95
+ "منيوكة": { s: 3, c: 5 },
96
+ "كلب ابن الكلب": { s: 3, c: 4 },
97
+ "يا حيوان": { s: 3, c: 4 },
98
+ "يلعن أبوك وأبو يلي خلفك": { s: 1, c: 4 },
99
+ "زبالة": { s: 3, c: 4 },
100
+ "يا قذر": { s: 3, c: 4 },
101
+ // Gulf dialect (Saudi/UAE/Kuwait/Qatar)
102
+ "ثور": { s: 1, c: 4 },
103
+ "حمار ابن حمار": { s: 3, c: 4 },
104
+ "يا تيس": { s: 1, c: 4 },
105
+ "قواد": { s: 3, c: 4 },
106
+ "معرص": { s: 3, c: 4 },
107
+ "ديوس": { s: 3, c: 4 },
108
+ "زق": { s: 3, c: 5 },
109
+ // Maghreb dialect (Morocco/Tunisia/Algeria)
110
+ "نعل بوك": { s: 1, c: 4 },
111
+ "نيك موك": { s: 3, c: 5 },
112
+ "زمل": { s: 3, c: 4 },
113
+ "قحبة أمك": { s: 5, c: 4 },
114
+ "تفو عليك": { s: 3, c: 4 },
115
+ "ولد الحرام": { s: 3, c: 4 },
116
+ "يا زنديق": { s: 3, c: 4 },
117
+ // Iraqi dialect
118
+ "ابن الگحبة": { s: 5, c: 5 },
119
+ "كحبة": { s: 5, c: 4 },
120
+ "گواد": { s: 3, c: 4 },
121
+ "ابن الگلب": { s: 3, c: 4 },
122
+ "چلب": { s: 3, c: 4 },
123
+ "بيض": { s: 4, c: 4 },
124
+ "طرطور": { s: 3, c: 4 },
125
+ "مقعد": { s: 3, c: 4 },
126
+ "چفخانة": { s: 3, c: 4 },
127
+ "يبن الگحبة": { s: 5, c: 5 },
128
+ "عيني عينك": { s: 3, c: 4 },
129
+ // Egyptian dialect (additional)
130
+ "عيل وسخ": { s: 3, c: 4 },
131
+ "يا خرا": { s: 3, c: 5 },
132
+ "بقرة": { s: 3, c: 4 },
133
+ "يا حمارة": { s: 3, c: 4 },
134
+ "أمك": { s: 3, c: 4 },
135
+ "كسم": { s: 3, c: 4 },
136
+ "طيزك": { s: 3, c: 4 },
137
+ "يا معفن": { s: 3, c: 4 },
138
+ "يا زبالة": { s: 3, c: 4 },
139
+ "ابن الجزمة": { s: 3, c: 4 },
140
+ "يا جلدة": { s: 3, c: 4 },
141
+ "يا عبيط": { s: 1, c: 4 },
142
+ "يا أهبل": { s: 1, c: 4 },
143
+ "ابن أبوه": { s: 1, c: 4 },
144
+ "يا ابن اللبوة": { s: 3, c: 4 },
145
+ "يا مجنون": { s: 3, c: 4 },
146
+ "بتاع نسوان": { s: 3, c: 4 },
147
+ "يا كلبة": { s: 3, c: 4 },
148
+ "يا ملعون": { s: 3, c: 4 },
149
+ "يا ابن الحيوانة": { s: 3, c: 4 },
150
+ "حلق بره": { s: 3, c: 4 },
151
+ "اتلم يا وسخ": { s: 3, c: 4 },
152
+ // Levantine dialect (additional)
153
+ "طز": { s: 3, c: 4 },
154
+ "طز فيك": { s: 3, c: 4 },
155
+ "روح انيك أمك": { s: 3, c: 5 },
156
+ "يلعن ربك": { s: 3, c: 4 },
157
+ "يلعن عرضك": { s: 3, c: 4 },
158
+ "يلعن روحك": { s: 3, c: 4 },
159
+ "كس إختك": { s: 4, c: 4 },
160
+ "أيري بتمك": { s: 4, c: 4 },
161
+ "أيري بأمك": { s: 4, c: 4 },
162
+ "أيري بأختك": { s: 4, c: 4 },
163
+ "كل خرا": { s: 3, c: 5 },
164
+ "كل زق": { s: 3, c: 5 },
165
+ "شو هالحمار": { s: 3, c: 4 },
166
+ "روح انحاش": { s: 3, c: 4 },
167
+ "بدي فشخك": { s: 3, c: 4 },
168
+ "فشخ": { s: 3, c: 4 },
169
+ "منيوكين": { s: 3, c: 5 },
170
+ "شلحة": { s: 3, c: 4 },
171
+ // Gulf dialect (additional)
172
+ "يا حقير": { s: 3, c: 4 },
173
+ "يا وضيع": { s: 3, c: 4 },
174
+ "ابن الجلب": { s: 3, c: 4 },
175
+ "يبن الجحش": { s: 3, c: 4 },
176
+ "خنيث": { s: 3, c: 4 },
177
+ "يا منيوك": { s: 3, c: 5 },
178
+ "يا سفالة": { s: 3, c: 4 },
179
+ "مزين": { s: 3, c: 4 },
180
+ "طابور": { s: 2, c: 3 },
181
+ "يا فاجر": { s: 3, c: 4 },
182
+ "يا نذل": { s: 3, c: 4 },
183
+ "عديم الشرف": { s: 3, c: 4 },
184
+ "كلب ابن كلب": { s: 3, c: 4 },
185
+ "يا تافه": { s: 3, c: 4 },
186
+ "يا زفت": { s: 3, c: 4 },
187
+ "يا قرد": { s: 3, c: 4 },
188
+ // Maghreb dialect (additional)
189
+ "نعل دين ممك": { s: 3, c: 4 },
190
+ "نعل بو ممك": { s: 1, c: 4 },
191
+ "نعل دين بوك": { s: 1, c: 4 },
192
+ "يا زعطوط": { s: 1, c: 4 },
193
+ "يا كلاب": { s: 3, c: 4 },
194
+ "يا حشايشي": { s: 3, c: 4 },
195
+ "زعري": { s: 3, c: 4 },
196
+ "نعل شيطانك": { s: 3, c: 4 },
197
+ "يا بهيمة": { s: 3, c: 4 },
198
+ "متنيك": { s: 3, c: 5 },
199
+ "قحبة بنت قحبة": { s: 5, c: 4 },
200
+ // Standard Arabic insults (additional)
201
+ "وقح": { s: 1, c: 4 },
202
+ "سفيه": { s: 1, c: 4 },
203
+ "أبله": { s: 1, c: 4 },
204
+ "غبي": { s: 1, c: 4 },
205
+ "تافه": { s: 1, c: 4 },
206
+ "نذل": { s: 1, c: 4 },
207
+ "خسيس": { s: 1, c: 4 },
208
+ "لئيم": { s: 1, c: 4 },
209
+ "دنيء": { s: 1, c: 4 },
210
+ "وضيع": { s: 1, c: 4 },
211
+ "فاسق": { s: 1, c: 4 },
212
+ "فاجر": { s: 1, c: 4 },
213
+ "رذيل": { s: 1, c: 4 },
214
+ "منحط": { s: 1, c: 4 },
215
+ "ساقط": { s: 1, c: 4 },
216
+ "خائن": { s: 1, c: 4 },
217
+ "جبان": { s: 1, c: 4 },
218
+ "نجس": { s: 1, c: 4 },
219
+ "قذر": { s: 1, c: 4 },
220
+ "مقرف": { s: 1, c: 4 },
221
+ "حقير": { s: 1, c: 4 },
222
+ // Sexual terms (additional)
223
+ "لواط": { s: 4, c: 4 },
224
+ "سحاق": { s: 4, c: 4 },
225
+ "جماع": { s: 4, c: 4 },
226
+ "نكاح": { s: 4, c: 4 },
227
+ "فاحشة": { s: 4, c: 4 },
228
+ "زاني": { s: 4, c: 4 },
229
+ "زانية": { s: 4, c: 4 },
230
+ "داعرة": { s: 5, c: 4 },
231
+ "داعر": { s: 4, c: 4 },
232
+ "بغي": { s: 5, c: 4 },
233
+ "مومس": { s: 5, c: 4 },
234
+ "فاسقة": { s: 4, c: 4 },
235
+ // Romanized Arabic profanity (used online)
236
+ "kos omak": { s: 4, c: 5 },
237
+ "kos": { s: 4, c: 5 },
238
+ "ibn el sharmouta": { s: 3, c: 4 },
239
+ "ibn el sharmota": { s: 5, c: 5 },
240
+ "ya kalb": { s: 3, c: 5 },
241
+ "ya hmar": { s: 3, c: 5 },
242
+ "ya ibn el sharmouta": { s: 5, c: 5 },
243
+ "ya ibn el kahba": { s: 5, c: 5 },
244
+ "ya khara": { s: 3, c: 5 },
245
+ "telhas teezi": { s: 3, c: 5 },
246
+ "airi feek": { s: 4, c: 5 },
247
+ "kol khara": { s: 3, c: 5 },
248
+ "ya ahbal": { s: 1, c: 5 },
249
+ "ya wiskha": { s: 3, c: 5 },
250
+ "ya sharmout": { s: 5, c: 5 },
251
+ "ya sharmouta": { s: 5, c: 5 },
252
+ "ya manyak": { s: 3, c: 5 },
253
+ "ya manyouk": { s: 3, c: 5 },
254
+ "ya khawal": { s: 3, c: 5 },
255
+ "ya zefer": { s: 3, c: 5 },
256
+ "ya zift": { s: 3, c: 5 },
257
+ "ibn el metnaka": { s: 3, c: 5 },
258
+ "ya ebn el kahba": { s: 5, c: 5 },
259
+ "neek": { s: 3, c: 5 },
260
+ "nik": { s: 3, c: 5 },
261
+ // Body parts vulgar (additional)
262
+ "بظر": { s: 4, c: 3 },
263
+ "ثدي": { s: 4, c: 4 },
264
+ "خصيتين": { s: 4, c: 3 },
265
+ "شرج": { s: 4, c: 3 },
266
+ "فرج": { s: 4, c: 3 },
267
+ "عورة": { s: 4, c: 3 },
268
+ "حلمة": { s: 4, c: 3 },
269
+ "بزاز": { s: 4, c: 4 },
270
+ // Additional romanized Arabic profanity (online usage)
271
+ "ayre": { s: 4, c: 5 },
272
+ "ayri": { s: 4, c: 5 },
273
+ "ayre feek": { s: 4, c: 5 },
274
+ "ayre fi teezak": { s: 4, c: 5 },
275
+ "teez": { s: 3, c: 5 },
276
+ "teezak": { s: 3, c: 5 },
277
+ "teezi": { s: 3, c: 5 },
278
+ "zeb": { s: 4, c: 5 },
279
+ "zebi": { s: 4, c: 3 },
280
+ "zebb": { s: 4, c: 5 },
281
+ "sharmouta": { s: 5, c: 5 },
282
+ "sharmout": { s: 5, c: 5 },
283
+ "sharmota": { s: 5, c: 5 },
284
+ "ya kalb ibn kalb": { s: 3, c: 5 },
285
+ "ya ibn sharmouta": { s: 5, c: 5 },
286
+ "ibn sharmouta": { s: 5, c: 5 },
287
+ "kol khara wa moot": { s: 5, c: 5 },
288
+ "koss": { s: 4, c: 5 },
289
+ "kos okhtak": { s: 4, c: 5 },
290
+ "ya wati": { s: 3, c: 5 },
291
+ "ya wisikh": { s: 3, c: 5 },
292
+ "ya manyouka": { s: 3, c: 5 },
293
+ "ya ibn il metnaka": { s: 3, c: 5 },
294
+ "ya kharouf": { s: 3, c: 5 },
295
+ "ya dabbeh": { s: 1, c: 5 },
296
+ "tfeh alayk": { s: 3, c: 5 },
297
+ "telhas": { s: 3, c: 5 },
298
+ "inaal": { s: 3, c: 5 },
299
+ "ina'al abouk": { s: 1, c: 5 },
300
+ "ina'al deenak": { s: 3, c: 5 },
301
+ "ya zalameh": { s: 3, c: 5 },
302
+ "ya gazma": { s: 3, c: 5 },
303
+ "ya ibn il gazma": { s: 3, c: 5 },
304
+ "ya hayawan": { s: 3, c: 5 },
305
+ "ya kosomak": { s: 4, c: 5 },
306
+ "nikomak": { s: 3, c: 5 },
307
+ "ya gahba": { s: 5, c: 5 },
308
+ "ya zebbala": { s: 3, c: 5 },
309
+ "ya ta3ban": { s: 3, c: 5 },
310
+ "ya thawr": { s: 1, c: 5 },
311
+ "ya a3ma": { s: 3, c: 5 },
312
+ "ya atrash": { s: 3, c: 5 },
313
+ "ya ma3tooh": { s: 3, c: 5 },
314
+ "manyak": { s: 3, c: 5 },
315
+ "manyouk": { s: 3, c: 5 },
316
+ "kis": { s: 4, c: 5 },
317
+ "ya haiwan": { s: 3, c: 5 },
318
+ "wlad l7ram": { s: 3, c: 5 },
319
+ "ta7an": { s: 3, c: 5 },
320
+ "zabour": { s: 4, c: 5 },
321
+ // Iraqi dialect (additional)
322
+ "ابن الچلب": { s: 3, c: 4 },
323
+ "معيدي": { s: 1, c: 4 },
324
+ "بربوگ": { s: 1, c: 4 },
325
+ "خنزير": { s: 3, c: 4 },
326
+ "ابن الخنزير": { s: 3, c: 4 },
327
+ "حرامي": { s: 3, c: 4 },
328
+ "ديّوث": { s: 3, c: 4 },
329
+ "معرس": { s: 3, c: 4 },
330
+ "ابن السرماية": { s: 3, c: 4 },
331
+ "تيس": { s: 1, c: 4 },
332
+ "بعير": { s: 3, c: 4 },
333
+ "فدوة": { s: 3, c: 4 },
334
+ "زنخ": { s: 3, c: 4 },
335
+ "يبن القحبة": { s: 5, c: 5 },
336
+ "يابن الچلب": { s: 3, c: 4 },
337
+ "گلب": { s: 3, c: 4 },
338
+ "حيوان ابن حيوان": { s: 3, c: 4 },
339
+ "مسخرة": { s: 3, c: 4 },
340
+ "بغل": { s: 3, c: 4 },
341
+ "ابن البغل": { s: 3, c: 4 },
342
+ "جاكوج": { s: 3, c: 4 },
343
+ "خرب بيتك": { s: 3, c: 4 },
344
+ "يخرب بيتك": { s: 3, c: 4 },
345
+ "ابن الحرام": { s: 3, c: 4 },
346
+ "شلعوفة": { s: 1, c: 4 },
347
+ // Saudi/Khaleeji (additional)
348
+ "يا ثور": { s: 1, c: 4 },
349
+ "يا خسيس": { s: 3, c: 4 },
350
+ "يا سافل": { s: 3, c: 4 },
351
+ "يا ساقط": { s: 3, c: 4 },
352
+ "يا نجس": { s: 3, c: 4 },
353
+ "يا مخنث": { s: 3, c: 4 },
354
+ "يا عديم": { s: 3, c: 4 },
355
+ "ابن الحمار": { s: 3, c: 4 },
356
+ "يا جحش": { s: 3, c: 4 },
357
+ "ابن النعجة": { s: 3, c: 4 },
358
+ "طق عشر": { s: 3, c: 5 },
359
+ "لا أبوك": { s: 1, c: 4 },
360
+ "يا مطوع": { s: 3, c: 4 },
361
+ "يا بدوي": { s: 3, c: 4 },
362
+ "يا خرفان": { s: 3, c: 4 },
363
+ "يلعن بوك": { s: 1, c: 4 },
364
+ "يلعن بو أمك": { s: 1, c: 4 },
365
+ "أم الدحديرة": { s: 3, c: 4 },
366
+ "يا معرص": { s: 3, c: 4 },
367
+ "يا ديوث": { s: 3, c: 4 },
368
+ "يا جلد": { s: 3, c: 4 },
369
+ "وجهك خرا": { s: 3, c: 5 },
370
+ "يا حمار": { s: 3, c: 4 },
371
+ "يا بقر": { s: 3, c: 4 },
372
+ "ملعون الوالدين": { s: 3, c: 4 },
373
+ "يا سفيه": { s: 1, c: 4 },
374
+ "يا ابن الجزمة": { s: 3, c: 4 },
375
+ "خبل": { s: 3, c: 4 },
376
+ "يا خبل": { s: 3, c: 4 },
377
+ "هبيلة": { s: 1, c: 4 },
378
+ "يا هبيل": { s: 1, c: 4 },
379
+ // Yemeni profanity
380
+ "يا مسخوط": { s: 3, c: 4 },
381
+ "يا عكبري": { s: 3, c: 4 },
382
+ "قرعة": { s: 3, c: 4 },
383
+ "يا مقرع": { s: 3, c: 4 },
384
+ "يا أخي شيطان": { s: 3, c: 4 },
385
+ "يا ابن الفاجرة": { s: 3, c: 4 },
386
+ "يا ملعون ابو ابوك": { s: 1, c: 4 },
387
+ "ابن القبيحة": { s: 1, c: 4 },
388
+ "عقبري": { s: 3, c: 4 },
389
+ "يا مشخوط": { s: 3, c: 4 },
390
+ "يلعن تريبتك": { s: 3, c: 4 },
391
+ "يا خابث": { s: 3, c: 4 },
392
+ "مخبل": { s: 3, c: 4 },
393
+ "يا مخبل": { s: 3, c: 4 },
394
+ "شلّح": { s: 3, c: 4 },
395
+ "أمك هندية": { s: 5, c: 4 },
396
+ // Sudanese profanity
397
+ "يا كلب الزريبة": { s: 3, c: 4 },
398
+ "يا ود الحرام": { s: 3, c: 4 },
399
+ "يا ود الكلب": { s: 3, c: 4 },
400
+ "يا خواض": { s: 3, c: 4 },
401
+ "كُتر": { s: 3, c: 4 },
402
+ "أبو زبي": { s: 1, c: 4 },
403
+ "يا حشاش": { s: 3, c: 4 },
404
+ "يا ابو كرشة": { s: 3, c: 4 },
405
+ "يا جنجويدي": { s: 3, c: 4 },
406
+ "يا عبد": { s: 5, c: 4 },
407
+ "ابن الشيطانة": { s: 3, c: 4 },
408
+ "كمكم": { s: 3, c: 4 },
409
+ "يا نجاسة": { s: 3, c: 4 },
410
+ // Libyan profanity
411
+ "يا بن الكلبة": { s: 3, c: 4 },
412
+ "يا مزنوق": { s: 3, c: 4 },
413
+ "يا حاسي": { s: 3, c: 4 },
414
+ "نعل بو دينك": { s: 1, c: 4 },
415
+ "يا زربوط": { s: 3, c: 4 },
416
+ "يا خنفوس": { s: 3, c: 4 },
417
+ "كلب بن كلب": { s: 3, c: 4 },
418
+ "يا مرتد": { s: 3, c: 4 },
419
+ "أزعر": { s: 3, c: 4 },
420
+ "يا عاطل": { s: 3, c: 4 },
421
+ "يا بهلول": { s: 1, c: 4 },
422
+ "يا معجب": { s: 3, c: 4 },
423
+ "يا طبل": { s: 1, c: 4 },
424
+ // Tunisian profanity (additional)
425
+ "barcha": { s: 3, c: 4 },
426
+ "kahba": { s: 3, c: 4 },
427
+ "zamel": { s: 3, c: 4 },
428
+ "miboun": { s: 3, c: 4 },
429
+ "يا مبون": { s: 3, c: 4 },
430
+ "barra nik omek": { s: 3, c: 5 },
431
+ "barra": { s: 3, c: 4 },
432
+ "naek": { s: 3, c: 5 },
433
+ "zebbi": { s: 4, c: 4 },
434
+ "يا بهيم": { s: 3, c: 4 },
435
+ "يا كبش": { s: 3, c: 4 },
436
+ "يا حلوف": { s: 3, c: 4 },
437
+ "يا كافر": { s: 3, c: 4 },
438
+ "حمار حاشاك": { s: 3, c: 4 },
439
+ "يا مسطول": { s: 3, c: 4 },
440
+ "بلا كرامة": { s: 3, c: 4 },
441
+ "يا فاسد": { s: 3, c: 4 },
442
+ "عطري": { s: 3, c: 4 },
443
+ // Moroccan Darija profanity
444
+ "نعل": { s: 3, c: 4 },
445
+ "تبون": { s: 5, c: 5 },
446
+ "تبون أمك": { s: 5, c: 5 },
447
+ "زامل": { s: 3, c: 4 },
448
+ "يا قواد": { s: 3, c: 4 },
449
+ "نعل ديالك": { s: 3, c: 4 },
450
+ "نيك أمك": { s: 3, c: 5 },
451
+ "يا بوزبال": { s: 1, c: 4 },
452
+ "يا معفون": { s: 3, c: 4 },
453
+ "سير تقود": { s: 3, c: 4 },
454
+ "ولد لقحبة": { s: 5, c: 5 },
455
+ "بنت لقحبة": { s: 5, c: 4 },
456
+ "يا مول الخنونة": { s: 3, c: 4 },
457
+ "يا عيّاش": { s: 3, c: 4 },
458
+ "يا شفار": { s: 3, c: 4 },
459
+ "سير فحالك": { s: 3, c: 4 },
460
+ "ما كاين والو": { s: 3, c: 4 },
461
+ "يا كرياني": { s: 3, c: 4 },
462
+ "يا مقطوع من شجرة": { s: 3, c: 4 },
463
+ // Algerian profanity
464
+ "نعل بوك يخطيك": { s: 1, c: 4 },
465
+ "يا قواد ابن القواد": { s: 3, c: 4 },
466
+ "نيك موك يا حمار": { s: 3, c: 5 },
467
+ "يا حاشي": { s: 3, c: 4 },
468
+ "روح تنيك": { s: 3, c: 5 },
469
+ "والو فيك": { s: 3, c: 4 },
470
+ "يا مجرور": { s: 3, c: 4 },
471
+ "يا طحان": { s: 3, c: 4 },
472
+ "يا كبران": { s: 1, c: 4 },
473
+ "يا حقار": { s: 3, c: 4 },
474
+ "سكّت يا هبيل": { s: 1, c: 4 },
475
+ "يا ماكلة الراس": { s: 3, c: 4 },
476
+ "يا بخيل": { s: 3, c: 4 },
477
+ // Compound phrases (additional)
478
+ "يا ابن الستين كلب": { s: 3, c: 5 },
479
+ "يلعن ابو ابوك": { s: 1, c: 4 },
480
+ "يلعن سبع ارواح ابوك": { s: 1, c: 4 },
481
+ "يلعن ابوك على ابو ابوك": { s: 1, c: 4 },
482
+ "كس أمك على أمك": { s: 4, c: 5 },
483
+ "أيري بكل عيلتك": { s: 4, c: 5 },
484
+ "يلعن ابو هالجنسية": { s: 1, c: 4 },
485
+ "يا ابن ستين شرموطة": { s: 5, c: 5 },
486
+ "يا ابن ألف كلب": { s: 3, c: 5 },
487
+ "يلعن عرض أمك": { s: 3, c: 5 },
488
+ "يلعن أبو أمك": { s: 1, c: 4 },
489
+ "كس أخت إلي خلفك": { s: 4, c: 5 },
490
+ "أيري بأبوك وأبو أبوك": { s: 1, c: 4 },
491
+ "يلعن الساعة اللي اتولدت فيها": { s: 3, c: 5 },
492
+ "يا ابن المية كلب": { s: 3, c: 5 },
493
+ "كسمك يابن الوسخة": { s: 4, c: 5 },
494
+ "أنيكك أنت وأمك": { s: 3, c: 5 },
495
+ "على كس أمك": { s: 4, c: 5 },
496
+ // Additional sexual terms in Arabic
497
+ "مص": { s: 4, c: 4 },
498
+ "مصمص": { s: 4, c: 4 },
499
+ "لحس": { s: 4, c: 4 },
500
+ "ناكني": { s: 4, c: 5 },
501
+ "انيكك": { s: 4, c: 5 },
502
+ "ناك": { s: 4, c: 5 },
503
+ "ينيك": { s: 4, c: 5 },
504
+ "نياكة": { s: 4, c: 5 },
505
+ "نيّاك": { s: 4, c: 5 },
506
+ "شهوة": { s: 4, c: 4 },
507
+ "شبق": { s: 4, c: 4 },
508
+ "عاهر": { s: 5, c: 4 },
509
+ "مني": { s: 4, c: 4 },
510
+ "اغتصاب": { s: 5, c: 5 },
511
+ "تحرش": { s: 4, c: 4 },
512
+ "متحرش": { s: 4, c: 4 },
513
+ "قواد أمك": { s: 4, c: 4 },
514
+ // Additional body part vulgarities
515
+ "زبر": { s: 4, c: 3 },
516
+ "أير": { s: 4, c: 3 },
517
+ "كعب": { s: 4, c: 4 },
518
+ "منقة": { s: 4, c: 4 },
519
+ "كساس": { s: 4, c: 4 },
520
+ "طياز": { s: 4, c: 4 },
521
+ "بزازك": { s: 4, c: 4 },
522
+ "بزازها": { s: 4, c: 4 },
523
+ "طيزها": { s: 4, c: 4 },
524
+ "كسها": { s: 4, c: 4 },
525
+ "زبه": { s: 4, c: 4 },
526
+ "زبره": { s: 4, c: 4 },
527
+ // Homophobic terms across dialects (additional)
528
+ "لوطي ابن لوطي": { s: 5, c: 4 },
529
+ "يا لوطي": { s: 5, c: 4 },
530
+ "مخنث": { s: 5, c: 4 },
531
+ "شاذ جنسيا": { s: 5, c: 4 },
532
+ "يا شاذ": { s: 5, c: 4 },
533
+ "ممحون": { s: 5, c: 4 },
534
+ "يا ممحون": { s: 5, c: 4 },
535
+ "بنوتي": { s: 5, c: 4 },
536
+ "طنط": { s: 5, c: 4 },
537
+ "يا طنط": { s: 5, c: 4 },
538
+ "خنيثة": { s: 5, c: 4 },
539
+ "عالمة": { s: 5, c: 4 },
540
+ "زوج مرات": { s: 5, c: 4 },
541
+ // Religious insults
542
+ "يلعن دين أمك": { s: 2, c: 3 },
543
+ "يلعن الدين": { s: 2, c: 3 },
544
+ "يلعن دين ابوك": { s: 1, c: 4 },
545
+ "كافر ابن كافر": { s: 2, c: 3 },
546
+ "يا ملحد": { s: 2, c: 3 },
547
+ "يلعن دين ايلي خلفك": { s: 2, c: 3 },
548
+ "ابن الحرام ابن الحرام": { s: 3, c: 4 },
549
+ "يا مرتد ابن مرتد": { s: 2, c: 3 },
550
+ "يا كفّار": { s: 2, c: 3 },
551
+ "يلعن دين هالدنيا": { s: 2, c: 3 },
552
+ "يلعن الشيطان ابوك": { s: 1, c: 4 },
553
+ "يا ابن ابليس": { s: 2, c: 3 },
554
+ "يا عدو الله": { s: 2, c: 3 },
555
+ // Internet abbreviations used in Arabic chat
556
+ "كسمك ياخول": { s: 4, c: 3 },
557
+ "يبن الشرموطة": { s: 5, c: 5 },
558
+ "يبن المتناكة": { s: 3, c: 5 },
559
+ "يبن الوسخة": { s: 2, c: 3 },
560
+ "كسختك": { s: 4, c: 3 },
561
+ "يبن الكلب": { s: 2, c: 3 },
562
+ "يبن الحرام": { s: 3, c: 4 },
563
+ "يبن الزنا": { s: 2, c: 3 },
564
+ "امك شرموطة": { s: 5, c: 4 },
565
+ "اختك شرموطة": { s: 5, c: 4 },
566
+ "ابوك قواد": { s: 1, c: 4 },
567
+ "كس اختك ع امك": { s: 4, c: 3 },
568
+ "يلعن كسمك": { s: 4, c: 3 },
569
+ // ========================================
570
+ // === Franco-Arabic / Arabizi (Romanized with number substitutions) ===
571
+ // ========================================
572
+ "3ars": { s: 3, c: 5 },
573
+ "7mar": { s: 3, c: 5 },
574
+ "7ayawan": { s: 3, c: 5 },
575
+ "7mara": { s: 3, c: 5 },
576
+ "5awal": { s: 3, c: 5 },
577
+ "5ara": { s: 3, c: 5 },
578
+ "5aneeth": { s: 3, c: 5 },
579
+ "5anzeer": { s: 3, c: 5 },
580
+ "2a7a": { s: 3, c: 5 },
581
+ "kos 2omak": { s: 4, c: 5 },
582
+ "2eri": { s: 4, c: 5 },
583
+ "2eri feek": { s: 4, c: 5 },
584
+ "2eri fi teezak": { s: 4, c: 5 },
585
+ "te7an": { s: 3, c: 5 },
586
+ "3abd": { s: 5, c: 5 },
587
+ "za7af": { s: 3, c: 5 },
588
+ "zan2a": { s: 3, c: 5 },
589
+ "nayik": { s: 3, c: 5 },
590
+ "nayika": { s: 3, c: 5 },
591
+ "sha5 5ara": { s: 3, c: 5 },
592
+ "ya 5awal": { s: 3, c: 5 },
593
+ "ya 7ayawan": { s: 3, c: 5 },
594
+ "ya 7mar": { s: 3, c: 5 },
595
+ "ya 5anzeer": { s: 3, c: 5 },
596
+ "ya 3ars": { s: 3, c: 5 },
597
+ "5olo2": { s: 3, c: 5 },
598
+ "kos o5tak": { s: 4, c: 5 },
599
+ "ko55": { s: 4, c: 5 },
600
+ "3arsa": { s: 3, c: 5 },
601
+ "m3arras": { s: 3, c: 5 },
602
+ "manyoo2": { s: 3, c: 5 },
603
+ "manyoo2a": { s: 3, c: 5 },
604
+ "5ayen": { s: 3, c: 5 },
605
+ "met7arresh": { s: 3, c: 5 },
606
+ "e7'a": { s: 3, c: 5 },
607
+ "ya 2a5oo": { s: 3, c: 5 },
608
+ "ya ibn el 5ara": { s: 3, c: 5 },
609
+ "ya ibn el 7mar": { s: 3, c: 5 },
610
+ "ya ibn el 5anzeer": { s: 3, c: 5 },
611
+ "ibn 3ahira": { s: 5, c: 5 },
612
+ "ya zo2": { s: 3, c: 5 },
613
+ "ya fa7esh": { s: 3, c: 5 },
614
+ "ya za3ran": { s: 3, c: 5 },
615
+ "ya sefla": { s: 3, c: 5 },
616
+ "ya wa6i": { s: 3, c: 5 },
617
+ "ya na3al": { s: 3, c: 5 },
618
+ "3an kos omak": { s: 4, c: 5 },
619
+ "ya 5anees": { s: 3, c: 5 },
620
+ // ========================================
621
+ // === More Lebanese/Syrian Dialect ===
622
+ // ========================================
623
+ "انتاك": { s: 3, c: 5 },
624
+ "كس أختك يا ابن الشرموطة": { s: 5, c: 5 },
625
+ "يا ابن الملعون": { s: 3, c: 4 },
626
+ "يا قليل الأدب": { s: 3, c: 4 },
627
+ "فشخة": { s: 3, c: 4 },
628
+ "ابن الحرام المتناك": { s: 3, c: 4 },
629
+ "ابن الكلبة المتناكة": { s: 3, c: 5 },
630
+ "بدي أنيك عرضك": { s: 3, c: 5 },
631
+ "يا كلب الشارع": { s: 3, c: 4 },
632
+ "يا حمار الشارع": { s: 3, c: 4 },
633
+ "يا وقح": { s: 3, c: 4 },
634
+ "يا قليل الحيا": { s: 3, c: 4 },
635
+ "يا بلا كرامة": { s: 3, c: 4 },
636
+ "يا ابن الزنا المتناك": { s: 3, c: 5 },
637
+ "روح كل خرا وموت": { s: 5, c: 5 },
638
+ "روح فشخ حالك": { s: 3, c: 4 },
639
+ "يا أجرب": { s: 3, c: 4 },
640
+ // ========================================
641
+ // === More Moroccan Darija ===
642
+ // ========================================
643
+ "نيك بوك": { s: 1, c: 4 },
644
+ "زبي ف ممك": { s: 4, c: 4 },
645
+ "كول تبون ممك": { s: 5, c: 5 },
646
+ "ولد التبون": { s: 5, c: 5 },
647
+ "ولد الحشيش": { s: 3, c: 4 },
648
+ "يا حمار ولد الحمار": { s: 3, c: 4 },
649
+ "زبي فيك": { s: 4, c: 4 },
650
+ "تبون اختك": { s: 5, c: 5 },
651
+ "يا حلقوم": { s: 3, c: 4 },
652
+ "يا كلب ولد الكلب": { s: 3, c: 4 },
653
+ "يا زفت ولد الزفت": { s: 3, c: 4 },
654
+ "سير تقود يا ولد القحبة": { s: 5, c: 5 },
655
+ "يا بغل ولد البغل": { s: 3, c: 4 },
656
+ // ========================================
657
+ // === More Algerian Dialect ===
658
+ // ========================================
659
+ "نعل كوك": { s: 1, c: 4 },
660
+ "يا حمار يتنيك": { s: 3, c: 5 },
661
+ "روح يبان بوك": { s: 1, c: 4 },
662
+ "يا ولد الزنية": { s: 3, c: 4 },
663
+ "نعل ربك": { s: 3, c: 4 },
664
+ "يا قرعة": { s: 3, c: 4 },
665
+ "يا مهبول": { s: 3, c: 4 },
666
+ "يا قواد يبن القواد": { s: 3, c: 4 },
667
+ "يا شيطان": { s: 3, c: 4 },
668
+ "يا فراخ": { s: 3, c: 4 },
669
+ "يا حقار يبن الحقار": { s: 3, c: 4 },
670
+ "روح تنيك يا حمار": { s: 3, c: 5 },
671
+ "نعل بو ممك يا قواد": { s: 1, c: 4 },
672
+ // ========================================
673
+ // === More Tunisian Dialect ===
674
+ // ========================================
675
+ "يا كلب ابن الكلب": { s: 3, c: 4 },
676
+ "يا عفن": { s: 3, c: 4 },
677
+ "يا قحبة بنت القحبة": { s: 5, c: 4 },
678
+ "بارّا تنيّك": { s: 3, c: 5 },
679
+ "نعل بو زبك": { s: 1, c: 4 },
680
+ "نعل دين بو ممك": { s: 1, c: 4 },
681
+ "يا خنزير ابن الخنزير": { s: 3, c: 4 },
682
+ "يا متنيّك": { s: 3, c: 5 },
683
+ "يا حقير ابن الحقير": { s: 3, c: 4 },
684
+ "يا مسطول ابن المسطول": { s: 3, c: 4 },
685
+ "كاهبة بنت الكاهبة": { s: 5, c: 4 },
686
+ "بارّا روح": { s: 3, c: 4 },
687
+ "يا ابن الباطل": { s: 3, c: 4 },
688
+ // ========================================
689
+ // === More Egyptian Dialect ===
690
+ // ========================================
691
+ "يا ابن الوسخة المتناكة": { s: 3, c: 5 },
692
+ "يا ابن الشرشوحة المتناكة": { s: 3, c: 5 },
693
+ "كسمك يا خول": { s: 4, c: 4 },
694
+ "يا خول ابن الخول": { s: 3, c: 4 },
695
+ "يا عرص ابن العرص المتناك": { s: 3, c: 5 },
696
+ "يا كسمك": { s: 4, c: 4 },
697
+ "يا متناك ابن المتناكة": { s: 3, c: 5 },
698
+ "يا جزمة قديمة": { s: 3, c: 4 },
699
+ "عارف أمك كويس": { s: 3, c: 4 },
700
+ "يا ابن ستين في ستين": { s: 3, c: 4 },
701
+ "يا ابن المية شرموطة": { s: 5, c: 4 },
702
+ "يا ابن الشريفة": { s: 3, c: 4 },
703
+ "يا ابن العيلة الوسخة": { s: 3, c: 4 },
704
+ "يا أبو وش بايخ": { s: 3, c: 4 },
705
+ "يا ولاد الوسخة": { s: 3, c: 4 },
706
+ "يا ولاد الحرام الوسخين": { s: 3, c: 4 },
707
+ // ========================================
708
+ // === More Gulf/Khaleeji Dialect ===
709
+ // ========================================
710
+ "يا خنيث ابن الخنيث": { s: 3, c: 4 },
711
+ "يا مزين ابن المزين": { s: 3, c: 4 },
712
+ "يا ابن الثور": { s: 3, c: 4 },
713
+ "يا بغل ابن البغل": { s: 3, c: 4 },
714
+ "يا ابن التيس": { s: 3, c: 4 },
715
+ "يا ابن الخنزيرة": { s: 3, c: 4 },
716
+ "وجهك زق": { s: 3, c: 5 },
717
+ "يا صرصور": { s: 4, c: 4 },
718
+ "يا حشرة": { s: 3, c: 4 },
719
+ "يا نملة": { s: 3, c: 4 },
720
+ "لا شرف لك": { s: 3, c: 4 },
721
+ "يا عديم الأصل": { s: 3, c: 4 },
722
+ "يا قليل الأصل": { s: 3, c: 4 },
723
+ "يا مغفل": { s: 1, c: 4 },
724
+ "يا أبله ابن الأبله": { s: 1, c: 4 },
725
+ "أمك في الشارع": { s: 3, c: 4 },
726
+ "أبوك ديوث": { s: 1, c: 4 },
727
+ // ========================================
728
+ // === More Iraqi Dialect ===
729
+ // ========================================
730
+ "يا ابن الگحبة المعرصة": { s: 5, c: 4 },
731
+ "يا چلب ابن الچلب": { s: 3, c: 4 },
732
+ "يا بربوگ ابن البربوگ": { s: 1, c: 4 },
733
+ "گحبة أمك ع أمك": { s: 5, c: 4 },
734
+ "يخرب شرفك": { s: 3, c: 4 },
735
+ "ابن السنين گلب": { s: 3, c: 4 },
736
+ "يا ابن الطرطور": { s: 3, c: 4 },
737
+ "يا بعير ابن البعير": { s: 3, c: 4 },
738
+ "يا معيدي ابن المعيدي": { s: 1, c: 4 },
739
+ "يا ابن الحرامية": { s: 3, c: 4 },
740
+ "كسمك يا ابن الگحبة": { s: 5, c: 5 },
741
+ "يلعن بو جدك": { s: 1, c: 4 },
742
+ "يا ابن السلبوطة": { s: 3, c: 4 },
743
+ // ========================================
744
+ // === Omani Dialect ===
745
+ // ========================================
746
+ "يا خايس": { s: 3, c: 4 },
747
+ "يا معفن ابن المعفن": { s: 3, c: 4 },
748
+ "يا بوعلم": { s: 1, c: 4 },
749
+ "يا حيوان ابن الحيوان": { s: 3, c: 4 },
750
+ "أمك زانية": { s: 3, c: 4 },
751
+ "يا ابن الزانية": { s: 3, c: 4 },
752
+ "يلعن دين ابو ابوك": { s: 1, c: 4 },
753
+ "يا سخيف ابن السخيف": { s: 3, c: 4 },
754
+ // ========================================
755
+ // === Bahraini Dialect ===
756
+ // ========================================
757
+ "يا بقر ابن البقر": { s: 3, c: 4 },
758
+ "يا ثور ابن الثور": { s: 3, c: 4 },
759
+ "يا تيس ابن التيس": { s: 3, c: 4 },
760
+ "بو وجه خراب": { s: 3, c: 4 },
761
+ "يا خس": { s: 1, c: 4 },
762
+ "يا ماعز": { s: 3, c: 4 },
763
+ "يا عنز": { s: 3, c: 4 },
764
+ // ========================================
765
+ // === Kuwaiti Dialect ===
766
+ // ========================================
767
+ "يا خوش زبالة": { s: 3, c: 4 },
768
+ "يا ابن الخادمة": { s: 3, c: 4 },
769
+ "يا حافي": { s: 3, c: 4 },
770
+ "يا فقير ابن الفقير": { s: 3, c: 4 },
771
+ "ملعون أبوك وأبو أبوك": { s: 1, c: 4 },
772
+ "يا ابن الزفت الأسود": { s: 3, c: 4 },
773
+ "يا هبيل ابن الهبيل": { s: 1, c: 4 },
774
+ "يا خبل ابن الخبل": { s: 3, c: 4 },
775
+ // ========================================
776
+ // === Mauritanian Dialect ===
777
+ // ========================================
778
+ "يا كافر ابن الكافر": { s: 3, c: 4 },
779
+ "يا زنجي ابن الزنجي": { s: 5, c: 4 },
780
+ "يا عبد ابن العبد": { s: 5, c: 4 },
781
+ "يا ولد الحرام المطرود": { s: 3, c: 4 },
782
+ // ========================================
783
+ // === More Romanized Compound Phrases ===
784
+ // ========================================
785
+ "kos om el kol": { s: 4, c: 5 },
786
+ "telhas kos omak": { s: 4, c: 5 },
787
+ "telhas teez omak": { s: 3, c: 5 },
788
+ "ya ibn el 7aram": { s: 3, c: 5 },
789
+ "ya ibn el gahba": { s: 5, c: 5 },
790
+ "ya ibn el mara el wisikha": { s: 3, c: 5 },
791
+ "kol 5ara w moot": { s: 5, c: 5 },
792
+ "ya wlad el 7aram": { s: 3, c: 5 },
793
+ "ayre b kos omak": { s: 4, c: 5 },
794
+ "ayre b teezak": { s: 4, c: 5 },
795
+ "a7a ya 5awal": { s: 3, c: 5 },
796
+ "ya ibn el metnaka el wisikha": { s: 3, c: 5 },
797
+ "neek omak ya ibn el sharmouta": { s: 5, c: 5 },
798
+ "kos o5tak ya manyouk": { s: 4, c: 5 },
799
+ "rooh en2ebir": { s: 3, c: 5 },
800
+ "rooh inteek": { s: 3, c: 5 },
801
+ "ya zalameh ibn el zalameh": { s: 3, c: 5 },
802
+ "ya 7ayawan ibn el 7ayawan": { s: 3, c: 5 },
803
+ "kol zeg": { s: 3, c: 5 },
804
+ "ya ibn el shar6an": { s: 3, c: 5 },
805
+ "ya khanzeera": { s: 3, c: 5 },
806
+ "ya 7mara bint el 7mara": { s: 3, c: 5 },
807
+ "ibn el 3ahira el metnaika": { s: 5, c: 5 },
808
+ "ya zebi": { s: 4, c: 5 },
809
+ "ya t7in": { s: 3, c: 5 },
810
+ "ya m7ayen": { s: 3, c: 5 },
811
+ "ya zift ya zibele": { s: 3, c: 5 },
812
+ "barra nik": { s: 3, c: 5 },
813
+ "barra in3al bouk": { s: 1, c: 5 },
814
+ "zaml ibn el zaml": { s: 3, c: 5 },
815
+ "t7an fi omak": { s: 3, c: 5 },
816
+ "nikomak ya 7mar": { s: 3, c: 5 },
817
+ // ========================================
818
+ // === More Additional Sexual Terms ===
819
+ // ========================================
820
+ "نيكني يا زبي": { s: 4, c: 5 },
821
+ "مصي زبي": { s: 4, c: 4 },
822
+ "مصي أيري": { s: 4, c: 4 },
823
+ "نيك طيزك": { s: 4, c: 5 },
824
+ "نيك كسك": { s: 4, c: 5 },
825
+ "حط زبي بكسك": { s: 4, c: 4 },
826
+ "حط أيري بطيزك": { s: 4, c: 4 },
827
+ "بدي أنيك طيزك": { s: 4, c: 5 },
828
+ "بدي أنيك كسك": { s: 4, c: 5 },
829
+ "شلحي هدومك": { s: 4, c: 4 },
830
+ "يا بنت الشرموطة": { s: 5, c: 4 },
831
+ "بنت القحبة": { s: 5, c: 4 },
832
+ "بنت الكلب": { s: 4, c: 4 },
833
+ "بنت المتناكة": { s: 4, c: 5 },
834
+ "بنت الحرام": { s: 4, c: 4 },
835
+ "يا حبلة": { s: 4, c: 4 },
836
+ "يا فاتحة": { s: 4, c: 4 },
837
+ "يا واسعة": { s: 4, c: 4 },
838
+ "يا نجسة": { s: 4, c: 4 },
839
+ "يا وسخة": { s: 4, c: 4 },
840
+ "يا شريرة": { s: 4, c: 4 },
841
+ "يا لبوة": { s: 4, c: 4 },
842
+ // ========================================
843
+ // === EXPANSION: Egyptian dialect - extended ===
844
+ // ========================================
845
+ "ابن الشرموطة الوسخة": { s: 5, c: 4 },
846
+ "يا ابن اللبوة الوسخة": { s: 3, c: 4 },
847
+ "كسم ابوك": { s: 1, c: 4 },
848
+ "كسم اللي خلفك": { s: 4, c: 4 },
849
+ "كسم اللي جابك": { s: 4, c: 4 },
850
+ "يا ابن الوسخين": { s: 3, c: 4 },
851
+ "يا ابن المره الوسخة": { s: 3, c: 4 },
852
+ "يا متناك يا وسخ": { s: 3, c: 5 },
853
+ "يا خنزيرة": { s: 3, c: 4 },
854
+ "نيك أمك يا خول": { s: 3, c: 5 },
855
+ "يا ابن المره المتناكة": { s: 3, c: 5 },
856
+ "يا واد يا وسخ": { s: 3, c: 4 },
857
+ "يا واد يا ابن الوسخة": { s: 3, c: 4 },
858
+ "يا بنت الوسخة": { s: 3, c: 4 },
859
+ "يا بنت المتناكة": { s: 3, c: 5 },
860
+ "كسمك يا بنت الشرموطة": { s: 5, c: 4 },
861
+ "يا متناكة يا وسخة": { s: 3, c: 5 },
862
+ "يا شرموطة يا وسخة": { s: 5, c: 4 },
863
+ "اقطع من هنا": { s: 3, c: 4 },
864
+ "يا ابن الست": { s: 2, c: 3 },
865
+ "نيك امك يا ابن الشرموطة": { s: 5, c: 5 },
866
+ "يا ابن الأفعى": { s: 3, c: 4 },
867
+ "يا ملعون يا ابن الملعون": { s: 3, c: 4 },
868
+ "يا حمار يا ابن الحمار": { s: 3, c: 4 },
869
+ "يا غبي يا ابن الغبي": { s: 1, c: 4 },
870
+ "يا عبيط يا ابن العبيطة": { s: 1, c: 4 },
871
+ "يا أهبل يا ابن الهبلة": { s: 1, c: 4 },
872
+ "نيلة في ابوك": { s: 1, c: 4 },
873
+ "نيلة فيك": { s: 3, c: 4 },
874
+ "اللهم اكفينا شرك": { s: 3, c: 4 },
875
+ "يا ابن دين الكلب": { s: 3, c: 4 },
876
+ "يا بتاع كله": { s: 3, c: 4 },
877
+ "يا رخيصة": { s: 3, c: 4 },
878
+ "يا رخيص": { s: 3, c: 4 },
879
+ "يا قليلة الأدب": { s: 3, c: 4 },
880
+ "يا قليل الأدب يا ابن المتناكة": { s: 3, c: 5 },
881
+ "يا ابن الجزمة القديمة": { s: 3, c: 4 },
882
+ "يا ابن الشحاتة": { s: 3, c: 4 },
883
+ "يا ابن الشحات": { s: 3, c: 4 },
884
+ "يا ابن النيل": { s: 3, c: 4 },
885
+ "يا حيوانة": { s: 3, c: 4 },
886
+ "يلعن ابو دينك": { s: 1, c: 4 },
887
+ "يلعن كسم دينك": { s: 4, c: 4 },
888
+ "كسمين أمك": { s: 4, c: 4 },
889
+ "يا ابن التين": { s: 2, c: 3 },
890
+ "أختك شرموطة يا ابن الكلب": { s: 5, c: 4 },
891
+ "كسمك على كسمك": { s: 4, c: 4 },
892
+ "يا ابن الشلحة": { s: 3, c: 4 },
893
+ // ========================================
894
+ // === EXPANSION: Levantine dialect (Syrian) - extended ===
895
+ // ========================================
896
+ "روح لعند أمك": { s: 3, c: 4 },
897
+ "يا ابن القحبة المنيوكة": { s: 5, c: 5 },
898
+ "أيري بكل خلقتك": { s: 4, c: 4 },
899
+ "أيري بعرضك": { s: 4, c: 4 },
900
+ "أيري بدينك": { s: 4, c: 4 },
901
+ "أيري بربك": { s: 4, c: 4 },
902
+ "أيري بأبوك وأمك": { s: 1, c: 4 },
903
+ "كس أمك وأم اللي خلفك": { s: 4, c: 4 },
904
+ "يلعن عرض أمك وأبوك": { s: 3, c: 4 },
905
+ "يا مقطع من شجرة": { s: 3, c: 4 },
906
+ "يا قليل الشرف": { s: 3, c: 4 },
907
+ "يا عديم الشرف والكرامة": { s: 3, c: 4 },
908
+ "يا ابن الشرشوحة المنيوكة": { s: 3, c: 5 },
909
+ "يلعن روحك وروح اللي جابك": { s: 3, c: 4 },
910
+ "يا حيوان يا ابن الحيوان": { s: 3, c: 4 },
911
+ "روح انحاش من وجي": { s: 3, c: 4 },
912
+ "يا كلب يا ابن الكلب": { s: 3, c: 4 },
913
+ "يا مشلوح": { s: 3, c: 4 },
914
+ "يا مرمي": { s: 3, c: 4 },
915
+ "يا قرد يا ابن القرد": { s: 3, c: 4 },
916
+ "بدي فشخ وجهك": { s: 3, c: 4 },
917
+ "بدي كسر خشمك": { s: 3, c: 4 },
918
+ "بدي فرمك": { s: 3, c: 4 },
919
+ "بدي أنيك عيلتك": { s: 3, c: 5 },
920
+ "يلعن اللي خلفك": { s: 3, c: 4 },
921
+ "يلعن أبو خلقتك": { s: 1, c: 4 },
922
+ "كل خرا وموت": { s: 5, c: 5 },
923
+ "يا ابن الستين شرموطة": { s: 5, c: 4 },
924
+ "يا ابن الألف كلب": { s: 3, c: 4 },
925
+ "يا زبالة الشوارع": { s: 3, c: 4 },
926
+ "يا نفاية": { s: 3, c: 4 },
927
+ "يا قمامة": { s: 3, c: 4 },
928
+ "وجهك زبالة": { s: 3, c: 4 },
929
+ "يا منيك أمك": { s: 3, c: 5 },
930
+ // ========================================
931
+ // === EXPANSION: Levantine dialect (Lebanese) - extended ===
932
+ // ========================================
933
+ "كس إمك يا ابن القحبة": { s: 5, c: 5 },
934
+ "أيري فيك وبإمك": { s: 4, c: 4 },
935
+ "روح ولك": { s: 3, c: 4 },
936
+ "شو هالحمار هيدا": { s: 3, c: 4 },
937
+ "طز فيك وبأهلك": { s: 3, c: 4 },
938
+ "يلعن ابو ابوك على أبو جدك": { s: 1, c: 4 },
939
+ "يا ابن اللقيطة": { s: 3, c: 4 },
940
+ "يا لقيط": { s: 3, c: 4 },
941
+ "يا لقيطة": { s: 3, c: 4 },
942
+ "أيري بعين إمك": { s: 4, c: 4 },
943
+ "أيري بخشم ابوك": { s: 1, c: 4 },
944
+ "أيري بسبع ارواح ابوك": { s: 1, c: 4 },
945
+ "يا بلا تربية": { s: 3, c: 4 },
946
+ "يا قليل التربية": { s: 3, c: 4 },
947
+ "يا بلا أخلاق": { s: 3, c: 4 },
948
+ "يا شلخت": { s: 3, c: 4 },
949
+ "يا ناطرة عا الطريق": { s: 5, c: 4 },
950
+ "يا متل إمك": { s: 3, c: 4 },
951
+ "يا بيّاع عرضو": { s: 3, c: 4 },
952
+ "بدّي كسّرك": { s: 3, c: 4 },
953
+ "بدّي فرمك فرم": { s: 3, c: 4 },
954
+ "كس إمّك على إمّك": { s: 4, c: 4 },
955
+ "كس أخت يلي خلفك": { s: 4, c: 4 },
956
+ "يا معفّن يا ابن المعفّن": { s: 3, c: 4 },
957
+ "يا خرا ابن الخرا": { s: 3, c: 5 },
958
+ // ========================================
959
+ // === EXPANSION: Levantine dialect (Palestinian) - extended ===
960
+ // ========================================
961
+ "روح عن وجهي": { s: 3, c: 4 },
962
+ "يا ابن الملعونة": { s: 3, c: 4 },
963
+ "يا كلب الشوارع": { s: 3, c: 4 },
964
+ "يا حمار الحارة": { s: 3, c: 4 },
965
+ "يلعن ابو تربيتك": { s: 1, c: 4 },
966
+ "يلعن ابو هالوجه": { s: 1, c: 4 },
967
+ "يلعن ابو هالخلقة": { s: 1, c: 4 },
968
+ "يا ابن الحرام يا منيوك": { s: 3, c: 4 },
969
+ "كس أمك يا ابن الكلب": { s: 4, c: 4 },
970
+ "أيري فيك وبكل خلقتك": { s: 4, c: 4 },
971
+ "يا سافل يا ابن السافل": { s: 3, c: 4 },
972
+ "يا نذل يا ابن النذل": { s: 3, c: 4 },
973
+ "يا ابن الفاسقة": { s: 3, c: 4 },
974
+ "يا ابن المنيوكة الوسخة": { s: 3, c: 5 },
975
+ "روح إنتاك يا حمار": { s: 3, c: 5 },
976
+ "يا ابن الغانية": { s: 3, c: 4 },
977
+ "يلعن ابو سلالتك": { s: 1, c: 4 },
978
+ "يا مش ابن ناس": { s: 3, c: 4 },
979
+ // ========================================
980
+ // === EXPANSION: Levantine dialect (Jordanian) - extended ===
981
+ // ========================================
982
+ "يا زلمة الخايسة": { s: 3, c: 4 },
983
+ "يا ابن الكلبة العايرة": { s: 3, c: 4 },
984
+ "روح قصف بحرك": { s: 3, c: 4 },
985
+ "يا ابن القرمطية": { s: 3, c: 4 },
986
+ "يلعن بو سنسفيلك": { s: 3, c: 4 },
987
+ "يا ابن سبعين كلب": { s: 3, c: 4 },
988
+ "يلعن ابو خلقتك": { s: 1, c: 4 },
989
+ "يا مخبول": { s: 3, c: 4 },
990
+ "يا مخبولة": { s: 3, c: 4 },
991
+ "يا ابن العاهر": { s: 5, c: 4 },
992
+ "يا ابن الزنا المحصن": { s: 3, c: 4 },
993
+ "يا أجرب يا ابن الأجرب": { s: 3, c: 4 },
994
+ "يا ابن الفاجرة المنيوكة": { s: 3, c: 5 },
995
+ // ========================================
996
+ // === EXPANSION: Gulf dialect (Saudi) - extended ===
997
+ // ========================================
998
+ "يا ابن الزنا": { s: 3, c: 4 },
999
+ "يا ابن الحرام المعرص": { s: 3, c: 4 },
1000
+ "يا ديوث يا ابن الديوث": { s: 3, c: 4 },
1001
+ "يا خنيث يا ابن الخنيث": { s: 3, c: 4 },
1002
+ "الله لا يوفقك": { s: 3, c: 4 },
1003
+ "الله يلعنك": { s: 3, c: 4 },
1004
+ "الله ياخذك": { s: 5, c: 5 },
1005
+ "الله يسود وجهك": { s: 3, c: 4 },
1006
+ "الله يقطع رزقك": { s: 3, c: 4 },
1007
+ "الله يفضحك": { s: 3, c: 4 },
1008
+ "الله ينتقم منك": { s: 3, c: 4 },
1009
+ "الله يذلك": { s: 3, c: 4 },
1010
+ "الله يعميك": { s: 3, c: 4 },
1011
+ "الله يشلك": { s: 3, c: 4 },
1012
+ "يا ابن الستين في ستين": { s: 3, c: 4 },
1013
+ "يا قذر يا ابن القذر": { s: 3, c: 4 },
1014
+ "يا وضيع يا ابن الوضيع": { s: 3, c: 4 },
1015
+ "يا سفالة يا ابن السفالة": { s: 3, c: 4 },
1016
+ "يلعن بو شنبك": { s: 1, c: 4 },
1017
+ "طق عشر يا حمار": { s: 3, c: 5 },
1018
+ "أمك تمشي في الشارع": { s: 3, c: 4 },
1019
+ "أبوك ما له أصل": { s: 1, c: 4 },
1020
+ "يا ابن اللقيط": { s: 3, c: 4 },
1021
+ "يا ابن المسيار": { s: 3, c: 4 },
1022
+ "يا ابن الحرمة الوسخة": { s: 3, c: 4 },
1023
+ "يا بربوق": { s: 1, c: 4 },
1024
+ "يا سخلة": { s: 1, c: 4 },
1025
+ "يا طرش بحر": { s: 3, c: 4 },
1026
+ // ========================================
1027
+ // === EXPANSION: Gulf dialect (Emirati) - extended ===
1028
+ // ========================================
1029
+ "يا ابن اللعبة": { s: 3, c: 4 },
1030
+ "يا هبيل يا ابن الهبيلة": { s: 1, c: 4 },
1031
+ "يا خبل يا ابن الخبلة": { s: 3, c: 4 },
1032
+ "يا مسخرة يا ابن المسخرة": { s: 3, c: 4 },
1033
+ "يا مغفل يا ابن المغفل": { s: 3, c: 4 },
1034
+ "انطم": { s: 3, c: 4 },
1035
+ "سكر سالفتك": { s: 3, c: 4 },
1036
+ "يا بو وجه": { s: 3, c: 4 },
1037
+ "يا حافي يا ابن الحافي": { s: 3, c: 4 },
1038
+ "يا ريال وسخ": { s: 3, c: 4 },
1039
+ "يا حرمة وسخة": { s: 3, c: 4 },
1040
+ "يا ابن الهندية": { s: 5, c: 4 },
1041
+ "يا عيل وسخ": { s: 3, c: 4 },
1042
+ "يا معرص يا ابن المعرص": { s: 3, c: 4 },
1043
+ // ========================================
1044
+ // === EXPANSION: Gulf dialect (Qatari) - extended ===
1045
+ // ========================================
1046
+ "يا ابن الخبيثة": { s: 3, c: 4 },
1047
+ "يا خبيث يا ابن الخبيث": { s: 3, c: 4 },
1048
+ "يا تافه يا ابن التافه": { s: 3, c: 4 },
1049
+ "يا فاشل يا ابن الفاشل": { s: 3, c: 4 },
1050
+ "يا حقير يا ابن الحقير": { s: 3, c: 4 },
1051
+ "يا نجس يا ابن النجس": { s: 3, c: 4 },
1052
+ "يلعن بو وجهك": { s: 1, c: 4 },
1053
+ "يلعن بو خلقتك": { s: 1, c: 4 },
1054
+ // ========================================
1055
+ // === EXPANSION: Iraqi dialect - extended ===
1056
+ // ========================================
1057
+ "يا ابن الچلب المعرص": { s: 3, c: 4 },
1058
+ "يا گحبة بنت الگحبة": { s: 5, c: 4 },
1059
+ "يخرب بيت ابوك": { s: 1, c: 4 },
1060
+ "يخرب عرضك": { s: 3, c: 4 },
1061
+ "يخرب دينك": { s: 3, c: 4 },
1062
+ "يا ابن الفجرة": { s: 3, c: 4 },
1063
+ "يا ابن الخبيثة العايرة": { s: 3, c: 4 },
1064
+ "يا بلاوي": { s: 3, c: 4 },
1065
+ "يا سراي": { s: 3, c: 4 },
1066
+ "يا لوطي يا ابن اللوطي": { s: 3, c: 4 },
1067
+ "يا معرس يا ابن المعرس": { s: 3, c: 4 },
1068
+ "كل خره يا ابن الچلب": { s: 3, c: 5 },
1069
+ "يا بربوگ يا ابن البربوگ": { s: 1, c: 4 },
1070
+ "يا ابن البيض": { s: 4, c: 4 },
1071
+ "يا ابن الطرشي": { s: 3, c: 4 },
1072
+ "يا ابن الچفخانة": { s: 3, c: 4 },
1073
+ "گحبة أمك على جدك": { s: 1, c: 4 },
1074
+ "يا ولد الحرام يا ابن الگحبة": { s: 3, c: 4 },
1075
+ "يا ابن الزاغرية": { s: 3, c: 4 },
1076
+ "يا مسخوط من الله": { s: 3, c: 4 },
1077
+ "الله يسلّط عليك": { s: 3, c: 4 },
1078
+ "الله ياخذك مو ياخذ غيرك": { s: 5, c: 5 },
1079
+ "يا ابن السگنية": { s: 3, c: 4 },
1080
+ "يا ابن الشارع": { s: 3, c: 4 },
1081
+ // ========================================
1082
+ // === EXPANSION: Moroccan Darija - extended ===
1083
+ // ========================================
1084
+ "نعل بو ممك على ممك": { s: 1, c: 4 },
1085
+ "نيك ممك يا ولد القحبة": { s: 5, c: 5 },
1086
+ "سير تنيك يا ولد الحرام": { s: 3, c: 4 },
1087
+ "سير لعند ممك": { s: 3, c: 4 },
1088
+ "زبي ف تبون ممك": { s: 5, c: 5 },
1089
+ "يا بوزبال ولد البوزبال": { s: 1, c: 4 },
1090
+ "يا حمار ولد الحمارة": { s: 3, c: 4 },
1091
+ "يا كلب ابن الكلبة": { s: 3, c: 4 },
1092
+ "يا خنزير ولد الخنزيرة": { s: 3, c: 4 },
1093
+ "يا مقود ولد المقود": { s: 3, c: 4 },
1094
+ "يا ولد الزنا": { s: 3, c: 4 },
1095
+ "يا ولد لقحبة الوسخة": { s: 5, c: 4 },
1096
+ "يا ولد لكلبة": { s: 3, c: 4 },
1097
+ "تبون اختك على ممك": { s: 5, c: 5 },
1098
+ "نعل بوك ع بو ممك": { s: 1, c: 4 },
1099
+ "سير تقود يا حمار": { s: 3, c: 4 },
1100
+ "يا ماكيان": { s: 3, c: 4 },
1101
+ "يا معجون": { s: 3, c: 4 },
1102
+ "يا ولد البرادة": { s: 3, c: 4 },
1103
+ "يا مسوس": { s: 3, c: 4 },
1104
+ "يا زعطوط ولد الزعطوط": { s: 1, c: 4 },
1105
+ "يا شفّار ولد الشفّار": { s: 3, c: 4 },
1106
+ "يا عيّاش ولد العيّاش": { s: 3, c: 4 },
1107
+ "يا مقطوع من الدنيا": { s: 3, c: 4 },
1108
+ "يا بلا أصل": { s: 3, c: 4 },
1109
+ "يا بلا فصل": { s: 3, c: 4 },
1110
+ // ========================================
1111
+ // === EXPANSION: Algerian dialect - extended ===
1112
+ // ========================================
1113
+ "نعل بوك يا قواد ابن القواد": { s: 1, c: 4 },
1114
+ "روح تنيك يا حمار ابن الحمار": { s: 3, c: 5 },
1115
+ "يا ولد الزنية المنيك": { s: 3, c: 5 },
1116
+ "يا هبيل يبن الهبيلة": { s: 1, c: 4 },
1117
+ "يا مجرور ولد المجرور": { s: 3, c: 4 },
1118
+ "يا طحان ولد الطحانة": { s: 3, c: 4 },
1119
+ "نعل ربك يا حقار": { s: 3, c: 4 },
1120
+ "روح يبان بوك يا حمار": { s: 1, c: 4 },
1121
+ "يا كلاب ولاد الكلاب": { s: 3, c: 4 },
1122
+ "نعل دين بو جدك": { s: 1, c: 4 },
1123
+ "يا خنزير ابن الخنزيرة": { s: 3, c: 4 },
1124
+ "يا ولد الحركية": { s: 3, c: 4 },
1125
+ "يا شيطان ولد الشيطان": { s: 3, c: 4 },
1126
+ "يا فراخ ولد الفراخ": { s: 3, c: 4 },
1127
+ "يا ناقص ولد الناقصة": { s: 3, c: 4 },
1128
+ "يا مسخوط ولد المسخوط": { s: 3, c: 4 },
1129
+ "يا سارق ولد السارقة": { s: 3, c: 4 },
1130
+ "يا كذاب ولد الكذابة": { s: 3, c: 4 },
1131
+ // ========================================
1132
+ // === EXPANSION: Tunisian dialect - extended ===
1133
+ // ========================================
1134
+ "بارّا تنيّك يا ولد القحبة": { s: 5, c: 5 },
1135
+ "نعل بو ممك يا مبون": { s: 1, c: 4 },
1136
+ "يا حلوف ابن الحلوف": { s: 3, c: 4 },
1137
+ "يا كبش ابن الكبش": { s: 3, c: 4 },
1138
+ "يا زامل ولد الزامل": { s: 3, c: 4 },
1139
+ "يا مبون ولد المبون": { s: 3, c: 4 },
1140
+ "يا ملعون ولد الملعون": { s: 3, c: 4 },
1141
+ "يا فاسد ولد الفاسد": { s: 3, c: 4 },
1142
+ "يا مسطول ابن المسطولة": { s: 3, c: 4 },
1143
+ "يا حشايشي ابن الحشايشي": { s: 3, c: 4 },
1144
+ "بلا كرامة بلا راس": { s: 3, c: 4 },
1145
+ "يا ناقص عقل": { s: 3, c: 4 },
1146
+ "يا ولد البور": { s: 3, c: 4 },
1147
+ "يا مخنّث": { s: 3, c: 4 },
1148
+ "يا ولد الغجر": { s: 3, c: 4 },
1149
+ // ========================================
1150
+ // === EXPANSION: Libyan dialect - extended ===
1151
+ // ========================================
1152
+ "يا بن الكلبة الوسخة": { s: 3, c: 4 },
1153
+ "يا مزنوق يبن المزنوقة": { s: 3, c: 4 },
1154
+ "نعل بو دينك يا كلب": { s: 3, c: 4 },
1155
+ "يا خنفوس ابن الخنفوس": { s: 3, c: 4 },
1156
+ "يا زربوط يبن الزربوط": { s: 3, c: 4 },
1157
+ "يا بهلول ابن البهلول": { s: 1, c: 4 },
1158
+ "يا طبل ابن الطبل": { s: 3, c: 4 },
1159
+ "يا أزعر ابن الأزعر": { s: 3, c: 4 },
1160
+ "يا عاطل ابن العاطل": { s: 3, c: 4 },
1161
+ "يا مرتد ابن المرتد": { s: 3, c: 4 },
1162
+ "يا كلب الشط": { s: 3, c: 4 },
1163
+ "يا مجنون ابن المجنونة": { s: 3, c: 4 },
1164
+ "يا حيوان بلا عقل": { s: 3, c: 4 },
1165
+ "يلعن ابو ابوك يا كلب": { s: 1, c: 4 },
1166
+ // ========================================
1167
+ // === EXPANSION: Sudanese dialect - extended ===
1168
+ // ========================================
1169
+ "يا ود الزنا": { s: 3, c: 4 },
1170
+ "يا ود الشيطان": { s: 3, c: 4 },
1171
+ "يا ود الغابة": { s: 5, c: 4 },
1172
+ "يا كلب الحلة": { s: 3, c: 4 },
1173
+ "يا خواض ابن الخواض": { s: 3, c: 4 },
1174
+ "يا حشاش ابن الحشاش": { s: 3, c: 4 },
1175
+ "يا جنجويدي ابن الجنجويدي": { s: 3, c: 4 },
1176
+ "يا نجاسة ابن النجاسة": { s: 3, c: 4 },
1177
+ "كمكم يا كلب": { s: 3, c: 4 },
1178
+ "يا فاسق ابن الفاسق": { s: 3, c: 4 },
1179
+ "يا ابن البقرة": { s: 3, c: 4 },
1180
+ "يا ابن الدقيقة": { s: 3, c: 4 },
1181
+ "يا زول وسخ": { s: 3, c: 4 },
1182
+ "يا زول خايس": { s: 3, c: 4 },
1183
+ "يلعن ديل اللي جابوك": { s: 3, c: 4 },
1184
+ "يا ابن الكداب": { s: 3, c: 4 },
1185
+ "يا ابن الحرامي": { s: 3, c: 4 },
1186
+ // ========================================
1187
+ // === EXPANSION: Yemeni dialect - extended ===
1188
+ // ========================================
1189
+ "يا مسخوط من ربك": { s: 3, c: 4 },
1190
+ "يا عكبري ابن العكبري": { s: 3, c: 4 },
1191
+ "يلعن تريبتك وتريبة ابوك": { s: 1, c: 4 },
1192
+ "يا خابث ابن الخابث": { s: 3, c: 4 },
1193
+ "يا مخبل ابن المخبل": { s: 3, c: 4 },
1194
+ "يا ابن الفاجرة المسخوطة": { s: 3, c: 4 },
1195
+ "يا ابن القبيحة المسخوطة": { s: 1, c: 4 },
1196
+ "يا مشخوط ابن المشخوط": { s: 3, c: 4 },
1197
+ "يلعن ابو ابوك على ابو ابو ابوك": { s: 1, c: 4 },
1198
+ "يا ابن الشيطانة": { s: 3, c: 4 },
1199
+ "يا ابن الزفتة": { s: 3, c: 4 },
1200
+ "يا قليل الحيا ابن قليل الحيا": { s: 3, c: 4 },
1201
+ "يا كافر ابن الكافرة": { s: 3, c: 4 },
1202
+ // ========================================
1203
+ // === EXPANSION: More Franco-Arabic / Arabizi - extended ===
1204
+ // ========================================
1205
+ "ya 7mar ibn el 7mara": { s: 3, c: 4 },
1206
+ "ya kalb ibn el kalba": { s: 3, c: 4 },
1207
+ "ya 5anzeer ibn el 5anzeera": { s: 3, c: 5 },
1208
+ "kos omak ya ibn el 3ahira": { s: 5, c: 5 },
1209
+ "2eiri fi teezak ya 7ayawan": { s: 4, c: 4 },
1210
+ "ya za7af ibn el za7af": { s: 3, c: 4 },
1211
+ "na3al abuk ya 5awal": { s: 1, c: 5 },
1212
+ "na3al dinak ya kalb": { s: 3, c: 5 },
1213
+ "barra nik omak ya 7mar": { s: 3, c: 5 },
1214
+ "barra rooh ya zaml": { s: 3, c: 4 },
1215
+ "ya wlad el gahba": { s: 5, c: 4 },
1216
+ "ya wlad el 5ara": { s: 3, c: 5 },
1217
+ "ya wlad el kalba": { s: 3, c: 4 },
1218
+ "2eiri b kol 3ayltak": { s: 4, c: 5 },
1219
+ "n3al bo dinak ya 7ayawan": { s: 1, c: 5 },
1220
+ "ya tbon ommak": { s: 5, c: 5 },
1221
+ "ya wled l9a7ba": { s: 5, c: 5 },
1222
+ "sir t9awed ya 7mar": { s: 3, c: 4 },
1223
+ "na3al bo mmak ya zaml": { s: 1, c: 5 },
1224
+ "ya m3aras ibn el m3aras": { s: 3, c: 5 },
1225
+ "ya dayoos ibn el dayoos": { s: 3, c: 4 },
1226
+ "ya 5aneeth ibn el 5aneeth": { s: 3, c: 5 },
1227
+ "telhas teez omak ya ibn el sharmouta": { s: 5, c: 5 },
1228
+ "ayre b koss o5tak": { s: 4, c: 5 },
1229
+ "ayre b 3ardhak": { s: 4, c: 5 },
1230
+ "ayre b dinak": { s: 4, c: 4 },
1231
+ "ayre b rabbak": { s: 4, c: 4 },
1232
+ "kol 5ara w moot ya kalb": { s: 5, c: 5 },
1233
+ "rooh enteek ya 7mar": { s: 3, c: 5 },
1234
+ "ya manyouk ibn el manyouka": { s: 3, c: 5 },
1235
+ "ya nayek omak": { s: 3, c: 5 },
1236
+ "nikomak ya wled l7ram": { s: 3, c: 4 },
1237
+ "ya zebbi f ommak": { s: 4, c: 4 },
1238
+ "ya m3arras": { s: 3, c: 5 },
1239
+ "ya miboun ibn el miboun": { s: 3, c: 4 },
1240
+ "in3al abuk w abu abuk": { s: 1, c: 5 },
1241
+ "in3al 7 arwa7 abuk": { s: 1, c: 5 },
1242
+ "nik omak ya ibn el metnaka": { s: 3, c: 5 },
1243
+ "ya 3abd": { s: 5, c: 5 },
1244
+ "ya zeft ibn el zeft": { s: 3, c: 4 },
1245
+ "ya 5abees": { s: 3, c: 5 },
1246
+ "ya fesid": { s: 3, c: 4 },
1247
+ "ya 5asis": { s: 3, c: 5 },
1248
+ "ya la2eem": { s: 3, c: 4 },
1249
+ "ya daeni2": { s: 3, c: 4 },
1250
+ "ya fasiq": { s: 3, c: 4 },
1251
+ "ya safel": { s: 3, c: 4 },
1252
+ "ya sa9et": { s: 3, c: 4 },
1253
+ "ya 5ayen ibn el 5ayen": { s: 3, c: 5 },
1254
+ "ya jaban": { s: 1, c: 4 },
1255
+ "ya najas": { s: 3, c: 4 },
1256
+ "ya mo2rif": { s: 3, c: 4 },
1257
+ "ya 7a9eer": { s: 3, c: 4 },
1258
+ "ya 3adeem el sharaf": { s: 3, c: 5 },
1259
+ "ya mn7at": { s: 3, c: 4 },
1260
+ "ya ratheel": { s: 3, c: 4 },
1261
+ // ========================================
1262
+ // === EXPANSION: More sexual terms across dialects ===
1263
+ // ========================================
1264
+ "انيكك يا بنت الكلب": { s: 4, c: 5 },
1265
+ "انيكك من وراك": { s: 4, c: 5 },
1266
+ "بدي أنيك طيزك يا شرموطة": { s: 5, c: 5 },
1267
+ "يا زاني يا ابن الزاني": { s: 4, c: 4 },
1268
+ "يا زانية يا بنت الزانية": { s: 4, c: 4 },
1269
+ "يا داعر يا ابن الداعر": { s: 4, c: 4 },
1270
+ "يا داعرة يا بنت الداعرة": { s: 5, c: 4 },
1271
+ "يا مومس يا بنت المومس": { s: 5, c: 4 },
1272
+ "نيكني بالقوة": { s: 4, c: 5 },
1273
+ "نيكها": { s: 4, c: 5 },
1274
+ "نيكه": { s: 4, c: 5 },
1275
+ "نيكهم": { s: 4, c: 5 },
1276
+ "نيكوه": { s: 4, c: 5 },
1277
+ "نيكوها": { s: 4, c: 5 },
1278
+ "اتنيكي": { s: 4, c: 5 },
1279
+ "اتنيك": { s: 4, c: 5 },
1280
+ "يا بغل": { s: 1, c: 4 },
1281
+ "يا حمارة ابن الحمارة": { s: 4, c: 4 },
1282
+ "يا عاهرة ابن العاهر": { s: 5, c: 5 },
1283
+ "يا مني": { s: 4, c: 4 },
1284
+ "يا ابن المني": { s: 4, c: 4 },
1285
+ "بص زبي": { s: 4, c: 4 },
1286
+ "بوس زبي": { s: 4, c: 4 },
1287
+ "بوس طيزي": { s: 4, c: 4 },
1288
+ "تعالي مصي": { s: 4, c: 4 },
1289
+ "تعالي نيكيني": { s: 4, c: 5 },
1290
+ "يا نياكة": { s: 4, c: 5 },
1291
+ "يا متحرش يا ابن المتحرش": { s: 4, c: 4 },
1292
+ "يا مغتصب": { s: 5, c: 5 },
1293
+ "يا مغتصبة": { s: 5, c: 5 },
1294
+ "يا قحبة الحارة": { s: 5, c: 4 },
1295
+ "يا شرموطة الحارة": { s: 5, c: 4 },
1296
+ "يا عاهرة الشوارع": { s: 5, c: 4 },
1297
+ "يا شرموطة الشوارع": { s: 5, c: 4 },
1298
+ // ========================================
1299
+ // === EXPANSION: Religious insults - extended ===
1300
+ // ========================================
1301
+ "يلعن الله": { s: 2, c: 3 },
1302
+ "يلعن دينك ودين ابوك": { s: 1, c: 4 },
1303
+ "يلعن دينك ودين اللي خلفك": { s: 2, c: 3 },
1304
+ "يلعن ربك وربّ أبوك": { s: 1, c: 4 },
1305
+ "يلعن ربك ورب اللي جابك": { s: 2, c: 3 },
1306
+ "يلعن صليبك": { s: 2, c: 3 },
1307
+ "يلعن إنجيلك": { s: 2, c: 3 },
1308
+ "يلعن قرآنك": { s: 2, c: 3 },
1309
+ "يلعن مسجدك": { s: 2, c: 3 },
1310
+ "يلعن كنيستك": { s: 2, c: 3 },
1311
+ "يا كافر يا ملعون": { s: 2, c: 3 },
1312
+ "يا ملحد يا كلب": { s: 2, c: 3 },
1313
+ "يا مرتد يا ابن الكلب": { s: 2, c: 3 },
1314
+ "يا عدو الله وعدو الناس": { s: 2, c: 3 },
1315
+ "يلعن ابو دينك على ابو ابوك": { s: 1, c: 4 },
1316
+ "يلعن سبع ارواح ابوك وامك": { s: 1, c: 4 },
1317
+ "يلعن ابو الدين اللي دنتو": { s: 1, c: 4 },
1318
+ "يا ابن ابليس الرجيم": { s: 2, c: 3 },
1319
+ "يا صديق الشيطان": { s: 2, c: 3 },
1320
+ "يا خادم ابليس": { s: 2, c: 3 },
1321
+ "الله يحرقك بنار جهنم": { s: 2, c: 3 },
1322
+ "يروح عليك نار جهنم": { s: 2, c: 3 },
1323
+ "يا ابن الملعون من الله": { s: 2, c: 3 },
1324
+ "يا مطرود من رحمة الله": { s: 2, c: 3 },
1325
+ "يا ابن اللعينة": { s: 2, c: 3 },
1326
+ // ========================================
1327
+ // === EXPANSION: Scatological terms across dialects ===
1328
+ // ========================================
1329
+ "يا خرا بني آدم": { s: 3, c: 5 },
1330
+ "يا خرة": { s: 3, c: 5 },
1331
+ "يا ابن الخرا": { s: 3, c: 5 },
1332
+ "يا بنت الخرا": { s: 3, c: 5 },
1333
+ "ريحتك خرا": { s: 3, c: 5 },
1334
+ "كل شي فيك خرا": { s: 3, c: 5 },
1335
+ "يا خراي": { s: 3, c: 5 },
1336
+ "يا براز": { s: 3, c: 4 },
1337
+ "يا بول": { s: 3, c: 4 },
1338
+ "يا ابن البول": { s: 3, c: 4 },
1339
+ "يا ابن الخراي": { s: 3, c: 5 },
1340
+ "كل خرا وبلعه": { s: 3, c: 5 },
1341
+ "كل خرا يا ابن الكلب": { s: 3, c: 5 },
1342
+ "كل زق يا حمار": { s: 3, c: 5 },
1343
+ "يا خراشي": { s: 3, c: 5 },
1344
+ "يا مخري": { s: 3, c: 5 },
1345
+ "يا مبولجي": { s: 3, c: 4 },
1346
+ "يا خراوي": { s: 3, c: 5 },
1347
+ // ========================================
1348
+ // === EXPANSION: Compound curse expressions ===
1349
+ // ========================================
1350
+ "الله يخرب بيتك": { s: 3, c: 5 },
1351
+ "الله يخرب بيت ابوك": { s: 1, c: 4 },
1352
+ "الله يخرب بيت اللي جابك": { s: 3, c: 5 },
1353
+ "الله يخرب بيت اللي خلفك": { s: 3, c: 5 },
1354
+ "الله يلعن ابوك وابو ابوك": { s: 1, c: 4 },
1355
+ "الله يلعنك ويلعن اللي جابك": { s: 3, c: 5 },
1356
+ "الله يلعن يوم ما اتولدت": { s: 3, c: 5 },
1357
+ "الله يلعن الساعة اللي اتولدت فيها": { s: 3, c: 5 },
1358
+ "الله لا يردك سالم": { s: 3, c: 5 },
1359
+ "الله ينعل ابوك": { s: 1, c: 4 },
1360
+ "الله ينعل أمك": { s: 3, c: 5 },
1361
+ "الله ينعل جدك": { s: 1, c: 4 },
1362
+ "الله يحرقك": { s: 3, c: 5 },
1363
+ "الله يحرق قبرك": { s: 3, c: 5 },
1364
+ "الله يحرق أهلك": { s: 3, c: 5 },
1365
+ "الله يخذلك": { s: 3, c: 5 },
1366
+ "الله يمسخك": { s: 3, c: 5 },
1367
+ "الله يعمي عينك": { s: 3, c: 5 },
1368
+ "الله يقطع يدينك": { s: 3, c: 5 },
1369
+ "الله يقطع رجلينك": { s: 3, c: 5 },
1370
+ "الله يقطع لسانك": { s: 3, c: 5 },
1371
+ "الله يسلط عليك ناره": { s: 3, c: 5 },
1372
+ "الله يجعلك عبرة": { s: 3, c: 5 },
1373
+ "الله يجيب في أيامك": { s: 3, c: 5 },
1374
+ "يا ابن الستين ألف كلب": { s: 3, c: 5 },
1375
+ "يا ابن المية ألف شرموطة": { s: 5, c: 5 },
1376
+ "يلعن سبعة أجيال من أهلك": { s: 3, c: 5 },
1377
+ "يلعن ابو ابو ابوك": { s: 1, c: 4 },
1378
+ "يلعن ابو خال أمك": { s: 1, c: 4 },
1379
+ "كس أمك وأم أمك وأم ابوك": { s: 1, c: 4 },
1380
+ "أيري بكل شي اسمو أهلك": { s: 4, c: 5 },
1381
+ "يلعن ابو كل حدا بعرفك": { s: 1, c: 4 },
1382
+ "أيري فيك وبأبوك وبجدك": { s: 1, c: 4 },
1383
+ "كس أخت يلي جابك ويلي خلفك": { s: 4, c: 5 },
1384
+ "يلعن ابوك على امك على جدك": { s: 1, c: 4 },
1385
+ // ========================================
1386
+ // === EXPANSION: More Arabizi compound phrases ===
1387
+ // ========================================
1388
+ "kos omak w om omak": { s: 4, c: 5 },
1389
+ "ayre fi abok w jaddak": { s: 1, c: 4 },
1390
+ "ya ibn el sitteen alf kalb": { s: 3, c: 5 },
1391
+ "in3al 7 ajyal min ahlak": { s: 3, c: 5 },
1392
+ "alla yil3anak ya ibn el sharmouta": { s: 5, c: 5 },
1393
+ "alla yakhthak ya ibn el gahba": { s: 5, c: 5 },
1394
+ "alla ya7re2ak ya kalb": { s: 3, c: 5 },
1395
+ "alla yakhrib baytak": { s: 3, c: 5 },
1396
+ "alla yi9ta3 rizqak": { s: 3, c: 5 },
1397
+ "alla yifdha7ak": { s: 3, c: 5 },
1398
+ "alla yi3meek": { s: 3, c: 5 },
1399
+ "rooh in7ash ya 7ayawan": { s: 3, c: 5 },
1400
+ "ya ibn alf sharmoota": { s: 5, c: 5 },
1401
+ "kos omak 3a abok": { s: 1, c: 5 },
1402
+ "ayre fi 3ardhak": { s: 4, c: 5 },
1403
+ "ayre fi wejjak": { s: 4, c: 5 },
1404
+ "ayre fi timmak": { s: 4, c: 5 },
1405
+ "badi fash5ak": { s: 3, c: 5 },
1406
+ "badi kassirak": { s: 3, c: 5 },
1407
+ "badi ni2ak": { s: 3, c: 5 },
1408
+ "badi nayik 3ayiltak": { s: 3, c: 5 },
1409
+ "kol zegg w moot": { s: 5, c: 5 },
1410
+ "tfoo 3alayak": { s: 3, c: 5 },
1411
+ "ya 3ayil wisi5": { s: 3, c: 5 },
1412
+ "ya wiski5 ya ibn el wis5a": { s: 3, c: 5 },
1413
+ "ya mish ibn nas": { s: 3, c: 5 },
1414
+ "ya abad abu abu abok": { s: 3, c: 5 },
1415
+ "ya 7awan": { s: 3, c: 5 },
1416
+ "kos a5tak 3a omak": { s: 4, c: 5 },
1417
+ "ya wled z zina": { s: 3, c: 5 },
1418
+ "ya wled l7aram l m9awed": { s: 3, c: 4 },
1419
+ "tboun mok 3la mok": { s: 5, c: 5 },
1420
+ "sir tni2 ya wled l9a7ba": { s: 5, c: 5 },
1421
+ "ya ga7ba": { s: 5, c: 5 },
1422
+ "ya metnayik": { s: 3, c: 5 },
1423
+ "ya zamel wled el zamel": { s: 3, c: 5 },
1424
+ "barra nik mo2ek": { s: 3, c: 5 },
1425
+ "ya 7olof": { s: 3, c: 5 },
1426
+ "ya mstoul": { s: 3, c: 5 },
1427
+ // ========================================
1428
+ // === EXPANSION: Additional insults across all dialects ===
1429
+ // ========================================
1430
+ "يا منافق": { s: 1, c: 4 },
1431
+ "يا منافقة": { s: 1, c: 4 },
1432
+ "يا كذاب": { s: 1, c: 4 },
1433
+ "يا كذابة": { s: 1, c: 4 },
1434
+ "يا خائن يا ابن الخائن": { s: 1, c: 4 },
1435
+ "يا خائنة يا بنت الخائنة": { s: 1, c: 4 },
1436
+ "يا غدار": { s: 1, c: 4 },
1437
+ "يا غدارة": { s: 1, c: 4 },
1438
+ "يا حرامي يا ابن الحرامي": { s: 1, c: 4 },
1439
+ "يا حرامية يا بنت الحرامية": { s: 1, c: 4 },
1440
+ "يا جبان يا ابن الجبان": { s: 1, c: 4 },
1441
+ "يا جبانة يا بنت الجبانة": { s: 1, c: 4 },
1442
+ "يا فاشل": { s: 1, c: 4 },
1443
+ "يا فاشلة": { s: 1, c: 4 },
1444
+ "يا أنجاس": { s: 1, c: 4 },
1445
+ "يا أوساخ": { s: 1, c: 4 },
1446
+ "يا أوباش": { s: 1, c: 4 },
1447
+ "يا حثالة المجتمع": { s: 1, c: 4 },
1448
+ "يا نفاية المجتمع": { s: 1, c: 4 },
1449
+ "يا قمامة المجتمع": { s: 1, c: 4 },
1450
+ "يا عالة على المجتمع": { s: 1, c: 4 },
1451
+ "يا طفيلي": { s: 1, c: 4 },
1452
+ "يا طفيلية": { s: 1, c: 4 },
1453
+ "يا دودة": { s: 1, c: 4 },
1454
+ "يا ابن الدودة": { s: 1, c: 4 },
1455
+ "يا حشرة يا ابن الحشرة": { s: 1, c: 4 },
1456
+ "يا صرصور يا ابن الصرصور": { s: 4, c: 4 },
1457
+ "يا عنكبوت": { s: 1, c: 4 },
1458
+ "يا ثعبان": { s: 1, c: 4 },
1459
+ "يا ثعبان يا ابن الثعبان": { s: 1, c: 4 },
1460
+ "يا عقرب": { s: 1, c: 4 },
1461
+ "يا عقرب يا ابن العقرب": { s: 1, c: 4 },
1462
+ "يا كلب ابن الكلب المسعور": { s: 1, c: 4 },
1463
+ "يا حمار ابن الحمارة الوسخة": { s: 1, c: 4 },
1464
+ "يا بقرة يا بنت البقرة": { s: 1, c: 4 },
1465
+ "يا ماعز يا ابن الماعز": { s: 1, c: 4 },
1466
+ "يا جاموسة": { s: 1, c: 4 },
1467
+ "يا ابن الجاموسة": { s: 1, c: 4 },
1468
+ "يا خروف": { s: 1, c: 4 },
1469
+ "يا ابن الخروفة": { s: 1, c: 4 },
1470
+ "يا غراب": { s: 1, c: 4 },
1471
+ "يا ابن الغراب": { s: 1, c: 4 },
1472
+ "يا ضبع": { s: 1, c: 4 },
1473
+ "يا ابن الضبع": { s: 1, c: 4 },
1474
+ "يا قمل": { s: 1, c: 4 },
1475
+ "يا ابن القملة": { s: 1, c: 4 },
1476
+ "يا بق": { s: 1, c: 4 },
1477
+ "يا ذبابة": { s: 1, c: 4 },
1478
+ "يا ابن الذبابة": { s: 1, c: 4 },
1479
+ "يا كتكوت": { s: 1, c: 4 },
1480
+ "يا دجاجة": { s: 1, c: 4 },
1481
+ "يا ابن الدجاجة": { s: 1, c: 4 },
1482
+ // ========================================
1483
+ // === EXPANSION: Insults about appearance/intelligence ===
1484
+ // ========================================
1485
+ "يا أعمى": { s: 1, c: 4 },
1486
+ "يا أطرش": { s: 1, c: 4 },
1487
+ "يا أخرس": { s: 1, c: 4 },
1488
+ "يا أعرج": { s: 1, c: 4 },
1489
+ "يا أعور": { s: 1, c: 4 },
1490
+ "يا شحات": { s: 1, c: 4 },
1491
+ "يا شحاتة": { s: 1, c: 4 },
1492
+ "يا مسكين": { s: 1, c: 4 },
1493
+ "يا مسكينة": { s: 1, c: 4 },
1494
+ "يا قبيح": { s: 1, c: 4 },
1495
+ "يا قبيحة": { s: 1, c: 4 },
1496
+ "يا دميم": { s: 1, c: 4 },
1497
+ "يا دميمة": { s: 1, c: 4 },
1498
+ "يا مشوه": { s: 1, c: 4 },
1499
+ "يا مشوهة": { s: 1, c: 4 },
1500
+ "يا سمين": { s: 1, c: 4 },
1501
+ "يا سمينة": { s: 1, c: 4 },
1502
+ "يا خنزير سمين": { s: 1, c: 4 },
1503
+ "يا بقرة سمينة": { s: 1, c: 4 },
1504
+ "يا هيكل عظمي": { s: 1, c: 4 },
1505
+ "يا نحيف": { s: 1, c: 4 },
1506
+ "يا معتوه": { s: 1, c: 4 },
1507
+ "يا معتوهة": { s: 1, c: 4 },
1508
+ "يا مجنون يا ابن المجنونة": { s: 1, c: 4 },
1509
+ "يا متخلف": { s: 5, c: 4 },
1510
+ "يا متخلفة": { s: 5, c: 4 },
1511
+ "يا متخلف عقليا": { s: 5, c: 4 },
1512
+ "يا بليد": { s: 1, c: 4 },
1513
+ "يا بليدة": { s: 1, c: 4 },
1514
+ "يا غبي يا ابن الغبية": { s: 1, c: 4 },
1515
+ "يا جاهل": { s: 1, c: 4 },
1516
+ "يا جاهلة": { s: 1, c: 4 },
1517
+ "يا أمي": { s: 1, c: 4 },
1518
+ "يا أمية": { s: 1, c: 4 },
1519
+ "يا فارغ": { s: 1, c: 4 },
1520
+ "يا فاضي": { s: 1, c: 4 },
1521
+ "يا ضايع": { s: 1, c: 4 },
1522
+ "يا ضايعة": { s: 1, c: 4 },
1523
+ "يا تايه": { s: 1, c: 4 },
1524
+ // ========================================
1525
+ // === EXPANSION: More compound "son of" expressions ===
1526
+ // ========================================
1527
+ "ابن الزبالة": { s: 3, c: 5 },
1528
+ "ابن القمامة": { s: 3, c: 5 },
1529
+ "ابن النفاية": { s: 3, c: 5 },
1530
+ "ابن الحثالة": { s: 3, c: 5 },
1531
+ "ابن الوساخة": { s: 3, c: 5 },
1532
+ "ابن الرذيلة": { s: 3, c: 5 },
1533
+ "ابن الفاحشة": { s: 3, c: 5 },
1534
+ "ابن المعصية": { s: 3, c: 5 },
1535
+ "ابن الضلالة": { s: 3, c: 5 },
1536
+ "ابن الجهالة": { s: 3, c: 5 },
1537
+ "ابن الخطيئة": { s: 3, c: 5 },
1538
+ "ابن البلوة": { s: 3, c: 5 },
1539
+ "ابن المصيبة": { s: 3, c: 5 },
1540
+ "ابن اللعنة": { s: 3, c: 5 },
1541
+ "ابن العار": { s: 3, c: 5 },
1542
+ "ابن الفضيحة": { s: 3, c: 5 },
1543
+ "ابن العيب": { s: 3, c: 5 },
1544
+ "ابن الذل": { s: 3, c: 5 },
1545
+ "ابن الهوان": { s: 3, c: 5 },
1546
+ "بنت الزبالة": { s: 3, c: 5 },
1547
+ "بنت النفاية": { s: 3, c: 5 },
1548
+ "بنت الوساخة": { s: 3, c: 5 },
1549
+ "بنت الرذيلة": { s: 3, c: 5 },
1550
+ "بنت الفاحشة": { s: 3, c: 5 },
1551
+ "بنت اللعنة": { s: 3, c: 5 },
1552
+ "بنت العار": { s: 3, c: 5 },
1553
+ "بنت الفضيحة": { s: 3, c: 5 },
1554
+ // ========================================
1555
+ // === EXPANSION: More body-related vulgarities ===
1556
+ // ========================================
1557
+ "كسك": { s: 4, c: 4 },
1558
+ "كسها واسع": { s: 4, c: 4 },
1559
+ "كسك واسع": { s: 4, c: 4 },
1560
+ "طيزك واسع": { s: 3, c: 4 },
1561
+ "زبه كبير": { s: 4, c: 4 },
1562
+ "زبك صغير": { s: 4, c: 4 },
1563
+ "بلا زب": { s: 4, c: 4 },
1564
+ "بلا كس": { s: 4, c: 4 },
1565
+ "بلا طيز": { s: 3, c: 4 },
1566
+ "بلا خصي": { s: 4, c: 4 },
1567
+ "مبتور": { s: 3, c: 4 },
1568
+ "مخصي": { s: 3, c: 4 },
1569
+ "يا مبتور": { s: 3, c: 4 },
1570
+ "يا مخصي": { s: 3, c: 4 },
1571
+ "يا عنين": { s: 3, c: 4 },
1572
+ "يا عاجز": { s: 3, c: 4 },
1573
+ "يا عاجزة": { s: 3, c: 4 },
1574
+ "يا بايخ": { s: 3, c: 4 },
1575
+ "يا بايخة": { s: 3, c: 4 },
1576
+ "يا محروم": { s: 3, c: 4 },
1577
+ "يا محرومة": { s: 3, c: 4 },
1578
+ // ========================================
1579
+ // === EXPANSION: Evasion and internet spellings ===
1580
+ // ========================================
1581
+ "k0s": { s: 4, c: 5 },
1582
+ "k0ss": { s: 4, c: 5 },
1583
+ "sh4rmouta": { s: 5, c: 5 },
1584
+ "sh4rmoot4": { s: 5, c: 5 },
1585
+ "z3b": { s: 4, c: 5 },
1586
+ "z3bi": { s: 4, c: 5 },
1587
+ "t33z": { s: 3, c: 5 },
1588
+ "7m4r": { s: 2, c: 5 },
1589
+ "k4lb": { s: 2, c: 5 },
1590
+ "5nz33r": { s: 2, c: 5 },
1591
+ "g47ba": { s: 5, c: 5 },
1592
+ "ni2k": { s: 3, c: 5 },
1593
+ "n33k": { s: 3, c: 5 },
1594
+ "m4ny4k": { s: 3, c: 5 },
1595
+ "5wal": { s: 2, c: 5 },
1596
+ "y4 k4lb": { s: 2, c: 5 },
1597
+ "y4 7m4r": { s: 2, c: 5 },
1598
+ "y4 5nz33r": { s: 2, c: 5 },
1599
+ "k0s 0m4k": { s: 4, c: 5 },
1600
+ "4yr3 f33k": { s: 4, c: 5 },
1601
+ "t3lh4s t33zi": { s: 3, c: 5 },
1602
+ // ========================================
1603
+ // === EXPANSION: Additional romanized (no numbers) ===
1604
+ // ========================================
1605
+ "koss ommak": { s: 4, c: 5 },
1606
+ "koss okhtak": { s: 4, c: 5 },
1607
+ "ibn el sharmoota": { s: 5, c: 5 },
1608
+ "ibn il kahba": { s: 5, c: 5 },
1609
+ "ibn il metnaka": { s: 3, c: 5 },
1610
+ "ya ibn il wisikha": { s: 3, c: 5 },
1611
+ "ya ibn il kalba": { s: 3, c: 5 },
1612
+ "ya ibn il khanzeera": { s: 3, c: 5 },
1613
+ "ya hayawana": { s: 3, c: 5 },
1614
+ "ya zibala": { s: 3, c: 5 },
1615
+ "ya zebala": { s: 3, c: 5 },
1616
+ "ya nifaya": { s: 3, c: 5 },
1617
+ "ya hathala": { s: 3, c: 5 },
1618
+ "rooh nimak": { s: 3, c: 5 },
1619
+ "yel3an abook": { s: 1, c: 5 },
1620
+ "yel3an ommak": { s: 3, c: 5 },
1621
+ "yel3an deenak": { s: 3, c: 5 },
1622
+ "yel3an rabbak": { s: 3, c: 5 },
1623
+ "ya ibn il laeema": { s: 3, c: 5 },
1624
+ "ya ibn il najas": { s: 3, c: 5 },
1625
+ "ya ibn il fasid": { s: 3, c: 5 },
1626
+ "ya iblis": { s: 3, c: 5 },
1627
+ "ya shaytan": { s: 3, c: 5 },
1628
+ "ya la3een": { s: 3, c: 5 },
1629
+ "ya mal3oon": { s: 3, c: 5 },
1630
+ "ya mal3oona": { s: 3, c: 5 },
1631
+ "wlad il haram": { s: 3, c: 5 },
1632
+ "wlad il 3ahira": { s: 5, c: 5 },
1633
+ "wlad il kalba": { s: 3, c: 5 },
1634
+ "wlad il sharmoota": { s: 5, c: 5 },
1635
+ "kol taban": { s: 3, c: 5 },
1636
+ "boos teezi": { s: 3, c: 5 },
1637
+ "boos zibbi": { s: 4, c: 5 },
1638
+ "emshi min hina": { s: 3, c: 5 },
1639
+ "irhal ya kalb": { s: 3, c: 5 },
1640
+ "ta3al hina ya hmar": { s: 3, c: 5 },
1641
+ "allah yer7amak... la2": { s: 3, c: 5 },
1642
+ "omak shaklaha": { s: 3, c: 5 },
1643
+ "abook shaklou": { s: 1, c: 5 },
1644
+ "wejjak zay teez": { s: 3, c: 5 },
1645
+ "wejjak zay il khara": { s: 3, c: 5 },
1646
+ "wejjak zay il zeft": { s: 3, c: 5 }, // your face looks like tar
1647
+ };
1648
+ export default arabicBadWords;
1649
+ //# sourceMappingURL=arabic-words.js.map