anchor.diff:  -behaviour(gen_fsm).
   
   %% API
  --export([start_link/0, token/1]).
  +-export([start_link/0, token/1, start/1, stop/1]).
   
   %% gen_fsm callbacks
   -export([init/1, handle_event/3, initializing/2, waiting_check/2, started/2,
  
positive.code: %% Function: init(Args) -> {ok, StateName, State} |
  %%                         {ok, StateName, State, Timeout} |
  %%                         ignore                              |
  %%                         {stop, StopReason}                   
  %% Description:Whenever a gen_fsm is started using gen_fsm:start/[3,4] or
  %% gen_fsm:start_link/3,4, this function is called by the new process to 
  %% initialize. 
  %%--------------------------------------------------------------------
  init([]) ->
      {ok, state_name, #state{}}.
  
  %%--------------------------------------------------------------------
  %% Function: 
  %% state_name(Event, State) -> {next_state, NextStateName, NextState}|
  %%                             {next_state, NextStateName, 
  %%                                NextState, Timeout} |
  %%                             {stop, Reason, NewState}
  %% Description:There should be one instance of this function for each possible
  %% state name. Whenever a gen_fsm receives an event sent using
  %% gen_fsm:send_event/2, the instance of this function with the same name as
  %% the current state name StateName is called to handle the event. It is also 
  %% called if a timeout occurs.
  %%--------------------------------------------------------------------
  
  
negative.code: 
  
  %%--------------------------------------------------------------------
  %% Function:
  %% handle_event(Event, StateName, State) -> {next_state, NextStateName,
  %%						  NextState} |
  %%                                          {next_state, NextStateName,
  %%					          NextState, Timeout} |
  %%                                          {stop, Reason, NewState}
  %% Description: Whenever a gen_fsm receives an event sent using
  