anchor.diff:  %% -------------------------------------------------------------------
   alloc_entry(Db, CacheDb, TM) ->
       CurSize = ets:info(CacheDb, size),
  -    case ets:lookup(Db, cache_size) of
  -	[{cache_size, Size}] when Size =< CurSize, Size > 0 ->
  +    case ets:lookup_element(Db, cache_size, 2) of
  +	Size when Size =< CurSize, Size > 0 ->
   	    alloc_entry(CacheDb, CurSize, TM, trunc(Size * 0.1) + 1);
  -	[{cache_size, Size}] when Size =< 0 ->
  +	Size when Size =< 0 ->
   	    false;
  -	_ ->
  +	_Size ->
   	    true
       end.
   
  
positive.code: 
  	{add_socks_noproxy, {{A,B,C,D},{MA,MB,MC,MD}}} 
  	when ?ip(A,B,C,D), ?ip(MA,MB,MC,MD) ->
  	    [{_,As}] = ets:lookup(Db, socks5_noproxy),
  	    ets:insert(Db, {socks5_noproxy, As++[{{A,B,C,D},{MA,MB,MC,MD}}]}),
  	    {reply, ok, State};
  
  	{del_socks_noproxy, {A,B,C,D}=IP} when ?ip(A,B,C,D) ->
  	    [{_,As}] = ets:lookup(Db, socks5_noproxy),
  	    ets:insert(Db, {socks5_noproxy, lists_keydelete(IP, 1, As)}),
  	    {reply, ok, State};
  
  
negative.code: 	    {reply, ok, State};
  
  	{add_socks_methods, Ls} -> 
  	    As = ets:lookup_element(Db, socks5_methods, 2),
  	    As1 = lists_subtract(As, Ls),
  	    ets:insert(Db, {socks5_methods, As1 ++ Ls}),
  	    {reply, ok, State};
  	    
  	{del_socks_methods, Ls} ->
  	    As = ets:lookup_element(Db, socks5_methods, 2),
  	    As1 = lists_subtract(As, Ls),
  	    case lists:member(none, As1) of
  		false -> ets:insert(Db, {socks5_methods, As1 ++ [none]});
  