anchor.diff:  	    try
   		ssh_message:decode(set_kex_overload_prefix(DecryptedBytes,D1))
   	    of
  -		Msg = #ssh_msg_kexinit{} ->
  +		#ssh_msg_kexinit{} = Msg ->
   		    {keep_state, D1, [{next_event, internal, prepare_next_packet},
   				     {next_event, internal, {Msg,DecryptedBytes}}
   				    ]};
  +
  +                #ssh_msg_global_request{}            = Msg -> {keep_state, D1, ?CONNECTION_MSG(Msg)};
  +                #ssh_msg_request_success{}           = Msg -> {keep_state, D1, ?CONNECTION_MSG(Msg)};
  +                #ssh_msg_request_failure{}           = Msg -> {keep_state, D1, ?CONNECTION_MSG(Msg)};
  +                #ssh_msg_channel_open{}              = Msg -> {keep_state, D1, ?CONNECTION_MSG(Msg)};
  +                #ssh_msg_channel_open_confirmation{} = Msg -> {keep_state, D1, ?CONNECTION_MSG(Msg)};
  +                #ssh_msg_channel_open_failure{}      = Msg -> {keep_state, D1, ?CONNECTION_MSG(Msg)};
  +                #ssh_msg_channel_window_adjust{}     = Msg -> {keep_state, D1, ?CONNECTION_MSG(Msg)};
  +                #ssh_msg_channel_data{}              = Msg -> {keep_state, D1, ?CONNECTION_MSG(Msg)};
  +                #ssh_msg_channel_extended_data{}     = Msg -> {keep_state, D1, ?CONNECTION_MSG(Msg)};
  +                #ssh_msg_channel_eof{}               = Msg -> {keep_state, D1, ?CONNECTION_MSG(Msg)};
  +                #ssh_msg_channel_close{}             = Msg -> {keep_state, D1, ?CONNECTION_MSG(Msg)};
  +                #ssh_msg_channel_request{}           = Msg -> {keep_state, D1, ?CONNECTION_MSG(Msg)};
  +                #ssh_msg_channel_failure{}           = Msg -> {keep_state, D1, ?CONNECTION_MSG(Msg)};
  +                #ssh_msg_channel_success{}           = Msg -> {keep_state, D1, ?CONNECTION_MSG(Msg)};
  +
   		Msg ->
   		    {keep_state, D1, [{next_event, internal, prepare_next_packet},
  -				     {next_event, internal, Msg}
  +                                      {next_event, internal, Msg}
   				    ]}
   	    catch
   		C:E  ->
  
positive.code:       end, [], Cache),
      {keep_state, cache_check_set_idle_timer(D)};
  
  handle_event(info, idle_timer_timeout, StateName, _) ->
      {stop, {shutdown, "Timeout"}};
  
  %%% So that terminate will be run when supervisor is shutdown
  
negative.code: 		   #data{}
  		  ) -> gen_statem:event_handler_result(state_name()) .
  		   
  -define(CONNECTION_MSG(Msg),
          [{next_event, internal, prepare_next_packet},
           {next_event,internal,{conn_msg,Msg}}]).
  
  %% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  
  callback_mode() ->
  