1.97 MB
/home/fdroid/fdroiddata/tmp/com.example.muzei.muzeiapod_4.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_com.example.muzei.muzeiapod_4.apk
1.72 KB
/usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {}
error from `/usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {}` (b): DOES NOT VERIFY ERROR: META-INF/fdroidserverid entry referenced by META-INF/MANIFEST.MF not found in the APK ERROR: META-INF/buildserverid entry referenced by META-INF/MANIFEST.MF not found in the APK
    
Offset 1, 18 lines modifiedOffset 0, 0 lines modified
1 Verifies 
2 Verified·using·v1·scheme·(JAR·signing):·true 
3 Verified·using·v2·scheme·(APK·Signature·Scheme·v2):·false 
4 Verified·using·v3·scheme·(APK·Signature·Scheme·v3):·false 
5 Verified·using·v4·scheme·(APK·Signature·Scheme·v4):·false 
6 Verified·for·SourceStamp:·false 
7 Number·of·signers:·1 
8 Signer·#1·certificate·DN:·CN=FDroid,·OU=FDroid,·O=fdroid.org,·L=ORG,·ST=ORG,·C=UK 
9 Signer·#1·certificate·SHA-256·digest:·519d4697caef7416ca986df907b746c70b7e7784ef9afc448bbddb164dec1008 
10 Signer·#1·certificate·SHA-1·digest:·c3a08986ca9ff7417379661c07994d5047c8c107 
11 Signer·#1·certificate·MD5·digest:·7acaba2faa39c88b4c233fcd3ff51974 
12 Signer·#1·key·algorithm:·RSA 
13 Signer·#1·key·size·(bits):·2048 
14 Signer·#1·public·key·SHA-256·digest:·476ed8dbcd11270c8cc7495dad4c817a7c87ce5c0443b2013dc94f407561f5ed 
15 Signer·#1·public·key·SHA-1·digest:·b6f19d6826fe6d33675aae248d733170cfc6f0f2 
16 Signer·#1·public·key·MD5·digest:·83d4ccfe9f8bf11942149e1ae6c9a068 
17 WARNING:·META-INF/buildserverid·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
18 WARNING:·META-INF/fdroidserverid·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
24.8 KB
zipinfo -v {}
Differences in extra fields detected; using output from zipinfo -v
    
Offset 1, 355 lines modifiedOffset 1, 378 lines modified
1 There·is·no·zipfile·comment.1 There·is·no·zipfile·comment.
  
2 End-of-central-directory·record:2 End-of-central-directory·record:
3 -------------------------------3 -------------------------------
  
4 ··Zip·archive·file·size:····················153663·(000000000002583Fh)4 ··Zip·archive·file·size:····················177859·(000000000002B6C3h)
5 ··Actual·end-cent-dir·record·offset:········153641·(0000000000025829h)5 ··Actual·end-cent-dir·record·offset:········177837·(000000000002B6ADh)
6 ··Expected·end-cent-dir·record·offset:······153641·(0000000000025829h)6 ··Expected·end-cent-dir·record·offset:······177837·(000000000002B6ADh)
7 ··(based·on·the·length·of·the·central·directory·and·its·expected·offset)7 ··(based·on·the·length·of·the·central·directory·and·its·expected·offset)
  
8 ··This·zipfile·constitutes·the·sole·disk·of·a·single-part·archive;·its8 ··This·zipfile·constitutes·the·sole·disk·of·a·single-part·archive;·its
9 ··central·directory·contains·11·entries.9 ··central·directory·contains·12·entries.
10 ··The·central·directory·is·775·(0000000000000307h)·bytes·long,10 ··The·central·directory·is·851·(0000000000000353h)·bytes·long,
11 ··and·its·(expected)·offset·in·bytes·from·the·beginning·of·the·zipfile11 ··and·its·(expected)·offset·in·bytes·from·the·beginning·of·the·zipfile
12 ··is·152866·(0000000000025522h).12 ··is·176986·(000000000002B35Ah).
  
  
13 Central·directory·entry·#1:13 Central·directory·entry·#1:
14 ---------------------------14 ---------------------------
  
15 ··META-INF/MANIFEST.MF15 ··AndroidManifest.xml
  
16 ··offset·of·local·header·from·start·of·archive:···016 ··offset·of·local·header·from·start·of·archive:···0
17 ··················································(0000000000000000h)·bytes17 ··················································(0000000000000000h)·bytes
18 ··file·system·or·operating·system·of·origin:······MS-DOS,·OS/2·or·NT·FAT18 ··file·system·or·operating·system·of·origin:······MS-DOS,·OS/2·or·NT·FAT
19 ··version·of·encoding·software:···················2.019 ··version·of·encoding·software:···················2.0
20 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT20 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT
21 ··minimum·software·version·required·to·extract:···2.021 ··minimum·software·version·required·to·extract:···2.0
22 ··compression·method:·····························deflated22 ··compression·method:·····························deflated
23 ··compression·sub-type·(deflation):···············normal23 ··compression·sub-type·(deflation):···············normal
24 ··file·security·status:···························not·encrypted24 ··file·security·status:···························not·encrypted
25 ··extended·local·header:··························yes25 ··extended·local·header:··························yes
26 ··file·last·modified·on·(DOS·date/time):··········2016·Oct·5·17:10:2026 ··file·last·modified·on·(DOS·date/time):··········2017·Oct·4·00:22:38
27 ··32-bit·CRC·value·(hex):·························e487eb4527 ··32-bit·CRC·value·(hex):·························66f9b147
28 ··compressed·size:································417·bytes28 ··compressed·size:································799·bytes
29 ··uncompressed·size:······························697·bytes29 ··uncompressed·size:······························2204·bytes
30 ··length·of·filename:·····························20·characters30 ··length·of·filename:·····························19·characters
31 ··length·of·extra·field:··························0·bytes31 ··length·of·extra·field:··························4·bytes
32 ··length·of·file·comment:·························0·characters32 ··length·of·file·comment:·························0·characters
33 ··disk·number·on·which·file·begins:···············disk·133 ··disk·number·on·which·file·begins:···············disk·1
34 ··apparent·file·type:·····························binary34 ··apparent·file·type:·····························binary
35 ··non-MSDOS·external·file·attributes:·············000000·hex35 ··non-MSDOS·external·file·attributes:·············000000·hex
36 ··MS-DOS·file·attributes·(00·hex):················none36 ··MS-DOS·file·attributes·(00·hex):················none
  
 37 ··The·central-directory·extra·field·contains:
 38 ··-·A·subfield·with·ID·0xcafe·(unknown)·and·0·data·bytes.
  
37 ··There·is·no·file·comment.39 ··There·is·no·file·comment.
  
38 Central·directory·entry·#2:40 Central·directory·entry·#2:
39 ---------------------------41 ---------------------------
  
40 ··There·are·an·extra·16·bytes·preceding·this·file.42 ··There·are·an·extra·16·bytes·preceding·this·file.
  
41 ··META-INF/BD3ECC55.SF43 ··resources.arsc
  
42 ··offset·of·local·header·from·start·of·archive:···48344 ··offset·of·local·header·from·start·of·archive:···868
43 ··················································(00000000000001E3h)·bytes45 ··················································(0000000000000364h)·bytes
44 ··file·system·or·operating·system·of·origin:······MS-DOS,·OS/2·or·NT·FAT46 ··file·system·or·operating·system·of·origin:······MS-DOS,·OS/2·or·NT·FAT
45 ··version·of·encoding·software:···················2.047 ··version·of·encoding·software:···················1.0
46 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT48 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT
47 ··minimum·software·version·required·to·extract:···2.049 ··minimum·software·version·required·to·extract:···1.0
48 ··compression·method:·····························deflated50 ··compression·method:·····························none·(stored)
49 ··compression·sub-type·(deflation):···············normal 
50 ··file·security·status:···························not·encrypted51 ··file·security·status:···························not·encrypted
51 ··extended·local·header:··························yes52 ··extended·local·header:··························no
52 ··file·last·modified·on·(DOS·date/time):··········2016·Oct·5·17:10:2053 ··file·last·modified·on·(DOS·date/time):··········2017·Oct·4·00:22:32
53 ··32-bit·CRC·value·(hex):·························0bb21c9954 ··32-bit·CRC·value·(hex):·························42f48ff9
54 ··compressed·size:································479·bytes55 ··compressed·size:································1300·bytes
55 ··uncompressed·size:······························818·bytes56 ··uncompressed·size:······························1300·bytes
56 ··length·of·filename:·····························20·characters57 ··length·of·filename:·····························14·characters
57 ··length·of·extra·field:··························0·bytes58 ··length·of·extra·field:··························0·bytes
58 ··length·of·file·comment:·························0·characters59 ··length·of·file·comment:·························0·characters
59 ··disk·number·on·which·file·begins:···············disk·160 ··disk·number·on·which·file·begins:···············disk·1
60 ··apparent·file·type:·····························binary61 ··apparent·file·type:·····························binary
61 ··non-MSDOS·external·file·attributes:·············000000·hex62 ··non-MSDOS·external·file·attributes:·············000000·hex
62 ··MS-DOS·file·attributes·(00·hex):················none63 ··MS-DOS·file·attributes·(00·hex):················none
  
63 ··There·is·no·file·comment.64 ··There·is·no·file·comment.
  
64 Central·directory·entry·#3:65 Central·directory·entry·#3:
65 ---------------------------66 ---------------------------
  
 67 ··res/drawable-nodpi-v4/ic_source.png
66 ··There·are·an·extra·16·bytes·preceding·this·file. 
  
67 ··META-INF/BD3ECC55.RSA 
  
68 ··offset·of·local·header·from·start·of·archive:···102868 ··offset·of·local·header·from·start·of·archive:···2212
69 ··················································(0000000000000404h)·bytes69 ··················································(00000000000008A4h)·bytes
70 ··file·system·or·operating·system·of·origin:······MS-DOS,·OS/2·or·NT·FAT70 ··file·system·or·operating·system·of·origin:······MS-DOS,·OS/2·or·NT·FAT
71 ··version·of·encoding·software:···················2.071 ··version·of·encoding·software:···················1.0
72 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT72 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT
73 ··minimum·software·version·required·to·extract:···2.073 ··minimum·software·version·required·to·extract:···1.0
74 ··compression·method:·····························deflated74 ··compression·method:·····························none·(stored)
75 ··compression·sub-type·(deflation):···············normal 
76 ··file·security·status:···························not·encrypted75 ··file·security·status:···························not·encrypted
77 ··extended·local·header:··························yes76 ··extended·local·header:··························no
78 ··file·last·modified·on·(DOS·date/time):··········2016·Oct·5·17:10:2077 ··file·last·modified·on·(DOS·date/time):··········2017·Oct·4·00:22:32
79 ··32-bit·CRC·value·(hex):·························9eda951b78 ··32-bit·CRC·value·(hex):·························0932bfd7
80 ··compressed·size:································1072·bytes79 ··compressed·size:································17252·bytes
81 ··uncompressed·size:······························1326·bytes80 ··uncompressed·size:······························17252·bytes
82 ··length·of·filename:·····························21·characters81 ··length·of·filename:·····························35·characters
83 ··length·of·extra·field:··························0·bytes82 ··length·of·extra·field:··························0·bytes
84 ··length·of·file·comment:·························0·characters83 ··length·of·file·comment:·························0·characters
85 ··disk·number·on·which·file·begins:···············disk·184 ··disk·number·on·which·file·begins:···············disk·1
86 ··apparent·file·type:·····························binary85 ··apparent·file·type:·····························binary
87 ··non-MSDOS·external·file·attributes:·············000000·hex86 ··non-MSDOS·external·file·attributes:·············000000·hex
88 ··MS-DOS·file·attributes·(00·hex):················none87 ··MS-DOS·file·attributes·(00·hex):················none
  
89 ··There·is·no·file·comment.88 ··There·is·no·file·comment.
  
90 Central·directory·entry·#4:89 Central·directory·entry·#4:
91 ---------------------------90 ---------------------------
  
 91 ··classes.dex
92 ··There·are·an·extra·16·bytes·preceding·this·file. 
  
93 ··META-INF/buildserverid 
  
94 ··offset·of·local·header·from·start·of·archive:···216792 ··offset·of·local·header·from·start·of·archive:···19529
95 ··················································(0000000000000877h)·bytes93 ··················································(0000000000004C49h)·bytes
96 ··file·system·or·operating·system·of·origin:······MS-DOS,·OS/2·or·NT·FAT94 ··file·system·or·operating·system·of·origin:······MS-DOS,·OS/2·or·NT·FAT
97 ··version·of·encoding·software:···················2.095 ··version·of·encoding·software:···················2.0
98 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT96 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT
99 ··minimum·software·version·required·to·extract:···2.097 ··minimum·software·version·required·to·extract:···2.0
100 ··compression·method:·····························deflated98 ··compression·method:·····························deflated
Max diff block lines reached; 17187/25351 bytes (67.80%) of diff not shown.
123 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·at·least·v2.0·to·extract1 Java·archive·data·(JAR)
477 B
APK metadata
    
Offset 7, 16 lines modifiedOffset 7, 17 lines modified
7 packageInfo:·null7 packageInfo:·null
8 sdkInfo:8 sdkInfo:
9 ··minSdkVersion:·'17'9 ··minSdkVersion:·'17'
10 ··targetSdkVersion:·'19'10 ··targetSdkVersion:·'19'
11 sharedLibrary:·false11 sharedLibrary:·false
12 sparseResources:·true12 sparseResources:·true
13 unknownFiles:13 unknownFiles:
14 ··org/jsoup/nodes/entities-base.properties:·'8' 
15 ··org/jsoup/nodes/entities-full.properties:·'8'14 ··org/jsoup/nodes/entities-full.properties:·'8'
 15 ··org/jsoup/nodes/entities-base.properties:·'8'
 16 ··org/jsoup/nodes/entities-xhtml.properties:·'8'
16 usesFramework:17 usesFramework:
17 ··ids:18 ··ids:
18 ··-·119 ··-·1
19 ··tag:·null20 ··tag:·null
20 version:·2.5.0-dirty21 version:·2.5.0-dirty
21 versionInfo:22 versionInfo:
22 ··versionCode:·'4'23 ··versionCode:·'4'
344 KB
classes.dex
344 KB
classes.jar
31.5 KB
zipinfo {}
    
Offset 1, 8 lines modifiedOffset 1, 8 lines modified
1 Zip·file·size:·437917·bytes,·number·of·entries:·2541 Zip·file·size:·454355·bytes,·number·of·entries:·260
2 ?rwxrwxr-x··2.0·unx······443·b-·stor·80-Jan-01·00:00·com/example/muzei/muzeiapod/BuildConfig.class2 ?rwxrwxr-x··2.0·unx······443·b-·stor·80-Jan-01·00:00·com/example/muzei/muzeiapod/BuildConfig.class
3 ?rwxrwxr-x··2.0·unx······149·b-·stor·80-Jan-01·00:00·com/example/muzei/muzeiapod/R$attr.class3 ?rwxrwxr-x··2.0·unx······149·b-·stor·80-Jan-01·00:00·com/example/muzei/muzeiapod/R$attr.class
4 ?rwxrwxr-x··2.0·unx······206·b-·stor·80-Jan-01·00:00·com/example/muzei/muzeiapod/R$drawable.class4 ?rwxrwxr-x··2.0·unx······206·b-·stor·80-Jan-01·00:00·com/example/muzei/muzeiapod/R$drawable.class
5 ?rwxrwxr-x··2.0·unx······280·b-·stor·80-Jan-01·00:00·com/example/muzei/muzeiapod/R$string.class5 ?rwxrwxr-x··2.0·unx······280·b-·stor·80-Jan-01·00:00·com/example/muzei/muzeiapod/R$string.class
6 ?rwxrwxr-x··2.0·unx······144·b-·stor·80-Jan-01·00:00·com/example/muzei/muzeiapod/R.class6 ?rwxrwxr-x··2.0·unx······144·b-·stor·80-Jan-01·00:00·com/example/muzei/muzeiapod/R.class
7 ?rwxrwxr-x··2.0·unx·······95·b-·stor·80-Jan-01·00:00·com/google/android/apps/muzei/api/Artwork$1.class7 ?rwxrwxr-x··2.0·unx·······95·b-·stor·80-Jan-01·00:00·com/google/android/apps/muzei/api/Artwork$1.class
8 ?rwxrwxr-x··2.0·unx·····1286·b-·stor·80-Jan-01·00:00·com/google/android/apps/muzei/api/Artwork$Builder.class8 ?rwxrwxr-x··2.0·unx·····1286·b-·stor·80-Jan-01·00:00·com/google/android/apps/muzei/api/Artwork$Builder.class
Offset 15, 171 lines modifiedOffset 15, 175 lines modified
15 ?rwxrwxr-x··2.0·unx······256·b-·stor·80-Jan-01·00:00·com/google/android/apps/muzei/api/RemoteMuzeiArtSource$RetryException.class15 ?rwxrwxr-x··2.0·unx······256·b-·stor·80-Jan-01·00:00·com/google/android/apps/muzei/api/RemoteMuzeiArtSource$RetryException.class
16 ?rwxrwxr-x··2.0·unx·····1336·b-·stor·80-Jan-01·00:00·com/google/android/apps/muzei/api/UserCommand.class16 ?rwxrwxr-x··2.0·unx·····1336·b-·stor·80-Jan-01·00:00·com/google/android/apps/muzei/api/UserCommand.class
17 ?rwxrwxr-x··2.0·unx·····1064·b-·stor·80-Jan-01·00:00·com/google/android/apps/muzei/api/internal/ProtocolConstants.class17 ?rwxrwxr-x··2.0·unx·····1064·b-·stor·80-Jan-01·00:00·com/google/android/apps/muzei/api/internal/ProtocolConstants.class
18 ?rwxrwxr-x··2.0·unx·····4324·b-·stor·80-Jan-01·00:00·com/google/android/apps/muzei/api/internal/SourceState.class18 ?rwxrwxr-x··2.0·unx·····4324·b-·stor·80-Jan-01·00:00·com/google/android/apps/muzei/api/internal/SourceState.class
19 ?rwxrwxr-x··2.0·unx······730·b-·stor·80-Jan-01·00:00·org/jsoup/Connection$Base.class19 ?rwxrwxr-x··2.0·unx······730·b-·stor·80-Jan-01·00:00·org/jsoup/Connection$Base.class
20 ?rwxrwxr-x··2.0·unx······342·b-·stor·80-Jan-01·00:00·org/jsoup/Connection$KeyVal.class20 ?rwxrwxr-x··2.0·unx······342·b-·stor·80-Jan-01·00:00·org/jsoup/Connection$KeyVal.class
21 ?rwxrwxr-x··2.0·unx·····1229·b-·stor·80-Jan-01·00:00·org/jsoup/Connection$Method.class21 ?rwxrwxr-x··2.0·unx·····1229·b-·stor·80-Jan-01·00:00·org/jsoup/Connection$Method.class
22 ?rwxrwxr-x··2.0·unx·····1493·b-·stor·80-Jan-01·00:00·org/jsoup/Connection.class22 ?rwxrwxr-x··2.0·unx·····1511·b-·stor·80-Jan-01·00:00·org/jsoup/Connection.class
23 ?rwxrwxr-x··2.0·unx······701·b-·stor·80-Jan-01·00:00·org/jsoup/HttpStatusException.class23 ?rwxrwxr-x··2.0·unx······701·b-·stor·80-Jan-01·00:00·org/jsoup/HttpStatusException.class
24 ?rwxrwxr-x··2.0·unx·····2605·b-·stor·80-Jan-01·00:00·org/jsoup/Jsoup.class24 ?rwxrwxr-x··2.0·unx·····2608·b-·stor·80-Jan-01·00:00·org/jsoup/Jsoup.class
25 ?rwxrwxr-x··2.0·unx······380·b-·stor·80-Jan-01·00:00·org/jsoup/SerializationException.class25 ?rwxrwxr-x··2.0·unx······380·b-·stor·80-Jan-01·00:00·org/jsoup/SerializationException.class
26 ?rwxrwxr-x··2.0·unx······674·b-·stor·80-Jan-01·00:00·org/jsoup/UnsupportedMimeTypeException.class26 ?rwxrwxr-x··2.0·unx······674·b-·stor·80-Jan-01·00:00·org/jsoup/UnsupportedMimeTypeException.class
27 ?rwxrwxr-x··2.0·unx·······88·b-·stor·80-Jan-01·00:00·org/jsoup/examples/HtmlToPlainText$1.class27 ?rwxrwxr-x··2.0·unx·······88·b-·stor·80-Jan-01·00:00·org/jsoup/examples/HtmlToPlainText$1.class
28 ?rwxrwxr-x··2.0·unx·····1815·b-·stor·80-Jan-01·00:00·org/jsoup/examples/HtmlToPlainText.class28 ?rwxrwxr-x··2.0·unx·····1815·b-·stor·80-Jan-01·00:00·org/jsoup/examples/HtmlToPlainText.class
29 ?rwxrwxr-x··2.0·unx·····2652·b-·stor·80-Jan-01·00:00·org/jsoup/examples/ListLinks.class29 ?rwxrwxr-x··2.0·unx·····2652·b-·stor·80-Jan-01·00:00·org/jsoup/examples/ListLinks.class
 30 ?rwxrwxr-x··2.0·unx······970·b-·stor·80-Jan-01·00:00·org/jsoup/helper/ChangeNotifyingArrayList.class
30 ?rwxrwxr-x··2.0·unx·····6110·b-·stor·80-Jan-01·00:00·org/jsoup/helper/DataUtil.class31 ?rwxrwxr-x··2.0·unx·····6305·b-·stor·80-Jan-01·00:00·org/jsoup/helper/DataUtil.class
31 ?rwxrwxr-x··2.0·unx·······92·b-·stor·80-Jan-01·00:00·org/jsoup/helper/DescendableLinkedList$1.class32 ?rwxrwxr-x··2.0·unx·······92·b-·stor·80-Jan-01·00:00·org/jsoup/helper/DescendableLinkedList$1.class
32 ?rwxrwxr-x··2.0·unx······860·b-·stor·80-Jan-01·00:00·org/jsoup/helper/DescendableLinkedList$DescendingIterator.class33 ?rwxrwxr-x··2.0·unx······860·b-·stor·80-Jan-01·00:00·org/jsoup/helper/DescendableLinkedList$DescendingIterator.class
33 ?rwxrwxr-x··2.0·unx······702·b-·stor·80-Jan-01·00:00·org/jsoup/helper/DescendableLinkedList.class34 ?rwxrwxr-x··2.0·unx······702·b-·stor·80-Jan-01·00:00·org/jsoup/helper/DescendableLinkedList.class
34 ?rwxrwxr-x··2.0·unx·······85·b-·stor·80-Jan-01·00:00·org/jsoup/helper/HttpConnection$1.class35 ?rwxrwxr-x··2.0·unx·······85·b-·stor·80-Jan-01·00:00·org/jsoup/helper/HttpConnection$1.class
35 ?rwxrwxr-x··2.0·unx······287·b-·stor·80-Jan-01·00:00·org/jsoup/helper/HttpConnection$Response$1.class36 ?rwxrwxr-x··2.0·unx······287·b-·stor·80-Jan-01·00:00·org/jsoup/helper/HttpConnection$Response$1.class
36 ?rwxrwxr-x··2.0·unx······443·b-·stor·80-Jan-01·00:00·org/jsoup/helper/HttpConnection$Response$2.class37 ?rwxrwxr-x··2.0·unx······443·b-·stor·80-Jan-01·00:00·org/jsoup/helper/HttpConnection$Response$2.class
37 ?rwxrwxr-x··2.0·unx·····3497·b-·stor·80-Jan-01·00:00·org/jsoup/helper/StringUtil.class38 ?rwxrwxr-x··2.0·unx·····3497·b-·stor·80-Jan-01·00:00·org/jsoup/helper/StringUtil.class
38 ?rwxrwxr-x··2.0·unx·····1183·b-·stor·80-Jan-01·00:00·org/jsoup/helper/Validate.class39 ?rwxrwxr-x··2.0·unx·····1183·b-·stor·80-Jan-01·00:00·org/jsoup/helper/Validate.class
39 ?rwxrwxr-x··2.0·unx·····2352·b-·stor·80-Jan-01·00:00·org/jsoup/helper/W3CDom.class40 ?rwxrwxr-x··2.0·unx·····2352·b-·stor·80-Jan-01·00:00·org/jsoup/helper/W3CDom.class
 41 ?rwxrwxr-x··2.0·unx······479·b-·stor·80-Jan-01·00:00·org/jsoup/internal/Normalizer.class
40 ?rwxrwxr-x··2.0·unx·····4269·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Attribute.class42 ?rwxrwxr-x··2.0·unx·····4243·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Attribute.class
41 ?rwxrwxr-x··2.0·unx·······80·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Attributes$1.class43 ?rwxrwxr-x··2.0·unx·······80·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Attributes$1.class
42 ?rwxrwxr-x··2.0·unx·····1580·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Attributes$Dataset$DatasetIterator.class44 ?rwxrwxr-x··2.0·unx·····1580·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Attributes$Dataset$DatasetIterator.class
43 ?rwxrwxr-x··2.0·unx······663·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Attributes$Dataset$EntrySet.class45 ?rwxrwxr-x··2.0·unx······663·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Attributes$Dataset$EntrySet.class
44 ?rwxrwxr-x··2.0·unx·····1461·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Attributes$Dataset.class46 ?rwxrwxr-x··2.0·unx·····1461·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Attributes$Dataset.class
45 ?rwxrwxr-x··2.0·unx·····4259·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Attributes.class47 ?rwxrwxr-x··2.0·unx·····4791·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Attributes.class
46 ?rwxrwxr-x··2.0·unx······808·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Document$OutputSettings$Syntax.class48 ?rwxrwxr-x··2.0·unx······808·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Document$OutputSettings$Syntax.class
47 ?rwxrwxr-x··2.0·unx·····2492·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Document$OutputSettings.class49 ?rwxrwxr-x··2.0·unx·····2401·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Document$OutputSettings.class
48 ?rwxrwxr-x··2.0·unx······827·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Document$QuirksMode.class50 ?rwxrwxr-x··2.0·unx······827·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Document$QuirksMode.class
49 ?rwxrwxr-x··2.0·unx······577·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Entities$1.class51 ?rwxrwxr-x··2.0·unx······577·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Entities$1.class
50 ?rwxrwxr-x··2.0·unx·····1092·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Entities$CoreCharset.class52 ?rwxrwxr-x··2.0·unx·····1092·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Entities$CoreCharset.class
51 ?rwxrwxr-x··2.0·unx·····1089·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Entities$EscapeMode.class53 ?rwxrwxr-x··2.0·unx·····2259·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Entities$EscapeMode.class
52 ?rwxrwxr-x··2.0·unx·····5704·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Entities.class54 ?rwxrwxr-x··2.0·unx·····6573·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Entities.class
53 ?rwxrwxr-x··2.0·unx·····8299·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Node.class55 ?rwxrwxr-x··2.0·unx·····8641·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Node.class
54 ?rwxrwxr-x··2.0·unx·····5389·b-·stor·80-Jan-01·00:00·org/jsoup/parser/CharacterReader.class56 ?rwxrwxr-x··2.0·unx·····5389·b-·stor·80-Jan-01·00:00·org/jsoup/parser/CharacterReader.class
55 ?rwxrwxr-x··2.0·unx······908·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$24.class57 ?rwxrwxr-x··2.0·unx······908·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$24.class
56 ?rwxrwxr-x··2.0·unx·····3746·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$Constants.class58 ?rwxrwxr-x··2.0·unx·····3746·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$Constants.class
57 ?rwxrwxr-x··2.0·unx·····5168·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState.class59 ?rwxrwxr-x··2.0·unx·····5168·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState.class
58 ?rwxrwxr-x··2.0·unx······807·b-·stor·80-Jan-01·00:00·org/jsoup/parser/ParseError.class60 ?rwxrwxr-x··2.0·unx······807·b-·stor·80-Jan-01·00:00·org/jsoup/parser/ParseError.class
59 ?rwxrwxr-x··2.0·unx······587·b-·stor·80-Jan-01·00:00·org/jsoup/parser/ParseErrorList.class61 ?rwxrwxr-x··2.0·unx······587·b-·stor·80-Jan-01·00:00·org/jsoup/parser/ParseErrorList.class
 62 ?rwxrwxr-x··2.0·unx·····1148·b-·stor·80-Jan-01·00:00·org/jsoup/parser/ParseSettings.class
60 ?rwxrwxr-x··2.0·unx·····3069·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Parser.class63 ?rwxrwxr-x··2.0·unx·····3642·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Parser.class
61 ?rwxrwxr-x··2.0·unx·····6556·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Tag.class64 ?rwxrwxr-x··2.0·unx·····6702·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Tag.class
62 ?rwxrwxr-x··2.0·unx·······76·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Token$1.class65 ?rwxrwxr-x··2.0·unx·······76·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Token$1.class
63 ?rwxrwxr-x··2.0·unx·····1024·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Token$TokenType.class66 ?rwxrwxr-x··2.0·unx·····1024·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Token$TokenType.class
64 ?rwxrwxr-x··2.0·unx·····1779·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Token.class67 ?rwxrwxr-x··2.0·unx·····1779·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Token.class
65 ?rwxrwxr-x··2.0·unx·····4727·b-·stor·80-Jan-01·00:00·org/jsoup/parser/TokenQueue.class68 ?rwxrwxr-x··2.0·unx·····4874·b-·stor·80-Jan-01·00:00·org/jsoup/parser/TokenQueue.class
66 ?rwxrwxr-x··2.0·unx·····7761·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Tokeniser.class69 ?rwxrwxr-x··2.0·unx·····7991·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Tokeniser.class
67 ?rwxrwxr-x··2.0·unx····12800·b-·defN·80-Jan-01·00:00·org/jsoup/parser/TokeniserState.class70 ?rwxrwxr-x··2.0·unx····12768·b-·defN·80-Jan-01·00:00·org/jsoup/parser/TokeniserState.class
68 ?rwxrwxr-x··2.0·unx·····2982·b-·stor·80-Jan-01·00:00·org/jsoup/parser/TreeBuilder.class71 ?rwxrwxr-x··2.0·unx·····2968·b-·stor·80-Jan-01·00:00·org/jsoup/parser/TreeBuilder.class
69 ?rwxrwxr-x··2.0·unx······901·b-·stor·80-Jan-01·00:00·org/jsoup/parser/XmlTreeBuilder$1.class72 ?rwxrwxr-x··2.0·unx······901·b-·stor·80-Jan-01·00:00·org/jsoup/parser/XmlTreeBuilder$1.class
70 ?rwxrwxr-x··2.0·unx·······78·b-·stor·80-Jan-01·00:00·org/jsoup/safety/Cleaner$1.class73 ?rwxrwxr-x··2.0·unx·······78·b-·stor·80-Jan-01·00:00·org/jsoup/safety/Cleaner$1.class
71 ?rwxrwxr-x··2.0·unx······288·b-·stor·80-Jan-01·00:00·org/jsoup/safety/Cleaner$ElementMeta.class74 ?rwxrwxr-x··2.0·unx······288·b-·stor·80-Jan-01·00:00·org/jsoup/safety/Cleaner$ElementMeta.class
72 ?rwxrwxr-x··2.0·unx·····2695·b-·stor·80-Jan-01·00:00·org/jsoup/safety/Cleaner.class75 ?rwxrwxr-x··2.0·unx·····3345·b-·stor·80-Jan-01·00:00·org/jsoup/safety/Cleaner.class
73 ?rwxrwxr-x··2.0·unx······703·b-·stor·80-Jan-01·00:00·org/jsoup/safety/Whitelist$TypedValue.class76 ?rwxrwxr-x··2.0·unx······703·b-·stor·80-Jan-01·00:00·org/jsoup/safety/Whitelist$TypedValue.class
74 ?rwxrwxr-x··2.0·unx·····8123·b-·stor·80-Jan-01·00:00·org/jsoup/safety/Whitelist.class77 ?rwxrwxr-x··2.0·unx·····8340·b-·stor·80-Jan-01·00:00·org/jsoup/safety/Whitelist.class
75 ?rwxrwxr-x··2.0·unx······607·b-·stor·80-Jan-01·00:00·org/jsoup/select/Collector.class78 ?rwxrwxr-x··2.0·unx······607·b-·stor·80-Jan-01·00:00·org/jsoup/select/Collector.class
76 ?rwxrwxr-x··2.0·unx·····5109·b-·stor·80-Jan-01·00:00·org/jsoup/select/Elements.class79 ?rwxrwxr-x··2.0·unx·····6180·b-·stor·80-Jan-01·00:00·org/jsoup/select/Elements.class
77 ?rwxrwxr-x··2.0·unx······215·b-·stor·80-Jan-01·00:00·org/jsoup/select/Evaluator.class80 ?rwxrwxr-x··2.0·unx······215·b-·stor·80-Jan-01·00:00·org/jsoup/select/Evaluator.class
78 ?rwxrwxr-x··2.0·unx······715·b-·stor·80-Jan-01·00:00·org/jsoup/select/NodeTraversor.class81 ?rwxrwxr-x··2.0·unx······715·b-·stor·80-Jan-01·00:00·org/jsoup/select/NodeTraversor.class
79 ?rwxrwxr-x··2.0·unx······139·b-·stor·80-Jan-01·00:00·org/jsoup/select/NodeVisitor.class82 ?rwxrwxr-x··2.0·unx······139·b-·stor·80-Jan-01·00:00·org/jsoup/select/NodeVisitor.class
80 ?rwxrwxr-x··2.0·unx····10755·b-·defN·80-Jan-01·00:00·org/jsoup/select/QueryParser.class83 ?rwxrwxr-x··2.0·unx····11362·b-·defN·80-Jan-01·00:00·org/jsoup/select/QueryParser.class
81 ?rwxrwxr-x··2.0·unx······347·b-·stor·80-Jan-01·00:00·org/jsoup/select/Selector$SelectorParseException.class84 ?rwxrwxr-x··2.0·unx······347·b-·stor·80-Jan-01·00:00·org/jsoup/select/Selector$SelectorParseException.class
82 ?rwxrwxr-x··2.0·unx·····2213·b-·stor·80-Jan-01·00:00·org/jsoup/select/Selector.class85 ?rwxrwxr-x··2.0·unx·····2213·b-·stor·80-Jan-01·00:00·org/jsoup/select/Selector.class
83 ?rwxrwxr-x··2.0·unx·····3122·b-·stor·80-Jan-01·00:00·com/google/android/apps/muzei/api/RemoteMuzeiArtSource.class86 ?rwxrwxr-x··2.0·unx·····3122·b-·stor·80-Jan-01·00:00·com/google/android/apps/muzei/api/RemoteMuzeiArtSource.class
84 ?rwxrwxr-x··2.0·unx······934·b-·stor·80-Jan-01·00:00·org/jsoup/Connection$Request.class87 ?rwxrwxr-x··2.0·unx······934·b-·stor·80-Jan-01·00:00·org/jsoup/Connection$Request.class
85 ?rwxrwxr-x··2.0·unx······319·b-·stor·80-Jan-01·00:00·org/jsoup/Connection$Response.class88 ?rwxrwxr-x··2.0·unx······381·b-·stor·80-Jan-01·00:00·org/jsoup/Connection$Response.class
86 ?rwxrwxr-x··2.0·unx·····2456·b-·stor·80-Jan-01·00:00·org/jsoup/examples/HtmlToPlainText$FormattingVisitor.class89 ?rwxrwxr-x··2.0·unx·····2456·b-·stor·80-Jan-01·00:00·org/jsoup/examples/HtmlToPlainText$FormattingVisitor.class
87 ?rwxrwxr-x··2.0·unx·····2999·b-·stor·80-Jan-01·00:00·org/jsoup/helper/HttpConnection$Base.class90 ?rwxrwxr-x··2.0·unx·····3683·b-·stor·80-Jan-01·00:00·org/jsoup/helper/HttpConnection$Base.class
88 ?rwxrwxr-x··2.0·unx·····1765·b-·stor·80-Jan-01·00:00·org/jsoup/helper/HttpConnection$KeyVal.class91 ?rwxrwxr-x··2.0·unx·····1765·b-·stor·80-Jan-01·00:00·org/jsoup/helper/HttpConnection$KeyVal.class
89 ?rwxrwxr-x··2.0·unx·····7085·b-·stor·80-Jan-01·00:00·org/jsoup/helper/HttpConnection.class92 ?rwxrwxr-x··2.0·unx·····7703·b-·stor·80-Jan-01·00:00·org/jsoup/helper/HttpConnection.class
90 ?rwxrwxr-x··2.0·unx·····2856·b-·stor·80-Jan-01·00:00·org/jsoup/helper/W3CDom$W3CBuilder.class93 ?rwxrwxr-x··2.0·unx·····3052·b-·stor·80-Jan-01·00:00·org/jsoup/helper/W3CDom$W3CBuilder.class
91 ?rwxrwxr-x··2.0·unx······285·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/BooleanAttribute.class94 ?rwxrwxr-x··2.0·unx······285·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/BooleanAttribute.class
92 ?rwxrwxr-x··2.0·unx·····1065·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Comment.class95 ?rwxrwxr-x··2.0·unx·····1065·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Comment.class
93 ?rwxrwxr-x··2.0·unx·····1206·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/DataNode.class96 ?rwxrwxr-x··2.0·unx·····1206·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/DataNode.class
94 ?rwxrwxr-x··2.0·unx·····1629·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/DocumentType.class97 ?rwxrwxr-x··2.0·unx·····1994·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/DocumentType.class
95 ?rwxrwxr-x··2.0·unx·····1164·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Element$1.class98 ?rwxrwxr-x··2.0·unx·····1164·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Element$1.class
96 ?rwxrwxr-x··2.0·unx····15955·b-·defN·80-Jan-01·00:00·org/jsoup/nodes/Element.class99 ?rwxrwxr-x··2.0·unx····17273·b-·defN·80-Jan-01·00:00·org/jsoup/nodes/Element.class
97 ?rwxrwxr-x··2.0·unx······487·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Node$1.class100 ?rwxrwxr-x··2.0·unx······487·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Node$1.class
 101 ?rwxrwxr-x··2.0·unx······371·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Node$NodeList.class
98 ?rwxrwxr-x··2.0·unx······987·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Node$OuterHtmlVisitor.class102 ?rwxrwxr-x··2.0·unx······987·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/Node$OuterHtmlVisitor.class
99 ?rwxrwxr-x··2.0·unx·····3690·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/TextNode.class103 ?rwxrwxr-x··2.0·unx·····3690·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/TextNode.class
100 ?rwxrwxr-x··2.0·unx·····1244·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/XmlDeclaration.class104 ?rwxrwxr-x··2.0·unx·····1244·b-·stor·80-Jan-01·00:00·org/jsoup/nodes/XmlDeclaration.class
101 ?rwxrwxr-x··2.0·unx····16614·b-·defN·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilder.class105 ?rwxrwxr-x··2.0·unx····17092·b-·defN·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilder.class
102 ?rwxrwxr-x··2.0·unx·····2423·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$10.class106 ?rwxrwxr-x··2.0·unx·····2423·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$10.class
103 ?rwxrwxr-x··2.0·unx·····2139·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$11.class107 ?rwxrwxr-x··2.0·unx·····2145·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$11.class
104 ?rwxrwxr-x··2.0·unx·····2314·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$12.class108 ?rwxrwxr-x··2.0·unx·····2320·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$12.class
105 ?rwxrwxr-x··2.0·unx·····2608·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$13.class109 ?rwxrwxr-x··2.0·unx·····2614·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$13.class
106 ?rwxrwxr-x··2.0·unx·····2415·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$14.class110 ?rwxrwxr-x··2.0·unx·····2421·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$14.class
107 ?rwxrwxr-x··2.0·unx·····2361·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$15.class111 ?rwxrwxr-x··2.0·unx·····2367·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$15.class
108 ?rwxrwxr-x··2.0·unx·····3077·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$16.class112 ?rwxrwxr-x··2.0·unx·····3110·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$16.class
109 ?rwxrwxr-x··2.0·unx·····1609·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$17.class113 ?rwxrwxr-x··2.0·unx·····1615·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$17.class
110 ?rwxrwxr-x··2.0·unx·····1556·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$18.class114 ?rwxrwxr-x··2.0·unx·····1562·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$18.class
111 ?rwxrwxr-x··2.0·unx·····2126·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$19.class115 ?rwxrwxr-x··2.0·unx·····2132·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$19.class
112 ?rwxrwxr-x··2.0·unx·····1703·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$1.class116 ?rwxrwxr-x··2.0·unx·····1936·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$1.class
113 ?rwxrwxr-x··2.0·unx·····1685·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$20.class117 ?rwxrwxr-x··2.0·unx·····1691·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$20.class
114 ?rwxrwxr-x··2.0·unx·····1271·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$21.class118 ?rwxrwxr-x··2.0·unx·····1277·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$21.class
115 ?rwxrwxr-x··2.0·unx·····1309·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$22.class119 ?rwxrwxr-x··2.0·unx·····1315·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$22.class
116 ?rwxrwxr-x··2.0·unx······371·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$23.class120 ?rwxrwxr-x··2.0·unx······371·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$23.class
117 ?rwxrwxr-x··2.0·unx·····1770·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$2.class121 ?rwxrwxr-x··2.0·unx·····1776·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$2.class
118 ?rwxrwxr-x··2.0·unx·····1836·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$3.class122 ?rwxrwxr-x··2.0·unx·····1842·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$3.class
119 ?rwxrwxr-x··2.0·unx·····3278·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$4.class123 ?rwxrwxr-x··2.0·unx·····3284·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$4.class
120 ?rwxrwxr-x··2.0·unx·····2131·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$5.class124 ?rwxrwxr-x··2.0·unx·····2137·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$5.class
121 ?rwxrwxr-x··2.0·unx·····2536·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$6.class125 ?rwxrwxr-x··2.0·unx·····2542·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$6.class
122 ?rwxrwxr-x··2.0·unx····12978·b-·defN·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$7.class126 ?rwxrwxr-x··2.0·unx····13138·b-·defN·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$7.class
123 ?rwxrwxr-x··2.0·unx······961·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$8.class127 ?rwxrwxr-x··2.0·unx······961·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$8.class
124 ?rwxrwxr-x··2.0·unx·····3686·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$9.class128 ?rwxrwxr-x··2.0·unx·····3692·b-·stor·80-Jan-01·00:00·org/jsoup/parser/HtmlTreeBuilderState$9.class
125 ?rwxrwxr-x··2.0·unx······631·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Token$Character.class129 ?rwxrwxr-x··2.0·unx······631·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Token$Character.class
126 ?rwxrwxr-x··2.0·unx······807·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Token$Comment.class130 ?rwxrwxr-x··2.0·unx······807·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Token$Comment.class
127 ?rwxrwxr-x··2.0·unx······936·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Token$Doctype.class131 ?rwxrwxr-x··2.0·unx·····1043·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Token$Doctype.class
128 ?rwxrwxr-x··2.0·unx······362·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Token$EOF.class132 ?rwxrwxr-x··2.0·unx······362·b-·stor·80-Jan-01·00:00·org/jsoup/parser/Token$EOF.class
Max diff block lines reached; 15376/32244 bytes (47.69%) of diff not shown.
2.43 KB
zipnote «TEMP»/diffoscope_4k9s3btd_tmp/tmp041qzqre_.zip
    
Offset 78, 14 lines modifiedOffset 78, 17 lines modified
  
78 Filename:·org/jsoup/examples/HtmlToPlainText.class78 Filename:·org/jsoup/examples/HtmlToPlainText.class
79 Comment:·79 Comment:·
  
80 Filename:·org/jsoup/examples/ListLinks.class80 Filename:·org/jsoup/examples/ListLinks.class
81 Comment:·81 Comment:·
  
 82 Filename:·org/jsoup/helper/ChangeNotifyingArrayList.class
 83 Comment:·
  
82 Filename:·org/jsoup/helper/DataUtil.class84 Filename:·org/jsoup/helper/DataUtil.class
83 Comment:·85 Comment:·
  
84 Filename:·org/jsoup/helper/DescendableLinkedList$1.class86 Filename:·org/jsoup/helper/DescendableLinkedList$1.class
85 Comment:·87 Comment:·
  
86 Filename:·org/jsoup/helper/DescendableLinkedList$DescendingIterator.class88 Filename:·org/jsoup/helper/DescendableLinkedList$DescendingIterator.class
Offset 108, 14 lines modifiedOffset 111, 17 lines modified
  
108 Filename:·org/jsoup/helper/Validate.class111 Filename:·org/jsoup/helper/Validate.class
109 Comment:·112 Comment:·
  
110 Filename:·org/jsoup/helper/W3CDom.class113 Filename:·org/jsoup/helper/W3CDom.class
111 Comment:·114 Comment:·
  
 115 Filename:·org/jsoup/internal/Normalizer.class
 116 Comment:·
  
112 Filename:·org/jsoup/nodes/Attribute.class117 Filename:·org/jsoup/nodes/Attribute.class
113 Comment:·118 Comment:·
  
114 Filename:·org/jsoup/nodes/Attributes$1.class119 Filename:·org/jsoup/nodes/Attributes$1.class
115 Comment:·120 Comment:·
  
116 Filename:·org/jsoup/nodes/Attributes$Dataset$DatasetIterator.class121 Filename:·org/jsoup/nodes/Attributes$Dataset$DatasetIterator.class
Offset 168, 14 lines modifiedOffset 174, 17 lines modified
  
168 Filename:·org/jsoup/parser/ParseError.class174 Filename:·org/jsoup/parser/ParseError.class
169 Comment:·175 Comment:·
  
170 Filename:·org/jsoup/parser/ParseErrorList.class176 Filename:·org/jsoup/parser/ParseErrorList.class
171 Comment:·177 Comment:·
  
 178 Filename:·org/jsoup/parser/ParseSettings.class
 179 Comment:·
  
172 Filename:·org/jsoup/parser/Parser.class180 Filename:·org/jsoup/parser/Parser.class
173 Comment:·181 Comment:·
  
174 Filename:·org/jsoup/parser/Tag.class182 Filename:·org/jsoup/parser/Tag.class
175 Comment:·183 Comment:·
  
176 Filename:·org/jsoup/parser/Token$1.class184 Filename:·org/jsoup/parser/Token$1.class
Offset 282, 14 lines modifiedOffset 291, 17 lines modified
  
282 Filename:·org/jsoup/nodes/Element.class291 Filename:·org/jsoup/nodes/Element.class
283 Comment:·292 Comment:·
  
284 Filename:·org/jsoup/nodes/Node$1.class293 Filename:·org/jsoup/nodes/Node$1.class
285 Comment:·294 Comment:·
  
 295 Filename:·org/jsoup/nodes/Node$NodeList.class
 296 Comment:·
  
286 Filename:·org/jsoup/nodes/Node$OuterHtmlVisitor.class297 Filename:·org/jsoup/nodes/Node$OuterHtmlVisitor.class
287 Comment:·298 Comment:·
  
288 Filename:·org/jsoup/nodes/TextNode.class299 Filename:·org/jsoup/nodes/TextNode.class
289 Comment:·300 Comment:·
  
290 Filename:·org/jsoup/nodes/XmlDeclaration.class301 Filename:·org/jsoup/nodes/XmlDeclaration.class
Offset 621, 14 lines modifiedOffset 633, 17 lines modified
  
621 Filename:·org/jsoup/select/Evaluator$AttributeWithValueMatching.class633 Filename:·org/jsoup/select/Evaluator$AttributeWithValueMatching.class
622 Comment:·634 Comment:·
  
623 Filename:·org/jsoup/select/Evaluator$Class.class635 Filename:·org/jsoup/select/Evaluator$Class.class
624 Comment:·636 Comment:·
  
 637 Filename:·org/jsoup/select/Evaluator$ContainsData.class
 638 Comment:·
  
625 Filename:·org/jsoup/select/Evaluator$ContainsOwnText.class639 Filename:·org/jsoup/select/Evaluator$ContainsOwnText.class
626 Comment:·640 Comment:·
  
627 Filename:·org/jsoup/select/Evaluator$ContainsText.class641 Filename:·org/jsoup/select/Evaluator$ContainsText.class
628 Comment:·642 Comment:·
  
629 Filename:·org/jsoup/select/Evaluator$CssNthEvaluator.class643 Filename:·org/jsoup/select/Evaluator$CssNthEvaluator.class
Offset 663, 14 lines modifiedOffset 678, 17 lines modified
  
663 Filename:·org/jsoup/select/Evaluator$MatchesOwn.class678 Filename:·org/jsoup/select/Evaluator$MatchesOwn.class
664 Comment:·679 Comment:·
  
665 Filename:·org/jsoup/select/Evaluator$Tag.class680 Filename:·org/jsoup/select/Evaluator$Tag.class
666 Comment:·681 Comment:·
  
 682 Filename:·org/jsoup/select/Evaluator$TagEndsWith.class
 683 Comment:·
  
667 Filename:·org/jsoup/select/StructuralEvaluator$Root.class684 Filename:·org/jsoup/select/StructuralEvaluator$Root.class
668 Comment:·685 Comment:·
  
669 Filename:·org/jsoup/select/StructuralEvaluator.class686 Filename:·org/jsoup/select/StructuralEvaluator.class
670 Comment:·687 Comment:·
  
671 Filename:·com/example/muzei/muzeiapod/ApodNasaArtSource.class688 Filename:·com/example/muzei/muzeiapod/ApodNasaArtSource.class
517 B
org/jsoup/Connection.class
465 B
procyon -ec {}
    
Offset 31, 14 lines modifiedOffset 31, 16 lines modified
31 ····31 ····
32 ····Connection·followRedirects(final·boolean·p0);32 ····Connection·followRedirects(final·boolean·p0);
33 ····33 ····
34 ····Document·get();34 ····Document·get();
35 ····35 ····
36 ····Connection·header(final·String·p0,·final·String·p1);36 ····Connection·header(final·String·p0,·final·String·p1);
37 ····37 ····
 38 ····Connection·headers(final·Map·p0);
 39 ····
38 ····Connection·ignoreContentType(final·boolean·p0);40 ····Connection·ignoreContentType(final·boolean·p0);
39 ····41 ····
40 ····Connection·ignoreHttpErrors(final·boolean·p0);42 ····Connection·ignoreHttpErrors(final·boolean·p0);
41 ····43 ····
42 ····Connection·maxBodySize(final·int·p0);44 ····Connection·maxBodySize(final·int·p0);
43 ····45 ····
44 ····Connection·method(final·Connection$Method·p0);46 ····Connection·method(final·Connection$Method·p0);
673 B
org/jsoup/Jsoup.class
631 B
procyon -ec {}
    
Offset 32, 15 lines modifiedOffset 32, 15 lines modified
32 ····}32 ····}
33 ····33 ····
34 ····public·static·Connection·connect(final·String·s)·{34 ····public·static·Connection·connect(final·String·s)·{
35 ········return·HttpConnection.connect(s);35 ········return·HttpConnection.connect(s);
36 ····}36 ····}
37 ····37 ····
38 ····public·static·boolean·isValid(final·String·s,·final·Whitelist·whitelist)·{38 ····public·static·boolean·isValid(final·String·s,·final·Whitelist·whitelist)·{
39 ········return·new·Cleaner(whitelist).isValid(parseBodyFragment(s,·""));39 ········return·new·Cleaner(whitelist).isValidBodyHtml(s);
40 ····}40 ····}
41 ····41 ····
42 ····public·static·Document·parse(final·File·file,·final·String·s)·{42 ····public·static·Document·parse(final·File·file,·final·String·s)·{
43 ········return·DataUtil.load(file,·s,·file.getAbsolutePath());43 ········return·DataUtil.load(file,·s,·file.getAbsolutePath());
44 ····}44 ····}
45 ····45 ····
46 ····public·static·Document·parse(final·File·file,·final·String·s,·final·String·s2)·{46 ····public·static·Document·parse(final·File·file,·final·String·s,·final·String·s2)·{
5.95 KB
org/jsoup/helper/DataUtil.class
5.89 KB
procyon -ec {}
    
Offset 1, 45 lines modifiedOffset 1, 46 lines modified
  
1 package·org.jsoup.helper;1 package·org.jsoup.helper;
  
2 import·java.nio.charset.IllegalCharsetNameException;2 import·java.nio.charset.IllegalCharsetNameException;
3 import·java.util.Locale;3 import·java.util.Locale;
4 import·java.io.ByteArrayOutputStream;4 import·java.io.ByteArrayOutputStream;
 5 import·java.util.Iterator;
5 import·org.jsoup.nodes.Element;6 import·org.jsoup.select.Elements;
6 import·org.jsoup.nodes.XmlDeclaration;7 import·org.jsoup.nodes.XmlDeclaration;
 8 import·org.jsoup.nodes.Element;
7 import·java.nio.charset.Charset;9 import·java.nio.charset.Charset;
8 import·java.util.Random;10 import·java.util.Random;
9 import·org.jsoup.parser.Parser;11 import·org.jsoup.parser.Parser;
10 import·org.jsoup.nodes.Document;12 import·org.jsoup.nodes.Document;
11 import·java.io.File;13 import·java.io.File;
12 import·java.util.regex.Matcher;14 import·java.util.regex.Matcher;
13 import·java.nio.ByteBuffer;15 import·java.nio.ByteBuffer;
14 import·java.io.OutputStream;16 import·java.io.OutputStream;
15 import·java.io.InputStream;17 import·java.io.InputStream;
16 import·java.util.regex.Pattern;18 import·java.util.regex.Pattern;
  
17 public·final·class·DataUtil19 public·final·class·DataUtil
18 {20 {
19 ····private·static·final·int·UNICODE_BOM·=·65279; 
20 ····static·final·int·boundaryLength·=·32;21 ····static·final·int·boundaryLength·=·32;
21 ····private·static·final·int·bufferSize·=·131072;22 ····private·static·final·int·bufferSize·=·60000;
22 ····private·static·final·Pattern·charsetPattern;23 ····private·static·final·Pattern·charsetPattern;
23 ····static·final·String·defaultCharset·=·"UTF-8";24 ····static·final·String·defaultCharset·=·"UTF-8";
24 ····private·static·final·char[]·mimeBoundaryChars;25 ····private·static·final·char[]·mimeBoundaryChars;
25 ····26 ····
26 ····static·{27 ····static·{
27 ········charsetPattern·=·Pattern.compile("(?i)\\bcharset=\\s*(?:\"|')?([^\\s,;\"']*)");28 ········charsetPattern·=·Pattern.compile("(?i)\\bcharset=\\s*(?:\"|')?([^\\s,;\"']*)");
28 ········mimeBoundaryChars·=·"-_1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();29 ········mimeBoundaryChars·=·"-_1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
29 ····}30 ····}
30 ····31 ····
31 ····private·DataUtil()·{32 ····private·DataUtil()·{
32 ····}33 ····}
33 ····34 ····
34 ····static·void·crossStreams(final·InputStream·inputStream,·final·OutputStream·outputStream)·{35 ····static·void·crossStreams(final·InputStream·inputStream,·final·OutputStream·outputStream)·{
35 ········final·byte[]·array·=·new·byte[131072];36 ········final·byte[]·array·=·new·byte[60000];
36 ········while·(true)·{37 ········while·(true)·{
37 ············final·int·read·=·inputStream.read(array);38 ············final·int·read·=·inputStream.read(array);
38 ············if·(read·==·-1)·{39 ············if·(read·==·-1)·{
39 ················break;40 ················break;
40 ············}41 ············}
41 ············outputStream.write(array,·0,·read);42 ············outputStream.write(array,·0,·read);
42 ········}43 ········}
Offset 109, 25 lines modifiedOffset 110, 28 lines modified
109 ····static·Document·parseByteData(final·ByteBuffer·bb,·String·charsetName,·final·String·s,·final·Parser·parser)·{110 ····static·Document·parseByteData(final·ByteBuffer·bb,·String·charsetName,·final·String·s,·final·Parser·parser)·{
110 ········Document·document·=·null;111 ········Document·document·=·null;
111 ········charsetName·=·detectCharsetFromBom(bb,·charsetName);112 ········charsetName·=·detectCharsetFromBom(bb,·charsetName);
112 ········String·s2;113 ········String·s2;
113 ········if·(charsetName·==·null)·{114 ········if·(charsetName·==·null)·{
114 ············s2·=·Charset.forName("UTF-8").decode(bb).toString();115 ············s2·=·Charset.forName("UTF-8").decode(bb).toString();
115 ············document·=·parser.parseInput(s2,·s);116 ············document·=·parser.parseInput(s2,·s);
116 ············final·Element·first·=·document.select("meta[http-equiv=content-type],·meta[charset]").first();117 ············final·Elements·select·=·document.select("meta[http-equiv=content-type],·meta[charset]");
117 ············String·s3·=·null;118 ············String·s3·=·null;
118 ············if·(first·!=·null)·{119 ············for·(final·Element·element·:·select)·{
119 ················if·(first.hasAttr("http-equiv"))·{120 ················if·(element.hasAttr("http-equiv"))·{
120 ····················s3·=·getCharsetFromContentType(first.attr("content"));121 ····················s3·=·getCharsetFromContentType(element.attr("content"));
121 ················}122 ················}
122 ················if·(s3·==·null·&&·first.hasAttr("charset"))·{123 ················if·(s3·==·null·&&·element.hasAttr("charset"))·{
123 ····················s3·=·first.attr("charset");124 ····················s3·=·element.attr("charset");
 125 ················}
 126 ················if·(s3·!=·null)·{
 127 ····················break;
124 ················}128 ················}
125 ············}129 ············}
126 ············if·(s3·==·null·&&·document.childNode(0)·instanceof·XmlDeclaration)·{130 ············if·(s3·==·null·&&·document.childNodeSize()·>·0·&&·document.childNode(0)·instanceof·XmlDeclaration)·{
127 ················final·XmlDeclaration·xmlDeclaration·=·(XmlDeclaration)document.childNode(0);131 ················final·XmlDeclaration·xmlDeclaration·=·(XmlDeclaration)document.childNode(0);
128 ················if·(xmlDeclaration.name().equals("xml"))·{132 ················if·(xmlDeclaration.name().equals("xml"))·{
129 ····················s3·=·xmlDeclaration.attr("encoding");133 ····················s3·=·xmlDeclaration.attr("encoding");
130 ················}134 ················}
131 ············}135 ············}
132 ············final·String·validateCharset·=·validateCharset(s3);136 ············final·String·validateCharset·=·validateCharset(s3);
133 ············if·(validateCharset·!=·null·&&·!validateCharset.equals("UTF-8"))·{137 ············if·(validateCharset·!=·null·&&·!validateCharset.equals("UTF-8"))·{
Offset 230, 45 lines modifiedOffset 234, 52 lines modified
230 ········throw·new·IllegalStateException("An·error·occurred·while·decompiling·this·method.");234 ········throw·new·IllegalStateException("An·error·occurred·while·decompiling·this·method.");
231 ····}235 ····}
232 ····236 ····
233 ····static·ByteBuffer·readToByteBuffer(final·InputStream·inputStream)·{237 ····static·ByteBuffer·readToByteBuffer(final·InputStream·inputStream)·{
234 ········return·readToByteBuffer(inputStream,·0);238 ········return·readToByteBuffer(inputStream,·0);
235 ····}239 ····}
236 ····240 ····
237 ····static·ByteBuffer·readToByteBuffer(final·InputStream·inputStream,·final·int·n)·{241 ····public·static·ByteBuffer·readToByteBuffer(final·InputStream·inputStream,·final·int·n)·{
238 ········final·int·size·=·131072; 
239 ········final·boolean·b·=·true;242 ········final·boolean·b·=·true;
 243 ········int·size·=·60000;
240 ········Validate.isTrue(n·>=·0·&&·b,·"maxSize·must·be·0·(unlimited)·or·larger");244 ········Validate.isTrue(n·>=·0·&&·b,·"maxSize·must·be·0·(unlimited)·or·larger");
241 ········int·n2;245 ········boolean·b2;
242 ········if·(n·>·0)·{246 ········if·(n·>·0)·{
243 ············n2·=·(b·?·1·:·0);247 ············b2·=·b;
 248 ········}
 249 ········else·{
 250 ············b2·=·false;
 251 ········}
 252 ········int·n2;
 253 ········if·(b2·&&·n·<·size)·{
 254 ············n2·=·n;
244 ········}255 ········}
245 ········else·{256 ········else·{
246 ············n2·=·0;257 ············n2·=·size;
 258 ········}
 259 ········final·byte[]·b3·=·new·byte[n2];
 260 ········if·(b2)·{
 261 ············size·=·n;
247 ········}262 ········}
248 ········final·byte[]·b2·=·new·byte[size]; 
249 ········final·ByteArrayOutputStream·byteArrayOutputStream·=·new·ByteArrayOutputStream(size);263 ········final·ByteArrayOutputStream·byteArrayOutputStream·=·new·ByteArrayOutputStream(size);
250 ········int·len·=·n;264 ········int·len·=·n;
 265 ········while·(!Thread.interrupted())·{
251 ········Block_4:·{ 
252 ············while·(true)·{ 
253 ················final·int·read·=·inputStream.read(b2);266 ············final·int·read·=·inputStream.read(b3);
254 ················if·(read·==·-1)·{267 ············if·(read·==·-1)·{
 268 ················break;
 269 ············}
 270 ············if·(b2)·{
 271 ················if·(read·>·len)·{
 272 ····················byteArrayOutputStream.write(b3,·0,·len);
255 ····················break;273 ····················break;
256 ················}274 ················}
257 ················if·(n2·!=·0)·{ 
258 ····················if·(read·>·len)·{ 
259 ························break·Block_4; 
260 ····················} 
261 ····················len·-=·read;275 ················len·-=·read;
Max diff block lines reached; 407/6005 bytes (6.78%) of diff not shown.
1.53 KB
org/jsoup/nodes/Attribute.class
1.47 KB
procyon -ec {}
    
Offset 14, 17 lines modifiedOffset 14, 18 lines modified
14 ····private·String·value;14 ····private·String·value;
15 ····15 ····
16 ····static·{16 ····static·{
17 ········booleanAttributes·=·new·String[]·{·"allowfullscreen",·"async",·"autofocus",·"checked",·"compact",·"declare",·"default",·"defer",·"disabled",·"formnovalidate",·"hidden",·"inert",·"ismap",·"itemscope",·"multiple",·"muted",·"nohref",·"noresize",·"noshade",·"novalidate",·"nowrap",·"open",·"readonly",·"required",·"reversed",·"seamless",·"selected",·"sortable",·"truespeed",·"typemustmatch"·};17 ········booleanAttributes·=·new·String[]·{·"allowfullscreen",·"async",·"autofocus",·"checked",·"compact",·"declare",·"default",·"defer",·"disabled",·"formnovalidate",·"hidden",·"inert",·"ismap",·"itemscope",·"multiple",·"muted",·"nohref",·"noresize",·"noshade",·"novalidate",·"nowrap",·"open",·"readonly",·"required",·"reversed",·"seamless",·"selected",·"sortable",·"truespeed",·"typemustmatch"·};
18 ····}18 ····}
19 ····19 ····
20 ····public·Attribute(final·String·s,·final·String·value)·{20 ····public·Attribute(final·String·s,·final·String·value)·{
21 ········Validate.notEmpty(s);21 ········Validate.notNull((Object)s);
22 ········Validate.notNull((Object)value);22 ········Validate.notNull((Object)value);
23 ········this.key·=·s.trim().toLowerCase();23 ········this.key·=·s.trim();
 24 ········Validate.notEmpty(s);
24 ········this.value·=·value;25 ········this.value·=·value;
25 ····}26 ····}
26 ····27 ····
27 ····public·static·Attribute·createFromEncoded(final·String·s,·final·String·s2)·{28 ····public·static·Attribute·createFromEncoded(final·String·s,·final·String·s2)·{
28 ········return·new·Attribute(s,·Entities.unescape(s2,·true));29 ········return·new·Attribute(s,·Entities.unescape(s2,·true));
29 ····}30 ····}
30 ····31 ····
Offset 127, 15 lines modifiedOffset 128, 15 lines modified
127 ····128 ····
128 ····protected·boolean·isDataAttribute()·{129 ····protected·boolean·isDataAttribute()·{
129 ········return·this.key.startsWith("data-")·&&·this.key.length()·>·"data-".length();130 ········return·this.key.startsWith("data-")·&&·this.key.length()·>·"data-".length();
130 ····}131 ····}
131 ····132 ····
132 ····public·void·setKey(final·String·s)·{133 ····public·void·setKey(final·String·s)·{
133 ········Validate.notEmpty(s);134 ········Validate.notEmpty(s);
134 ········this.key·=·s.trim().toLowerCase();135 ········this.key·=·s.trim();
135 ····}136 ····}
136 ····137 ····
137 ····public·String·setValue(final·String·value)·{138 ····public·String·setValue(final·String·value)·{
138 ········Validate.notNull((Object)value);139 ········Validate.notNull((Object)value);
139 ········final·String·value2·=·this.value;140 ········final·String·value2·=·this.value;
140 ········this.value·=·value;141 ········this.value·=·value;
141 ········return·value2;142 ········return·value2;
4.24 KB
org/jsoup/nodes/Attributes.class
4.17 KB
procyon -ec {}
    
Offset 96, 34 lines modifiedOffset 96, 72 lines modified
96 ················}96 ················}
97 ················b·=·false;97 ················b·=·false;
98 ············}98 ············}
99 ········}99 ········}
100 ········return·b;100 ········return·b;
101 ····}101 ····}
102 ····102 ····
103 ····public·String·get(final·String·s)·{103 ····public·String·get(final·String·key)·{
104 ········Validate.notEmpty(s);104 ········Validate.notEmpty(key);
105 ········String·value;105 ········String·value;
106 ········if·(this.attributes·==·null)·{106 ········if·(this.attributes·==·null)·{
107 ············value·=·"";107 ············value·=·"";
108 ········}108 ········}
109 ········else·{109 ········else·{
110 ············final·Attribute·attribute·=·(Attribute)this.attributes.get(s.toLowerCase());110 ············final·Attribute·attribute·=·(Attribute)this.attributes.get(key);
111 ············if·(attribute·!=·null)·{111 ············if·(attribute·!=·null)·{
112 ················value·=·attribute.getValue();112 ················value·=·attribute.getValue();
113 ············}113 ············}
114 ············else·{114 ············else·{
115 ················value·=·"";115 ················value·=·"";
116 ············}116 ············}
117 ········}117 ········}
118 ········return·value;118 ········return·value;
119 ····}119 ····}
120 ····120 ····
 121 ····public·String·getIgnoreCase(final·String·s)·{
 122 ········Validate.notEmpty(s);
 123 ········String·s2;
 124 ········if·(this.attributes·==·null)·{
 125 ············s2·=·"";
 126 ········}
 127 ········else·{
 128 ············final·Attribute·attribute·=·(Attribute)this.attributes.get(s);
 129 ············if·(attribute·!=·null)·{
 130 ················s2·=·attribute.getValue();
 131 ············}
 132 ············else·{
 133 ················for·(final·String·key·:·this.attributes.keySet())·{
 134 ····················if·(key.equalsIgnoreCase(s))·{
 135 ························s2·=·((Attribute)this.attributes.get(key)).getValue();
 136 ························return·s2;
 137 ····················}
 138 ················}
 139 ················s2·=·"";
 140 ············}
 141 ········}
 142 ········return·s2;
 143 ····}
 144 ····
121 ····public·boolean·hasKey(final·String·s)·{145 ····public·boolean·hasKey(final·String·key)·{
122 ········return·this.attributes·!=·null·&&·this.attributes.containsKey(s.toLowerCase());146 ········return·this.attributes·!=·null·&&·this.attributes.containsKey(key);
 147 ····}
 148 ····
 149 ····public·boolean·hasKeyIgnoreCase(final·String·anotherString)·{
 150 ········boolean·b·=·false;
 151 ········if·(this.attributes·!=·null)·{
 152 ············final·Iterator<String>·iterator·=·this.attributes.keySet().iterator();
 153 ············while·(iterator.hasNext())·{
 154 ················if·(((String)iterator.next()).equalsIgnoreCase(anotherString))·{
 155 ····················b·=·true;
 156 ····················break;
 157 ················}
 158 ············}
 159 ········}
 160 ········return·b;
123 ····}161 ····}
124 ····162 ····
125 ····@Override163 ····@Override
126 ····public·int·hashCode()·{164 ····public·int·hashCode()·{
127 ········int·hashCode;165 ········int·hashCode;
128 ········if·(this.attributes·!=·null)·{166 ········if·(this.attributes·!=·null)·{
129 ············hashCode·=·this.attributes.hashCode();167 ············hashCode·=·this.attributes.hashCode();
Offset 153, 15 lines modifiedOffset 191, 22 lines modified
153 ················appendable.append("·");191 ················appendable.append("·");
154 ················attribute.html(appendable,·document$OutputSettings);192 ················attribute.html(appendable,·document$OutputSettings);
155 ············}193 ············}
156 ········}194 ········}
157 ····}195 ····}
158 ····196 ····
159 ····public·Iterator·iterator()·{197 ····public·Iterator·iterator()·{
 198 ········Iterator<Object>·iterator;
 199 ········if·(this.attributes·==·null·||·this.attributes.isEmpty())·{
 200 ············iterator·=·Collections.emptyList().iterator();
 201 ········}
 202 ········else·{
 203 ············iterator·=·this.attributes.values().iterator();
 204 ········}
160 ········return·this.asList().iterator();205 ········return·iterator;
161 ····}206 ····}
162 ····207 ····
163 ····public·void·put(final·String·s,·final·String·s2)·{208 ····public·void·put(final·String·s,·final·String·s2)·{
164 ········this.put(new·Attribute(s,·s2));209 ········this.put(new·Attribute(s,·s2));
165 ····}210 ····}
166 ····211 ····
167 ····public·void·put(final·String·s,·final·boolean·b)·{212 ····public·void·put(final·String·s,·final·boolean·b)·{
Offset 177, 18 lines modifiedOffset 222, 30 lines modified
177 ········Validate.notNull((Object)value);222 ········Validate.notNull((Object)value);
178 ········if·(this.attributes·==·null)·{223 ········if·(this.attributes·==·null)·{
179 ············this.attributes·=·new·LinkedHashMap(2);224 ············this.attributes·=·new·LinkedHashMap(2);
180 ········}225 ········}
181 ········this.attributes.put(value.getKey(),·value);226 ········this.attributes.put(value.getKey(),·value);
182 ····}227 ····}
183 ····228 ····
184 ····public·void·remove(final·String·s)·{229 ····public·void·remove(final·String·key)·{
185 ········Validate.notEmpty(s);230 ········Validate.notEmpty(key);
 231 ········if·(this.attributes·!=·null)·{
 232 ············this.attributes.remove(key);
 233 ········}
 234 ····}
 235 ····
 236 ····public·void·removeIgnoreCase(final·String·anotherString)·{
 237 ········Validate.notEmpty(anotherString);
186 ········if·(this.attributes·!=·null)·{238 ········if·(this.attributes·!=·null)·{
187 ············this.attributes.remove(s.toLowerCase());239 ············final·Iterator<String>·iterator·=·this.attributes.keySet().iterator();
 240 ············while·(iterator.hasNext())·{
 241 ················if·(((String)iterator.next()).equalsIgnoreCase(anotherString))·{
 242 ····················iterator.remove();
 243 ················}
 244 ············}
188 ········}245 ········}
189 ····}246 ····}
190 ····247 ····
191 ····public·int·size()·{248 ····public·int·size()·{
192 ········int·size;249 ········int·size;
193 ········if·(this.attributes·==·null)·{250 ········if·(this.attributes·==·null)·{
194 ············size·=·0;251 ············size·=·0;
1.92 KB
org/jsoup/nodes/Document$OutputSettings.class
1.84 KB
procyon -ec {}
    
Offset 4, 26 lines modifiedOffset 4, 24 lines modified
4 import·org.jsoup.helper.Validate;4 import·org.jsoup.helper.Validate;
5 import·java.nio.charset.CharsetEncoder;5 import·java.nio.charset.CharsetEncoder;
6 import·java.nio.charset.Charset;6 import·java.nio.charset.Charset;
  
7 public·class·Document$OutputSettings·implements·Cloneable7 public·class·Document$OutputSettings·implements·Cloneable
8 {8 {
9 ····private·Charset·charset;9 ····private·Charset·charset;
10 ····private·CharsetEncoder·charsetEncoder; 
11 ····private·Entities$EscapeMode·escapeMode;10 ····private·Entities$EscapeMode·escapeMode;
12 ····private·int·indentAmount;11 ····private·int·indentAmount;
13 ····private·boolean·outline;12 ····private·boolean·outline;
14 ····private·boolean·prettyPrint;13 ····private·boolean·prettyPrint;
15 ····private·Document$OutputSettings$Syntax·syntax;14 ····private·Document$OutputSettings$Syntax·syntax;
16 ····15 ····
17 ····public·Document$OutputSettings()·{16 ····public·Document$OutputSettings()·{
18 ········final·boolean·b·=·true;17 ········final·boolean·b·=·true;
19 ········this.escapeMode·=·Entities$EscapeMode.base;18 ········this.escapeMode·=·Entities$EscapeMode.base;
20 ········this.charset·=·Charset.forName("UTF-8");19 ········this.charset·=·Charset.forName("UTF-8");
21 ········this.charsetEncoder·=·this.charset.newEncoder(); 
22 ········this.prettyPrint·=·b;20 ········this.prettyPrint·=·b;
23 ········this.outline·=·false;21 ········this.outline·=·false;
24 ········this.indentAmount·=·(b·?·1·:·0);22 ········this.indentAmount·=·(b·?·1·:·0);
25 ········this.syntax·=·Document$OutputSettings$Syntax.html;23 ········this.syntax·=·Document$OutputSettings$Syntax.html;
26 ····}24 ····}
27 ····25 ····
28 ····public·Charset·charset()·{26 ····public·Charset·charset()·{
Offset 33, 15 lines modifiedOffset 31, 14 lines modified
33 ····public·Document$OutputSettings·charset(final·String·charsetName)·{31 ····public·Document$OutputSettings·charset(final·String·charsetName)·{
34 ········this.charset(Charset.forName(charsetName));32 ········this.charset(Charset.forName(charsetName));
35 ········return·this;33 ········return·this;
36 ····}34 ····}
37 ····35 ····
38 ····public·Document$OutputSettings·charset(final·Charset·charset)·{36 ····public·Document$OutputSettings·charset(final·Charset·charset)·{
39 ········this.charset·=·charset;37 ········this.charset·=·charset;
40 ········this.charsetEncoder·=·charset.newEncoder(); 
41 ········return·this;38 ········return·this;
42 ····}39 ····}
43 ····40 ····
44 ····public·Document$OutputSettings·clone()·{41 ····public·Document$OutputSettings·clone()·{
45 ········try·{42 ········try·{
46 ············final·Object·clone·=·super.clone();43 ············final·Object·clone·=·super.clone();
47 ············try·{44 ············try·{
Offset 54, 15 lines modifiedOffset 51, 15 lines modified
54 ················throw·new·RuntimeException(cause);51 ················throw·new·RuntimeException(cause);
55 ············}52 ············}
56 ········}53 ········}
57 ········catch·(CloneNotSupportedException·ex)·{}54 ········catch·(CloneNotSupportedException·ex)·{}
58 ····}55 ····}
59 ····56 ····
60 ····CharsetEncoder·encoder()·{57 ····CharsetEncoder·encoder()·{
61 ········return·this.charsetEncoder;58 ········return·this.charset.newEncoder();
62 ····}59 ····}
63 ····60 ····
64 ····public·Document$OutputSettings·escapeMode(final·Entities$EscapeMode·escapeMode)·{61 ····public·Document$OutputSettings·escapeMode(final·Entities$EscapeMode·escapeMode)·{
65 ········this.escapeMode·=·escapeMode;62 ········this.escapeMode·=·escapeMode;
66 ········return·this;63 ········return·this;
67 ····}64 ····}
68 ····65 ····
1.66 KB
org/jsoup/nodes/Entities$CoreCharset.class
1.57 KB
javap -verbose -constants -s -l -private {}
    
Offset 61, 15 lines modifiedOffset 61, 15 lines modified
61 ··#53·=·Utf8···············clone61 ··#53·=·Utf8···············clone
62 ··#54·=·Utf8···············()Ljava/lang/Object;62 ··#54·=·Utf8···············()Ljava/lang/Object;
63 ··#55·=·NameAndType········#53:#54········//·clone:()Ljava/lang/Object;63 ··#55·=·NameAndType········#53:#54········//·clone:()Ljava/lang/Object;
64 ··#56·=·Methodref··········#52.#55········//·"[Lorg/jsoup/nodes/Entities$CoreCharset;".clone:()Ljava/lang/Object;64 ··#56·=·Methodref··········#52.#55········//·"[Lorg/jsoup/nodes/Entities$CoreCharset;".clone:()Ljava/lang/Object;
65 ··#57·=·Utf8···············Code65 ··#57·=·Utf8···············Code
66 ··#58·=·Utf8···············<clinit>66 ··#58·=·Utf8···············<clinit>
67 ··#59·=·Utf8···············()V67 ··#59·=·Utf8···············()V
68 ··#60·=·Utf8···············access$30068 ··#60·=·Utf8···············access$100
69 ··#61·=·Utf8···············values69 ··#61·=·Utf8···············values
70 ··#62·=·Utf8···············()[Lorg/jsoup/nodes/Entities$CoreCharset;70 ··#62·=·Utf8···············()[Lorg/jsoup/nodes/Entities$CoreCharset;
71 {71 {
72 ··private·static·final·org.jsoup.nodes.Entities$CoreCharset[]·$VALUES;72 ··private·static·final·org.jsoup.nodes.Entities$CoreCharset[]·$VALUES;
73 ····descriptor:·[Lorg/jsoup/nodes/Entities$CoreCharset;73 ····descriptor:·[Lorg/jsoup/nodes/Entities$CoreCharset;
74 ····flags:·(0x101a)·ACC_PRIVATE,·ACC_STATIC,·ACC_FINAL,·ACC_SYNTHETIC74 ····flags:·(0x101a)·ACC_PRIVATE,·ACC_STATIC,·ACC_FINAL,·ACC_SYNTHETIC
  
Offset 150, 15 lines modifiedOffset 150, 15 lines modified
150 ······stack=300,·locals=3,·args_size=3150 ······stack=300,·locals=3,·args_size=3
151 ·········0:·aload_0151 ·········0:·aload_0
152 ·········1:·aload_1152 ·········1:·aload_1
153 ·········2:·iload_2153 ·········2:·iload_2
154 ·········3:·invokespecial·#29·················//·Method·java/lang/Enum."<init>":(Ljava/lang/String;I)V154 ·········3:·invokespecial·#29·················//·Method·java/lang/Enum."<init>":(Ljava/lang/String;I)V
155 ·········6:·return155 ·········6:·return
  
156 ··static·org.jsoup.nodes.Entities$CoreCharset·access$300(java.lang.String);156 ··static·org.jsoup.nodes.Entities$CoreCharset·access$100(java.lang.String);
157 ····descriptor:·(Ljava/lang/String;)Lorg/jsoup/nodes/Entities$CoreCharset;157 ····descriptor:·(Ljava/lang/String;)Lorg/jsoup/nodes/Entities$CoreCharset;
158 ····flags:·(0x1008)·ACC_STATIC,·ACC_SYNTHETIC158 ····flags:·(0x1008)·ACC_STATIC,·ACC_SYNTHETIC
159 ····Code:159 ····Code:
160 ······stack=300,·locals=1,·args_size=1160 ······stack=300,·locals=1,·args_size=1
161 ·········0:·aload_0161 ·········0:·aload_0
162 ·········1:·invokestatic··#33·················//·Method·byName:(Ljava/lang/String;)Lorg/jsoup/nodes/Entities$CoreCharset;162 ·········1:·invokestatic··#33·················//·Method·byName:(Ljava/lang/String;)Lorg/jsoup/nodes/Entities$CoreCharset;
163 ·········4:·areturn163 ·········4:·areturn
2.2 KB
org/jsoup/nodes/Entities$EscapeMode.class
2.12 KB
procyon -ec {}
    
Offset 1, 30 lines modifiedOffset 1, 62 lines modified
  
1 package·org.jsoup.nodes;1 package·org.jsoup.nodes;
  
2 import·java.util.Map;2 import·java.util.Arrays;
  
3 public·enum·Entities$EscapeMode3 public·enum·Entities$EscapeMode
4 {4 {
5 ····base("base",·n2,·Entities.access$100()),· 
6 ····extended("extended",·n,·Entities.access$200()),· 
7 ····xhtml("xhtml",·0,·Entities.access$000());5 ····base("base",·n2,·"entities-base.properties",·106),·
 6 ····extended("extended",·n,·"entities-full.properties",·2125),·
 7 ····xhtml("xhtml",·0,·"entities-xhtml.properties",·4);
8 ····8 ····
9 ····private·Map·map;9 ····private·int[]·codeKeys;
 10 ····private·int[]·codeVals;
 11 ····private·String[]·nameKeys;
 12 ····private·String[]·nameVals;
10 ····13 ····
11 ····static·{14 ····static·{
12 ········final·int·n·=·2;15 ········final·int·n·=·2;
13 ········final·int·n2·=·1;16 ········final·int·n2·=·1;
14 ········final·Entities$EscapeMode[]·$values·=·{·Entities$EscapeMode.xhtml,·null,·null·};17 ········final·Entities$EscapeMode[]·$values·=·{·Entities$EscapeMode.xhtml,·null,·null·};
15 ········$values[n2]·=·Entities$EscapeMode.base;18 ········$values[n2]·=·Entities$EscapeMode.base;
16 ········$values[n]·=·Entities$EscapeMode.extended;19 ········$values[n]·=·Entities$EscapeMode.extended;
17 ········$VALUES·=·$values;20 ········$VALUES·=·$values;
18 ····}21 ····}
19 ····22 ····
20 ····private·Entities$EscapeMode(final·String·name,·final·int·ordinal,·final·Map·map)·{23 ····private·Entities$EscapeMode(final·String·name,·final·int·ordinal,·final·String·s,·final·int·n)·{
21 ········this.map·=·map;24 ········Entities.access$000(this,·s,·n);
22 ····}25 ····}
23 ····26 ····
24 ····public·Map·getMap()·{27 ····private·int·size()·{
 28 ········return·this.nameKeys.length;
 29 ····}
 30 ····
 31 ····int·codepointForName(final·String·key)·{
 32 ········final·int·binarySearch·=·Arrays.binarySearch(this.nameKeys,·key);
 33 ········int·n;
 34 ········if·(binarySearch·>=·0)·{
 35 ············n·=·this.codeVals[binarySearch];
 36 ········}
 37 ········else·{
 38 ············n·=·-1;
 39 ········}
 40 ········return·n;
 41 ····}
 42 ····
 43 ····String·nameForCodepoint(final·int·key)·{
 44 ········final·int·binarySearch·=·Arrays.binarySearch(this.codeKeys,·key);
 45 ········String·s;
 46 ········if·(binarySearch·>=·0)·{
 47 ············if·(binarySearch·<·this.nameVals.length·-·1·&&·this.codeKeys[binarySearch·+·1]·==·key)·{
 48 ················s·=·this.nameVals[binarySearch·+·1];
 49 ············}
 50 ············else·{
 51 ················s·=·this.nameVals[binarySearch];
 52 ············}
 53 ········}
 54 ········else·{
 55 ············s·=·"";
 56 ········}
25 ········return·this.map;57 ········return·s;
26 ····}58 ····}
27 }59 }
16.2 KB
org/jsoup/nodes/Entities.class
16.1 KB
procyon -ec {}
    
Offset 1, 67 lines modifiedOffset 1, 53 lines modified
  
1 package·org.jsoup.nodes;1 package·org.jsoup.nodes;
  
2 import·org.jsoup.parser.Parser;2 import·org.jsoup.parser.Parser;
3 import·java.util.Iterator;3 import·java.nio.CharBuffer;
4 import·java.io.InputStream;4 import·java.io.InputStream;
5 import·java.util.MissingResourceException; 
6 import·java.util.Properties;5 import·org.jsoup.parser.CharacterReader;
 6 import·org.jsoup.helper.DataUtil;
 7 import·java.nio.charset.Charset;
7 import·org.jsoup.helper.StringUtil;8 import·org.jsoup.helper.StringUtil;
8 import·java.io.IOException;9 import·java.io.IOException;
9 import·org.jsoup.SerializationException;10 import·org.jsoup.SerializationException;
10 import·java.nio.charset.CharsetEncoder;11 import·java.nio.charset.CharsetEncoder;
11 import·java.util.HashMap;12 import·java.util.HashMap;
12 import·java.util.Map; 
  
13 public·class·Entities13 public·class·Entities
14 {14 {
15 ····private·static·final·Map·base;15 ····private·static·final·char[]·codeDelims;
16 ····private·static·final·Map·baseByVal;16 ····static·final·int·codepointRadix·=·36;
 17 ····private·static·final·int·empty·=·255;
 18 ····private·static·final·String·emptyName·=·"";
17 ····private·static·final·Map·full;19 ····private·static·final·HashMap·multipoints;
18 ····private·static·final·Map·fullByVal; 
19 ····private·static·final·Object[][]·xhtmlArray; 
20 ····private·static·final·Map·xhtmlByVal; 
21 ····20 ····
22 ····static·{21 ····static·{
 22 ········multipoints·=·new·HashMap();
 23 ········final·char[]·array;
 24 ········final·char[]·codeDelims2·=·array·=·new·char[2];
23 ········final·int·n·=·2; 
24 ········final·int·n2·=·1; 
25 ········final·Object[][]·xhtmlArray2·=·new·Object[4][]; 
26 ········final·Object[]·array·=·new·Object[n]; 
27 ········array[0]·=·"quot"; 
28 ········array[n2]·=·Integer.valueOf(34); 
29 ········xhtmlArray2[0]·=·array; 
30 ········final·Object[]·array2·=·new·Object[n]; 
31 ········array2[0]·=·"amp"; 
32 ········array2[n2]·=·Integer.valueOf(38); 
33 ········xhtmlArray2[n2]·=·array2; 
34 ········final·Object[]·array3·=·new·Object[n]; 
35 ········array3[0]·=·"lt";25 ········array[0]·=·',';
36 ········array3[n2]·=·Integer.valueOf(60); 
37 ········xhtmlArray2[n]·=·array3; 
38 ········final·Object[]·array4·=·new·Object[n]; 
39 ········array4[0]·=·"gt";26 ········array[1]·=·';';
 27 ········codeDelims·=·codeDelims2;
40 ········array4[n2]·=·Integer.valueOf(62); 
41 ········xhtmlArray2[3]·=·array4; 
42 ········xhtmlArray·=·xhtmlArray2; 
43 ········xhtmlByVal·=·new·HashMap(); 
44 ········base·=·loadEntities("entities-base.properties"); 
45 ········baseByVal·=·toCharacterKey(Entities.base); 
46 ········full·=·loadEntities("entities-full.properties"); 
47 ········fullByVal·=·toCharacterKey(Entities.full); 
48 ········final·Object[][]·xhtmlArray3·=·Entities.xhtmlArray; 
49 ········for·(int·length·=·xhtmlArray3.length,·i·=·0;·i·<·length;·++i)·{ 
50 ············final·Object[]·array5·=·xhtmlArray3[i]; 
51 ············Entities.xhtmlByVal.put(Character.valueOf((int)array5[n2]),·array5[0]); 
52 ········} 
53 ····}28 ····}
54 ····29 ····
55 ····private·Entities()·{30 ····private·Entities()·{
56 ····}31 ····}
57 ····32 ····
 33 ····private·static·void·appendEncoded(final·Appendable·appendable,·final·Entities$EscapeMode·entities$EscapeMode,·final·int·i)·{
 34 ········final·char·c·=·';';
 35 ········final·String·nameForCodepoint·=·entities$EscapeMode.nameForCodepoint(i);
 36 ········if·(nameForCodepoint·!=·"")·{
 37 ············appendable.append('&').append(nameForCodepoint).append(c);
 38 ········}
 39 ········else·{
 40 ············appendable.append("&#x").append(Integer.toHexString(i)).append(c);
 41 ········}
 42 ····}
 43 ····
58 ····private·static·boolean·canEncode(final·Entities$CoreCharset·entities$CoreCharset,·final·char·c,·final·CharsetEncoder·charsetEncoder)·{44 ····private·static·boolean·canEncode(final·Entities$CoreCharset·entities$CoreCharset,·final·char·c,·final·CharsetEncoder·charsetEncoder)·{
59 ········boolean·canEncode·=·true;45 ········boolean·canEncode·=·true;
60 ········switch·(Entities$1.$SwitchMap$org$jsoup$nodes$Entities$CoreCharset[entities$CoreCharset.ordinal()])·{46 ········switch·(Entities$1.$SwitchMap$org$jsoup$nodes$Entities$CoreCharset[entities$CoreCharset.ordinal()])·{
61 ············default:·{47 ············default:·{
62 ················canEncode·=·charsetEncoder.canEncode(c);48 ················canEncode·=·charsetEncoder.canEncode(c);
63 ················return·canEncode;49 ················return·canEncode;
64 ············}50 ············}
Offset 74, 14 lines modifiedOffset 60, 34 lines modified
74 ····················return·canEncode;60 ····················return·canEncode;
75 ················}61 ················}
76 ················return·canEncode;62 ················return·canEncode;
77 ············}63 ············}
78 ········}64 ········}
79 ····}65 ····}
80 ····66 ····
 67 ····public·static·int·codepointsForName(final·String·key,·final·int[]·array)·{
 68 ········int·index·=·1;
 69 ········final·String·s·=·(String)Entities.multipoints.get(key);
 70 ········if·(s·!=·null)·{
 71 ············array[0]·=·s.codePointAt(0);
 72 ············array[index]·=·s.codePointAt(index);
 73 ············index·=·2;
 74 ········}
 75 ········else·{
 76 ············final·int·codepointForName·=·Entities$EscapeMode.extended.codepointForName(key);
 77 ············if·(codepointForName·!=·-1)·{
 78 ················array[0]·=·codepointForName;
 79 ············}
 80 ············else·{
 81 ················index·=·0;
 82 ············}
 83 ········}
 84 ········return·index;
 85 ····}
 86 ····
81 ····static·String·escape(final·String·s,·final·Document$OutputSettings·document$OutputSettings)·{87 ····static·String·escape(final·String·s,·final·Document$OutputSettings·document$OutputSettings)·{
82 ········final·StringBuilder·sb·=·new·StringBuilder(s.length()·*·2);88 ········final·StringBuilder·sb·=·new·StringBuilder(s.length()·*·2);
83 ········final·boolean·b·=·false;89 ········final·boolean·b·=·false;
84 ········final·boolean·b2·=·false;90 ········final·boolean·b2·=·false;
85 ········try·{91 ········try·{
86 ············escape(sb,·s,·document$OutputSettings,·b,·b2,·false);92 ············escape(sb,·s,·document$OutputSettings,·b,·b2,·false);
87 ············return·sb.toString();93 ············return·sb.toString();
Offset 92, 51 lines modifiedOffset 98, 46 lines modified
92 ····}98 ····}
93 ····99 ····
94 ····static·void·escape(final·Appendable·appendable,·final·String·s,·final·Document$OutputSettings·document$OutputSettings,·final·boolean·b,·final·boolean·b2,·final·boolean·b3)·{100 ····static·void·escape(final·Appendable·appendable,·final·String·s,·final·Document$OutputSettings·document$OutputSettings,·final·boolean·b,·final·boolean·b2,·final·boolean·b3)·{
95 ········int·n·=·0;101 ········int·n·=·0;
96 ········boolean·b4·=·false;102 ········boolean·b4·=·false;
Max diff block lines reached; 11427/16452 bytes (69.46%) of diff not shown.
9.16 KB
org/jsoup/nodes/Node.class
9.11 KB
procyon -ec {}
    
Offset 2, 14 lines modifiedOffset 2, 15 lines modified
2 package·org.jsoup.nodes;2 package·org.jsoup.nodes;
  
3 import·org.jsoup.select.NodeVisitor;3 import·org.jsoup.select.NodeVisitor;
4 import·org.jsoup.select.NodeTraversor;4 import·org.jsoup.select.NodeTraversor;
5 import·java.util.LinkedList;5 import·java.util.LinkedList;
6 import·java.util.Iterator;6 import·java.util.Iterator;
7 import·java.util.ArrayList;7 import·java.util.ArrayList;
 8 import·org.jsoup.internal.Normalizer;
8 import·org.jsoup.helper.StringUtil;9 import·org.jsoup.helper.StringUtil;
9 import·org.jsoup.select.Elements;10 import·org.jsoup.select.Elements;
10 import·org.jsoup.parser.Parser;11 import·org.jsoup.parser.Parser;
11 import·org.jsoup.helper.Validate;12 import·org.jsoup.helper.Validate;
12 import·java.util.Collections;13 import·java.util.Collections;
13 import·java.util.List;14 import·java.util.List;
  
Offset 114, 23 lines modifiedOffset 115, 22 lines modified
114 ········Validate.notNull((Object)this.parentNode);115 ········Validate.notNull((Object)this.parentNode);
115 ········this.parentNode.addChildren(this.siblingIndex·+·1,·node);116 ········this.parentNode.addChildren(this.siblingIndex·+·1,·node);
116 ········return·this;117 ········return·this;
117 ····}118 ····}
118 ····119 ····
119 ····public·String·attr(final·String·s)·{120 ····public·String·attr(final·String·s)·{
120 ········Validate.notNull((Object)s);121 ········Validate.notNull((Object)s);
121 ········String·s2; 
122 ········if·(this.attributes.hasKey(s))·{ 
123 ············s2·=·this.attributes.get(s);122 ········String·s2·=·this.attributes.getIgnoreCase(s);
124 ········}123 ········if·(s2.length()·<=·0)·{
125 ········else·if·(s.toLowerCase().startsWith("abs:"))·{124 ············if·(Normalizer.lowerCase(s).startsWith("abs:"))·{
126 ············s2·=·this.absUrl(s.substring("abs:".length()));125 ················s2·=·this.absUrl(s.substring("abs:".length()));
127 ········}126 ············}
128 ········else·{127 ············else·{
129 ············s2·=·"";128 ················s2·=·"";
 129 ············}
130 ········}130 ········}
131 ········return·s2;131 ········return·s2;
132 ····}132 ····}
133 ····133 ····
134 ····public·Node·attr(final·String·s,·final·String·s2)·{134 ····public·Node·attr(final·String·s,·final·String·s2)·{
135 ········this.attributes.put(s,·s2);135 ········this.attributes.put(s,·s2);
136 ········return·this;136 ········return·this;
Offset 177, 14 lines modifiedOffset 177, 23 lines modified
177 ········final·Iterator<Node>·iterator·=·this.childNodes.iterator();177 ········final·Iterator<Node>·iterator·=·this.childNodes.iterator();
178 ········while·(iterator.hasNext())·{178 ········while·(iterator.hasNext())·{
179 ············list.add(((Node)iterator.next()).clone());179 ············list.add(((Node)iterator.next()).clone());
180 ········}180 ········}
181 ········return·list;181 ········return·list;
182 ····}182 ····}
183 ····183 ····
 184 ····public·Node·clearAttributes()·{
 185 ········final·Iterator·iterator·=·this.attributes.iterator();
 186 ········while·(iterator.hasNext())·{
 187 ············iterator.next();
 188 ············iterator.remove();
 189 ········}
 190 ········return·this;
 191 ····}
 192 ····
184 ····public·Node·clone()·{193 ····public·Node·clone()·{
185 ········final·Node·doClone·=·this.doClone(null);194 ········final·Node·doClone·=·this.doClone(null);
186 ········final·LinkedList<Node>·list·=·new·LinkedList<Node>();195 ········final·LinkedList<Node>·list·=·new·LinkedList<Node>();
187 ········list.add(doClone);196 ········list.add(doClone);
188 ········while·(!list.isEmpty())·{197 ········while·(!list.isEmpty())·{
189 ············final·Node·node·=·(Node)list.remove();198 ············final·Node·node·=·(Node)list.remove();
190 ············for·(int·i·=·0;·i·<·node.childNodes.size();·++i)·{199 ············for·(int·i·=·0;·i·<·node.childNodes.size();·++i)·{
Offset 197, 39 lines modifiedOffset 206, 39 lines modified
197 ····}206 ····}
198 ····207 ····
199 ····protected·Node·doClone(final·Node·parentNode)·{208 ····protected·Node·doClone(final·Node·parentNode)·{
200 ········Node·node·=·null;209 ········Node·node·=·null;
201 ····Label_0049_Outer:210 ····Label_0049_Outer:
202 ········while·(true)·{211 ········while·(true)·{
203 ············while·(true)·{212 ············while·(true)·{
204 ············Label_0181:213 ············Label_0182:
205 ················while·(true)·{214 ················while·(true)·{
206 ····················Label_0173:·{215 ····················Label_0174:·{
207 ························try·{216 ························try·{
208 ····························final·Object·clone·=·super.clone();217 ····························final·Object·clone·=·super.clone();
209 ····························try·{218 ····························try·{
210 ································node·=·(Node)clone;219 ································node·=·(Node)clone;
211 ································node.parentNode·=·parentNode;220 ································node.parentNode·=·parentNode;
212 ································if·(parentNode·!=·null)·{221 ································if·(parentNode·!=·null)·{
213 ····································break·Label_0173;222 ····································break·Label_0174;
214 ································}223 ································}
215 ································final·int·siblingIndex·=·0;224 ································final·int·siblingIndex·=·0;
216 ································node.siblingIndex·=·siblingIndex;225 ································node.siblingIndex·=·siblingIndex;
217 ································if·(this.attributes·!=·null)·{226 ································if·(this.attributes·!=·null)·{
218 ····································final·Attributes·clone2·=·this.attributes.clone();227 ····································final·Attributes·clone2·=·this.attributes.clone();
219 ····································node.attributes·=·clone2;228 ····································node.attributes·=·clone2;
220 ····································node.baseUri·=·this.baseUri;229 ····································node.baseUri·=·this.baseUri;
221 ····································node.childNodes·=·new·ArrayList(this.childNodes.size());230 ····································node.childNodes·=·(List)new·Node$NodeList(this,·this.childNodes.size());
222 ····································final·Iterator<Node>·iterator·=·(Iterator<Node>)this.childNodes.iterator();231 ····································final·Iterator<Node>·iterator·=·(Iterator<Node>)this.childNodes.iterator();
223 ····································while·(iterator.hasNext())·{232 ····································while·(iterator.hasNext())·{
224 ········································node.childNodes.add(iterator.next());233 ········································node.childNodes.add(iterator.next());
225 ····································}234 ····································}
226 ····································break;235 ····································break;
227 ································}236 ································}
228 ································break·Label_0181;237 ································break·Label_0182;
229 ····························}238 ····························}
230 ····························catch·(CloneNotSupportedException·cause)·{239 ····························catch·(CloneNotSupportedException·cause)·{
231 ································throw·new·RuntimeException(cause);240 ································throw·new·RuntimeException(cause);
232 ····························}241 ····························}
233 ························}242 ························}
234 ························catch·(CloneNotSupportedException·ex)·{}243 ························catch·(CloneNotSupportedException·ex)·{}
235 ····················}244 ····················}
Offset 241, 46 lines modifiedOffset 250, 47 lines modified
241 ············}250 ············}
242 ········}251 ········}
243 ········return·node;252 ········return·node;
244 ····}253 ····}
245 ····254 ····
246 ····protected·void·ensureChildNodes()·{255 ····protected·void·ensureChildNodes()·{
247 ········if·(this.childNodes·==·Node.EMPTY_NODES)·{256 ········if·(this.childNodes·==·Node.EMPTY_NODES)·{
248 ············this.childNodes·=·new·ArrayList(4);257 ············this.childNodes·=·(List)new·Node$NodeList(this,·4);
249 ········}258 ········}
250 ····}259 ····}
251 ····260 ····
252 ····@Override261 ····@Override
253 ····public·boolean·equals(final·Object·o)·{262 ····public·boolean·equals(final·Object·o)·{
254 ········return·this·==·o;263 ········return·this·==·o;
255 ····}264 ····}
256 ····265 ····
257 ····Document$OutputSettings·getOutputSettings()·{266 ····Document$OutputSettings·getOutputSettings()·{
 267 ········final·Document·ownerDocument·=·this.ownerDocument();
258 ········Document$OutputSettings·document$OutputSettings;268 ········Document$OutputSettings·document$OutputSettings;
259 ········if·(this.ownerDocument()·!=·null)·{269 ········if·(ownerDocument·!=·null)·{
260 ············document$OutputSettings·=·this.ownerDocument().outputSettings();270 ············document$OutputSettings·=·ownerDocument.outputSettings();
261 ········}271 ········}
Max diff block lines reached; 4019/9297 bytes (43.23%) of diff not shown.
3.25 KB
org/jsoup/parser/CharacterReader.class
3.18 KB
procyon -ec {}
    
Offset 1, 25 lines modifiedOffset 1, 25 lines modified
  
1 package·org.jsoup.parser;1 package·org.jsoup.parser;
  
2 import·java.util.Locale;2 import·java.util.Locale;
3 import·java.util.Arrays;3 import·java.util.Arrays;
4 import·org.jsoup.helper.Validate;4 import·org.jsoup.helper.Validate;
  
5 final·class·CharacterReader5 public·final·class·CharacterReader
6 {6 {
7 ····static·final·char·EOF·=·'\uffff';7 ····static·final·char·EOF·=·'\uffff';
8 ····private·static·final·int·maxCacheLen·=·12;8 ····private·static·final·int·maxCacheLen·=·12;
9 ····private·final·char[]·input;9 ····private·final·char[]·input;
10 ····private·final·int·length;10 ····private·final·int·length;
11 ····private·int·mark;11 ····private·int·mark;
12 ····private·int·pos;12 ····private·int·pos;
13 ····private·final·String[]·stringCache;13 ····private·final·String[]·stringCache;
14 ····14 ····
15 ····CharacterReader(final·String·s)·{15 ····public·CharacterReader(final·String·s)·{
16 ········this.pos·=·0;16 ········this.pos·=·0;
17 ········this.mark·=·0;17 ········this.mark·=·0;
18 ········this.stringCache·=·new·String[512];18 ········this.stringCache·=·new·String[512];
19 ········Validate.notNull((Object)s);19 ········Validate.notNull((Object)s);
20 ········this.input·=·s.toCharArray();20 ········this.input·=·s.toCharArray();
21 ········this.length·=·this.input.length;21 ········this.length·=·this.input.length;
22 ····}22 ····}
Offset 52, 15 lines modifiedOffset 52, 15 lines modified
52 ················s·=·new·String(input,·offset,·count);52 ················s·=·new·String(input,·offset,·count);
53 ················stringCache[n5]·=·s;53 ················stringCache[n5]·=·s;
54 ············}54 ············}
55 ········}55 ········}
56 ········return·s;56 ········return·s;
57 ····}57 ····}
58 ····58 ····
59 ····void·advance()·{59 ····public·void·advance()·{
60 ········++this.pos;60 ········++this.pos;
61 ····}61 ····}
62 ····62 ····
63 ····char·consume()·{63 ····char·consume()·{
64 ········char·c;64 ········char·c;
65 ········if·(this.pos·>=·this.length)·{65 ········if·(this.pos·>=·this.length)·{
66 ············c·=·(char)(-1);66 ············c·=·(char)(-1);
Offset 169, 15 lines modifiedOffset 169, 15 lines modified
169 ········}169 ········}
170 ········else·{170 ········else·{
171 ············cacheString·=·"";171 ············cacheString·=·"";
172 ········}172 ········}
173 ········return·cacheString;173 ········return·cacheString;
174 ····}174 ····}
175 ····175 ····
176 ····String·consumeTo(final·char·c)·{176 ····public·String·consumeTo(final·char·c)·{
177 ········final·int·nextIndex·=·this.nextIndexOf(c);177 ········final·int·nextIndex·=·this.nextIndexOf(c);
178 ········String·s;178 ········String·s;
179 ········if·(nextIndex·!=·-1)·{179 ········if·(nextIndex·!=·-1)·{
180 ············s·=·this.cacheString(this.pos,·nextIndex);180 ············s·=·this.cacheString(this.pos,·nextIndex);
181 ············this.pos·+=·nextIndex;181 ············this.pos·+=·nextIndex;
182 ········}182 ········}
183 ········else·{183 ········else·{
Offset 195, 15 lines modifiedOffset 195, 15 lines modified
195 ········}195 ········}
196 ········else·{196 ········else·{
197 ············s2·=·this.consumeToEnd();197 ············s2·=·this.consumeToEnd();
198 ········}198 ········}
199 ········return·s2;199 ········return·s2;
200 ····}200 ····}
201 ····201 ····
202 ····String·consumeToAny(final·char...·array)·{202 ····public·String·consumeToAny(final·char...·array)·{
203 ········final·int·pos·=·this.pos;203 ········final·int·pos·=·this.pos;
204 ········final·int·length·=·this.length;204 ········final·int·length·=·this.length;
205 ········final·char[]·input·=·this.input;205 ········final·char[]·input·=·this.input;
206 ····Label_0071:206 ····Label_0071:
207 ········while·(this.pos·<·length)·{207 ········while·(this.pos·<·length)·{
208 ············for·(int·length2·=·array.length,·i·=·0;·i·<·length2;·++i)·{208 ············for·(int·length2·=·array.length,·i·=·0;·i·<·length2;·++i)·{
209 ················if·(input[this.pos]·==·array[i])·{209 ················if·(input[this.pos]·==·array[i])·{
Offset 248, 26 lines modifiedOffset 248, 26 lines modified
248 ····boolean·containsIgnoreCase(final·String·s)·{248 ····boolean·containsIgnoreCase(final·String·s)·{
249 ········final·int·n·=·-1;249 ········final·int·n·=·-1;
250 ········final·String·lowerCase·=·s.toLowerCase(Locale.ENGLISH);250 ········final·String·lowerCase·=·s.toLowerCase(Locale.ENGLISH);
251 ········final·String·upperCase·=·s.toUpperCase(Locale.ENGLISH);251 ········final·String·upperCase·=·s.toUpperCase(Locale.ENGLISH);
252 ········return·this.nextIndexOf(lowerCase)·>·n·||·this.nextIndexOf(upperCase)·>·n;252 ········return·this.nextIndexOf(lowerCase)·>·n·||·this.nextIndexOf(upperCase)·>·n;
253 ····}253 ····}
254 ····254 ····
255 ····char·current()·{255 ····public·char·current()·{
256 ········char·c;256 ········char·c;
257 ········if·(this.pos·>=·this.length)·{257 ········if·(this.pos·>=·this.length)·{
258 ············c·=·(char)(-1);258 ············c·=·(char)(-1);
259 ········}259 ········}
260 ········else·{260 ········else·{
261 ············c·=·this.input[this.pos];261 ············c·=·this.input[this.pos];
262 ········}262 ········}
263 ········return·c;263 ········return·c;
264 ····}264 ····}
265 ····265 ····
266 ····boolean·isEmpty()·{266 ····public·boolean·isEmpty()·{
267 ········return·this.pos·>=·this.length;267 ········return·this.pos·>=·this.length;
268 ····}268 ····}
269 ····269 ····
270 ····void·mark()·{270 ····void·mark()·{
271 ········this.mark·=·this.pos;271 ········this.mark·=·this.pos;
272 ····}272 ····}
273 ····273 ····
Offset 392, 15 lines modifiedOffset 392, 15 lines modified
392 ····················return·i·-·this.pos;392 ····················return·i·-·this.pos;
393 ················}393 ················}
394 ············}394 ············}
395 ········}395 ········}
396 ········return·-1;396 ········return·-1;
397 ····}397 ····}
398 ····398 ····
399 ····int·pos()·{399 ····public·int·pos()·{
400 ········return·this.pos;400 ········return·this.pos;
401 ····}401 ····}
402 ····402 ····
403 ····boolean·rangeEquals(final·int·n,·int·n2,·final·String·s)·{403 ····boolean·rangeEquals(final·int·n,·int·n2,·final·String·s)·{
404 ········boolean·b·=·false;404 ········boolean·b·=·false;
405 ········if·(n2·==·s.length())·{405 ········if·(n2·==·s.length())·{
406 ············final·char[]·input·=·this.input;406 ············final·char[]·input·=·this.input;
907 B
org/jsoup/parser/ParseErrorList.class
833 B
procyon -ec {}
    
Offset 1, 27 lines modifiedOffset 1, 27 lines modified
  
1 package·org.jsoup.parser;1 package·org.jsoup.parser;
  
2 import·java.util.ArrayList;2 import·java.util.ArrayList;
  
3 class·ParseErrorList·extends·ArrayList3 public·class·ParseErrorList·extends·ArrayList
4 {4 {
5 ····private·static·final·int·INITIAL_CAPACITY·=·16;5 ····private·static·final·int·INITIAL_CAPACITY·=·16;
6 ····private·final·int·maxSize;6 ····private·final·int·maxSize;
7 ····7 ····
8 ····ParseErrorList(final·int·initialCapacity,·final·int·maxSize)·{8 ····ParseErrorList(final·int·initialCapacity,·final·int·maxSize)·{
9 ········super(initialCapacity);9 ········super(initialCapacity);
10 ········this.maxSize·=·maxSize;10 ········this.maxSize·=·maxSize;
11 ····}11 ····}
12 ····12 ····
13 ····static·ParseErrorList·noTracking()·{13 ····public·static·ParseErrorList·noTracking()·{
14 ········return·new·ParseErrorList(0,·0);14 ········return·new·ParseErrorList(0,·0);
15 ····}15 ····}
16 ····16 ····
17 ····static·ParseErrorList·tracking(final·int·n)·{17 ····public·static·ParseErrorList·tracking(final·int·n)·{
18 ········return·new·ParseErrorList(16,·n);18 ········return·new·ParseErrorList(16,·n);
19 ····}19 ····}
20 ····20 ····
21 ····boolean·canAddError()·{21 ····boolean·canAddError()·{
22 ········return·this.size()·<·this.maxSize;22 ········return·this.size()·<·this.maxSize;
23 ····}23 ····}
24 ····24 ····
3.64 KB
org/jsoup/parser/Parser.class
3.59 KB
procyon -ec {}
    
Offset 7, 27 lines modifiedOffset 7, 30 lines modified
7 import·org.jsoup.nodes.Document;7 import·org.jsoup.nodes.Document;
  
8 public·class·Parser8 public·class·Parser
9 {9 {
10 ····private·static·final·int·DEFAULT_MAX_ERRORS;10 ····private·static·final·int·DEFAULT_MAX_ERRORS;
11 ····private·ParseErrorList·errors;11 ····private·ParseErrorList·errors;
12 ····private·int·maxErrors;12 ····private·int·maxErrors;
 13 ····private·ParseSettings·settings;
13 ····private·TreeBuilder·treeBuilder;14 ····private·TreeBuilder·treeBuilder;
14 ····15 ····
15 ····public·Parser(final·TreeBuilder·treeBuilder)·{16 ····public·Parser(final·TreeBuilder·treeBuilder)·{
16 ········this.maxErrors·=·0;17 ········this.maxErrors·=·0;
17 ········this.treeBuilder·=·treeBuilder;18 ········this.treeBuilder·=·treeBuilder;
 19 ········this.settings·=·treeBuilder.defaultSettings();
18 ····}20 ····}
19 ····21 ····
20 ····public·static·Parser·htmlParser()·{22 ····public·static·Parser·htmlParser()·{
21 ········return·new·Parser((TreeBuilder)new·HtmlTreeBuilder());23 ········return·new·Parser((TreeBuilder)new·HtmlTreeBuilder());
22 ····}24 ····}
23 ····25 ····
24 ····public·static·Document·parse(final·String·s,·final·String·s2)·{26 ····public·static·Document·parse(final·String·s,·final·String·s2)·{
 27 ········final·HtmlTreeBuilder·htmlTreeBuilder·=·new·HtmlTreeBuilder();
25 ········return·((TreeBuilder)new·HtmlTreeBuilder()).parse(s,·s2,·ParseErrorList.noTracking());28 ········return·((TreeBuilder)htmlTreeBuilder).parse(s,·s2,·ParseErrorList.noTracking(),·((TreeBuilder)htmlTreeBuilder).defaultSettings());
26 ····}29 ····}
27 ····30 ····
28 ····public·static·Document·parseBodyFragment(final·String·s,·final·String·s2)·{31 ····public·static·Document·parseBodyFragment(final·String·s,·final·String·s2)·{
29 ········final·Document·shell·=·Document.createShell(s2);32 ········final·Document·shell·=·Document.createShell(s2);
30 ········final·Element·body·=·shell.body();33 ········final·Element·body·=·shell.body();
31 ········final·List·fragment·=·parseFragment(s,·body,·s2);34 ········final·List·fragment·=·parseFragment(s,·body,·s2);
32 ········final·Node[]·array·=·(Node[])fragment.toArray(new·Node[fragment.size()]);35 ········final·Node[]·array·=·(Node[])fragment.toArray(new·Node[fragment.size()]);
Offset 41, 19 lines modifiedOffset 44, 26 lines modified
41 ····}44 ····}
42 ····45 ····
43 ····public·static·Document·parseBodyFragmentRelaxed(final·String·s,·final·String·s2)·{46 ····public·static·Document·parseBodyFragmentRelaxed(final·String·s,·final·String·s2)·{
44 ········return·parse(s,·s2);47 ········return·parse(s,·s2);
45 ····}48 ····}
46 ····49 ····
47 ····public·static·List·parseFragment(final·String·s,·final·Element·element,·final·String·s2)·{50 ····public·static·List·parseFragment(final·String·s,·final·Element·element,·final·String·s2)·{
 51 ········final·HtmlTreeBuilder·htmlTreeBuilder·=·new·HtmlTreeBuilder();
48 ········return·new·HtmlTreeBuilder().parseFragment(s,·element,·s2,·ParseErrorList.noTracking());52 ········return·htmlTreeBuilder.parseFragment(s,·element,·s2,·ParseErrorList.noTracking(),·htmlTreeBuilder.defaultSettings());
 53 ····}
 54 ····
 55 ····public·static·List·parseFragment(final·String·s,·final·Element·element,·final·String·s2,·final·ParseErrorList·list)·{
 56 ········final·HtmlTreeBuilder·htmlTreeBuilder·=·new·HtmlTreeBuilder();
 57 ········return·htmlTreeBuilder.parseFragment(s,·element,·s2,·list,·htmlTreeBuilder.defaultSettings());
49 ····}58 ····}
50 ····59 ····
51 ····public·static·List·parseXmlFragment(final·String·s,·final·String·s2)·{60 ····public·static·List·parseXmlFragment(final·String·s,·final·String·s2)·{
 61 ········final·XmlTreeBuilder·xmlTreeBuilder·=·new·XmlTreeBuilder();
52 ········return·new·XmlTreeBuilder().parseFragment(s,·s2,·ParseErrorList.noTracking());62 ········return·xmlTreeBuilder.parseFragment(s,·s2,·ParseErrorList.noTracking(),·xmlTreeBuilder.defaultSettings());
53 ····}63 ····}
54 ····64 ····
55 ····public·static·String·unescapeEntities(final·String·s,·final·boolean·b)·{65 ····public·static·String·unescapeEntities(final·String·s,·final·boolean·b)·{
56 ········return·new·Tokeniser(new·CharacterReader(s),·ParseErrorList.noTracking()).unescapeEntities(b);66 ········return·new·Tokeniser(new·CharacterReader(s),·ParseErrorList.noTracking()).unescapeEntities(b);
57 ····}67 ····}
58 ····68 ····
59 ····public·static·Parser·xmlParser()·{69 ····public·static·Parser·xmlParser()·{
Offset 77, 20 lines modifiedOffset 87, 29 lines modified
77 ········if·(this.isTrackErrors())·{87 ········if·(this.isTrackErrors())·{
78 ············errors·=·ParseErrorList.tracking(this.maxErrors);88 ············errors·=·ParseErrorList.tracking(this.maxErrors);
79 ········}89 ········}
80 ········else·{90 ········else·{
81 ············errors·=·ParseErrorList.noTracking();91 ············errors·=·ParseErrorList.noTracking();
82 ········}92 ········}
83 ········this.errors·=·errors;93 ········this.errors·=·errors;
84 ········return·this.treeBuilder.parse(s,·s2,·this.errors);94 ········return·this.treeBuilder.parse(s,·s2,·this.errors,·this.settings);
85 ····}95 ····}
86 ····96 ····
87 ····public·Parser·setTrackErrors(final·int·maxErrors)·{97 ····public·Parser·setTrackErrors(final·int·maxErrors)·{
88 ········this.maxErrors·=·maxErrors;98 ········this.maxErrors·=·maxErrors;
89 ········return·this;99 ········return·this;
90 ····}100 ····}
91 ····101 ····
92 ····public·Parser·setTreeBuilder(final·TreeBuilder·treeBuilder)·{102 ····public·Parser·setTreeBuilder(final·TreeBuilder·treeBuilder)·{
93 ········this.treeBuilder·=·treeBuilder;103 ········this.treeBuilder·=·treeBuilder;
94 ········return·this;104 ········return·this;
95 ····}105 ····}
 106 ····
 107 ····public·ParseSettings·settings()·{
 108 ········return·this.settings;
 109 ····}
 110 ····
 111 ····public·Parser·settings(final·ParseSettings·settings)·{
 112 ········this.settings·=·settings;
 113 ········return·this;
 114 ····}
96 }115 }
10.2 KB
org/jsoup/parser/Tag.class
10.2 KB
procyon -ec {}
    
Offset 11, 15 lines modifiedOffset 11, 14 lines modified
11 ····private·static·final·String[]·emptyTags;11 ····private·static·final·String[]·emptyTags;
12 ····private·static·final·String[]·formListedTags;12 ····private·static·final·String[]·formListedTags;
13 ····private·static·final·String[]·formSubmitTags;13 ····private·static·final·String[]·formSubmitTags;
14 ····private·static·final·String[]·formatAsInlineTags;14 ····private·static·final·String[]·formatAsInlineTags;
15 ····private·static·final·String[]·inlineTags;15 ····private·static·final·String[]·inlineTags;
16 ····private·static·final·String[]·preserveWhitespaceTags;16 ····private·static·final·String[]·preserveWhitespaceTags;
17 ····private·static·final·Map·tags;17 ····private·static·final·Map·tags;
18 ····private·boolean·canContainBlock; 
19 ····private·boolean·canContainInline;18 ····private·boolean·canContainInline;
20 ····private·boolean·empty;19 ····private·boolean·empty;
21 ····private·boolean·formList;20 ····private·boolean·formList;
22 ····private·boolean·formSubmit;21 ····private·boolean·formSubmit;
23 ····private·boolean·formatAsBlock;22 ····private·boolean·formatAsBlock;
24 ····private·boolean·isBlock;23 ····private·boolean·isBlock;
25 ····private·boolean·preserveWhitespace;24 ····private·boolean·preserveWhitespace;
Offset 29, 15 lines modifiedOffset 28, 15 lines modified
29 ····static·{28 ····static·{
30 ········final·int·n·=·4;29 ········final·int·n·=·4;
31 ········final·int·n2·=·3;30 ········final·int·n2·=·3;
32 ········final·int·n3·=·2;31 ········final·int·n3·=·2;
33 ········final·int·n4·=·1;32 ········final·int·n4·=·1;
34 ········int·i·=·0;33 ········int·i·=·0;
35 ········tags·=·new·HashMap();34 ········tags·=·new·HashMap();
36 ········final·String[]·blockTags2·=·new·String[64];35 ········final·String[]·blockTags2·=·new·String[63];
37 ········blockTags2[0]·=·"html";36 ········blockTags2[0]·=·"html";
38 ········blockTags2[n4]·=·"head";37 ········blockTags2[n4]·=·"head";
39 ········blockTags2[n3]·=·"body";38 ········blockTags2[n3]·=·"body";
40 ········blockTags2[n2]·=·"frameset";39 ········blockTags2[n2]·=·"frameset";
41 ········blockTags2[n]·=·"script";40 ········blockTags2[n]·=·"script";
42 ········blockTags2[5]·=·"noscript";41 ········blockTags2[5]·=·"noscript";
43 ········blockTags2[6]·=·"style";42 ········blockTags2[6]·=·"style";
Offset 68, 42 lines modifiedOffset 67, 41 lines modified
68 ········blockTags2[31]·=·"address";67 ········blockTags2[31]·=·"address";
69 ········blockTags2[32]·=·"figure";68 ········blockTags2[32]·=·"figure";
70 ········blockTags2[33]·=·"figcaption";69 ········blockTags2[33]·=·"figcaption";
71 ········blockTags2[34]·=·"form";70 ········blockTags2[34]·=·"form";
72 ········blockTags2[35]·=·"fieldset";71 ········blockTags2[35]·=·"fieldset";
73 ········blockTags2[36]·=·"ins";72 ········blockTags2[36]·=·"ins";
74 ········blockTags2[37]·=·"del";73 ········blockTags2[37]·=·"del";
75 ········blockTags2[38]·=·"s"; 
76 ········blockTags2[39]·=·"dl";74 ········blockTags2[38]·=·"dl";
 75 ········blockTags2[39]·=·"dt";
77 ········blockTags2[40]·=·"dt";76 ········blockTags2[40]·=·"dd";
78 ········blockTags2[41]·=·"dd"; 
79 ········blockTags2[42]·=·"li";77 ········blockTags2[41]·=·"li";
80 ········blockTags2[43]·=·"table";78 ········blockTags2[42]·=·"table";
81 ········blockTags2[44]·=·"caption";79 ········blockTags2[43]·=·"caption";
82 ········blockTags2[45]·=·"thead";80 ········blockTags2[44]·=·"thead";
83 ········blockTags2[46]·=·"tfoot";81 ········blockTags2[45]·=·"tfoot";
84 ········blockTags2[47]·=·"tbody";82 ········blockTags2[46]·=·"tbody";
85 ········blockTags2[48]·=·"colgroup";83 ········blockTags2[47]·=·"colgroup";
86 ········blockTags2[49]·=·"col";84 ········blockTags2[48]·=·"col";
 85 ········blockTags2[49]·=·"tr";
87 ········blockTags2[50]·=·"tr";86 ········blockTags2[50]·=·"th";
88 ········blockTags2[51]·=·"th";87 ········blockTags2[51]·=·"td";
89 ········blockTags2[52]·=·"td"; 
90 ········blockTags2[53]·=·"video";88 ········blockTags2[52]·=·"video";
91 ········blockTags2[54]·=·"audio";89 ········blockTags2[53]·=·"audio";
92 ········blockTags2[55]·=·"canvas";90 ········blockTags2[54]·=·"canvas";
93 ········blockTags2[56]·=·"details";91 ········blockTags2[55]·=·"details";
94 ········blockTags2[57]·=·"menu";92 ········blockTags2[56]·=·"menu";
95 ········blockTags2[58]·=·"plaintext";93 ········blockTags2[57]·=·"plaintext";
96 ········blockTags2[59]·=·"template";94 ········blockTags2[58]·=·"template";
97 ········blockTags2[60]·=·"article";95 ········blockTags2[59]·=·"article";
98 ········blockTags2[61]·=·"main";96 ········blockTags2[60]·=·"main";
99 ········blockTags2[62]·=·"svg";97 ········blockTags2[61]·=·"svg";
100 ········blockTags2[63]·=·"math";98 ········blockTags2[62]·=·"math";
101 ········blockTags·=·blockTags2;99 ········blockTags·=·blockTags2;
102 ········final·String[]·inlineTags2·=·new·String[65];100 ········final·String[]·inlineTags2·=·new·String[66];
103 ········inlineTags2[0]·=·"object";101 ········inlineTags2[0]·=·"object";
104 ········inlineTags2[n4]·=·"base";102 ········inlineTags2[n4]·=·"base";
105 ········inlineTags2[n3]·=·"font";103 ········inlineTags2[n3]·=·"font";
106 ········inlineTags2[n2]·=·"tt";104 ········inlineTags2[n2]·=·"tt";
107 ········inlineTags2[n]·=·"i";105 ········inlineTags2[n]·=·"i";
108 ········inlineTags2[5]·=·"b";106 ········inlineTags2[5]·=·"b";
109 ········inlineTags2[6]·=·"u";107 ········inlineTags2[6]·=·"u";
Offset 161, 14 lines modifiedOffset 159, 15 lines modified
161 ········inlineTags2[58]·=·"bgsound";159 ········inlineTags2[58]·=·"bgsound";
162 ········inlineTags2[59]·=·"menuitem";160 ········inlineTags2[59]·=·"menuitem";
163 ········inlineTags2[60]·=·"param";161 ········inlineTags2[60]·=·"param";
164 ········inlineTags2[61]·=·"source";162 ········inlineTags2[61]·=·"source";
165 ········inlineTags2[62]·=·"track";163 ········inlineTags2[62]·=·"track";
166 ········inlineTags2[63]·=·"data";164 ········inlineTags2[63]·=·"data";
167 ········inlineTags2[64]·=·"bdi";165 ········inlineTags2[64]·=·"bdi";
 166 ········inlineTags2[65]·=·"s";
168 ········inlineTags·=·inlineTags2;167 ········inlineTags·=·inlineTags2;
169 ········final·String[]·emptyTags2·=·new·String[21];168 ········final·String[]·emptyTags2·=·new·String[21];
170 ········emptyTags2[0]·=·"meta";169 ········emptyTags2[0]·=·"meta";
171 ········emptyTags2[n4]·=·"link";170 ········emptyTags2[n4]·=·"link";
172 ········emptyTags2[n3]·=·"base";171 ········emptyTags2[n3]·=·"base";
173 ········emptyTags2[n2]·=·"frame";172 ········emptyTags2[n2]·=·"frame";
174 ········emptyTags2[n]·=·"img";173 ········emptyTags2[n]·=·"img";
Offset 237, 23 lines modifiedOffset 236, 21 lines modified
237 ········for·(int·length·=·blockTags3.length,·j·=·0;·j·<·length;·++j)·{236 ········for·(int·length·=·blockTags3.length,·j·=·0;·j·<·length;·++j)·{
238 ············register(new·Tag(blockTags3[j]));237 ············register(new·Tag(blockTags3[j]));
239 ········}238 ········}
240 ········final·String[]·inlineTags3·=·Tag.inlineTags;239 ········final·String[]·inlineTags3·=·Tag.inlineTags;
241 ········for·(int·length2·=·inlineTags3.length,·k·=·0;·k·<·length2;·++k)·{240 ········for·(int·length2·=·inlineTags3.length,·k·=·0;·k·<·length2;·++k)·{
242 ············final·Tag·tag·=·new·Tag(inlineTags3[k]);241 ············final·Tag·tag·=·new·Tag(inlineTags3[k]);
243 ············tag.isBlock·=·false;242 ············tag.isBlock·=·false;
244 ············tag.canContainBlock·=·false; 
245 ············tag.formatAsBlock·=·false;243 ············tag.formatAsBlock·=·false;
246 ············register(tag);244 ············register(tag);
247 ········}245 ········}
248 ········final·String[]·emptyTags3·=·Tag.emptyTags;246 ········final·String[]·emptyTags3·=·Tag.emptyTags;
249 ········for·(int·length3·=·emptyTags3.length,·l·=·0;·l·<·length3;·++l)·{247 ········for·(int·length3·=·emptyTags3.length,·l·=·0;·l·<·length3;·++l)·{
250 ············final·Tag·tag2·=·(Tag)Tag.tags.get(emptyTags3[l]);248 ············final·Tag·tag2·=·(Tag)Tag.tags.get(emptyTags3[l]);
251 ············Validate.notNull((Object)tag2);249 ············Validate.notNull((Object)tag2);
252 ············tag2.canContainBlock·=·false; 
253 ············tag2.canContainInline·=·false;250 ············tag2.canContainInline·=·false;
254 ············tag2.empty·=·(n4·!=·0);251 ············tag2.empty·=·(n4·!=·0);
255 ········}252 ········}
256 ········final·String[]·formatAsInlineTags3·=·Tag.formatAsInlineTags;253 ········final·String[]·formatAsInlineTags3·=·Tag.formatAsInlineTags;
257 ········for·(int·length4·=·formatAsInlineTags3.length,·n5·=·0;·n5·<·length4;·++n5)·{254 ········for·(int·length4·=·formatAsInlineTags3.length,·n5·=·0;·n5·<·length4;·++n5)·{
258 ············final·Tag·tag3·=·(Tag)Tag.tags.get(formatAsInlineTags3[n5]);255 ············final·Tag·tag3·=·(Tag)Tag.tags.get(formatAsInlineTags3[n5]);
259 ············Validate.notNull((Object)tag3);256 ············Validate.notNull((Object)tag3);
Offset 274, 66 lines modifiedOffset 271, 68 lines modified
274 ········for·(String[]·formSubmitTags3·=·Tag.formSubmitTags;·i·<·formSubmitTags3.length;·++i)·{271 ········for·(String[]·formSubmitTags3·=·Tag.formSubmitTags;·i·<·formSubmitTags3.length;·++i)·{
275 ············final·Tag·tag6·=·(Tag)Tag.tags.get(formSubmitTags3[i]);272 ············final·Tag·tag6·=·(Tag)Tag.tags.get(formSubmitTags3[i]);
276 ············Validate.notNull((Object)tag6);273 ············Validate.notNull((Object)tag6);
277 ············tag6.formSubmit·=·(n4·!=·0);274 ············tag6.formSubmit·=·(n4·!=·0);
278 ········}275 ········}
279 ····}276 ····}
280 ····277 ····
281 ····private·Tag(final·String·s)·{278 ····private·Tag(final·String·tagName)·{
282 ········final·boolean·b·=·true;279 ········final·boolean·canContainInline·=·true;
283 ········this.isBlock·=·b; 
Max diff block lines reached; 4346/10389 bytes (41.83%) of diff not shown.
3.44 KB
org/jsoup/parser/TokenQueue.class
3.37 KB
procyon -ec {}
    
Offset 57, 21 lines modifiedOffset 57, 21 lines modified
57 ····57 ····
58 ····public·String·chompBalanced(final·char·c,·final·char·c2)·{58 ····public·String·chompBalanced(final·char·c,·final·char·c2)·{
59 ········int·pos·=·-1;59 ········int·pos·=·-1;
60 ········int·pos2·=·-1;60 ········int·pos2·=·-1;
61 ········int·n·=·0;61 ········int·n·=·0;
62 ········char·charValue·=·'\0';62 ········char·charValue·=·'\0';
63 ········int·n2·=·0;63 ········int·n2·=·0;
64 ····Label_0142_Outer:64 ····Label_0187_Outer:
65 ········while·(!this.isEmpty())·{65 ········while·(!this.isEmpty())·{
66 ············final·Character·value·=·Character.valueOf(this.consume());66 ············final·Character·value·=·Character.valueOf(this.consume());
67 ············while·(true)·{67 ············while·(true)·{
68 ················Label_0196:·{68 ················Label_0241:·{
69 ····················if·(charValue·!=·'\0'·&&·charValue·==·'\\')·{69 ····················if·(charValue·!=·'\0'·&&·charValue·==·'\\')·{
70 ························break·Label_0196;70 ························break·Label_0241;
71 ····················}71 ····················}
72 ····················if·((value.equals(Character.valueOf('\''))·||·value.equals(Character.valueOf('\"')))·&&·value·!=·c)·{72 ····················if·((value.equals(Character.valueOf('\''))·||·value.equals(Character.valueOf('\"')))·&&·value·!=·c)·{
73 ························if·(n2·==·0)·{73 ························if·(n2·==·0)·{
74 ····························n2·=·1;74 ····························n2·=·1;
75 ························}75 ························}
76 ························else·{76 ························else·{
77 ····························n2·=·0;77 ····························n2·=·0;
Offset 79, 27 lines modifiedOffset 79, 27 lines modified
79 ····················}79 ····················}
80 ····················if·(n2·==·0)·{80 ····················if·(n2·==·0)·{
81 ························if·(value.equals(Character.valueOf(c)))·{81 ························if·(value.equals(Character.valueOf(c)))·{
82 ····························++n;82 ····························++n;
83 ····························if·(pos·==·-1)·{83 ····························if·(pos·==·-1)·{
84 ································pos·=·this.pos;84 ································pos·=·this.pos;
85 ····························}85 ····························}
86 ····························break·Label_0196;86 ····························break·Label_0241;
87 ························}87 ························}
88 ························else·{88 ························else·{
89 ····························if·(value.equals(Character.valueOf(c2)))·{89 ····························if·(value.equals(Character.valueOf(c2)))·{
90 ································--n;90 ································--n;
91 ····························}91 ····························}
92 ····························break·Label_0196;92 ····························break·Label_0241;
93 ························}93 ························}
94 ····················}94 ····················}
95 ····················if·(n·<=·0)·{95 ····················if·(n·<=·0)·{
96 ························break;96 ························break;
97 ····················}97 ····················}
98 ····················continue·Label_0142_Outer;98 ····················continue·Label_0187_Outer;
99 ················}99 ················}
100 ················if·(n·>·0·&&·charValue·!=·'\0')·{100 ················if·(n·>·0·&&·charValue·!=·'\0')·{
101 ····················pos2·=·this.pos;101 ····················pos2·=·this.pos;
102 ················}102 ················}
103 ················charValue·=·value;103 ················charValue·=·value;
104 ················continue;104 ················continue;
105 ············}105 ············}
Offset 107, 14 lines modifiedOffset 107, 17 lines modified
107 ········String·substring;107 ········String·substring;