{
american_express: {
sizes: [15],
prefixes: [34, 37]
},
dankort: {
sizes: [16],
prefixes: [4571, 5019]
},
diners_club: {
sizes: (14..19),
prefixes: [36, (38..39), (54..55), (300..305), 3095]
},
discover: {
sizes: (16..19),
prefixes: [(64..65), 6011, (622_126..622_925), (624_000..626_999), (628_200..628_899)]
},
interpayment: {
sizes: (16..19),
prefixes: [636]
},
rupay: {
sizes: [16],
prefixes: [60, (6521..6522)]
},
jcb: {
sizes: (16..19),
prefixes: [(3528..3589)]
},
maestro: {
sizes: (12..19),
prefixes: [50, (56..69)]
},
maestro_uk: {
sizes: (12..19),
prefixes: [6759, 676_770, 676_774]
},
mastercard: {
sizes: [16],
prefixes: [(51..55), (2221..2720)]
},
mir: {
sizes: [16],
prefixes: [(2200..2204)]
},
nps_pridnestrovie: {
sizes: [16],
prefixes: [(6_054_740..6_054_744)]
},
troy: {
sizes: [16],
prefixes: [(979_200..979_289)]
},
uatp: {
sizes: [16],
prefixes: [1]
},
unionpay: {
sizes: (16..19),
prefixes: [62]
},
verve: {
sizes: [16, 19],
prefixes: [(506_099..506_198), (650_002..650_027)]
},
visa: {
sizes: [16],
prefixes: [4]
}
}.freeze