diff --git a/2.1.0-SNAPSHOT/api_class_diagram.puml b/2.1.0-SNAPSHOT/api_class_diagram.puml
index 669ab54..d8fe2ea 100644
--- a/2.1.0-SNAPSHOT/api_class_diagram.puml
+++ b/2.1.0-SNAPSHOT/api_class_diagram.puml
@@ -364,7 +364,6 @@ package "transaction" as transaction {
+**SessionBufferOverflowException**: Session buffer would overflow for atomic session.
+**UnauthorizedKeyException**
+**InvalidPinException**
- +**CardRevokedException**
+**InconsistentDataException**: Number of R-APDUs != number of C-APDUs **or** data read in session != data read outside session.
+**InvalidCardSignatureException**
+**CardSignatureNotVerifiableException**: CloseSecureSession is successful but crypto resource is no more available to check the card MAC.
diff --git a/2.1.0-SNAPSHOT/api_class_diagram.svg b/2.1.0-SNAPSHOT/api_class_diagram.svg
index aaa310d..ce95e8b 100644
--- a/2.1.0-SNAPSHOT/api_class_diagram.svg
+++ b/2.1.0-SNAPSHOT/api_class_diagram.svg
@@ -1 +1 @@
- Terminal Calypso Card API 2.1.+ (2023-11-06) Colors legend : Work in progress... External public API references : Calypsonet Terminal Reader API calypso.card card transaction spi final CalypsoCardApiProperties final String VERSION CalypsoCardApiFactory CalypsoCardSelectionExtension createCalypsoCardSelectionExtension () SymmetricCryptoSecuritySetting createSymmetricCryptoSecuritySetting (SymmetricCryptoCardTransactionManagerFactory cryptoCardTransactionManagerFactory) AsymmetricCryptoSecuritySetting createAsymmetricCryptoSecuritySetting (AsymmetricCryptoCardTransactionManagerFactory cryptoCardTransactionManagerFactory) FreeTransactionManager createFreeTransactionManager ( CardReader cardReader, CalypsoCard card) SecureRegularModeTransactionManager createSecureRegularModeTransactionManager ( CardReader cardReader, CalypsoCard card, SymmetricCryptoSecuritySetting securitySetting) SecureExtendedModeTransactionManager createSecureExtendedModeTransactionManager ( CardReader cardReader, CalypsoCard card, SymmetricCryptoSecuritySetting securitySetting) SecurePkiModeTransactionManager createSecurePkiModeTransactionManager ( CardReader cardReader, CalypsoCard card, AsymmetricCryptoSecuritySetting securitySetting) SearchCommandData createSearchCommandData () WriteAccessLevel PERSONALIZATION LOAD DEBIT SelectFileControl FIRST_EF NEXT_EF CURRENT_DF GetDataTag FCP_FOR_CURRENT_FILE FCI_FOR_CURRENT_DF EF_LIST TRACEABILITY_INFORMATION << CardSelectionExtension >> CalypsoCardSelectionExtension CalypsoCardSelectionExtension acceptInvalidatedCard () CalypsoCardSelectionExtension prepareSelectFile (short lid) CalypsoCardSelectionExtension prepareSelectFile (SelectFileControl selectControl) CalypsoCardSelectionExtension prepareGetData (GetDataTag tag) CalypsoCardSelectionExtension prepareReadRecord (byte sfi, int recordNumber) CalypsoCardSelectionExtension prepareReadBinary (byte sfi, int offset, int nbBytesToRead) CalypsoCardSelectionExtension prepareReadCounter (byte sfi, int nbCountersToRead) CalypsoCardSelectionExtension preparePreOpenSecureSession (WriteAccessLevel writeAccessLevel) CalypsoCardSelectionExtension preparePreOpenSecureSessionInPkiMode () << IsoSmartCard >> CalypsoCard ProductType getProductType () boolean isHce () boolean isDfInvalidated () byte[] getDfName () byte[] getApplicationSerialNumber () byte[] getStartupInfoRawData () byte getPlatform () byte getApplicationType () byte getApplicationSubtype () byte getSoftwareIssuer () byte getSoftwareVersion () byte getSoftwareRevision () byte getSessionModification () byte[] getTraceabilityInformation () DirectoryHeader getDirectoryHeader () ElementaryFile getFileBySfi (byte sfi) ElementaryFile getFileByLid (short lid) Set<ElementaryFile> getFiles () boolean isDfRatified () int getTransactionCounter () boolean isPkiModeSupported () boolean isExtendedModeSupported () boolean isRatificationOnDeselectSupported () boolean isPinFeatureAvailable () boolean isPinBlocked () int getPinAttemptRemaining () boolean isSvFeatureAvailable () int getSvBalance () int getSvLastTNum () SvLoadLogRecord getSvLoadLogRecord () SvDebitLogRecord getSvDebitLogLastRecord () List<SvDebitLogRecord> getSvDebitLogAllRecords () ElementaryFile byte getSfi () FileHeader getHeader () FileData getData () Type LINEAR BINARY CYCLIC COUNTERS SIMULATED_COUNTERS FileData byte[] getContent () byte[] getContent (int numRecord) byte[] getContent (int numRecord, int dataOffset, int dataLength) SortedMap<Integer, byte[]> getAllRecordsContent () Integer getContentAsCounterValue (int numCounter) SortedMap<Integer, Integer> getAllCountersValue () ProductType PRIME_REVISION_1 PRIME_REVISION_2 PRIME_REVISION_3 LIGHT BASIC UNKNOWN SvLoadLogRecord byte[] getRawData () byte[] getLoadDate () byte[] getLoadTime () int getAmount () int getBalance () byte[] getFreeData () byte getKvc () byte[] getSamId () int getSamTNum () int getSvTNum () SvDebitLogRecord byte[] getRawData () byte[] getDebitDate () byte[] getDebitTime () int getAmount () int getBalance () byte getKvc () byte[] getSamId () int getSamTNum () int getSvTNum () TransactionManager T extends TransactionManager<T> T prepareSelectFile (short lid) T prepareSelectFile (SelectFileControl selectFileControl) T prepareGetData (GetDataTag tag) T prepareReadRecord (byte sfi, int recordNumber) T prepareReadRecords (byte sfi, int fromRecordNumber, int toRecordNumber, int recordSize) T prepareReadRecordsPartially (byte sfi, int fromRecordNumber, int toRecordNumber, int offset, int nbBytesToRead) T prepareReadBinary (byte sfi, int offset, int nbBytesToRead) T prepareReadCounter (byte sfi, int nbCountersToRead) T prepareSearchRecords (SearchCommandData data) T prepareCheckPinStatus () T prepareAppendRecord (byte sfi, byte[] recordData) T prepareUpdateRecord (byte sfi, int recordNumber, byte[] recordData) T prepareWriteRecord (byte sfi, int recordNumber, byte[] recordData) T prepareUpdateBinary (byte sfi, int offset, byte[] data) T prepareWriteBinary (byte sfi, int offset, byte[] data) T prepareIncreaseCounter (byte sfi, int counterNumber, int incValue) T prepareIncreaseCounters (byte sfi, Map<Integer, Integer> counterNumberToIncValueMap) T prepareDecreaseCounter (byte sfi, int counterNumber, int decValue) T prepareDecreaseCounters (byte sfi, Map<Integer, Integer> counterNumberToDecValueMap) T prepareSetCounter (byte sfi, int counterNumber, int newValue) T prepareSvReadAllLogs () T prepareVerifyPin (byte[] pin) T prepareChangePin (byte[] newPin) T processCommands (ChannelControl channelControl) List<byte[]> getTransactionAuditData () ChannelControl KEEP_OPEN CLOSE_AFTER FreeTransactionManager SecureTransactionManager T extends SecureTransactionManager<T> <E extends CardTransactionCryptoExtension> E getCryptoExtension (Class<E> cryptoExtensionClass) T prepareCloseSecureSession () T prepareCancelSecureSession () SecureSymmetricCryptoTransactionManager T extends SecureSymmetricCryptoTransactionManager<T> T prepareOpenSecureSession (WriteAccessLevel writeAccessLevel) T prepareSvGet (SvOperation svOperation, SvAction svAction) T prepareSvReload (int amount, byte[] date, byte[] time, byte[] free) T prepareSvReload (int amount) T prepareSvDebit (int amount, byte[] date, byte[] time) T prepareSvDebit (int amount) T prepareInvalidate () T prepareRehabilitate () T prepareChangeKey (int keyIndex, byte newKif, byte newKvc, byte issuerKif, byte issuerKvc) SecureRegularModeTransactionManager SecureExtendedModeTransactionManager SecureExtendedModeTransactionManager prepareEarlyMutualAuthentication () SecureExtendedModeTransactionManager prepareActivateEncryption () SecureExtendedModeTransactionManager prepareDeactivateEncryption () SecurePkiModeTransactionManager SecurePkiModeTransactionManager prepareOpenSecureSession () SvOperation RELOAD DEBIT SvAction DO UNDO AsymmetricCryptoSecuritySetting AsymmetricCryptoSecuritySetting setAuthorityPublicKey (byte[] publicKey) AsymmetricCryptoSecuritySetting setAuthorityCertificate (X509Certificate certificate) AsymmetricCryptoSecuritySetting enableUnsignedPublicKeyUsage () SymmetricCryptoSecuritySetting SymmetricCryptoSecuritySetting enableMultipleSession () SymmetricCryptoSecuritySetting enableRatificationMechanism () SymmetricCryptoSecuritySetting enablePinPlainTransmission () SymmetricCryptoSecuritySetting enableSvLoadAndDebitLog () SymmetricCryptoSecuritySetting authorizeSvNegativeBalance () SymmetricCryptoSecuritySetting disableReadOnSessionOpening () SymmetricCryptoSecuritySetting assignKif (WriteAccessLevel writeAccessLevel, byte kvc, byte kif) SymmetricCryptoSecuritySetting assignDefaultKif (WriteAccessLevel writeAccessLevel, byte kif) SymmetricCryptoSecuritySetting assignDefaultKvc (WriteAccessLevel writeAccessLevel, byte kvc) SymmetricCryptoSecuritySetting addAuthorizedSessionKey (byte kif, byte kvc) SymmetricCryptoSecuritySetting addAuthorizedSvKey (byte kif, byte kvc) SymmetricCryptoSecuritySetting setPinVerificationCipheringKey (byte kif, byte kvc) SymmetricCryptoSecuritySetting setPinModificationCipheringKey (byte kif, byte kvc) void initCryptoContextForNextTransaction () SearchCommandData SearchCommandData setSfi (byte sfi) SearchCommandData startAtRecord (int recordNumber) SearchCommandData setOffset (int offset) SearchCommandData enableRepeatedOffset () SearchCommandData setSearchData (byte[] data) SearchCommandData setMask (byte[] mask) SearchCommandData fetchFirstMatchingResult () List<Integer> getMatchingRecordNumbers () «RuntimeException» SessionBufferOverflowException : Session buffer would overflow for atomic session. UnauthorizedKeyException InvalidPinException CardRevokedException InconsistentDataException : Number of R-APDUs != number of C-APDUs or data read in session != data read outside session. InvalidCardSignatureException CardSignatureNotVerifiableException : CloseSecureSession is successful but crypto resource is no more available to check the card MAC. SelectFileException UnexpectedCommandStatusException ReaderIOException : Card reader and/or Crypto reader communication is broken. CardIOException CryptoException CryptoIOException AsymmetricCryptoCardTransactionManagerFactory SymmetricCryptoCardTransactionManagerFactory CardTransactionCryptoExtension use use use use provide use use use use use use use provide provide provide provide provide
\ No newline at end of file
+ Terminal Calypso Card API 2.1.+ (2023-11-06) Colors legend : Work in progress... External public API references : Calypsonet Terminal Reader API calypso.card card transaction spi final CalypsoCardApiProperties final String VERSION CalypsoCardApiFactory CalypsoCardSelectionExtension createCalypsoCardSelectionExtension () SymmetricCryptoSecuritySetting createSymmetricCryptoSecuritySetting (SymmetricCryptoCardTransactionManagerFactory cryptoCardTransactionManagerFactory) AsymmetricCryptoSecuritySetting createAsymmetricCryptoSecuritySetting (AsymmetricCryptoCardTransactionManagerFactory cryptoCardTransactionManagerFactory) FreeTransactionManager createFreeTransactionManager ( CardReader cardReader, CalypsoCard card) SecureRegularModeTransactionManager createSecureRegularModeTransactionManager ( CardReader cardReader, CalypsoCard card, SymmetricCryptoSecuritySetting securitySetting) SecureExtendedModeTransactionManager createSecureExtendedModeTransactionManager ( CardReader cardReader, CalypsoCard card, SymmetricCryptoSecuritySetting securitySetting) SecurePkiModeTransactionManager createSecurePkiModeTransactionManager ( CardReader cardReader, CalypsoCard card, AsymmetricCryptoSecuritySetting securitySetting) SearchCommandData createSearchCommandData () WriteAccessLevel PERSONALIZATION LOAD DEBIT SelectFileControl FIRST_EF NEXT_EF CURRENT_DF GetDataTag FCP_FOR_CURRENT_FILE FCI_FOR_CURRENT_DF EF_LIST TRACEABILITY_INFORMATION << CardSelectionExtension >> CalypsoCardSelectionExtension CalypsoCardSelectionExtension acceptInvalidatedCard () CalypsoCardSelectionExtension prepareSelectFile (short lid) CalypsoCardSelectionExtension prepareSelectFile (SelectFileControl selectControl) CalypsoCardSelectionExtension prepareGetData (GetDataTag tag) CalypsoCardSelectionExtension prepareReadRecord (byte sfi, int recordNumber) CalypsoCardSelectionExtension prepareReadBinary (byte sfi, int offset, int nbBytesToRead) CalypsoCardSelectionExtension prepareReadCounter (byte sfi, int nbCountersToRead) CalypsoCardSelectionExtension preparePreOpenSecureSession (WriteAccessLevel writeAccessLevel) CalypsoCardSelectionExtension preparePreOpenSecureSessionInPkiMode () << IsoSmartCard >> CalypsoCard ProductType getProductType () boolean isHce () boolean isDfInvalidated () byte[] getDfName () byte[] getApplicationSerialNumber () byte[] getStartupInfoRawData () byte getPlatform () byte getApplicationType () byte getApplicationSubtype () byte getSoftwareIssuer () byte getSoftwareVersion () byte getSoftwareRevision () byte getSessionModification () byte[] getTraceabilityInformation () DirectoryHeader getDirectoryHeader () ElementaryFile getFileBySfi (byte sfi) ElementaryFile getFileByLid (short lid) Set<ElementaryFile> getFiles () boolean isDfRatified () int getTransactionCounter () boolean isPkiModeSupported () boolean isExtendedModeSupported () boolean isRatificationOnDeselectSupported () boolean isPinFeatureAvailable () boolean isPinBlocked () int getPinAttemptRemaining () boolean isSvFeatureAvailable () int getSvBalance () int getSvLastTNum () SvLoadLogRecord getSvLoadLogRecord () SvDebitLogRecord getSvDebitLogLastRecord () List<SvDebitLogRecord> getSvDebitLogAllRecords () ElementaryFile byte getSfi () FileHeader getHeader () FileData getData () Type LINEAR BINARY CYCLIC COUNTERS SIMULATED_COUNTERS FileData byte[] getContent () byte[] getContent (int numRecord) byte[] getContent (int numRecord, int dataOffset, int dataLength) SortedMap<Integer, byte[]> getAllRecordsContent () Integer getContentAsCounterValue (int numCounter) SortedMap<Integer, Integer> getAllCountersValue () ProductType PRIME_REVISION_1 PRIME_REVISION_2 PRIME_REVISION_3 LIGHT BASIC UNKNOWN SvLoadLogRecord byte[] getRawData () byte[] getLoadDate () byte[] getLoadTime () int getAmount () int getBalance () byte[] getFreeData () byte getKvc () byte[] getSamId () int getSamTNum () int getSvTNum () SvDebitLogRecord byte[] getRawData () byte[] getDebitDate () byte[] getDebitTime () int getAmount () int getBalance () byte getKvc () byte[] getSamId () int getSamTNum () int getSvTNum () TransactionManager T extends TransactionManager<T> T prepareSelectFile (short lid) T prepareSelectFile (SelectFileControl selectFileControl) T prepareGetData (GetDataTag tag) T prepareReadRecord (byte sfi, int recordNumber) T prepareReadRecords (byte sfi, int fromRecordNumber, int toRecordNumber, int recordSize) T prepareReadRecordsPartially (byte sfi, int fromRecordNumber, int toRecordNumber, int offset, int nbBytesToRead) T prepareReadBinary (byte sfi, int offset, int nbBytesToRead) T prepareReadCounter (byte sfi, int nbCountersToRead) T prepareSearchRecords (SearchCommandData data) T prepareCheckPinStatus () T prepareAppendRecord (byte sfi, byte[] recordData) T prepareUpdateRecord (byte sfi, int recordNumber, byte[] recordData) T prepareWriteRecord (byte sfi, int recordNumber, byte[] recordData) T prepareUpdateBinary (byte sfi, int offset, byte[] data) T prepareWriteBinary (byte sfi, int offset, byte[] data) T prepareIncreaseCounter (byte sfi, int counterNumber, int incValue) T prepareIncreaseCounters (byte sfi, Map<Integer, Integer> counterNumberToIncValueMap) T prepareDecreaseCounter (byte sfi, int counterNumber, int decValue) T prepareDecreaseCounters (byte sfi, Map<Integer, Integer> counterNumberToDecValueMap) T prepareSetCounter (byte sfi, int counterNumber, int newValue) T prepareSvReadAllLogs () T prepareVerifyPin (byte[] pin) T prepareChangePin (byte[] newPin) T processCommands (ChannelControl channelControl) List<byte[]> getTransactionAuditData () ChannelControl KEEP_OPEN CLOSE_AFTER FreeTransactionManager SecureTransactionManager T extends SecureTransactionManager<T> <E extends CardTransactionCryptoExtension> E getCryptoExtension (Class<E> cryptoExtensionClass) T prepareCloseSecureSession () T prepareCancelSecureSession () SecureSymmetricCryptoTransactionManager T extends SecureSymmetricCryptoTransactionManager<T> T prepareOpenSecureSession (WriteAccessLevel writeAccessLevel) T prepareSvGet (SvOperation svOperation, SvAction svAction) T prepareSvReload (int amount, byte[] date, byte[] time, byte[] free) T prepareSvReload (int amount) T prepareSvDebit (int amount, byte[] date, byte[] time) T prepareSvDebit (int amount) T prepareInvalidate () T prepareRehabilitate () T prepareChangeKey (int keyIndex, byte newKif, byte newKvc, byte issuerKif, byte issuerKvc) SecureRegularModeTransactionManager SecureExtendedModeTransactionManager SecureExtendedModeTransactionManager prepareEarlyMutualAuthentication () SecureExtendedModeTransactionManager prepareActivateEncryption () SecureExtendedModeTransactionManager prepareDeactivateEncryption () SecurePkiModeTransactionManager SecurePkiModeTransactionManager prepareOpenSecureSession () SvOperation RELOAD DEBIT SvAction DO UNDO AsymmetricCryptoSecuritySetting AsymmetricCryptoSecuritySetting setAuthorityPublicKey (byte[] publicKey) AsymmetricCryptoSecuritySetting setAuthorityCertificate (X509Certificate certificate) AsymmetricCryptoSecuritySetting enableUnsignedPublicKeyUsage () SymmetricCryptoSecuritySetting SymmetricCryptoSecuritySetting enableMultipleSession () SymmetricCryptoSecuritySetting enableRatificationMechanism () SymmetricCryptoSecuritySetting enablePinPlainTransmission () SymmetricCryptoSecuritySetting enableSvLoadAndDebitLog () SymmetricCryptoSecuritySetting authorizeSvNegativeBalance () SymmetricCryptoSecuritySetting disableReadOnSessionOpening () SymmetricCryptoSecuritySetting assignKif (WriteAccessLevel writeAccessLevel, byte kvc, byte kif) SymmetricCryptoSecuritySetting assignDefaultKif (WriteAccessLevel writeAccessLevel, byte kif) SymmetricCryptoSecuritySetting assignDefaultKvc (WriteAccessLevel writeAccessLevel, byte kvc) SymmetricCryptoSecuritySetting addAuthorizedSessionKey (byte kif, byte kvc) SymmetricCryptoSecuritySetting addAuthorizedSvKey (byte kif, byte kvc) SymmetricCryptoSecuritySetting setPinVerificationCipheringKey (byte kif, byte kvc) SymmetricCryptoSecuritySetting setPinModificationCipheringKey (byte kif, byte kvc) void initCryptoContextForNextTransaction () SearchCommandData SearchCommandData setSfi (byte sfi) SearchCommandData startAtRecord (int recordNumber) SearchCommandData setOffset (int offset) SearchCommandData enableRepeatedOffset () SearchCommandData setSearchData (byte[] data) SearchCommandData setMask (byte[] mask) SearchCommandData fetchFirstMatchingResult () List<Integer> getMatchingRecordNumbers () «RuntimeException» SessionBufferOverflowException : Session buffer would overflow for atomic session. UnauthorizedKeyException InvalidPinException InconsistentDataException : Number of R-APDUs != number of C-APDUs or data read in session != data read outside session. InvalidCardSignatureException CardSignatureNotVerifiableException : CloseSecureSession is successful but crypto resource is no more available to check the card MAC. SelectFileException UnexpectedCommandStatusException ReaderIOException : Card reader and/or Crypto reader communication is broken. CardIOException CryptoException CryptoIOException AsymmetricCryptoCardTransactionManagerFactory SymmetricCryptoCardTransactionManagerFactory CardTransactionCryptoExtension use use use use provide use use use use use use use provide provide provide provide provide
\ No newline at end of file