anchor.diff:  acct_close() ->
   	close_log(log_name(acct_log_name)).
   
  --spec acct_query(Continuation, Start, End, Types, MatchSpec) -> Result
  +-spec acct_query(Continuation, Start, End, Types, Matches) -> Result
   	when
   		Continuation :: start | disk_log:continuation(),
   		Start :: calendar:datetime() | pos_integer(),
   		End :: calendar:datetime() | pos_integer(),
   		Types :: [Type] | '_',
   		Type :: on | off | start | stop | interim | event,
  -		MatchSpec :: RadiusMatchSpec | DiameterMatchSpec,
  -		RadiusMatchSpec :: [{Attribute, Match}] | '_',
  +		Matches :: [Match] | '_',
  +		Match :: RadiusMatch | DiameterMatchSpec | RatedMatchSpec,
  +		RadiusMatch :: {Attribute, AttributeMatch},
   		Attribute :: byte(),
  -		Match :: {exact, term()} | {notexact, term()}
  +		AttributeMatch :: {exact, term()} | {notexact, term()}
   				| {lt, term()} | {lte, term()}
   				| {gt, term()} | {gte, term()}
   				| {regex, term()} | {like, [term()]} | {notlike, [term()]}
   				| {in, [term()]} | {notin, [term()]} | {contains, [term()]}
  -				| {notcontain, [term()]} | {containsall, [term()]} | '_',
  -		DiameterMatchSpec :: ets:match_spec() | '_',
  +				| {notcontain, [term()]} | {containsall, [term()]},
  +		DiameterMatchSpec :: {DiameterMatchHead, MatchConditions},
  +		DiameterMatchHead :: #'3gpp_ro_CCR'{} | #'3gpp_ro_CCA'{},
  +		RatedMatchSpec :: {RatedMatchHead, MatchConditions},
  +		RatedMatchHead :: #rated{},
  +		MatchConditions :: [tuple()],
   		Result :: {Continuation2, Events} | {error, Reason},
   		Continuation2 :: eof | disk_log:continuation(),
   		Events :: [acct_event()],
  
positive.code: acct_query(Continuation, Start, End, Types, AttrsMatch) ->
  	acct_query(Continuation, Start, End, '_', Types, AttrsMatch).
  
  -spec acct_query(Continuation, Start, End, Protocol, Types, MatchSpec) -> Result
  	when
  		Continuation :: start | disk_log:continuation(),
  		Start :: calendar:datetime() | pos_integer(),
  
negative.code: 		Protocol :: radius | diameter | '_',
  		Types :: [Type] | '_',
  		Type :: on | off | start | stop | interim | event,
  		Matches :: [Match] | '_',
  		Match :: RadiusMatch | DiameterMatchSpec | RatedMatchSpec,
  		RadiusMatch :: {Attribute, AttributeMatch},
  		Attribute :: byte(),
  		AttributeMatch :: {exact, term()} | {notexact, term()}
  				| {lt, term()} | {lte, term()}
  				| {gt, term()} | {gte, term()}
  				| {regex, term()} | {like, [term()]} | {notlike, [term()]}
  				| {in, [term()]} | {notin, [term()]} | {contains, [term()]}
  				| {notcontain, [term()]} | {containsall, [term()]},
  		DiameterMatchSpec :: {DiameterMatchHead, MatchConditions},
  		DiameterMatchHead :: #'3gpp_ro_CCR'{} | #'3gpp_ro_CCA'{},
  		RatedMatchSpec :: {RatedMatchHead, MatchConditions},
  		RatedMatchHead :: #rated{},
  		MatchConditions :: [tuple()],
  		Result :: {Continuation2, Events} | {error, Reason},
  		Continuation2 :: eof | disk_log:continuation(),
  		Events :: [acct_event()],
  