Discussions
Categories
- 196.9K All Categories
- 2.2K Data
- 239 Big Data Appliance
- 1.9K Data Science
- 450.3K Databases
- 221.7K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 550 MySQL Community Space
- 478 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 546 SQLcl
- 4K SQL Developer Data Modeler
- 187K SQL & PL/SQL
- 21.3K SQL Developer
- 295.9K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.6K Development Tools
- 107 DevOps
- 3.1K QA/Testing
- 646K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 155 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 18 Java Essentials
- 160 Java 8 Questions
- 86K Java Programming
- 80 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 204 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 442 LiveLabs
- 38 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 171 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 232 Portuguese
Implementing javacardx.biometry.OwnerBioTemplate (Structural)
Hello every one. I want to implement javacardx.biometry.OwnerBioTemplate interface. I wrote the sample code that compile and convert to by JCDK 2.2.2. When i want to load and install to the card by GPShell i get the error code 0x6438 (Imported package not found).the sample code is:
import javacard.framework.*;
import javacardx.biometry.*;
public class bioServerApplet extends Applet implements SharedBioTemplate{
public final static byte CLA = (byte)0xCF;
public final static byte INS_ENROLL = (byte)0x10;
public final static byte MATCH_TRY_LIMIT = (byte)5;
private OwnerBioTemplate impl;
public static void install(byte[] bArray, short bOffset, byte bLength)
{
new bioServerApplet(bArray,bOffset,bLength);
}
private bioServerApplet(byte[] bArray, short bOffset, byte bLength) {
register(bArray, bOffset, bLength);
byte aidLen = bArray[bOffset];
if (aidLen== (byte)0){
register();
} else {
register(bArray, (short)(bOffset+1), aidLen);
}
impl = BioBuilder.buildBioTemplate(BioBuilder.PASSWORD,MATCH_TRY_LIMIT);
}
public void process(APDU apdu){
}
public void enrollData(APDU apdu){
byte []buffer = apdu.getBuffer();
short bytesRead = apdu.setIncomingAndReceive();
impl.init(buffer, ISO7816.OFFSET_CDATA, bytesRead);
impl.doFinal();
//enrollment complete
}
//--- the nethods below implement the SharedBioTemplate interface
public boolean isInitialized(){
return impl.isInitialized();
// return true;
}
public boolean isValidated(){
return impl.isValidated();
//return true;
}
public void reset(){
impl.reset();
}
public byte getTriesRemaining(){
return impl.getTriesRemaining();
//return (byte) 0x33;
}
public byte getBioType(){
return impl.getBioType();
//return (byte) 0x33;
}
public short getVersion(byte[] dest, short offset){
return impl.getVersion(dest,offset);
//return (short) 33;
}
public short getPublicTemplateData(short publicOffset, byte[] dest,
short destOffset,
short length) throws BioException{
return impl.getPublicTemplateData(publicOffset,dest,destOffset,length);
//return (short) 33;
}
public short initMatch(byte[] candidate, short offset, short length)
throws BioException{
return impl.initMatch(candidate,offset,length);
//return (short) 33;
}
public short match(byte[] candidate, short offset, short length)
throws BioException{
return impl.match(candidate,offset,length);
//return (short) 33;
}
}the OwnerBioTemplate implementation is:
import javacardx.biometry.*;
public class OwnerBioTemplateImpl implements OwnerBioTemplate{
public void init(byte[] bytes, short s, short s1) throws BioException {
}
public void update(byte[] bytes, short s, short s1) throws BioException {
}
public void doFinal() throws BioException {
}
public void resetUnblockAndSetTryLimit(byte b) throws BioException {
}
public boolean isInitialized() {
return true;
}
public boolean isValidated() {
return true;
}
public void reset() {
}
public byte getTriesRemaining() {
return 0x33;
}
public byte getBioType() {
return 0x33;
}
public short getVersion(byte[] bytes, short s) {
return 33;
}
public short getPublicTemplateData(short s, byte[] bytes, short s1, short s2) throws BioException {
return 33;
}
public short initMatch(byte[] bytes, short s, short s1) throws BioException {
return 33;
}
public short match(byte[] bytes, short s, short s1) throws BioException {
return 33;
}
}
The gpshell apdu trace is:
install -file bio.cap -instParam 00 -priv 00 -AID A00000030500001000 -pkgAID A00
0000305 -instAID A00000030500001000
Command --> 80E602001805A00000030508A0000000030000000006EF04C60204100000
Wrapped command --> 84E602002005A00000030508A0000000030000000006EF04C602041000B6
F6AE609D69F16C00
Response <-- 009000
Command --> 80E80000EFC482040201000FDECAFFED010204000105A00000030502001F000F001F
000D001F0032007B0103000A0025000001AB00000000000003010004001F03000107A00000006200
01020107A0000000620202030107A000000062010103000D0109A00000030500001000003D06007B
02800000FF00010D00000008000B000E001100140018001C001F00240029002E0033003881000906
050B090A07080C0D81010D06050B090A07080C0D01020304438203010001070B0000007B007E009C
00A600B000BA00C400CE00DA00E900F68100090A090F0D0E0B0C10118202008102090A090F0D0E0B
0C101107010300011018
Wrapped command --> 84E80000F7C482040201000FDECAFFED010204000105A00000030502001F
000F001F000D001F0032007B0103000A0025000001AB00000000000003010004001F03000107A000
0000620001020107A0000000620202030107A000000062010103000D0109A0000003050000100000
3D06007B02800000FF00010D00000008000B000E001100140018001C001F00240029002E00330038
81000906050B090A07080C0D81010D06050B090A07080C0D01020304438203010001070B0000007B
007E009C00A600B000BA00C400CE00DA00E900F68100090A090F0D0E0B0C10118202008102090A09
0F0D0E0B0C10110701030001101892A80583FE545E26
Response <-- 6438
load() returns 0x80206438 (Unknown ISO7816 error: 0x6438)
Any one can help me why this happen?
<span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">import</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> javacard</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">framework</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.*;</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"></span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">import</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> javacardx</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">biometry</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.*;</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"></span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">class</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> bioServerApplet </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">extends</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="typ" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #2b91af;">Applet</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">implements</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="typ" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #2b91af;">SharedBioTemplate</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">{</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">final</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">static</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> CLA </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">=</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">)</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #7d2727;">0xCF</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">;</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">final</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">static</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> INS_ENROLL </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">=</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">)</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #7d2727;">0x10</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">;</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">final</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">static</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> MATCH_TRY_LIMIT </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">=</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">)</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #7d2727;">5</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">;</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">private</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="typ" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #2b91af;">OwnerBioTemplate</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> impl</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">;</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">static</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">void</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> install</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">[]</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> bArray</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> bOffset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> bLength</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">)</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">{</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">new</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> bioServerApplet</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">bArray</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">bOffset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">bLength</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">);</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">private</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> bioServerApplet</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">[]</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> bArray</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> bOffset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> bLength</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">)</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">{</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">register</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">bArray</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> bOffset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> bLength</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">);</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> aidLen </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">=</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> bArray</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">[</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">bOffset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">];</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">if</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">aidLen</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">==</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">)</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #7d2727;">0</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">){</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">register</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">();</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">else</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">{</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">register</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">bArray</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">)(</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">bOffset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">+</span><span class="lit" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #7d2727;">1</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">),</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> aidLen</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">);</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> impl </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">=</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="typ" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #2b91af;">BioBuilder</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">buildBioTemplate</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="typ" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #2b91af;">BioBuilder</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">PASSWORD</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">MATCH_TRY_LIMIT</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">);</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">void</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> process</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">APDU apdu</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">){</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">void</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> enrollData</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">APDU apdu</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">){</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">[]</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">buffer </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">=</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> apdu</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">getBuffer</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">();</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> bytesRead </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">=</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> apdu</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">setIncomingAndReceive</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">();</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> impl</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">init</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">buffer</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> ISO7816</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">OFFSET_CDATA</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> bytesRead</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">);</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> impl</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">doFinal</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">();</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="com" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #858c93;">//enrollment complete</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="com" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #858c93;">//--- the nethods below implement the SharedBioTemplate interface</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">boolean</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> isInitialized</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(){</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">return</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> impl</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">isInitialized</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">();</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="com" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #858c93;">// return true;</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">boolean</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> isValidated</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(){</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">return</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> impl</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">isValidated</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">();</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="com" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #858c93;">//return true;</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">void</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> reset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(){</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> impl</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">reset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">();</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> getTriesRemaining</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(){</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">return</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> impl</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">getTriesRemaining</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">();</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="com" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #858c93;">//return (byte) 0x33;</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> getBioType</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(){</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">return</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> impl</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">getBioType</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">();</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="com" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #858c93;">//return (byte) 0x33;</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> getVersion</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">[]</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> dest</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> offset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">){</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">return</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> impl</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">getVersion</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">dest</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">offset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">);</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="com" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #858c93;">//return (short) 33;</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> getPublicTemplateData</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> publicOffset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">[]</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> dest</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> destOffset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> length</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">)</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">throws</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="typ" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #2b91af;">BioException</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">{</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">return</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> impl</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">getPublicTemplateData</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">publicOffset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">dest</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">destOffset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">length</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">);</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="com" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #858c93;">//return (short) 33;</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> initMatch</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">[]</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> candidate</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> offset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> length</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">)</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">throws</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="typ" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #2b91af;">BioException</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">{</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">return</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> impl</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">initMatch</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">candidate</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">offset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">length</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">);</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="com" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #858c93;">//return (short) 33;</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">public</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> match</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">byte</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">[]</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> candidate</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> offset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">short</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> length</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">)</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">throws</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="typ" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #2b91af;">BioException</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">{</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="kwd" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #101094;">return</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> impl</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">match</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">(</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">candidate</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">offset</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">length</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">);</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="com" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #858c93;">//return (short) 33;</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;"> </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; color: #303336;">}</span>