{"diffoscope-json-version": 1, "source1": "/input1", "source2": "/input2", "unified_diff": null, "details": [{"source1": "zipinfo {}", "source2": "zipinfo {}", "unified_diff": "@@ -1,22 +1,22 @@\n-Zip file size: 32271 bytes, number of entries: 20\n+Zip file size: 32505 bytes, number of entries: 20\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/\n -rw----     2.0 fat     4251 bX stor 70-Jan-01 00:00 META-INF/DEPENDENCIES\n -rw----     2.0 fat    11358 bX stor 70-Jan-01 00:00 META-INF/LICENSE\n -rw----     2.0 fat       25 bX stor 70-Jan-01 00:00 META-INF/MANIFEST.MF\n -rw----     2.0 fat      191 bX stor 70-Jan-01 00:00 META-INF/NOTICE\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/dubbo/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/dubbo/internal/\n--rw----     2.0 fat       75 bX stor 70-Jan-01 00:00 META-INF/dubbo/internal/org.apache.dubbo.metadata.definition.builder.TypeBuilder\n+-rw----     2.0 fat       76 bX stor 70-Jan-01 00:00 META-INF/dubbo/internal/org.apache.dubbo.metadata.definition.builder.TypeBuilder\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/maven/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/dubbo-metadata-definition-protobuf/\n -rw----     2.0 fat        0 bX stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/dubbo-metadata-definition-protobuf/pom.properties\n--rw----     2.0 fat     2074 bX stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/dubbo-metadata-definition-protobuf/pom.xml\n+-rw----     2.0 fat     2023 bX stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/dubbo-metadata-definition-protobuf/pom.xml\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/apache/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/apache/dubbo/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/apache/dubbo/metadata/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/apache/dubbo/metadata/definition/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/apache/dubbo/metadata/definition/protobuf/\n--rw----     2.0 fat    10907 bX stor 70-Jan-01 00:00 org/apache/dubbo/metadata/definition/protobuf/ProtobufTypeBuilder.java\n-20 files, 28881 bytes uncompressed, 28881 bytes compressed:  0.0%\n+-rw----     2.0 fat    11191 bX stor 70-Jan-01 00:00 org/apache/dubbo/metadata/definition/protobuf/ProtobufTypeBuilder.java\n+20 files, 29115 bytes uncompressed, 29115 bytes compressed:  0.0%\n"}, {"source1": "zipdetails --redact --scan --utc {}", "source2": "zipdetails --redact --scan --utc {}", "unified_diff": "@@ -192,886 +192,886 @@\n # WARNING: Offset 0x3FB8: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n 4008 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n 400A   Length              0005 (5)\n 400C   Flags               01 (1) 'Modification'\n 400D   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-4011 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+4011 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n-405C DATA DESCRIPTOR       08074B50 (134695760)\n-4060 CRC                   15F24384 (368198532)\n-4064 Compressed Size       0000004B (75)\n-4068 Uncompressed Size     0000004B (75)\n-\n-406C LOCAL HEADER #9       04034B50 (67324752)\n-4070 Extract Zip Spec      14 (20) '2.0'\n-4071 Extract OS            00 (0) 'MS-DOS'\n-4072 General Purpose Flag  0000 (0)\n-4074 Compression Method    0000 (0) 'Stored'\n-4076 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-407A CRC                   00000000 (0)\n-407E Compressed Size       00000000 (0)\n-4082 Uncompressed Size     00000000 (0)\n-4086 Filename Length       000F (15)\n-4088 Extra Length          0009 (9)\n-408A Filename              'XXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x408A: Filename 'XXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-4099 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-409B   Length              0005 (5)\n-409D   Flags               01 (1) 'Modification'\n-409E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-40A2 LOCAL HEADER #10      04034B50 (67324752)\n-40A6 Extract Zip Spec      14 (20) '2.0'\n-40A7 Extract OS            00 (0) 'MS-DOS'\n-40A8 General Purpose Flag  0000 (0)\n-40AA Compression Method    0000 (0) 'Stored'\n-40AC Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-40B0 CRC                   00000000 (0)\n-40B4 Compressed Size       00000000 (0)\n-40B8 Uncompressed Size     00000000 (0)\n-40BC Filename Length       0020 (32)\n-40BE Extra Length          0009 (9)\n-40C0 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x40C0: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-40E0 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-40E2   Length              0005 (5)\n-40E4   Flags               01 (1) 'Modification'\n-40E5   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-40E9 LOCAL HEADER #11      04034B50 (67324752)\n-40ED Extract Zip Spec      14 (20) '2.0'\n-40EE Extract OS            00 (0) 'MS-DOS'\n-40EF General Purpose Flag  0000 (0)\n-40F1 Compression Method    0000 (0) 'Stored'\n-40F3 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-40F7 CRC                   00000000 (0)\n-40FB Compressed Size       00000000 (0)\n-40FF Uncompressed Size     00000000 (0)\n-4103 Filename Length       0043 (67)\n-4105 Extra Length          0009 (9)\n-4107 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x4107: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-414A Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-414C   Length              0005 (5)\n-414E   Flags               01 (1) 'Modification'\n-414F   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-4153 LOCAL HEADER #12      04034B50 (67324752)\n-4157 Extract Zip Spec      14 (20) '2.0'\n-4158 Extract OS            00 (0) 'MS-DOS'\n-4159 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-415B Compression Method    0000 (0) 'Stored'\n-415D Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4161 CRC                   00000000 (0)\n-4165 Compressed Size       00000000 (0)\n-4169 Uncompressed Size     00000000 (0)\n-416D Filename Length       0051 (81)\n-416F Extra Length          0009 (9)\n-4171 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x4171: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-41C2 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-41C4   Length              0005 (5)\n-41C6   Flags               01 (1) 'Modification'\n-41C7   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-41CB DATA DESCRIPTOR       08074B50 (134695760)\n-41CF CRC                   00000000 (0)\n-41D3 Compressed Size       00000000 (0)\n-41D7 Uncompressed Size     00000000 (0)\n-\n-41DB LOCAL HEADER #13      04034B50 (67324752)\n-41DF Extract Zip Spec      14 (20) '2.0'\n-41E0 Extract OS            00 (0) 'MS-DOS'\n-41E1 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-41E3 Compression Method    0000 (0) 'Stored'\n-41E5 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-41E9 CRC                   00000000 (0)\n-41ED Compressed Size       00000000 (0)\n-41F1 Uncompressed Size     00000000 (0)\n-41F5 Filename Length       004A (74)\n-41F7 Extra Length          0009 (9)\n-41F9 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x41F9: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-4243 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4245   Length              0005 (5)\n-4247   Flags               01 (1) 'Modification'\n-4248   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-424C PAYLOAD\n-\n-4A66 DATA DESCRIPTOR       08074B50 (134695760)\n-4A6A CRC                   8CC24170 (2361540976)\n-4A6E Compressed Size       0000081A (2074)\n-4A72 Uncompressed Size     0000081A (2074)\n-\n-4A76 LOCAL HEADER #14      04034B50 (67324752)\n-4A7A Extract Zip Spec      14 (20) '2.0'\n-4A7B Extract OS            00 (0) 'MS-DOS'\n-4A7C General Purpose Flag  0000 (0)\n-4A7E Compression Method    0000 (0) 'Stored'\n-4A80 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4A84 CRC                   00000000 (0)\n-4A88 Compressed Size       00000000 (0)\n-4A8C Uncompressed Size     00000000 (0)\n-4A90 Filename Length       0004 (4)\n-4A92 Extra Length          0009 (9)\n-4A94 Filename              'XXXX'\n+405D DATA DESCRIPTOR       08074B50 (134695760)\n+4061 CRC                   9756252E (2539005230)\n+4065 Compressed Size       0000004C (76)\n+4069 Uncompressed Size     0000004C (76)\n+\n+406D LOCAL HEADER #9       04034B50 (67324752)\n+4071 Extract Zip Spec      14 (20) '2.0'\n+4072 Extract OS            00 (0) 'MS-DOS'\n+4073 General Purpose Flag  0000 (0)\n+4075 Compression Method    0000 (0) 'Stored'\n+4077 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+407B CRC                   00000000 (0)\n+407F Compressed Size       00000000 (0)\n+4083 Uncompressed Size     00000000 (0)\n+4087 Filename Length       000F (15)\n+4089 Extra Length          0009 (9)\n+408B Filename              'XXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x408B: Filename 'XXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+409A Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+409C   Length              0005 (5)\n+409E   Flags               01 (1) 'Modification'\n+409F   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+40A3 LOCAL HEADER #10      04034B50 (67324752)\n+40A7 Extract Zip Spec      14 (20) '2.0'\n+40A8 Extract OS            00 (0) 'MS-DOS'\n+40A9 General Purpose Flag  0000 (0)\n+40AB Compression Method    0000 (0) 'Stored'\n+40AD Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+40B1 CRC                   00000000 (0)\n+40B5 Compressed Size       00000000 (0)\n+40B9 Uncompressed Size     00000000 (0)\n+40BD Filename Length       0020 (32)\n+40BF Extra Length          0009 (9)\n+40C1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x40C1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+40E1 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+40E3   Length              0005 (5)\n+40E5   Flags               01 (1) 'Modification'\n+40E6   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+40EA LOCAL HEADER #11      04034B50 (67324752)\n+40EE Extract Zip Spec      14 (20) '2.0'\n+40EF Extract OS            00 (0) 'MS-DOS'\n+40F0 General Purpose Flag  0000 (0)\n+40F2 Compression Method    0000 (0) 'Stored'\n+40F4 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+40F8 CRC                   00000000 (0)\n+40FC Compressed Size       00000000 (0)\n+4100 Uncompressed Size     00000000 (0)\n+4104 Filename Length       0043 (67)\n+4106 Extra Length          0009 (9)\n+4108 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x4108: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+414B Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+414D   Length              0005 (5)\n+414F   Flags               01 (1) 'Modification'\n+4150   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+4154 LOCAL HEADER #12      04034B50 (67324752)\n+4158 Extract Zip Spec      14 (20) '2.0'\n+4159 Extract OS            00 (0) 'MS-DOS'\n+415A General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+415C Compression Method    0000 (0) 'Stored'\n+415E Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+4162 CRC                   00000000 (0)\n+4166 Compressed Size       00000000 (0)\n+416A Uncompressed Size     00000000 (0)\n+416E Filename Length       0051 (81)\n+4170 Extra Length          0009 (9)\n+4172 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x4172: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+41C3 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+41C5   Length              0005 (5)\n+41C7   Flags               01 (1) 'Modification'\n+41C8   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+41CC DATA DESCRIPTOR       08074B50 (134695760)\n+41D0 CRC                   00000000 (0)\n+41D4 Compressed Size       00000000 (0)\n+41D8 Uncompressed Size     00000000 (0)\n+\n+41DC LOCAL HEADER #13      04034B50 (67324752)\n+41E0 Extract Zip Spec      14 (20) '2.0'\n+41E1 Extract OS            00 (0) 'MS-DOS'\n+41E2 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+41E4 Compression Method    0000 (0) 'Stored'\n+41E6 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+41EA CRC                   00000000 (0)\n+41EE Compressed Size       00000000 (0)\n+41F2 Uncompressed Size     00000000 (0)\n+41F6 Filename Length       004A (74)\n+41F8 Extra Length          0009 (9)\n+41FA Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x41FA: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+4244 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4246   Length              0005 (5)\n+4248   Flags               01 (1) 'Modification'\n+4249   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+424D PAYLOAD\n+\n+4A34 DATA DESCRIPTOR       08074B50 (134695760)\n+4A38 CRC                   582B6F15 (1479241493)\n+4A3C Compressed Size       000007E7 (2023)\n+4A40 Uncompressed Size     000007E7 (2023)\n+\n+4A44 LOCAL HEADER #14      04034B50 (67324752)\n+4A48 Extract Zip Spec      14 (20) '2.0'\n+4A49 Extract OS            00 (0) 'MS-DOS'\n+4A4A General Purpose Flag  0000 (0)\n+4A4C Compression Method    0000 (0) 'Stored'\n+4A4E Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+4A52 CRC                   00000000 (0)\n+4A56 Compressed Size       00000000 (0)\n+4A5A Uncompressed Size     00000000 (0)\n+4A5E Filename Length       0004 (4)\n+4A60 Extra Length          0009 (9)\n+4A62 Filename              'XXXX'\n+#\n+# WARNING: Offset 0x4A62: Filename 'XXXX'\n+#          Zero length filename\n+#\n+4A66 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4A68   Length              0005 (5)\n+4A6A   Flags               01 (1) 'Modification'\n+4A6B   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+4A6F LOCAL HEADER #15      04034B50 (67324752)\n+4A73 Extract Zip Spec      14 (20) '2.0'\n+4A74 Extract OS            00 (0) 'MS-DOS'\n+4A75 General Purpose Flag  0000 (0)\n+4A77 Compression Method    0000 (0) 'Stored'\n+4A79 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+4A7D CRC                   00000000 (0)\n+4A81 Compressed Size       00000000 (0)\n+4A85 Uncompressed Size     00000000 (0)\n+4A89 Filename Length       000B (11)\n+4A8B Extra Length          0009 (9)\n+4A8D Filename              'XXXXXXXXXXX'\n #\n-# WARNING: Offset 0x4A94: Filename 'XXXX'\n+# WARNING: Offset 0x4A8D: Filename 'XXXXXXXXXXX'\n #          Zero length filename\n #\n 4A98 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n 4A9A   Length              0005 (5)\n 4A9C   Flags               01 (1) 'Modification'\n 4A9D   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n \n-4AA1 LOCAL HEADER #15      04034B50 (67324752)\n+4AA1 LOCAL HEADER #16      04034B50 (67324752)\n 4AA5 Extract Zip Spec      14 (20) '2.0'\n 4AA6 Extract OS            00 (0) 'MS-DOS'\n 4AA7 General Purpose Flag  0000 (0)\n 4AA9 Compression Method    0000 (0) 'Stored'\n 4AAB Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n 4AAF CRC                   00000000 (0)\n 4AB3 Compressed Size       00000000 (0)\n 4AB7 Uncompressed Size     00000000 (0)\n-4ABB Filename Length       000B (11)\n+4ABB Filename Length       0011 (17)\n 4ABD Extra Length          0009 (9)\n-4ABF Filename              'XXXXXXXXXXX'\n+4ABF Filename              'XXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x4ABF: Filename 'XXXXXXXXXXX'\n+# WARNING: Offset 0x4ABF: Filename 'XXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-4ACA Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4ACC   Length              0005 (5)\n-4ACE   Flags               01 (1) 'Modification'\n-4ACF   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-4AD3 LOCAL HEADER #16      04034B50 (67324752)\n-4AD7 Extract Zip Spec      14 (20) '2.0'\n-4AD8 Extract OS            00 (0) 'MS-DOS'\n-4AD9 General Purpose Flag  0000 (0)\n-4ADB Compression Method    0000 (0) 'Stored'\n-4ADD Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4AE1 CRC                   00000000 (0)\n-4AE5 Compressed Size       00000000 (0)\n-4AE9 Uncompressed Size     00000000 (0)\n-4AED Filename Length       0011 (17)\n-4AEF Extra Length          0009 (9)\n-4AF1 Filename              'XXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x4AF1: Filename 'XXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-4B02 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4B04   Length              0005 (5)\n-4B06   Flags               01 (1) 'Modification'\n-4B07   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-4B0B LOCAL HEADER #17      04034B50 (67324752)\n-4B0F Extract Zip Spec      14 (20) '2.0'\n-4B10 Extract OS            00 (0) 'MS-DOS'\n-4B11 General Purpose Flag  0000 (0)\n-4B13 Compression Method    0000 (0) 'Stored'\n-4B15 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4B19 CRC                   00000000 (0)\n-4B1D Compressed Size       00000000 (0)\n-4B21 Uncompressed Size     00000000 (0)\n-4B25 Filename Length       001A (26)\n-4B27 Extra Length          0009 (9)\n-4B29 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x4B29: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-4B43 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4B45   Length              0005 (5)\n-4B47   Flags               01 (1) 'Modification'\n-4B48   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-4B4C LOCAL HEADER #18      04034B50 (67324752)\n-4B50 Extract Zip Spec      14 (20) '2.0'\n-4B51 Extract OS            00 (0) 'MS-DOS'\n-4B52 General Purpose Flag  0000 (0)\n-4B54 Compression Method    0000 (0) 'Stored'\n-4B56 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4B5A CRC                   00000000 (0)\n-4B5E Compressed Size       00000000 (0)\n-4B62 Uncompressed Size     00000000 (0)\n-4B66 Filename Length       0025 (37)\n-4B68 Extra Length          0009 (9)\n-4B6A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x4B6A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-4B8F Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4B91   Length              0005 (5)\n-4B93   Flags               01 (1) 'Modification'\n-4B94   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-4B98 LOCAL HEADER #19      04034B50 (67324752)\n-4B9C Extract Zip Spec      14 (20) '2.0'\n-4B9D Extract OS            00 (0) 'MS-DOS'\n-4B9E General Purpose Flag  0000 (0)\n-4BA0 Compression Method    0000 (0) 'Stored'\n-4BA2 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4BA6 CRC                   00000000 (0)\n-4BAA Compressed Size       00000000 (0)\n-4BAE Uncompressed Size     00000000 (0)\n-4BB2 Filename Length       002E (46)\n-4BB4 Extra Length          0009 (9)\n-4BB6 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x4BB6: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-4BE4 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4BE6   Length              0005 (5)\n-4BE8   Flags               01 (1) 'Modification'\n-4BE9   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-4BED LOCAL HEADER #20      04034B50 (67324752)\n-4BF1 Extract Zip Spec      14 (20) '2.0'\n-4BF2 Extract OS            00 (0) 'MS-DOS'\n-4BF3 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-4BF5 Compression Method    0000 (0) 'Stored'\n-4BF7 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-4BFB CRC                   00000000 (0)\n-4BFF Compressed Size       00000000 (0)\n-4C03 Uncompressed Size     00000000 (0)\n-4C07 Filename Length       0046 (70)\n-4C09 Extra Length          0009 (9)\n-4C0B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x4C0B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-4C51 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-4C53   Length              0005 (5)\n-4C55   Flags               01 (1) 'Modification'\n-4C56   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-4C5A PAYLOAD\n-\n-76F5 DATA DESCRIPTOR       08074B50 (134695760)\n-76F9 CRC                   14DEAE2B (350137899)\n-76FD Compressed Size       00002A9B (10907)\n-7701 Uncompressed Size     00002A9B (10907)\n-\n-7705 CENTRAL HEADER #1     02014B50 (33639248)\n-7709 Created Zip Spec      14 (20) '2.0'\n-770A Created OS            00 (0) 'MS-DOS'\n-770B Extract Zip Spec      14 (20) '2.0'\n-770C Extract OS            00 (0) 'MS-DOS'\n-770D General Purpose Flag  0000 (0)\n-770F Compression Method    0000 (0) 'Stored'\n-7711 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7715 CRC                   00000000 (0)\n-7719 Compressed Size       00000000 (0)\n-771D Uncompressed Size     00000000 (0)\n-7721 Filename Length       0009 (9)\n-7723 Extra Length          0009 (9)\n-7725 Comment Length        0000 (0)\n-7727 Disk Start            0000 (0)\n-7729 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-772B Ext File Attributes   00000000 (0)\n-772F Local Header Offset   00000000 (0)\n-7733 Filename              'XXXXXXXXX'\n-#\n-# WARNING: Offset 0x7733: Filename 'XXXXXXXXX'\n-#          Zero length filename\n-#\n-773C Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-773E   Length              0005 (5)\n-7740   Flags               01 (1) 'Modification'\n-7741   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7745 CENTRAL HEADER #2     02014B50 (33639248)\n-7749 Created Zip Spec      14 (20) '2.0'\n-774A Created OS            00 (0) 'MS-DOS'\n-774B Extract Zip Spec      14 (20) '2.0'\n-774C Extract OS            00 (0) 'MS-DOS'\n-774D General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-774F Compression Method    0000 (0) 'Stored'\n-7751 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7755 CRC                   3645555F (910513503)\n-7759 Compressed Size       0000109B (4251)\n-775D Uncompressed Size     0000109B (4251)\n-7761 Filename Length       0015 (21)\n-7763 Extra Length          0009 (9)\n-7765 Comment Length        0000 (0)\n-7767 Disk Start            0000 (0)\n-7769 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-776B Ext File Attributes   00000000 (0)\n-776F Local Header Offset   00000030 (48)\n-7773 Filename              'XXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x7773: Filename 'XXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-7788 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-778A   Length              0005 (5)\n-778C   Flags               01 (1) 'Modification'\n-778D   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7791 CENTRAL HEADER #3     02014B50 (33639248)\n-7795 Created Zip Spec      14 (20) '2.0'\n-7796 Created OS            00 (0) 'MS-DOS'\n-7797 Extract Zip Spec      14 (20) '2.0'\n-7798 Extract OS            00 (0) 'MS-DOS'\n-7799 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-779B Compression Method    0000 (0) 'Stored'\n-779D Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-77A1 CRC                   86E2B4B4 (2263004340)\n-77A5 Compressed Size       00002C5E (11358)\n-77A9 Uncompressed Size     00002C5E (11358)\n-77AD Filename Length       0010 (16)\n-77AF Extra Length          0009 (9)\n-77B1 Comment Length        0000 (0)\n-77B3 Disk Start            0000 (0)\n-77B5 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-77B7 Ext File Attributes   00000000 (0)\n-77BB Local Header Offset   00001117 (4375)\n-77BF Filename              'XXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x77BF: Filename 'XXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-77CF Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-77D1   Length              0005 (5)\n-77D3   Flags               01 (1) 'Modification'\n-77D4   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-77D8 CENTRAL HEADER #4     02014B50 (33639248)\n-77DC Created Zip Spec      14 (20) '2.0'\n-77DD Created OS            00 (0) 'MS-DOS'\n-77DE Extract Zip Spec      14 (20) '2.0'\n-77DF Extract OS            00 (0) 'MS-DOS'\n-77E0 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-77E2 Compression Method    0000 (0) 'Stored'\n-77E4 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-77E8 CRC                   EE027FB2 (3993141170)\n-77EC Compressed Size       00000019 (25)\n-77F0 Uncompressed Size     00000019 (25)\n-77F4 Filename Length       0014 (20)\n-77F6 Extra Length          0009 (9)\n-77F8 Comment Length        0000 (0)\n-77FA Disk Start            0000 (0)\n-77FC Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-77FE Ext File Attributes   00000000 (0)\n-7802 Local Header Offset   00003DBC (15804)\n-7806 Filename              'XXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x7806: Filename 'XXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-781A Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-781C   Length              0005 (5)\n-781E   Flags               01 (1) 'Modification'\n-781F   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7823 CENTRAL HEADER #5     02014B50 (33639248)\n-7827 Created Zip Spec      14 (20) '2.0'\n-7828 Created OS            00 (0) 'MS-DOS'\n-7829 Extract Zip Spec      14 (20) '2.0'\n-782A Extract OS            00 (0) 'MS-DOS'\n-782B General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-782D Compression Method    0000 (0) 'Stored'\n-782F Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7833 CRC                   8E792F64 (2390306660)\n-7837 Compressed Size       000000BF (191)\n-783B Uncompressed Size     000000BF (191)\n-783F Filename Length       000F (15)\n-7841 Extra Length          0009 (9)\n-7843 Comment Length        0000 (0)\n-7845 Disk Start            0000 (0)\n-7847 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-7849 Ext File Attributes   00000000 (0)\n-784D Local Header Offset   00003E20 (15904)\n-7851 Filename              'XXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x7851: Filename 'XXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-7860 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-7862   Length              0005 (5)\n-7864   Flags               01 (1) 'Modification'\n-7865   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7869 CENTRAL HEADER #6     02014B50 (33639248)\n-786D Created Zip Spec      14 (20) '2.0'\n-786E Created OS            00 (0) 'MS-DOS'\n-786F Extract Zip Spec      14 (20) '2.0'\n-7870 Extract OS            00 (0) 'MS-DOS'\n-7871 General Purpose Flag  0000 (0)\n-7873 Compression Method    0000 (0) 'Stored'\n-7875 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7879 CRC                   00000000 (0)\n-787D Compressed Size       00000000 (0)\n-7881 Uncompressed Size     00000000 (0)\n-7885 Filename Length       000F (15)\n-7887 Extra Length          0009 (9)\n-7889 Comment Length        0000 (0)\n-788B Disk Start            0000 (0)\n-788D Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-788F Ext File Attributes   00000000 (0)\n-7893 Local Header Offset   00003F25 (16165)\n-7897 Filename              'XXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x7897: Filename 'XXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-78A6 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-78A8   Length              0005 (5)\n-78AA   Flags               01 (1) 'Modification'\n-78AB   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-78AF CENTRAL HEADER #7     02014B50 (33639248)\n-78B3 Created Zip Spec      14 (20) '2.0'\n-78B4 Created OS            00 (0) 'MS-DOS'\n-78B5 Extract Zip Spec      14 (20) '2.0'\n-78B6 Extract OS            00 (0) 'MS-DOS'\n-78B7 General Purpose Flag  0000 (0)\n-78B9 Compression Method    0000 (0) 'Stored'\n-78BB Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-78BF CRC                   00000000 (0)\n-78C3 Compressed Size       00000000 (0)\n-78C7 Uncompressed Size     00000000 (0)\n-78CB Filename Length       0018 (24)\n-78CD Extra Length          0009 (9)\n-78CF Comment Length        0000 (0)\n-78D1 Disk Start            0000 (0)\n-78D3 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-78D5 Ext File Attributes   00000000 (0)\n-78D9 Local Header Offset   00003F5B (16219)\n-78DD Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x78DD: Filename 'XXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-78F5 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-78F7   Length              0005 (5)\n-78F9   Flags               01 (1) 'Modification'\n-78FA   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-78FE CENTRAL HEADER #8     02014B50 (33639248)\n-7902 Created Zip Spec      14 (20) '2.0'\n-7903 Created OS            00 (0) 'MS-DOS'\n-7904 Extract Zip Spec      14 (20) '2.0'\n-7905 Extract OS            00 (0) 'MS-DOS'\n-7906 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-7908 Compression Method    0000 (0) 'Stored'\n-790A Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-790E CRC                   15F24384 (368198532)\n-7912 Compressed Size       0000004B (75)\n-7916 Uncompressed Size     0000004B (75)\n-791A Filename Length       0050 (80)\n-791C Extra Length          0009 (9)\n-791E Comment Length        0000 (0)\n-7920 Disk Start            0000 (0)\n-7922 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-7924 Ext File Attributes   00000000 (0)\n-7928 Local Header Offset   00003F9A (16282)\n-792C Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x792C: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-797C Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-797E   Length              0005 (5)\n-7980   Flags               01 (1) 'Modification'\n-7981   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7985 CENTRAL HEADER #9     02014B50 (33639248)\n-7989 Created Zip Spec      14 (20) '2.0'\n-798A Created OS            00 (0) 'MS-DOS'\n-798B Extract Zip Spec      14 (20) '2.0'\n-798C Extract OS            00 (0) 'MS-DOS'\n-798D General Purpose Flag  0000 (0)\n-798F Compression Method    0000 (0) 'Stored'\n-7991 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7995 CRC                   00000000 (0)\n-7999 Compressed Size       00000000 (0)\n-799D Uncompressed Size     00000000 (0)\n-79A1 Filename Length       000F (15)\n-79A3 Extra Length          0009 (9)\n-79A5 Comment Length        0000 (0)\n-79A7 Disk Start            0000 (0)\n-79A9 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-79AB Ext File Attributes   00000000 (0)\n-79AF Local Header Offset   0000406C (16492)\n-79B3 Filename              'XXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x79B3: Filename 'XXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-79C2 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-79C4   Length              0005 (5)\n-79C6   Flags               01 (1) 'Modification'\n-79C7   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-79CB CENTRAL HEADER #10    02014B50 (33639248)\n-79CF Created Zip Spec      14 (20) '2.0'\n-79D0 Created OS            00 (0) 'MS-DOS'\n-79D1 Extract Zip Spec      14 (20) '2.0'\n-79D2 Extract OS            00 (0) 'MS-DOS'\n-79D3 General Purpose Flag  0000 (0)\n-79D5 Compression Method    0000 (0) 'Stored'\n-79D7 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-79DB CRC                   00000000 (0)\n-79DF Compressed Size       00000000 (0)\n-79E3 Uncompressed Size     00000000 (0)\n-79E7 Filename Length       0020 (32)\n-79E9 Extra Length          0009 (9)\n-79EB Comment Length        0000 (0)\n-79ED Disk Start            0000 (0)\n-79EF Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-79F1 Ext File Attributes   00000000 (0)\n-79F5 Local Header Offset   000040A2 (16546)\n-79F9 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x79F9: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-7A19 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-7A1B   Length              0005 (5)\n-7A1D   Flags               01 (1) 'Modification'\n-7A1E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7A22 CENTRAL HEADER #11    02014B50 (33639248)\n-7A26 Created Zip Spec      14 (20) '2.0'\n-7A27 Created OS            00 (0) 'MS-DOS'\n-7A28 Extract Zip Spec      14 (20) '2.0'\n-7A29 Extract OS            00 (0) 'MS-DOS'\n-7A2A General Purpose Flag  0000 (0)\n-7A2C Compression Method    0000 (0) 'Stored'\n-7A2E Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7A32 CRC                   00000000 (0)\n-7A36 Compressed Size       00000000 (0)\n-7A3A Uncompressed Size     00000000 (0)\n-7A3E Filename Length       0043 (67)\n-7A40 Extra Length          0009 (9)\n-7A42 Comment Length        0000 (0)\n-7A44 Disk Start            0000 (0)\n-7A46 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-7A48 Ext File Attributes   00000000 (0)\n-7A4C Local Header Offset   000040E9 (16617)\n-7A50 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x7A50: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-7A93 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-7A95   Length              0005 (5)\n-7A97   Flags               01 (1) 'Modification'\n-7A98   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7A9C CENTRAL HEADER #12    02014B50 (33639248)\n-7AA0 Created Zip Spec      14 (20) '2.0'\n-7AA1 Created OS            00 (0) 'MS-DOS'\n-7AA2 Extract Zip Spec      14 (20) '2.0'\n-7AA3 Extract OS            00 (0) 'MS-DOS'\n-7AA4 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-7AA6 Compression Method    0000 (0) 'Stored'\n-7AA8 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7AAC CRC                   00000000 (0)\n-7AB0 Compressed Size       00000000 (0)\n-7AB4 Uncompressed Size     00000000 (0)\n-7AB8 Filename Length       0051 (81)\n-7ABA Extra Length          0009 (9)\n-7ABC Comment Length        0000 (0)\n-7ABE Disk Start            0000 (0)\n-7AC0 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-7AC2 Ext File Attributes   00000000 (0)\n-7AC6 Local Header Offset   00004153 (16723)\n-7ACA Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x7ACA: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-7B1B Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-7B1D   Length              0005 (5)\n-7B1F   Flags               01 (1) 'Modification'\n-7B20   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7B24 CENTRAL HEADER #13    02014B50 (33639248)\n-7B28 Created Zip Spec      14 (20) '2.0'\n-7B29 Created OS            00 (0) 'MS-DOS'\n-7B2A Extract Zip Spec      14 (20) '2.0'\n-7B2B Extract OS            00 (0) 'MS-DOS'\n-7B2C General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-7B2E Compression Method    0000 (0) 'Stored'\n-7B30 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7B34 CRC                   8CC24170 (2361540976)\n-7B38 Compressed Size       0000081A (2074)\n-7B3C Uncompressed Size     0000081A (2074)\n-7B40 Filename Length       004A (74)\n-7B42 Extra Length          0009 (9)\n-7B44 Comment Length        0000 (0)\n-7B46 Disk Start            0000 (0)\n-7B48 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-7B4A Ext File Attributes   00000000 (0)\n-7B4E Local Header Offset   000041DB (16859)\n-7B52 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x7B52: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-7B9C Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-7B9E   Length              0005 (5)\n-7BA0   Flags               01 (1) 'Modification'\n-7BA1   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7BA5 CENTRAL HEADER #14    02014B50 (33639248)\n-7BA9 Created Zip Spec      14 (20) '2.0'\n-7BAA Created OS            00 (0) 'MS-DOS'\n-7BAB Extract Zip Spec      14 (20) '2.0'\n-7BAC Extract OS            00 (0) 'MS-DOS'\n-7BAD General Purpose Flag  0000 (0)\n-7BAF Compression Method    0000 (0) 'Stored'\n-7BB1 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7BB5 CRC                   00000000 (0)\n-7BB9 Compressed Size       00000000 (0)\n-7BBD Uncompressed Size     00000000 (0)\n-7BC1 Filename Length       0004 (4)\n-7BC3 Extra Length          0009 (9)\n-7BC5 Comment Length        0000 (0)\n-7BC7 Disk Start            0000 (0)\n-7BC9 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-7BCB Ext File Attributes   00000000 (0)\n-7BCF Local Header Offset   00004A76 (19062)\n-7BD3 Filename              'XXXX'\n-#\n-# WARNING: Offset 0x7BD3: Filename 'XXXX'\n-#          Zero length filename\n-#\n-7BD7 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-7BD9   Length              0005 (5)\n-7BDB   Flags               01 (1) 'Modification'\n-7BDC   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7BE0 CENTRAL HEADER #15    02014B50 (33639248)\n-7BE4 Created Zip Spec      14 (20) '2.0'\n-7BE5 Created OS            00 (0) 'MS-DOS'\n-7BE6 Extract Zip Spec      14 (20) '2.0'\n-7BE7 Extract OS            00 (0) 'MS-DOS'\n-7BE8 General Purpose Flag  0000 (0)\n-7BEA Compression Method    0000 (0) 'Stored'\n-7BEC Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7BF0 CRC                   00000000 (0)\n-7BF4 Compressed Size       00000000 (0)\n-7BF8 Uncompressed Size     00000000 (0)\n-7BFC Filename Length       000B (11)\n-7BFE Extra Length          0009 (9)\n-7C00 Comment Length        0000 (0)\n-7C02 Disk Start            0000 (0)\n-7C04 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-7C06 Ext File Attributes   00000000 (0)\n-7C0A Local Header Offset   00004AA1 (19105)\n-7C0E Filename              'XXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x7C0E: Filename 'XXXXXXXXXXX'\n-#          Zero length filename\n-#\n-7C19 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-7C1B   Length              0005 (5)\n-7C1D   Flags               01 (1) 'Modification'\n-7C1E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7C22 CENTRAL HEADER #16    02014B50 (33639248)\n-7C26 Created Zip Spec      14 (20) '2.0'\n-7C27 Created OS            00 (0) 'MS-DOS'\n-7C28 Extract Zip Spec      14 (20) '2.0'\n-7C29 Extract OS            00 (0) 'MS-DOS'\n-7C2A General Purpose Flag  0000 (0)\n-7C2C Compression Method    0000 (0) 'Stored'\n-7C2E Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7C32 CRC                   00000000 (0)\n-7C36 Compressed Size       00000000 (0)\n-7C3A Uncompressed Size     00000000 (0)\n-7C3E Filename Length       0011 (17)\n-7C40 Extra Length          0009 (9)\n-7C42 Comment Length        0000 (0)\n-7C44 Disk Start            0000 (0)\n-7C46 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-7C48 Ext File Attributes   00000000 (0)\n-7C4C Local Header Offset   00004AD3 (19155)\n-7C50 Filename              'XXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x7C50: Filename 'XXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-7C61 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-7C63   Length              0005 (5)\n-7C65   Flags               01 (1) 'Modification'\n-7C66   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7C6A CENTRAL HEADER #17    02014B50 (33639248)\n-7C6E Created Zip Spec      14 (20) '2.0'\n-7C6F Created OS            00 (0) 'MS-DOS'\n-7C70 Extract Zip Spec      14 (20) '2.0'\n-7C71 Extract OS            00 (0) 'MS-DOS'\n-7C72 General Purpose Flag  0000 (0)\n-7C74 Compression Method    0000 (0) 'Stored'\n-7C76 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7C7A CRC                   00000000 (0)\n-7C7E Compressed Size       00000000 (0)\n-7C82 Uncompressed Size     00000000 (0)\n-7C86 Filename Length       001A (26)\n-7C88 Extra Length          0009 (9)\n-7C8A Comment Length        0000 (0)\n-7C8C Disk Start            0000 (0)\n-7C8E Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-7C90 Ext File Attributes   00000000 (0)\n-7C94 Local Header Offset   00004B0B (19211)\n-7C98 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x7C98: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-7CB2 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-7CB4   Length              0005 (5)\n-7CB6   Flags               01 (1) 'Modification'\n-7CB7   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7CBB CENTRAL HEADER #18    02014B50 (33639248)\n-7CBF Created Zip Spec      14 (20) '2.0'\n-7CC0 Created OS            00 (0) 'MS-DOS'\n-7CC1 Extract Zip Spec      14 (20) '2.0'\n-7CC2 Extract OS            00 (0) 'MS-DOS'\n-7CC3 General Purpose Flag  0000 (0)\n-7CC5 Compression Method    0000 (0) 'Stored'\n-7CC7 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7CCB CRC                   00000000 (0)\n-7CCF Compressed Size       00000000 (0)\n-7CD3 Uncompressed Size     00000000 (0)\n-7CD7 Filename Length       0025 (37)\n-7CD9 Extra Length          0009 (9)\n-7CDB Comment Length        0000 (0)\n-7CDD Disk Start            0000 (0)\n-7CDF Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-7CE1 Ext File Attributes   00000000 (0)\n-7CE5 Local Header Offset   00004B4C (19276)\n-7CE9 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x7CE9: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-7D0E Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-7D10   Length              0005 (5)\n-7D12   Flags               01 (1) 'Modification'\n-7D13   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7D17 CENTRAL HEADER #19    02014B50 (33639248)\n-7D1B Created Zip Spec      14 (20) '2.0'\n-7D1C Created OS            00 (0) 'MS-DOS'\n-7D1D Extract Zip Spec      14 (20) '2.0'\n-7D1E Extract OS            00 (0) 'MS-DOS'\n-7D1F General Purpose Flag  0000 (0)\n-7D21 Compression Method    0000 (0) 'Stored'\n-7D23 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7D27 CRC                   00000000 (0)\n-7D2B Compressed Size       00000000 (0)\n-7D2F Uncompressed Size     00000000 (0)\n-7D33 Filename Length       002E (46)\n-7D35 Extra Length          0009 (9)\n-7D37 Comment Length        0000 (0)\n-7D39 Disk Start            0000 (0)\n-7D3B Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-7D3D Ext File Attributes   00000000 (0)\n-7D41 Local Header Offset   00004B98 (19352)\n-7D45 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x7D45: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-7D73 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-7D75   Length              0005 (5)\n-7D77   Flags               01 (1) 'Modification'\n-7D78   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7D7C CENTRAL HEADER #20    02014B50 (33639248)\n-7D80 Created Zip Spec      14 (20) '2.0'\n-7D81 Created OS            00 (0) 'MS-DOS'\n-7D82 Extract Zip Spec      14 (20) '2.0'\n-7D83 Extract OS            00 (0) 'MS-DOS'\n-7D84 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-7D86 Compression Method    0000 (0) 'Stored'\n-7D88 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7D8C CRC                   14DEAE2B (350137899)\n-7D90 Compressed Size       00002A9B (10907)\n-7D94 Uncompressed Size     00002A9B (10907)\n-7D98 Filename Length       0046 (70)\n-7D9A Extra Length          0009 (9)\n-7D9C Comment Length        0000 (0)\n-7D9E Disk Start            0000 (0)\n-7DA0 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-7DA2 Ext File Attributes   00000000 (0)\n-7DA6 Local Header Offset   00004BED (19437)\n-7DAA Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x7DAA: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-7DF0 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-7DF2   Length              0005 (5)\n-7DF4   Flags               01 (1) 'Modification'\n-7DF5   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-7DF9 END CENTRAL HEADER    06054B50 (101010256)\n-7DFD Number of this disk   0000 (0)\n-7DFF Central Dir Disk no   0000 (0)\n-7E01 Entries in this disk  0014 (20)\n-7E03 Total Entries         0014 (20)\n-7E05 Size of Central Dir   000006F4 (1780)\n-7E09 Offset to Central Dir 00007705 (30469)\n-7E0D Comment Length        0000 (0)\n+4AD0 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4AD2   Length              0005 (5)\n+4AD4   Flags               01 (1) 'Modification'\n+4AD5   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+4AD9 LOCAL HEADER #17      04034B50 (67324752)\n+4ADD Extract Zip Spec      14 (20) '2.0'\n+4ADE Extract OS            00 (0) 'MS-DOS'\n+4ADF General Purpose Flag  0000 (0)\n+4AE1 Compression Method    0000 (0) 'Stored'\n+4AE3 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+4AE7 CRC                   00000000 (0)\n+4AEB Compressed Size       00000000 (0)\n+4AEF Uncompressed Size     00000000 (0)\n+4AF3 Filename Length       001A (26)\n+4AF5 Extra Length          0009 (9)\n+4AF7 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x4AF7: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+4B11 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4B13   Length              0005 (5)\n+4B15   Flags               01 (1) 'Modification'\n+4B16   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+4B1A LOCAL HEADER #18      04034B50 (67324752)\n+4B1E Extract Zip Spec      14 (20) '2.0'\n+4B1F Extract OS            00 (0) 'MS-DOS'\n+4B20 General Purpose Flag  0000 (0)\n+4B22 Compression Method    0000 (0) 'Stored'\n+4B24 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+4B28 CRC                   00000000 (0)\n+4B2C Compressed Size       00000000 (0)\n+4B30 Uncompressed Size     00000000 (0)\n+4B34 Filename Length       0025 (37)\n+4B36 Extra Length          0009 (9)\n+4B38 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x4B38: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+4B5D Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4B5F   Length              0005 (5)\n+4B61   Flags               01 (1) 'Modification'\n+4B62   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+4B66 LOCAL HEADER #19      04034B50 (67324752)\n+4B6A Extract Zip Spec      14 (20) '2.0'\n+4B6B Extract OS            00 (0) 'MS-DOS'\n+4B6C General Purpose Flag  0000 (0)\n+4B6E Compression Method    0000 (0) 'Stored'\n+4B70 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+4B74 CRC                   00000000 (0)\n+4B78 Compressed Size       00000000 (0)\n+4B7C Uncompressed Size     00000000 (0)\n+4B80 Filename Length       002E (46)\n+4B82 Extra Length          0009 (9)\n+4B84 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x4B84: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+4BB2 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4BB4   Length              0005 (5)\n+4BB6   Flags               01 (1) 'Modification'\n+4BB7   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+4BBB LOCAL HEADER #20      04034B50 (67324752)\n+4BBF Extract Zip Spec      14 (20) '2.0'\n+4BC0 Extract OS            00 (0) 'MS-DOS'\n+4BC1 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+4BC3 Compression Method    0000 (0) 'Stored'\n+4BC5 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+4BC9 CRC                   00000000 (0)\n+4BCD Compressed Size       00000000 (0)\n+4BD1 Uncompressed Size     00000000 (0)\n+4BD5 Filename Length       0046 (70)\n+4BD7 Extra Length          0009 (9)\n+4BD9 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x4BD9: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+4C1F Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+4C21   Length              0005 (5)\n+4C23   Flags               01 (1) 'Modification'\n+4C24   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+4C28 PAYLOAD\n+\n+77DF DATA DESCRIPTOR       08074B50 (134695760)\n+77E3 CRC                   C54DB8A1 (3310205089)\n+77E7 Compressed Size       00002BB7 (11191)\n+77EB Uncompressed Size     00002BB7 (11191)\n+\n+77EF CENTRAL HEADER #1     02014B50 (33639248)\n+77F3 Created Zip Spec      14 (20) '2.0'\n+77F4 Created OS            00 (0) 'MS-DOS'\n+77F5 Extract Zip Spec      14 (20) '2.0'\n+77F6 Extract OS            00 (0) 'MS-DOS'\n+77F7 General Purpose Flag  0000 (0)\n+77F9 Compression Method    0000 (0) 'Stored'\n+77FB Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+77FF CRC                   00000000 (0)\n+7803 Compressed Size       00000000 (0)\n+7807 Uncompressed Size     00000000 (0)\n+780B Filename Length       0009 (9)\n+780D Extra Length          0009 (9)\n+780F Comment Length        0000 (0)\n+7811 Disk Start            0000 (0)\n+7813 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7815 Ext File Attributes   00000000 (0)\n+7819 Local Header Offset   00000000 (0)\n+781D Filename              'XXXXXXXXX'\n+#\n+# WARNING: Offset 0x781D: Filename 'XXXXXXXXX'\n+#          Zero length filename\n+#\n+7826 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7828   Length              0005 (5)\n+782A   Flags               01 (1) 'Modification'\n+782B   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+782F CENTRAL HEADER #2     02014B50 (33639248)\n+7833 Created Zip Spec      14 (20) '2.0'\n+7834 Created OS            00 (0) 'MS-DOS'\n+7835 Extract Zip Spec      14 (20) '2.0'\n+7836 Extract OS            00 (0) 'MS-DOS'\n+7837 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+7839 Compression Method    0000 (0) 'Stored'\n+783B Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+783F CRC                   3645555F (910513503)\n+7843 Compressed Size       0000109B (4251)\n+7847 Uncompressed Size     0000109B (4251)\n+784B Filename Length       0015 (21)\n+784D Extra Length          0009 (9)\n+784F Comment Length        0000 (0)\n+7851 Disk Start            0000 (0)\n+7853 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7855 Ext File Attributes   00000000 (0)\n+7859 Local Header Offset   00000030 (48)\n+785D Filename              'XXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x785D: Filename 'XXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7872 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7874   Length              0005 (5)\n+7876   Flags               01 (1) 'Modification'\n+7877   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+787B CENTRAL HEADER #3     02014B50 (33639248)\n+787F Created Zip Spec      14 (20) '2.0'\n+7880 Created OS            00 (0) 'MS-DOS'\n+7881 Extract Zip Spec      14 (20) '2.0'\n+7882 Extract OS            00 (0) 'MS-DOS'\n+7883 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+7885 Compression Method    0000 (0) 'Stored'\n+7887 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+788B CRC                   86E2B4B4 (2263004340)\n+788F Compressed Size       00002C5E (11358)\n+7893 Uncompressed Size     00002C5E (11358)\n+7897 Filename Length       0010 (16)\n+7899 Extra Length          0009 (9)\n+789B Comment Length        0000 (0)\n+789D Disk Start            0000 (0)\n+789F Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+78A1 Ext File Attributes   00000000 (0)\n+78A5 Local Header Offset   00001117 (4375)\n+78A9 Filename              'XXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x78A9: Filename 'XXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+78B9 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+78BB   Length              0005 (5)\n+78BD   Flags               01 (1) 'Modification'\n+78BE   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+78C2 CENTRAL HEADER #4     02014B50 (33639248)\n+78C6 Created Zip Spec      14 (20) '2.0'\n+78C7 Created OS            00 (0) 'MS-DOS'\n+78C8 Extract Zip Spec      14 (20) '2.0'\n+78C9 Extract OS            00 (0) 'MS-DOS'\n+78CA General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+78CC Compression Method    0000 (0) 'Stored'\n+78CE Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+78D2 CRC                   EE027FB2 (3993141170)\n+78D6 Compressed Size       00000019 (25)\n+78DA Uncompressed Size     00000019 (25)\n+78DE Filename Length       0014 (20)\n+78E0 Extra Length          0009 (9)\n+78E2 Comment Length        0000 (0)\n+78E4 Disk Start            0000 (0)\n+78E6 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+78E8 Ext File Attributes   00000000 (0)\n+78EC Local Header Offset   00003DBC (15804)\n+78F0 Filename              'XXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x78F0: Filename 'XXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7904 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7906   Length              0005 (5)\n+7908   Flags               01 (1) 'Modification'\n+7909   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+790D CENTRAL HEADER #5     02014B50 (33639248)\n+7911 Created Zip Spec      14 (20) '2.0'\n+7912 Created OS            00 (0) 'MS-DOS'\n+7913 Extract Zip Spec      14 (20) '2.0'\n+7914 Extract OS            00 (0) 'MS-DOS'\n+7915 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+7917 Compression Method    0000 (0) 'Stored'\n+7919 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+791D CRC                   8E792F64 (2390306660)\n+7921 Compressed Size       000000BF (191)\n+7925 Uncompressed Size     000000BF (191)\n+7929 Filename Length       000F (15)\n+792B Extra Length          0009 (9)\n+792D Comment Length        0000 (0)\n+792F Disk Start            0000 (0)\n+7931 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7933 Ext File Attributes   00000000 (0)\n+7937 Local Header Offset   00003E20 (15904)\n+793B Filename              'XXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x793B: Filename 'XXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+794A Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+794C   Length              0005 (5)\n+794E   Flags               01 (1) 'Modification'\n+794F   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7953 CENTRAL HEADER #6     02014B50 (33639248)\n+7957 Created Zip Spec      14 (20) '2.0'\n+7958 Created OS            00 (0) 'MS-DOS'\n+7959 Extract Zip Spec      14 (20) '2.0'\n+795A Extract OS            00 (0) 'MS-DOS'\n+795B General Purpose Flag  0000 (0)\n+795D Compression Method    0000 (0) 'Stored'\n+795F Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7963 CRC                   00000000 (0)\n+7967 Compressed Size       00000000 (0)\n+796B Uncompressed Size     00000000 (0)\n+796F Filename Length       000F (15)\n+7971 Extra Length          0009 (9)\n+7973 Comment Length        0000 (0)\n+7975 Disk Start            0000 (0)\n+7977 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7979 Ext File Attributes   00000000 (0)\n+797D Local Header Offset   00003F25 (16165)\n+7981 Filename              'XXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7981: Filename 'XXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7990 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7992   Length              0005 (5)\n+7994   Flags               01 (1) 'Modification'\n+7995   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7999 CENTRAL HEADER #7     02014B50 (33639248)\n+799D Created Zip Spec      14 (20) '2.0'\n+799E Created OS            00 (0) 'MS-DOS'\n+799F Extract Zip Spec      14 (20) '2.0'\n+79A0 Extract OS            00 (0) 'MS-DOS'\n+79A1 General Purpose Flag  0000 (0)\n+79A3 Compression Method    0000 (0) 'Stored'\n+79A5 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+79A9 CRC                   00000000 (0)\n+79AD Compressed Size       00000000 (0)\n+79B1 Uncompressed Size     00000000 (0)\n+79B5 Filename Length       0018 (24)\n+79B7 Extra Length          0009 (9)\n+79B9 Comment Length        0000 (0)\n+79BB Disk Start            0000 (0)\n+79BD Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+79BF Ext File Attributes   00000000 (0)\n+79C3 Local Header Offset   00003F5B (16219)\n+79C7 Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x79C7: Filename 'XXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+79DF Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+79E1   Length              0005 (5)\n+79E3   Flags               01 (1) 'Modification'\n+79E4   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+79E8 CENTRAL HEADER #8     02014B50 (33639248)\n+79EC Created Zip Spec      14 (20) '2.0'\n+79ED Created OS            00 (0) 'MS-DOS'\n+79EE Extract Zip Spec      14 (20) '2.0'\n+79EF Extract OS            00 (0) 'MS-DOS'\n+79F0 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+79F2 Compression Method    0000 (0) 'Stored'\n+79F4 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+79F8 CRC                   9756252E (2539005230)\n+79FC Compressed Size       0000004C (76)\n+7A00 Uncompressed Size     0000004C (76)\n+7A04 Filename Length       0050 (80)\n+7A06 Extra Length          0009 (9)\n+7A08 Comment Length        0000 (0)\n+7A0A Disk Start            0000 (0)\n+7A0C Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7A0E Ext File Attributes   00000000 (0)\n+7A12 Local Header Offset   00003F9A (16282)\n+7A16 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7A16: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7A66 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7A68   Length              0005 (5)\n+7A6A   Flags               01 (1) 'Modification'\n+7A6B   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7A6F CENTRAL HEADER #9     02014B50 (33639248)\n+7A73 Created Zip Spec      14 (20) '2.0'\n+7A74 Created OS            00 (0) 'MS-DOS'\n+7A75 Extract Zip Spec      14 (20) '2.0'\n+7A76 Extract OS            00 (0) 'MS-DOS'\n+7A77 General Purpose Flag  0000 (0)\n+7A79 Compression Method    0000 (0) 'Stored'\n+7A7B Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7A7F CRC                   00000000 (0)\n+7A83 Compressed Size       00000000 (0)\n+7A87 Uncompressed Size     00000000 (0)\n+7A8B Filename Length       000F (15)\n+7A8D Extra Length          0009 (9)\n+7A8F Comment Length        0000 (0)\n+7A91 Disk Start            0000 (0)\n+7A93 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7A95 Ext File Attributes   00000000 (0)\n+7A99 Local Header Offset   0000406D (16493)\n+7A9D Filename              'XXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7A9D: Filename 'XXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7AAC Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7AAE   Length              0005 (5)\n+7AB0   Flags               01 (1) 'Modification'\n+7AB1   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7AB5 CENTRAL HEADER #10    02014B50 (33639248)\n+7AB9 Created Zip Spec      14 (20) '2.0'\n+7ABA Created OS            00 (0) 'MS-DOS'\n+7ABB Extract Zip Spec      14 (20) '2.0'\n+7ABC Extract OS            00 (0) 'MS-DOS'\n+7ABD General Purpose Flag  0000 (0)\n+7ABF Compression Method    0000 (0) 'Stored'\n+7AC1 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7AC5 CRC                   00000000 (0)\n+7AC9 Compressed Size       00000000 (0)\n+7ACD Uncompressed Size     00000000 (0)\n+7AD1 Filename Length       0020 (32)\n+7AD3 Extra Length          0009 (9)\n+7AD5 Comment Length        0000 (0)\n+7AD7 Disk Start            0000 (0)\n+7AD9 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7ADB Ext File Attributes   00000000 (0)\n+7ADF Local Header Offset   000040A3 (16547)\n+7AE3 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7AE3: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7B03 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7B05   Length              0005 (5)\n+7B07   Flags               01 (1) 'Modification'\n+7B08   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7B0C CENTRAL HEADER #11    02014B50 (33639248)\n+7B10 Created Zip Spec      14 (20) '2.0'\n+7B11 Created OS            00 (0) 'MS-DOS'\n+7B12 Extract Zip Spec      14 (20) '2.0'\n+7B13 Extract OS            00 (0) 'MS-DOS'\n+7B14 General Purpose Flag  0000 (0)\n+7B16 Compression Method    0000 (0) 'Stored'\n+7B18 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7B1C CRC                   00000000 (0)\n+7B20 Compressed Size       00000000 (0)\n+7B24 Uncompressed Size     00000000 (0)\n+7B28 Filename Length       0043 (67)\n+7B2A Extra Length          0009 (9)\n+7B2C Comment Length        0000 (0)\n+7B2E Disk Start            0000 (0)\n+7B30 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7B32 Ext File Attributes   00000000 (0)\n+7B36 Local Header Offset   000040EA (16618)\n+7B3A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7B3A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7B7D Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7B7F   Length              0005 (5)\n+7B81   Flags               01 (1) 'Modification'\n+7B82   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7B86 CENTRAL HEADER #12    02014B50 (33639248)\n+7B8A Created Zip Spec      14 (20) '2.0'\n+7B8B Created OS            00 (0) 'MS-DOS'\n+7B8C Extract Zip Spec      14 (20) '2.0'\n+7B8D Extract OS            00 (0) 'MS-DOS'\n+7B8E General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+7B90 Compression Method    0000 (0) 'Stored'\n+7B92 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7B96 CRC                   00000000 (0)\n+7B9A Compressed Size       00000000 (0)\n+7B9E Uncompressed Size     00000000 (0)\n+7BA2 Filename Length       0051 (81)\n+7BA4 Extra Length          0009 (9)\n+7BA6 Comment Length        0000 (0)\n+7BA8 Disk Start            0000 (0)\n+7BAA Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7BAC Ext File Attributes   00000000 (0)\n+7BB0 Local Header Offset   00004154 (16724)\n+7BB4 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7BB4: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7C05 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7C07   Length              0005 (5)\n+7C09   Flags               01 (1) 'Modification'\n+7C0A   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7C0E CENTRAL HEADER #13    02014B50 (33639248)\n+7C12 Created Zip Spec      14 (20) '2.0'\n+7C13 Created OS            00 (0) 'MS-DOS'\n+7C14 Extract Zip Spec      14 (20) '2.0'\n+7C15 Extract OS            00 (0) 'MS-DOS'\n+7C16 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+7C18 Compression Method    0000 (0) 'Stored'\n+7C1A Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7C1E CRC                   582B6F15 (1479241493)\n+7C22 Compressed Size       000007E7 (2023)\n+7C26 Uncompressed Size     000007E7 (2023)\n+7C2A Filename Length       004A (74)\n+7C2C Extra Length          0009 (9)\n+7C2E Comment Length        0000 (0)\n+7C30 Disk Start            0000 (0)\n+7C32 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7C34 Ext File Attributes   00000000 (0)\n+7C38 Local Header Offset   000041DC (16860)\n+7C3C Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7C3C: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7C86 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7C88   Length              0005 (5)\n+7C8A   Flags               01 (1) 'Modification'\n+7C8B   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7C8F CENTRAL HEADER #14    02014B50 (33639248)\n+7C93 Created Zip Spec      14 (20) '2.0'\n+7C94 Created OS            00 (0) 'MS-DOS'\n+7C95 Extract Zip Spec      14 (20) '2.0'\n+7C96 Extract OS            00 (0) 'MS-DOS'\n+7C97 General Purpose Flag  0000 (0)\n+7C99 Compression Method    0000 (0) 'Stored'\n+7C9B Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7C9F CRC                   00000000 (0)\n+7CA3 Compressed Size       00000000 (0)\n+7CA7 Uncompressed Size     00000000 (0)\n+7CAB Filename Length       0004 (4)\n+7CAD Extra Length          0009 (9)\n+7CAF Comment Length        0000 (0)\n+7CB1 Disk Start            0000 (0)\n+7CB3 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7CB5 Ext File Attributes   00000000 (0)\n+7CB9 Local Header Offset   00004A44 (19012)\n+7CBD Filename              'XXXX'\n+#\n+# WARNING: Offset 0x7CBD: Filename 'XXXX'\n+#          Zero length filename\n+#\n+7CC1 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7CC3   Length              0005 (5)\n+7CC5   Flags               01 (1) 'Modification'\n+7CC6   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7CCA CENTRAL HEADER #15    02014B50 (33639248)\n+7CCE Created Zip Spec      14 (20) '2.0'\n+7CCF Created OS            00 (0) 'MS-DOS'\n+7CD0 Extract Zip Spec      14 (20) '2.0'\n+7CD1 Extract OS            00 (0) 'MS-DOS'\n+7CD2 General Purpose Flag  0000 (0)\n+7CD4 Compression Method    0000 (0) 'Stored'\n+7CD6 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7CDA CRC                   00000000 (0)\n+7CDE Compressed Size       00000000 (0)\n+7CE2 Uncompressed Size     00000000 (0)\n+7CE6 Filename Length       000B (11)\n+7CE8 Extra Length          0009 (9)\n+7CEA Comment Length        0000 (0)\n+7CEC Disk Start            0000 (0)\n+7CEE Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7CF0 Ext File Attributes   00000000 (0)\n+7CF4 Local Header Offset   00004A6F (19055)\n+7CF8 Filename              'XXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7CF8: Filename 'XXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7D03 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7D05   Length              0005 (5)\n+7D07   Flags               01 (1) 'Modification'\n+7D08   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7D0C CENTRAL HEADER #16    02014B50 (33639248)\n+7D10 Created Zip Spec      14 (20) '2.0'\n+7D11 Created OS            00 (0) 'MS-DOS'\n+7D12 Extract Zip Spec      14 (20) '2.0'\n+7D13 Extract OS            00 (0) 'MS-DOS'\n+7D14 General Purpose Flag  0000 (0)\n+7D16 Compression Method    0000 (0) 'Stored'\n+7D18 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7D1C CRC                   00000000 (0)\n+7D20 Compressed Size       00000000 (0)\n+7D24 Uncompressed Size     00000000 (0)\n+7D28 Filename Length       0011 (17)\n+7D2A Extra Length          0009 (9)\n+7D2C Comment Length        0000 (0)\n+7D2E Disk Start            0000 (0)\n+7D30 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7D32 Ext File Attributes   00000000 (0)\n+7D36 Local Header Offset   00004AA1 (19105)\n+7D3A Filename              'XXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7D3A: Filename 'XXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7D4B Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7D4D   Length              0005 (5)\n+7D4F   Flags               01 (1) 'Modification'\n+7D50   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7D54 CENTRAL HEADER #17    02014B50 (33639248)\n+7D58 Created Zip Spec      14 (20) '2.0'\n+7D59 Created OS            00 (0) 'MS-DOS'\n+7D5A Extract Zip Spec      14 (20) '2.0'\n+7D5B Extract OS            00 (0) 'MS-DOS'\n+7D5C General Purpose Flag  0000 (0)\n+7D5E Compression Method    0000 (0) 'Stored'\n+7D60 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7D64 CRC                   00000000 (0)\n+7D68 Compressed Size       00000000 (0)\n+7D6C Uncompressed Size     00000000 (0)\n+7D70 Filename Length       001A (26)\n+7D72 Extra Length          0009 (9)\n+7D74 Comment Length        0000 (0)\n+7D76 Disk Start            0000 (0)\n+7D78 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7D7A Ext File Attributes   00000000 (0)\n+7D7E Local Header Offset   00004AD9 (19161)\n+7D82 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7D82: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7D9C Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7D9E   Length              0005 (5)\n+7DA0   Flags               01 (1) 'Modification'\n+7DA1   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7DA5 CENTRAL HEADER #18    02014B50 (33639248)\n+7DA9 Created Zip Spec      14 (20) '2.0'\n+7DAA Created OS            00 (0) 'MS-DOS'\n+7DAB Extract Zip Spec      14 (20) '2.0'\n+7DAC Extract OS            00 (0) 'MS-DOS'\n+7DAD General Purpose Flag  0000 (0)\n+7DAF Compression Method    0000 (0) 'Stored'\n+7DB1 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7DB5 CRC                   00000000 (0)\n+7DB9 Compressed Size       00000000 (0)\n+7DBD Uncompressed Size     00000000 (0)\n+7DC1 Filename Length       0025 (37)\n+7DC3 Extra Length          0009 (9)\n+7DC5 Comment Length        0000 (0)\n+7DC7 Disk Start            0000 (0)\n+7DC9 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7DCB Ext File Attributes   00000000 (0)\n+7DCF Local Header Offset   00004B1A (19226)\n+7DD3 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7DD3: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7DF8 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7DFA   Length              0005 (5)\n+7DFC   Flags               01 (1) 'Modification'\n+7DFD   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7E01 CENTRAL HEADER #19    02014B50 (33639248)\n+7E05 Created Zip Spec      14 (20) '2.0'\n+7E06 Created OS            00 (0) 'MS-DOS'\n+7E07 Extract Zip Spec      14 (20) '2.0'\n+7E08 Extract OS            00 (0) 'MS-DOS'\n+7E09 General Purpose Flag  0000 (0)\n+7E0B Compression Method    0000 (0) 'Stored'\n+7E0D Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7E11 CRC                   00000000 (0)\n+7E15 Compressed Size       00000000 (0)\n+7E19 Uncompressed Size     00000000 (0)\n+7E1D Filename Length       002E (46)\n+7E1F Extra Length          0009 (9)\n+7E21 Comment Length        0000 (0)\n+7E23 Disk Start            0000 (0)\n+7E25 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7E27 Ext File Attributes   00000000 (0)\n+7E2B Local Header Offset   00004B66 (19302)\n+7E2F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7E2F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7E5D Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7E5F   Length              0005 (5)\n+7E61   Flags               01 (1) 'Modification'\n+7E62   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7E66 CENTRAL HEADER #20    02014B50 (33639248)\n+7E6A Created Zip Spec      14 (20) '2.0'\n+7E6B Created OS            00 (0) 'MS-DOS'\n+7E6C Extract Zip Spec      14 (20) '2.0'\n+7E6D Extract OS            00 (0) 'MS-DOS'\n+7E6E General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+7E70 Compression Method    0000 (0) 'Stored'\n+7E72 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7E76 CRC                   C54DB8A1 (3310205089)\n+7E7A Compressed Size       00002BB7 (11191)\n+7E7E Uncompressed Size     00002BB7 (11191)\n+7E82 Filename Length       0046 (70)\n+7E84 Extra Length          0009 (9)\n+7E86 Comment Length        0000 (0)\n+7E88 Disk Start            0000 (0)\n+7E8A Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+7E8C Ext File Attributes   00000000 (0)\n+7E90 Local Header Offset   00004BBB (19387)\n+7E94 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7E94: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7EDA Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7EDC   Length              0005 (5)\n+7EDE   Flags               01 (1) 'Modification'\n+7EDF   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+7EE3 END CENTRAL HEADER    06054B50 (101010256)\n+7EE7 Number of this disk   0000 (0)\n+7EE9 Central Dir Disk no   0000 (0)\n+7EEB Entries in this disk  0014 (20)\n+7EED Total Entries         0014 (20)\n+7EEF Size of Central Dir   000006F4 (1780)\n+7EF3 Offset to Central Dir 000077EF (30703)\n+7EF7 Comment Length        0000 (0)\n #\n # Warning Count: 40\n #\n # Done\n"}, {"source1": "META-INF/dubbo/internal/org.apache.dubbo.metadata.definition.builder.TypeBuilder", "source2": "META-INF/dubbo/internal/org.apache.dubbo.metadata.definition.builder.TypeBuilder", "comments": ["Line-ending differences only"], "unified_diff": "@@ -1 +1 @@\n-protobuf=org.apache.dubbo.metadata.definition.protobuf.ProtobufTypeBuilder\n+protobuf=org.apache.dubbo.metadata.definition.protobuf.ProtobufTypeBuilder\r\n"}, {"source1": "META-INF/maven/org.apache.dubbo/dubbo-metadata-definition-protobuf/pom.xml", "source2": "META-INF/maven/org.apache.dubbo/dubbo-metadata-definition-protobuf/pom.xml", "comments": ["Format-specific differences are supported for XML files but no file-specific differences were detected; falling back to a binary diff. file(1) reports: XML 1.0 document, ASCII text, with CRLF line terminators"], "has_internal_linenos": true, "unified_diff": "@@ -1,130 +1,127 @@\n 00000000: 3c3f 786d 6c20 7665 7273 696f 6e3d 2231  <?xml version=\"1\n 00000010: 2e30 2220 656e 636f 6469 6e67 3d22 5554  .0\" encoding=\"UT\n-00000020: 462d 3822 3f3e 0d0a 3c21 2d2d 0d0a 2020  F-8\"?>..<!--..  \n-00000030: 4c69 6365 6e73 6564 2074 6f20 7468 6520  Licensed to the \n-00000040: 4170 6163 6865 2053 6f66 7477 6172 6520  Apache Software \n-00000050: 466f 756e 6461 7469 6f6e 2028 4153 4629  Foundation (ASF)\n-00000060: 2075 6e64 6572 206f 6e65 206f 7220 6d6f   under one or mo\n-00000070: 7265 0d0a 2020 636f 6e74 7269 6275 746f  re..  contributo\n-00000080: 7220 6c69 6365 6e73 6520 6167 7265 656d  r license agreem\n-00000090: 656e 7473 2e20 2053 6565 2074 6865 204e  ents.  See the N\n-000000a0: 4f54 4943 4520 6669 6c65 2064 6973 7472  OTICE file distr\n-000000b0: 6962 7574 6564 2077 6974 680d 0a20 2074  ibuted with..  t\n-000000c0: 6869 7320 776f 726b 2066 6f72 2061 6464  his work for add\n-000000d0: 6974 696f 6e61 6c20 696e 666f 726d 6174  itional informat\n-000000e0: 696f 6e20 7265 6761 7264 696e 6720 636f  ion regarding co\n-000000f0: 7079 7269 6768 7420 6f77 6e65 7273 6869  pyright ownershi\n-00000100: 702e 0d0a 2020 5468 6520 4153 4620 6c69  p...  The ASF li\n-00000110: 6365 6e73 6573 2074 6869 7320 6669 6c65  censes this file\n-00000120: 2074 6f20 596f 7520 756e 6465 7220 7468   to You under th\n-00000130: 6520 4170 6163 6865 204c 6963 656e 7365  e Apache License\n-00000140: 2c20 5665 7273 696f 6e20 322e 300d 0a20  , Version 2.0.. \n-00000150: 2028 7468 6520 224c 6963 656e 7365 2229   (the \"License\")\n-00000160: 3b20 796f 7520 6d61 7920 6e6f 7420 7573  ; you may not us\n-00000170: 6520 7468 6973 2066 696c 6520 6578 6365  e this file exce\n-00000180: 7074 2069 6e20 636f 6d70 6c69 616e 6365  pt in compliance\n-00000190: 2077 6974 680d 0a20 2074 6865 204c 6963   with..  the Lic\n-000001a0: 656e 7365 2e20 2059 6f75 206d 6179 206f  ense.  You may o\n-000001b0: 6274 6169 6e20 6120 636f 7079 206f 6620  btain a copy of \n-000001c0: 7468 6520 4c69 6365 6e73 6520 6174 0d0a  the License at..\n-000001d0: 0d0a 2020 2020 2020 6874 7470 3a2f 2f77  ..      http://w\n-000001e0: 7777 2e61 7061 6368 652e 6f72 672f 6c69  ww.apache.org/li\n-000001f0: 6365 6e73 6573 2f4c 4943 454e 5345 2d32  censes/LICENSE-2\n-00000200: 2e30 0d0a 0d0a 2020 556e 6c65 7373 2072  .0....  Unless r\n-00000210: 6571 7569 7265 6420 6279 2061 7070 6c69  equired by appli\n-00000220: 6361 626c 6520 6c61 7720 6f72 2061 6772  cable law or agr\n-00000230: 6565 6420 746f 2069 6e20 7772 6974 696e  eed to in writin\n-00000240: 672c 2073 6f66 7477 6172 650d 0a20 2064  g, software..  d\n-00000250: 6973 7472 6962 7574 6564 2075 6e64 6572  istributed under\n-00000260: 2074 6865 204c 6963 656e 7365 2069 7320   the License is \n-00000270: 6469 7374 7269 6275 7465 6420 6f6e 2061  distributed on a\n-00000280: 6e20 2241 5320 4953 2220 4241 5349 532c  n \"AS IS\" BASIS,\n-00000290: 0d0a 2020 5749 5448 4f55 5420 5741 5252  ..  WITHOUT WARR\n-000002a0: 414e 5449 4553 204f 5220 434f 4e44 4954  ANTIES OR CONDIT\n-000002b0: 494f 4e53 204f 4620 414e 5920 4b49 4e44  IONS OF ANY KIND\n-000002c0: 2c20 6569 7468 6572 2065 7870 7265 7373  , either express\n-000002d0: 206f 7220 696d 706c 6965 642e 0d0a 2020   or implied...  \n-000002e0: 5365 6520 7468 6520 4c69 6365 6e73 6520  See the License \n-000002f0: 666f 7220 7468 6520 7370 6563 6966 6963  for the specific\n-00000300: 206c 616e 6775 6167 6520 676f 7665 726e   language govern\n-00000310: 696e 6720 7065 726d 6973 7369 6f6e 7320  ing permissions \n-00000320: 616e 640d 0a20 206c 696d 6974 6174 696f  and..  limitatio\n-00000330: 6e73 2075 6e64 6572 2074 6865 204c 6963  ns under the Lic\n-00000340: 656e 7365 2e0d 0a20 202d 2d3e 0d0a 3c70  ense...  -->..<p\n-00000350: 726f 6a65 6374 2078 7369 3a73 6368 656d  roject xsi:schem\n-00000360: 614c 6f63 6174 696f 6e3d 2268 7474 703a  aLocation=\"http:\n-00000370: 2f2f 6d61 7665 6e2e 6170 6163 6865 2e6f  //maven.apache.o\n-00000380: 7267 2f50 4f4d 2f34 2e30 2e30 2068 7474  rg/POM/4.0.0 htt\n-00000390: 7073 3a2f 2f6d 6176 656e 2e61 7061 6368  ps://maven.apach\n-000003a0: 652e 6f72 672f 7873 642f 6d61 7665 6e2d  e.org/xsd/maven-\n-000003b0: 342e 302e 302e 7873 6422 2078 6d6c 6e73  4.0.0.xsd\" xmlns\n-000003c0: 3d22 6874 7470 3a2f 2f6d 6176 656e 2e61  =\"http://maven.a\n-000003d0: 7061 6368 652e 6f72 672f 504f 4d2f 342e  pache.org/POM/4.\n-000003e0: 302e 3022 0d0a 2020 2020 786d 6c6e 733a  0.0\"..    xmlns:\n-000003f0: 7873 693d 2268 7474 703a 2f2f 7777 772e  xsi=\"http://www.\n-00000400: 7733 2e6f 7267 2f32 3030 312f 584d 4c53  w3.org/2001/XMLS\n-00000410: 6368 656d 612d 696e 7374 616e 6365 223e  chema-instance\">\n-00000420: 0d0a 2020 3c6d 6f64 656c 5665 7273 696f  ..  <modelVersio\n-00000430: 6e3e 342e 302e 303c 2f6d 6f64 656c 5665  n>4.0.0</modelVe\n-00000440: 7273 696f 6e3e 0d0a 2020 3c70 6172 656e  rsion>..  <paren\n-00000450: 743e 0d0a 2020 2020 3c67 726f 7570 4964  t>..    <groupId\n-00000460: 3e6f 7267 2e61 7061 6368 652e 6475 6262  >org.apache.dubb\n-00000470: 6f3c 2f67 726f 7570 4964 3e0d 0a20 2020  o</groupId>..   \n-00000480: 203c 6172 7469 6661 6374 4964 3e64 7562   <artifactId>dub\n-00000490: 626f 2d6d 6574 6164 6174 613c 2f61 7274  bo-metadata</art\n-000004a0: 6966 6163 7449 643e 0d0a 2020 2020 3c76  ifactId>..    <v\n-000004b0: 6572 7369 6f6e 3e32 2e37 2e31 303c 2f76  ersion>2.7.10</v\n-000004c0: 6572 7369 6f6e 3e0d 0a20 203c 2f70 6172  ersion>..  </par\n-000004d0: 656e 743e 0d0a 2020 3c67 726f 7570 4964  ent>..  <groupId\n-000004e0: 3e6f 7267 2e61 7061 6368 652e 6475 6262  >org.apache.dubb\n-000004f0: 6f3c 2f67 726f 7570 4964 3e0d 0a20 203c  o</groupId>..  <\n-00000500: 6172 7469 6661 6374 4964 3e64 7562 626f  artifactId>dubbo\n-00000510: 2d6d 6574 6164 6174 612d 6465 6669 6e69  -metadata-defini\n-00000520: 7469 6f6e 2d70 726f 746f 6275 663c 2f61  tion-protobuf</a\n-00000530: 7274 6966 6163 7449 643e 0d0a 2020 3c76  rtifactId>..  <v\n-00000540: 6572 7369 6f6e 3e32 2e37 2e31 303c 2f76  ersion>2.7.10</v\n-00000550: 6572 7369 6f6e 3e0d 0a20 203c 6c69 6365  ersion>..  <lice\n-00000560: 6e73 6573 3e0d 0a20 2020 203c 6c69 6365  nses>..    <lice\n-00000570: 6e73 653e 0d0a 2020 2020 2020 3c6e 616d  nse>..      <nam\n-00000580: 653e 4170 6163 6865 204c 6963 656e 7365  e>Apache License\n-00000590: 2c20 5665 7273 696f 6e20 322e 303c 2f6e  , Version 2.0</n\n-000005a0: 616d 653e 0d0a 2020 2020 2020 3c75 726c  ame>..      <url\n-000005b0: 3e68 7474 703a 2f2f 7777 772e 6170 6163  >http://www.apac\n-000005c0: 6865 2e6f 7267 2f6c 6963 656e 7365 732f  he.org/licenses/\n-000005d0: 4c49 4345 4e53 452d 322e 303c 2f75 726c  LICENSE-2.0</url\n-000005e0: 3e0d 0a20 2020 2020 203c 6469 7374 7269  >..      <distri\n-000005f0: 6275 7469 6f6e 3e72 6570 6f3c 2f64 6973  bution>repo</dis\n-00000600: 7472 6962 7574 696f 6e3e 0d0a 2020 2020  tribution>..    \n-00000610: 3c2f 6c69 6365 6e73 653e 0d0a 2020 3c2f  </license>..  </\n-00000620: 6c69 6365 6e73 6573 3e0d 0a20 203c 6465  licenses>..  <de\n-00000630: 7065 6e64 656e 6369 6573 3e0d 0a20 2020  pendencies>..   \n-00000640: 203c 6465 7065 6e64 656e 6379 3e0d 0a20   <dependency>.. \n-00000650: 2020 2020 203c 6772 6f75 7049 643e 636f       <groupId>co\n-00000660: 6d2e 676f 6f67 6c65 2e70 726f 746f 6275  m.google.protobu\n-00000670: 663c 2f67 726f 7570 4964 3e0d 0a20 2020  f</groupId>..   \n-00000680: 2020 203c 6172 7469 6661 6374 4964 3e70     <artifactId>p\n-00000690: 726f 746f 6275 662d 6a61 7661 3c2f 6172  rotobuf-java</ar\n-000006a0: 7469 6661 6374 4964 3e0d 0a20 2020 203c  tifactId>..    <\n-000006b0: 2f64 6570 656e 6465 6e63 793e 0d0a 2020  /dependency>..  \n-000006c0: 2020 3c64 6570 656e 6465 6e63 793e 0d0a    <dependency>..\n-000006d0: 2020 2020 2020 3c67 726f 7570 4964 3e63        <groupId>c\n-000006e0: 6f6d 2e67 6f6f 676c 652e 7072 6f74 6f62  om.google.protob\n-000006f0: 7566 3c2f 6772 6f75 7049 643e 0d0a 2020  uf</groupId>..  \n-00000700: 2020 2020 3c61 7274 6966 6163 7449 643e      <artifactId>\n-00000710: 7072 6f74 6f62 7566 2d6a 6176 612d 7574  protobuf-java-ut\n-00000720: 696c 3c2f 6172 7469 6661 6374 4964 3e0d  il</artifactId>.\n-00000730: 0a20 2020 203c 2f64 6570 656e 6465 6e63  .    </dependenc\n-00000740: 793e 0d0a 2020 2020 3c64 6570 656e 6465  y>..    <depende\n-00000750: 6e63 793e 0d0a 2020 2020 2020 3c67 726f  ncy>..      <gro\n-00000760: 7570 4964 3e6f 7267 2e61 7061 6368 652e  upId>org.apache.\n-00000770: 6475 6262 6f3c 2f67 726f 7570 4964 3e0d  dubbo</groupId>.\n-00000780: 0a20 2020 2020 203c 6172 7469 6661 6374  .      <artifact\n-00000790: 4964 3e64 7562 626f 2d6d 6574 6164 6174  Id>dubbo-metadat\n-000007a0: 612d 6170 693c 2f61 7274 6966 6163 7449  a-api</artifactI\n-000007b0: 643e 0d0a 2020 2020 2020 3c76 6572 7369  d>..      <versi\n-000007c0: 6f6e 3e24 7b70 726f 6a65 6374 2e70 6172  on>${project.par\n-000007d0: 656e 742e 7665 7273 696f 6e7d 3c2f 7665  ent.version}</ve\n-000007e0: 7273 696f 6e3e 0d0a 2020 2020 3c2f 6465  rsion>..    </de\n-000007f0: 7065 6e64 656e 6379 3e0d 0a20 203c 2f64  pendency>..  </d\n-00000800: 6570 656e 6465 6e63 6965 733e 0d0a 3c2f  ependencies>..</\n-00000810: 7072 6f6a 6563 743e 0d0a                 project>..\n+00000020: 462d 3822 3f3e 0a3c 212d 2d0a 2020 4c69  F-8\"?>.<!--.  Li\n+00000030: 6365 6e73 6564 2074 6f20 7468 6520 4170  censed to the Ap\n+00000040: 6163 6865 2053 6f66 7477 6172 6520 466f  ache Software Fo\n+00000050: 756e 6461 7469 6f6e 2028 4153 4629 2075  undation (ASF) u\n+00000060: 6e64 6572 206f 6e65 206f 7220 6d6f 7265  nder one or more\n+00000070: 0a20 2063 6f6e 7472 6962 7574 6f72 206c  .  contributor l\n+00000080: 6963 656e 7365 2061 6772 6565 6d65 6e74  icense agreement\n+00000090: 732e 2020 5365 6520 7468 6520 4e4f 5449  s.  See the NOTI\n+000000a0: 4345 2066 696c 6520 6469 7374 7269 6275  CE file distribu\n+000000b0: 7465 6420 7769 7468 0a20 2074 6869 7320  ted with.  this \n+000000c0: 776f 726b 2066 6f72 2061 6464 6974 696f  work for additio\n+000000d0: 6e61 6c20 696e 666f 726d 6174 696f 6e20  nal information \n+000000e0: 7265 6761 7264 696e 6720 636f 7079 7269  regarding copyri\n+000000f0: 6768 7420 6f77 6e65 7273 6869 702e 0a20  ght ownership.. \n+00000100: 2054 6865 2041 5346 206c 6963 656e 7365   The ASF license\n+00000110: 7320 7468 6973 2066 696c 6520 746f 2059  s this file to Y\n+00000120: 6f75 2075 6e64 6572 2074 6865 2041 7061  ou under the Apa\n+00000130: 6368 6520 4c69 6365 6e73 652c 2056 6572  che License, Ver\n+00000140: 7369 6f6e 2032 2e30 0a20 2028 7468 6520  sion 2.0.  (the \n+00000150: 224c 6963 656e 7365 2229 3b20 796f 7520  \"License\"); you \n+00000160: 6d61 7920 6e6f 7420 7573 6520 7468 6973  may not use this\n+00000170: 2066 696c 6520 6578 6365 7074 2069 6e20   file except in \n+00000180: 636f 6d70 6c69 616e 6365 2077 6974 680a  compliance with.\n+00000190: 2020 7468 6520 4c69 6365 6e73 652e 2020    the License.  \n+000001a0: 596f 7520 6d61 7920 6f62 7461 696e 2061  You may obtain a\n+000001b0: 2063 6f70 7920 6f66 2074 6865 204c 6963   copy of the Lic\n+000001c0: 656e 7365 2061 740a 0a20 2020 2020 2068  ense at..      h\n+000001d0: 7474 703a 2f2f 7777 772e 6170 6163 6865  ttp://www.apache\n+000001e0: 2e6f 7267 2f6c 6963 656e 7365 732f 4c49  .org/licenses/LI\n+000001f0: 4345 4e53 452d 322e 300a 0a20 2055 6e6c  CENSE-2.0..  Unl\n+00000200: 6573 7320 7265 7175 6972 6564 2062 7920  ess required by \n+00000210: 6170 706c 6963 6162 6c65 206c 6177 206f  applicable law o\n+00000220: 7220 6167 7265 6564 2074 6f20 696e 2077  r agreed to in w\n+00000230: 7269 7469 6e67 2c20 736f 6674 7761 7265  riting, software\n+00000240: 0a20 2064 6973 7472 6962 7574 6564 2075  .  distributed u\n+00000250: 6e64 6572 2074 6865 204c 6963 656e 7365  nder the License\n+00000260: 2069 7320 6469 7374 7269 6275 7465 6420   is distributed \n+00000270: 6f6e 2061 6e20 2241 5320 4953 2220 4241  on an \"AS IS\" BA\n+00000280: 5349 532c 0a20 2057 4954 484f 5554 2057  SIS,.  WITHOUT W\n+00000290: 4152 5241 4e54 4945 5320 4f52 2043 4f4e  ARRANTIES OR CON\n+000002a0: 4449 5449 4f4e 5320 4f46 2041 4e59 204b  DITIONS OF ANY K\n+000002b0: 494e 442c 2065 6974 6865 7220 6578 7072  IND, either expr\n+000002c0: 6573 7320 6f72 2069 6d70 6c69 6564 2e0a  ess or implied..\n+000002d0: 2020 5365 6520 7468 6520 4c69 6365 6e73    See the Licens\n+000002e0: 6520 666f 7220 7468 6520 7370 6563 6966  e for the specif\n+000002f0: 6963 206c 616e 6775 6167 6520 676f 7665  ic language gove\n+00000300: 726e 696e 6720 7065 726d 6973 7369 6f6e  rning permission\n+00000310: 7320 616e 640a 2020 6c69 6d69 7461 7469  s and.  limitati\n+00000320: 6f6e 7320 756e 6465 7220 7468 6520 4c69  ons under the Li\n+00000330: 6365 6e73 652e 0a20 202d 2d3e 0a3c 7072  cense..  -->.<pr\n+00000340: 6f6a 6563 7420 7873 693a 7363 6865 6d61  oject xsi:schema\n+00000350: 4c6f 6361 7469 6f6e 3d22 6874 7470 3a2f  Location=\"http:/\n+00000360: 2f6d 6176 656e 2e61 7061 6368 652e 6f72  /maven.apache.or\n+00000370: 672f 504f 4d2f 342e 302e 3020 6874 7470  g/POM/4.0.0 http\n+00000380: 733a 2f2f 6d61 7665 6e2e 6170 6163 6865  s://maven.apache\n+00000390: 2e6f 7267 2f78 7364 2f6d 6176 656e 2d34  .org/xsd/maven-4\n+000003a0: 2e30 2e30 2e78 7364 2220 786d 6c6e 733d  .0.0.xsd\" xmlns=\n+000003b0: 2268 7474 703a 2f2f 6d61 7665 6e2e 6170  \"http://maven.ap\n+000003c0: 6163 6865 2e6f 7267 2f50 4f4d 2f34 2e30  ache.org/POM/4.0\n+000003d0: 2e30 220a 2020 2020 786d 6c6e 733a 7873  .0\".    xmlns:xs\n+000003e0: 693d 2268 7474 703a 2f2f 7777 772e 7733  i=\"http://www.w3\n+000003f0: 2e6f 7267 2f32 3030 312f 584d 4c53 6368  .org/2001/XMLSch\n+00000400: 656d 612d 696e 7374 616e 6365 223e 0a20  ema-instance\">. \n+00000410: 203c 6d6f 6465 6c56 6572 7369 6f6e 3e34   <modelVersion>4\n+00000420: 2e30 2e30 3c2f 6d6f 6465 6c56 6572 7369  .0.0</modelVersi\n+00000430: 6f6e 3e0a 2020 3c70 6172 656e 743e 0a20  on>.  <parent>. \n+00000440: 2020 203c 6772 6f75 7049 643e 6f72 672e     <groupId>org.\n+00000450: 6170 6163 6865 2e64 7562 626f 3c2f 6772  apache.dubbo</gr\n+00000460: 6f75 7049 643e 0a20 2020 203c 6172 7469  oupId>.    <arti\n+00000470: 6661 6374 4964 3e64 7562 626f 2d6d 6574  factId>dubbo-met\n+00000480: 6164 6174 613c 2f61 7274 6966 6163 7449  adata</artifactI\n+00000490: 643e 0a20 2020 203c 7665 7273 696f 6e3e  d>.    <version>\n+000004a0: 322e 372e 3130 3c2f 7665 7273 696f 6e3e  2.7.10</version>\n+000004b0: 0a20 203c 2f70 6172 656e 743e 0a20 203c  .  </parent>.  <\n+000004c0: 6772 6f75 7049 643e 6f72 672e 6170 6163  groupId>org.apac\n+000004d0: 6865 2e64 7562 626f 3c2f 6772 6f75 7049  he.dubbo</groupI\n+000004e0: 643e 0a20 203c 6172 7469 6661 6374 4964  d>.  <artifactId\n+000004f0: 3e64 7562 626f 2d6d 6574 6164 6174 612d  >dubbo-metadata-\n+00000500: 6465 6669 6e69 7469 6f6e 2d70 726f 746f  definition-proto\n+00000510: 6275 663c 2f61 7274 6966 6163 7449 643e  buf</artifactId>\n+00000520: 0a20 203c 7665 7273 696f 6e3e 322e 372e  .  <version>2.7.\n+00000530: 3130 3c2f 7665 7273 696f 6e3e 0a20 203c  10</version>.  <\n+00000540: 6c69 6365 6e73 6573 3e0a 2020 2020 3c6c  licenses>.    <l\n+00000550: 6963 656e 7365 3e0a 2020 2020 2020 3c6e  icense>.      <n\n+00000560: 616d 653e 4170 6163 6865 204c 6963 656e  ame>Apache Licen\n+00000570: 7365 2c20 5665 7273 696f 6e20 322e 303c  se, Version 2.0<\n+00000580: 2f6e 616d 653e 0a20 2020 2020 203c 7572  /name>.      <ur\n+00000590: 6c3e 6874 7470 3a2f 2f77 7777 2e61 7061  l>http://www.apa\n+000005a0: 6368 652e 6f72 672f 6c69 6365 6e73 6573  che.org/licenses\n+000005b0: 2f4c 4943 454e 5345 2d32 2e30 3c2f 7572  /LICENSE-2.0</ur\n+000005c0: 6c3e 0a20 2020 2020 203c 6469 7374 7269  l>.      <distri\n+000005d0: 6275 7469 6f6e 3e72 6570 6f3c 2f64 6973  bution>repo</dis\n+000005e0: 7472 6962 7574 696f 6e3e 0a20 2020 203c  tribution>.    <\n+000005f0: 2f6c 6963 656e 7365 3e0a 2020 3c2f 6c69  /license>.  </li\n+00000600: 6365 6e73 6573 3e0a 2020 3c64 6570 656e  censes>.  <depen\n+00000610: 6465 6e63 6965 733e 0a20 2020 203c 6465  dencies>.    <de\n+00000620: 7065 6e64 656e 6379 3e0a 2020 2020 2020  pendency>.      \n+00000630: 3c67 726f 7570 4964 3e63 6f6d 2e67 6f6f  <groupId>com.goo\n+00000640: 676c 652e 7072 6f74 6f62 7566 3c2f 6772  gle.protobuf</gr\n+00000650: 6f75 7049 643e 0a20 2020 2020 203c 6172  oupId>.      <ar\n+00000660: 7469 6661 6374 4964 3e70 726f 746f 6275  tifactId>protobu\n+00000670: 662d 6a61 7661 3c2f 6172 7469 6661 6374  f-java</artifact\n+00000680: 4964 3e0a 2020 2020 3c2f 6465 7065 6e64  Id>.    </depend\n+00000690: 656e 6379 3e0a 2020 2020 3c64 6570 656e  ency>.    <depen\n+000006a0: 6465 6e63 793e 0a20 2020 2020 203c 6772  dency>.      <gr\n+000006b0: 6f75 7049 643e 636f 6d2e 676f 6f67 6c65  oupId>com.google\n+000006c0: 2e70 726f 746f 6275 663c 2f67 726f 7570  .protobuf</group\n+000006d0: 4964 3e0a 2020 2020 2020 3c61 7274 6966  Id>.      <artif\n+000006e0: 6163 7449 643e 7072 6f74 6f62 7566 2d6a  actId>protobuf-j\n+000006f0: 6176 612d 7574 696c 3c2f 6172 7469 6661  ava-util</artifa\n+00000700: 6374 4964 3e0a 2020 2020 3c2f 6465 7065  ctId>.    </depe\n+00000710: 6e64 656e 6379 3e0a 2020 2020 3c64 6570  ndency>.    <dep\n+00000720: 656e 6465 6e63 793e 0a20 2020 2020 203c  endency>.      <\n+00000730: 6772 6f75 7049 643e 6f72 672e 6170 6163  groupId>org.apac\n+00000740: 6865 2e64 7562 626f 3c2f 6772 6f75 7049  he.dubbo</groupI\n+00000750: 643e 0a20 2020 2020 203c 6172 7469 6661  d>.      <artifa\n+00000760: 6374 4964 3e64 7562 626f 2d6d 6574 6164  ctId>dubbo-metad\n+00000770: 6174 612d 6170 693c 2f61 7274 6966 6163  ata-api</artifac\n+00000780: 7449 643e 0a20 2020 2020 203c 7665 7273  tId>.      <vers\n+00000790: 696f 6e3e 247b 7072 6f6a 6563 742e 7061  ion>${project.pa\n+000007a0: 7265 6e74 2e76 6572 7369 6f6e 7d3c 2f76  rent.version}</v\n+000007b0: 6572 7369 6f6e 3e0a 2020 2020 3c2f 6465  ersion>.    </de\n+000007c0: 7065 6e64 656e 6379 3e0a 2020 3c2f 6465  pendency>.  </de\n+000007d0: 7065 6e64 656e 6369 6573 3e0a 3c2f 7072  pendencies>.</pr\n+000007e0: 6f6a 6563 743e 0a                        oject>.\n"}, {"source1": "org/apache/dubbo/metadata/definition/protobuf/ProtobufTypeBuilder.java", "source2": "org/apache/dubbo/metadata/definition/protobuf/ProtobufTypeBuilder.java", "comments": ["Line-ending differences only"], "unified_diff": "@@ -1,284 +1,284 @@\n-/*\n- * Licensed to the Apache Software Foundation (ASF) under one or more\n- * contributor license agreements.  See the NOTICE file distributed with\n- * this work for additional information regarding copyright ownership.\n- * The ASF licenses this file to You under the Apache License, Version 2.0\n- * (the \"License\"); you may not use this file except in compliance with\n- * the License.  You may obtain a copy of the License at\n- *\n- *     http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an \"AS IS\" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-package org.apache.dubbo.metadata.definition.protobuf;\n-\n-import org.apache.dubbo.common.logger.Logger;\n-import org.apache.dubbo.common.logger.LoggerFactory;\n-import org.apache.dubbo.metadata.definition.TypeDefinitionBuilder;\n-import org.apache.dubbo.metadata.definition.builder.TypeBuilder;\n-import org.apache.dubbo.metadata.definition.model.TypeDefinition;\n-\n-import com.google.protobuf.ByteString;\n-import com.google.protobuf.Descriptors;\n-import com.google.protobuf.GeneratedMessageV3;\n-import com.google.protobuf.ProtocolStringList;\n-import com.google.protobuf.UnknownFieldSet;\n-\n-import java.lang.reflect.Method;\n-import java.lang.reflect.Type;\n-import java.util.HashMap;\n-import java.util.List;\n-import java.util.Map;\n-import java.util.regex.Matcher;\n-import java.util.regex.Pattern;\n-\n-public class ProtobufTypeBuilder implements TypeBuilder {\n-    private final Logger logger = LoggerFactory.getLogger(getClass());\n-    private static final Pattern MAP_PATTERN = Pattern.compile(\"^java\\\\.util\\\\.Map<(\\\\S+), (\\\\S+)>$\");\n-    private static final Pattern LIST_PATTERN = Pattern.compile(\"^java\\\\.util\\\\.List<(\\\\S+)>$\");\n-    private static final List<String> LIST = null;\n-    /**\n-     * provide a List<String> type for TypeDefinitionBuilder.build(type,class,cache)\n-     * \"repeated string\" transform to ProtocolStringList, should be build as List<String> type.\n-     */\n-    private static Type STRING_LIST_TYPE;\n-\n-    static {\n-        try {\n-            STRING_LIST_TYPE = ProtobufTypeBuilder.class.getDeclaredField(\"LIST\").getGenericType();\n-        } catch (NoSuchFieldException e) {\n-            // do nothing\n-        }\n-    }\n-\n-    @Override\n-    public boolean accept(Type type, Class<?> clazz) {\n-        if (clazz == null) {\n-            return false;\n-        }\n-\n-        return GeneratedMessageV3.class.isAssignableFrom(clazz);\n-    }\n-\n-    @Override\n-    public TypeDefinition build(Type type, Class<?> clazz, Map<Class<?>, TypeDefinition> typeCache) {\n-        TypeDefinition typeDefinition = new TypeDefinition(clazz.getName());\n-        try {\n-            GeneratedMessageV3.Builder builder = getMessageBuilder(clazz);\n-            typeDefinition = buildProtobufTypeDefinition(clazz, builder, typeCache);\n-        } catch (Exception e) {\n-            logger.info(\"TypeDefinition build failed.\", e);\n-        }\n-\n-        return typeDefinition;\n-    }\n-\n-    private GeneratedMessageV3.Builder getMessageBuilder(Class<?> requestType) throws Exception {\n-        Method method = requestType.getMethod(\"newBuilder\");\n-        return (GeneratedMessageV3.Builder) method.invoke(null, null);\n-    }\n-\n-    private TypeDefinition buildProtobufTypeDefinition(Class<?> clazz, GeneratedMessageV3.Builder builder, Map<Class<?>, TypeDefinition> typeCache) {\n-        TypeDefinition typeDefinition = new TypeDefinition(clazz.getName());\n-        if (builder == null) {\n-            return typeDefinition;\n-        }\n-\n-        Map<String, TypeDefinition> properties = new HashMap<>();\n-        Method[] methods = builder.getClass().getDeclaredMethods();\n-        for (Method method : methods) {\n-            String methodName = method.getName();\n-\n-            if (isSimplePropertySettingMethod(method)) {\n-                // property of custom type or primitive type\n-                properties.put(generateSimpleFiledName(methodName), TypeDefinitionBuilder.build(method.getGenericParameterTypes()[0], method.getParameterTypes()[0], typeCache));\n-            } else if (isMapPropertySettingMethod(method)) {\n-                // property of map\n-                Type type = method.getGenericParameterTypes()[0];\n-                String fieldName = generateMapFieldName(methodName);\n-                validateMapType(fieldName, type.toString());\n-                properties.put(fieldName, TypeDefinitionBuilder.build(type, method.getParameterTypes()[0], typeCache));\n-            } else if (isListPropertyGettingMethod(method)) {\n-                // property of list\n-                Type type = method.getGenericReturnType();\n-                String fieldName = generateListFieldName(methodName);\n-                TypeDefinition td;\n-                if (ProtocolStringList.class.isAssignableFrom(method.getReturnType())) {\n-                    // property defined as \"repeated string\" transform to ProtocolStringList,\n-                    // should be build as List<String>.\n-                    td = TypeDefinitionBuilder.build(STRING_LIST_TYPE, List.class, typeCache);\n-                } else {\n-                    // property without generic type should not be build ex method return List\n-                    if (!LIST_PATTERN.matcher(type.toString()).matches()) {\n-                        continue;\n-                    }\n-                    td = TypeDefinitionBuilder.build(type, method.getReturnType(), typeCache);\n-                }\n-                properties.put(fieldName, td);\n-            }\n-        }\n-        typeDefinition.setProperties(properties);\n-        typeCache.put(clazz, typeDefinition);\n-        return typeDefinition;\n-    }\n-\n-    /**\n-     * 1. Unsupported Map with key type is not String <br/>\n-     * Bytes is a primitive type in Proto, transform to ByteString.class in java<br/>\n-     *\n-     * @param fieldName\n-     * @param typeName\n-     * @return\n-     */\n-    private void validateMapType(String fieldName, String typeName) {\n-        Matcher matcher = MAP_PATTERN.matcher(typeName);\n-        if (!matcher.matches()) {\n-            throw new IllegalArgumentException(\"Map protobuf property \" + fieldName + \"of Type \" +\n-                    typeName + \" can't be parsed.The type name should match[\" + MAP_PATTERN.toString() + \"].\");\n-        }\n-    }\n-\n-    /**\n-     * get unCollection unMap property name from setting method.<br/>\n-     * ex:setXXX();<br/>\n-     *\n-     * @param methodName\n-     * @return\n-     */\n-    private String generateSimpleFiledName(String methodName) {\n-        return toCamelCase(methodName.substring(3));\n-    }\n-\n-    /**\n-     * get map property name from setting method.<br/>\n-     * ex: putAllXXX();<br/>\n-     *\n-     * @param methodName\n-     * @return\n-     */\n-    private String generateMapFieldName(String methodName) {\n-        return toCamelCase(methodName.substring(6));\n-    }\n-\n-    /**\n-     * get list property name from setting method.<br/>\n-     * ex\uff1a getXXXList()<br/>\n-     *\n-     * @param methodName\n-     * @return\n-     */\n-    private String generateListFieldName(String methodName) {\n-        return toCamelCase(methodName.substring(3, methodName.length() - 4));\n-    }\n-\n-\n-    private String toCamelCase(String nameString) {\n-        char[] chars = nameString.toCharArray();\n-        chars[0] = Character.toLowerCase(chars[0]);\n-        return new String(chars);\n-    }\n-\n-    /**\n-     * judge custom type or primitive type property<br/>\n-     * 1. proto3 grammar ex: string name = 1 <br/>\n-     * 2. proto3 grammar ex: optional string name =1 <br/>\n-     * generated setting method ex: setNameValue(String name);\n-     *\n-     * @param method\n-     * @return\n-     */\n-    private boolean isSimplePropertySettingMethod(Method method) {\n-        String methodName = method.getName();\n-        Class<?>[] types = method.getParameterTypes();\n-\n-        if (!methodName.startsWith(\"set\") || types.length != 1) {\n-            return false;\n-        }\n-\n-        // filter general setting method\n-        // 1. - setUnknownFields( com.google.protobuf.UnknownFieldSet unknownFields)\n-        // 2. - setField(com.google.protobuf.Descriptors.FieldDescriptor field,java.lang.Object value)\n-        // 3. - setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,int index,java.lang.Object value\uff09\n-        if (\"setField\".equals(methodName) && types[0].equals(Descriptors.FieldDescriptor.class)\n-                || \"setUnknownFields\".equals(methodName) && types[0].equals(UnknownFieldSet.class)\n-                || \"setRepeatedField\".equals(methodName) && types[0].equals(Descriptors.FieldDescriptor.class)) {\n-            return false;\n-        }\n-\n-        // String property has two setting method.\n-        // skip setXXXBytes(com.google.protobuf.ByteString value)\n-        // parse setXXX(String string)\n-        if (methodName.endsWith(\"Bytes\") && types[0].equals(ByteString.class)) {\n-            return false;\n-        }\n-\n-        // Protobuf property has two setting method.\n-        // skip setXXX(com.google.protobuf.Builder value)\n-        // parse setXXX(com.google.protobuf.Message value)\n-        if (GeneratedMessageV3.Builder.class.isAssignableFrom(types[0])) {\n-            return false;\n-        }\n-\n-        // Enum property has two setting method.\n-        // skip setXXXValue(int value)\n-        // parse setXXX(SomeEnum value)\n-        if (methodName.endsWith(\"Value\") && types[0] == int.class) {\n-            return false;\n-        }\n-\n-        return true;\n-    }\n-\n-\n-    /**\n-     * judge List property</br>\n-     * proto3 grammar ex: repeated string names; </br>\n-     * generated getting method\uff1aList<String> getNamesList()\n-     *\n-     * @param method\n-     * @return\n-     */\n-    boolean isListPropertyGettingMethod(Method method) {\n-        String methodName = method.getName();\n-        Class<?> type = method.getReturnType();\n-\n-\n-        if (!methodName.startsWith(\"get\") || !methodName.endsWith(\"List\")) {\n-            return false;\n-        }\n-\n-        // skip the setting method with Pb entity builder as parameter\n-        if (methodName.endsWith(\"BuilderList\")) {\n-            return false;\n-        }\n-\n-        // if field name end with List, should skip\n-        if (!List.class.isAssignableFrom(type)) {\n-            return false;\n-        }\n-\n-        return true;\n-    }\n-\n-    /**\n-     * judge map property</br>\n-     * proto3 grammar : map<string,string> card = 1; </br>\n-     * generated setting method: putAllCards(java.util.Map<String, string> values) </br>\n-     *\n-     * @param methodTemp\n-     * @return\n-     */\n-    private boolean isMapPropertySettingMethod(Method methodTemp) {\n-        String methodName = methodTemp.getName();\n-        Class[] parameters = methodTemp.getParameterTypes();\n-        if (methodName.startsWith(\"putAll\") && parameters.length == 1 && Map.class.isAssignableFrom(parameters[0])) {\n-            return true;\n-        }\n-\n-        return false;\n-    }\n-}\n+/*\r\n+ * Licensed to the Apache Software Foundation (ASF) under one or more\r\n+ * contributor license agreements.  See the NOTICE file distributed with\r\n+ * this work for additional information regarding copyright ownership.\r\n+ * The ASF licenses this file to You under the Apache License, Version 2.0\r\n+ * (the \"License\"); you may not use this file except in compliance with\r\n+ * the License.  You may obtain a copy of the License at\r\n+ *\r\n+ *     http://www.apache.org/licenses/LICENSE-2.0\r\n+ *\r\n+ * Unless required by applicable law or agreed to in writing, software\r\n+ * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n+ * See the License for the specific language governing permissions and\r\n+ * limitations under the License.\r\n+ */\r\n+package org.apache.dubbo.metadata.definition.protobuf;\r\n+\r\n+import org.apache.dubbo.common.logger.Logger;\r\n+import org.apache.dubbo.common.logger.LoggerFactory;\r\n+import org.apache.dubbo.metadata.definition.TypeDefinitionBuilder;\r\n+import org.apache.dubbo.metadata.definition.builder.TypeBuilder;\r\n+import org.apache.dubbo.metadata.definition.model.TypeDefinition;\r\n+\r\n+import com.google.protobuf.ByteString;\r\n+import com.google.protobuf.Descriptors;\r\n+import com.google.protobuf.GeneratedMessageV3;\r\n+import com.google.protobuf.ProtocolStringList;\r\n+import com.google.protobuf.UnknownFieldSet;\r\n+\r\n+import java.lang.reflect.Method;\r\n+import java.lang.reflect.Type;\r\n+import java.util.HashMap;\r\n+import java.util.List;\r\n+import java.util.Map;\r\n+import java.util.regex.Matcher;\r\n+import java.util.regex.Pattern;\r\n+\r\n+public class ProtobufTypeBuilder implements TypeBuilder {\r\n+    private final Logger logger = LoggerFactory.getLogger(getClass());\r\n+    private static final Pattern MAP_PATTERN = Pattern.compile(\"^java\\\\.util\\\\.Map<(\\\\S+), (\\\\S+)>$\");\r\n+    private static final Pattern LIST_PATTERN = Pattern.compile(\"^java\\\\.util\\\\.List<(\\\\S+)>$\");\r\n+    private static final List<String> LIST = null;\r\n+    /**\r\n+     * provide a List<String> type for TypeDefinitionBuilder.build(type,class,cache)\r\n+     * \"repeated string\" transform to ProtocolStringList, should be build as List<String> type.\r\n+     */\r\n+    private static Type STRING_LIST_TYPE;\r\n+\r\n+    static {\r\n+        try {\r\n+            STRING_LIST_TYPE = ProtobufTypeBuilder.class.getDeclaredField(\"LIST\").getGenericType();\r\n+        } catch (NoSuchFieldException e) {\r\n+            // do nothing\r\n+        }\r\n+    }\r\n+\r\n+    @Override\r\n+    public boolean accept(Type type, Class<?> clazz) {\r\n+        if (clazz == null) {\r\n+            return false;\r\n+        }\r\n+\r\n+        return GeneratedMessageV3.class.isAssignableFrom(clazz);\r\n+    }\r\n+\r\n+    @Override\r\n+    public TypeDefinition build(Type type, Class<?> clazz, Map<Class<?>, TypeDefinition> typeCache) {\r\n+        TypeDefinition typeDefinition = new TypeDefinition(clazz.getName());\r\n+        try {\r\n+            GeneratedMessageV3.Builder builder = getMessageBuilder(clazz);\r\n+            typeDefinition = buildProtobufTypeDefinition(clazz, builder, typeCache);\r\n+        } catch (Exception e) {\r\n+            logger.info(\"TypeDefinition build failed.\", e);\r\n+        }\r\n+\r\n+        return typeDefinition;\r\n+    }\r\n+\r\n+    private GeneratedMessageV3.Builder getMessageBuilder(Class<?> requestType) throws Exception {\r\n+        Method method = requestType.getMethod(\"newBuilder\");\r\n+        return (GeneratedMessageV3.Builder) method.invoke(null, null);\r\n+    }\r\n+\r\n+    private TypeDefinition buildProtobufTypeDefinition(Class<?> clazz, GeneratedMessageV3.Builder builder, Map<Class<?>, TypeDefinition> typeCache) {\r\n+        TypeDefinition typeDefinition = new TypeDefinition(clazz.getName());\r\n+        if (builder == null) {\r\n+            return typeDefinition;\r\n+        }\r\n+\r\n+        Map<String, TypeDefinition> properties = new HashMap<>();\r\n+        Method[] methods = builder.getClass().getDeclaredMethods();\r\n+        for (Method method : methods) {\r\n+            String methodName = method.getName();\r\n+\r\n+            if (isSimplePropertySettingMethod(method)) {\r\n+                // property of custom type or primitive type\r\n+                properties.put(generateSimpleFiledName(methodName), TypeDefinitionBuilder.build(method.getGenericParameterTypes()[0], method.getParameterTypes()[0], typeCache));\r\n+            } else if (isMapPropertySettingMethod(method)) {\r\n+                // property of map\r\n+                Type type = method.getGenericParameterTypes()[0];\r\n+                String fieldName = generateMapFieldName(methodName);\r\n+                validateMapType(fieldName, type.toString());\r\n+                properties.put(fieldName, TypeDefinitionBuilder.build(type, method.getParameterTypes()[0], typeCache));\r\n+            } else if (isListPropertyGettingMethod(method)) {\r\n+                // property of list\r\n+                Type type = method.getGenericReturnType();\r\n+                String fieldName = generateListFieldName(methodName);\r\n+                TypeDefinition td;\r\n+                if (ProtocolStringList.class.isAssignableFrom(method.getReturnType())) {\r\n+                    // property defined as \"repeated string\" transform to ProtocolStringList,\r\n+                    // should be build as List<String>.\r\n+                    td = TypeDefinitionBuilder.build(STRING_LIST_TYPE, List.class, typeCache);\r\n+                } else {\r\n+                    // property without generic type should not be build ex method return List\r\n+                    if (!LIST_PATTERN.matcher(type.toString()).matches()) {\r\n+                        continue;\r\n+                    }\r\n+                    td = TypeDefinitionBuilder.build(type, method.getReturnType(), typeCache);\r\n+                }\r\n+                properties.put(fieldName, td);\r\n+            }\r\n+        }\r\n+        typeDefinition.setProperties(properties);\r\n+        typeCache.put(clazz, typeDefinition);\r\n+        return typeDefinition;\r\n+    }\r\n+\r\n+    /**\r\n+     * 1. Unsupported Map with key type is not String <br/>\r\n+     * Bytes is a primitive type in Proto, transform to ByteString.class in java<br/>\r\n+     *\r\n+     * @param fieldName\r\n+     * @param typeName\r\n+     * @return\r\n+     */\r\n+    private void validateMapType(String fieldName, String typeName) {\r\n+        Matcher matcher = MAP_PATTERN.matcher(typeName);\r\n+        if (!matcher.matches()) {\r\n+            throw new IllegalArgumentException(\"Map protobuf property \" + fieldName + \"of Type \" +\r\n+                    typeName + \" can't be parsed.The type name should match[\" + MAP_PATTERN.toString() + \"].\");\r\n+        }\r\n+    }\r\n+\r\n+    /**\r\n+     * get unCollection unMap property name from setting method.<br/>\r\n+     * ex:setXXX();<br/>\r\n+     *\r\n+     * @param methodName\r\n+     * @return\r\n+     */\r\n+    private String generateSimpleFiledName(String methodName) {\r\n+        return toCamelCase(methodName.substring(3));\r\n+    }\r\n+\r\n+    /**\r\n+     * get map property name from setting method.<br/>\r\n+     * ex: putAllXXX();<br/>\r\n+     *\r\n+     * @param methodName\r\n+     * @return\r\n+     */\r\n+    private String generateMapFieldName(String methodName) {\r\n+        return toCamelCase(methodName.substring(6));\r\n+    }\r\n+\r\n+    /**\r\n+     * get list property name from setting method.<br/>\r\n+     * ex\uff1a getXXXList()<br/>\r\n+     *\r\n+     * @param methodName\r\n+     * @return\r\n+     */\r\n+    private String generateListFieldName(String methodName) {\r\n+        return toCamelCase(methodName.substring(3, methodName.length() - 4));\r\n+    }\r\n+\r\n+\r\n+    private String toCamelCase(String nameString) {\r\n+        char[] chars = nameString.toCharArray();\r\n+        chars[0] = Character.toLowerCase(chars[0]);\r\n+        return new String(chars);\r\n+    }\r\n+\r\n+    /**\r\n+     * judge custom type or primitive type property<br/>\r\n+     * 1. proto3 grammar ex: string name = 1 <br/>\r\n+     * 2. proto3 grammar ex: optional string name =1 <br/>\r\n+     * generated setting method ex: setNameValue(String name);\r\n+     *\r\n+     * @param method\r\n+     * @return\r\n+     */\r\n+    private boolean isSimplePropertySettingMethod(Method method) {\r\n+        String methodName = method.getName();\r\n+        Class<?>[] types = method.getParameterTypes();\r\n+\r\n+        if (!methodName.startsWith(\"set\") || types.length != 1) {\r\n+            return false;\r\n+        }\r\n+\r\n+        // filter general setting method\r\n+        // 1. - setUnknownFields( com.google.protobuf.UnknownFieldSet unknownFields)\r\n+        // 2. - setField(com.google.protobuf.Descriptors.FieldDescriptor field,java.lang.Object value)\r\n+        // 3. - setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,int index,java.lang.Object value\uff09\r\n+        if (\"setField\".equals(methodName) && types[0].equals(Descriptors.FieldDescriptor.class)\r\n+                || \"setUnknownFields\".equals(methodName) && types[0].equals(UnknownFieldSet.class)\r\n+                || \"setRepeatedField\".equals(methodName) && types[0].equals(Descriptors.FieldDescriptor.class)) {\r\n+            return false;\r\n+        }\r\n+\r\n+        // String property has two setting method.\r\n+        // skip setXXXBytes(com.google.protobuf.ByteString value)\r\n+        // parse setXXX(String string)\r\n+        if (methodName.endsWith(\"Bytes\") && types[0].equals(ByteString.class)) {\r\n+            return false;\r\n+        }\r\n+\r\n+        // Protobuf property has two setting method.\r\n+        // skip setXXX(com.google.protobuf.Builder value)\r\n+        // parse setXXX(com.google.protobuf.Message value)\r\n+        if (GeneratedMessageV3.Builder.class.isAssignableFrom(types[0])) {\r\n+            return false;\r\n+        }\r\n+\r\n+        // Enum property has two setting method.\r\n+        // skip setXXXValue(int value)\r\n+        // parse setXXX(SomeEnum value)\r\n+        if (methodName.endsWith(\"Value\") && types[0] == int.class) {\r\n+            return false;\r\n+        }\r\n+\r\n+        return true;\r\n+    }\r\n+\r\n+\r\n+    /**\r\n+     * judge List property</br>\r\n+     * proto3 grammar ex: repeated string names; </br>\r\n+     * generated getting method\uff1aList<String> getNamesList()\r\n+     *\r\n+     * @param method\r\n+     * @return\r\n+     */\r\n+    boolean isListPropertyGettingMethod(Method method) {\r\n+        String methodName = method.getName();\r\n+        Class<?> type = method.getReturnType();\r\n+\r\n+\r\n+        if (!methodName.startsWith(\"get\") || !methodName.endsWith(\"List\")) {\r\n+            return false;\r\n+        }\r\n+\r\n+        // skip the setting method with Pb entity builder as parameter\r\n+        if (methodName.endsWith(\"BuilderList\")) {\r\n+            return false;\r\n+        }\r\n+\r\n+        // if field name end with List, should skip\r\n+        if (!List.class.isAssignableFrom(type)) {\r\n+            return false;\r\n+        }\r\n+\r\n+        return true;\r\n+    }\r\n+\r\n+    /**\r\n+     * judge map property</br>\r\n+     * proto3 grammar : map<string,string> card = 1; </br>\r\n+     * generated setting method: putAllCards(java.util.Map<String, string> values) </br>\r\n+     *\r\n+     * @param methodTemp\r\n+     * @return\r\n+     */\r\n+    private boolean isMapPropertySettingMethod(Method methodTemp) {\r\n+        String methodName = methodTemp.getName();\r\n+        Class[] parameters = methodTemp.getParameterTypes();\r\n+        if (methodName.startsWith(\"putAll\") && parameters.length == 1 && Map.class.isAssignableFrom(parameters[0])) {\r\n+            return true;\r\n+        }\r\n+\r\n+        return false;\r\n+    }\r\n+}\r\n"}]}
