//! Named tag constants - EMV 4.4 Books 3 and 4 plus EMV Contactless
//! v2.11 Books B and C-1..C-8.

use crate::core::tag::Tag;

// EMV 4.4 Book 3 Annex A - core data dictionary (Table 38) + biometric annex.
pub const ISSUER_IDENTIFICATION_NUMBER: Tag = Tag(0x42);
pub const APPLICATION_DEDICATED_FILE_NAME: Tag = Tag(0x4F);
pub const APPLICATION_LABEL: Tag = Tag(0x50);
pub const TRACK_2_EQUIVALENT_DATA: Tag = Tag(0x57);
pub const APPLICATION_PRIMARY_ACCOUNT_NUMBER: Tag = Tag(0x5A);
pub const PAN: Tag = APPLICATION_PRIMARY_ACCOUNT_NUMBER;
pub const CARDHOLDER_NAME: Tag = Tag(0x5F20);
pub const APPLICATION_EXPIRATION_DATE: Tag = Tag(0x5F24);
pub const APPLICATION_EFFECTIVE_DATE: Tag = Tag(0x5F25);
pub const ISSUER_COUNTRY_CODE: Tag = Tag(0x5F28);
pub const TRANSACTION_CURRENCY_CODE: Tag = Tag(0x5F2A);
pub const LANGUAGE_PREFERENCE: Tag = Tag(0x5F2D);
pub const SERVICE_CODE: Tag = Tag(0x5F30);
pub const PAN_SEQUENCE_NUMBER: Tag = Tag(0x5F34);
pub const TRANSACTION_CURRENCY_EXPONENT: Tag = Tag(0x5F36);
pub const ISSUER_URL: Tag = Tag(0x5F50);
pub const IBAN: Tag = Tag(0x5F53);
pub const BANK_IDENTIFIER_CODE: Tag = Tag(0x5F54);
pub const ISSUER_COUNTRY_CODE_ALPHA2: Tag = Tag(0x5F55);
pub const ISSUER_COUNTRY_CODE_ALPHA3: Tag = Tag(0x5F56);
pub const ACCOUNT_TYPE: Tag = Tag(0x5F57);
pub const APPLICATION_TEMPLATE: Tag = Tag(0x61);
pub const FCI_TEMPLATE: Tag = Tag(0x6F);
pub const READ_RECORD_RESPONSE_TEMPLATE: Tag = Tag(0x70);
pub const ISSUER_SCRIPT_TEMPLATE_1: Tag = Tag(0x71);
pub const ISSUER_SCRIPT_TEMPLATE_2: Tag = Tag(0x72);
pub const DIRECTORY_DISCRETIONARY_TEMPLATE: Tag = Tag(0x73);
pub const RESPONSE_MESSAGE_TEMPLATE_FORMAT_2: Tag = Tag(0x77);
pub const BIOMETRIC_INFORMATION_TEMPLATE: Tag = Tag(0x7F60);
pub const RESPONSE_MESSAGE_TEMPLATE_FORMAT_1: Tag = Tag(0x80);
pub const AMOUNT_AUTHORISED_BINARY: Tag = Tag(0x81);
pub const APPLICATION_INTERCHANGE_PROFILE: Tag = Tag(0x82);
pub const COMMAND_TEMPLATE: Tag = Tag(0x83);
pub const DEDICATED_FILE_NAME: Tag = Tag(0x84);
pub const ISSUER_SCRIPT_COMMAND: Tag = Tag(0x86);
pub const APPLICATION_PRIORITY_INDICATOR: Tag = Tag(0x87);
pub const SHORT_FILE_IDENTIFIER: Tag = Tag(0x88);
pub const AUTHORISATION_CODE: Tag = Tag(0x89);
pub const AUTHORISATION_RESPONSE_CODE: Tag = Tag(0x8A);
pub const CDOL1: Tag = Tag(0x8C);
pub const CDOL2: Tag = Tag(0x8D);
pub const CVM_LIST: Tag = Tag(0x8E);
pub const CA_PUBLIC_KEY_INDEX_ICC: Tag = Tag(0x8F);
pub const ISSUER_PUBLIC_KEY_CERTIFICATE: Tag = Tag(0x90);
pub const ISSUER_AUTHENTICATION_DATA: Tag = Tag(0x91);
pub const ISSUER_PUBLIC_KEY_REMAINDER: Tag = Tag(0x92);
pub const SIGNED_STATIC_APPLICATION_DATA: Tag = Tag(0x93);
pub const APPLICATION_FILE_LOCATOR: Tag = Tag(0x94);
pub const TERMINAL_VERIFICATION_RESULTS: Tag = Tag(0x95);
pub const TDOL: Tag = Tag(0x97);
pub const TC_HASH_VALUE: Tag = Tag(0x98);
pub const TRANSACTION_PIN_DATA: Tag = Tag(0x99);
pub const TRANSACTION_DATE: Tag = Tag(0x9A);
pub const TRANSACTION_STATUS_INFORMATION: Tag = Tag(0x9B);
pub const TRANSACTION_TYPE: Tag = Tag(0x9C);
pub const DDF_NAME: Tag = Tag(0x9D);
pub const ACQUIRER_IDENTIFIER: Tag = Tag(0x9F01);
pub const AMOUNT_AUTHORISED_NUMERIC: Tag = Tag(0x9F02);
pub const AMOUNT_OTHER_NUMERIC: Tag = Tag(0x9F03);
pub const AMOUNT_OTHER_BINARY: Tag = Tag(0x9F04);
pub const APPLICATION_DISCRETIONARY_DATA: Tag = Tag(0x9F05);
pub const AID_TERMINAL: Tag = Tag(0x9F06);
pub const APPLICATION_USAGE_CONTROL: Tag = Tag(0x9F07);
pub const APPLICATION_VERSION_NUMBER_ICC: Tag = Tag(0x9F08);
pub const APPLICATION_VERSION_NUMBER_TERMINAL: Tag = Tag(0x9F09);
pub const APPLICATION_SELECTION_REGISTERED_PROPRIETARY_DATA: Tag = Tag(0x9F0A);
pub const CARDHOLDER_NAME_EXTENDED: Tag = Tag(0x9F0B);
pub const IINE: Tag = Tag(0x9F0C);
pub const IAC_DEFAULT: Tag = Tag(0x9F0D);
pub const IAC_DENIAL: Tag = Tag(0x9F0E);
pub const IAC_ONLINE: Tag = Tag(0x9F0F);
pub const ISSUER_APPLICATION_DATA: Tag = Tag(0x9F10);
pub const ISSUER_CODE_TABLE_INDEX: Tag = Tag(0x9F11);
pub const APPLICATION_PREFERRED_NAME: Tag = Tag(0x9F12);
pub const LAST_ONLINE_ATC_REGISTER: Tag = Tag(0x9F13);
pub const LOWER_CONSECUTIVE_OFFLINE_LIMIT: Tag = Tag(0x9F14);
pub const MERCHANT_CATEGORY_CODE: Tag = Tag(0x9F15);
pub const MERCHANT_IDENTIFIER: Tag = Tag(0x9F16);
pub const PIN_TRY_COUNTER: Tag = Tag(0x9F17);
pub const ISSUER_SCRIPT_IDENTIFIER: Tag = Tag(0x9F18);
pub const TOKEN_REQUESTOR_ID: Tag = Tag(0x9F19);
pub const TERMINAL_COUNTRY_CODE: Tag = Tag(0x9F1A);
pub const TERMINAL_FLOOR_LIMIT: Tag = Tag(0x9F1B);
pub const TERMINAL_IDENTIFICATION: Tag = Tag(0x9F1C);
pub const TERMINAL_RISK_MANAGEMENT_DATA: Tag = Tag(0x9F1D);
pub const IFD_SERIAL_NUMBER: Tag = Tag(0x9F1E);
pub const TRACK_1_DISCRETIONARY_DATA: Tag = Tag(0x9F1F);
pub const TRACK_2_DISCRETIONARY_DATA: Tag = Tag(0x9F20);
pub const TRANSACTION_TIME: Tag = Tag(0x9F21);
pub const CA_PUBLIC_KEY_INDEX_TERMINAL: Tag = Tag(0x9F22);
pub const UPPER_CONSECUTIVE_OFFLINE_LIMIT: Tag = Tag(0x9F23);
pub const PAYMENT_ACCOUNT_REFERENCE: Tag = Tag(0x9F24);
pub const LAST_4_DIGITS_OF_PAN: Tag = Tag(0x9F25);
pub const APPLICATION_CRYPTOGRAM: Tag = Tag(0x9F26);
pub const CRYPTOGRAM_INFORMATION_DATA: Tag = Tag(0x9F27);
pub const ICC_PIN_ENCIPHERMENT_PK_CERTIFICATE: Tag = Tag(0x9F2D);
pub const ICC_PIN_ENCIPHERMENT_PK_EXPONENT: Tag = Tag(0x9F2E);
pub const ICC_PIN_ENCIPHERMENT_PK_REMAINDER: Tag = Tag(0x9F2F);
pub const BIOMETRIC_TERMINAL_CAPABILITIES: Tag = Tag(0x9F30);
pub const CARD_BIT_GROUP_TEMPLATE: Tag = Tag(0x9F31);
pub const ISSUER_PUBLIC_KEY_EXPONENT: Tag = Tag(0x9F32);
pub const TERMINAL_CAPABILITIES: Tag = Tag(0x9F33);
pub const CVM_RESULTS: Tag = Tag(0x9F34);
pub const TERMINAL_TYPE: Tag = Tag(0x9F35);
pub const APPLICATION_TRANSACTION_COUNTER: Tag = Tag(0x9F36);
pub const UNPREDICTABLE_NUMBER: Tag = Tag(0x9F37);
pub const PDOL: Tag = Tag(0x9F38);
pub const POS_ENTRY_MODE: Tag = Tag(0x9F39);
pub const AMOUNT_REFERENCE_CURRENCY: Tag = Tag(0x9F3A);
pub const APPLICATION_REFERENCE_CURRENCY: Tag = Tag(0x9F3B);
pub const TRANSACTION_REFERENCE_CURRENCY_CODE: Tag = Tag(0x9F3C);
pub const TRANSACTION_REFERENCE_CURRENCY_EXPONENT: Tag = Tag(0x9F3D);
pub const ADDITIONAL_TERMINAL_CAPABILITIES: Tag = Tag(0x9F40);
pub const TRANSACTION_SEQUENCE_COUNTER: Tag = Tag(0x9F41);
pub const APPLICATION_CURRENCY_CODE: Tag = Tag(0x9F42);
pub const APPLICATION_REFERENCE_CURRENCY_EXPONENT: Tag = Tag(0x9F43);
pub const APPLICATION_CURRENCY_EXPONENT: Tag = Tag(0x9F44);
pub const DATA_AUTHENTICATION_CODE: Tag = Tag(0x9F45);
pub const ICC_PUBLIC_KEY_CERTIFICATE: Tag = Tag(0x9F46);
pub const ICC_PUBLIC_KEY_EXPONENT: Tag = Tag(0x9F47);
pub const ICC_PUBLIC_KEY_REMAINDER: Tag = Tag(0x9F48);
pub const DDOL: Tag = Tag(0x9F49);
pub const SDA_TAG_LIST: Tag = Tag(0x9F4A);
pub const SIGNED_DYNAMIC_APPLICATION_DATA: Tag = Tag(0x9F4B);
pub const ICC_DYNAMIC_NUMBER: Tag = Tag(0x9F4C);
pub const LOG_ENTRY: Tag = Tag(0x9F4D);
pub const MERCHANT_NAME_AND_LOCATION: Tag = Tag(0x9F4E);
pub const LOG_FORMAT: Tag = Tag(0x9F4F);
pub const BIOMETRIC_HEADER_TEMPLATE: Tag = Tag(0xA1);
pub const FCI_PROPRIETARY_TEMPLATE: Tag = Tag(0xA5);
pub const FCI_ISSUER_DISCRETIONARY_DATA: Tag = Tag(0xBF0C);
pub const OFFLINE_BIT_GROUP_TEMPLATE: Tag = Tag(0xBF4A);
pub const ONLINE_BIT_GROUP_TEMPLATE: Tag = Tag(0xBF4B);
pub const BIOMETRIC_TRY_COUNTERS_TEMPLATE: Tag = Tag(0xBF4C);
pub const PREFERRED_ATTEMPTS_TEMPLATE: Tag = Tag(0xBF4D);
pub const BIOMETRIC_VERIFICATION_DATA_TEMPLATE: Tag = Tag(0xBF4E);
pub const FACIAL_TRY_COUNTER: Tag = Tag(0xDF50);
pub const FINGER_TRY_COUNTER: Tag = Tag(0xDF51);
pub const IRIS_TRY_COUNTER: Tag = Tag(0xDF52);
pub const PALM_TRY_COUNTER: Tag = Tag(0xDF53);
pub const VOICE_TRY_COUNTER: Tag = Tag(0xDF54);

// EMV 4.4 Book 4 - Cardholder, Attendant, and Acquirer Interface (Annex A5).
pub const ISSUER_SCRIPT_RESULTS: Tag = Tag(0x9F5B);

// EMV Contactless Book B - Entry Point Specification v2.11.
pub const KERNEL_IDENTIFIER_TERMINAL: Tag = Tag(0x96);
pub const EXTENDED_SELECTION: Tag = Tag(0x9F29);
pub const KERNEL_IDENTIFIER: Tag = Tag(0x9F2A);
pub const TERMINAL_CATEGORIES_SUPPORTED_LIST: Tag = Tag(0x9F3E);
pub const SELECTION_DATA_OBJECT_LIST: Tag = Tag(0x9F3F);
pub const TERMINAL_TRANSACTION_QUALIFIERS: Tag = Tag(0x9F66);

// Book C-1 - Kernel 1 (Visa payWave VSDC v2.6).
pub const VLP_ISSUER_AUTHORISATION_CODE: Tag = Tag(0x9F74);
pub const VLP_TERMINAL_SUPPORT_INDICATOR: Tag = Tag(0x9F7A);

// Book C-2 - Kernel 2 (MasterCard v2.11).
// '9F6D' shares the byte value with K6 CONTACTLESS_READER_CAPABILITIES but
// carries the K2 Annex A.1.91 mag-stripe-mode reader application version.
pub const MAG_STRIPE_APPLICATION_VERSION_NUMBER_TERMINAL: Tag = Tag(0x9F6D);
// '9F53' shares the byte value with K5 TERMINAL_INTERCHANGE_PROFILE and
// K6 CONTACTLESS_CARD_VERIFICATION_RESULTS; K2 A.1.172 carries the
// MasterCard-defined Transaction Category Code.
pub const TRANSACTION_CATEGORY_CODE: Tag = Tag(0x9F53);
// '9F7C' shares the byte value with K-something PARTNER_PROPRIETARY_DATA;
// K2 A.1.98 carries Merchant Custom Data (20 bytes).
pub const MERCHANT_CUSTOM_DATA: Tag = Tag(0x9F7C);
// '9F6E' shares the byte value with K4 ENHANCED_CONTACTLESS_READER_CAPABILITIES,
// K5 DEVICE_INFORMATION, K6 FORM_FACTOR_IDENTIFIER; K2 A.1.165 carries
// Third Party Data.
pub const THIRD_PARTY_DATA: Tag = Tag(0x9F6E);
pub const TRACK_1_DATA: Tag = Tag(0x56);
pub const DS_ODS_CARD: Tag = Tag(0x9F54);
pub const DS_DOL: Tag = Tag(0x9F5B);
pub const DS_REQUESTED_OPERATOR_ID: Tag = Tag(0x9F5C);
pub const APPLICATION_CAPABILITIES_INFORMATION: Tag = Tag(0x9F5D);
pub const DS_ID: Tag = Tag(0x9F5E);
pub const DS_SLOT_AVAILABILITY: Tag = Tag(0x9F5F);
pub const CVC3_TRACK_1: Tag = Tag(0x9F60);
pub const CVC3_TRACK_2: Tag = Tag(0x9F61);
pub const PCVC3_TRACK_1: Tag = Tag(0x9F62);
pub const PUNATC_TRACK_1: Tag = Tag(0x9F63);
pub const NATC_TRACK_1: Tag = Tag(0x9F64);
pub const PCVC3_TRACK_2: Tag = Tag(0x9F65);
pub const PUNATC_TRACK_2: Tag = Tag(0x9F66);
pub const NATC_TRACK_2: Tag = Tag(0x9F67);
pub const UDOL: Tag = Tag(0x9F69);
pub const UNPREDICTABLE_NUMBER_NUMERIC: Tag = Tag(0x9F6A);
pub const TRACK_2_DATA: Tag = Tag(0x9F6B);
pub const DS_SLOT_MANAGEMENT_CONTROL: Tag = Tag(0x9F6F);
pub const PROTECTED_DATA_ENVELOPE_1: Tag = Tag(0x9F70);
pub const PROTECTED_DATA_ENVELOPE_2: Tag = Tag(0x9F71);
pub const PROTECTED_DATA_ENVELOPE_3: Tag = Tag(0x9F72);
pub const PROTECTED_DATA_ENVELOPE_4: Tag = Tag(0x9F73);
pub const PROTECTED_DATA_ENVELOPE_5: Tag = Tag(0x9F74);
pub const UNPROTECTED_DATA_ENVELOPE_1: Tag = Tag(0x9F75);
pub const UNPROTECTED_DATA_ENVELOPE_2: Tag = Tag(0x9F76);
pub const UNPROTECTED_DATA_ENVELOPE_3: Tag = Tag(0x9F77);
pub const UNPROTECTED_DATA_ENVELOPE_4: Tag = Tag(0x9F78);
pub const UNPROTECTED_DATA_ENVELOPE_5: Tag = Tag(0x9F79);
pub const DS_SUMMARY_1: Tag = Tag(0x9F7D);
pub const MOBILE_SUPPORT_INDICATOR: Tag = Tag(0x9F7E);
pub const DS_UNPREDICTABLE_NUMBER: Tag = Tag(0x9F7F);
pub const POS_CARDHOLDER_INTERACTION_INFORMATION: Tag = Tag(0xDF4B);
pub const DS_INPUT_CARD: Tag = Tag(0xDF60);
pub const DS_DIGEST_H: Tag = Tag(0xDF61);
pub const DS_ODS_INFO: Tag = Tag(0xDF62);
pub const DS_ODS_TERM: Tag = Tag(0xDF63);
pub const DS_SUMMARY_2: Tag = Tag(0xDF8101);
pub const DS_SUMMARY_3: Tag = Tag(0xDF8102);
pub const DATA_NEEDED: Tag = Tag(0xDF8106);
pub const CDOL1_RELATED_DATA: Tag = Tag(0xDF8107);
pub const DS_AC_TYPE: Tag = Tag(0xDF8108);
pub const DS_INPUT_TERM: Tag = Tag(0xDF8109);
pub const DS_ODS_INFO_FOR_READER: Tag = Tag(0xDF810A);
pub const DS_SUMMARY_STATUS: Tag = Tag(0xDF810B);
pub const KERNEL_ID: Tag = Tag(0xDF810C);
pub const DSVN_TERM: Tag = Tag(0xDF810D);
pub const POST_GEN_AC_PUT_DATA_STATUS: Tag = Tag(0xDF810E);
pub const PRE_GEN_AC_PUT_DATA_STATUS: Tag = Tag(0xDF810F);
pub const PROCEED_TO_FIRST_WRITE_FLAG: Tag = Tag(0xDF8110);
pub const PDOL_RELATED_DATA: Tag = Tag(0xDF8111);
pub const TAGS_TO_READ: Tag = Tag(0xDF8112);
pub const REFERENCE_CONTROL_PARAMETER: Tag = Tag(0xDF8114);
pub const ERROR_INDICATION: Tag = Tag(0xDF8115);
pub const USER_INTERFACE_REQUEST_DATA: Tag = Tag(0xDF8116);
pub const CARD_DATA_INPUT_CAPABILITY: Tag = Tag(0xDF8117);
pub const CVM_CAPABILITY_CVM_REQUIRED: Tag = Tag(0xDF8118);
pub const CVM_CAPABILITY_NO_CVM_REQUIRED: Tag = Tag(0xDF8119);
pub const DEFAULT_UDOL: Tag = Tag(0xDF811A);
pub const KERNEL_CONFIGURATION: Tag = Tag(0xDF811B);
pub const MAGSTRIPE_CVM_CAPABILITY_CVM_REQUIRED: Tag = Tag(0xDF811E);
pub const SECURITY_CAPABILITY: Tag = Tag(0xDF811F);
pub const TERMINAL_ACTION_CODE_DEFAULT: Tag = Tag(0xDF8120);
pub const TERMINAL_ACTION_CODE_DENIAL: Tag = Tag(0xDF8121);
pub const TERMINAL_ACTION_CODE_ONLINE: Tag = Tag(0xDF8122);
pub const READER_CONTACTLESS_FLOOR_LIMIT: Tag = Tag(0xDF8123);
pub const READER_CONTACTLESS_TRANSACTION_LIMIT_NO_ON_DEVICE_CVM: Tag = Tag(0xDF8124);
pub const READER_CONTACTLESS_TRANSACTION_LIMIT_ON_DEVICE_CVM: Tag = Tag(0xDF8125);
pub const READER_CVM_REQUIRED_LIMIT: Tag = Tag(0xDF8126);
pub const TIME_OUT_VALUE: Tag = Tag(0xDF8127);
pub const IDS_STATUS: Tag = Tag(0xDF8128);
pub const OUTCOME_PARAMETER_SET: Tag = Tag(0xDF8129);
pub const DD_CARD_TRACK_1: Tag = Tag(0xDF812A);
pub const DD_CARD_TRACK_2: Tag = Tag(0xDF812B);
pub const MAGSTRIPE_CVM_CAPABILITY_NO_CVM_REQUIRED: Tag = Tag(0xDF812C);
pub const MESSAGE_HOLD_TIME: Tag = Tag(0xDF812D);
pub const HOLD_TIME_VALUE: Tag = Tag(0xDF8130);
pub const PHONE_MESSAGE_TABLE: Tag = Tag(0xDF8131);
pub const MINIMUM_RELAY_RESISTANCE_GRACE_PERIOD: Tag = Tag(0xDF8132);
pub const MAXIMUM_RELAY_RESISTANCE_GRACE_PERIOD: Tag = Tag(0xDF8133);
pub const TERMINAL_EXPECTED_TRANSMISSION_TIME_RR_CAPDU: Tag = Tag(0xDF8134);
pub const TERMINAL_EXPECTED_TRANSMISSION_TIME_RR_RAPDU: Tag = Tag(0xDF8135);
pub const RELAY_RESISTANCE_ACCURACY_THRESHOLD: Tag = Tag(0xDF8136);
pub const RELAY_RESISTANCE_TRANSMISSION_TIME_MISMATCH_THRESHOLD: Tag = Tag(0xDF8137);
pub const TERMINAL_RELAY_RESISTANCE_ENTROPY: Tag = Tag(0xDF8301);
pub const DEVICE_RELAY_RESISTANCE_ENTROPY: Tag = Tag(0xDF8302);
pub const MIN_TIME_FOR_PROCESSING_RR_APDU: Tag = Tag(0xDF8303);
pub const MAX_TIME_FOR_PROCESSING_RR_APDU: Tag = Tag(0xDF8304);
pub const DEVICE_ESTIMATED_TRANSMISSION_TIME_RR_RAPDU: Tag = Tag(0xDF8305);
pub const MEASURED_RELAY_RESISTANCE_PROCESSING_TIME: Tag = Tag(0xDF8306);
pub const RRP_COUNTER: Tag = Tag(0xDF8307);
pub const TAGS_TO_WRITE_BEFORE_GEN_AC: Tag = Tag(0xFF8102);
pub const TAGS_TO_WRITE_AFTER_GEN_AC: Tag = Tag(0xFF8103);
pub const DATA_TO_SEND: Tag = Tag(0xFF8104);
pub const DATA_RECORD: Tag = Tag(0xFF8105);
pub const DISCRETIONARY_DATA: Tag = Tag(0xFF8106);

// Book C-3 - Kernel 3 (Visa payWave Wave 2 v2.11).
pub const INTEGRATED_DATA_STORAGE_RECORD_UPDATE_TEMPLATE: Tag = Tag(0xBF60);
pub const INTEGRATED_DATA_STORAGE_DIRECTORY: Tag = Tag(0xD2);

// Book C-4 - Kernel 4 (Amex ExpressPay v2.11).
pub const MEMBERSHIP_PRODUCT_IDENTIFIER: Tag = Tag(0x9F5A);
pub const PRODUCT_MEMBERSHIP_NUMBER: Tag = Tag(0x9F5B);
pub const FORM_FACTOR: Tag = Tag(0x9F67);
pub const CONTACTLESS_READER_CAPABILITIES: Tag = Tag(0x9F6D);
pub const ENHANCED_CONTACTLESS_READER_CAPABILITIES: Tag = Tag(0x9F6E);
pub const CARD_INTERFACE_AND_PAYMENT_CAPABILITIES: Tag = Tag(0x9F70);
pub const MOBILE_CVM_RESULTS: Tag = Tag(0x9F71);
pub const APPLICATION_SPECIFICATION_VERSION: Tag = Tag(0x9F77);

// Book C-5 - Kernel 5 (JCB J/Speedy v2.11).
pub const CARDHOLDER_VERIFICATION_STATUS: Tag = Tag(0x9F50);
pub const TERMINAL_COMPATIBILITY_INDICATOR: Tag = Tag(0x9F52);
pub const TERMINAL_INTERCHANGE_PROFILE: Tag = Tag(0x9F53);
pub const OFFLINE_BALANCE_K5: Tag = Tag(0x9F5F);
pub const ISSUER_UPDATE_PARAMETER: Tag = Tag(0x9F60);
pub const DEVICE_INFORMATION: Tag = Tag(0x9F6E);
pub const TRANSIT_AGENT_ID: Tag = Tag(0xDF72);
pub const TRANSIT_RELATED_DATA: Tag = Tag(0xDF73);

// Book C-6 - Kernel 6 (Discover D-PAS v2.11).
pub const CONTACTLESS_CARD_VERIFICATION_RESULTS: Tag = Tag(0x9F53);
pub const FORM_FACTOR_IDENTIFIER: Tag = Tag(0x9F6E);
pub const CARD_PROCESSING_REQUIREMENTS: Tag = Tag(0x9F71);
pub const DATA_STORAGE_UPDATE_TEMPLATE: Tag = Tag(0xBF10);
pub const WRITE_DATA_STORAGE_TEMPLATE: Tag = Tag(0xBF11);
pub const OFFLINE_BALANCE: Tag = Tag(0xD1);
pub const CARD_FEATURE_VERSION_NUMBER: Tag = Tag(0xDF3A);
pub const CARD_FEATURE_DESCRIPTOR: Tag = Tag(0xDF3B);
pub const EXTENDED_LOGGING_DATA: Tag = Tag(0xDF3C);
pub const DATA_STORAGE_DIRECTORY: Tag = Tag(0xDF3D);
pub const CARD_ID: Tag = Tag(0xDF3E);
pub const DATA_STORE: Tag = Tag(0xDF3F);
pub const APPLICATION_SELECTION_FLAG: Tag = Tag(0xDF62);
pub const PROGRAM_IDENTIFIER: Tag = Tag(0xDF70);
pub const VALUE_ADDED_TAX_1: Tag = Tag(0xDF71);
pub const VALUE_ADDED_TAX_2: Tag = Tag(0xDF72);

// Book C-7 - Kernel 7 (UnionPay quickPass v2.11).
// (APPLICATION_SELECTION_REGISTERED_PROPRIETARY_DATA '9F0A' canonicalised at the top of this file - Book B Annex A.)
// 'DF61' shares the byte value with K2 DS_DIGEST_H but carries the K7 §3.2.2 transit/EMV-flag.
pub const KERNEL_7_DF61: Tag = Tag(0xDF61);
pub const AVAILABLE_OFFLINE_SPENDING_AMOUNT: Tag = Tag(0x9F5D);
pub const PRODUCT_IDENTIFICATION_INFORMATION: Tag = Tag(0x9F63);
pub const CARD_AUTHENTICATION_RELATED_DATA: Tag = Tag(0x9F69);
pub const CARD_TRANSACTION_QUALIFIERS: Tag = Tag(0x9F6C);
pub const PARTNER_PROPRIETARY_DATA: Tag = Tag(0x9F7C);

// Book C-8 - Kernel 8 (China UnionPay v1.1).
pub const KERNEL_KEY_DATA: Tag = Tag(0x9E);
pub const KERNEL_QUALIFIER: Tag = Tag(0x9F2B);
pub const CARD_QUALIFIER: Tag = Tag(0x9F2C);
pub const CARDHOLDER_VERIFICATION_DECISION: Tag = Tag(0x9F8102);
pub const CARD_KEY_DATA: Tag = Tag(0x9F8103);
pub const CARD_TVR: Tag = Tag(0x9F8104);
pub const ENHANCED_DATA_AUTHENTICATION_MAC: Tag = Tag(0x9F8105);
pub const AUTHENTICATED_APPLICATION_DATA: Tag = Tag(0x9F8106);
pub const IAD_MAC_OFFSET: Tag = Tag(0x9F8107);
pub const RESTART_INDICATOR: Tag = Tag(0x9F8108);
pub const ISSUER_APPLICATION_DATA_MAC: Tag = Tag(0x9F8109);
pub const EXTENDED_SDA_TAG_LIST: Tag = Tag(0x9F810A);
pub const ICC_ECC_PUBLIC_KEY: Tag = Tag(0x9F810B);
pub const RELAY_RESISTANCE_TIME_EXCESS: Tag = Tag(0x9F810C);
pub const CARD_CAPABILITIES_INFORMATION: Tag = Tag(0x9F810D);
pub const K8_DATA_ENVELOPE_1: Tag = Tag(0x9F8111);
pub const K8_DATA_ENVELOPE_2: Tag = Tag(0x9F8112);
pub const K8_DATA_ENVELOPE_3: Tag = Tag(0x9F8113);
pub const K8_DATA_ENVELOPE_4: Tag = Tag(0x9F8114);
pub const K8_DATA_ENVELOPE_5: Tag = Tag(0x9F8115);
pub const K8_DATA_ENVELOPE_6: Tag = Tag(0x9F8116);
pub const K8_DATA_ENVELOPE_7: Tag = Tag(0x9F8117);
pub const K8_DATA_ENVELOPE_8: Tag = Tag(0x9F8118);
pub const K8_DATA_ENVELOPE_9: Tag = Tag(0x9F8119);
pub const K8_DATA_ENVELOPE_10: Tag = Tag(0x9F811A);
pub const K8_DATA_NEEDED: Tag = Tag(0x9F8201);
pub const K8_PROCEED_TO_FIRST_WRITE_FLAG: Tag = Tag(0x9F8202);
pub const K8_TAGS_TO_READ: Tag = Tag(0x9F8203);
pub const K8_ERROR_INDICATION: Tag = Tag(0x9F8204);
pub const K8_USER_INTERFACE_REQUEST_DATA_1: Tag = Tag(0x9F8205);
pub const K8_CARD_DATA_INPUT_CAPABILITY: Tag = Tag(0x9F8206);
pub const K8_CVM_CAPABILITY_CVM_REQUIRED: Tag = Tag(0x9F8207);
pub const K8_CVM_CAPABILITY_NO_CVM_REQUIRED: Tag = Tag(0x9F8208);
pub const K8_KERNEL_CONFIGURATION: Tag = Tag(0x9F8209);
pub const K8_SECURITY_CAPABILITY: Tag = Tag(0x9F820A);
pub const K8_TERMINAL_ACTION_CODE_DENIAL: Tag = Tag(0x9F820B);
pub const K8_TERMINAL_ACTION_CODE_ONLINE: Tag = Tag(0x9F820C);
pub const K8_READER_CONTACTLESS_FLOOR_LIMIT: Tag = Tag(0x9F820D);
pub const K8_READER_CVM_REQUIRED_LIMIT: Tag = Tag(0x9F820E);
pub const K8_TIMEOUT_VALUE: Tag = Tag(0x9F820F);
pub const K8_OUTCOME_PARAMETER_SET: Tag = Tag(0x9F8210);
pub const K8_MESSAGE_HOLD_TIME: Tag = Tag(0x9F8211);
pub const K8_HOLD_TIME_VALUE: Tag = Tag(0x9F8212);
pub const K8_MINIMUM_RELAY_RESISTANCE_GRACE_PERIOD: Tag = Tag(0x9F8213);
pub const K8_MAXIMUM_RELAY_RESISTANCE_GRACE_PERIOD: Tag = Tag(0x9F8214);
pub const K8_TERMINAL_EXPECTED_TRANSMISSION_TIME_RR_CAPDU: Tag = Tag(0x9F8215);
pub const K8_TERMINAL_EXPECTED_TRANSMISSION_TIME_RR_RAPDU: Tag = Tag(0x9F8216);
pub const K8_RELAY_RESISTANCE_ACCURACY_THRESHOLD: Tag = Tag(0x9F8217);
pub const K8_RELAY_RESISTANCE_TRANSMISSION_TIME_MISMATCH_THRESHOLD: Tag = Tag(0x9F8218);
pub const K8_USER_INTERFACE_REQUEST_DATA_2: Tag = Tag(0x9F8219);
pub const K8_KERNEL_RESERVED_TVR_MASK: Tag = Tag(0x9F821A);
pub const K8_WRITE_DATA_STATUS: Tag = Tag(0x9F821B);
pub const K8_READ_DATA_STATUS: Tag = Tag(0x9F821C);
pub const K8_MESSAGE_IDENTIFIERS_ON_RESTART: Tag = Tag(0x9F821D);
pub const K8_DEFAULT_IAD_MAC_OFFSET: Tag = Tag(0x9F821E);
pub const K8_DISCRETIONARY_DATA_TAG_LIST: Tag = Tag(0x9F821F);
pub const K8_DEFAULT_CDOL1: Tag = Tag(0x9F8220);
pub const K8_TAG_MAPPING_LIST: Tag = Tag(0x9F8221);
pub const K8_DATA_TO_SEND: Tag = Tag(0xBF8101);
pub const K8_DATA_RECORD: Tag = Tag(0xBF8102);
pub const K8_DISCRETIONARY_DATA: Tag = Tag(0xBF8103);
pub const K8_DATA_ENVELOPES_TO_WRITE: Tag = Tag(0xBF8104);
