KUCPSO7Q3ZUHUB64VF5VT5HUIK4ASJQHTGN3WLHPGINM5DBPAGVAC KII5FYIKKZWX5BGWBU6DNLTRUY3HK3UJRS6XZEKJMTMRNOLPGV2AC 66SL4FZVO2A5G5QC5TNKJIEK2NOJBIAULY66LTRYNTA2FAZQ4APQC 25CHRM7W3AA4VRF2ZSKU5YWBA5XTIZXMXDKZ64U5BRVGZGNNKM6AC 4DHN3FJ7YPSEPXXU2LCTLKGCAKH6RLGLTYFN2P6XTZJDPR5SFJMAC UVGQA4JL7UY6HSEMU2JDRZLT44QJAVKV6ZBMWOFHDFHJZLTM5NKAC BXLMOKJKVWRCNSJSD6L4RFON2IHEWB7J42QRYWN7M45XP22752YAC HUZD6J5KO5CBMA6JN4EJ6LENGM7JWWB4NOWOWVBP2OUW7QTRM65QC L77BUZBKT7UDCUK7K22HIQJPHLMOQ4TAPK4SPLGYVMC4ZKXKLGLQC ZMAZUHFHJOW2GSUH5SUDXRG4STQ6PQHWYGZIZHEJCN73PSNQOAAQC H7PPEYC35JOQ2NSSEYVPTFWZBNO5WXRWG5X3XR3JGX5R2BBU5WWAC DB44ZP7WEBTVG2VE22AT3WEOV7BAKSTKWSLAAQJ22PCS2ELDK5SAC CGPQSMRFAEGSEMLDQWPHLEOAF26HVF3IC6BEKRCOSV2H6QLIBEAQC GSDBVUTOZWOIOFUVNH7V6IAKTOGPMZVKP42NP3VD73MPFJQR3Q7AC TYF47LXEGOXZCZNC5WVEFLR3WBBXKOZM5LU5ZXQLEXNNHOWT6MAQC I5P3SDLEMN5ZKXKOPWQLCCZREYYU2VJJPCYAMX2F4ZRJO7CFTO6AC N5EIST2VUX7VCGRCPSLZDTCKZJ5R7WN7C25YYUNUJDDWVBGVTW5AC XWKX7SLAF5TVGPZTUF43XP6JW5QVMUAW2CHLPP3KBNZP7YCLOFIQC AETEUT6ER7MJXNYTBH5RHUT5URSRWNBJPXU2CA4URLSNAZYMWPIAC S4P2B3FPF57HPHTIAYGMPCVKB7573IB5ZBKNXVBTB6ICCPF55WNQC fn do(cmd []string, mut conn net.TcpConn) {match cmd[0] {'irc' {ihost := if cmd.len > 1 { cmd[1] } else { 'none' }println('match irc $ihost')irc_add(ihost, mut conn)
fn parse(words []string) map[string]string {mut params := map[string]string{}for word in words {parts := word.split(':')if parts.len > 1 {params[parts[0]] = parts[1]} else {println('use key:value instead of $word')
'status' {println('match status')status(mut conn)}else {println('match else: ${cmd[0]}')do_verb(cmd[0], mut conn)}
}fn status(mut conn net.TcpConn) {addr := conn.peer_addr() or { panic(err) }do_verb('status', mut conn)println('--- $addr')
fn do_verb(verb string, mut conn net.TcpConn) {mut params := map[string]string{}cmd := build_cmd(verb, params)
fn do(cmd rpc.Command, mut conn net.TcpConn) string {