<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _radix_int_handler_factory(radix_indicators, charset, parse_func):
 """Generates a handler co-routine which tokenizes a integer of a particular radix. Args: radix_indicators (sequence):
 The set of ordinals of characters that indicate the radix of this int. charset (sequence):
 Set of ordinals of legal characters for this radix. parse_func (callable):
 Called upon ending the numeric value. Accepts the current token value and returns a thunk that lazily parses the token. """

    def assertion(c, ctx):
        return c in radix_indicators and \
               ((len(ctx.value) == 1 and ctx.value[0] == _ZERO) or
                (len(ctx.value) == 2 and ctx.value[0] == _MINUS and ctx.value[1] == _ZERO)) and \
               ctx.ion_type == IonType.INT
    return _numeric_handler_factory(charset, lambda prev, c, ctx, trans: _illegal_character(c, ctx),
                                    assertion, radix_indicators, parse_func, illegal_at_end=radix_indicators)