From 75aea173f15d7036dbbcd6980304f461769908c4 Mon Sep 17 00:00:00 2001 From: John Date: Thu, 11 Jun 2015 17:52:42 +0300 Subject: [PATCH] Add sequence list + prevent multiple spaces in the chat --- otp/avatar/DistributedPlayer.py | 6 +- otp/chat/ChatGarbler.py | 4 +- otp/chat/SequenceList.py | 352 ----------------------------- otp/chat/SequenceListData.py | 379 ++++++++++++++++++++++++++++++++ otp/chat/WhiteList.py | 41 +++- otp/otpbase/OTPBase.py | 5 +- 6 files changed, 426 insertions(+), 361 deletions(-) delete mode 100755 otp/chat/SequenceList.py create mode 100644 otp/chat/SequenceListData.py diff --git a/otp/avatar/DistributedPlayer.py b/otp/avatar/DistributedPlayer.py index a29f735d..1a1d7db4 100755 --- a/otp/avatar/DistributedPlayer.py +++ b/otp/avatar/DistributedPlayer.py @@ -178,7 +178,7 @@ class DistributedPlayer(DistributedAvatar.DistributedAvatar, PlayerBase.PlayerBa if base.localAvatar.isIgnored(self.doId): return if not self.understandable: - chat = self.chatGarbler.garble(self, chat) + chat = self.chatGarbler.garble(self, len(chat.split(' '))) elif base.whiteList and self.understandable < 2: chat = base.whiteList.processThroughAll(chat, self, self.chatGarbler) self.displayTalk(chat) @@ -188,7 +188,9 @@ class DistributedPlayer(DistributedAvatar.DistributedAvatar, PlayerBase.PlayerBa return if base.localAvatar.isIgnored(avId): return - if base.whiteList: + if not self.understandable: + chat = self.chatGarbler.garble(self, len(chat.split(' '))) + elif base.whiteList and self.understandable < 2: chat = base.whiteList.processThroughAll(chat, self.chatGarbler) self.displayTalkWhisper(avId, chat) diff --git a/otp/chat/ChatGarbler.py b/otp/chat/ChatGarbler.py index 1e4ebf7b..3a116f17 100755 --- a/otp/chat/ChatGarbler.py +++ b/otp/chat/ChatGarbler.py @@ -5,15 +5,13 @@ class ChatGarbler: def __init__(self, messages): self.messages = messages - def garble(self, avatar, message): + def garble(self, avatar, numWords): newMessage = '' if avatar.style: avatarType = avatar.style.getType() wordList = self.messages[avatarType if avatarType in self.messages else 'default'] - numWords = len(message.split(' ')) - for i in xrange(1, numWords + 1): wordIndex = random.randint(0, len(wordList) - 1) newMessage = newMessage + wordList[wordIndex] diff --git a/otp/chat/SequenceList.py b/otp/chat/SequenceList.py deleted file mode 100755 index 61f00d49..00000000 --- a/otp/chat/SequenceList.py +++ /dev/null @@ -1,352 +0,0 @@ -class SequenceList: - - def __init__(self): - self.list = {} - for line in sequences.split('\n'): - if line is '': - continue - split = line.split(':') - self.list[split[0].lower()] = [word.rstrip('\r\n').lower() for word in split[1].split(',')] - - def getList(self, word): - if word in self.list: - return self.list[word] - else: - return [] - -sequences = ''' -$:exe,kk zzz,k zzz,ex,hit,hits,hole,whole,ole,ooo le,holes -'n:i gg,i grow,i gross,i grr,i grrr,i gah -'s:exe,kk zzz,k zzz,ex,hit,hits,u kk,uk -.:,Y . -42:0 -4:20,2 0,twenty,chan,twin tea,twin ty -69:ed,ing -8:=,- -<:=,- -=:8,=,- -a,ah,ahh,ahhh,ahhhhh,ahhhhhh:zzz,sees,$,'s -ace,as,ash,ask,asp,ashton:hole,whole,ole,ooo le,holes,zzz,'s -ack:ools -ai,ay,ayy,ayyy,ayyyy:ds -al:coco ol,cool,a ack bar,ah ack bar,ah ache bar,ah snack bar -all:a ack bar,ah ack bar,ah ache bar,ah snack bar -an:a hon,a honda,a con,a cone,ail,ails,ailed,ailing,al,ale,ales,all,awl,us,u.s.,u.s.a.,u si,usa,use,used,using,uses,uss -ann:a hon,a honda,a con,a cone,al,ails,ailed,ailing,ale,ales,all,awl,us,u.s.,u.s.a.,u si,usa,use,used,using,uses,uss -anna:hon,honda,con da,con duh,cone da,cone duh -anne:a hon,a honda,a con,a cone,al,us,u.s.,u.s.a.,u si,usa,use,used,using,uses,uss -ape's:me,you,him,his,their,him,them,your,yourself,ur self -ape:me,you,him,his,their,him,them,your,yourself,ur self -apes:me,you,him,his,their,him,them,your,yourself,ur self -ate:me out,you out,u out,her out -ball:it more -ban:gg -bangs:me,her,him,it,them -bass:hole,whole,ole,stir,stir ed,stair,stair ed,tar,star,stared,tt a r ed,holes -bat:star,stair,stair ed,star,stared -bay:be maker -be,bee,bo,boo:ach,i tea see ache,i tee see ache,i tea sea ache,i tee sea ache,eye tea see ache,eye tee see ache,eye tea sea ache,eye tee sea ache,itches,itch,jay,jays,job,jobs,etch,cheese,itching,each,shh,shhh,shhhh,shhhhhh,it cha,cha,ache -beast:tea al i tea,tea al i ty,tea al i tie -ben:dover,dove err,doves err -bend:over -bet:ouch -big:deck,decks,dock,docks,clock,clocks,cook,cooks -bit,bite:cha,chi,chez,chin,chine,china,chose,chow,chess,itch,itches,ach,cheese,cheddar,shh,shhh,shhhh,shhhhhh -bla:zz it,zzz it,k tar,kk tar -black:tar,k tar,kk tar -blew:job,jobs -bloat:job,jobs -bloo:job,jobs -blowfish:job,jobs -blowy:job,jobs -blue:waffle,job,jobs -bob:zzz,zz -bon:r,or,err,errs,me,him,it,ro,her -bone:r,or,err,errs,me,him,it,ro,her -boo:be,bee,bees,by,ty,bye,byes,tay,tea -boot:bee,bees,ty,y -bos:ton -bow:job,jobs -brass:hole,whole,ole,ooo le,holes -bull:sheep,sheeps,ship,shift -bulls:hit,sheep,sheeps,ship,shift -burn:in hello -but:hole,whole,plug,plugs,sec,toll,head,face -by:itch,itches -cam:bucket,buckets,dumpster,girl,girls,on me,tastes -came:bucket,buckets,dumpster,on me,tastes,in you,in u -cee:man,men,min,mins,moon,ex,a tt le,xii,exe,kk zzz -chic:a go,ago -chin:kk -class:hole,whole,ole -climb:max,maxed,maxes,maxing -climbed:max,maxed,maxes,maxing -climbs:max,maxed,maxes,maxing -clue:luxe,lucks -coca:in,ing -cog:awk -come:bucket,buckets,dumpster,on me,tastes -comes:bucket,buckets,dumpster,on me,tastes -con:dim,dims,dome,domes,dooms,doom,do hm,do hmm,do hmmm,do mm -concentration:camp -coop:kk -cop:kk -corn:oh graphic,ooo,hoo -cunning:link us,link is -curry:man cher,men cher,min cher,moon cher -da:am,mm,yum -dab:itch,itches -dah:am,yum -dat:as,ask,asp,asset,ashton -day:um,yum -dee:bag,kay,k -di:i do,ill do,ill does,kk,ill dot,i'll do,i'll dot,i'll does,ik,i -dill:doe,do,dot,does -ding:us,usa,uss,u.s.a. -dip:stick -dirt:y,ye,eh -docs:me,you,him,his,their,him,them,your -dot:come -dr:ugh,un kk -duck,luck,buck:err,error,errors,my life,everyone,me,ing,yourself,your self,ur self -ducked:your,ur,his,her,you -due:shh,shhh,shhhh,shhhhhh -dug:rugs -dumbo:as,ash,ask,asp -eat:me out,you out,u out,her out -eating:me out,you out,u out,her out -eats:me out,you out,u out,her out -eh:bo la,bowl a,rekt ion,rekt ions,wrekt ion,wrekt ions -el:mayo -ex:tube,tubes,at,cream mint -f.a.q.:ed,err,error,errors,ear,ears,you,ate,eat,gate,goat,got,ing,this,my life,everyone,me,off,king -face:book -fad:gg ate,gg eat,gate,get,it,goat,git -fads:gg ate,gg eat,eat,gate,get,it,goat,git -fake:king,k ing,k eng,kk ing,kk eng,off -family,dad,sister,brother,mom:dead,deads -far:kk,king,k ing,k eng,kk ing,kk eng -fat:as,asset,tas -faye:get,git,got -few:ack or,hack or,kk,king,ok,k ing,k eng,kk ing,kk eng -fill:my kitty,your kitty,her kitty,his kitty,their kitty,ur kitty -finger,fingers,fin gg err:you,me,her,him,them,us,your,ur,yourself,u -flack:you,king,ing,this,my life,everyone,me,off -flick:you,king,ing,this,my life,everyone,me,off -flock:ed,err,error,errors,ear,ears,you,ate,eat,gate,goat,got,ing,this,my life,everyone,me,off,king,u,you,yourself,ur -flowerpot:head,headed,heading,heads -flowerpots:head,headed,heading,heads -flunk:ing,king,eng,in gg,her,u,you,ur,yourself -foe:kk,king,ok,k ing,k eng,kk ing,kk eng -fog:ate,eat,gate,get,it,goat,got -folk:ed,err,error,errors,ear,ears,you,gate,goat,ing,this,my life,everyone,me,off,king -folks:ed,err,error,errors,ear,ears,you,gate,goat,ing,this,my life,everyone,me,off -for:kk,king,k ing,k eng,kk ing,kk eng,twenty,twin ty,20,twin tea -fork:err,error,errors,ear,ears,you,this,my life,everyone,me,off,king,ing,her,eng,in,u,ur,hair,air -four:chan,twenty,20,2 0,twin ty,twin tea -freaky:in,ing -free:kin,k in,k ing,k eng -fuchsia:err,error,errors,ear,ears,you,this,my life,everyone,me,off -fun:king,k ing,k eng,kk ing,kk eng,luck -gah:ay,yay -gee:mail,ay,yay -gen:it,i tall,i tail,i tails -get:wasted,waste ed,bent,hi,high,higher,highest,lay -gets:wasted,waste ed,hi,high,higher,highest,lay -getting:wasted,waste ed,hi,high,higher,highest,lay -gg:ay,a y,ah y,ayy,aye -girl,girls:1 cup,one cup,on cup,won cup,and a cup,plus a cup -give:me head,me pleasure,a truck -glass,glory:hole,whole,ole,ooo le,holes -go:to hello -got:wasted,waste ed,hi,high,higher,highest,ooo hello -grape:me,you,him,his,their,him,them,your,ed,yourself,ur self -grapes:me,you,him,his,their,him,them,your,ed,yourself,ur self -grass:hole,whole,ole,ooo le,holes -half:baked -hand:job,jobs -hang:your,yourself,ur self,myself,my self,me,you -hate:black people,back people,white people -have:sec,see ex -haved:sec,see ex -having:sec,see ex -he:ill,ii,ell,el -her:as,asp,bowls,bowl's,bows,bock,butted,but,come,pew,period,ah,dee,ash -hill:yourself,your self,ur self,u err self,u r self -his:as,asp,bowls,bowl's,bows,bock,butted,but,come,pew,period,ah,dee,ash -hit's:learn -hit:learn -hits:learn -hm:arr y juan,arr y jane,arr y jan,arr y jam -hmm:arr y juan,arr y jane,arr y jan,arr y jam -hmmm:arr y juan,arr y jane,arr y jan,arr y jam -horn:y,horn eh,knee,ie,i -honk:y,eye -hot:mail,come -hue:jazz -huge:as,mass,ashton,ask,asp,jazz,ash -huger:as,mass,ashton,ask,asp,jazz,ash -i'm:moist,wet,hard -i:es,es bean,es beans,es be an,es be ann,es be anne,es be i an,es be i ann,es be i anne,:c k,=c k,;c k,gg a,gg ah,gg ahh,gg ahhh,gg ahhhhh,gg ha -ice:hole,whole,ole,ooo le -id:i -if:uk -im:moist,wet,hard -in:he'll,the assistant,your mom,your mother,your assistant,ur assistant,ur mom,ur mother,the as,your as,ur as -inst:a gram,ah gram,ahh gram,ahhh gram,ahhhhh gram,ahhhhhh gram -instant:graham,grand -inter:course -jack's:ed,ing,me,myself,her,herself,him,himself,of,off,ourselves,they,themselves,us,you,yourself,u late -jack:ed,ing,me,myself,her,herself,him,himself,off,ourselves,they,themselves,us,you,yourself,u late -jacks:ed,ing,me,myself,her,herself,him,himself,of,off,ourselves,they,themselves,us,you,yourself,u late -jazz:hole,ole,on -kay:kay kay -kin:kk y -kind:kk y -king:kk y -kk:awk,bock,err,ill,ills,kk -knee:gg,grow,gross,grr,grrr,gah,gas,gauss -kneed:gg,grow,gross,grr,grrr,gah,gas,gauss -knit:gah -kun:tt -kyle's:yourself,your self,ur self,u err self,u r self -kyle:yourself,your self,ur self,u err self,u r self -kyles:yourself,your self,ur self,u err self,u r self -lap:dance -last:name -less:be i an,be i ann,be i anne,be an,be ann,be anne,bean,beans -little:sit,hitch,itch -lucks:clan -luxe:clan -ma:stir bait -making,make,makes,made:him hard,love -marry:juan a,juan ha,juan ah,jane,jan,jam -mary:juan a,juan ha,juan ah,jane,jan,jam -mass:hole,whole,ole,ooo le,stir bait -mast:are bait,are baits,are baiter,are bait eng,are bait ed,stir bait -master:bait,baits,baiter,bait eng,bait ed -mastered:bait,baits,baiter,bait eng,bait ed -mastering:bait,baits,baiter,bait eng,bait ed -masters:bait,baits,baiter,bait eng,bait ed -mayor:a juan,ah juan -men:str u ate -mexican:brown -mike:hawk,hawks,hunt,hunts -mm:arr y juan,arr y jane,arr y jan,arr y jam -mo,moe,moo:foe,foes,for,four -moon:shine -mother:flick,flicker,fork,fuchsia,duck,ducking,folk,folks,yuck,flock,heck,truck,funky,flunky,fax,quacker,bucker,bicker,faker,fake,flunk,flunking,tru -my,mah:as,asp,bowls,bowl's,bows,bock,butted,but,come,pew,period,ah,dee,ash,di ik,deck,decks,dock,docks,cook,cooks -nada:zen,zeke,z.z. -nag:zen,zeke,z.z.,grr,grrr,a,ah -nah:zen,zeke,z.z.,gg a,gg ah -nay:kit,grow,growl,gah,gg a,gg ah -neigh,nigh,nik:err,grr,grrr,grrrrrrrl,grow,grove,gurl,girl,gear,gears,gross,ah,a,gah -new:york,fork,folk,forks,folks -not:zen,zeke,z.z. -octopus:y,ye,sea,seas -octopuses:y,ye,sea,seas -of:u kk,uk -oh:rn y -old:are you,r you,are u,r u -omg:egg al -on:your knees,your knee -open:legs,leg -or:gah some,gah sum,gg y,gee -other:flick,flicker,fork,fuchsia,duck,folk,folks,yuck,flock,heck,truck,funky,flunky,fax,quacker,bucker,bicker -pah:key,keys -pant:tease,teas,ties -passed:off -pause:i,eek,eh -pea:nest,mess,pea,pi,pie,do file,knees,nice,niece -peck:err -peep:show -pen:ice,iced,ices,icing,island,eh tray,eh tate,15,is,1s,i zzz,his,1 5 -pens:ice,iced,ices,icing,island,eh tray,eh tate,15,is,1s,i zzz,his,1 5 -period:cramps -pet:oh pile,oh piles,oh file,oh files -pew:cee,say,says,sea,seas,see,sees,she,shes,she's,si -phony:number,numb err -pi:pi,ssw -piece,peace:of shift,of ship,of shut,of shirt -play:boy -pooh:cee,say,says,sea,seas,see,sees,she,shes,she's,si -pose:eh -pound:ed,ing,me,myself,her,herself,him,himself,of,off,ourselves,they,themselves,us,you,yourself -pounds:ed,ing,me,myself,her,herself,him,himself,of,off,ourselves,they,themselves,us,you,yourself -pour:on,no -pro:st i tut,stick tut -purr:cee,say,says,sea,seas,see,sees,she,shes,she's,si -push:y,ye,cee,say,says,sea,seas,see,sees,she,shes,she's,si -put:cee,say,says,sea,seas,see,sees,she,shes,she's,si -queue:ear -rake:you -rap:me,you,her,his,their,him,them,your,ed,35,yourself,ur self,eh me,ping -ray:ping,pi -re:tar ed,tart,tarts,tar tt ed,tar teed,tar dead,tar deed,tar dee ed,tar dad -read:tube,tubes -red:tube,tubes -reed:tube,tubes -rekt:um,hum,u hmm,huh,u hm,u hmmm -roll:grass,in the hay,in the hey -rub:one off,one of,1 off,1 of,on off,on of -san:francisco -sass:hole,whole,ole -sassy:hole,whole,ole -saw:kk -sc:hum,um,u hmm,huh,u hm,u hmmm -sea,see,sec::man,men,min,mins,moon,ex,a tt le,xii,exe,kk zzz -seem:en,an,man,men,min,ex,a tt le -sell,selling,sold:cracked,cracked-uptick,crackin',cracking,crackle,crackle's,crackles,crackly,herbs -sew:kk -she:it,hitting,its,ex i,mail,mails,mailed,mailing,male,males,tt,i,ii -shh,shhh,shhhh,shhhhhh,shy:it,eat,hit,hits,its,ex i,he mail,he mails,he mailed,he mailing,he male,he males,ii tt,i it,i tt -shut:the duck,the luck -si:u tt,exe,kk zzz,k zzz,ex -ski:it,ii tt -skill:your,yourself,ur self,myself,my self,me,you -sky:pea,peas,peel,pen,pet,pi,pie,peta,pico,pens,pop,hype,ape,pets,peep,per,pell,pa -snap,nap:chat -so:exe,kk zzz,k zzz,ex,kk -sock,socks,shucks:it,on it,my deck,my dock,my doc,ur deck,ur dock,your deck,your dock,his deck,his dock,cooks,cook,my cook,ur cook,your cook,his cook,my cooks,ur cooks,your cooks,his cooks,deck,decks,a dock,a deck,a docks,a decks,a cook,a cooks,my duck,my ducks,dock -sofa:king,kin,keen,kings -some:cricket -son,sun:of a bit,of a peach,of a be,of a bee -st:on ed,rip -stone:ed -stu:pit,pod -stuck:my duck,my dock,my deck,ing -sue:kk,lute,lutes -sugar:daddy -tah:tas,tah -tea:bag,bagged,bagging,bags -test:i cools,i cool,tickle,tickles -the:di,hello,flunk -tho:tt,tea,tee,ty -to:he'll,bangs -too:he'll,bangs -truck:eh ru,ing,eng,you,u,up,ed,her,or -tt:its,its,it -two:he'll -uk:you,u -un:tee -under:my skirt,her skirt,your skirt,my dress,her dress,your dress,ur skirt,ur dress -ur:but,bum,as,period,hole,holes -vague:in a,i nah -vern:gen -vet:china -via:grape -wanna:duck,bangs -wat:the hello,the fork,the duck,the freaky,the yuck,your sky,ur sky,the fire truck,the truck,the he'll -we,whee:ed,neigh is,knees -what:the hello,the fork,the duck,the freaky,the yuck,your sky,ur sky,the truck,the fire truck,the he'll -white:power -who:err,errs,re,ree -wrap:me,you,him,them,them -wut:the hello,the fork,the duck,the freaky,the yuck,your sky,ur sky,the truck,the fire truck,the he'll -you:a hole,in me -your:as,but,bum,come,period,hole,holes,ash,sass -yuck:err,error,errors,my life,me,ing,you,dee -zone:tan -zzz:3 ex,33 ex,ex,ugh eng,hole,holes -''' diff --git a/otp/chat/SequenceListData.py b/otp/chat/SequenceListData.py new file mode 100644 index 00000000..875a19ee --- /dev/null +++ b/otp/chat/SequenceListData.py @@ -0,0 +1,379 @@ +SEQUENCES = { + 'all': ['a ack bar', 'ah ack bar', 'ah ache bar', 'ah snack bar'], + 'bull': ['sheep', 'sheeps', 'ship', 'shift'], + 'neigh': ['err', 'grr', 'grrr', 'grrrrrrrl', 'grow', 'grove', 'gurl', 'girl', 'gear', 'gears', 'gross', 'ah', 'a', 'gah'], + 'four': ['chan', 'twenty', '20', '2 0', 'twin ty', 'twin tea'], + 'go': ['to hello'], + 'hate': ['black people', 'back people', 'white people'], + 'hmmm': ['arr y juan', 'arr y jane', 'arr y jan', 'arr y jam'], + 'vet': ['china'], + 'grape': ['me', 'you', 'him', 'his', 'their', 'him', 'them', 'your', 'ed', 'yourself', 'ur self'], + 'zone': ['tan'], + 'tt': ['its', 'its', 'it'], + 'to': ["he'll", 'bangs'], + 'under': ['my skirt', 'her skirt', 'your skirt', 'my dress', 'her dress', 'your dress', 'ur skirt', 'ur dress'], + 'coop': ['kk'], + 'far': ['kk', 'king', 'k ing', 'k eng', 'kk ing', 'kk eng'], + 'fat': ['as', 'asset', 'tas'], + 'jack': ['ed', 'ing', 'me', 'myself', 'her', 'herself', 'him', 'himself', 'off', 'ourselves', 'they', 'themselves', 'us', 'you', 'yourself', 'u late'], + 'huger': ['as', 'mass', 'ashton', 'ask', 'asp', 'jazz', 'ash'], + 'fad': ['gg ate', 'gg eat', 'gate', 'get', 'it', 'goat', 'git'], + 'vern': ['gen'], + 'gg': ['ay', 'a y', 'ah y', 'ayy', 'aye'], + 'marry': ['juan a', 'juan ha', 'juan ah', 'jane', 'jan', 'jam'], + 'brother': ['dead', 'deads'], + 'dip': ['stick'], + 'flick': ['you', 'king', 'ing', 'this', 'my life', 'everyone', 'me', 'off'], + 'nigh': ['err', 'grr', 'grrr', 'grrrrrrrl', 'grow', 'grove', 'gurl', 'girl', 'gear', 'gears', 'gross', 'ah', 'a', 'gah'], + 'tea': ['bag', 'bagged', 'bagging', 'bags'], + 'horn': ['y', 'horn eh', 'knee', 'ie', 'i'], + 'folk': ['ed', 'err', 'error', 'errors', 'ear', 'ears', 'you', 'gate', 'goat', 'ing', 'this', 'my life', 'everyone', 'me', 'off', 'king'], + 'blue': ['waffle', 'job', 'jobs'], + 'faye': ['get', 'git', 'got'], + 'sue': ['kk', 'lute', 'lutes'], + 'sun': ['of a bit', 'of a peach', 'of a be', 'of a bee'], + 'fingers': ['you', 'me', 'her', 'him', 'them', 'us', 'your', 'ur', 'yourself', 'u'], + 'kun': ['tt'], + 'new': ['york', 'fork', 'folk', 'forks', 'folks'], + 'freaky': ['in', 'ing'], + 'ahhhhh': ['zzz', 'sees', '$', "'s"], + 'burn': ['in hello'], + 'climbs': ['max', 'maxed', 'maxes', 'maxing'], + 'men': ['str u ate'], + 'buck': ['err', 'error', 'errors', 'my life', 'everyone', 'me', 'ing', 'yourself', 'your self', 'ur self'], + 'rekt': ['um', 'hum', 'u hmm', 'huh', 'u hm', 'u hmmm'], + 'climbed': ['max', 'maxed', 'maxes', 'maxing'], + 'bow': ['job', 'jobs'], + 'queue': ['ear'], + 'bangs': ['me', 'her', 'him', 'it', 'them'], + 'bon': ['r', 'or', 'err', 'errs', 'me', 'him', 'it', 'ro', 'her'], + 'boo': ['be', 'bee', 'bees', 'by', 'ty', 'bye', 'byes', 'tay', 'tea'], + 'bob': ['zzz', 'zz'], + 'makes': ['him hard', 'love'], + 'via': ['grape'], + 'family': ['dead', 'deads'], + 'put': ['cee', 'say', 'says', 'sea', 'seas', 'see', 'sees', 'she', 'shes', "she's", 'si'], + 'fake': ['king', 'k ing', 'k eng', 'kk ing', 'kk eng', 'off'], + 'ape': ['me', 'you', 'him', 'his', 'their', 'him', 'them', 'your', 'yourself', 'ur self'], + 'flunk': ['ing', 'king', 'eng', 'in gg', 'her', 'u', 'you', 'ur', 'yourself'], + 'two': ["he'll"], + 'few': ['ack or', 'hack or', 'kk', 'king', 'ok', 'k ing', 'k eng', 'kk ing', 'kk eng'], + 'ayy': ['ds'], + 'ahhh': ['zzz', 'sees', '$', "'s"], + 'yuck': ['err', 'error', 'errors', 'my life', 'me', 'ing', 'you', 'dee'], + 'phony': ['number', 'numb err'], + 'clue': ['luxe', 'lucks'], + 'glass': ['hole', 'whole', 'ole', 'ooo le', 'holes'], + "i'm": ['moist', 'wet', 'hard'], + 'cunning': ['link us', 'link is'], + 'ma': ['stir bait'], + 'mm': ['arr y juan', 'arr y jane', 'arr y jan', 'arr y jam'], + 'mo': ['foe', 'foes', 'for', 'four'], + 'oh': ['rn y'], + 'pour': ['on', 'no'], + 'cam': ['bucket', 'buckets', 'dumpster', 'girl', 'girls', 'on me', 'tastes'], + 'making': ['him hard', 'love'], + 'my': ['as', 'asp', 'bowls', "bowl's", 'bows', 'bock', 'butted', 'but', 'come', 'pew', 'period', 'ah', 'dee', 'ash', 'di ik', 'deck', 'decks', 'dock', 'docks', 'cook', 'cooks'], + 'dee': ['bag', 'kay', 'k'], + 'give': ['me head', 'me pleasure', 'a truck'], + 'pro': ['st i tut', 'stick tut '], + 'chin': ['kk'], + 'bend': ['over'], + 'chic': ['a go', 'ago'], + 'tah': ['tas', 'tah'], + 'huge': ['as', 'mass', 'ashton', 'ask', 'asp', 'jazz', 'ash'], + 'lucks': ['clan'], + 'id': ['i'], + 'hot': ['mail', 'come'], + 'purr': ['cee', 'say', 'says', 'sea', 'seas', 'see', 'sees', 'she', 'shes', "she's", 'si'], + 'inst': ['a gram', 'ah gram', 'ahh gram', 'ahhh gram', 'ahhhhh gram', 'ahhhhhh gram'], + 'mah': ['as', 'asp', 'bowls', "bowl's", 'bows', 'bock', 'butted', 'but', 'come', 'pew', 'period', 'ah', 'dee', 'ash', 'di ik', 'deck', 'decks', 'dock', 'docks', 'cook', 'cooks'], + 'dumbo': ['as', 'ash', 'ask', 'asp'], + 'lap': ['dance'], + 'a': ['zzz', 'sees', '$', "'s"], + 'curry': ['man cher', 'men cher', 'min cher', 'moon cher'], + 'eats': ['me out', 'you out', 'u out', 'her out'], + 'st': ['on ed', 'rip'], + 'si': ['u tt', 'exe', 'kk zzz', 'k zzz', 'ex'], + 'so': ['exe', 'kk zzz', 'k zzz', 'ex', 'kk'], + 'sc': ['hum', 'um', 'u hmm', 'huh', 'u hm', 'u hmmm'], + 'mexican': ['brown'], + 'octopuses': ['y', 'ye', 'sea', 'seas'], + 'pant': ['tease', 'teas', 'ties'], + 'mayor': ['a juan', 'ah juan'], + 'fads': ['gg ate', 'gg eat', 'eat', 'gate', 'get', 'it', 'goat', 'git'], + 'apes': ['me', 'you', 'him', 'his', 'their', 'him', 'them', 'your', 'yourself', 'ur self'], + 'pens': ['ice', 'iced', 'ices', 'icing', 'island', 'eh tray', 'eh tate', '15', 'is', '1s', 'i zzz', 'his', '1 5'], + '<': ['=', '-'], + 'dad': ['dead', 'deads'], + 'cee': ['man', 'men', 'min', 'mins', 'moon', 'ex', 'a tt le', 'xii', 'exe', 'kk zzz'], + 'dab': ['itch', 'itches'], + "jack's": ['ed', 'ing', 'me', 'myself', 'her', 'herself', 'him', 'himself', 'of', 'off', 'ourselves', 'they', 'themselves', 'us', 'you', 'yourself', 'u late'], + 'nada': ['zen', 'zeke', 'z.z.'], + 'rake': ['you'], + 'dah': ['am', 'yum'], + 'dat': ['as', 'ask', 'asp', 'asset', 'ashton'], + 'half': ['baked'], + 'not': ['zen', 'zeke', 'z.z.'], + 'day': ['um', 'yum'], + 'masters': ['bait', 'baits', 'baiter', 'bait eng', 'bait ed'], + "ape's": ['me', 'you', 'him', 'his', 'their', 'him', 'them', 'your', 'yourself', 'ur self'], + 'mastered': ['bait', 'baits', 'baiter', 'bait eng', 'bait ed'], + 'bone': ['r', 'or', 'err', 'errs', 'me', 'him', 'it', 'ro', 'her'], + 'luck': ['err', 'error', 'errors', 'my life', 'everyone', 'me', 'ing', 'yourself', 'your self', 'ur self'], + 'el': ['mayo'], + 'eh': ['bo la', 'bowl a', 'rekt ion', 'rekt ions', 'wrekt ion', 'wrekt ions'], + 'wrap': ['me', 'you', 'him', 'them', 'them'], + 'ex': ['tube', 'tubes', 'at', 'cream mint'], + 'flock': ['ed', 'err', 'error', 'errors', 'ear', 'ears', 'you', 'ate', 'eat', 'gate', 'goat', 'got', 'ing', 'this', 'my life', 'everyone', 'me', 'off', 'king', 'u', 'you', 'yourself', 'ur'], + 'your': ['as', 'but', 'bum', 'come', 'period', 'hole', 'holes', 'ash', 'sass'], + 're': ['tar ed', 'tart', 'tarts', 'tar tt ed', 'tar teed', 'tar dead', 'tar deed', 'tar dee ed', 'tar dad'], + 'hill': ['yourself', 'your self', 'ur self', 'u err self', 'u r self'], + 'got': ['wasted', 'waste ed', 'hi', 'high', 'higher', 'highest', 'ooo hello'], + 'get': ['wasted', 'waste ed', 'bent', 'hi', 'high', 'higher', 'highest', 'lay'], + 'bla': ['zz it', 'zzz it', 'k tar', 'kk tar'], + 'red': ['tube', 'tubes'], + 'shut': ['the duck', 'the luck'], + 'asp': ['hole', 'whole', 'ole', 'ooo le', 'holes', 'zzz', "'s"], + 'bass': ['hole', 'whole', 'ole', 'stir', 'stir ed', 'stair', 'stair ed', 'tar', 'star', 'stared', 'tt a r ed', 'holes'], + 'dirt': ['y', 'ye', 'eh'], + 'free': ['kin', 'k in', 'k ing', 'k eng'], + 'bulls': ['hit', 'sheep', 'sheeps', 'ship', 'shift'], + 'shh': ['it', 'eat', 'hit', 'hits', 'its', 'ex i', 'he mail', 'he mails', 'he mailed', 'he mailing', 'he male', 'he males', 'ii tt', 'i it', 'i tt'], + 'grapes': ['me', 'you', 'him', 'his', 'their', 'him', 'them', 'your', 'ed', 'yourself', 'ur self'], + 'mastering': ['bait', 'baits', 'baiter', 'bait eng', 'bait ed'], + 'ask': ['hole', 'whole', 'ole', 'ooo le', 'holes', 'zzz', "'s"], + 'ash': ['hole', 'whole', 'ole', 'ooo le', 'holes', 'zzz', "'s"], + 'knit': ['gah'], + 'ate': ['me out', 'you out', 'u out', 'her out'], + 'her': ['as', 'asp', 'bowls', "bowl's", 'bows', 'bock', 'butted', 'but', 'come', 'pew', 'period', 'ah', 'dee', 'ash'], + 'stone': ['ed'], + 'shucks': ['it', 'on it', 'my deck', 'my dock', 'my doc', 'ur deck', 'ur dock', 'your deck', 'your dock', 'his deck', 'his dock', 'cooks', 'cook', 'my cook', 'ur cook', 'your cook', 'his cook', 'my cooks', 'ur cooks', 'your cooks', 'his cooks', 'deck', 'decks', 'a dock', 'a deck', 'a docks', 'a decks', 'a cook', 'a cooks', 'my duck', 'my ducks', 'dock'], + 'ding': ['us', 'usa', 'uss', 'u.s.a.'], + 'fuchsia': ['err', 'error', 'errors', 'ear', 'ears', 'you', 'this', 'my life', 'everyone', 'me', 'off'], + 'blowy': ['job', 'jobs'], + 'open': ['legs', 'leg'], + 'little': ['sit', 'hitch', 'itch'], + 'bite': ['cha', 'chi', 'chez', 'chin', 'chine', 'china', 'chose', 'chow', 'chess', 'itch', 'itches', 'ach', 'cheese', 'cheddar', 'shh', 'shhh', 'shhhh', 'shhhhhh'], + 'girls': ['1 cup', 'one cup', 'on cup', 'won cup', 'and a cup', 'plus a cup'], + 'master': ['bait', 'baits', 'baiter', 'bait eng', 'bait ed'], + 'too': ["he'll", 'bangs'], + 'passed': ['off'], + 'white': ['power'], + 'hue': ['jazz'], + 'selling': ['cracked', 'cracked-uptick', "crackin'", 'cracking', 'crackle', "crackle's", 'crackles', 'crackly', 'herbs'], + 'haved': ['sec', 'see ex'], + 'peck': ['err'], + 'king': ['kk y'], + 'kind': ['kk y'], + 'ben': ['dover', 'dove err', 'doves err'], + 'bloat': ['job', 'jobs'], + 'bee': ['ach', 'i tea see ache', 'i tee see ache', 'i tea sea ache', 'i tee sea ache', 'eye tea see ache', 'eye tee see ache', 'eye tea sea ache', 'eye tee sea ache', 'itches', 'itch', 'jay', 'jays', 'job', 'jobs', 'etch', 'cheese', 'itching', 'each', 'shh', 'shhh', 'shhhh', 'shhhhhh', 'it cha', 'cha', 'ache'], + 'stu': ['pit', 'pod'], + 'bet': ['ouch'], + 'ann': ['a hon', 'a honda', 'a con', 'a cone', 'al', 'ails', 'ailed', 'ailing', 'ale', 'ales', 'all', 'awl', 'us', 'u.s.', 'u.s.a.', 'u si', 'usa', 'use', 'used', 'using', 'uses', 'uss'], + 'rap': ['me', 'you', 'her', 'his', 'their', 'him', 'them', 'your', 'ed', '35', 'yourself', 'ur self', 'eh me', 'ping'], + 'seem': ['en', 'an', 'man', 'men', 'min', 'ex', 'a tt le'], + 'saw': ['kk'], + 'ray': ['ping', 'pi'], + 'sell': ['cracked', 'cracked-uptick', "crackin'", 'cracking', 'crackle', "crackle's", 'crackles', 'crackly', 'herbs'], + 'truck': ['eh ru', 'ing', 'eng', 'you', 'u', 'up', 'ed', 'her', 'or'], + '=': ['8', '=', '-'], + 'play': ['boy'], + 'who': ['err', 'errs', 're', 'ree'], + 'what': ['the hello', 'the fork', 'the duck', 'the freaky', 'the yuck', 'your sky', 'ur sky', 'the truck', 'the fire truck', "the he'll"], + 'knee': ['gg', 'grow', 'gross', 'grr', 'grrr', 'gah', 'gas', 'gauss'], + 'kay': ['kay kay'], + 'class': ['hole', 'whole', 'ole'], + 'kk': ['awk', 'bock', 'err', 'ill', 'ills', 'kk'], + 'face': ['book'], + 'dot': ['come'], + 'flack': ['you', 'king', 'ing', 'this', 'my life', 'everyone', 'me', 'off'], + 'pause': ['i', 'eek', 'eh'], + 'ayyyy': ['ds'], + 'wut': ['the hello', 'the fork', 'the duck', 'the freaky', 'the yuck', 'your sky', 'ur sky', 'the truck', 'the fire truck', "the he'll"], + 'sugar': ['daddy'], + 'black': ['tar', 'k tar', 'kk tar'], + 'folks': ['ed', 'err', 'error', 'errors', 'ear', 'ears', 'you', 'gate', 'goat', 'ing', 'this', 'my life', 'everyone', 'me', 'off'], + '8': ['=', '-'], + 'his': ['as', 'asp', 'bowls', "bowl's", 'bows', 'bock', 'butted', 'but', 'come', 'pew', 'period', 'ah', 'dee', 'ash'], + 'hit': ['learn'], + 'di': ['i do', 'ill do', 'ill does', 'kk', 'ill dot', "i'll do", "i'll dot", "i'll does", 'ik', 'i'], + 'jazz': ['hole', 'ole', 'on'], + 'da': ['am', 'mm', 'yum'], + 'gee': ['mail', 'ay', 'yay'], + 'sassy': ['hole', 'whole', 'ole'], + 'dr': ['ugh', 'un kk'], + 'gen': ['it', 'i tall', 'i tail', 'i tails'], + 'flowerpots': ['head', 'headed', 'heading', 'heads'], + 'bat': ['star', 'stair', 'stair ed', 'star', 'stared'], + 'shy': ['it', 'eat', 'hit', 'hits', 'its', 'ex i', 'he mail', 'he mails', 'he mailed', 'he mailing', 'he male', 'he males', 'ii tt', 'i it', 'i tt'], + 'bay': ['be maker'], + 'she': ['it', 'hitting', 'its', 'ex i', 'mail', 'mails', 'mailed', 'mailing', 'male', 'males', 'tt', 'i', 'ii'], + 'ban': ['gg'], + 'sew': ['kk'], + 'blew': ['job', 'jobs'], + 'finger': ['you', 'me', 'her', 'him', 'them', 'us', 'your', 'ur', 'yourself', 'u'], + 'kneed': ['gg', 'grow', 'gross', 'grr', 'grrr', 'gah', 'gas', 'gauss'], + 'we': ['ed', 'neigh is', 'knees'], + 'omg': ['egg al'], + 'sold': ['cracked', 'cracked-uptick', "crackin'", 'cracking', 'crackle', "crackle's", 'crackles', 'crackly', 'herbs'], + 'come': ['bucket', 'buckets', 'dumpster', 'on me', 'tastes'], + 'cop': ['kk'], + 'hits': ['learn'], + 'grass': ['hole', 'whole', 'ole', 'ooo le', 'holes'], + 'instant': ['graham', 'grand'], + 'cog': ['awk'], + 'comes': ['bucket', 'buckets', 'dumpster', 'on me', 'tastes'], + 'con': ['dim', 'dims', 'dome', 'domes', 'dooms', 'doom', 'do hm', 'do hmm', 'do hmmm', 'do mm'], + 'pose': ['eh'], + 'period': ['cramps'], + '69': ['ed', 'ing'], + 'due': ['shh', 'shhh', 'shhhh', 'shhhhhh'], + 'dug': ['rugs'], + 'pi': ['pi', 'ssw'], + 'mary': ['juan a', 'juan ha', 'juan ah', 'jane', 'jan', 'jam'], + 'mike': ['hawk', 'hawks', 'hunt', 'hunts'], + 'wanna': ['duck', 'bangs'], + "kyle's": ['yourself', 'your self', 'ur self', 'u err self', 'u r self'], + 'snap': ['chat'], + 'gah': ['ay', 'yay'], + 'last': ['name'], + 'blowfish': ['job', 'jobs'], + 'coca': ['in', 'ing'], + 'fun': ['king', 'k ing', 'k eng', 'kk ing', 'kk eng', 'luck'], + 'pound': ['ed', 'ing', 'me', 'myself', 'her', 'herself', 'him', 'himself', 'of', 'off', 'ourselves', 'they', 'themselves', 'us', 'you', 'yourself'], + 'have': ['sec', 'see ex'], + 'kyles': ['yourself', 'your self', 'ur self', 'u err self', 'u r self'], + 'im': ['moist', 'wet', 'hard'], + 'in': ["he'll", 'the assistant', 'your mom', 'your mother', 'your assistant', 'ur assistant', 'ur mom', 'ur mother', 'the as', 'your as', 'ur as'], + 'concentration': ['camp'], + 'if': ['uk'], + 'make': ['him hard', 'love'], + 'honk': ['y', 'eye'], + 'docs': ['me', 'you', 'him', 'his', 'their', 'him', 'them', 'your'], + 'pah': ['key', 'keys'], + 'gets': ['wasted', 'waste ed', 'hi', 'high', 'higher', 'highest', 'lay'], + 'nik': ['err', 'grr', 'grrr', 'grrrrrrrl', 'grow', 'grove', 'gurl', 'girl', 'gear', 'gears', 'gross', 'ah', 'a', 'gah'], + 'ball': ['it more'], + 'hang': ['your', 'yourself', 'ur self', 'myself', 'my self', 'me', 'you'], + 'hand': ['job', 'jobs'], + 'beast': ['tea al i tea', 'tea al i ty', 'tea al i tie'], + 'kin': ['kk y'], + 'bos': ['ton'], + 'climb': ['max', 'maxed', 'maxes', 'maxing'], + 'kyle': ['yourself', 'your self', 'ur self', 'u err self', 'u r self'], + 'tho': ['tt', 'tea', 'tee', 'ty'], + 'mother': ['flick', 'flicker', 'fork', 'fuchsia', 'duck', 'ducking', 'folk', 'folks', 'yuck', 'flock', 'heck', 'truck', 'funky', 'flunky', 'fax', 'quacker', 'bucker', 'bicker', 'faker', 'fake', 'flunk', 'flunking', 'tru'], + 'the': ['di', 'hello', 'flunk'], + 'less': ['be i an', 'be i ann', 'be i anne', 'be an', 'be ann', 'be anne', 'bean', 'beans'], + '42': ['0'], + 'f.a.q.': ['ed', 'err', 'error', 'errors', 'ear', 'ears', 'you', 'ate', 'eat', 'gate', 'goat', 'got', 'ing', 'this', 'my life', 'everyone', 'me', 'off', 'king'], + 'skill': ['your', 'yourself', 'ur self', 'myself', 'my self', 'me', 'you'], + '$': ['exe', 'kk zzz', 'k zzz', 'ex', 'hit', 'hits', 'hole', 'whole', 'ole', 'ooo le', 'holes'], + 'sky': ['pea', 'peas', 'peel', 'pen', 'pet', 'pi', 'pie', 'peta', 'pico', 'pens', 'pop', 'hype', 'ape', 'pets', 'peep', 'per', 'pell', 'pa'], + 'shhh': ['it', 'eat', 'hit', 'hits', 'its', 'ex i', 'he mail', 'he mails', 'he mailed', 'he mailing', 'he male', 'he males', 'ii tt', 'i it', 'i tt'], + '4': ['20', '2 0', 'twenty', 'chan', 'twin tea', 'twin ty'], + 'bloo': ['job', 'jobs'], + 'ski': ['it', 'ii tt'], + 'read': ['tube', 'tubes'], + 'big': ['deck', 'decks', 'dock', 'docks', 'clock', 'clocks', 'cook', 'cooks'], + 'moo': ['foe', 'foes', 'for', 'four'], + 'mom': ['dead', 'deads'], + 'bit': ['cha', 'chi', 'chez', 'chin', 'chine', 'china', 'chose', 'chow', 'chess', 'itch', 'itches', 'ach', 'cheese', 'cheddar', 'shh', 'shhh', 'shhhh', 'shhhhhh'], + 'vague': ['in a', 'i nah'], + 'moe': ['foe', 'foes', 'for', 'four'], + 'pounds': ['ed', 'ing', 'me', 'myself', 'her', 'herself', 'him', 'himself', 'of', 'off', 'ourselves', 'they', 'themselves', 'us', 'you', 'yourself'], + 'sofa': ['king', 'kin', 'keen', 'kings'], + 'inter': ['course'], + 'old': ['are you', 'r you', 'are u', 'r u'], + 'duck': ['err', 'error', 'errors', 'my life', 'everyone', 'me', 'ing', 'yourself', 'your self', 'ur self'], + 'some': ['cricket'], + 'ahhhhhh': ['zzz', 'sees', '$', "'s"], + 'luxe': ['clan'], + 'for': ['kk', 'king', 'k ing', 'k eng', 'kk ing', 'kk eng', 'twenty', 'twin ty', '20', 'twin tea'], + 'pet': ['oh pile', 'oh piles', 'oh file', 'oh files'], + 'pew': ['cee', 'say', 'says', 'sea', 'seas', 'see', 'sees', 'she', 'shes', "she's", 'si'], + 'ice': ['hole', 'whole', 'ole', 'ooo le'], + 'moon': ['shine'], + 'foe': ['kk', 'king', 'ok', 'k ing', 'k eng', 'kk ing', 'kk eng'], + 'pen': ['ice', 'iced', 'ices', 'icing', 'island', 'eh tray', 'eh tate', '15', 'is', '1s', 'i zzz', 'his', '1 5'], + 'fog': ['ate', 'eat', 'gate', 'get', 'it', 'goat', 'got'], + 'anne': ['a hon', 'a honda', 'a con', 'a cone', 'al', 'us', 'u.s.', 'u.s.a.', 'u si', 'usa', 'use', 'used', 'using', 'uses', 'uss'], + 'pea': ['nest', 'mess', 'pea', 'pi', 'pie', 'do file', 'knees', 'nice', 'niece'], + 'anna': ['hon', 'honda', 'con da', 'con duh', 'cone da', 'cone duh'], + 'be': ['ach', 'i tea see ache', 'i tee see ache', 'i tea sea ache', 'i tee sea ache', 'eye tea see ache', 'eye tee see ache', 'eye tea sea ache', 'eye tee sea ache', 'itches', 'itch', 'jay', 'jays', 'job', 'jobs', 'etch', 'cheese', 'itching', 'each', 'shh', 'shhh', 'shhhh', 'shhhhhh', 'it cha', 'cha', 'ache'], + 'eating': ['me out', 'you out', 'u out', 'her out'], + 'zzz': ['3 ex', '33 ex', 'ex', 'ugh eng', 'hole', 'holes'], + 'rub': ['one off', 'one of', '1 off', '1 of', 'on off', 'on of'], + 'corn': ['oh graphic', 'ooo', 'hoo'], + 'bo': ['ach', 'i tea see ache', 'i tee see ache', 'i tea sea ache', 'i tee sea ache', 'eye tea see ache', 'eye tee see ache', 'eye tea sea ache', 'eye tee sea ache', 'itches', 'itch', 'jay', 'jays', 'job', 'jobs', 'etch', 'cheese', 'itching', 'each', 'shh', 'shhh', 'shhhh', 'shhhhhh', 'it cha', 'cha', 'ache'], + 'peep': ['show'], + 'by': ['itch', 'itches'], + "hit's": ['learn'], + 'on': ['your knees', 'your knee'], + 'sister': ['dead', 'deads'], + 'ace': ['hole', 'whole', 'ole', 'ooo le', 'holes', 'zzz', "'s"], + 'getting': ['wasted', 'waste ed', 'hi', 'high', 'higher', 'highest', 'lay'], + 'ack': ['ools'], + 'of': ['u kk', 'uk'], + 'octopus': ['y', 'ye', 'sea', 'seas'], + 'or': ['gah some', 'gah sum', 'gg y', 'gee'], + 'ahh': ['zzz', 'sees', '$', "'s"], + 'socks': ['it', 'on it', 'my deck', 'my dock', 'my doc', 'ur deck', 'ur dock', 'your deck', 'your dock', 'his deck', 'his dock', 'cooks', 'cook', 'my cook', 'ur cook', 'your cook', 'his cook', 'my cooks', 'ur cooks', 'your cooks', 'his cooks', 'deck', 'decks', 'a dock', 'a deck', 'a docks', 'a decks', 'a cook', 'a cooks', 'my duck', 'my ducks', 'dock'], + 'son': ['of a bit', 'of a peach', 'of a be', 'of a bee'], + 'ayyy': ['ds'], + '.': ['y .'], + 'pooh': ['cee', 'say', 'says', 'sea', 'seas', 'see', 'sees', 'she', 'shes', "she's", 'si'], + 'shhhh': ['it', 'eat', 'hit', 'hits', 'its', 'ex i', 'he mail', 'he mails', 'he mailed', 'he mailing', 'he male', 'he males', 'ii tt', 'i it', 'i tt'], + 'sock': ['it', 'on it', 'my deck', 'my dock', 'my doc', 'ur deck', 'ur dock', 'your deck', 'your dock', 'his deck', 'his dock', 'cooks', 'cook', 'my cook', 'ur cook', 'your cook', 'his cook', 'my cooks', 'ur cooks', 'your cooks', 'his cooks', 'deck', 'decks', 'a dock', 'a deck', 'a docks', 'a decks', 'a cook', 'a cooks', 'my duck', 'my ducks', 'dock'], + 'stuck': ['my duck', 'my dock', 'my deck', 'ing'], + 'wat': ['the hello', 'the fork', 'the duck', 'the freaky', 'the yuck', 'your sky', 'ur sky', 'the fire truck', 'the truck', "the he'll"], + 'fork': ['err', 'error', 'errors', 'ear', 'ears', 'you', 'this', 'my life', 'everyone', 'me', 'off', 'king', 'ing', 'her', 'eng', 'in', 'u', 'ur', 'hair', 'air'], + 'jacks': ['ed', 'ing', 'me', 'myself', 'her', 'herself', 'him', 'himself', 'of', 'off', 'ourselves', 'they', 'themselves', 'us', 'you', 'yourself', 'u late'], + 'but': ['hole', 'whole', 'plug', 'plugs', 'sec', 'toll', 'head', 'face'], + 'reed': ['tube', 'tubes'], + 'hm': ['arr y juan', 'arr y jane', 'arr y jan', 'arr y jam'], + 'eat': ['me out', 'you out', 'u out', 'her out'], + 'he': ['ill', 'ii', 'ell', 'el'], + 'made': ['him hard', 'love'], + 'glory': ['hole', 'whole', 'ole', 'ooo le', 'holes'], + 'shhhhhh': ['it', 'eat', 'hit', 'hits', 'its', 'ex i', 'he mail', 'he mails', 'he mailed', 'he mailing', 'he male', 'he males', 'ii tt', 'i it', 'i tt'], + 'ur': ['but', 'bum', 'as', 'period', 'hole', 'holes'], + 'un': ['tee'], + 'uk': ['you', 'u'], + 'piece': ['of shift', 'of ship', 'of shut', 'of shirt'], + 'dill': ['doe', 'do', 'dot', 'does'], + 'ai': ['ds'], + 'ah': ['zzz', 'sees', '$', "'s"], + 'al': ['coco ol', 'cool', 'a ack bar', 'ah ack bar', 'ah ache bar', 'ah snack bar'], + 'an': ['a hon', 'a honda', 'a con', 'a cone', 'ail', 'ails', 'ailed', 'ailing', 'al', 'ale', 'ales', 'all', 'awl', 'us', 'u.s.', 'u.s.a.', 'u si', 'usa', 'use', 'used', 'using', 'uses', 'uss'], + 'as': ['hole', 'whole', 'ole', 'ooo le', 'holes', 'zzz', "'s"], + 'ay': ['ds'], + 'girl': ['1 cup', 'one cup', 'on cup', 'won cup', 'and a cup', 'plus a cup'], + 'fill': ['my kitty', 'your kitty', 'her kitty', 'his kitty', 'their kitty', 'ur kitty'], + 'nag': ['zen', 'zeke', 'z.z.', 'grr', 'grrr', 'a', 'ah'], + 'whee': ['ed', 'neigh is', 'knees'], + 'nah': ['zen', 'zeke', 'z.z.', 'gg a', 'gg ah'], + 'peace': ['of shift', 'of ship', 'of shut', 'of shirt'], + 'boot': ['bee', 'bees', 'ty', 'y'], + 'nap': ['chat'], + 'other': ['flick', 'flicker', 'fork', 'fuchsia', 'duck', 'folk', 'folks', 'yuck', 'flock', 'heck', 'truck', 'funky', 'flunky', 'fax', 'quacker', 'bucker', 'bicker'], + 'ducked': ['your', 'ur', 'his', 'her', 'you'], + 'test': ['i cools', 'i cool', 'tickle', 'tickles'], + 'you': ['a hole', 'in me'], + 'nay': ['kit', 'grow', 'growl', 'gah', 'gg a', 'gg ah'], + 'roll': ['grass', 'in the hay', 'in the hey'], + "'s": ['exe', 'kk zzz', 'k zzz', 'ex', 'hit', 'hits', 'u kk', 'uk'], + "'n": ['i gg', 'i grow', 'i gross', 'i grr', 'i grrr', 'i gah'], + 'brass': ['hole', 'whole', 'ole', 'ooo le', 'holes'], + 'sass': ['hole', 'whole', 'ole'], + 'hmm': ['arr y juan', 'arr y jane', 'arr y jan', 'arr y jam'], + 'flowerpot': ['head', 'headed', 'heading', 'heads'], + 'mast': ['are bait', 'are baits', 'are baiter', 'are bait eng', 'are bait ed', 'stir bait'], + 'mass': ['hole', 'whole', 'ole', 'ooo le', 'stir bait'], + 'came': ['bucket', 'buckets', 'dumpster', 'on me', 'tastes', 'in you', 'in u'], + 'push': ['y', 'ye', 'cee', 'say', 'says', 'sea', 'seas', 'see', 'sees', 'she', 'shes', "she's", 'si'], + 'ashton': ['hole', 'whole', 'ole', 'ooo le', 'holes', 'zzz', "'s"], + 'having': ['sec', 'see ex'], +} \ No newline at end of file diff --git a/otp/chat/WhiteList.py b/otp/chat/WhiteList.py index 7c285a9c..ae8e69ea 100755 --- a/otp/chat/WhiteList.py +++ b/otp/chat/WhiteList.py @@ -1,11 +1,21 @@ from bisect import bisect_left +import re class WhiteList: + def __init__(self): + self.sequenceList = [] + def setWords(self, words): self.words = words self.numWords = len(self.words) + def setSequenceList(self, sequences): + self.sequenceList = sequences + + def getSequenceList(self, word): + return self.sequenceList[word] if word in self.sequenceList else None + def cleanText(self, text): return text.strip('.,?!').lower() @@ -19,10 +29,10 @@ class WhiteList: return i != self.numWords and self.words[i].startswith(text) def getReplacement(self, text, av=None, garbler=None): - return '\x01WLRed\x01%s\x02' % text if not garbler else garbler.garble(av, text) + return '\x01WLRed\x01%s\x02' % text if not garbler else garbler.garble(av, len(text.split(' '))) def processText(self, text, av=None, garbler=None): - if (not self.words) or (text.startswith('~') and not garbler): + if not self.words: return text words = text.split(' ') @@ -43,5 +53,30 @@ class WhiteList: return ' '.join(newWords) + def processSequences(self, text, av=None, garbler=None): + if not self.sequenceList: + return text + + words = text.split(' ') + + for wordNum in xrange(len(words)): + word = words[wordNum].lower() + sequences = self.getSequenceList(word) + + if not sequences: + continue + + for sequenceNum in xrange(len(sequences)): + sequence = sequences[sequenceNum].split() + total = wordNum + len(sequence) + 1 + + if total <= len(words) and sequence == words[wordNum + 1:total]: + words[wordNum:total] = self.getReplacement(' '.join(words[wordNum:total]), av, garbler).split() + + return ' '.join(words) + def processThroughAll(self, text, av=None, garbler=None): - return self.processText(text, av, garbler) \ No newline at end of file + if (text.startswith('~') and not garbler): + return text + + return self.processSequences(self.processText(re.sub(' +', ' ', text), av, garbler), av, garbler) \ No newline at end of file diff --git a/otp/otpbase/OTPBase.py b/otp/otpbase/OTPBase.py index eac4d08c..2e7d7c87 100755 --- a/otp/otpbase/OTPBase.py +++ b/otp/otpbase/OTPBase.py @@ -1,6 +1,6 @@ from direct.showbase.ShowBase import ShowBase from otp.ai.MagicWordGlobal import * -from otp.chat import WhiteList, WhiteListData +from otp.chat import WhiteList, WhiteListData, SequenceListData from pandac.PandaModules import Camera, TPLow, VBase4, ColorWriteAttrib, Filename, getModelPath, NodePath, Vec4 import OTPGlobals, OTPRender, math @@ -26,6 +26,9 @@ class OTPBase(ShowBase): self.whiteList = WhiteList.WhiteList() self.whiteList.setWords(WhiteListData.WHITELIST) + if config.GetBool('want-sequence-list', True): + self.whiteList.setSequenceList(SequenceListData.SEQUENCES) + if base.cam: if self.wantEnviroDR: base.cam.node().setCameraMask(OTPRender.MainCameraBitmask)