anchor.diff:  
   -include_lib("amqp_client.hrl").
   -include("emmo.hrl").
  +
  +-export([activate/0]).
   
   -export([start_link/1, stop/1]).
   -export([attack/2, get_state/1]).
  
positive.code: 
  get_state(Pid) -> gen_fsm:sync_send_all_state_event(Pid, get_state).
  
  init(StartHp) -> {ok, good, {stat, StartHp}}.
  
  good({attack, Damage}, {stat, Hp}) ->
  	io:format("hp is ~p!!~n", [Hp]),
  	NewHp = Hp - Damage,
  	if
  		NewHp < 1  ->
  			io:fwrite("uncon!!~n"),
              {next_state, dead, {stat, NewHp}, 10000};
  
          true ->
              {next_state, good, {stat, NewHp}}
      end;
  
  good({heal, AddHp}, {stat, Hp}) ->
  	NewHp = Hp + AddHp,
  	{next_state, good, {stat, NewHp}}.
  
  dead(timeout, StateData) ->
      io:fwrite("respawn!!~n"),
      {next_state, good, {stat, 1}}.
  
  handle_event(stop, _StateName, StateData) -> {stop, normal, StateData}.
  terminate(normal, _StateName, _StateData) -> ok.
  
negative.code: 
  
  %% while subscribing, message will be delivered by #amqp_msg
  chat_info({broadcast, Id, Payload}, From, State) ->
  	{_ServerIp, ToClientEx, FromClientEx, {_Connection, ChTC, _ChFC}} = State,
  	BinMsg = jsx:encode([{<<"id">>, list_to_binary(Id)}, {<<"message">>, list_to_binary(Payload)}]),
  