2273 lines
81 KiB
Java
2273 lines
81 KiB
Java
package org.xmlpull.mxp1;
|
|
|
|
import com.ijm.dataencryption.de.DataDecryptTool;
|
|
import com.ubt.jimu.unity.bluetooth.UnityActivity;
|
|
import com.unity3d.ads.metadata.MediationMetaData;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.InputStreamReader;
|
|
import java.io.Reader;
|
|
import java.io.UnsupportedEncodingException;
|
|
import org.xmlpull.v1.XmlPullParser;
|
|
import org.xmlpull.v1.XmlPullParserException;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public class MXParser implements XmlPullParser {
|
|
protected static final char[] m0 = MediationMetaData.KEY_VERSION.toCharArray();
|
|
protected static final char[] n0 = "ncoding".toCharArray();
|
|
protected static final char[] o0 = "tandalone".toCharArray();
|
|
protected static final char[] p0 = "yes".toCharArray();
|
|
protected static final char[] q0 = "no".toCharArray();
|
|
protected static boolean[] r0 = new boolean[DataDecryptTool.DECRYPT_SP_FILE];
|
|
protected static boolean[] s0 = new boolean[DataDecryptTool.DECRYPT_SP_FILE];
|
|
protected String[] A;
|
|
protected int[] B;
|
|
protected String[] C;
|
|
protected int D;
|
|
protected String[] E;
|
|
protected char[][] F;
|
|
protected String[] G;
|
|
protected char[][] H;
|
|
protected int[] I;
|
|
protected Reader J;
|
|
protected String K;
|
|
protected int L = 95;
|
|
protected char[] M;
|
|
protected int N;
|
|
protected boolean O;
|
|
protected int P;
|
|
protected int Q;
|
|
protected int R;
|
|
protected int S;
|
|
protected int T;
|
|
protected int U;
|
|
protected char[] V;
|
|
protected int W;
|
|
protected int X;
|
|
protected boolean Y;
|
|
protected boolean Z;
|
|
protected boolean a;
|
|
protected boolean a0;
|
|
protected boolean b;
|
|
protected boolean b0;
|
|
protected boolean c;
|
|
protected boolean c0;
|
|
protected String d;
|
|
protected boolean d0;
|
|
protected int e;
|
|
protected boolean e0;
|
|
protected int f;
|
|
protected boolean f0;
|
|
protected boolean g;
|
|
protected String g0;
|
|
protected boolean h;
|
|
protected String h0;
|
|
protected int i;
|
|
protected String i0;
|
|
protected boolean j;
|
|
protected Boolean j0;
|
|
protected int k;
|
|
protected String k0;
|
|
protected char[][] l;
|
|
protected char[] l0;
|
|
protected int[] m;
|
|
protected int[] n;
|
|
protected String[] o;
|
|
protected String[] p;
|
|
protected String[] q;
|
|
protected int[] r;
|
|
protected int s;
|
|
protected String[] t;
|
|
protected int[] u;
|
|
protected String[] v;
|
|
protected String[] x;
|
|
protected String[] y;
|
|
protected int z;
|
|
|
|
static {
|
|
h(':');
|
|
for (char c = 'A'; c <= 'Z'; c = (char) (c + 1)) {
|
|
h(c);
|
|
}
|
|
h('_');
|
|
for (char c2 = 'a'; c2 <= 'z'; c2 = (char) (c2 + 1)) {
|
|
h(c2);
|
|
}
|
|
for (char c3 = 192; c3 <= 767; c3 = (char) (c3 + 1)) {
|
|
h(c3);
|
|
}
|
|
for (char c4 = 880; c4 <= 893; c4 = (char) (c4 + 1)) {
|
|
h(c4);
|
|
}
|
|
for (char c5 = 895; c5 < 1024; c5 = (char) (c5 + 1)) {
|
|
h(c5);
|
|
}
|
|
g('-');
|
|
g('.');
|
|
for (char c6 = '0'; c6 <= '9'; c6 = (char) (c6 + 1)) {
|
|
g(c6);
|
|
}
|
|
g((char) 183);
|
|
for (char c7 = 768; c7 <= 879; c7 = (char) (c7 + 1)) {
|
|
g(c7);
|
|
}
|
|
}
|
|
|
|
public MXParser() {
|
|
long freeMemory = Runtime.getRuntime().freeMemory();
|
|
int i = UnityActivity.BLOCKLY_TYPE_NONE;
|
|
this.M = new char[freeMemory > 1000000 ? UnityActivity.BLOCKLY_TYPE_NONE : DataDecryptTool.DECRYPT_ALL_FILE];
|
|
this.N = (this.L * this.M.length) / 100;
|
|
this.V = new char[Runtime.getRuntime().freeMemory() <= 1000000 ? 64 : i];
|
|
this.l0 = new char[1];
|
|
}
|
|
|
|
protected static final int c(char[] cArr, int i, int i2) {
|
|
if (i2 == 0) {
|
|
return 0;
|
|
}
|
|
int i3 = (cArr[i] << 7) + cArr[(i + i2) - 1];
|
|
if (i2 > 16) {
|
|
i3 = (i3 << 7) + cArr[(i2 / 4) + i];
|
|
}
|
|
return i2 > 8 ? (i3 << 7) + cArr[i + (i2 / 2)] : i3;
|
|
}
|
|
|
|
protected String a(char[] cArr, int i, int i2) {
|
|
return new String(cArr, i, i2);
|
|
}
|
|
|
|
protected String b(char[] cArr, int i, int i2) {
|
|
return new String(cArr, i, i2).intern();
|
|
}
|
|
|
|
protected boolean c(char c) {
|
|
return c == ' ' || c == '\n' || c == '\r' || c == '\t';
|
|
}
|
|
|
|
protected char[] d(int i) throws XmlPullParserException, IOException {
|
|
if (this.a) {
|
|
char[] cArr = this.M;
|
|
int i2 = this.T;
|
|
this.h0 = a(cArr, i2, this.U - i2);
|
|
for (int i3 = this.D - 1; i3 >= 0; i3--) {
|
|
if (this.h0 == this.E[i3]) {
|
|
if (this.f0) {
|
|
this.g0 = this.G[i3];
|
|
}
|
|
return this.H[i3];
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
char[] cArr2 = this.M;
|
|
int i4 = this.T;
|
|
int c = c(cArr2, i4, this.U - i4);
|
|
for (int i5 = this.D - 1; i5 >= 0; i5--) {
|
|
if (c == this.I[i5]) {
|
|
char[][] cArr3 = this.F;
|
|
if (i == cArr3[i5].length) {
|
|
char[] cArr4 = cArr3[i5];
|
|
for (int i6 = 0; i6 < i; i6++) {
|
|
if (this.M[this.T + i6] != cArr4[i6]) {
|
|
break;
|
|
}
|
|
}
|
|
if (this.f0) {
|
|
this.g0 = this.G[i5];
|
|
}
|
|
return this.H[i5];
|
|
}
|
|
continue;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public void defineEntityReplacementText(String str, String str2) throws XmlPullParserException {
|
|
b();
|
|
this.E[this.D] = a(str.toCharArray(), 0, str.length());
|
|
this.F[this.D] = str.toCharArray();
|
|
String[] strArr = this.G;
|
|
int i = this.D;
|
|
strArr[i] = str2;
|
|
this.H[i] = str2.toCharArray();
|
|
if (!this.a) {
|
|
int[] iArr = this.I;
|
|
int i2 = this.D;
|
|
char[][] cArr = this.F;
|
|
iArr[i2] = c(cArr[i2], 0, cArr[i2].length);
|
|
}
|
|
this.D++;
|
|
}
|
|
|
|
protected char e() throws IOException, XmlPullParserException {
|
|
if (this.S >= this.R) {
|
|
c();
|
|
if (this.h) {
|
|
return (char) 65535;
|
|
}
|
|
}
|
|
char[] cArr = this.M;
|
|
int i = this.S;
|
|
this.S = i + 1;
|
|
char c = cArr[i];
|
|
if (c == '\n') {
|
|
this.e++;
|
|
this.f = 1;
|
|
} else {
|
|
this.f++;
|
|
}
|
|
return c;
|
|
}
|
|
|
|
protected int f() throws XmlPullParserException, IOException {
|
|
char e;
|
|
this.g0 = null;
|
|
this.W = 0;
|
|
this.X = 0;
|
|
this.Y = false;
|
|
this.Q = this.U;
|
|
if (this.b0) {
|
|
this.b0 = false;
|
|
this.k--;
|
|
this.z = this.r[this.k];
|
|
}
|
|
if (this.j) {
|
|
this.j = false;
|
|
this.b0 = true;
|
|
this.i = 3;
|
|
return 3;
|
|
}
|
|
if (this.k <= 0) {
|
|
return this.g ? l() : n();
|
|
}
|
|
if (this.Z) {
|
|
this.Z = false;
|
|
int o = o();
|
|
this.i = o;
|
|
return o;
|
|
}
|
|
if (this.a0) {
|
|
this.a0 = false;
|
|
int j = j();
|
|
this.i = j;
|
|
return j;
|
|
}
|
|
if (this.d0) {
|
|
this.d0 = false;
|
|
e = '<';
|
|
} else if (this.c0) {
|
|
this.c0 = false;
|
|
e = '&';
|
|
} else {
|
|
e = e();
|
|
}
|
|
this.T = this.S - 1;
|
|
boolean z = false;
|
|
boolean z2 = false;
|
|
while (true) {
|
|
if (e == '<') {
|
|
if (z && this.f0) {
|
|
this.d0 = true;
|
|
this.i = 4;
|
|
return 4;
|
|
}
|
|
char e2 = e();
|
|
if (e2 == '/') {
|
|
if (this.f0 || !z) {
|
|
int j2 = j();
|
|
this.i = j2;
|
|
return j2;
|
|
}
|
|
this.a0 = true;
|
|
this.i = 4;
|
|
return 4;
|
|
}
|
|
if (e2 == '!') {
|
|
char e3 = e();
|
|
if (e3 == '-') {
|
|
h();
|
|
if (this.f0) {
|
|
this.i = 9;
|
|
return 9;
|
|
}
|
|
if (this.Y || !z) {
|
|
this.T = this.S;
|
|
e = e();
|
|
}
|
|
z2 = true;
|
|
e = e();
|
|
} else {
|
|
if (e3 != '[') {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("unexpected character in markup ");
|
|
stringBuffer.append(e(e3));
|
|
throw new XmlPullParserException(stringBuffer.toString(), this, null);
|
|
}
|
|
a(z);
|
|
if (this.f0) {
|
|
this.i = 5;
|
|
return 5;
|
|
}
|
|
if (this.U - this.T > 0) {
|
|
if (!this.Y) {
|
|
z = true;
|
|
z2 = true;
|
|
}
|
|
}
|
|
e = e();
|
|
}
|
|
} else {
|
|
if (e2 != '?') {
|
|
if (!b(e2)) {
|
|
StringBuffer stringBuffer2 = new StringBuffer();
|
|
stringBuffer2.append("unexpected character in markup ");
|
|
stringBuffer2.append(e(e2));
|
|
throw new XmlPullParserException(stringBuffer2.toString(), this, null);
|
|
}
|
|
if (this.f0 || !z) {
|
|
int o2 = o();
|
|
this.i = o2;
|
|
return o2;
|
|
}
|
|
this.Z = true;
|
|
this.i = 4;
|
|
return 4;
|
|
}
|
|
m();
|
|
if (this.f0) {
|
|
this.i = 8;
|
|
return 8;
|
|
}
|
|
if (this.Y || !z) {
|
|
this.T = this.S;
|
|
e = e();
|
|
}
|
|
z2 = true;
|
|
e = e();
|
|
}
|
|
} else if (e != '&') {
|
|
if (z2) {
|
|
d();
|
|
z2 = false;
|
|
}
|
|
boolean z3 = (this.f0 && this.c) ? false : true;
|
|
boolean z4 = false;
|
|
boolean z5 = false;
|
|
boolean z6 = false;
|
|
do {
|
|
if (e != ']') {
|
|
if (z4 && e == '>') {
|
|
throw new XmlPullParserException("characters ]]> are not allowed in content", this, null);
|
|
}
|
|
if (z5) {
|
|
z4 = false;
|
|
z5 = false;
|
|
}
|
|
} else if (z5) {
|
|
z4 = true;
|
|
} else {
|
|
z5 = true;
|
|
}
|
|
if (z3) {
|
|
if (e == '\r') {
|
|
this.U = this.S - 1;
|
|
if (!this.Y) {
|
|
if (this.U > this.T) {
|
|
d();
|
|
} else {
|
|
this.Y = true;
|
|
this.X = 0;
|
|
this.W = 0;
|
|
}
|
|
}
|
|
int i = this.X;
|
|
if (i >= this.V.length) {
|
|
c(i);
|
|
}
|
|
char[] cArr = this.V;
|
|
int i2 = this.X;
|
|
this.X = i2 + 1;
|
|
cArr[i2] = '\n';
|
|
z6 = true;
|
|
} else {
|
|
if (e == '\n') {
|
|
if (!z6 && this.Y) {
|
|
int i3 = this.X;
|
|
if (i3 >= this.V.length) {
|
|
c(i3);
|
|
}
|
|
char[] cArr2 = this.V;
|
|
int i4 = this.X;
|
|
this.X = i4 + 1;
|
|
cArr2[i4] = '\n';
|
|
}
|
|
} else if (this.Y) {
|
|
int i5 = this.X;
|
|
if (i5 >= this.V.length) {
|
|
c(i5);
|
|
}
|
|
char[] cArr3 = this.V;
|
|
int i6 = this.X;
|
|
this.X = i6 + 1;
|
|
cArr3[i6] = e;
|
|
}
|
|
z6 = false;
|
|
}
|
|
}
|
|
e = e();
|
|
if (e == '<') {
|
|
break;
|
|
}
|
|
} while (e != '&');
|
|
this.U = this.S - 1;
|
|
z = true;
|
|
} else {
|
|
if (this.f0 && z) {
|
|
this.c0 = true;
|
|
this.i = 4;
|
|
return 4;
|
|
}
|
|
int i7 = this.T;
|
|
int i8 = this.P;
|
|
int i9 = i7 + i8;
|
|
int i10 = this.U + i8;
|
|
char[] k = k();
|
|
if (this.f0) {
|
|
this.i = 6;
|
|
return 6;
|
|
}
|
|
if (k == null) {
|
|
if (this.h0 == null) {
|
|
char[] cArr4 = this.M;
|
|
int i11 = this.T;
|
|
this.h0 = a(cArr4, i11, this.U - i11);
|
|
}
|
|
StringBuffer stringBuffer3 = new StringBuffer();
|
|
stringBuffer3.append("could not resolve entity named '");
|
|
stringBuffer3.append(a(this.h0));
|
|
stringBuffer3.append("'");
|
|
throw new XmlPullParserException(stringBuffer3.toString(), this, null);
|
|
}
|
|
int i12 = this.P;
|
|
this.T = i9 - i12;
|
|
this.U = i10 - i12;
|
|
if (!this.Y) {
|
|
if (z) {
|
|
d();
|
|
z2 = false;
|
|
} else {
|
|
this.Y = true;
|
|
this.X = 0;
|
|
this.W = 0;
|
|
}
|
|
}
|
|
for (char c : k) {
|
|
int i13 = this.X;
|
|
if (i13 >= this.V.length) {
|
|
c(i13);
|
|
}
|
|
char[] cArr5 = this.V;
|
|
int i14 = this.X;
|
|
this.X = i14 + 1;
|
|
cArr5[i14] = c;
|
|
}
|
|
}
|
|
z = true;
|
|
e = e();
|
|
}
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:24:0x004f, code lost:
|
|
|
|
if (r7 != 'm') goto L27;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:25:0x0051, code lost:
|
|
|
|
r10 = false;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:28:0x0057, code lost:
|
|
|
|
if (r7 != 'l') goto L27;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:32:0x005f, code lost:
|
|
|
|
if (r7 != 'n') goto L27;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:35:0x0066, code lost:
|
|
|
|
if (r7 != 's') goto L27;
|
|
*/
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
protected char g() throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
|
|
/*
|
|
Method dump skipped, instructions count: 884
|
|
To view this dump change 'Code comments level' option to 'DEBUG'
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.g():char");
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public int getAttributeCount() {
|
|
if (this.i != 2) {
|
|
return -1;
|
|
}
|
|
return this.s;
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getAttributeName(int i) {
|
|
if (this.i != 2) {
|
|
throw new IndexOutOfBoundsException("only START_TAG can have attributes");
|
|
}
|
|
if (i >= 0 && i < this.s) {
|
|
return this.t[i];
|
|
}
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("attribute position must be 0..");
|
|
stringBuffer.append(this.s - 1);
|
|
stringBuffer.append(" and not ");
|
|
stringBuffer.append(i);
|
|
throw new IndexOutOfBoundsException(stringBuffer.toString());
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getAttributeNamespace(int i) {
|
|
if (this.i != 2) {
|
|
throw new IndexOutOfBoundsException("only START_TAG can have attributes");
|
|
}
|
|
if (!this.b) {
|
|
return "";
|
|
}
|
|
if (i >= 0 && i < this.s) {
|
|
return this.x[i];
|
|
}
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("attribute position must be 0..");
|
|
stringBuffer.append(this.s - 1);
|
|
stringBuffer.append(" and not ");
|
|
stringBuffer.append(i);
|
|
throw new IndexOutOfBoundsException(stringBuffer.toString());
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getAttributePrefix(int i) {
|
|
if (this.i != 2) {
|
|
throw new IndexOutOfBoundsException("only START_TAG can have attributes");
|
|
}
|
|
if (!this.b) {
|
|
return null;
|
|
}
|
|
if (i >= 0 && i < this.s) {
|
|
return this.v[i];
|
|
}
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("attribute position must be 0..");
|
|
stringBuffer.append(this.s - 1);
|
|
stringBuffer.append(" and not ");
|
|
stringBuffer.append(i);
|
|
throw new IndexOutOfBoundsException(stringBuffer.toString());
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getAttributeType(int i) {
|
|
if (this.i != 2) {
|
|
throw new IndexOutOfBoundsException("only START_TAG can have attributes");
|
|
}
|
|
if (i >= 0 && i < this.s) {
|
|
return "CDATA";
|
|
}
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("attribute position must be 0..");
|
|
stringBuffer.append(this.s - 1);
|
|
stringBuffer.append(" and not ");
|
|
stringBuffer.append(i);
|
|
throw new IndexOutOfBoundsException(stringBuffer.toString());
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getAttributeValue(int i) {
|
|
if (this.i != 2) {
|
|
throw new IndexOutOfBoundsException("only START_TAG can have attributes");
|
|
}
|
|
if (i >= 0 && i < this.s) {
|
|
return this.y[i];
|
|
}
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("attribute position must be 0..");
|
|
stringBuffer.append(this.s - 1);
|
|
stringBuffer.append(" and not ");
|
|
stringBuffer.append(i);
|
|
throw new IndexOutOfBoundsException(stringBuffer.toString());
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public int getColumnNumber() {
|
|
return this.f;
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public int getDepth() {
|
|
return this.k;
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public int getEventType() throws XmlPullParserException {
|
|
return this.i;
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public boolean getFeature(String str) {
|
|
if (str == null) {
|
|
throw new IllegalArgumentException("feature name should not be null");
|
|
}
|
|
if (XmlPullParser.FEATURE_PROCESS_NAMESPACES.equals(str)) {
|
|
return this.b;
|
|
}
|
|
if ("http://xmlpull.org/v1/doc/features.html#names-interned".equals(str) || XmlPullParser.FEATURE_PROCESS_DOCDECL.equals(str) || !"http://xmlpull.org/v1/doc/features.html#xml-roundtrip".equals(str)) {
|
|
return false;
|
|
}
|
|
return this.c;
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getInputEncoding() {
|
|
return this.K;
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public int getLineNumber() {
|
|
return this.e;
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getName() {
|
|
int i = this.i;
|
|
if (i == 2) {
|
|
return this.o[this.k];
|
|
}
|
|
if (i == 3) {
|
|
return this.o[this.k];
|
|
}
|
|
if (i != 6) {
|
|
return null;
|
|
}
|
|
if (this.h0 == null) {
|
|
char[] cArr = this.M;
|
|
int i2 = this.T;
|
|
this.h0 = a(cArr, i2, this.U - i2);
|
|
}
|
|
return this.h0;
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getNamespace(String str) {
|
|
if (str == null) {
|
|
for (int i = this.z - 1; i >= 0; i--) {
|
|
if (this.A[i] == null) {
|
|
return this.C[i];
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
for (int i2 = this.z - 1; i2 >= 0; i2--) {
|
|
if (str.equals(this.A[i2])) {
|
|
return this.C[i2];
|
|
}
|
|
}
|
|
if ("xml".equals(str)) {
|
|
return "http://www.w3.org/XML/1998/namespace";
|
|
}
|
|
if ("xmlns".equals(str)) {
|
|
return "http://www.w3.org/2000/xmlns/";
|
|
}
|
|
return null;
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public int getNamespaceCount(int i) throws XmlPullParserException {
|
|
if (!this.b || i == 0) {
|
|
return 0;
|
|
}
|
|
if (i >= 0 && i <= this.k) {
|
|
return this.r[i];
|
|
}
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("allowed namespace depth 0..");
|
|
stringBuffer.append(this.k);
|
|
stringBuffer.append(" not ");
|
|
stringBuffer.append(i);
|
|
throw new IllegalArgumentException(stringBuffer.toString());
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getNamespacePrefix(int i) throws XmlPullParserException {
|
|
if (i < this.z) {
|
|
return this.A[i];
|
|
}
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("position ");
|
|
stringBuffer.append(i);
|
|
stringBuffer.append(" exceeded number of available namespaces ");
|
|
stringBuffer.append(this.z);
|
|
throw new XmlPullParserException(stringBuffer.toString());
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getNamespaceUri(int i) throws XmlPullParserException {
|
|
if (i < this.z) {
|
|
return this.C[i];
|
|
}
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("position ");
|
|
stringBuffer.append(i);
|
|
stringBuffer.append(" exceeded number of available namespaces ");
|
|
stringBuffer.append(this.z);
|
|
throw new XmlPullParserException(stringBuffer.toString());
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getPositionDescription() {
|
|
String str;
|
|
int i = this.T;
|
|
int i2 = this.S;
|
|
if (i <= i2) {
|
|
int a = a(0, this.M, i, i2);
|
|
int i3 = this.S;
|
|
r3 = a < i3 ? new String(this.M, a, i3 - a) : null;
|
|
if (this.P > 0 || a > 0) {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("...");
|
|
stringBuffer.append(r3);
|
|
r3 = stringBuffer.toString();
|
|
}
|
|
}
|
|
StringBuffer stringBuffer2 = new StringBuffer();
|
|
stringBuffer2.append(" ");
|
|
stringBuffer2.append(XmlPullParser.TYPES[this.i]);
|
|
if (r3 != null) {
|
|
StringBuffer stringBuffer3 = new StringBuffer();
|
|
stringBuffer3.append(" seen ");
|
|
stringBuffer3.append(a(r3));
|
|
stringBuffer3.append("...");
|
|
str = stringBuffer3.toString();
|
|
} else {
|
|
str = "";
|
|
}
|
|
stringBuffer2.append(str);
|
|
stringBuffer2.append(" ");
|
|
String str2 = this.d;
|
|
if (str2 == null) {
|
|
str2 = "";
|
|
}
|
|
stringBuffer2.append(str2);
|
|
stringBuffer2.append("@");
|
|
stringBuffer2.append(getLineNumber());
|
|
stringBuffer2.append(":");
|
|
stringBuffer2.append(getColumnNumber());
|
|
return stringBuffer2.toString();
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getPrefix() {
|
|
int i = this.i;
|
|
if (i == 2) {
|
|
return this.p[this.k];
|
|
}
|
|
if (i == 3) {
|
|
return this.p[this.k];
|
|
}
|
|
return null;
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public Object getProperty(String str) {
|
|
if (str == null) {
|
|
throw new IllegalArgumentException("property name should not be null");
|
|
}
|
|
if ("http://xmlpull.org/v1/doc/properties.html#xmldecl-version".equals(str)) {
|
|
return this.i0;
|
|
}
|
|
if ("http://xmlpull.org/v1/doc/properties.html#xmldecl-standalone".equals(str)) {
|
|
return this.j0;
|
|
}
|
|
if ("http://xmlpull.org/v1/doc/properties.html#xmldecl-content".equals(str)) {
|
|
return this.k0;
|
|
}
|
|
if ("http://xmlpull.org/v1/doc/properties.html#location".equals(str)) {
|
|
return this.d;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getText() {
|
|
int i = this.i;
|
|
if (i == 0 || i == 1) {
|
|
return null;
|
|
}
|
|
if (i == 6) {
|
|
return this.g0;
|
|
}
|
|
if (this.g0 == null) {
|
|
if (!this.Y || i == 2 || i == 3) {
|
|
char[] cArr = this.M;
|
|
int i2 = this.T;
|
|
this.g0 = new String(cArr, i2, this.U - i2);
|
|
} else {
|
|
char[] cArr2 = this.V;
|
|
int i3 = this.W;
|
|
this.g0 = new String(cArr2, i3, this.X - i3);
|
|
}
|
|
}
|
|
return this.g0;
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public char[] getTextCharacters(int[] iArr) {
|
|
int i = this.i;
|
|
if (i == 4) {
|
|
if (this.Y) {
|
|
int i2 = this.W;
|
|
iArr[0] = i2;
|
|
iArr[1] = this.X - i2;
|
|
return this.V;
|
|
}
|
|
int i3 = this.T;
|
|
iArr[0] = i3;
|
|
iArr[1] = this.U - i3;
|
|
return this.M;
|
|
}
|
|
if (i == 2 || i == 3 || i == 5 || i == 9 || i == 6 || i == 8 || i == 7 || i == 10) {
|
|
int i4 = this.T;
|
|
iArr[0] = i4;
|
|
iArr[1] = this.U - i4;
|
|
return this.M;
|
|
}
|
|
if (i == 0 || i == 1) {
|
|
iArr[1] = -1;
|
|
iArr[0] = -1;
|
|
return null;
|
|
}
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("unknown text eventType: ");
|
|
stringBuffer.append(this.i);
|
|
throw new IllegalArgumentException(stringBuffer.toString());
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:20:0x0030, code lost:
|
|
|
|
r4 = new java.lang.StringBuffer();
|
|
r4.append("in comment after two dashes (--) next character must be > not ");
|
|
r4.append(e(r10));
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:21:0x004a, code lost:
|
|
|
|
throw new org.xmlpull.v1.XmlPullParserException(r4.toString(), r13, null);
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:24:0x004d, code lost:
|
|
|
|
if (r8 != false) goto L25;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:25:0x004f, code lost:
|
|
|
|
r8 = true;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:43:0x00a8, code lost:
|
|
|
|
if (r10 != '\n') goto L72;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:46:0x00ca, code lost:
|
|
|
|
if (r13.Y == false) goto L79;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:49:0x00d1, code lost:
|
|
|
|
if (r13.X < r13.V.length) goto L62;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:50:0x00d3, code lost:
|
|
|
|
c(r13.X);
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:51:0x00d8, code lost:
|
|
|
|
r9 = r13.V;
|
|
r11 = r13.X;
|
|
r13.X = r11 + 1;
|
|
r9[r11] = r10;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:56:0x00aa, code lost:
|
|
|
|
if (r9 != false) goto L81;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:59:0x00ae, code lost:
|
|
|
|
if (r13.Y == false) goto L82;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:62:0x00b5, code lost:
|
|
|
|
if (r13.X < r13.V.length) goto L56;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:63:0x00b7, code lost:
|
|
|
|
c(r13.X);
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:64:0x00bc, code lost:
|
|
|
|
r9 = r13.V;
|
|
r10 = r13.X;
|
|
r13.X = r10 + 1;
|
|
r9[r10] = '\n';
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:69:0x0051, code lost:
|
|
|
|
r7 = true;
|
|
*/
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
protected void h() throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
|
|
/*
|
|
Method dump skipped, instructions count: 273
|
|
To view this dump change 'Code comments level' option to 'DEBUG'
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.h():void");
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:50:0x0099, code lost:
|
|
|
|
if (r5 != '\n') goto L72;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:53:0x00b8, code lost:
|
|
|
|
if (r8.Y == false) goto L79;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:55:0x00ba, code lost:
|
|
|
|
r2 = r8.X;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:56:0x00bf, code lost:
|
|
|
|
if (r2 < r8.V.length) goto L59;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:57:0x00c1, code lost:
|
|
|
|
c(r2);
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:58:0x00c4, code lost:
|
|
|
|
r2 = r8.V;
|
|
r6 = r8.X;
|
|
r8.X = r6 + 1;
|
|
r2[r6] = r5;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:63:0x009b, code lost:
|
|
|
|
if (r2 != false) goto L81;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:66:0x009f, code lost:
|
|
|
|
if (r8.Y == false) goto L82;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:68:0x00a1, code lost:
|
|
|
|
r2 = r8.X;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:69:0x00a6, code lost:
|
|
|
|
if (r2 < r8.V.length) goto L53;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:70:0x00a8, code lost:
|
|
|
|
c(r2);
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:71:0x00ab, code lost:
|
|
|
|
r2 = r8.V;
|
|
r5 = r8.X;
|
|
r8.X = r5 + 1;
|
|
r2[r5] = '\n';
|
|
*/
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
protected void i() throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
|
|
/*
|
|
Method dump skipped, instructions count: 244
|
|
To view this dump change 'Code comments level' option to 'DEBUG'
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.i():void");
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public boolean isAttributeDefault(int i) {
|
|
if (this.i != 2) {
|
|
throw new IndexOutOfBoundsException("only START_TAG can have attributes");
|
|
}
|
|
if (i >= 0 && i < this.s) {
|
|
return false;
|
|
}
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("attribute position must be 0..");
|
|
stringBuffer.append(this.s - 1);
|
|
stringBuffer.append(" and not ");
|
|
stringBuffer.append(i);
|
|
throw new IndexOutOfBoundsException(stringBuffer.toString());
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public boolean isEmptyElementTag() throws XmlPullParserException {
|
|
if (this.i == 2) {
|
|
return this.j;
|
|
}
|
|
throw new XmlPullParserException("parser must be on START_TAG to check for empty element", this, null);
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public boolean isWhitespace() throws XmlPullParserException {
|
|
int i = this.i;
|
|
if (i != 4 && i != 5) {
|
|
if (i == 7) {
|
|
return true;
|
|
}
|
|
throw new XmlPullParserException("no content available to check for white spaces");
|
|
}
|
|
if (this.Y) {
|
|
for (int i2 = this.W; i2 < this.X; i2++) {
|
|
if (!c(this.V[i2])) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
for (int i3 = this.T; i3 < this.U; i3++) {
|
|
if (!c(this.M[i3])) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public int j() throws XmlPullParserException, IOException {
|
|
char e;
|
|
char e2 = e();
|
|
if (!b(e2)) {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("expected name start and not ");
|
|
stringBuffer.append(e(e2));
|
|
throw new XmlPullParserException(stringBuffer.toString(), this, null);
|
|
}
|
|
int i = this.S;
|
|
this.T = i - 3;
|
|
int i2 = this.P + (i - 1);
|
|
do {
|
|
e = e();
|
|
} while (a(e));
|
|
int i3 = i2 - this.P;
|
|
int i4 = (this.S - 1) - i3;
|
|
char[][] cArr = this.l;
|
|
int i5 = this.k;
|
|
char[] cArr2 = cArr[i5];
|
|
int[] iArr = this.m;
|
|
if (iArr[i5] != i4) {
|
|
String str = new String(cArr2, 0, iArr[i5]);
|
|
String str2 = new String(this.M, i3, i4);
|
|
StringBuffer stringBuffer2 = new StringBuffer();
|
|
stringBuffer2.append("end tag name </");
|
|
stringBuffer2.append(str2);
|
|
stringBuffer2.append("> must match start tag name <");
|
|
stringBuffer2.append(str);
|
|
stringBuffer2.append(">");
|
|
stringBuffer2.append(" from line ");
|
|
stringBuffer2.append(this.n[this.k]);
|
|
throw new XmlPullParserException(stringBuffer2.toString(), this, null);
|
|
}
|
|
int i6 = i3;
|
|
int i7 = 0;
|
|
while (i7 < i4) {
|
|
int i8 = i6 + 1;
|
|
if (this.M[i6] != cArr2[i7]) {
|
|
String str3 = new String(cArr2, 0, i4);
|
|
String str4 = new String(this.M, (i8 - i7) - 1, i4);
|
|
StringBuffer stringBuffer3 = new StringBuffer();
|
|
stringBuffer3.append("end tag name </");
|
|
stringBuffer3.append(str4);
|
|
stringBuffer3.append("> must be the same as start tag <");
|
|
stringBuffer3.append(str3);
|
|
stringBuffer3.append(">");
|
|
stringBuffer3.append(" from line ");
|
|
stringBuffer3.append(this.n[this.k]);
|
|
throw new XmlPullParserException(stringBuffer3.toString(), this, null);
|
|
}
|
|
i7++;
|
|
i6 = i8;
|
|
}
|
|
while (c(e)) {
|
|
e = e();
|
|
}
|
|
if (e == '>') {
|
|
this.U = this.S;
|
|
this.b0 = true;
|
|
this.i = 3;
|
|
return 3;
|
|
}
|
|
StringBuffer stringBuffer4 = new StringBuffer();
|
|
stringBuffer4.append("expected > to finish end tag not ");
|
|
stringBuffer4.append(e(e));
|
|
stringBuffer4.append(" from line ");
|
|
stringBuffer4.append(this.n[this.k]);
|
|
throw new XmlPullParserException(stringBuffer4.toString(), this, null);
|
|
}
|
|
|
|
protected char[] k() throws XmlPullParserException, IOException {
|
|
char e;
|
|
char c;
|
|
char e2;
|
|
int i;
|
|
int i2;
|
|
this.h0 = null;
|
|
this.T = this.S;
|
|
char e3 = e();
|
|
if (e3 == '#') {
|
|
char e4 = e();
|
|
if (e4 == 'x') {
|
|
c = 0;
|
|
while (true) {
|
|
e2 = e();
|
|
if (e2 >= '0' && e2 <= '9') {
|
|
i = c * 16;
|
|
i2 = e2 - '0';
|
|
} else if (e2 >= 'a' && e2 <= 'f') {
|
|
i = c * 16;
|
|
i2 = e2 - 'W';
|
|
} else {
|
|
if (e2 < 'A' || e2 > 'F') {
|
|
break;
|
|
}
|
|
i = c * 16;
|
|
i2 = e2 - '7';
|
|
}
|
|
c = (char) (i + i2);
|
|
}
|
|
if (e2 != ';') {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("character reference (with hex value) may not contain ");
|
|
stringBuffer.append(e(e2));
|
|
throw new XmlPullParserException(stringBuffer.toString(), this, null);
|
|
}
|
|
} else {
|
|
char c2 = 0;
|
|
while (e4 >= '0' && e4 <= '9') {
|
|
c2 = (char) ((c2 * '\n') + (e4 - '0'));
|
|
e4 = e();
|
|
}
|
|
if (e4 != ';') {
|
|
StringBuffer stringBuffer2 = new StringBuffer();
|
|
stringBuffer2.append("character reference (with decimal value) may not contain ");
|
|
stringBuffer2.append(e(e4));
|
|
throw new XmlPullParserException(stringBuffer2.toString(), this, null);
|
|
}
|
|
c = c2;
|
|
}
|
|
this.U = this.S - 1;
|
|
char[] cArr = this.l0;
|
|
cArr[0] = c;
|
|
if (this.f0) {
|
|
this.g0 = a(cArr, 0, 1);
|
|
}
|
|
return this.l0;
|
|
}
|
|
if (!b(e3)) {
|
|
StringBuffer stringBuffer3 = new StringBuffer();
|
|
stringBuffer3.append("entity reference names can not start with character '");
|
|
stringBuffer3.append(e(e3));
|
|
stringBuffer3.append("'");
|
|
throw new XmlPullParserException(stringBuffer3.toString(), this, null);
|
|
}
|
|
do {
|
|
e = e();
|
|
if (e == ';') {
|
|
this.U = this.S - 1;
|
|
int i3 = this.U;
|
|
int i4 = this.T;
|
|
int i5 = i3 - i4;
|
|
if (i5 == 2) {
|
|
char[] cArr2 = this.M;
|
|
if (cArr2[i4] == 'l' && cArr2[i4 + 1] == 't') {
|
|
if (this.f0) {
|
|
this.g0 = "<";
|
|
}
|
|
char[] cArr3 = this.l0;
|
|
cArr3[0] = '<';
|
|
return cArr3;
|
|
}
|
|
}
|
|
if (i5 == 3) {
|
|
char[] cArr4 = this.M;
|
|
int i6 = this.T;
|
|
if (cArr4[i6] == 'a' && cArr4[i6 + 1] == 'm' && cArr4[i6 + 2] == 'p') {
|
|
if (this.f0) {
|
|
this.g0 = "&";
|
|
}
|
|
char[] cArr5 = this.l0;
|
|
cArr5[0] = '&';
|
|
return cArr5;
|
|
}
|
|
}
|
|
if (i5 == 2) {
|
|
char[] cArr6 = this.M;
|
|
int i7 = this.T;
|
|
if (cArr6[i7] == 'g' && cArr6[i7 + 1] == 't') {
|
|
if (this.f0) {
|
|
this.g0 = ">";
|
|
}
|
|
char[] cArr7 = this.l0;
|
|
cArr7[0] = '>';
|
|
return cArr7;
|
|
}
|
|
}
|
|
if (i5 == 4) {
|
|
char[] cArr8 = this.M;
|
|
int i8 = this.T;
|
|
if (cArr8[i8] == 'a' && cArr8[i8 + 1] == 'p' && cArr8[i8 + 2] == 'o' && cArr8[i8 + 3] == 's') {
|
|
if (this.f0) {
|
|
this.g0 = "'";
|
|
}
|
|
char[] cArr9 = this.l0;
|
|
cArr9[0] = '\'';
|
|
return cArr9;
|
|
}
|
|
}
|
|
if (i5 == 4) {
|
|
char[] cArr10 = this.M;
|
|
int i9 = this.T;
|
|
if (cArr10[i9] == 'q' && cArr10[i9 + 1] == 'u' && cArr10[i9 + 2] == 'o' && cArr10[i9 + 3] == 't') {
|
|
if (this.f0) {
|
|
this.g0 = "\"";
|
|
}
|
|
char[] cArr11 = this.l0;
|
|
cArr11[0] = '\"';
|
|
return cArr11;
|
|
}
|
|
}
|
|
char[] d = d(i5);
|
|
if (d != null) {
|
|
return d;
|
|
}
|
|
if (this.f0) {
|
|
this.g0 = null;
|
|
}
|
|
return null;
|
|
}
|
|
} while (a(e));
|
|
StringBuffer stringBuffer4 = new StringBuffer();
|
|
stringBuffer4.append("entity reference name can not contain character ");
|
|
stringBuffer4.append(e(e));
|
|
stringBuffer4.append("'");
|
|
throw new XmlPullParserException(stringBuffer4.toString(), this, null);
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:36:0x01b3 */
|
|
/* JADX WARN: Removed duplicated region for block: B:43:0x01c3 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
protected int l() throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
|
|
/*
|
|
Method dump skipped, instructions count: 467
|
|
To view this dump change 'Code comments level' option to 'DEBUG'
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.l():int");
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:81:0x0093, code lost:
|
|
|
|
if (r0 > 3) goto L58;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:83:0x0099, code lost:
|
|
|
|
if (r16.M[r0] == 'x') goto L53;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:85:0x009f, code lost:
|
|
|
|
if (r16.M[r15] == 'm') goto L53;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:87:0x00a5, code lost:
|
|
|
|
if (r16.M[r11] != 'l') goto L51;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:90:0x00b0, code lost:
|
|
|
|
throw new org.xmlpull.v1.XmlPullParserException("XMLDecl must have xml name in lowercase", r16, null);
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:91:0x00b1, code lost:
|
|
|
|
d(r7);
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:92:0x00b6, code lost:
|
|
|
|
if (r16.f0 == false) goto L56;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:93:0x00b8, code lost:
|
|
|
|
r16.U = r16.S - 2;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:94:0x00be, code lost:
|
|
|
|
r0 = (r0 - r16.P) + 3;
|
|
r16.k0 = a(r16.M, r0, (r16.S - 2) - r0);
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:95:0x00d0, code lost:
|
|
|
|
return false;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:97:0x00d9, code lost:
|
|
|
|
throw new org.xmlpull.v1.XmlPullParserException("processing instruction can not have PITarget with reserveld xml name", r16, null);
|
|
*/
|
|
/* JADX WARN: Removed duplicated region for block: B:27:0x0109 A[Catch: EOFException -> 0x016a, TryCatch #0 {EOFException -> 0x016a, blocks: (B:10:0x001f, B:19:0x00e3, B:21:0x00e7, B:23:0x00f3, B:24:0x00f7, B:25:0x0102, B:27:0x0109, B:28:0x010e, B:30:0x0159, B:35:0x0120, B:37:0x0124, B:39:0x012b, B:40:0x0130, B:43:0x013c, B:45:0x0140, B:47:0x0147, B:48:0x014c, B:64:0x004e, B:66:0x0054, B:68:0x005f, B:70:0x0067, B:72:0x006f, B:74:0x0079, B:76:0x0081, B:78:0x008b, B:82:0x0095, B:84:0x009b, B:86:0x00a1, B:89:0x00a8, B:90:0x00b0, B:91:0x00b1, B:93:0x00b8, B:94:0x00be, B:96:0x00d1, B:97:0x00d9, B:99:0x0161, B:100:0x0169), top: B:9:0x001f }] */
|
|
/* JADX WARN: Type inference failed for: r6v0 */
|
|
/* JADX WARN: Type inference failed for: r6v2, types: [boolean, int] */
|
|
/* JADX WARN: Type inference failed for: r6v8 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
protected boolean m() throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
|
|
/*
|
|
Method dump skipped, instructions count: 399
|
|
To view this dump change 'Code comments level' option to 'DEBUG'
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.m():boolean");
|
|
}
|
|
|
|
protected int n() throws XmlPullParserException, IOException {
|
|
char e = this.d0 ? this.M[this.S - 1] : e();
|
|
if (this.i == 0) {
|
|
if (e == 65534) {
|
|
throw new XmlPullParserException("first character in input was UNICODE noncharacter (0xFFFE)- input requires int swapping", this, null);
|
|
}
|
|
if (e == 65279) {
|
|
e = e();
|
|
}
|
|
}
|
|
this.d0 = false;
|
|
this.T = this.S - 1;
|
|
boolean z = this.f0 && !this.c;
|
|
boolean z2 = false;
|
|
boolean z3 = false;
|
|
while (true) {
|
|
if (e == '<') {
|
|
if (z2 && this.f0) {
|
|
this.U = this.S - 1;
|
|
this.d0 = true;
|
|
this.i = 7;
|
|
return 7;
|
|
}
|
|
char e2 = e();
|
|
if (e2 == '?') {
|
|
if (!m()) {
|
|
this.T = this.S;
|
|
z2 = false;
|
|
} else if (this.f0) {
|
|
this.i = 8;
|
|
return 8;
|
|
}
|
|
} else {
|
|
if (e2 != '!') {
|
|
if (e2 == '/') {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("expected start tag name and not ");
|
|
stringBuffer.append(e(e2));
|
|
throw new XmlPullParserException(stringBuffer.toString(), this, null);
|
|
}
|
|
if (b(e2)) {
|
|
this.g = true;
|
|
return o();
|
|
}
|
|
StringBuffer stringBuffer2 = new StringBuffer();
|
|
stringBuffer2.append("expected start tag name and not ");
|
|
stringBuffer2.append(e(e2));
|
|
throw new XmlPullParserException(stringBuffer2.toString(), this, null);
|
|
}
|
|
char e3 = e();
|
|
if (e3 == 'D') {
|
|
if (this.e0) {
|
|
throw new XmlPullParserException("only one docdecl allowed in XML document", this, null);
|
|
}
|
|
this.e0 = true;
|
|
i();
|
|
if (this.f0) {
|
|
this.i = 10;
|
|
return 10;
|
|
}
|
|
} else {
|
|
if (e3 != '-') {
|
|
StringBuffer stringBuffer3 = new StringBuffer();
|
|
stringBuffer3.append("unexpected markup <!");
|
|
stringBuffer3.append(e(e3));
|
|
throw new XmlPullParserException(stringBuffer3.toString(), this, null);
|
|
}
|
|
h();
|
|
if (this.f0) {
|
|
this.i = 9;
|
|
return 9;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
if (!c(e)) {
|
|
StringBuffer stringBuffer4 = new StringBuffer();
|
|
stringBuffer4.append("only whitespace content allowed before start tag and not ");
|
|
stringBuffer4.append(e(e));
|
|
throw new XmlPullParserException(stringBuffer4.toString(), this, null);
|
|
}
|
|
if (!z) {
|
|
z2 = true;
|
|
} else if (e == '\r') {
|
|
if (!this.Y) {
|
|
this.U = this.S - 1;
|
|
if (this.U > this.T) {
|
|
d();
|
|
} else {
|
|
this.Y = true;
|
|
this.X = 0;
|
|
this.W = 0;
|
|
}
|
|
}
|
|
int i = this.X;
|
|
if (i >= this.V.length) {
|
|
c(i);
|
|
}
|
|
char[] cArr = this.V;
|
|
int i2 = this.X;
|
|
this.X = i2 + 1;
|
|
cArr[i2] = '\n';
|
|
z2 = true;
|
|
z3 = true;
|
|
} else {
|
|
if (e == '\n') {
|
|
if (!z3 && this.Y) {
|
|
int i3 = this.X;
|
|
if (i3 >= this.V.length) {
|
|
c(i3);
|
|
}
|
|
char[] cArr2 = this.V;
|
|
int i4 = this.X;
|
|
this.X = i4 + 1;
|
|
cArr2[i4] = '\n';
|
|
}
|
|
} else if (this.Y) {
|
|
int i5 = this.X;
|
|
if (i5 >= this.V.length) {
|
|
c(i5);
|
|
}
|
|
char[] cArr3 = this.V;
|
|
int i6 = this.X;
|
|
this.X = i6 + 1;
|
|
cArr3[i6] = e;
|
|
}
|
|
z2 = true;
|
|
z3 = false;
|
|
}
|
|
}
|
|
e = e();
|
|
}
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public int next() throws XmlPullParserException, IOException {
|
|
this.f0 = false;
|
|
return f();
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public int nextTag() throws XmlPullParserException, IOException {
|
|
next();
|
|
if (this.i == 4 && isWhitespace()) {
|
|
next();
|
|
}
|
|
int i = this.i;
|
|
if (i == 2 || i == 3) {
|
|
return this.i;
|
|
}
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("expected START_TAG or END_TAG not ");
|
|
stringBuffer.append(XmlPullParser.TYPES[getEventType()]);
|
|
throw new XmlPullParserException(stringBuffer.toString(), this, null);
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String nextText() throws XmlPullParserException, IOException {
|
|
if (getEventType() != 2) {
|
|
throw new XmlPullParserException("parser must be on START_TAG to read next text", this, null);
|
|
}
|
|
int next = next();
|
|
if (next != 4) {
|
|
if (next == 3) {
|
|
return "";
|
|
}
|
|
throw new XmlPullParserException("parser must be on START_TAG or TEXT to read text", this, null);
|
|
}
|
|
String text = getText();
|
|
if (next() == 3) {
|
|
return text;
|
|
}
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("TEXT must be immediately followed by END_TAG and not ");
|
|
stringBuffer.append(XmlPullParser.TYPES[getEventType()]);
|
|
throw new XmlPullParserException(stringBuffer.toString(), this, null);
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public int nextToken() throws XmlPullParserException, IOException {
|
|
this.f0 = true;
|
|
return f();
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:115:0x01e5 A[LOOP:5: B:115:0x01e5->B:138:0x0239, LOOP_START, PHI: r1
|
|
0x01e5: PHI (r1v1 int) = (r1v0 int), (r1v2 int) binds: [B:56:0x00ea, B:138:0x0239] A[DONT_GENERATE, DONT_INLINE]] */
|
|
/* JADX WARN: Removed duplicated region for block: B:145:0x00ca A[SYNTHETIC] */
|
|
/* JADX WARN: Removed duplicated region for block: B:37:0x00cf A[SYNTHETIC] */
|
|
/* JADX WARN: Removed duplicated region for block: B:57:0x00ec */
|
|
/* JADX WARN: Removed duplicated region for block: B:92:0x018c */
|
|
/* JADX WARN: Removed duplicated region for block: B:95:0x01ac */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
public int o() throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
|
|
/*
|
|
Method dump skipped, instructions count: 688
|
|
To view this dump change 'Code comments level' option to 'DEBUG'
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.o():int");
|
|
}
|
|
|
|
protected void p() {
|
|
this.d = null;
|
|
this.e = 1;
|
|
this.f = 0;
|
|
this.g = false;
|
|
this.h = false;
|
|
this.i = 0;
|
|
this.j = false;
|
|
this.k = 0;
|
|
this.s = 0;
|
|
this.z = 0;
|
|
this.D = 0;
|
|
this.J = null;
|
|
this.K = null;
|
|
this.O = false;
|
|
this.P = 0;
|
|
this.Q = 0;
|
|
this.R = 0;
|
|
this.U = 0;
|
|
this.T = 0;
|
|
this.S = 0;
|
|
this.W = 0;
|
|
this.X = 0;
|
|
this.Y = false;
|
|
this.Z = false;
|
|
this.a0 = false;
|
|
this.b0 = false;
|
|
this.c0 = false;
|
|
this.d0 = false;
|
|
this.e0 = false;
|
|
this.i0 = null;
|
|
this.j0 = null;
|
|
this.k0 = null;
|
|
q();
|
|
}
|
|
|
|
protected void q() {
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public void require(int i, String str, String str2) throws XmlPullParserException, IOException {
|
|
String str3;
|
|
String str4;
|
|
String str5;
|
|
String str6;
|
|
if (!this.b && str != null) {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("processing namespaces must be enabled on parser (or factory) to have possible namespaces declared on elements");
|
|
stringBuffer.append(" (position:");
|
|
stringBuffer.append(getPositionDescription());
|
|
stringBuffer.append(")");
|
|
throw new XmlPullParserException(stringBuffer.toString());
|
|
}
|
|
if (i == getEventType() && ((str == null || str.equals(getNamespace())) && (str2 == null || str2.equals(getName())))) {
|
|
return;
|
|
}
|
|
StringBuffer stringBuffer2 = new StringBuffer();
|
|
stringBuffer2.append("expected event ");
|
|
stringBuffer2.append(XmlPullParser.TYPES[i]);
|
|
String str7 = "";
|
|
if (str2 != null) {
|
|
StringBuffer stringBuffer3 = new StringBuffer();
|
|
stringBuffer3.append(" with name '");
|
|
stringBuffer3.append(str2);
|
|
stringBuffer3.append("'");
|
|
str3 = stringBuffer3.toString();
|
|
} else {
|
|
str3 = "";
|
|
}
|
|
stringBuffer2.append(str3);
|
|
stringBuffer2.append((str == null || str2 == null) ? "" : " and");
|
|
if (str != null) {
|
|
StringBuffer stringBuffer4 = new StringBuffer();
|
|
stringBuffer4.append(" with namespace '");
|
|
stringBuffer4.append(str);
|
|
stringBuffer4.append("'");
|
|
str4 = stringBuffer4.toString();
|
|
} else {
|
|
str4 = "";
|
|
}
|
|
stringBuffer2.append(str4);
|
|
stringBuffer2.append(" but got");
|
|
if (i != getEventType()) {
|
|
StringBuffer stringBuffer5 = new StringBuffer();
|
|
stringBuffer5.append(" ");
|
|
stringBuffer5.append(XmlPullParser.TYPES[getEventType()]);
|
|
str5 = stringBuffer5.toString();
|
|
} else {
|
|
str5 = "";
|
|
}
|
|
stringBuffer2.append(str5);
|
|
if (str2 == null || getName() == null || str2.equals(getName())) {
|
|
str6 = "";
|
|
} else {
|
|
StringBuffer stringBuffer6 = new StringBuffer();
|
|
stringBuffer6.append(" name '");
|
|
stringBuffer6.append(getName());
|
|
stringBuffer6.append("'");
|
|
str6 = stringBuffer6.toString();
|
|
}
|
|
stringBuffer2.append(str6);
|
|
stringBuffer2.append((str == null || str2 == null || getName() == null || str2.equals(getName()) || getNamespace() == null || str.equals(getNamespace())) ? "" : " and");
|
|
if (str != null && getNamespace() != null && !str.equals(getNamespace())) {
|
|
StringBuffer stringBuffer7 = new StringBuffer();
|
|
stringBuffer7.append(" namespace '");
|
|
stringBuffer7.append(getNamespace());
|
|
stringBuffer7.append("'");
|
|
str7 = stringBuffer7.toString();
|
|
}
|
|
stringBuffer2.append(str7);
|
|
stringBuffer2.append(" (position:");
|
|
stringBuffer2.append(getPositionDescription());
|
|
stringBuffer2.append(")");
|
|
throw new XmlPullParserException(stringBuffer2.toString());
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public void setFeature(String str, boolean z) throws XmlPullParserException {
|
|
if (str == null) {
|
|
throw new IllegalArgumentException("feature name should not be null");
|
|
}
|
|
if (XmlPullParser.FEATURE_PROCESS_NAMESPACES.equals(str)) {
|
|
if (this.i != 0) {
|
|
throw new XmlPullParserException("namespace processing feature can only be changed before parsing", this, null);
|
|
}
|
|
this.b = z;
|
|
} else if ("http://xmlpull.org/v1/doc/features.html#names-interned".equals(str)) {
|
|
if (z) {
|
|
throw new XmlPullParserException("interning names in this implementation is not supported");
|
|
}
|
|
} else if (XmlPullParser.FEATURE_PROCESS_DOCDECL.equals(str)) {
|
|
if (z) {
|
|
throw new XmlPullParserException("processing DOCDECL is not supported");
|
|
}
|
|
} else {
|
|
if ("http://xmlpull.org/v1/doc/features.html#xml-roundtrip".equals(str)) {
|
|
this.c = z;
|
|
return;
|
|
}
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("unsupported feature ");
|
|
stringBuffer.append(str);
|
|
throw new XmlPullParserException(stringBuffer.toString());
|
|
}
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public void setInput(Reader reader) throws XmlPullParserException {
|
|
p();
|
|
this.J = reader;
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public void setProperty(String str, Object obj) throws XmlPullParserException {
|
|
if ("http://xmlpull.org/v1/doc/properties.html#location".equals(str)) {
|
|
this.d = (String) obj;
|
|
return;
|
|
}
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("unsupported property: '");
|
|
stringBuffer.append(str);
|
|
stringBuffer.append("'");
|
|
throw new XmlPullParserException(stringBuffer.toString());
|
|
}
|
|
|
|
protected void a() {
|
|
String[] strArr = this.o;
|
|
int length = strArr != null ? strArr.length : 0;
|
|
int i = this.k;
|
|
if (i + 1 >= length) {
|
|
int i2 = (i >= 7 ? i * 2 : 8) + 2;
|
|
boolean z = length > 0;
|
|
String[] strArr2 = new String[i2];
|
|
if (z) {
|
|
System.arraycopy(this.o, 0, strArr2, 0, length);
|
|
}
|
|
this.o = strArr2;
|
|
String[] strArr3 = new String[i2];
|
|
if (z) {
|
|
System.arraycopy(this.p, 0, strArr3, 0, length);
|
|
}
|
|
this.p = strArr3;
|
|
String[] strArr4 = new String[i2];
|
|
if (z) {
|
|
System.arraycopy(this.q, 0, strArr4, 0, length);
|
|
}
|
|
this.q = strArr4;
|
|
int[] iArr = new int[i2];
|
|
if (z) {
|
|
System.arraycopy(this.r, 0, iArr, 0, length);
|
|
} else {
|
|
iArr[0] = 0;
|
|
}
|
|
this.r = iArr;
|
|
int[] iArr2 = new int[i2];
|
|
if (z) {
|
|
System.arraycopy(this.m, 0, iArr2, 0, length);
|
|
}
|
|
this.m = iArr2;
|
|
int[] iArr3 = new int[i2];
|
|
if (z) {
|
|
System.arraycopy(this.n, 0, iArr3, 0, length);
|
|
}
|
|
this.n = iArr3;
|
|
char[][] cArr = new char[i2][];
|
|
if (z) {
|
|
System.arraycopy(this.l, 0, cArr, 0, length);
|
|
}
|
|
this.l = cArr;
|
|
}
|
|
}
|
|
|
|
protected void b(int i) {
|
|
String[] strArr = this.A;
|
|
if (i >= (strArr != null ? strArr.length : 0)) {
|
|
int i2 = i > 7 ? i * 2 : 8;
|
|
String[] strArr2 = new String[i2];
|
|
String[] strArr3 = new String[i2];
|
|
String[] strArr4 = this.A;
|
|
if (strArr4 != null) {
|
|
System.arraycopy(strArr4, 0, strArr2, 0, this.z);
|
|
System.arraycopy(this.C, 0, strArr3, 0, this.z);
|
|
}
|
|
this.A = strArr2;
|
|
this.C = strArr3;
|
|
if (this.a) {
|
|
return;
|
|
}
|
|
int[] iArr = new int[i2];
|
|
int[] iArr2 = this.B;
|
|
if (iArr2 != null) {
|
|
System.arraycopy(iArr2, 0, iArr, 0, this.z);
|
|
}
|
|
this.B = iArr;
|
|
}
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public void setInput(InputStream inputStream, String str) throws XmlPullParserException {
|
|
InputStreamReader inputStreamReader;
|
|
if (inputStream != null) {
|
|
try {
|
|
if (str != null) {
|
|
inputStreamReader = new InputStreamReader(inputStream, str);
|
|
} else {
|
|
inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
|
|
}
|
|
setInput(inputStreamReader);
|
|
this.K = str;
|
|
return;
|
|
} catch (UnsupportedEncodingException e) {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("could not create reader for encoding ");
|
|
stringBuffer.append(str);
|
|
stringBuffer.append(" : ");
|
|
stringBuffer.append(e);
|
|
throw new XmlPullParserException(stringBuffer.toString(), this, e);
|
|
}
|
|
}
|
|
throw new IllegalArgumentException("input stream can not be null");
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:13:0x002a */
|
|
/* JADX WARN: Removed duplicated region for block: B:15:0x0035 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
protected void c() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException {
|
|
/*
|
|
Method dump skipped, instructions count: 404
|
|
To view this dump change 'Code comments level' option to 'DEBUG'
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.c():void");
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getAttributeValue(String str, String str2) {
|
|
if (this.i != 2) {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("only START_TAG can have attributes");
|
|
stringBuffer.append(getPositionDescription());
|
|
throw new IndexOutOfBoundsException(stringBuffer.toString());
|
|
}
|
|
if (str2 != null) {
|
|
int i = 0;
|
|
if (this.b) {
|
|
if (str == null) {
|
|
str = "";
|
|
}
|
|
while (i < this.s) {
|
|
String[] strArr = this.x;
|
|
if ((str == strArr[i] || str.equals(strArr[i])) && str2.equals(this.t[i])) {
|
|
return this.y[i];
|
|
}
|
|
i++;
|
|
}
|
|
} else {
|
|
if (str != null && str.length() == 0) {
|
|
str = null;
|
|
}
|
|
if (str == null) {
|
|
while (i < this.s) {
|
|
if (str2.equals(this.t[i])) {
|
|
return this.y[i];
|
|
}
|
|
i++;
|
|
}
|
|
} else {
|
|
throw new IllegalArgumentException("when namespaces processing is disabled attribute namespace must be null");
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
throw new IllegalArgumentException("attribute name can not be null");
|
|
}
|
|
|
|
protected String e(char c) {
|
|
if (c == '\n') {
|
|
return "\\n";
|
|
}
|
|
if (c == '\r') {
|
|
return "\\r";
|
|
}
|
|
if (c == '\t') {
|
|
return "\\t";
|
|
}
|
|
if (c == '\'') {
|
|
return "\\'";
|
|
}
|
|
if (c <= 127 && c >= ' ') {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("");
|
|
stringBuffer.append(c);
|
|
return stringBuffer.toString();
|
|
}
|
|
StringBuffer stringBuffer2 = new StringBuffer();
|
|
stringBuffer2.append("\\u");
|
|
stringBuffer2.append(Integer.toHexString(c));
|
|
return stringBuffer2.toString();
|
|
}
|
|
|
|
@Override // org.xmlpull.v1.XmlPullParser
|
|
public String getNamespace() {
|
|
int i = this.i;
|
|
if (i == 2) {
|
|
return this.b ? this.q[this.k] : "";
|
|
}
|
|
if (i == 3) {
|
|
return this.b ? this.q[this.k] : "";
|
|
}
|
|
return null;
|
|
}
|
|
|
|
protected void d(char c) throws XmlPullParserException, IOException {
|
|
this.O = true;
|
|
this.Q = 0;
|
|
char f = f(a(f(c), m0));
|
|
if (f == '=') {
|
|
char f2 = f(e());
|
|
if (f2 != '\'' && f2 != '\"') {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("expected apostrophe (') or quotation mark (\") after version and not ");
|
|
stringBuffer.append(e(f2));
|
|
throw new XmlPullParserException(stringBuffer.toString(), this, null);
|
|
}
|
|
int i = this.S;
|
|
char e = e();
|
|
while (e != f2) {
|
|
if ((e < 'a' || e > 'z') && ((e < 'A' || e > 'Z') && ((e < '0' || e > '9') && e != '_' && e != '.' && e != ':' && e != '-'))) {
|
|
StringBuffer stringBuffer2 = new StringBuffer();
|
|
stringBuffer2.append("<?xml version value expected to be in ([a-zA-Z0-9_.:] | '-') not ");
|
|
stringBuffer2.append(e(e));
|
|
throw new XmlPullParserException(stringBuffer2.toString(), this, null);
|
|
}
|
|
e = e();
|
|
}
|
|
a(i, this.S - 1);
|
|
this.O = false;
|
|
return;
|
|
}
|
|
StringBuffer stringBuffer3 = new StringBuffer();
|
|
stringBuffer3.append("expected equals sign (=) after version and not ");
|
|
stringBuffer3.append(e(f));
|
|
throw new XmlPullParserException(stringBuffer3.toString(), this, null);
|
|
}
|
|
|
|
protected void b() {
|
|
char[][] cArr = this.H;
|
|
int length = cArr != null ? cArr.length : 0;
|
|
int i = this.D;
|
|
if (i >= length) {
|
|
int i2 = i > 7 ? i * 2 : 8;
|
|
String[] strArr = new String[i2];
|
|
char[][] cArr2 = new char[i2][];
|
|
String[] strArr2 = new String[i2];
|
|
char[][] cArr3 = new char[i2][];
|
|
String[] strArr3 = this.E;
|
|
if (strArr3 != null) {
|
|
System.arraycopy(strArr3, 0, strArr, 0, this.D);
|
|
System.arraycopy(this.F, 0, cArr2, 0, this.D);
|
|
System.arraycopy(this.G, 0, strArr2, 0, this.D);
|
|
System.arraycopy(this.H, 0, cArr3, 0, this.D);
|
|
}
|
|
this.E = strArr;
|
|
this.F = cArr2;
|
|
this.G = strArr2;
|
|
this.H = cArr3;
|
|
if (this.a) {
|
|
return;
|
|
}
|
|
int[] iArr = new int[i2];
|
|
int[] iArr2 = this.I;
|
|
if (iArr2 != null) {
|
|
System.arraycopy(iArr2, 0, iArr, 0, this.D);
|
|
}
|
|
this.I = iArr;
|
|
}
|
|
}
|
|
|
|
protected void a(int i) {
|
|
String[] strArr = this.t;
|
|
int length = strArr != null ? strArr.length : 0;
|
|
if (i >= length) {
|
|
int i2 = i > 7 ? i * 2 : 8;
|
|
boolean z = length > 0;
|
|
String[] strArr2 = new String[i2];
|
|
if (z) {
|
|
System.arraycopy(this.t, 0, strArr2, 0, length);
|
|
}
|
|
this.t = strArr2;
|
|
String[] strArr3 = new String[i2];
|
|
if (z) {
|
|
System.arraycopy(this.v, 0, strArr3, 0, length);
|
|
}
|
|
this.v = strArr3;
|
|
String[] strArr4 = new String[i2];
|
|
if (z) {
|
|
System.arraycopy(this.x, 0, strArr4, 0, length);
|
|
}
|
|
this.x = strArr4;
|
|
String[] strArr5 = new String[i2];
|
|
if (z) {
|
|
System.arraycopy(this.y, 0, strArr5, 0, length);
|
|
}
|
|
this.y = strArr5;
|
|
if (this.a) {
|
|
return;
|
|
}
|
|
int[] iArr = new int[i2];
|
|
if (z) {
|
|
System.arraycopy(this.u, 0, iArr, 0, length);
|
|
}
|
|
this.u = iArr;
|
|
}
|
|
}
|
|
|
|
private static final void h(char c) {
|
|
r0[c] = true;
|
|
g(c);
|
|
}
|
|
|
|
protected void d() {
|
|
int i = this.U - this.T;
|
|
int i2 = this.X + i + 1;
|
|
if (i2 >= this.V.length) {
|
|
c(i2);
|
|
}
|
|
System.arraycopy(this.M, this.T, this.V, this.X, i);
|
|
this.X += i;
|
|
this.Y = true;
|
|
}
|
|
|
|
protected boolean b(char c) {
|
|
return (c < 1024 && r0[c]) || (c >= 1024 && c <= 8231) || ((c >= 8234 && c <= 8591) || (c >= 10240 && c <= 65519));
|
|
}
|
|
|
|
private static int a(int i, char[] cArr, int i2, int i3) {
|
|
if (i2 < i) {
|
|
return i > i3 ? i3 : i;
|
|
}
|
|
if (i3 - i2 > 65) {
|
|
i2 = i3 - 10;
|
|
}
|
|
int i4 = i2 + 1;
|
|
while (true) {
|
|
i4--;
|
|
if (i4 <= i || i3 - i4 > 65 || (cArr[i4] == '<' && i2 - i4 > 10)) {
|
|
break;
|
|
}
|
|
}
|
|
return i4;
|
|
}
|
|
|
|
protected void a(int i, int i2) throws XmlPullParserException, IOException {
|
|
char a;
|
|
int i3 = i2 - i;
|
|
if (i3 == 3) {
|
|
char[] cArr = this.M;
|
|
if (cArr[i] == '1' && cArr[i + 1] == '.') {
|
|
char c = '0';
|
|
if (cArr[i + 2] == '0') {
|
|
this.i0 = a(cArr, i, i3);
|
|
char f = f(e());
|
|
if (f == 'e') {
|
|
char f2 = f(a(e(), n0));
|
|
if (f2 == '=') {
|
|
char f3 = f(e());
|
|
if (f3 != '\'' && f3 != '\"') {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("expected apostrophe (') or quotation mark (\") after encoding and not ");
|
|
stringBuffer.append(e(f3));
|
|
throw new XmlPullParserException(stringBuffer.toString(), this, null);
|
|
}
|
|
int i4 = this.S;
|
|
char e = e();
|
|
if ((e >= 'a' && e <= 'z') || (e >= 'A' && e <= 'Z')) {
|
|
char e2 = e();
|
|
while (e2 != f3) {
|
|
if ((e2 < 'a' || e2 > 'z') && ((e2 < 'A' || e2 > 'Z') && ((e2 < c || e2 > '9') && e2 != '.' && e2 != '_' && e2 != '-'))) {
|
|
StringBuffer stringBuffer2 = new StringBuffer();
|
|
stringBuffer2.append("<?xml encoding value expected to be in ([A-Za-z0-9._] | '-') not ");
|
|
stringBuffer2.append(e(e2));
|
|
throw new XmlPullParserException(stringBuffer2.toString(), this, null);
|
|
}
|
|
e2 = e();
|
|
c = '0';
|
|
}
|
|
this.K = a(this.M, i4, (this.S - 1) - i4);
|
|
f = e();
|
|
} else {
|
|
StringBuffer stringBuffer3 = new StringBuffer();
|
|
stringBuffer3.append("<?xml encoding name expected to start with [A-Za-z] not ");
|
|
stringBuffer3.append(e(e));
|
|
throw new XmlPullParserException(stringBuffer3.toString(), this, null);
|
|
}
|
|
} else {
|
|
StringBuffer stringBuffer4 = new StringBuffer();
|
|
stringBuffer4.append("expected equals sign (=) after encoding and not ");
|
|
stringBuffer4.append(e(f2));
|
|
throw new XmlPullParserException(stringBuffer4.toString(), this, null);
|
|
}
|
|
}
|
|
char f4 = f(f);
|
|
if (f4 == 's') {
|
|
char f5 = f(a(e(), o0));
|
|
if (f5 == '=') {
|
|
char f6 = f(e());
|
|
if (f6 != '\'' && f6 != '\"') {
|
|
StringBuffer stringBuffer5 = new StringBuffer();
|
|
stringBuffer5.append("expected apostrophe (') or quotation mark (\") after encoding and not ");
|
|
stringBuffer5.append(e(f6));
|
|
throw new XmlPullParserException(stringBuffer5.toString(), this, null);
|
|
}
|
|
char e3 = e();
|
|
if (e3 == 'y') {
|
|
a = a(e3, p0);
|
|
this.j0 = new Boolean(true);
|
|
} else if (e3 == 'n') {
|
|
a = a(e3, q0);
|
|
this.j0 = new Boolean(false);
|
|
} else {
|
|
StringBuffer stringBuffer6 = new StringBuffer();
|
|
stringBuffer6.append("expected 'yes' or 'no' after standalone and not ");
|
|
stringBuffer6.append(e(e3));
|
|
throw new XmlPullParserException(stringBuffer6.toString(), this, null);
|
|
}
|
|
if (a == f6) {
|
|
f4 = e();
|
|
} else {
|
|
StringBuffer stringBuffer7 = new StringBuffer();
|
|
stringBuffer7.append("expected ");
|
|
stringBuffer7.append(f6);
|
|
stringBuffer7.append(" after standalone value not ");
|
|
stringBuffer7.append(e(a));
|
|
throw new XmlPullParserException(stringBuffer7.toString(), this, null);
|
|
}
|
|
} else {
|
|
StringBuffer stringBuffer8 = new StringBuffer();
|
|
stringBuffer8.append("expected equals sign (=) after standalone and not ");
|
|
stringBuffer8.append(e(f5));
|
|
throw new XmlPullParserException(stringBuffer8.toString(), this, null);
|
|
}
|
|
}
|
|
char f7 = f(f4);
|
|
if (f7 == '?') {
|
|
char e4 = e();
|
|
if (e4 == '>') {
|
|
return;
|
|
}
|
|
StringBuffer stringBuffer9 = new StringBuffer();
|
|
stringBuffer9.append("expected ?> as last part of <?xml not ");
|
|
stringBuffer9.append(e(e4));
|
|
throw new XmlPullParserException(stringBuffer9.toString(), this, null);
|
|
}
|
|
StringBuffer stringBuffer10 = new StringBuffer();
|
|
stringBuffer10.append("expected ?> as last part of <?xml not ");
|
|
stringBuffer10.append(e(f7));
|
|
throw new XmlPullParserException(stringBuffer10.toString(), this, null);
|
|
}
|
|
}
|
|
}
|
|
StringBuffer stringBuffer11 = new StringBuffer();
|
|
stringBuffer11.append("only 1.0 is supported as <?xml version not '");
|
|
stringBuffer11.append(a(new String(this.M, i, i3)));
|
|
stringBuffer11.append("'");
|
|
throw new XmlPullParserException(stringBuffer11.toString(), this, null);
|
|
}
|
|
|
|
protected void c(int i) {
|
|
char[] cArr = new char[i > 8192 ? i * 2 : 16384];
|
|
System.arraycopy(this.V, 0, cArr, 0, this.X);
|
|
this.V = cArr;
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:55:0x00d6, code lost:
|
|
|
|
if (r8 != '\n') goto L95;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:58:0x00f8, code lost:
|
|
|
|
if (r11.Y == false) goto L102;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:61:0x00ff, code lost:
|
|
|
|
if (r11.X < r11.V.length) goto L76;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:62:0x0101, code lost:
|
|
|
|
c(r11.X);
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:63:0x0106, code lost:
|
|
|
|
r7 = r11.V;
|
|
r9 = r11.X;
|
|
r11.X = r9 + 1;
|
|
r7[r9] = r8;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:68:0x00d8, code lost:
|
|
|
|
if (r7 != false) goto L104;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:71:0x00dc, code lost:
|
|
|
|
if (r11.Y == false) goto L105;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:74:0x00e3, code lost:
|
|
|
|
if (r11.X < r11.V.length) goto L70;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:75:0x00e5, code lost:
|
|
|
|
c(r11.X);
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:76:0x00ea, code lost:
|
|
|
|
r7 = r11.V;
|
|
r8 = r11.X;
|
|
r11.X = r8 + 1;
|
|
r7[r8] = '\n';
|
|
*/
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
|
*/
|
|
protected void a(boolean r12) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
|
|
/*
|
|
Method dump skipped, instructions count: 349
|
|
To view this dump change 'Code comments level' option to 'DEBUG'
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.a(boolean):void");
|
|
}
|
|
|
|
private static final void g(char c) {
|
|
s0[c] = true;
|
|
}
|
|
|
|
protected char f(char c) throws XmlPullParserException, IOException {
|
|
while (c(c)) {
|
|
c = e();
|
|
}
|
|
return c;
|
|
}
|
|
|
|
protected char a(char c, char[] cArr) throws XmlPullParserException, IOException {
|
|
for (int i = 0; i < cArr.length; i++) {
|
|
if (c == cArr[i]) {
|
|
c = e();
|
|
} else {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("expected ");
|
|
stringBuffer.append(e(cArr[i]));
|
|
stringBuffer.append(" in ");
|
|
stringBuffer.append(new String(cArr));
|
|
stringBuffer.append(" and not ");
|
|
stringBuffer.append(e(c));
|
|
throw new XmlPullParserException(stringBuffer.toString(), this, null);
|
|
}
|
|
}
|
|
return c;
|
|
}
|
|
|
|
protected boolean a(char c) {
|
|
return (c < 1024 && s0[c]) || (c >= 1024 && c <= 8231) || ((c >= 8234 && c <= 8591) || (c >= 10240 && c <= 65519));
|
|
}
|
|
|
|
protected String a(String str) {
|
|
if (str == null) {
|
|
return null;
|
|
}
|
|
int length = str.length();
|
|
StringBuffer stringBuffer = new StringBuffer(length + 10);
|
|
for (int i = 0; i < length; i++) {
|
|
stringBuffer.append(e(str.charAt(i)));
|
|
}
|
|
return stringBuffer.toString();
|
|
}
|
|
}
|