Initial import.

This commit is contained in:
flash 2022-09-06 21:37:53 +00:00
commit 0c11a98275
9 changed files with 1728 additions and 0 deletions

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
* text=auto

5
.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
[Tt]humbs.db
[Dd]esktop.ini
.DS_Store
/public/robots.txt
/private/common.ini

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# Futami Shared Content
Repository for futami.flashii.net. Contains content and configuration shared by both chat clients.

View File

@ -0,0 +1,60 @@
title = Flashii Chat
ping = 30
sounds = //futami.flashii.net/sounds.json
login = //flashii.net/_sockchat/login
token = //flashii.net/_sockchat/token
emotes = //flashii.net/_sockchat/emotes
eeprom = //eeprom.flashii.net/uploads
uiharu = //uiharu.flashii.net/metadata
avatar = "//flashii.net/assets/avatar/{user:id}?res={resolution}&ver={user:avatar_change}"
profile = "//flashii.net/profile.php?u={user:id}"
kaomoji = //futami.flashii.net/kaomoji.txt
soundtriggers = //futami.flashii.net/soundtriggers.json
servers[] = //sockchat.flashii.net/ws
colours[Silver] = 12632256
colours[Citrine] = 15915065
colours[Orange] = 16753920
colours[Pumpkin] = 16741656
colours[Red] = 16056320
colours[Crimson] = 12582912
colours[Ruby] = 14684511
colours[Amaranth] = 15018832
colours[Thulite] = 14577569
colours[Pink] = 16740338
colours[Purpureus] = 10112686
colours[Antisia] = 9526403
colours[Cerulean] = 31655
colours[Cobalt] = 18347
colours[Aqua] = 2155775
colours[Keppel] = 3846302
colours[Teal] = 34181
colours[Green] = 34048
colours[Chartreuse] = 8388352
colours[Nitrate] = 9817088
colours[Lilive] = 12632064
colours[Daive] = 8750336
colours[Zaffre] = 5288
colours[Amethyst] = 10053324
colours[Mauve] = 7757962
colours[Splatoon Orange] = 16224046
colours[Splatoon Yellow Orange] = 16702476
colours[Splatoon Lime Green] = 13758986
colours[Splatoon Pink] = 16663677
colours[Splatoon Emerald Green] = 6082651
colours[Splatoon Teal] = 246221
colours[Splatoon Blue] = 921830
colours[Splatoon Violet] = 9570535
colours[Splatoon Red Orange] = 16272384
colours[Splatoon Yellow] = 15987540
colours[Splatoon Mint] = 12579301
colours[Splatoon Green] = 3916597
colours[Splatoon Sea Green] = 8058314
colours[Splatoon Light Blue] = 4492287
colours[Splatoon Dark Blue] = 1055411
colours[Splatoon Fuchsia] = 14042568
colours[Splatoon Neon Green] = 720405
colours[Splatoon Cyan] = 708094
colours[Splatoon Neon Orange] = 16750080
colours[Splatoon Dark Fuchsia] = 11672737

621
private/sound-library.ini Normal file
View File

@ -0,0 +1,621 @@
; AJAX Chat sounds
[ajaxchat:join]
title = "AJAX Chat - User joining"
sources[ogg] = "//static.flash.moe/chat/sounds/default/join.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/default/join.mp3"
[ajaxchat:leave]
title = "AJAX Chat - User leaving"
sources[ogg] = "//static.flash.moe/chat/sounds/default/leave.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/default/leave.mp3"
[ajaxchat:error]
title = "AJAX Chat - Error"
sources[ogg] = "//static.flash.moe/chat/sounds/default/~error.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/default/~error.mp3"
[ajaxchat:server]
title = "AJAX Chat - Server message"
sources[ogg] = "//static.flash.moe/chat/sounds/default/chatbot.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/default/chatbot.mp3"
[ajaxchat:incoming]
title = "AJAX Chat - Incoming message"
sources[ogg] = "//static.flash.moe/chat/sounds/default/receive.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/default/receive.mp3"
[ajaxchat:outgoing]
title = "AJAX Chat - Outgoing message"
sources[ogg] = "//static.flash.moe/chat/sounds/default/send.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/default/send.mp3"
; AIM sounds
[aim:join]
title = "AIM - User joining"
sources[ogg] = "//static.flash.moe/chat/sounds/aim/join.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/aim/join.mp3"
[aim:leave]
title = "AIM - User leaving"
sources[ogg] = "//static.flash.moe/chat/sounds/aim/leave.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/aim/leave.mp3"
[aim:server]
title = "AIM - Server message"
sources[ogg] = "//static.flash.moe/chat/sounds/aim/chatbot.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/aim/chatbot.mp3"
[aim:incoming]
title = "AIM - Incoming message"
sources[ogg] = "//static.flash.moe/chat/sounds/aim/receive.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/aim/receive.mp3"
[aim:outgoing]
title = "AIM - Outgoing message"
sources[ogg] = "//static.flash.moe/chat/sounds/aim/send.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/aim/send.mp3"
; Inkling Girl sounds
[woomy:join]
title = "Inkling Girl - Sqwoomy"
sources[ogg] = "//static.flash.moe/chat/sounds/woomy/join.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/woomy/join.mp3"
[woomy:leave]
title = "Inkling Girl - Erewesqwoom"
sources[ogg] = "//static.flash.moe/chat/sounds/woomy/leave.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/woomy/leave.mp3"
[woomy:error]
title = "Inkling Girl - Wiiiigh"
sources[ogg] = "//static.flash.moe/chat/sounds/woomy/error.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/woomy/error.mp3"
[woomy:server]
title = "Inkling Girl - Erewesqwoomy"
sources[ogg] = "//static.flash.moe/chat/sounds/woomy/chatbot.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/woomy/chatbot.mp3"
[woomy:incoming]
title = "Inkling Girl - Wimy"
sources[ogg] = "//static.flash.moe/chat/sounds/woomy/receive.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/woomy/receive.mp3"
[woomy:outgoing]
title = "Inkling Girl - Woomy"
sources[ogg] = "//static.flash.moe/chat/sounds/woomy/send.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/woomy/send.mp3"
; Pictochat sounds
[nds:join]
title = "Pictochat - User joining"
sources[ogg] = "//static.flash.moe/chat/sounds/ds/join.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/ds/join.mp3"
[nds:leave]
title = "Pictochat - User leaving"
sources[ogg] = "//static.flash.moe/chat/sounds/ds/leave.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/ds/leave.mp3"
[nds:error]
title = "Pictochat - Error"
sources[ogg] = "//static.flash.moe/chat/sounds/ds/error.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/ds/error.mp3"
[nds:server]
title = "Pictochat - Server message"
sources[ogg] = "//static.flash.moe/chat/sounds/ds/chatbot.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/ds/chatbot.mp3"
[nds:incoming]
title = "Pictochat - Incoming message"
sources[ogg] = "//static.flash.moe/chat/sounds/ds/receive.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/ds/receive.mp3"
[nds:outgoing]
title = "Pictochat - Outgoing message"
sources[ogg] = "//static.flash.moe/chat/sounds/ds/send.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/ds/send.mp3"
; osu! sounds
[osu:join]
title = "osu! - User joining"
sources[ogg] = "//static.flash.moe/chat/sounds/osu/join.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/osu/join.mp3"
[osu:leave]
title = "osu! - User leaving"
sources[ogg] = "//static.flash.moe/chat/sounds/osu/leave.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/osu/leave.mp3"
[osu:error]
title = "osu! - Error"
sources[ogg] = "//static.flash.moe/chat/sounds/osu/error.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/osu/error.mp3"
[osu:server]
title = "osu! - Server message"
sources[ogg] = "//static.flash.moe/chat/sounds/osu/chatbot.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/osu/chatbot.mp3"
[osu:incoming]
title = "osu! - Incoming message"
sources[ogg] = "//static.flash.moe/chat/sounds/osu/receive.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/osu/receive.mp3"
[osu:outgoing]
title = "osu! - Outgoing message"
sources[ogg] = "//static.flash.moe/chat/sounds/osu/send.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/osu/send.mp3"
; Windows 2000 sounds
[win2k:join]
title = "Windows 2000/ME - Startup"
sources[ogg] = "//static.flash.moe/chat/sounds/win2k/join.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win2k/join.mp3"
[win2k:leave]
title = "Windows 2000/ME - Shutdown"
sources[ogg] = "//static.flash.moe/chat/sounds/win2k/leave.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win2k/leave.mp3"
[win2k:error]
title = "Windows 2000/ME - Chord"
sources[ogg] = "//static.flash.moe/chat/sounds/win2k/error.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win2k/error.mp3"
[win2k:server]
title = "Windows 2000/ME - Tada"
sources[ogg] = "//static.flash.moe/chat/sounds/win2k/chatbot.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win2k/chatbot.mp3"
[win2k:incoming]
title = "Windows 2000/ME - Ding"
sources[ogg] = "//static.flash.moe/chat/sounds/win2k/receive.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win2k/receive.mp3"
[win2k:outgoing]
title = "Windows 2000/ME - Chime"
sources[ogg] = "//static.flash.moe/chat/sounds/win2k/send.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win2k/send.mp3"
; Windows NT 5.0 Beta 2 sounds
[nt5b2:startup]
title = "Windows NT 5.0 Beta 2 - Startup"
sources[ogg] = "//static.flash.moe/chat/sounds/ntstartup/everything.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/ntstartup/everything.mp3"
; Windows XP sounds
[winxp:join]
title = "Windows XP - Startup"
sources[ogg] = "//static.flash.moe/chat/sounds/winxp/join.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/winxp/join.mp3"
[winxp:leave]
title = "Windows XP - Shutdown"
sources[ogg] = "//static.flash.moe/chat/sounds/winxp/leave.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/winxp/leave.mp3"
[winxp:error]
title = "Windows XP - Critical stop"
sources[ogg] = "//static.flash.moe/chat/sounds/winxp/error.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/winxp/error.mp3"
[winxp:server]
title = "Windows XP - Error"
sources[ogg] = "//static.flash.moe/chat/sounds/winxp/chatbot.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/winxp/chatbot.mp3"
[winxp:incoming]
title = "Windows XP - Log On"
sources[ogg] = "//static.flash.moe/chat/sounds/winxp/receive.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/winxp/receive.mp3"
[winxp:outgoing]
title = "Windows XP - Log Off"
sources[ogg] = "//static.flash.moe/chat/sounds/winxp/send.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/winxp/send.mp3"
; Windows Vista/7 sounds
[win7:join]
title = "Windows Vista/7 - Startup"
sources[ogg] = "//static.flash.moe/chat/sounds/win7/join.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win7/join.mp3"
[win7:leave]
title = "Windows Vista/7 - Shutdown"
sources[ogg] = "//static.flash.moe/chat/sounds/win7/leave.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win7/leave.mp3"
[win7:error]
title = "Windows Vista/7 - Critical stop"
sources[ogg] = "//static.flash.moe/chat/sounds/win7/error.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win7/error.mp3"
[win7:server]
title = "Windows Vista/7 - Tada"
sources[ogg] = "//static.flash.moe/chat/sounds/win7/chatbot.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win7/chatbot.mp3"
[win7:incoming]
title = "Windows Vista/7 - Hardware inserted"
sources[ogg] = "//static.flash.moe/chat/sounds/win7/receive.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win7/receive.mp3"
[win7:outgoing]
title = "Windows Vista/7 - Hardware removed"
sources[ogg] = "//static.flash.moe/chat/sounds/win7/send.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win7/send.mp3"
; Windows 8 sounds
[win8:join]
title = "Windows 8 - Startup"
sources[ogg] = "//static.flash.moe/chat/sounds/win8/join.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win8/join.mp3"
[win8:leave]
title = "Windows 8 - Log off"
sources[ogg] = "//static.flash.moe/chat/sounds/win8/leave.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win8/leave.mp3"
[win8:error]
title = "Windows 8 - Critical stop"
sources[ogg] = "//static.flash.moe/chat/sounds/win8/error.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win8/error.mp3"
[win8:server]
title = "Windows 8 - System notification"
sources[ogg] = "//static.flash.moe/chat/sounds/win8/chatbot.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win8/chatbot.mp3"
[win8:incoming]
title = "Windows 8 - Foreground"
sources[ogg] = "//static.flash.moe/chat/sounds/win8/receive.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win8/receive.mp3"
[win8:outgoing]
title = "Windows 8 - Background"
sources[ogg] = "//static.flash.moe/chat/sounds/win8/send.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/win8/send.mp3"
; Aizawa Inori sounds
[inori:join]
title = "Aizawa Inori - Welcome Back!"
sources[ogg] = "//static.flash.moe/chat/sounds/inori/join.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/inori/join.mp3"
[inori:leave]
title = "Aizawa Inori - See you again soon!"
sources[ogg] = "//static.flash.moe/chat/sounds/inori/leave.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/inori/leave.mp3"
[inori:error]
title = "Aizawa Inori - System error"
sources[ogg] = "//static.flash.moe/chat/sounds/inori/error.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/inori/error.mp3"
[inori:server]
title = "Aizawa Inori - Hey!"
sources[ogg] = "//static.flash.moe/chat/sounds/inori/chatbot.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/inori/chatbot.mp3"
[inori:incoming]
title = "Aizawa Inori - Tada!"
sources[ogg] = "//static.flash.moe/chat/sounds/inori/receive.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/inori/receive.mp3"
[inori:outgoing]
title = "Aizawa Inori - Zhoop!"
sources[ogg] = "//static.flash.moe/chat/sounds/inori/send.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/inori/send.mp3"
; Madobe Nanami sounds
[nanami:join]
title = "Madobe Nanami - Okaeri!"
sources[ogg] = "//static.flash.moe/chat/sounds/nanami/join.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/nanami/join.mp3"
[nanami:leave]
title = "Madobe Nanami - Matane!"
sources[ogg] = "//static.flash.moe/chat/sounds/nanami/leave.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/nanami/leave.mp3"
[nanami:error]
title = "Madobe Nanami - System error"
sources[ogg] = "//static.flash.moe/chat/sounds/nanami/error.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/nanami/error.mp3"
[nanami:server]
title = "Madobe Nanami - Default Beep"
sources[ogg] = "//static.flash.moe/chat/sounds/nanami/chatbot.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/nanami/chatbot.mp3"
[nanami:incoming]
title = "Madobe Nanami - Ja jan!"
sources[ogg] = "//static.flash.moe/chat/sounds/nanami/receive.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/nanami/receive.mp3"
[nanami:outgoing]
title = "Madobe Nanami - Pi po!"
sources[ogg] = "//static.flash.moe/chat/sounds/nanami/send.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/nanami/send.mp3"
; Minecraft
[minecraft:door:open]
title = "Minecraft - Door Opening"
sources[ogg] = "//static.flash.moe/sounds/door-open.ogg"
sources[mp3] = "//static.flash.moe/sounds/door-open.mp3"
[minecraft:door:close]
title = "Minecraft - Door Closing"
sources[ogg] = "//static.flash.moe/sounds/door-close.ogg"
sources[mp3] = "//static.flash.moe/sounds/door-close.mp3"
[minecraft:door:open-old]
title = "Minecraft - Door Opening (Alpha)"
sources[ogg] = "//static.flash.moe/sounds/door-open-old.ogg"
sources[mp3] = "//static.flash.moe/sounds/door-open-old.mp3"
[minecraft:door:close-old]
title = "Minecraft - Door Closing (Alpha)"
sources[ogg] = "//static.flash.moe/sounds/door-close-old.ogg"
sources[mp3] = "//static.flash.moe/sounds/door-close-old.mp3"
[minecraft:nether:enter]
title = "Minecraft - Entering Nether Portal"
sources[ogg] = "//static.flash.moe/sounds/nether.ogg"
sources[mp3] = "//static.flash.moe/sounds/nether.mp3"
; Windows Live Messenger
[msn:incoming]
title = "Windows Live Messenger - Incoming message"
sources[ogg] = "//static.flash.moe/sounds/wlm-incoming.ogg"
sources[mp3] = "//static.flash.moe/sounds/wlm-incoming.mp3"
; Vinesauce
[vinesauce:escape]
title = "Vinesauce - Escape"
sources[ogg] = "//static.flash.moe/sounds/escape.ogg"
sources[mp3] = "//static.flash.moe/sounds/escape.mp3"
; Splatoon
[octo:f:veemo]
title = "Octoling Girl - Veemo"
sources[ogg] = "//static.flash.moe/sounds/veemo.ogg"
sources[mp3] = "//static.flash.moe/sounds/veemo.mp3"
[squid:m:ngyes]
title = "Inkling Boy - Ngyes"
sources[ogg] = "//static.flash.moe/sounds/ngyes.ogg"
sources[mp3] = "//static.flash.moe/sounds/ngyes.mp3"
[octo:m:ey-yo]
title = "Octoling Boy - Ey yo"
sources[ogg] = "//static.flash.moe/sounds/ey-yo.ogg"
sources[mp3] = "//static.flash.moe/sounds/ey-yo.mp3"
[shiokara:greet]
title = "Squid Sisters - Stay Fresh!"
sources[ogg] = "//static.flash.moe/sounds/stay-fresh.ogg"
sources[mp3] = "//static.flash.moe/sounds/stay-fresh.mp3"
; Mario
[mario:yahoo]
title = "Mario - YAHOO!"
sources[ogg] = "//static.flash.moe/sounds/mario-yahoo.ogg"
sources[mp3] = "//static.flash.moe/sounds/mario-yahoo.mp3"
[mario:herewego]
title = "Mario - HERE WE GO!"
sources[ogg] = "//static.flash.moe/sounds/mario-herewego.ogg"
sources[mp3] = "//static.flash.moe/sounds/mario-herewego.mp3"
[mario:yippee]
title = "Mario - YIPPEE!"
sources[ogg] = "//static.flash.moe/sounds/mario-yippee.ogg"
sources[mp3] = "//static.flash.moe/sounds/mario-yippee.mp3"
[mario:itsame]
title = "Mario - It'sa me!"
sources[ogg] = "//static.flash.moe/sounds/mario-itsame.ogg"
sources[mp3] = "//static.flash.moe/sounds/mario-itsame.mp3"
; Ace Attorney
[aceatt:pw:holdit]
title = "Phoenix Wright - HOLD IT!"
sources[ogg] = "//static.flash.moe/sounds/holdit-pw.ogg"
sources[mp3] = "//static.flash.moe/sounds/holdit-pw.mp3"
[aceatt:pw:takethat]
title = "Phoenix Wright - TAKE THAT!"
sources[ogg] = "//static.flash.moe/sounds/takethat-pw.ogg"
sources[mp3] = "//static.flash.moe/sounds/takethat-pw.mp3"
[aceatt:pw:objection]
title = "Phoenix Wright - OBJECTION!"
sources[ogg] = "//static.flash.moe/sounds/objection-pw.ogg"
sources[mp3] = "//static.flash.moe/sounds/objection-pw.mp3"
[aceatt:wp:objection]
title = "Winston Payne - OBJECTION!"
sources[ogg] = "//static.flash.moe/sounds/objection-wp.ogg"
sources[mp3] = "//static.flash.moe/sounds/objection-wp.mp3"
[aceatt:mk:objection]
title = "Manfred von Karma - OBJECTION!"
sources[ogg] = "//static.flash.moe/sounds/objection-mk.ogg"
sources[mp3] = "//static.flash.moe/sounds/objection-mk.mp3"
[aceatt:me:objection]
title = "Miles Edgeworth - OBJECTION!"
sources[ogg] = "//static.flash.moe/sounds/objection-me.ogg"
sources[mp3] = "//static.flash.moe/sounds/objection-me.mp3"
; Misc
[touhou:pichuun]
title = "Touhou - Pichuun"
sources[ogg] = "//static.flash.moe/sounds/touhou-death.ogg"
sources[mp3] = "//static.flash.moe/sounds/touhou-death.mp3"
[misc:explode]
title = "Explosion"
sources[ogg] = "//static.flash.moe/sounds/explode.ogg"
sources[mp3] = "//static.flash.moe/sounds/explode.mp3"
[dokuro:pipiru]
title = "Mitsukai Dokuro - Pipirupirupirupirupipirupi~"
sources[ogg] = "//static.flash.moe/sounds/dokuro-pipiru.ogg"
sources[mp3] = "//static.flash.moe/sounds/dokuro-pipiru.mp3"
[kf4:fuckyou]
title = "Kurasha244 - Fuck you"
sources[ogg] = "//static.flash.moe/chat/sounds/aim/error.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/aim/error.mp3"
[rogueamp:fuckbitch]
title = "rogueamp - FUCK, BITCH"
sources[ogg] = "//static.flash.moe/chat/sounds/default/error.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/default/error.mp3"
[mde:hundreddollar]
title = "MDE - ONE HUNDRED DOLLARS"
sources[ogg] = "//static.flash.moe/chat/sounds/default/~~error.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/default/~~error.mp3"
[drake-josh:intro]
title = "Drake Bell - I Found A Way"
sources[ogg] = "//static.flash.moe/chat/sounds/drake-josh/everything.ogg"
sources[mp3] = "//static.flash.moe/chat/sounds/drake-josh/everything.mp3"
[noucome:erabe]
title = "Noucome - Erabe"
sources[ogg] = "//static.flash.moe/sounds/erabe.ogg"
sources[mp3] = "//static.flash.moe/sounds/erabe.mp3"
[misc:ybabstat]
title = "The Lincolnshire Poacher"
sources[ogg] = "//static.flash.moe/sounds/ybabstat.ogg"
sources[mp3] = "//static.flash.moe/sounds/ybabstat.mp3"
[xbox:achievement]
title = "Xbox 360 - Achievement Unlocked"
sources[ogg] = "//static.flash.moe/sounds/achievement.ogg"
sources[mp3] = "//static.flash.moe/sounds/achievement.mp3"
[ps3:trophy]
title = "PlayStation 3 - Trophy Unlocked"
sources[ogg] = "//static.flash.moe/sounds/trophy.ogg"
sources[mp3] = "//static.flash.moe/sounds/trophy.mp3"
[sg:tutturu]
title = "Shiina Mayuri - Tutturu~"
sources[ogg] = "//static.flash.moe/sounds/tuturu.ogg"
sources[mp3] = "//static.flash.moe/sounds/tuturu.mp3"
[misc:tollbooth]
title = "Toll booth"
sources[ogg] = "//static.flash.moe/sounds/trip-drum.ogg"
sources[mp3] = "//static.flash.moe/sounds/trip-drum.mp3"
[misc:mynamejeff]
title = "My name Jeff"
sources[ogg] = "//static.flash.moe/sounds/jeff.ogg"
sources[mp3] = "//static.flash.moe/sounds/jeff.mp3"
[hl1:scienceteam]
title = "Half Life 1 - I'm with the science team!"
sources[ogg] = "//static.flash.moe/sounds/science-team.ogg"
sources[mp3] = "//static.flash.moe/sounds/science-team.mp3"
[misc:wbrb]
title = "We'll Be Right Back"
sources[ogg] = "//static.flash.moe/sounds/wbrb.ogg"
sources[mp3] = "//static.flash.moe/sounds/wbrb.mp3"
[misc:runaway]
title = "Carly Ray Jepsen - Run Away"
sources[ogg] = "//static.flash.moe/sounds/run-away.ogg"
sources[mp3] = "//static.flash.moe/sounds/run-away.mp3"
[unreal:holyshit]
title = "Unreal Tournament - Holy Shit"
sources[ogg] = "//static.flash.moe/sounds/holy-shit.ogg"
sources[mp3] = "//static.flash.moe/sounds/holy-shit.mp3"
[hl1:stop]
title = "Half Life 1 - STOP!"
sources[ogg] = "//static.flash.moe/sounds/stahp.ogg"
sources[mp3] = "//static.flash.moe/sounds/stahp.mp3"
[misc:op]
title = "op"
sources[ogg] = "//static.flash.moe/sounds/op.ogg"
sources[mp3] = "//static.flash.moe/sounds/op.mp3"
[misc:pegi3]
title = "Pegi 3"
sources[ogg] = "//static.flash.moe/sounds/pegi-3.ogg"
sources[mp3] = "//static.flash.moe/sounds/pegi-3.mp3"
[misc:pegi7]
title = "Pegi 7"
sources[ogg] = "//static.flash.moe/sounds/pegi-7.ogg"
sources[mp3] = "//static.flash.moe/sounds/pegi-7.mp3"
[misc:pegi12]
title = "Pegi 12"
sources[ogg] = "//static.flash.moe/sounds/pegi-12.ogg"
sources[mp3] = "//static.flash.moe/sounds/pegi-12.mp3"
[misc:pegi16]
title = "Pegi 16"
sources[ogg] = "//static.flash.moe/sounds/pegi-16.ogg"
sources[mp3] = "//static.flash.moe/sounds/pegi-16.mp3"
[misc:pegi18]
title = "Pegi 18"
sources[ogg] = "//static.flash.moe/sounds/pegi-18.ogg"
sources[mp3] = "//static.flash.moe/sounds/pegi-18.mp3"
[mikoto:demo]
title = "Misaka Mikoto - Demo"
sources[ogg] = "//static.flash.moe/sounds/demo.ogg"
sources[mp3] = "//static.flash.moe/sounds/demo.mp3"
[misc:padoru]
title = "PADORU PADORU"
sources[ogg] = "//static.flash.moe/sounds/padoru.ogg"
sources[mp3] = "//static.flash.moe/sounds/padoru.mp3"
[misc:yuh]
title = "Death Grips - YUH"
sources[ogg] = "//static.flash.moe/sounds/yuh.ogg"
sources[mp3] = "//static.flash.moe/sounds/yuh.mp3"
[obrado:stoptalking]
title = "Obrado - Stop talking"
sources[ogg] = "//static.flash.moe/sounds/stop-talking.ogg"
sources[mp3] = "//static.flash.moe/sounds/stop-talking.mp3"
[misc:vegemitesandwich]
title = "Men at Work - Vegemite Sandwich"
sources[opus] = "//static.flash.moe/sounds/vegemite-sandwich.opus"
sources[caf] = "//static.flash.moe/sounds/vegemite-sandwich.caf"

139
private/sound-packs.ini Normal file
View File

@ -0,0 +1,139 @@
; AJAX Chat
[ajax-chat]
title = "AJAX Chat"
events[join] = ajaxchat:join
events[leave] = ajaxchat:leave
events[error] = rogueamp:fuckbitch
events[server] = ajaxchat:server
events[incoming] = ajaxchat:incoming
events[outgoing] = ajaxchat:outgoing
; AIM
[aim]
title = "AIM"
events[join] = aim:join
events[leave] = aim:leave
events[error] = kf4:fuckyou
events[server] = aim:server
events[incoming] = aim:incoming
events[outgoing] = aim:outgoing
; Inkling Girl
[woomy]
title = "woomy"
events[join] = woomy:join
events[leave] = woomy:leave
events[error] = woomy:error
events[server] = woomy:server
events[incoming] = woomy:incoming
events[outgoing] = woomy:outgoing
; Pictochat
[nds]
title = "Pictochat"
events[join] = nds:join
events[leave] = nds:leave
events[error] = nds:error
events[server] = nds:server
events[incoming] = nds:incoming
events[outgoing] = nds:outgoing
; osu!
[osu]
title = "osu!"
events[join] = osu:join
events[leave] = osu:leave
events[error] = osu:error
events[server] = osu:server
events[incoming] = osu:incoming
events[outgoing] = osu:outgoing
; Windows 2000/ME
[win2k]
title = "Windows 2000/ME"
events[join] = win2k:join
events[leave] = win2k:leave
events[error] = win2k:error
events[server] = win2k:server
events[incoming] = win2k:incoming
events[outgoing] = win2k:outgoing
; Windows XP
[winxp]
title = "Windows XP"
events[join] = winxp:join
events[leave] = winxp:leave
events[error] = winxp:error
events[server] = winxp:server
events[incoming] = winxp:incoming
events[outgoing] = winxp:outgoing
; Windows Vista/7
[win7]
title = "Windows Vista/7"
events[join] = win7:join
events[leave] = win7:leave
events[error] = win7:error
events[server] = win7:server
events[incoming] = win7:incoming
events[outgoing] = win7:outgoing
; Windows 8
[win8]
title = "Windows 8"
events[join] = win8:join
events[leave] = win8:leave
events[error] = win8:error
events[server] = win8:server
events[incoming] = win8:incoming
events[outgoing] = win8:outgoing
; Aizawa Inori
[inori]
title = "Aizawa Inori"
events[join] = inori:join
events[leave] = inori:leave
events[error] = inori:error
events[server] = inori:server
events[incoming] = inori:incoming
events[outgoing] = inori:outgoing
; Madobe Nanami
[nanami]
title = "Madobe Nanami"
events[join] = nanami:join
events[leave] = nanami:leave
events[error] = nanami:error
events[server] = nanami:server
events[incoming] = nanami:incoming
events[outgoing] = nanami:outgoing
; Tada
[tada]
title = "Tada"
events[join] = win2k:server
events[leave] = win2k:server
events[error] = win2k:server
events[server] = win2k:server
events[incoming] = win2k:server
events[outgoing] = win2k:server
; Windows NT 5.0 Beta 2
[ntstartup]
title = "Windows NT 5.0 Beta 2"
events[join] = nt5b2:startup
events[leave] = nt5b2:startup
events[error] = nt5b2:startup
events[server] = nt5b2:startup
events[incoming] = nt5b2:startup
events[outgoing] = nt5b2:startup
; Drake and Josh
[drake-josh]
title = "Drake and Josh"
events[join] = drake-josh:intro
events[leave] = drake-josh:intro
events[error] = drake-josh:intro
events[server] = drake-josh:intro
events[incoming] = drake-josh:intro
events[outgoing] = drake-josh:intro

240
private/text-triggers.ini Normal file
View File

@ -0,0 +1,240 @@
[snd-escape]
type = sound
volume = 1.8
sounds[] = vinesauce:escape
match[] = "lc; has:escape"
[snd-erabe]
type = sound
sounds[] = noucome:erabe
match[] = "lc; has:erabe"
[snd-ybabstat]
type = sound
sounds[] = misc:ybabstat
match[] = "lc; has:space robots"
[snd-veemo]
type = sound
volume = 1.2
sounds[] = octo:f:veemo
match[] = "lc; has:veemo"
[snd-ey-yo]
type = sound
volume = 1.2
sounds[] = octo:m:ey-yo
match[] = "lc; has:ey yo; hasnot:hey you"
[snd-ngyes]
type = sound
sounds[] = squid:m:ngyes
match[] = "lc; has:ngyes"
[snd-shiokara]
type = sound
sounds[] = shiokara:greet
match[] = "lc; has:stay fresh"
[snd-woomy]
type = sound
sounds[] = woomy:outgoing
match[] = "lc; has:woomy"
[snd-achievement]
type = sound
volume = 1.2
sounds[] = xbox:achievement
match[] = "lc; has:achievement"
[snd-trophy]
type = sound
volume = 1.2
sounds[] = ps3:trophy
match[] = "lc; has:trophy"
[snd-tutturu]
type = sound
sounds[] = sg:tutturu
match[] = "lc; has:tutturu"
match[] = "lc; has:tuturu"
[snd-tollbooth]
type = sound
sounds[] = misc:tollbooth
match[] = "lc; has:tollbooth"
match[] = "lc; has:toll booth"
[snd-jeff]
type = sound
volume = 1.4
sounds[] = misc:mynamejeff
match[] = "lc; has:jeff"
match[] = "lc; has:geoff"
[snd-windefender]
type = sound
volume = 1.2
sounds[] = win8:server
match[] = "has:Windows Defender"
[snd-scienceteam]
type = sound
volume = 0.9
sounds[] = hl1:scienceteam
match[] = "lc; is:i'm with the science team"
match[] = "lc; is:i am with the science team"
match[] = "lc; is:i'm with the science team!"
match[] = "lc; is:i am with the science team!"
[snd-booyah]
type = alias
for[] = woomy
for[] = ngyes
for[] = veemo
for[] = ey yo
match[] = "lc; is:booyah"
[snd-wbrb]
type = sound
volume = 1.2
sounds[] = misc:wbrb
match[] = "lc; is:we'll be right back"
[snd-runaway]
type = sound
volume = 0.9
sounds[] = misc:runaway
match[] = "lc; is:run away"
[snd-holyshit]
type = sound
volume = 1.2
sounds[] = unreal:holyshit
match[] = "lc; is:holy shit"
[snd-hlstop]
type = sound
sounds[] = hl1:stop
match[] = "lc; is:stop"
match[] = "lc; is:stahp"
[snd-op]
type = sound
sounds[] = misc:op
match[] = "is:op"
[snd-pegi3]
type = sound
sounds[] = misc:pegi3
match[] = "lc; is:pegi 3"
[snd-pegi7]
type = sound
sounds[] = misc:pegi7
match[] = "lc; is:pegi 7"
[snd-pegi12]
type = sound
sounds[] = misc:pegi12
match[] = "lc; is:pegi 12"
[snd-pegi16]
type = sound
sounds[] = misc:pegi16
match[] = "lc; is:pegi 16"
[snd-pegi18]
type = sound
sounds[] = misc:pegi18
match[] = "lc; is:pegi 18"
[snd-demo]
type = sound
sounds[] = mikoto:demo
match[] = "is:demo"
[snd-padoru]
type = sound
volume = 0.8
sounds[] = misc:padoru
match[] = "is:PADORU PADORU"
[snd-mario-yahoo]
type = sound
volume = 1.2
sounds[] = mario:yahoo
match[] = "is:YAHOO"
match[] = "is:YAHOO!"
[snd-mario-herewego]
type = sound
volume = 1.2
sounds[] = mario:herewego
match[] = "is:HERE WE GO"
match[] = "is:HERE WE GO!"
[snd-mario-yippee]
type = sound
volume = 1.2
sounds[] = mario:yippee
match[] = "is:YIPPEE"
match[] = "is:YIPPEE!"
match[] = "is:YIPPIE"
match[] = "is:YIPPIE!"
[snd-mario-itsame]
type = sound
volume = 1.2
sounds[] = mario:itsame
match[] = "starts:ITSA ME"
match[] = "starts:IT'SA ME"
match[] = "starts:IT'S A ME"
[snd-mario-itsame-toilet]
type = sound
volume = 1.2
rate = 0.6
sounds[] = mario:itsame
match[] = "lc; is:mario has logged in."
[snd-aceatt-pw-holdit]
type = sound
volume = 1.2
sounds[] = aceatt:pw:holdit
match[] = "is:HOLD IT"
match[] = "is:HOLD IT!"
[snd-aceatt-pw-takethat]
type = sound
volume = 1.2
sounds[] = aceatt:pw:takethat
match[] = "is:TAKE THAT"
match[] = "is:TAKE THAT!"
[snd-aceatt-pw-objection]
type = sound
volume = 1.2
sounds[] = aceatt:pw:objection
sounds[] = aceatt:wp:objection
sounds[] = aceatt:mk:objection
sounds[] = aceatt:me:objection
match[] = "is:OBJECTION"
match[] = "is:OBJECTION!"
[snd-yuh]
type = sound
volume = 0.8
rate = rng
sounds[] = misc:yuh
match[] = "is:YUH"
[snd-stoptalking]
type = sound
sounds[] = obrado:stoptalking
match[] = "lc; is:stop talking"
[snd-vegemitesandwich]
type = sound
sounds[] = misc:vegemitesandwich
match[] = "lc; is:vegemite sandwich"

231
public/index.php Normal file
View File

@ -0,0 +1,231 @@
<?php
define('FTM_ROOT', __DIR__ . '/..');
define('FTM_PATH_PUB', FTM_ROOT . '/public');
define('FTM_PATH_PRV', FTM_ROOT . '/private');
define('FTM_LEGACY_SOUND_TYPE', [
'opus' => 'audio/ogg',
'ogg' => 'audio/ogg',
'mp3' => 'audio/mpeg',
'caf' => 'audio/x-caf',
'wav' => 'audio/wav',
]);
header('X-Powered-By: Futami');
header('Cache-Control: max-age=86400, must-revalidate');
header('Access-Control-Allow-Origin: *');
$reqMethod = (string)filter_input(INPUT_SERVER, 'REQUEST_METHOD');
if($reqMethod === 'OPTIONS') {
http_response_code(204);
header('Access-Control-Allow-Methods: OPTIONS, GET');
header('Access-Control-Allow-Headers: Cache-Control');
return;
}
if($reqMethod !== 'HEAD' && $reqMethod !== 'GET') {
http_response_code(405);
return;
}
function json_out($data): void {
header('Content-Type: application/json; charset=utf-8');
echo json_encode($data);
exit;
}
function match_etag($eTag): void {
if(filter_input(INPUT_SERVER, 'HTTP_IF_NONE_MATCH') === $eTag) {
http_response_code(304);
exit;
}
}
function gen_etag(string $user, string $data): string {
return sprintf('W/"%s-%s"', hash('sha1', $data), $user);
}
function gen_etag_file(string $user, string $path): string {
return gen_etag($user, hash_file('sha1', $path));
}
function etag(string $etag): void {
match_etag($etag);
header('ETag: ' . $etag);
}
function etag_data(string $user, string $data): void {
etag(gen_etag($user, $data));
}
function etag_file(string $user, string $path): void {
etag(gen_etag_file($user, $path));
}
$reqPath = '/' . trim(parse_url((string)filter_input(INPUT_SERVER, 'REQUEST_URI'), PHP_URL_PATH), '/');
if($reqPath === '/common.json') {
$commonPath = FTM_PATH_PRV . '/common.ini';
etag_file('common', $commonPath);
$common = parse_ini_file($commonPath, false, INI_SCANNER_TYPED);
$colours = $common['colours'];
$common['colours'] = [];
foreach($colours as $n => $c)
$common['colours'][] = compact('n', 'c');
json_out($common);
}
if($reqPath === '/sounds.json') {
$sndLibData = file_get_contents(FTM_PATH_PRV . '/sound-library.ini');
$sndPackData = file_get_contents(FTM_PATH_PRV . '/sound-packs.ini');
etag_data('sounds', $sndLibData . $sndPackData);
$sndLib = parse_ini_string($sndLibData, true, INI_SCANNER_TYPED);
$sndPacks = parse_ini_string($sndPackData, true, INI_SCANNER_TYPED);
$library = [];
foreach($sndLib as $name => $info) {
$sources = [];
foreach($info['sources'] as $type => $path) {
$sources[] = [
'format' => FTM_LEGACY_SOUND_TYPE[$type],
'url' => $path,
];
}
$library[] = [
'id' => $name,
'name' => $info['title'],
'sources' => $sources,
];
}
$packs = [];
foreach($sndPacks as $name => $info) {
$packs[] = [
'id' => $name,
'name' => $info['title'],
'events' => $info['events'],
];
}
json_out(compact('library', 'packs'));
}
if($reqPath === '/soundtriggers.json') {
$textTriggersPath = FTM_PATH_PRV . '/text-triggers.ini';
etag_file('soundtriggers', $textTriggersPath);
$textTriggers = parse_ini_file($textTriggersPath, true, INI_SCANNER_TYPED);
$sndLib = parse_ini_file(FTM_PATH_PRV . '/sound-library.ini', true, INI_SCANNER_TYPED);
$soundTrigs = [];
foreach($textTriggers as $triggerInfo) {
if($triggerInfo['type'] !== 'sound' && $triggerInfo['type'] !== 'alias')
continue;
$soundTrig = [];
if($triggerInfo['type'] === 'sound') {
$sounds = [];
foreach($triggerInfo['sounds'] as $soundName) {
if(!isset($sndLib[$soundName]))
continue;
$sound = [];
$libSound = $sndLib[$soundName];
if(isset($libSound['sources']['mp3']))
$sound['m'] = $libSound['sources']['mp3'];
if(isset($libSound['sources']['ogg']))
$sound['o'] = $libSound['sources']['ogg'];
if(isset($libSound['sources']['opus']))
$sound['o'] = $libSound['sources']['opus'];
if(isset($libSound['sources']['caf']))
$sound['c'] = $libSound['sources']['caf'];
if(empty($sound))
continue;
if(isset($triggerInfo['volume'])) {
$sound['v'] = ceil(($triggerInfo['volume'] - 1) * 100);
$sound['v2'] = $triggerInfo['volume'];
}
if(isset($triggerInfo['rate']))
$sound['r'] = $triggerInfo['rate'];
$sounds[] = $sound;
}
$soundTrig['s'] = $sounds;
} elseif($triggerInfo['type'] === 'alias') {
$soundTrig['f'] = $triggerInfo['for'];
}
$matches = [];
foreach($triggerInfo['match'] as $match) {
$filters = [];
$value = null;
$notValue = null;
$parts = explode(';', $match);
foreach($parts as $part) {
$part = explode(':', trim($part));
switch($part[0]) {
case 'lc':
$filters[] = 'lower';
break;
case 'is':
$filters[] = 'exact';
$value = trim($part[1]);
break;
case 'starts':
$filters[] = 'starts';
$value = trim($part[1]);
break;
case 'has':
$filters[] = 'contains';
$value = trim($part[1]);
break;
case 'hasnot':
$notValue = trim($part[1]);
break;
default:
$filters[] = 'missing:' . $part[0];
break;
}
}
$matchNew = ['t' => implode(':', $filters)];
if($value !== null)
$matchNew['m'] = $value;
if($notValue !== null)
$matchNew['n'] = $notValue;
$matches[] = $matchNew;
}
$soundTrig['t'] = $matches;
$soundTrigs[] = $soundTrig;
}
json_out([
'meta' => [
'baseUrl' => '',
],
'triggers' => $soundTrigs,
]);
}
if($reqPath === '/' || $reqPath === '/index.html' || $reqPath === '/index.php') {
header('Content-Type: text/html; charset=utf-8');
echo <<<HTML
<!doctype html>
Data and settings shared between both chat clients is stored on this subdomain.
HTML;
return;
}
http_response_code(404);

428
public/kaomoji.txt Normal file
View File

@ -0,0 +1,428 @@
¢‿¢
©¿© o
ª{•̃̾_•̃̾}ª
¬_¬
¯\(º_o)/¯
¯\(º o)/¯
¯\_(⊙︿⊙)_/¯
¯\_(ツ)_/¯
°ω°
°Д°
°‿‿°
°ﺑ°
´ ▽ ` )ノ
¿ⓧ_ⓧﮌ
Ò,ó
ó‿ó
ô⌐ô
ôヮô
ŎםŎ
ŏﺡó
ʕ•̫͡•ʔ
ʕ•ᴥ•ʔ
ʘ‿ʘ
˚•_•˚
˚⌇˚
˚▱˚
̿ ̿̿'̿'\̵͇̿̿\=(•̪●)=/̵͇̿̿/'̿̿ ̿ ̿ ̿
͡° ͜ʖ ͡°
Σ ◕ ◡ ◕
Σ (゚Д゚;
Σ(゚Д゚;≡;゚д゚)
Σ(゚Д゚ )
Σ(||゚Д゚)
Φ,Φ
δﺡό
σ_σ
д_д
ф_ф
щ(゚Д゚щ)
щ(ಠ益ಠщ)
щ(ಥДಥщ)
Ծ_Ծ
أ‿أ
ب_ب
ح˚௰˚づ
ح˚ᆺ˚ว
حᇂﮌᇂ)
٩๏̯͡๏۶
٩๏̯͡๏)۶
٩◔̯◔۶
٩(×̯×)۶
٩(̾●̮̮̃̾•̃̾)۶
٩(͡๏̯͡๏)۶
٩(͡๏̯ ͡๏)۶
٩(ಥ_ಥ)۶
٩(•̮̮̃•̃)۶
٩(●̮̮̃•̃)۶
٩(●̮̮̃●̃)۶
٩(。͡•‿•。)۶
٩(-̮̮̃•̃)۶
٩(-̮̮̃-̃)۶
۞_۞
۞_۟۞
۹ↁﮌↁ
۹⌤_⌤۹
॓_॔
१✌◡✌५
१|˚–˚|५
ਉ_ਉ
ଘ_ଘ
இ_இ
ఠ_ఠ
రృర
ಠ¿ಠi
ಠ‿ಠ
ಠ⌣ಠ
ಠ╭╮ಠ
ಠ▃ಠ
ಠ◡ಠ
ಠ益ಠ
ಠ益ಠ
ಠ︵ಠ凸
ಠ , ಥ
ಠ.ಠ
ಠoಠ
ಠ_ృ
ಠ_ಠ
ಠ_๏
ಠ~ಠ
ಡ_ಡ
ತಎತ
ತ_ತ
ಥдಥ
ಥ‿ಥ
ಥ⌣ಥ
ಥ◡ಥ
ಥ﹏ಥ
ಥ_ಥ
ಭ_ಭ
ರ_ರ
ಸ , ໖
ಸ_ಸ
ക_ക
อ้_อ้
อ_อ
โ๏௰๏ใ ื
๏̯͡๏﴿
๏̯͡๏
๏̯͡๏﴿
๏[-ิิ_•ิ]๏
๏_๏
໖_໖
༺‿༻
ლ(´ڡ`ლ)
ლ(́◉◞౪◟◉‵ლ)
ლ(ಠ益ಠლ)
ლ(╹◡╹ლ)
ლ(◉◞౪◟◉‵ლ)
ლ,ᔑ•ﺪ͟͠•ᔐ.ლ
ᄽὁȍ ̪ őὀᄿ
ᕕ( ᐛ )ᕗ
ᕙ(⇀‸↼‶)ᕗ
ᕦ(ò_óˇ)ᕤ
ᶘ ᵒᴥᵒᶅ
‘︿’
•▱•
•✞_✞•
•ﺑ•
•(⌚_⌚)•
•_•)
‷̗ↂ凸ↂ‴̖
‹•.•›
(•¿•)
(ᵒᴥᵒ­­­­­)
(•¿•)
ↁ_ↁ
⇎_⇎
∩(︶▽︶)∩
∩( ・ω・)∩
≖‿≖
≧ヮ≦
⊂•⊃_⊂•⊃
⊂⌒~⊃。Д。)⊃
⊂(◉‿◉)つ
⊂(゚Д゚,,⊂⌒`つ
⊙ω⊙
⊙▂⊙
⊙▃⊙
⊙△⊙
⊙︿⊙
⊙﹏⊙
⊙0⊙
⊛ठ̯⊛
⋋ō_ō`
━━━ヽ(ヽ(゚ヽ(゚∀ヽ(゚∀゚ヽ(゚∀゚)ノ゚∀゚)ノ∀゚)ノ゚)ノ)ノ━━━
┌∩┐(◕_◕)┌∩┐
┌( ಠ_ಠ)┘
┌( ಥ_ಥ)┘
╚(•⌂•)╝
╭╮╭╮☜{•̃̾_•̃̾}☞╭╮╭╮
╭✬⌢✬╮
╮(─▽─)╭
╯‵Д′)╯彡┻━┻
╰☆╮
□_□
►_◄
◃┆◉◡◉┆▷
◉△◉
◉︵◉
◉_◉
○_○
●¿●\ ~
●_●
◔̯◔
◔ᴗ◔
◔ ⌣ ◔
◔_◔
◕ω◕
◕‿◕
◕◡◕
◕ ◡ ◕
◖♪_♪|◗
◖|◔◡◉|◗
◘_◘
◙‿◙
◜㍕◝
◪_◪
◮_◮
☁ ☝ˆ~ˆ☂
☆¸☆
☉‿⊙
☉_☉
☐_☐
☜ق❂Ⴢ❂ق☞
☜(⌒▽⌒)☞
☜(゚ヮ゚☜)
☜-(ΘLΘ)-☞
☝☞✌
☮▁▂▃▄☾ ♛ ◡ ♛ ☽▄▃▂▁☮
☹_☹
☻_☻
☼.☼
☾˙❀‿❀˙☽
♀ح♀ヾ
♥‿♥
♥╣[-_-]╠♥
♥╭╮♥
♥◡♥
✌♫♪˙❤‿❤˙♫♪✌
✌.ʕʘ‿ʘʔ.✌
✌.|•͡˘‿•͡˘|.✌
✖‿✖
✖_✖
❐‿❑
⨀_⨀
⨀_Ꙩ
⨂_⨂
〆(・∀・@)
《〠_〠》
【•】_【•】
〠_〠
〴⋋_⋌〵
<EFBFBD> <20>
ニガー? ━━━━━━(゚∀゚)━━━━━━ ニガー?
ペ㍕˚\
ヽ(´ー` )ノ
ヽ(๏∀๏ )ノ
ヽ(`Д´)ノ
ヽ(`皿′o)ノ
ㅎ_ㅎ
ヽ(`Д´)ノ
乂◜◬◝乂
凸ಠ益ಠ)凸
句_句
Ꙩ⌵Ꙩ
Ꙩ_Ꙩ
ꙩ_ꙩ
Ꙫ_Ꙫ
ꙫ_ꙫ
ꙮ_ꙮ
흫_흫
句_句
﴾͡๏̯͡๏﴿
¯\(ºдಠ)/¯
(·×·)
(⌒Д⌒)
(╹ェ╹)
(♯・∀・)⊃
( ´∀`)☆
( ´∀`)
(゜Д゜)
(・∀・)
(・A・)
(゚∀゚)
( ̄へ ̄)
´☣///_ゝ///☣`)
つ Д
_☆( ´_⊃_
。◕‿‿◕。
。◕ ‿ ◕。
!⑈ˆ~ˆ!⑈
!(`・ω・。)
(¬‿¬)
(¬▂¬)
(¬_¬)
(°ℇ °)
(°∀°)
(´ω`)
(´◉◞౪◟◉)
(´ヘ`;)
(´・ω・`)
(´ー`)
(ʘ‿ʘ)
(ʘ_ʘ)
(˚இ˚)
(͡๏̯͡๏)
(ΘεΘ;)
(ι´Д`)ノ
(Ծ‸ Ծ)
(॓_॔)
( ्०)
(ு८ு_ .:)
(ಠ‾ಠ)
(ಠ‿ʘ)
(ಠ‿ಠ)
(ಠ⌣ಠ)
(ಠ益ಠ ╬)
(ಠ益ಠ)
(ಠ_ృ)
(ಠ_ಠ)
(ಥ﹏ಥ)
(ಥ_ಥ)
(๏̯͡๏ )
(ღ˘⌣˘ღ) ♫・*:.。. .。.:*・
(ღ˘⌣˘ღ)
(ᵔᴥᵔ)
(•ω•)
(•‿•)
(•⊙ω⊙•)
(• ε •)
(∩▂∩)
(∩︵∩)
(≧ω≦)
()
(≧ω≦)
(≧◡≦)
(≧ロ≦)
(⊙ヮ⊙)
(⊙_◎)
(⋋▂⋌)
(⌐■_■)
(─‿‿─)
(┛◉Д◉)┛┻━┻
(╬ಠ益ಠ)
(╥_╥)
(╬◣д◢)
(╬ ಠ益ಠ)
(╯°□°)╯︵ ┻━┻
(╯ಊ╰)
(╯◕_◕)╯
(╯︵╰,)
(╯3╰)
(╯_╰)
(╹◡╹)凸
(▰˘◡˘▰)
(●´ω`●)
(●´∀`●)
(◑‿◐)
(◑◡◑)
(◕‿◕✿)
(◕‿◕)
(◕‿-)
(◕︵◕)
(◕ ^ ◕)
(◕_◕)
(◜௰◝)
(◡‿◡✿)
(◣_◢)
(☞゚∀゚)☞
(☞゚ヮ゚)☞
(☞゚ ∀゚ )☞
(☼◡☼)
(☼_☼)
(✌゚∀゚)☞
(✖╭╮✖)
(✪㉨✪)
(✿◠‿◠)
(✿ ♥‿♥)
( ・∀・)
( ・ัω・ั)
( ゚∀゚)o彡゜えーりんえーりん!!
(。・_・。)
(つд`)
(づ。◕‿‿◕。)づ
(ノಠ益ಠ)ノ彡┻━┻
( ◑‿◑)
(_・。)
(・∀・ )
(屮゚Д゚)屮
(︶ω︶)
(︶︹︺)
(ﺧ益ﺨ)
(一_一)
(`・ω・´)”
(。◕‿‿◕。)
(。◕‿◕。)
(。◕ ‿ ◕。)
(。♥‿♥。)
(。・ω..・)っ
(・ェ-)
(ノ◕ヮ◕)ノ*:・゚✧
(゚Д゚)
(゚Д゚)y─┛~~
(゚∀゚)
(゚ヮ゚)
( ̄□ ̄)
( ̄。 ̄)
( ̄ー ̄)
( ̄(エ) ̄)
( °٢° )
( ´_ゝ)
( ͡° ͜ʖ ͡°)
( ͡~ ͜ʖ ͡°)
( ಠ◡ಠ )
( •_•)>⌐■-■
(  ゚,_ゝ゚)
( ・ิз・ิ)
( ゚д゚)、
( ^▽^)σ)~O~)
((((゜д゜;))))
(*´д`*)
(*..Д`)
(*..д`*)
(*~▽~)
(-๏_๏-)
(-_- )
(/◔ ◡ ◔)/
(///_ಥ)
(;´Д`)
(=ω=;)
(=゜ω゜)
(>'o')> ♥ <('o'<)
(n˘v˘•)¬
(o´ωo)
(V)(°,,°)(V)
(\/) (°,,°) (\/)
(^▽^)
(`・ω・´)
(~ ̄▽ ̄)~
/╲/\╭ºoꍘoº╮/\\
<【☯】‿【☯】>
= (゚д゚)ウ
@_@
d(*⌒▽⌒*)b
o(≧∀≦)o
o(≧o≦)o
q(❂‿❂)p
y=ー( ゚д゚)・∵.
\˚ㄥ˚\
\ᇂ_ᇂ\
\(ಠ ὡ ಠ )/
\(◕ ◡ ◕\)
^̮^
^ㅂ^
_(͡๏̯͡๏)_
{´◕ ◡ ◕`}
{ಠ_ಠ}__,,|,
{◕ ◡ ◕}