public final class com.fasterxml.jackson.core.Base64Variant implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.fasterxml.jackson.core.Base64Variant
super_class: java.lang.Object
{
private static final int INT_SPACE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
protected static final char PADDING_CHAR_NONE;
descriptor: C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int BASE64_VALUE_INVALID;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
public static final int BASE64_VALUE_PADDING;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -2
private final transient int[] _asciiToBase64;
descriptor: [I
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private final transient char[] _base64ToAsciiC;
descriptor: [C
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private final transient byte[] _base64ToAsciiB;
descriptor: [B
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
final java.lang.String _name;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
private final char _paddingChar;
descriptor: C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int _maxLineLength;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean _writePadding;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour _paddingReadBehaviour;
descriptor: Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.String, java.lang.String, boolean, char, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;ZCI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
sipush 128
newarray 10
putfield com.fasterxml.jackson.core.Base64Variant._asciiToBase64:[I
2: aload 0
bipush 64
newarray 5
putfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
3: aload 0
bipush 64
newarray 8
putfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiB:[B
4: aload 0
aload 1
putfield com.fasterxml.jackson.core.Base64Variant._name:Ljava/lang/String;
5: aload 0
iload 3
putfield com.fasterxml.jackson.core.Base64Variant._writePadding:Z
6: aload 0
iload 4
putfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
7: aload 0
iload 5
putfield com.fasterxml.jackson.core.Base64Variant._maxLineLength:I
8: aload 2
invokevirtual java.lang.String.length:()I
istore 6
start local 6 9: iload 6
bipush 64
if_icmpeq 11
10: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Base64Alphabet length must be exactly 64 (was "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: com.fasterxml.jackson.core.Base64Variant java.lang.String java.lang.String int int int int
StackMap stack:
aload 2
iconst_0
iload 6
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iconst_0
invokevirtual java.lang.String.getChars:(II[CI)V
12: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._asciiToBase64:[I
iconst_m1
invokestatic java.util.Arrays.fill:([II)V
13: iconst_0
istore 7
start local 7 14: goto 19
15: StackMap locals: int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 7
caload
istore 8
start local 8 16: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiB:[B
iload 7
iload 8
i2b
bastore
17: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._asciiToBase64:[I
iload 8
iload 7
iastore
end local 8 18: iinc 7 1
StackMap locals:
StackMap stack:
19: iload 7
iload 6
if_icmplt 15
end local 7 20: iload 3
ifeq 22
21: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._asciiToBase64:[I
iload 4
bipush -2
iastore
22: StackMap locals:
StackMap stack:
aload 0
iload 3
ifeq 24
23: getstatic com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour.PADDING_REQUIRED:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
goto 25
24: StackMap locals:
StackMap stack: com.fasterxml.jackson.core.Base64Variant
getstatic com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour.PADDING_FORBIDDEN:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
25: StackMap locals: com.fasterxml.jackson.core.Base64Variant java.lang.String java.lang.String int int int int
StackMap stack: com.fasterxml.jackson.core.Base64Variant com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour
putfield com.fasterxml.jackson.core.Base64Variant._paddingReadBehaviour:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
26: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 27 1 name Ljava/lang/String;
0 27 2 base64Alphabet Ljava/lang/String;
0 27 3 writePadding Z
0 27 4 paddingChar C
0 27 5 maxLineLength I
9 27 6 alphaLen I
14 20 7 i I
16 18 8 alpha C
MethodParameters:
Name Flags
name
base64Alphabet
writePadding
paddingChar
maxLineLength
public void <init>(com.fasterxml.jackson.core.Base64Variant, java.lang.String, int);
descriptor: (Lcom/fasterxml/jackson/core/Base64Variant;Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 1
getfield com.fasterxml.jackson.core.Base64Variant._writePadding:Z
aload 1
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
iload 3
invokespecial com.fasterxml.jackson.core.Base64Variant.<init>:(Lcom/fasterxml/jackson/core/Base64Variant;Ljava/lang/String;ZCI)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 2 1 base Lcom/fasterxml/jackson/core/Base64Variant;
0 2 2 name Ljava/lang/String;
0 2 3 maxLineLength I
MethodParameters:
Name Flags
base
name
maxLineLength
public void <init>(com.fasterxml.jackson.core.Base64Variant, java.lang.String, boolean, char, int);
descriptor: (Lcom/fasterxml/jackson/core/Base64Variant;Ljava/lang/String;ZCI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
iload 3
iload 4
aload 1
getfield com.fasterxml.jackson.core.Base64Variant._paddingReadBehaviour:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
iload 5
invokespecial com.fasterxml.jackson.core.Base64Variant.<init>:(Lcom/fasterxml/jackson/core/Base64Variant;Ljava/lang/String;ZCLcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;I)V
1: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 2 1 base Lcom/fasterxml/jackson/core/Base64Variant;
0 2 2 name Ljava/lang/String;
0 2 3 writePadding Z
0 2 4 paddingChar C
0 2 5 maxLineLength I
MethodParameters:
Name Flags
base
name
writePadding
paddingChar
maxLineLength
private void <init>(com.fasterxml.jackson.core.Base64Variant, java.lang.String, boolean, char, com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour, int);
descriptor: (Lcom/fasterxml/jackson/core/Base64Variant;Ljava/lang/String;ZCLcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
sipush 128
newarray 10
putfield com.fasterxml.jackson.core.Base64Variant._asciiToBase64:[I
2: aload 0
bipush 64
newarray 5
putfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
3: aload 0
bipush 64
newarray 8
putfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiB:[B
4: aload 0
aload 2
putfield com.fasterxml.jackson.core.Base64Variant._name:Ljava/lang/String;
5: aload 1
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiB:[B
astore 7
start local 7 6: aload 7
iconst_0
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiB:[B
iconst_0
aload 7
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 1
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
astore 8
start local 8 8: aload 8
iconst_0
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iconst_0
aload 8
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: aload 1
getfield com.fasterxml.jackson.core.Base64Variant._asciiToBase64:[I
astore 9
start local 9 10: aload 9
iconst_0
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._asciiToBase64:[I
iconst_0
aload 9
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: aload 0
iload 3
putfield com.fasterxml.jackson.core.Base64Variant._writePadding:Z
12: aload 0
iload 4
putfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
13: aload 0
iload 6
putfield com.fasterxml.jackson.core.Base64Variant._maxLineLength:I
14: aload 0
aload 5
putfield com.fasterxml.jackson.core.Base64Variant._paddingReadBehaviour:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
15: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 16 1 base Lcom/fasterxml/jackson/core/Base64Variant;
0 16 2 name Ljava/lang/String;
0 16 3 writePadding Z
0 16 4 paddingChar C
0 16 5 paddingReadBehaviour Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
0 16 6 maxLineLength I
6 16 7 srcB [B
8 16 8 srcC [C
10 16 9 srcV [I
MethodParameters:
Name Flags
base
name
writePadding
paddingChar
paddingReadBehaviour
maxLineLength
private void <init>(com.fasterxml.jackson.core.Base64Variant, com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour);
descriptor: (Lcom/fasterxml/jackson/core/Base64Variant;Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
getfield com.fasterxml.jackson.core.Base64Variant._name:Ljava/lang/String;
aload 1
getfield com.fasterxml.jackson.core.Base64Variant._writePadding:Z
aload 1
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
aload 2
aload 1
getfield com.fasterxml.jackson.core.Base64Variant._maxLineLength:I
invokespecial com.fasterxml.jackson.core.Base64Variant.<init>:(Lcom/fasterxml/jackson/core/Base64Variant;Ljava/lang/String;ZCLcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 2 1 base Lcom/fasterxml/jackson/core/Base64Variant;
0 2 2 paddingReadBehaviour Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
MethodParameters:
Name Flags
base
paddingReadBehaviour
public com.fasterxml.jackson.core.Base64Variant withPaddingAllowed();
descriptor: ()Lcom/fasterxml/jackson/core/Base64Variant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour.PADDING_ALLOWED:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
invokevirtual com.fasterxml.jackson.core.Base64Variant.withReadPadding:(Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;)Lcom/fasterxml/jackson/core/Base64Variant;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
public com.fasterxml.jackson.core.Base64Variant withPaddingRequired();
descriptor: ()Lcom/fasterxml/jackson/core/Base64Variant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour.PADDING_REQUIRED:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
invokevirtual com.fasterxml.jackson.core.Base64Variant.withReadPadding:(Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;)Lcom/fasterxml/jackson/core/Base64Variant;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
public com.fasterxml.jackson.core.Base64Variant withPaddingForbidden();
descriptor: ()Lcom/fasterxml/jackson/core/Base64Variant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour.PADDING_FORBIDDEN:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
invokevirtual com.fasterxml.jackson.core.Base64Variant.withReadPadding:(Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;)Lcom/fasterxml/jackson/core/Base64Variant;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
public com.fasterxml.jackson.core.Base64Variant withReadPadding(com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour);
descriptor: (Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;)Lcom/fasterxml/jackson/core/Base64Variant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingReadBehaviour:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
if_acmpne 1
aload 0
goto 2
1: StackMap locals:
StackMap stack:
new com.fasterxml.jackson.core.Base64Variant
dup
aload 0
aload 1
invokespecial com.fasterxml.jackson.core.Base64Variant.<init>:(Lcom/fasterxml/jackson/core/Base64Variant;Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;)V
2: StackMap locals:
StackMap stack: com.fasterxml.jackson.core.Base64Variant
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 3 1 readPadding Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
MethodParameters:
Name Flags
readPadding
public com.fasterxml.jackson.core.Base64Variant withWritePadding(boolean);
descriptor: (Z)Lcom/fasterxml/jackson/core/Base64Variant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._writePadding:Z
if_icmpne 1
aload 0
goto 2
1: StackMap locals:
StackMap stack:
new com.fasterxml.jackson.core.Base64Variant
dup
aload 0
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._name:Ljava/lang/String;
iload 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._maxLineLength:I
invokespecial com.fasterxml.jackson.core.Base64Variant.<init>:(Lcom/fasterxml/jackson/core/Base64Variant;Ljava/lang/String;ZCI)V
2: StackMap locals:
StackMap stack: com.fasterxml.jackson.core.Base64Variant
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 3 1 writePadding Z
MethodParameters:
Name Flags
writePadding
protected java.lang.Object readResolve();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=2, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._name:Ljava/lang/String;
invokestatic com.fasterxml.jackson.core.Base64Variants.valueOf:(Ljava/lang/String;)Lcom/fasterxml/jackson/core/Base64Variant;
astore 1
start local 1 1: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._writePadding:Z
aload 1
getfield com.fasterxml.jackson.core.Base64Variant._writePadding:Z
if_icmpne 6
2: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
aload 1
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
if_icmpne 6
3: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingReadBehaviour:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
aload 1
getfield com.fasterxml.jackson.core.Base64Variant._paddingReadBehaviour:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
if_acmpne 6
4: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._maxLineLength:I
aload 1
getfield com.fasterxml.jackson.core.Base64Variant._maxLineLength:I
if_icmpne 6
5: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._writePadding:Z
aload 1
getfield com.fasterxml.jackson.core.Base64Variant._writePadding:Z
if_icmpeq 9
6: StackMap locals: com.fasterxml.jackson.core.Base64Variant
StackMap stack:
new com.fasterxml.jackson.core.Base64Variant
dup
aload 1
7: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._name:Ljava/lang/String;
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._writePadding:Z
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingReadBehaviour:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._maxLineLength:I
8: invokespecial com.fasterxml.jackson.core.Base64Variant.<init>:(Lcom/fasterxml/jackson/core/Base64Variant;Ljava/lang/String;ZCLcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;I)V
areturn
9: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/fasterxml/jackson/core/Base64Variant;
1 10 1 base Lcom/fasterxml/jackson/core/Base64Variant;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
public boolean usesPadding();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._writePadding:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
public boolean requiresPaddingOnRead();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingReadBehaviour:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
getstatic com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour.PADDING_REQUIRED:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/jackson/core/Base64Variant;
public boolean acceptsPaddingOnRead();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingReadBehaviour:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
getstatic com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour.PADDING_FORBIDDEN:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
if_acmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/jackson/core/Base64Variant;
public boolean usesPaddingChar(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 2 1 c C
MethodParameters:
Name Flags
c
public boolean usesPaddingChar(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 2 1 ch I
MethodParameters:
Name Flags
ch
public com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour paddingReadBehaviour();
descriptor: ()Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingReadBehaviour:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
public char getPaddingChar();
descriptor: ()C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
public byte getPaddingByte();
descriptor: ()B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
public int getMaxLineLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._maxLineLength:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
public int decodeBase64Char(char);
descriptor: (C)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: iload 2
bipush 127
if_icmpgt 2
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._asciiToBase64:[I
iload 2
iaload
goto 3
StackMap locals: int
StackMap stack:
2: iconst_m1
StackMap locals:
StackMap stack: int
3: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 4 1 c C
1 4 2 ch I
MethodParameters:
Name Flags
c
public int decodeBase64Char(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 127
if_icmpgt 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._asciiToBase64:[I
iload 1
iaload
goto 2
StackMap locals:
StackMap stack:
1: iconst_m1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 3 1 ch I
MethodParameters:
Name Flags
ch
public int decodeBase64Byte(byte);
descriptor: (B)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: iload 2
ifge 3
2: iconst_m1
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._asciiToBase64:[I
iload 2
iaload
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 4 1 b B
1 4 2 ch I
MethodParameters:
Name Flags
b
public char encodeBase64BitsAsChar(int);
descriptor: (I)C
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 1
caload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 1 1 value I
MethodParameters:
Name Flags
value
public int encodeBase64Chunk(int, char[], int);
descriptor: (I[CI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
iload 3
iinc 3 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 1
bipush 18
ishr
bipush 63
iand
caload
castore
1: aload 2
iload 3
iinc 3 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 1
bipush 12
ishr
bipush 63
iand
caload
castore
2: aload 2
iload 3
iinc 3 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 1
bipush 6
ishr
bipush 63
iand
caload
castore
3: aload 2
iload 3
iinc 3 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 1
bipush 63
iand
caload
castore
4: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 5 1 b24 I
0 5 2 buffer [C
0 5 3 outPtr I
MethodParameters:
Name Flags
b24
buffer
outPtr
public void encodeBase64Chunk(java.lang.StringBuilder, int);
descriptor: (Ljava/lang/StringBuilder;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 2
bipush 18
ishr
bipush 63
iand
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
1: aload 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 2
bipush 12
ishr
bipush 63
iand
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: aload 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 2
bipush 6
ishr
bipush 63
iand
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
3: aload 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 2
bipush 63
iand
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 5 1 sb Ljava/lang/StringBuilder;
0 5 2 b24 I
MethodParameters:
Name Flags
sb
b24
public int encodeBase64Partial(int, int, char[], int);
descriptor: (II[CI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
iload 4
iinc 4 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 1
bipush 18
ishr
bipush 63
iand
caload
castore
1: aload 3
iload 4
iinc 4 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 1
bipush 12
ishr
bipush 63
iand
caload
castore
2: aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.usesPadding:()Z
ifeq 9
3: aload 3
iload 4
iinc 4 1
iload 2
iconst_2
if_icmpne 5
4: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 1
bipush 6
ishr
bipush 63
iand
caload
goto 6
StackMap locals: com.fasterxml.jackson.core.Base64Variant int int char[] int
StackMap stack: char[] int
5: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
6: StackMap locals: com.fasterxml.jackson.core.Base64Variant int int char[] int
StackMap stack: char[] int int
castore
7: aload 3
iload 4
iinc 4 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
castore
8: goto 11
9: StackMap locals:
StackMap stack:
iload 2
iconst_2
if_icmpne 11
10: aload 3
iload 4
iinc 4 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 1
bipush 6
ishr
bipush 63
iand
caload
castore
11: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 12 1 bits I
0 12 2 outputBytes I
0 12 3 buffer [C
0 12 4 outPtr I
MethodParameters:
Name Flags
bits
outputBytes
buffer
outPtr
public void encodeBase64Partial(java.lang.StringBuilder, int, int);
descriptor: (Ljava/lang/StringBuilder;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 2
bipush 18
ishr
bipush 63
iand
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
1: aload 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 2
bipush 12
ishr
bipush 63
iand
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.usesPadding:()Z
ifeq 9
3: aload 1
iload 3
iconst_2
if_icmpne 5
4: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 2
bipush 6
ishr
bipush 63
iand
caload
goto 6
StackMap locals:
StackMap stack: java.lang.StringBuilder
5: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
6: StackMap locals: com.fasterxml.jackson.core.Base64Variant java.lang.StringBuilder int int
StackMap stack: java.lang.StringBuilder int
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
7: aload 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: goto 11
9: StackMap locals:
StackMap stack:
iload 3
iconst_2
if_icmpne 11
10: aload 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiC:[C
iload 2
bipush 6
ishr
bipush 63
iand
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 12 1 sb Ljava/lang/StringBuilder;
0 12 2 bits I
0 12 3 outputBytes I
MethodParameters:
Name Flags
sb
bits
outputBytes
public byte encodeBase64BitsAsByte(int);
descriptor: (I)B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiB:[B
iload 1
baload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 1 1 value I
MethodParameters:
Name Flags
value
public int encodeBase64Chunk(int, byte[], int);
descriptor: (I[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
iload 3
iinc 3 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiB:[B
iload 1
bipush 18
ishr
bipush 63
iand
baload
bastore
1: aload 2
iload 3
iinc 3 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiB:[B
iload 1
bipush 12
ishr
bipush 63
iand
baload
bastore
2: aload 2
iload 3
iinc 3 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiB:[B
iload 1
bipush 6
ishr
bipush 63
iand
baload
bastore
3: aload 2
iload 3
iinc 3 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiB:[B
iload 1
bipush 63
iand
baload
bastore
4: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 5 1 b24 I
0 5 2 buffer [B
0 5 3 outPtr I
MethodParameters:
Name Flags
b24
buffer
outPtr
public int encodeBase64Partial(int, int, byte[], int);
descriptor: (II[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
iload 4
iinc 4 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiB:[B
iload 1
bipush 18
ishr
bipush 63
iand
baload
bastore
1: aload 3
iload 4
iinc 4 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiB:[B
iload 1
bipush 12
ishr
bipush 63
iand
baload
bastore
2: aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.usesPadding:()Z
ifeq 10
3: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
i2b
istore 5
start local 5 4: aload 3
iload 4
iinc 4 1
iload 2
iconst_2
if_icmpne 6
5: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiB:[B
iload 1
bipush 6
ishr
bipush 63
iand
baload
goto 7
StackMap locals: com.fasterxml.jackson.core.Base64Variant int int byte[] int int
StackMap stack: byte[] int
6: iload 5
7: StackMap locals: com.fasterxml.jackson.core.Base64Variant int int byte[] int int
StackMap stack: byte[] int int
bastore
8: aload 3
iload 4
iinc 4 1
iload 5
bastore
end local 5 9: goto 12
10: StackMap locals:
StackMap stack:
iload 2
iconst_2
if_icmpne 12
11: aload 3
iload 4
iinc 4 1
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._base64ToAsciiB:[B
iload 1
bipush 6
ishr
bipush 63
iand
baload
bastore
12: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 13 1 bits I
0 13 2 outputBytes I
0 13 3 buffer [B
0 13 4 outPtr I
4 9 5 pb B
MethodParameters:
Name Flags
bits
outputBytes
buffer
outPtr
public java.lang.String encode(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual com.fasterxml.jackson.core.Base64Variant.encode:([BZ)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 1 1 input [B
MethodParameters:
Name Flags
input
public java.lang.String encode(byte[], boolean);
descriptor: ([BZ)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
arraylength
istore 3
start local 3 1: new java.lang.StringBuilder
dup
iload 3
iload 3
iconst_2
ishr
iadd
iload 3
iconst_3
ishr
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 4
start local 4 2: iload 2
ifeq 4
3: aload 4
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: StackMap locals: int java.lang.StringBuilder
StackMap stack:
aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.getMaxLineLength:()I
iconst_2
ishr
istore 5
start local 5 5: iconst_0
istore 6
start local 6 6: iload 3
iconst_3
isub
istore 7
start local 7 7: goto 16
8: StackMap locals: int int int
StackMap stack:
aload 1
iload 6
iinc 6 1
baload
bipush 8
ishl
istore 8
start local 8 9: iload 8
aload 1
iload 6
iinc 6 1
baload
sipush 255
iand
ior
istore 8
10: iload 8
bipush 8
ishl
aload 1
iload 6
iinc 6 1
baload
sipush 255
iand
ior
istore 8
11: aload 0
aload 4
iload 8
invokevirtual com.fasterxml.jackson.core.Base64Variant.encodeBase64Chunk:(Ljava/lang/StringBuilder;I)V
12: iinc 5 -1
iload 5
ifgt 16
13: aload 4
bipush 92
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
14: aload 4
bipush 110
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.getMaxLineLength:()I
iconst_2
ishr
istore 5
end local 8 16: StackMap locals:
StackMap stack:
iload 6
iload 7
if_icmple 8
17: iload 3
iload 6
isub
istore 8
start local 8 18: iload 8
ifle 23
19: aload 1
iload 6
iinc 6 1
baload
bipush 16
ishl
istore 9
start local 9 20: iload 8
iconst_2
if_icmpne 22
21: iload 9
aload 1
iload 6
iinc 6 1
baload
sipush 255
iand
bipush 8
ishl
ior
istore 9
22: StackMap locals: int int
StackMap stack:
aload 0
aload 4
iload 9
iload 8
invokevirtual com.fasterxml.jackson.core.Base64Variant.encodeBase64Partial:(Ljava/lang/StringBuilder;II)V
end local 9 23: StackMap locals:
StackMap stack:
iload 2
ifeq 25
24: aload 4
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
25: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 26 1 input [B
0 26 2 addQuotes Z
1 26 3 inputEnd I
2 26 4 sb Ljava/lang/StringBuilder;
5 26 5 chunksBeforeLF I
6 26 6 inputPtr I
7 26 7 safeInputEnd I
9 16 8 b24 I
18 26 8 inputLeft I
20 23 9 b24 I
MethodParameters:
Name Flags
input
addQuotes
public java.lang.String encode(byte[], boolean, java.lang.String);
descriptor: ([BZLjava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
arraylength
istore 4
start local 4 1: new java.lang.StringBuilder
dup
iload 4
iload 4
iconst_2
ishr
iadd
iload 4
iconst_3
ishr
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5
start local 5 2: iload 2
ifeq 4
3: aload 5
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: StackMap locals: int java.lang.StringBuilder
StackMap stack:
aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.getMaxLineLength:()I
iconst_2
ishr
istore 6
start local 6 5: iconst_0
istore 7
start local 7 6: iload 4
iconst_3
isub
istore 8
start local 8 7: goto 15
8: StackMap locals: int int int
StackMap stack:
aload 1
iload 7
iinc 7 1
baload
bipush 8
ishl
istore 9
start local 9 9: iload 9
aload 1
iload 7
iinc 7 1
baload
sipush 255
iand
ior
istore 9
10: iload 9
bipush 8
ishl
aload 1
iload 7
iinc 7 1
baload
sipush 255
iand
ior
istore 9
11: aload 0
aload 5
iload 9
invokevirtual com.fasterxml.jackson.core.Base64Variant.encodeBase64Chunk:(Ljava/lang/StringBuilder;I)V
12: iinc 6 -1
iload 6
ifgt 15
13: aload 5
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.getMaxLineLength:()I
iconst_2
ishr
istore 6
end local 9 15: StackMap locals:
StackMap stack:
iload 7
iload 8
if_icmple 8
16: iload 4
iload 7
isub
istore 9
start local 9 17: iload 9
ifle 22
18: aload 1
iload 7
iinc 7 1
baload
bipush 16
ishl
istore 10
start local 10 19: iload 9
iconst_2
if_icmpne 21
20: iload 10
aload 1
iload 7
iinc 7 1
baload
sipush 255
iand
bipush 8
ishl
ior
istore 10
21: StackMap locals: int int
StackMap stack:
aload 0
aload 5
iload 10
iload 9
invokevirtual com.fasterxml.jackson.core.Base64Variant.encodeBase64Partial:(Ljava/lang/StringBuilder;II)V
end local 10 22: StackMap locals:
StackMap stack:
iload 2
ifeq 24
23: aload 5
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
24: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 25 1 input [B
0 25 2 addQuotes Z
0 25 3 linefeed Ljava/lang/String;
1 25 4 inputEnd I
2 25 5 sb Ljava/lang/StringBuilder;
5 25 6 chunksBeforeLF I
6 25 7 inputPtr I
7 25 8 safeInputEnd I
9 15 9 b24 I
17 25 9 inputLeft I
19 22 10 b24 I
MethodParameters:
Name Flags
input
addQuotes
linefeed
public byte[] decode(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new com.fasterxml.jackson.core.util.ByteArrayBuilder
dup
invokespecial com.fasterxml.jackson.core.util.ByteArrayBuilder.<init>:()V
astore 2
start local 2 1: aload 0
aload 1
aload 2
invokevirtual com.fasterxml.jackson.core.Base64Variant.decode:(Ljava/lang/String;Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;)V
2: aload 2
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.toByteArray:()[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 3 1 input Ljava/lang/String;
1 3 2 b Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
input
public void decode(java.lang.String, com.fasterxml.jackson.core.util.ByteArrayBuilder);
descriptor: (Ljava/lang/String;Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 1
invokevirtual java.lang.String.length:()I
istore 4
start local 4 2: StackMap locals: int int
StackMap stack:
iload 3
iload 4
if_icmplt 4
3: goto 59
4: StackMap locals:
StackMap stack:
aload 1
iload 3
iinc 3 1
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 5: iload 5
bipush 32
6: if_icmple 2
7: aload 0
iload 5
invokevirtual com.fasterxml.jackson.core.Base64Variant.decodeBase64Char:(C)I
istore 6
start local 6 8: iload 6
ifge 10
9: aload 0
iload 5
iconst_0
aconst_null
invokevirtual com.fasterxml.jackson.core.Base64Variant._reportInvalidBase64:(CILjava/lang/String;)V
10: StackMap locals: int int
StackMap stack:
iload 6
istore 7
start local 7 11: iload 3
iload 4
if_icmplt 13
12: aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant._reportBase64EOF:()V
13: StackMap locals: int
StackMap stack:
aload 1
iload 3
iinc 3 1
invokevirtual java.lang.String.charAt:(I)C
istore 5
14: aload 0
iload 5
invokevirtual com.fasterxml.jackson.core.Base64Variant.decodeBase64Char:(C)I
istore 6
15: iload 6
ifge 17
16: aload 0
iload 5
iconst_1
aconst_null
invokevirtual com.fasterxml.jackson.core.Base64Variant._reportInvalidBase64:(CILjava/lang/String;)V
17: StackMap locals:
StackMap stack:
iload 7
bipush 6
ishl
iload 6
ior
istore 7
18: iload 3
iload 4
if_icmplt 24
19: aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.requiresPaddingOnRead:()Z
ifne 23
20: iload 7
iconst_4
ishr
istore 7
21: aload 2
iload 7
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.append:(I)V
22: goto 59
23: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant._reportBase64EOF:()V
24: StackMap locals:
StackMap stack:
aload 1
iload 3
iinc 3 1
invokevirtual java.lang.String.charAt:(I)C
istore 5
25: aload 0
iload 5
invokevirtual com.fasterxml.jackson.core.Base64Variant.decodeBase64Char:(C)I
istore 6
26: iload 6
ifge 39
27: iload 6
bipush -2
if_icmpeq 29
28: aload 0
iload 5
iconst_2
aconst_null
invokevirtual com.fasterxml.jackson.core.Base64Variant._reportInvalidBase64:(CILjava/lang/String;)V
29: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.acceptsPaddingOnRead:()Z
ifne 31
30: aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant._reportBase64UnexpectedPadding:()V
31: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmplt 33
32: aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant._reportBase64EOF:()V
33: StackMap locals:
StackMap stack:
aload 1
iload 3
iinc 3 1
invokevirtual java.lang.String.charAt:(I)C
istore 5
34: aload 0
iload 5
invokevirtual com.fasterxml.jackson.core.Base64Variant.usesPaddingChar:(C)Z
ifne 36
35: aload 0
iload 5
iconst_3
new java.lang.StringBuilder
dup
ldc "expected padding character '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.getPaddingChar:()C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.fasterxml.jackson.core.Base64Variant._reportInvalidBase64:(CILjava/lang/String;)V
36: StackMap locals:
StackMap stack:
iload 7
iconst_4
ishr
istore 7
37: aload 2
iload 7
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.append:(I)V
38: goto 2
39: StackMap locals:
StackMap stack:
iload 7
bipush 6
ishl
iload 6
ior
istore 7
40: iload 3
iload 4
if_icmplt 46
41: aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.requiresPaddingOnRead:()Z
ifne 45
42: iload 7
iconst_2
ishr
istore 7
43: aload 2
iload 7
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.appendTwoBytes:(I)V
44: goto 59
45: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant._reportBase64EOF:()V
46: StackMap locals:
StackMap stack:
aload 1
iload 3
iinc 3 1
invokevirtual java.lang.String.charAt:(I)C
istore 5
47: aload 0
iload 5
invokevirtual com.fasterxml.jackson.core.Base64Variant.decodeBase64Char:(C)I
istore 6
48: iload 6
ifge 56
49: iload 6
bipush -2
if_icmpeq 51
50: aload 0
iload 5
iconst_3
aconst_null
invokevirtual com.fasterxml.jackson.core.Base64Variant._reportInvalidBase64:(CILjava/lang/String;)V
51: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.acceptsPaddingOnRead:()Z
ifne 53
52: aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant._reportBase64UnexpectedPadding:()V
53: StackMap locals:
StackMap stack:
iload 7
iconst_2
ishr
istore 7
54: aload 2
iload 7
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.appendTwoBytes:(I)V
55: goto 2
56: StackMap locals:
StackMap stack:
iload 7
bipush 6
ishl
iload 6
ior
istore 7
57: aload 2
iload 7
invokevirtual com.fasterxml.jackson.core.util.ByteArrayBuilder.appendThreeBytes:(I)V
end local 7 end local 6 end local 5 58: goto 2
59: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 60 1 str Ljava/lang/String;
0 60 2 builder Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;
1 60 3 ptr I
2 60 4 len I
5 58 5 ch C
8 58 6 bits I
11 58 7 decodedData I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
str
builder
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 1
iconst_1
ireturn
1: StackMap locals:
StackMap stack:
aload 1
ifnull 2
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 3
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
checkcast com.fasterxml.jackson.core.Base64Variant
astore 2
start local 2 4: aload 2
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingChar:C
if_icmpne 10
5: aload 2
getfield com.fasterxml.jackson.core.Base64Variant._maxLineLength:I
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._maxLineLength:I
if_icmpne 10
6: aload 2
getfield com.fasterxml.jackson.core.Base64Variant._writePadding:Z
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._writePadding:Z
if_icmpne 10
7: aload 2
getfield com.fasterxml.jackson.core.Base64Variant._paddingReadBehaviour:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
aload 0
getfield com.fasterxml.jackson.core.Base64Variant._paddingReadBehaviour:Lcom/fasterxml/jackson/core/Base64Variant$PaddingReadBehaviour;
if_acmpne 10
8: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._name:Ljava/lang/String;
aload 2
getfield com.fasterxml.jackson.core.Base64Variant._name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
9: iconst_1
ireturn
StackMap locals: com.fasterxml.jackson.core.Base64Variant
StackMap stack:
10: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 11 1 o Ljava/lang/Object;
4 11 2 other Lcom/fasterxml/jackson/core/Base64Variant;
MethodParameters:
Name Flags
o
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.Base64Variant._name:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
protected void _reportInvalidBase64(char, int, java.lang.String);
descriptor: (CILjava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
bipush 32
if_icmpgt 3
1: new java.lang.StringBuilder
dup
ldc "Illegal white space character (code 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") as character #"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " of 4-char base64 unit: can only used between units"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 2: goto 10
end local 4 StackMap locals:
StackMap stack:
3: aload 0
iload 1
invokevirtual com.fasterxml.jackson.core.Base64Variant.usesPaddingChar:(C)Z
ifeq 6
4: new java.lang.StringBuilder
dup
ldc "Unexpected padding character ('"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.getPaddingChar:()C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "') as character #"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " of 4-char base64 unit: padding only legal as 3rd or 4th character"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 5: goto 10
end local 4 StackMap locals:
StackMap stack:
6: iload 1
invokestatic java.lang.Character.isDefined:(C)Z
ifeq 7
iload 1
invokestatic java.lang.Character.isISOControl:(C)Z
ifeq 9
7: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Illegal character (code 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") in base64 content"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 8: goto 10
end local 4 9: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Illegal character '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "' (code 0x"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") in base64 content"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 10: StackMap locals: java.lang.String
StackMap stack:
aload 3
ifnull 12
11: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
12: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 4
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/fasterxml/jackson/core/Base64Variant;
0 13 1 ch C
0 13 2 bindex I
0 13 3 msg Ljava/lang/String;
2 3 4 base Ljava/lang/String;
5 6 4 base Ljava/lang/String;
8 9 4 base Ljava/lang/String;
10 13 4 base Ljava/lang/String;
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
ch
bindex
msg
protected void _reportBase64EOF();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.IllegalArgumentException
dup
aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.missingPaddingMessage:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
Exceptions:
throws java.lang.IllegalArgumentException
protected void _reportBase64UnexpectedPadding();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.IllegalArgumentException
dup
aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.unexpectedPaddingMessage:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/Base64Variant;
Exceptions:
throws java.lang.IllegalArgumentException
protected java.lang.String unexpectedPaddingMessage();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: ldc "Unexpected end of base64-encoded String: base64 variant '%s' expects no padding at the end while decoding. This Base64Variant might have been incorrectly configured"
iconst_1
anewarray java.lang.Object
dup
iconst_0
1: aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.getName:()Ljava/lang/String;
aastore
2: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/fasterxml/jackson/core/Base64Variant;
public java.lang.String missingPaddingMessage();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: ldc "Unexpected end of base64-encoded String: base64 variant '%s' expects padding (one or more '%c' characters) at the end. This Base64Variant might have been incorrectly configured"
iconst_2
anewarray java.lang.Object
dup
iconst_0
1: aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
invokevirtual com.fasterxml.jackson.core.Base64Variant.getPaddingChar:()C
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
aastore
2: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/fasterxml/jackson/core/Base64Variant;
}
SourceFile: "Base64Variant.java"
NestMembers:
com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour
InnerClasses:
public final PaddingReadBehaviour = com.fasterxml.jackson.core.Base64Variant$PaddingReadBehaviour of com.fasterxml.jackson.core.Base64Variant