





def 							__snake_case							(    lowerCAmelCase_	)				->						bool:
    return credit_card_number.startswith(('''34''', '''35''', '''37''', '''4''', '''5''', '''6''')	)


def 							__snake_case							(    lowerCAmelCase_	)				->						bool:
    SCREAMING_SNAKE_CASE__											=			credit_card_number
    SCREAMING_SNAKE_CASE__											=			0
    SCREAMING_SNAKE_CASE__											=			len(lowerCAmelCase_	) - 2
    for i in range(lowerCAmelCase_ ,							-1 ,							-2	):
        #  double the value of every second digit
        SCREAMING_SNAKE_CASE__											=			int(cc_number[i]	)
        digit *= 2
        # If doubling of a number results in a two digit number
        # i.e greater than 9(e.g., 6 × 2 = 12),
        # then add the digits of the product (e.g., 12: 1 + 2 = 3, 15: 1 + 5 = 6),
        # to get a single digit number.
        if digit > 9:
            digit %= 1_0
            digit += 1
        SCREAMING_SNAKE_CASE__											=			cc_number[:i] + str(lowerCAmelCase_	) + cc_number[i + 1 :]
        total += digit

    # Sum up the remaining digits
    for i in range(len(lowerCAmelCase_	) - 1 ,							-1 ,							-2	):
        total += int(cc_number[i]	)

    return total % 1_0 == 0


def 							__snake_case							(    lowerCAmelCase_	)				->						bool:
    SCREAMING_SNAKE_CASE__											=			f'''{credit_card_number} is an invalid credit card number because'''
    if not credit_card_number.isdigit():
        print(f'''{error_message} it has nonnumerical characters.'''	)
        return False

    if not 1_3 <= len(lowerCAmelCase_	) <= 1_6:
        print(f'''{error_message} of its length.'''	)
        return False

    if not validate_initial_digits(lowerCAmelCase_	):
        print(f'''{error_message} of its first two digits.'''	)
        return False

    if not luhn_validation(lowerCAmelCase_	):
        print(f'''{error_message} it fails the Luhn check.'''	)
        return False

    print(f'''{credit_card_number} is a valid credit card number.'''	)
    return True


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  validate_credit_card_number("""4111111111111111""")
  validate_credit_card_number("""32323""")







from dataclasses import dataclass, field
from typing import ClassVar, Dict

from ..features import Features, Value
from .base import TaskTemplate



@dataclass(frozen=__SCREAMING_SNAKE_CASE    )
class 					__snake_case	(  __SCREAMING_SNAKE_CASE    ):


    '''simple docstring'''







    lowerCamelCase__    :		str				=	field(default="""summarization"""			,     metadata={"""include_in_asdict_even_if_is_default""": True}    )
    lowerCamelCase__    :		ClassVar[Features]				=	Features({"""text""": Value("""string"""    )}    )
    lowerCamelCase__    :		ClassVar[Features]				=	Features({"""summary""": Value("""string"""    )}    )
    lowerCamelCase__    :		str				=	"text"
    lowerCamelCase__    :		str				=	"summary"



    @property
    def  lowercase_					(       self     ):





        '''simple docstring'''

        return {self.text_column: "text", self.summary_column: "summary"}
