{"diffoscope-json-version": 1, "source1": "/input1", "source2": "/input2", "unified_diff": null, "details": [{"source1": "zipinfo {}", "source2": "zipinfo {}", "unified_diff": "@@ -1,8 +1,8 @@\n-Zip file size: 17084 bytes, number of entries: 23\n+Zip file size: 17106 bytes, number of entries: 23\n -rw-r--r--  2.0 unx       64 b- defN 20-Apr-01 08:04 META-INF/MANIFEST.MF\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 META-INF/\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 org/\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 org/apache/\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 org/apache/dubbo/\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 org/apache/dubbo/monitor/\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 org/apache/dubbo/monitor/dubbo/\n@@ -11,15 +11,15 @@\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 META-INF/maven/\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 META-INF/maven/org.apache.dubbo/\n drwxr-xr-x  2.0 unx        0 b- stor 20-Apr-01 08:04 META-INF/maven/org.apache.dubbo/dubbo-monitor-default/\n -rw-r--r--  2.0 unx     3632 b- defN 20-Apr-01 08:04 META-INF/DEPENDENCIES\n -rw-r--r--  2.0 unx    11358 b- defN 20-Apr-01 08:04 META-INF/LICENSE\n -rw-r--r--  2.0 unx      178 b- defN 20-Apr-01 08:04 META-INF/NOTICE\n -rw-r--r--  2.0 unx     9041 b- defN 20-Apr-01 08:04 org/apache/dubbo/monitor/dubbo/DubboMonitor.java\n--rw-r--r--  2.0 unx     2821 b- defN 20-Apr-01 08:04 org/apache/dubbo/monitor/dubbo/DubboMonitorFactory.java\n--rw-r--r--  2.0 unx    11086 b- defN 20-Apr-01 08:04 org/apache/dubbo/monitor/dubbo/MetricsFilter.java\n+-rw-r--r--  2.0 unx     2892 b- defN 20-Apr-01 08:04 org/apache/dubbo/monitor/dubbo/DubboMonitorFactory.java\n+-rw-r--r--  2.0 unx    11347 b- defN 20-Apr-01 08:04 org/apache/dubbo/monitor/dubbo/MetricsFilter.java\n -rw-r--r--  2.0 unx     5940 b- defN 20-Apr-01 08:04 org/apache/dubbo/monitor/dubbo/Statistics.java\n -rw-r--r--  2.0 unx       56 b- defN 20-Apr-01 08:04 META-INF/dubbo/internal/org.apache.dubbo.monitor.MonitorFactory\n--rw-r--r--  2.0 unx       53 b- defN 20-Apr-01 08:04 META-INF/dubbo/internal/org.apache.dubbo.rpc.Filter\n--rw-r--r--  2.0 unx     3183 b- defN 20-Apr-01 08:04 META-INF/maven/org.apache.dubbo/dubbo-monitor-default/pom.xml\n+-rw-r--r--  2.0 unx       54 b- defN 20-Apr-01 08:04 META-INF/dubbo/internal/org.apache.dubbo.rpc.Filter\n+-rw-r--r--  2.0 unx     3100 b- defN 20-Apr-01 08:04 META-INF/maven/org.apache.dubbo/dubbo-monitor-default/pom.xml\n -rw-r--r--  2.0 unx       76 b- defN 20-Apr-01 08:04 META-INF/maven/org.apache.dubbo/dubbo-monitor-default/pom.properties\n-23 files, 47488 bytes uncompressed, 13814 bytes compressed:  70.9%\n+23 files, 47738 bytes uncompressed, 13836 bytes compressed:  71.0%\n"}, {"source1": "zipdetails --redact --scan --utc {}", "source2": "zipdetails --redact --scan --utc {}", "unified_diff": "@@ -301,874 +301,874 @@\n 1FB7 Extract Zip Spec      14 (20) '2.0'\n 1FB8 Extract OS            00 (0) 'MS-DOS'\n 1FB9 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n 1FBB Compression Method    0008 (8) 'Deflated'\n 1FBD Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-1FC1 CRC                   8FE44697 (2414102167)\n-1FC5 Compressed Size       000003FB (1019)\n-1FC9 Uncompressed Size     00000B05 (2821)\n+1FC1 CRC                   4C68B52A (1281930538)\n+1FC5 Compressed Size       00000406 (1030)\n+1FC9 Uncompressed Size     00000B4C (2892)\n 1FCD Filename Length       0037 (55)\n 1FCF Extra Length          0000 (0)\n 1FD1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n # WARNING: Offset 0x1FD1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n 2008 PAYLOAD\n \n-2403 LOCAL HEADER #18      04034B50 (67324752)\n-2407 Extract Zip Spec      14 (20) '2.0'\n-2408 Extract OS            00 (0) 'MS-DOS'\n-2409 General Purpose Flag  0800 (2048)\n+240E LOCAL HEADER #18      04034B50 (67324752)\n+2412 Extract Zip Spec      14 (20) '2.0'\n+2413 Extract OS            00 (0) 'MS-DOS'\n+2414 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-240B Compression Method    0008 (8) 'Deflated'\n-240D Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-2411 CRC                   8F262250 (2401641040)\n-2415 Compressed Size       00000B74 (2932)\n-2419 Uncompressed Size     00002B4E (11086)\n-241D Filename Length       0031 (49)\n-241F Extra Length          0000 (0)\n-2421 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+2416 Compression Method    0008 (8) 'Deflated'\n+2418 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+241C CRC                   23426219 (591553049)\n+2420 Compressed Size       00000B86 (2950)\n+2424 Uncompressed Size     00002C53 (11347)\n+2428 Filename Length       0031 (49)\n+242A Extra Length          0000 (0)\n+242C Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x2421: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x242C: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-2452 PAYLOAD\n+245D PAYLOAD\n \n-2FC6 LOCAL HEADER #19      04034B50 (67324752)\n-2FCA Extract Zip Spec      14 (20) '2.0'\n-2FCB Extract OS            00 (0) 'MS-DOS'\n-2FCC General Purpose Flag  0800 (2048)\n+2FE3 LOCAL HEADER #19      04034B50 (67324752)\n+2FE7 Extract Zip Spec      14 (20) '2.0'\n+2FE8 Extract OS            00 (0) 'MS-DOS'\n+2FE9 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-2FCE Compression Method    0008 (8) 'Deflated'\n-2FD0 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-2FD4 CRC                   DAB7FE63 (3669491299)\n-2FD8 Compressed Size       00000592 (1426)\n-2FDC Uncompressed Size     00001734 (5940)\n-2FE0 Filename Length       002E (46)\n-2FE2 Extra Length          0000 (0)\n-2FE4 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+2FEB Compression Method    0008 (8) 'Deflated'\n+2FED Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+2FF1 CRC                   DAB7FE63 (3669491299)\n+2FF5 Compressed Size       00000592 (1426)\n+2FF9 Uncompressed Size     00001734 (5940)\n+2FFD Filename Length       002E (46)\n+2FFF Extra Length          0000 (0)\n+3001 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x2FE4: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3001: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-3012 PAYLOAD\n+302F PAYLOAD\n \n-35A4 LOCAL HEADER #20      04034B50 (67324752)\n-35A8 Extract Zip Spec      14 (20) '2.0'\n-35A9 Extract OS            00 (0) 'MS-DOS'\n-35AA General Purpose Flag  0800 (2048)\n+35C1 LOCAL HEADER #20      04034B50 (67324752)\n+35C5 Extract Zip Spec      14 (20) '2.0'\n+35C6 Extract OS            00 (0) 'MS-DOS'\n+35C7 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-35AC Compression Method    0008 (8) 'Deflated'\n-35AE Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-35B2 CRC                   3F2B21BD (1059791293)\n-35B6 Compressed Size       0000002A (42)\n-35BA Uncompressed Size     00000038 (56)\n-35BE Filename Length       003F (63)\n-35C0 Extra Length          0000 (0)\n-35C2 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+35C9 Compression Method    0008 (8) 'Deflated'\n+35CB Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+35CF CRC                   3F2B21BD (1059791293)\n+35D3 Compressed Size       0000002A (42)\n+35D7 Uncompressed Size     00000038 (56)\n+35DB Filename Length       003F (63)\n+35DD Extra Length          0000 (0)\n+35DF Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x35C2: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x35DF: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-3601 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+361E PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n-362B LOCAL HEADER #21      04034B50 (67324752)\n-362F Extract Zip Spec      14 (20) '2.0'\n-3630 Extract OS            00 (0) 'MS-DOS'\n-3631 General Purpose Flag  0800 (2048)\n+3648 LOCAL HEADER #21      04034B50 (67324752)\n+364C Extract Zip Spec      14 (20) '2.0'\n+364D Extract OS            00 (0) 'MS-DOS'\n+364E General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-3633 Compression Method    0008 (8) 'Deflated'\n-3635 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3639 CRC                   483B73A3 (1211855779)\n-363D Compressed Size       0000002D (45)\n-3641 Uncompressed Size     00000035 (53)\n-3645 Filename Length       0033 (51)\n-3647 Extra Length          0000 (0)\n-3649 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+3650 Compression Method    0008 (8) 'Deflated'\n+3652 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3656 CRC                   32015975 (838949237)\n+365A Compressed Size       0000002E (46)\n+365E Uncompressed Size     00000036 (54)\n+3662 Filename Length       0033 (51)\n+3664 Extra Length          0000 (0)\n+3666 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3649: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3666: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-367C PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+3699 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n-36A9 LOCAL HEADER #22      04034B50 (67324752)\n-36AD Extract Zip Spec      14 (20) '2.0'\n-36AE Extract OS            00 (0) 'MS-DOS'\n-36AF General Purpose Flag  0800 (2048)\n+36C7 LOCAL HEADER #22      04034B50 (67324752)\n+36CB Extract Zip Spec      14 (20) '2.0'\n+36CC Extract OS            00 (0) 'MS-DOS'\n+36CD General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-36B1 Compression Method    0008 (8) 'Deflated'\n-36B3 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-36B7 CRC                   B4C3155F (3032683871)\n-36BB Compressed Size       000003E6 (998)\n-36BF Uncompressed Size     00000C6F (3183)\n-36C3 Filename Length       003D (61)\n-36C5 Extra Length          0000 (0)\n-36C7 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+36CF Compression Method    0008 (8) 'Deflated'\n+36D1 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+36D5 CRC                   5192999D (1368562077)\n+36D9 Compressed Size       000003DE (990)\n+36DD Uncompressed Size     00000C1C (3100)\n+36E1 Filename Length       003D (61)\n+36E3 Extra Length          0000 (0)\n+36E5 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x36C7: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x36E5: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-3704 PAYLOAD\n+3722 PAYLOAD\n \n-3AEA LOCAL HEADER #23      04034B50 (67324752)\n-3AEE Extract Zip Spec      14 (20) '2.0'\n-3AEF Extract OS            00 (0) 'MS-DOS'\n-3AF0 General Purpose Flag  0800 (2048)\n+3B00 LOCAL HEADER #23      04034B50 (67324752)\n+3B04 Extract Zip Spec      14 (20) '2.0'\n+3B05 Extract OS            00 (0) 'MS-DOS'\n+3B06 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-3AF2 Compression Method    0008 (8) 'Deflated'\n-3AF4 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3AF8 CRC                   2A04AB66 (704949094)\n-3AFC Compressed Size       0000004A (74)\n-3B00 Uncompressed Size     0000004C (76)\n-3B04 Filename Length       0044 (68)\n-3B06 Extra Length          0000 (0)\n-3B08 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+3B08 Compression Method    0008 (8) 'Deflated'\n+3B0A Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3B0E CRC                   2A04AB66 (704949094)\n+3B12 Compressed Size       0000004A (74)\n+3B16 Uncompressed Size     0000004C (76)\n+3B1A Filename Length       0044 (68)\n+3B1C Extra Length          0000 (0)\n+3B1E Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3B08: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3B1E: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-3B4C PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+3B62 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n-3B96 CENTRAL HEADER #1     02014B50 (33639248)\n-3B9A Created Zip Spec      14 (20) '2.0'\n-3B9B Created OS            03 (3) 'Unix'\n-3B9C Extract Zip Spec      14 (20) '2.0'\n-3B9D Extract OS            00 (0) 'MS-DOS'\n-3B9E General Purpose Flag  0800 (2048)\n+3BAC CENTRAL HEADER #1     02014B50 (33639248)\n+3BB0 Created Zip Spec      14 (20) '2.0'\n+3BB1 Created OS            03 (3) 'Unix'\n+3BB2 Extract Zip Spec      14 (20) '2.0'\n+3BB3 Extract OS            00 (0) 'MS-DOS'\n+3BB4 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-3BA0 Compression Method    0008 (8) 'Deflated'\n-3BA2 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3BA6 CRC                   A689EB18 (2794056472)\n-3BAA Compressed Size       00000042 (66)\n-3BAE Uncompressed Size     00000040 (64)\n-3BB2 Filename Length       0014 (20)\n-3BB4 Extra Length          0000 (0)\n-3BB6 Comment Length        0000 (0)\n-3BB8 Disk Start            0000 (0)\n-3BBA Int File Attributes   0000 (0)\n+3BB6 Compression Method    0008 (8) 'Deflated'\n+3BB8 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3BBC CRC                   A689EB18 (2794056472)\n+3BC0 Compressed Size       00000042 (66)\n+3BC4 Uncompressed Size     00000040 (64)\n+3BC8 Filename Length       0014 (20)\n+3BCA Extra Length          0000 (0)\n+3BCC Comment Length        0000 (0)\n+3BCE Disk Start            0000 (0)\n+3BD0 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3BBC Ext File Attributes   81A40000 (2175008768)\n+3BD2 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-3BC0 Local Header Offset   00000000 (0)\n-3BC4 Filename              'XXXXXXXXXXXXXXXXXXXX'\n+3BD6 Local Header Offset   00000000 (0)\n+3BDA Filename              'XXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3BC4: Filename 'XXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3BDA: Filename 'XXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-3BD8 CENTRAL HEADER #2     02014B50 (33639248)\n-3BDC Created Zip Spec      14 (20) '2.0'\n-3BDD Created OS            03 (3) 'Unix'\n-3BDE Extract Zip Spec      0A (10) '1.0'\n-3BDF Extract OS            00 (0) 'MS-DOS'\n-3BE0 General Purpose Flag  0800 (2048)\n+3BEE CENTRAL HEADER #2     02014B50 (33639248)\n+3BF2 Created Zip Spec      14 (20) '2.0'\n+3BF3 Created OS            03 (3) 'Unix'\n+3BF4 Extract Zip Spec      0A (10) '1.0'\n+3BF5 Extract OS            00 (0) 'MS-DOS'\n+3BF6 General Purpose Flag  0800 (2048)\n      [Bit 11]              1 'Language Encoding'\n-3BE2 Compression Method    0000 (0) 'Stored'\n-3BE4 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3BE8 CRC                   00000000 (0)\n-3BEC Compressed Size       00000000 (0)\n-3BF0 Uncompressed Size     00000000 (0)\n-3BF4 Filename Length       0009 (9)\n-3BF6 Extra Length          0000 (0)\n-3BF8 Comment Length        0000 (0)\n-3BFA Disk Start            0000 (0)\n-3BFC Int File Attributes   0000 (0)\n+3BF8 Compression Method    0000 (0) 'Stored'\n+3BFA Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3BFE CRC                   00000000 (0)\n+3C02 Compressed Size       00000000 (0)\n+3C06 Uncompressed Size     00000000 (0)\n+3C0A Filename Length       0009 (9)\n+3C0C Extra Length          0000 (0)\n+3C0E Comment Length        0000 (0)\n+3C10 Disk Start            0000 (0)\n+3C12 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3BFE Ext File Attributes   41ED0010 (1106051088)\n+3C14 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-3C02 Local Header Offset   00000074 (116)\n-3C06 Filename              'XXXXXXXXX'\n+3C18 Local Header Offset   00000074 (116)\n+3C1C Filename              'XXXXXXXXX'\n #\n-# WARNING: Offset 0x3C06: Filename 'XXXXXXXXX'\n+# WARNING: Offset 0x3C1C: Filename 'XXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x3C06: Directory 'XXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x3C1C: Directory 'XXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x3BDE: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXX'\n+# WARNING: Offset 0x3BF4: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXX'\n #\n \n-3C0F CENTRAL HEADER #3     02014B50 (33639248)\n-3C13 Created Zip Spec      14 (20) '2.0'\n-3C14 Created OS            03 (3) 'Unix'\n-3C15 Extract Zip Spec      0A (10) '1.0'\n-3C16 Extract OS            00 (0) 'MS-DOS'\n-3C17 General Purpose Flag  0800 (2048)\n+3C25 CENTRAL HEADER #3     02014B50 (33639248)\n+3C29 Created Zip Spec      14 (20) '2.0'\n+3C2A Created OS            03 (3) 'Unix'\n+3C2B Extract Zip Spec      0A (10) '1.0'\n+3C2C Extract OS            00 (0) 'MS-DOS'\n+3C2D General Purpose Flag  0800 (2048)\n      [Bit 11]              1 'Language Encoding'\n-3C19 Compression Method    0000 (0) 'Stored'\n-3C1B Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3C1F CRC                   00000000 (0)\n-3C23 Compressed Size       00000000 (0)\n-3C27 Uncompressed Size     00000000 (0)\n-3C2B Filename Length       0004 (4)\n-3C2D Extra Length          0000 (0)\n-3C2F Comment Length        0000 (0)\n-3C31 Disk Start            0000 (0)\n-3C33 Int File Attributes   0000 (0)\n+3C2F Compression Method    0000 (0) 'Stored'\n+3C31 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3C35 CRC                   00000000 (0)\n+3C39 Compressed Size       00000000 (0)\n+3C3D Uncompressed Size     00000000 (0)\n+3C41 Filename Length       0004 (4)\n+3C43 Extra Length          0000 (0)\n+3C45 Comment Length        0000 (0)\n+3C47 Disk Start            0000 (0)\n+3C49 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3C35 Ext File Attributes   41ED0010 (1106051088)\n+3C4B Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-3C39 Local Header Offset   0000009B (155)\n-3C3D Filename              'XXXX'\n+3C4F Local Header Offset   0000009B (155)\n+3C53 Filename              'XXXX'\n #\n-# WARNING: Offset 0x3C3D: Filename 'XXXX'\n+# WARNING: Offset 0x3C53: Filename 'XXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x3C3D: Directory 'XXXX' must end in a '/'\n+# ERROR: Offset 0x3C53: Directory 'XXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x3C15: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXX'\n+# WARNING: Offset 0x3C2B: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXX'\n #\n \n-3C41 CENTRAL HEADER #4     02014B50 (33639248)\n-3C45 Created Zip Spec      14 (20) '2.0'\n-3C46 Created OS            03 (3) 'Unix'\n-3C47 Extract Zip Spec      0A (10) '1.0'\n-3C48 Extract OS            00 (0) 'MS-DOS'\n-3C49 General Purpose Flag  0800 (2048)\n+3C57 CENTRAL HEADER #4     02014B50 (33639248)\n+3C5B Created Zip Spec      14 (20) '2.0'\n+3C5C Created OS            03 (3) 'Unix'\n+3C5D Extract Zip Spec      0A (10) '1.0'\n+3C5E Extract OS            00 (0) 'MS-DOS'\n+3C5F General Purpose Flag  0800 (2048)\n      [Bit 11]              1 'Language Encoding'\n-3C4B Compression Method    0000 (0) 'Stored'\n-3C4D Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3C51 CRC                   00000000 (0)\n-3C55 Compressed Size       00000000 (0)\n-3C59 Uncompressed Size     00000000 (0)\n-3C5D Filename Length       000B (11)\n-3C5F Extra Length          0000 (0)\n-3C61 Comment Length        0000 (0)\n-3C63 Disk Start            0000 (0)\n-3C65 Int File Attributes   0000 (0)\n+3C61 Compression Method    0000 (0) 'Stored'\n+3C63 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3C67 CRC                   00000000 (0)\n+3C6B Compressed Size       00000000 (0)\n+3C6F Uncompressed Size     00000000 (0)\n+3C73 Filename Length       000B (11)\n+3C75 Extra Length          0000 (0)\n+3C77 Comment Length        0000 (0)\n+3C79 Disk Start            0000 (0)\n+3C7B Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3C67 Ext File Attributes   41ED0010 (1106051088)\n+3C7D Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-3C6B Local Header Offset   000000BD (189)\n-3C6F Filename              'XXXXXXXXXXX'\n+3C81 Local Header Offset   000000BD (189)\n+3C85 Filename              'XXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3C6F: Filename 'XXXXXXXXXXX'\n+# WARNING: Offset 0x3C85: Filename 'XXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x3C6F: Directory 'XXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x3C85: Directory 'XXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x3C47: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXX'\n+# WARNING: Offset 0x3C5D: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXX'\n #\n \n-3C7A CENTRAL HEADER #5     02014B50 (33639248)\n-3C7E Created Zip Spec      14 (20) '2.0'\n-3C7F Created OS            03 (3) 'Unix'\n-3C80 Extract Zip Spec      0A (10) '1.0'\n-3C81 Extract OS            00 (0) 'MS-DOS'\n-3C82 General Purpose Flag  0800 (2048)\n+3C90 CENTRAL HEADER #5     02014B50 (33639248)\n+3C94 Created Zip Spec      14 (20) '2.0'\n+3C95 Created OS            03 (3) 'Unix'\n+3C96 Extract Zip Spec      0A (10) '1.0'\n+3C97 Extract OS            00 (0) 'MS-DOS'\n+3C98 General Purpose Flag  0800 (2048)\n      [Bit 11]              1 'Language Encoding'\n-3C84 Compression Method    0000 (0) 'Stored'\n-3C86 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3C8A CRC                   00000000 (0)\n-3C8E Compressed Size       00000000 (0)\n-3C92 Uncompressed Size     00000000 (0)\n-3C96 Filename Length       0011 (17)\n-3C98 Extra Length          0000 (0)\n-3C9A Comment Length        0000 (0)\n-3C9C Disk Start            0000 (0)\n-3C9E Int File Attributes   0000 (0)\n+3C9A Compression Method    0000 (0) 'Stored'\n+3C9C Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3CA0 CRC                   00000000 (0)\n+3CA4 Compressed Size       00000000 (0)\n+3CA8 Uncompressed Size     00000000 (0)\n+3CAC Filename Length       0011 (17)\n+3CAE Extra Length          0000 (0)\n+3CB0 Comment Length        0000 (0)\n+3CB2 Disk Start            0000 (0)\n+3CB4 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3CA0 Ext File Attributes   41ED0010 (1106051088)\n+3CB6 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-3CA4 Local Header Offset   000000E6 (230)\n-3CA8 Filename              'XXXXXXXXXXXXXXXXX'\n+3CBA Local Header Offset   000000E6 (230)\n+3CBE Filename              'XXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3CA8: Filename 'XXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3CBE: Filename 'XXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x3CA8: Directory 'XXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x3CBE: Directory 'XXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x3C80: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3C96: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXX'\n #\n \n-3CB9 CENTRAL HEADER #6     02014B50 (33639248)\n-3CBD Created Zip Spec      14 (20) '2.0'\n-3CBE Created OS            03 (3) 'Unix'\n-3CBF Extract Zip Spec      0A (10) '1.0'\n-3CC0 Extract OS            00 (0) 'MS-DOS'\n-3CC1 General Purpose Flag  0800 (2048)\n+3CCF CENTRAL HEADER #6     02014B50 (33639248)\n+3CD3 Created Zip Spec      14 (20) '2.0'\n+3CD4 Created OS            03 (3) 'Unix'\n+3CD5 Extract Zip Spec      0A (10) '1.0'\n+3CD6 Extract OS            00 (0) 'MS-DOS'\n+3CD7 General Purpose Flag  0800 (2048)\n      [Bit 11]              1 'Language Encoding'\n-3CC3 Compression Method    0000 (0) 'Stored'\n-3CC5 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3CC9 CRC                   00000000 (0)\n-3CCD Compressed Size       00000000 (0)\n-3CD1 Uncompressed Size     00000000 (0)\n-3CD5 Filename Length       0019 (25)\n-3CD7 Extra Length          0000 (0)\n-3CD9 Comment Length        0000 (0)\n-3CDB Disk Start            0000 (0)\n-3CDD Int File Attributes   0000 (0)\n+3CD9 Compression Method    0000 (0) 'Stored'\n+3CDB Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3CDF CRC                   00000000 (0)\n+3CE3 Compressed Size       00000000 (0)\n+3CE7 Uncompressed Size     00000000 (0)\n+3CEB Filename Length       0019 (25)\n+3CED Extra Length          0000 (0)\n+3CEF Comment Length        0000 (0)\n+3CF1 Disk Start            0000 (0)\n+3CF3 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3CDF Ext File Attributes   41ED0010 (1106051088)\n+3CF5 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-3CE3 Local Header Offset   00000115 (277)\n-3CE7 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXX'\n+3CF9 Local Header Offset   00000115 (277)\n+3CFD Filename              'XXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3CE7: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3CFD: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x3CE7: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x3CFD: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x3CBF: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3CD5: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-3D00 CENTRAL HEADER #7     02014B50 (33639248)\n-3D04 Created Zip Spec      14 (20) '2.0'\n-3D05 Created OS            03 (3) 'Unix'\n-3D06 Extract Zip Spec      0A (10) '1.0'\n-3D07 Extract OS            00 (0) 'MS-DOS'\n-3D08 General Purpose Flag  0800 (2048)\n+3D16 CENTRAL HEADER #7     02014B50 (33639248)\n+3D1A Created Zip Spec      14 (20) '2.0'\n+3D1B Created OS            03 (3) 'Unix'\n+3D1C Extract Zip Spec      0A (10) '1.0'\n+3D1D Extract OS            00 (0) 'MS-DOS'\n+3D1E General Purpose Flag  0800 (2048)\n      [Bit 11]              1 'Language Encoding'\n-3D0A Compression Method    0000 (0) 'Stored'\n-3D0C Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3D10 CRC                   00000000 (0)\n-3D14 Compressed Size       00000000 (0)\n-3D18 Uncompressed Size     00000000 (0)\n-3D1C Filename Length       001F (31)\n-3D1E Extra Length          0000 (0)\n-3D20 Comment Length        0000 (0)\n-3D22 Disk Start            0000 (0)\n-3D24 Int File Attributes   0000 (0)\n+3D20 Compression Method    0000 (0) 'Stored'\n+3D22 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3D26 CRC                   00000000 (0)\n+3D2A Compressed Size       00000000 (0)\n+3D2E Uncompressed Size     00000000 (0)\n+3D32 Filename Length       001F (31)\n+3D34 Extra Length          0000 (0)\n+3D36 Comment Length        0000 (0)\n+3D38 Disk Start            0000 (0)\n+3D3A Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3D26 Ext File Attributes   41ED0010 (1106051088)\n+3D3C Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-3D2A Local Header Offset   0000014C (332)\n-3D2E Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+3D40 Local Header Offset   0000014C (332)\n+3D44 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3D2E: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3D44: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x3D2E: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x3D44: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x3D06: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3D1C: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-3D4D CENTRAL HEADER #8     02014B50 (33639248)\n-3D51 Created Zip Spec      14 (20) '2.0'\n-3D52 Created OS            03 (3) 'Unix'\n-3D53 Extract Zip Spec      0A (10) '1.0'\n-3D54 Extract OS            00 (0) 'MS-DOS'\n-3D55 General Purpose Flag  0800 (2048)\n+3D63 CENTRAL HEADER #8     02014B50 (33639248)\n+3D67 Created Zip Spec      14 (20) '2.0'\n+3D68 Created OS            03 (3) 'Unix'\n+3D69 Extract Zip Spec      0A (10) '1.0'\n+3D6A Extract OS            00 (0) 'MS-DOS'\n+3D6B General Purpose Flag  0800 (2048)\n      [Bit 11]              1 'Language Encoding'\n-3D57 Compression Method    0000 (0) 'Stored'\n-3D59 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3D5D CRC                   00000000 (0)\n-3D61 Compressed Size       00000000 (0)\n-3D65 Uncompressed Size     00000000 (0)\n-3D69 Filename Length       000F (15)\n-3D6B Extra Length          0000 (0)\n-3D6D Comment Length        0000 (0)\n-3D6F Disk Start            0000 (0)\n-3D71 Int File Attributes   0000 (0)\n+3D6D Compression Method    0000 (0) 'Stored'\n+3D6F Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3D73 CRC                   00000000 (0)\n+3D77 Compressed Size       00000000 (0)\n+3D7B Uncompressed Size     00000000 (0)\n+3D7F Filename Length       000F (15)\n+3D81 Extra Length          0000 (0)\n+3D83 Comment Length        0000 (0)\n+3D85 Disk Start            0000 (0)\n+3D87 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3D73 Ext File Attributes   41ED0010 (1106051088)\n+3D89 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-3D77 Local Header Offset   00000189 (393)\n-3D7B Filename              'XXXXXXXXXXXXXXX'\n+3D8D Local Header Offset   00000189 (393)\n+3D91 Filename              'XXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3D7B: Filename 'XXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3D91: Filename 'XXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x3D7B: Directory 'XXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x3D91: Directory 'XXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x3D53: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3D69: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXX'\n #\n \n-3D8A CENTRAL HEADER #9     02014B50 (33639248)\n-3D8E Created Zip Spec      14 (20) '2.0'\n-3D8F Created OS            03 (3) 'Unix'\n-3D90 Extract Zip Spec      0A (10) '1.0'\n-3D91 Extract OS            00 (0) 'MS-DOS'\n-3D92 General Purpose Flag  0800 (2048)\n+3DA0 CENTRAL HEADER #9     02014B50 (33639248)\n+3DA4 Created Zip Spec      14 (20) '2.0'\n+3DA5 Created OS            03 (3) 'Unix'\n+3DA6 Extract Zip Spec      0A (10) '1.0'\n+3DA7 Extract OS            00 (0) 'MS-DOS'\n+3DA8 General Purpose Flag  0800 (2048)\n      [Bit 11]              1 'Language Encoding'\n-3D94 Compression Method    0000 (0) 'Stored'\n-3D96 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3D9A CRC                   00000000 (0)\n-3D9E Compressed Size       00000000 (0)\n-3DA2 Uncompressed Size     00000000 (0)\n-3DA6 Filename Length       0018 (24)\n-3DA8 Extra Length          0000 (0)\n-3DAA Comment Length        0000 (0)\n-3DAC Disk Start            0000 (0)\n-3DAE Int File Attributes   0000 (0)\n+3DAA Compression Method    0000 (0) 'Stored'\n+3DAC Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3DB0 CRC                   00000000 (0)\n+3DB4 Compressed Size       00000000 (0)\n+3DB8 Uncompressed Size     00000000 (0)\n+3DBC Filename Length       0018 (24)\n+3DBE Extra Length          0000 (0)\n+3DC0 Comment Length        0000 (0)\n+3DC2 Disk Start            0000 (0)\n+3DC4 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3DB0 Ext File Attributes   41ED0010 (1106051088)\n+3DC6 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-3DB4 Local Header Offset   000001B6 (438)\n-3DB8 Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'\n+3DCA Local Header Offset   000001B6 (438)\n+3DCE Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3DB8: Filename 'XXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3DCE: Filename 'XXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x3DB8: Directory 'XXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x3DCE: Directory 'XXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x3D90: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3DA6: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-3DD0 CENTRAL HEADER #10    02014B50 (33639248)\n-3DD4 Created Zip Spec      14 (20) '2.0'\n-3DD5 Created OS            03 (3) 'Unix'\n-3DD6 Extract Zip Spec      0A (10) '1.0'\n-3DD7 Extract OS            00 (0) 'MS-DOS'\n-3DD8 General Purpose Flag  0800 (2048)\n+3DE6 CENTRAL HEADER #10    02014B50 (33639248)\n+3DEA Created Zip Spec      14 (20) '2.0'\n+3DEB Created OS            03 (3) 'Unix'\n+3DEC Extract Zip Spec      0A (10) '1.0'\n+3DED Extract OS            00 (0) 'MS-DOS'\n+3DEE General Purpose Flag  0800 (2048)\n      [Bit 11]              1 'Language Encoding'\n-3DDA Compression Method    0000 (0) 'Stored'\n-3DDC Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3DE0 CRC                   00000000 (0)\n-3DE4 Compressed Size       00000000 (0)\n-3DE8 Uncompressed Size     00000000 (0)\n-3DEC Filename Length       000F (15)\n-3DEE Extra Length          0000 (0)\n-3DF0 Comment Length        0000 (0)\n-3DF2 Disk Start            0000 (0)\n-3DF4 Int File Attributes   0000 (0)\n+3DF0 Compression Method    0000 (0) 'Stored'\n+3DF2 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3DF6 CRC                   00000000 (0)\n+3DFA Compressed Size       00000000 (0)\n+3DFE Uncompressed Size     00000000 (0)\n+3E02 Filename Length       000F (15)\n+3E04 Extra Length          0000 (0)\n+3E06 Comment Length        0000 (0)\n+3E08 Disk Start            0000 (0)\n+3E0A Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3DF6 Ext File Attributes   41ED0010 (1106051088)\n+3E0C Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-3DFA Local Header Offset   000001EC (492)\n-3DFE Filename              'XXXXXXXXXXXXXXX'\n+3E10 Local Header Offset   000001EC (492)\n+3E14 Filename              'XXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3DFE: Filename 'XXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3E14: Filename 'XXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x3DFE: Directory 'XXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x3E14: Directory 'XXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x3DD6: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3DEC: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXX'\n #\n \n-3E0D CENTRAL HEADER #11    02014B50 (33639248)\n-3E11 Created Zip Spec      14 (20) '2.0'\n-3E12 Created OS            03 (3) 'Unix'\n-3E13 Extract Zip Spec      0A (10) '1.0'\n-3E14 Extract OS            00 (0) 'MS-DOS'\n-3E15 General Purpose Flag  0800 (2048)\n+3E23 CENTRAL HEADER #11    02014B50 (33639248)\n+3E27 Created Zip Spec      14 (20) '2.0'\n+3E28 Created OS            03 (3) 'Unix'\n+3E29 Extract Zip Spec      0A (10) '1.0'\n+3E2A Extract OS            00 (0) 'MS-DOS'\n+3E2B General Purpose Flag  0800 (2048)\n      [Bit 11]              1 'Language Encoding'\n-3E17 Compression Method    0000 (0) 'Stored'\n-3E19 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3E1D CRC                   00000000 (0)\n-3E21 Compressed Size       00000000 (0)\n-3E25 Uncompressed Size     00000000 (0)\n-3E29 Filename Length       0020 (32)\n-3E2B Extra Length          0000 (0)\n-3E2D Comment Length        0000 (0)\n-3E2F Disk Start            0000 (0)\n-3E31 Int File Attributes   0000 (0)\n+3E2D Compression Method    0000 (0) 'Stored'\n+3E2F Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3E33 CRC                   00000000 (0)\n+3E37 Compressed Size       00000000 (0)\n+3E3B Uncompressed Size     00000000 (0)\n+3E3F Filename Length       0020 (32)\n+3E41 Extra Length          0000 (0)\n+3E43 Comment Length        0000 (0)\n+3E45 Disk Start            0000 (0)\n+3E47 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3E33 Ext File Attributes   41ED0010 (1106051088)\n+3E49 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-3E37 Local Header Offset   00000219 (537)\n-3E3B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+3E4D Local Header Offset   00000219 (537)\n+3E51 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3E3B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3E51: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x3E3B: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x3E51: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x3E13: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3E29: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-3E5B CENTRAL HEADER #12    02014B50 (33639248)\n-3E5F Created Zip Spec      14 (20) '2.0'\n-3E60 Created OS            03 (3) 'Unix'\n-3E61 Extract Zip Spec      0A (10) '1.0'\n-3E62 Extract OS            00 (0) 'MS-DOS'\n-3E63 General Purpose Flag  0800 (2048)\n+3E71 CENTRAL HEADER #12    02014B50 (33639248)\n+3E75 Created Zip Spec      14 (20) '2.0'\n+3E76 Created OS            03 (3) 'Unix'\n+3E77 Extract Zip Spec      0A (10) '1.0'\n+3E78 Extract OS            00 (0) 'MS-DOS'\n+3E79 General Purpose Flag  0800 (2048)\n      [Bit 11]              1 'Language Encoding'\n-3E65 Compression Method    0000 (0) 'Stored'\n-3E67 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3E6B CRC                   00000000 (0)\n-3E6F Compressed Size       00000000 (0)\n-3E73 Uncompressed Size     00000000 (0)\n-3E77 Filename Length       0036 (54)\n-3E79 Extra Length          0000 (0)\n-3E7B Comment Length        0000 (0)\n-3E7D Disk Start            0000 (0)\n-3E7F Int File Attributes   0000 (0)\n+3E7B Compression Method    0000 (0) 'Stored'\n+3E7D Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3E81 CRC                   00000000 (0)\n+3E85 Compressed Size       00000000 (0)\n+3E89 Uncompressed Size     00000000 (0)\n+3E8D Filename Length       0036 (54)\n+3E8F Extra Length          0000 (0)\n+3E91 Comment Length        0000 (0)\n+3E93 Disk Start            0000 (0)\n+3E95 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3E81 Ext File Attributes   41ED0010 (1106051088)\n+3E97 Ext File Attributes   41ED0010 (1106051088)\n      [Bit 4]               Directory\n      [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n      [Bits 28-31]          04 (4) 'Directory'\n-3E85 Local Header Offset   00000257 (599)\n-3E89 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+3E9B Local Header Offset   00000257 (599)\n+3E9F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3E89: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3E9F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0x3E89: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0x3E9F: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0x3E61: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3E77: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-3EBF CENTRAL HEADER #13    02014B50 (33639248)\n-3EC3 Created Zip Spec      14 (20) '2.0'\n-3EC4 Created OS            03 (3) 'Unix'\n-3EC5 Extract Zip Spec      14 (20) '2.0'\n-3EC6 Extract OS            00 (0) 'MS-DOS'\n-3EC7 General Purpose Flag  0800 (2048)\n+3ED5 CENTRAL HEADER #13    02014B50 (33639248)\n+3ED9 Created Zip Spec      14 (20) '2.0'\n+3EDA Created OS            03 (3) 'Unix'\n+3EDB Extract Zip Spec      14 (20) '2.0'\n+3EDC Extract OS            00 (0) 'MS-DOS'\n+3EDD General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-3EC9 Compression Method    0008 (8) 'Deflated'\n-3ECB Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3ECF CRC                   963A6924 (2520410404)\n-3ED3 Compressed Size       00000336 (822)\n-3ED7 Uncompressed Size     00000E30 (3632)\n-3EDB Filename Length       0015 (21)\n-3EDD Extra Length          0000 (0)\n-3EDF Comment Length        0000 (0)\n-3EE1 Disk Start            0000 (0)\n-3EE3 Int File Attributes   0000 (0)\n+3EDF Compression Method    0008 (8) 'Deflated'\n+3EE1 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3EE5 CRC                   963A6924 (2520410404)\n+3EE9 Compressed Size       00000336 (822)\n+3EED Uncompressed Size     00000E30 (3632)\n+3EF1 Filename Length       0015 (21)\n+3EF3 Extra Length          0000 (0)\n+3EF5 Comment Length        0000 (0)\n+3EF7 Disk Start            0000 (0)\n+3EF9 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3EE5 Ext File Attributes   81A40000 (2175008768)\n+3EFB Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-3EE9 Local Header Offset   000002AB (683)\n-3EED Filename              'XXXXXXXXXXXXXXXXXXXXX'\n+3EFF Local Header Offset   000002AB (683)\n+3F03 Filename              'XXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3EED: Filename 'XXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3F03: Filename 'XXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-3F02 CENTRAL HEADER #14    02014B50 (33639248)\n-3F06 Created Zip Spec      14 (20) '2.0'\n-3F07 Created OS            03 (3) 'Unix'\n-3F08 Extract Zip Spec      14 (20) '2.0'\n-3F09 Extract OS            00 (0) 'MS-DOS'\n-3F0A General Purpose Flag  0800 (2048)\n+3F18 CENTRAL HEADER #14    02014B50 (33639248)\n+3F1C Created Zip Spec      14 (20) '2.0'\n+3F1D Created OS            03 (3) 'Unix'\n+3F1E Extract Zip Spec      14 (20) '2.0'\n+3F1F Extract OS            00 (0) 'MS-DOS'\n+3F20 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-3F0C Compression Method    0008 (8) 'Deflated'\n-3F0E Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3F12 CRC                   86E2B4B4 (2263004340)\n-3F16 Compressed Size       00000F6D (3949)\n-3F1A Uncompressed Size     00002C5E (11358)\n-3F1E Filename Length       0010 (16)\n-3F20 Extra Length          0000 (0)\n-3F22 Comment Length        0000 (0)\n-3F24 Disk Start            0000 (0)\n-3F26 Int File Attributes   0000 (0)\n+3F22 Compression Method    0008 (8) 'Deflated'\n+3F24 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3F28 CRC                   86E2B4B4 (2263004340)\n+3F2C Compressed Size       00000F6D (3949)\n+3F30 Uncompressed Size     00002C5E (11358)\n+3F34 Filename Length       0010 (16)\n+3F36 Extra Length          0000 (0)\n+3F38 Comment Length        0000 (0)\n+3F3A Disk Start            0000 (0)\n+3F3C Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3F28 Ext File Attributes   81A40000 (2175008768)\n+3F3E Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-3F2C Local Header Offset   00000614 (1556)\n-3F30 Filename              'XXXXXXXXXXXXXXXX'\n+3F42 Local Header Offset   00000614 (1556)\n+3F46 Filename              'XXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3F30: Filename 'XXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3F46: Filename 'XXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-3F40 CENTRAL HEADER #15    02014B50 (33639248)\n-3F44 Created Zip Spec      14 (20) '2.0'\n-3F45 Created OS            03 (3) 'Unix'\n-3F46 Extract Zip Spec      14 (20) '2.0'\n-3F47 Extract OS            00 (0) 'MS-DOS'\n-3F48 General Purpose Flag  0800 (2048)\n+3F56 CENTRAL HEADER #15    02014B50 (33639248)\n+3F5A Created Zip Spec      14 (20) '2.0'\n+3F5B Created OS            03 (3) 'Unix'\n+3F5C Extract Zip Spec      14 (20) '2.0'\n+3F5D Extract OS            00 (0) 'MS-DOS'\n+3F5E General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-3F4A Compression Method    0008 (8) 'Deflated'\n-3F4C Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3F50 CRC                   6215C8C5 (1645594821)\n-3F54 Compressed Size       00000082 (130)\n-3F58 Uncompressed Size     000000B2 (178)\n-3F5C Filename Length       000F (15)\n-3F5E Extra Length          0000 (0)\n-3F60 Comment Length        0000 (0)\n-3F62 Disk Start            0000 (0)\n-3F64 Int File Attributes   0000 (0)\n+3F60 Compression Method    0008 (8) 'Deflated'\n+3F62 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3F66 CRC                   6215C8C5 (1645594821)\n+3F6A Compressed Size       00000082 (130)\n+3F6E Uncompressed Size     000000B2 (178)\n+3F72 Filename Length       000F (15)\n+3F74 Extra Length          0000 (0)\n+3F76 Comment Length        0000 (0)\n+3F78 Disk Start            0000 (0)\n+3F7A Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3F66 Ext File Attributes   81A40000 (2175008768)\n+3F7C Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-3F6A Local Header Offset   000015AF (5551)\n-3F6E Filename              'XXXXXXXXXXXXXXX'\n+3F80 Local Header Offset   000015AF (5551)\n+3F84 Filename              'XXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3F6E: Filename 'XXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3F84: Filename 'XXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-3F7D CENTRAL HEADER #16    02014B50 (33639248)\n-3F81 Created Zip Spec      14 (20) '2.0'\n-3F82 Created OS            03 (3) 'Unix'\n-3F83 Extract Zip Spec      14 (20) '2.0'\n-3F84 Extract OS            00 (0) 'MS-DOS'\n-3F85 General Purpose Flag  0800 (2048)\n+3F93 CENTRAL HEADER #16    02014B50 (33639248)\n+3F97 Created Zip Spec      14 (20) '2.0'\n+3F98 Created OS            03 (3) 'Unix'\n+3F99 Extract Zip Spec      14 (20) '2.0'\n+3F9A Extract OS            00 (0) 'MS-DOS'\n+3F9B General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-3F87 Compression Method    0008 (8) 'Deflated'\n-3F89 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3F8D CRC                   EA5FE743 (3932153667)\n-3F91 Compressed Size       00000907 (2311)\n-3F95 Uncompressed Size     00002351 (9041)\n-3F99 Filename Length       0030 (48)\n-3F9B Extra Length          0000 (0)\n-3F9D Comment Length        0000 (0)\n-3F9F Disk Start            0000 (0)\n-3FA1 Int File Attributes   0000 (0)\n+3F9D Compression Method    0008 (8) 'Deflated'\n+3F9F Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+3FA3 CRC                   EA5FE743 (3932153667)\n+3FA7 Compressed Size       00000907 (2311)\n+3FAB Uncompressed Size     00002351 (9041)\n+3FAF Filename Length       0030 (48)\n+3FB1 Extra Length          0000 (0)\n+3FB3 Comment Length        0000 (0)\n+3FB5 Disk Start            0000 (0)\n+3FB7 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-3FA3 Ext File Attributes   81A40000 (2175008768)\n+3FB9 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-3FA7 Local Header Offset   0000165E (5726)\n-3FAB Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+3FBD Local Header Offset   0000165E (5726)\n+3FC1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3FAB: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3FC1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-3FDB CENTRAL HEADER #17    02014B50 (33639248)\n-3FDF Created Zip Spec      14 (20) '2.0'\n-3FE0 Created OS            03 (3) 'Unix'\n-3FE1 Extract Zip Spec      14 (20) '2.0'\n-3FE2 Extract OS            00 (0) 'MS-DOS'\n-3FE3 General Purpose Flag  0800 (2048)\n+3FF1 CENTRAL HEADER #17    02014B50 (33639248)\n+3FF5 Created Zip Spec      14 (20) '2.0'\n+3FF6 Created OS            03 (3) 'Unix'\n+3FF7 Extract Zip Spec      14 (20) '2.0'\n+3FF8 Extract OS            00 (0) 'MS-DOS'\n+3FF9 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-3FE5 Compression Method    0008 (8) 'Deflated'\n-3FE7 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-3FEB CRC                   8FE44697 (2414102167)\n-3FEF Compressed Size       000003FB (1019)\n-3FF3 Uncompressed Size     00000B05 (2821)\n-3FF7 Filename Length       0037 (55)\n-3FF9 Extra Length          0000 (0)\n-3FFB Comment Length        0000 (0)\n-3FFD Disk Start            0000 (0)\n-3FFF Int File Attributes   0000 (0)\n+3FFB Compression Method    0008 (8) 'Deflated'\n+3FFD Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+4001 CRC                   4C68B52A (1281930538)\n+4005 Compressed Size       00000406 (1030)\n+4009 Uncompressed Size     00000B4C (2892)\n+400D Filename Length       0037 (55)\n+400F Extra Length          0000 (0)\n+4011 Comment Length        0000 (0)\n+4013 Disk Start            0000 (0)\n+4015 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-4001 Ext File Attributes   81A40000 (2175008768)\n+4017 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-4005 Local Header Offset   00001FB3 (8115)\n-4009 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+401B Local Header Offset   00001FB3 (8115)\n+401F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x4009: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x401F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-4040 CENTRAL HEADER #18    02014B50 (33639248)\n-4044 Created Zip Spec      14 (20) '2.0'\n-4045 Created OS            03 (3) 'Unix'\n-4046 Extract Zip Spec      14 (20) '2.0'\n-4047 Extract OS            00 (0) 'MS-DOS'\n-4048 General Purpose Flag  0800 (2048)\n+4056 CENTRAL HEADER #18    02014B50 (33639248)\n+405A Created Zip Spec      14 (20) '2.0'\n+405B Created OS            03 (3) 'Unix'\n+405C Extract Zip Spec      14 (20) '2.0'\n+405D Extract OS            00 (0) 'MS-DOS'\n+405E General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-404A Compression Method    0008 (8) 'Deflated'\n-404C Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-4050 CRC                   8F262250 (2401641040)\n-4054 Compressed Size       00000B74 (2932)\n-4058 Uncompressed Size     00002B4E (11086)\n-405C Filename Length       0031 (49)\n-405E Extra Length          0000 (0)\n-4060 Comment Length        0000 (0)\n-4062 Disk Start            0000 (0)\n-4064 Int File Attributes   0000 (0)\n+4060 Compression Method    0008 (8) 'Deflated'\n+4062 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+4066 CRC                   23426219 (591553049)\n+406A Compressed Size       00000B86 (2950)\n+406E Uncompressed Size     00002C53 (11347)\n+4072 Filename Length       0031 (49)\n+4074 Extra Length          0000 (0)\n+4076 Comment Length        0000 (0)\n+4078 Disk Start            0000 (0)\n+407A Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-4066 Ext File Attributes   81A40000 (2175008768)\n+407C Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-406A Local Header Offset   00002403 (9219)\n-406E Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+4080 Local Header Offset   0000240E (9230)\n+4084 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x406E: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x4084: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-409F CENTRAL HEADER #19    02014B50 (33639248)\n-40A3 Created Zip Spec      14 (20) '2.0'\n-40A4 Created OS            03 (3) 'Unix'\n-40A5 Extract Zip Spec      14 (20) '2.0'\n-40A6 Extract OS            00 (0) 'MS-DOS'\n-40A7 General Purpose Flag  0800 (2048)\n+40B5 CENTRAL HEADER #19    02014B50 (33639248)\n+40B9 Created Zip Spec      14 (20) '2.0'\n+40BA Created OS            03 (3) 'Unix'\n+40BB Extract Zip Spec      14 (20) '2.0'\n+40BC Extract OS            00 (0) 'MS-DOS'\n+40BD General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-40A9 Compression Method    0008 (8) 'Deflated'\n-40AB Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-40AF CRC                   DAB7FE63 (3669491299)\n-40B3 Compressed Size       00000592 (1426)\n-40B7 Uncompressed Size     00001734 (5940)\n-40BB Filename Length       002E (46)\n-40BD Extra Length          0000 (0)\n-40BF Comment Length        0000 (0)\n-40C1 Disk Start            0000 (0)\n-40C3 Int File Attributes   0000 (0)\n+40BF Compression Method    0008 (8) 'Deflated'\n+40C1 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+40C5 CRC                   DAB7FE63 (3669491299)\n+40C9 Compressed Size       00000592 (1426)\n+40CD Uncompressed Size     00001734 (5940)\n+40D1 Filename Length       002E (46)\n+40D3 Extra Length          0000 (0)\n+40D5 Comment Length        0000 (0)\n+40D7 Disk Start            0000 (0)\n+40D9 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-40C5 Ext File Attributes   81A40000 (2175008768)\n+40DB Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-40C9 Local Header Offset   00002FC6 (12230)\n-40CD Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+40DF Local Header Offset   00002FE3 (12259)\n+40E3 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x40CD: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x40E3: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-40FB CENTRAL HEADER #20    02014B50 (33639248)\n-40FF Created Zip Spec      14 (20) '2.0'\n-4100 Created OS            03 (3) 'Unix'\n-4101 Extract Zip Spec      14 (20) '2.0'\n-4102 Extract OS            00 (0) 'MS-DOS'\n-4103 General Purpose Flag  0800 (2048)\n+4111 CENTRAL HEADER #20    02014B50 (33639248)\n+4115 Created Zip Spec      14 (20) '2.0'\n+4116 Created OS            03 (3) 'Unix'\n+4117 Extract Zip Spec      14 (20) '2.0'\n+4118 Extract OS            00 (0) 'MS-DOS'\n+4119 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-4105 Compression Method    0008 (8) 'Deflated'\n-4107 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-410B CRC                   3F2B21BD (1059791293)\n-410F Compressed Size       0000002A (42)\n-4113 Uncompressed Size     00000038 (56)\n-4117 Filename Length       003F (63)\n-4119 Extra Length          0000 (0)\n-411B Comment Length        0000 (0)\n-411D Disk Start            0000 (0)\n-411F Int File Attributes   0000 (0)\n+411B Compression Method    0008 (8) 'Deflated'\n+411D Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+4121 CRC                   3F2B21BD (1059791293)\n+4125 Compressed Size       0000002A (42)\n+4129 Uncompressed Size     00000038 (56)\n+412D Filename Length       003F (63)\n+412F Extra Length          0000 (0)\n+4131 Comment Length        0000 (0)\n+4133 Disk Start            0000 (0)\n+4135 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-4121 Ext File Attributes   81A40000 (2175008768)\n+4137 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-4125 Local Header Offset   000035A4 (13732)\n-4129 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+413B Local Header Offset   000035C1 (13761)\n+413F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x4129: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x413F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-4168 CENTRAL HEADER #21    02014B50 (33639248)\n-416C Created Zip Spec      14 (20) '2.0'\n-416D Created OS            03 (3) 'Unix'\n-416E Extract Zip Spec      14 (20) '2.0'\n-416F Extract OS            00 (0) 'MS-DOS'\n-4170 General Purpose Flag  0800 (2048)\n+417E CENTRAL HEADER #21    02014B50 (33639248)\n+4182 Created Zip Spec      14 (20) '2.0'\n+4183 Created OS            03 (3) 'Unix'\n+4184 Extract Zip Spec      14 (20) '2.0'\n+4185 Extract OS            00 (0) 'MS-DOS'\n+4186 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-4172 Compression Method    0008 (8) 'Deflated'\n-4174 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-4178 CRC                   483B73A3 (1211855779)\n-417C Compressed Size       0000002D (45)\n-4180 Uncompressed Size     00000035 (53)\n-4184 Filename Length       0033 (51)\n-4186 Extra Length          0000 (0)\n-4188 Comment Length        0000 (0)\n-418A Disk Start            0000 (0)\n-418C Int File Attributes   0000 (0)\n+4188 Compression Method    0008 (8) 'Deflated'\n+418A Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+418E CRC                   32015975 (838949237)\n+4192 Compressed Size       0000002E (46)\n+4196 Uncompressed Size     00000036 (54)\n+419A Filename Length       0033 (51)\n+419C Extra Length          0000 (0)\n+419E Comment Length        0000 (0)\n+41A0 Disk Start            0000 (0)\n+41A2 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-418E Ext File Attributes   81A40000 (2175008768)\n+41A4 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-4192 Local Header Offset   0000362B (13867)\n-4196 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+41A8 Local Header Offset   00003648 (13896)\n+41AC Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x4196: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x41AC: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-41C9 CENTRAL HEADER #22    02014B50 (33639248)\n-41CD Created Zip Spec      14 (20) '2.0'\n-41CE Created OS            03 (3) 'Unix'\n-41CF Extract Zip Spec      14 (20) '2.0'\n-41D0 Extract OS            00 (0) 'MS-DOS'\n-41D1 General Purpose Flag  0800 (2048)\n+41DF CENTRAL HEADER #22    02014B50 (33639248)\n+41E3 Created Zip Spec      14 (20) '2.0'\n+41E4 Created OS            03 (3) 'Unix'\n+41E5 Extract Zip Spec      14 (20) '2.0'\n+41E6 Extract OS            00 (0) 'MS-DOS'\n+41E7 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-41D3 Compression Method    0008 (8) 'Deflated'\n-41D5 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-41D9 CRC                   B4C3155F (3032683871)\n-41DD Compressed Size       000003E6 (998)\n-41E1 Uncompressed Size     00000C6F (3183)\n-41E5 Filename Length       003D (61)\n-41E7 Extra Length          0000 (0)\n-41E9 Comment Length        0000 (0)\n-41EB Disk Start            0000 (0)\n-41ED Int File Attributes   0000 (0)\n+41E9 Compression Method    0008 (8) 'Deflated'\n+41EB Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+41EF CRC                   5192999D (1368562077)\n+41F3 Compressed Size       000003DE (990)\n+41F7 Uncompressed Size     00000C1C (3100)\n+41FB Filename Length       003D (61)\n+41FD Extra Length          0000 (0)\n+41FF Comment Length        0000 (0)\n+4201 Disk Start            0000 (0)\n+4203 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-41EF Ext File Attributes   81A40000 (2175008768)\n+4205 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-41F3 Local Header Offset   000036A9 (13993)\n-41F7 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+4209 Local Header Offset   000036C7 (14023)\n+420D Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x41F7: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x420D: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-4234 CENTRAL HEADER #23    02014B50 (33639248)\n-4238 Created Zip Spec      14 (20) '2.0'\n-4239 Created OS            03 (3) 'Unix'\n-423A Extract Zip Spec      14 (20) '2.0'\n-423B Extract OS            00 (0) 'MS-DOS'\n-423C General Purpose Flag  0800 (2048)\n+424A CENTRAL HEADER #23    02014B50 (33639248)\n+424E Created Zip Spec      14 (20) '2.0'\n+424F Created OS            03 (3) 'Unix'\n+4250 Extract Zip Spec      14 (20) '2.0'\n+4251 Extract OS            00 (0) 'MS-DOS'\n+4252 General Purpose Flag  0800 (2048)\n      [Bits 1-2]            0 'Normal Compression'\n      [Bit 11]              1 'Language Encoding'\n-423E Compression Method    0008 (8) 'Deflated'\n-4240 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n-4244 CRC                   2A04AB66 (704949094)\n-4248 Compressed Size       0000004A (74)\n-424C Uncompressed Size     0000004C (76)\n-4250 Filename Length       0044 (68)\n-4252 Extra Length          0000 (0)\n-4254 Comment Length        0000 (0)\n-4256 Disk Start            0000 (0)\n-4258 Int File Attributes   0000 (0)\n+4254 Compression Method    0008 (8) 'Deflated'\n+4256 Modification Time     50814080 (1350647936) 'Wed Apr  1 08:04:00 2020'\n+425A CRC                   2A04AB66 (704949094)\n+425E Compressed Size       0000004A (74)\n+4262 Uncompressed Size     0000004C (76)\n+4266 Filename Length       0044 (68)\n+4268 Extra Length          0000 (0)\n+426A Comment Length        0000 (0)\n+426C Disk Start            0000 (0)\n+426E Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-425A Ext File Attributes   81A40000 (2175008768)\n+4270 Ext File Attributes   81A40000 (2175008768)\n      [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n      [Bits 28-31]          08 (8) 'Regular File'\n-425E Local Header Offset   00003AEA (15082)\n-4262 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+4274 Local Header Offset   00003B00 (15104)\n+4278 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x4262: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x4278: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-42A6 END CENTRAL HEADER    06054B50 (101010256)\n-42AA Number of this disk   0000 (0)\n-42AC Central Dir Disk no   0000 (0)\n-42AE Entries in this disk  0017 (23)\n-42B0 Total Entries         0017 (23)\n-42B2 Size of Central Dir   00000710 (1808)\n-42B6 Offset to Central Dir 00003B96 (15254)\n-42BA Comment Length        0000 (0)\n+42BC END CENTRAL HEADER    06054B50 (101010256)\n+42C0 Number of this disk   0000 (0)\n+42C2 Central Dir Disk no   0000 (0)\n+42C4 Entries in this disk  0017 (23)\n+42C6 Total Entries         0017 (23)\n+42C8 Size of Central Dir   00000710 (1808)\n+42CC Offset to Central Dir 00003BAC (15276)\n+42D0 Comment Length        0000 (0)\n #\n # Error Count: 11\n # Warning Count: 57\n #\n # Done\n"}, {"source1": "org/apache/dubbo/monitor/dubbo/DubboMonitorFactory.java", "source2": "org/apache/dubbo/monitor/dubbo/DubboMonitorFactory.java", "comments": ["Ordering differences only"], "unified_diff": "@@ -1,71 +1,71 @@\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.monitor.dubbo;\n-\n-import org.apache.dubbo.common.URL;\n-import org.apache.dubbo.common.URLBuilder;\n-import org.apache.dubbo.common.utils.StringUtils;\n-import org.apache.dubbo.monitor.Monitor;\n-import org.apache.dubbo.monitor.MonitorService;\n-import org.apache.dubbo.monitor.support.AbstractMonitorFactory;\n-import org.apache.dubbo.rpc.Invoker;\n-import org.apache.dubbo.rpc.Protocol;\n-import org.apache.dubbo.rpc.ProxyFactory;\n-\n-import static org.apache.dubbo.common.constants.CommonConstants.DUBBO_PROTOCOL;\n-import static org.apache.dubbo.common.constants.CommonConstants.PROTOCOL_KEY;\n-import static org.apache.dubbo.common.constants.CommonConstants.REFERENCE_FILTER_KEY;\n-import static org.apache.dubbo.remoting.Constants.CHECK_KEY;\n-\n-/**\n- * DefaultMonitorFactory\n- */\n-public class DubboMonitorFactory extends AbstractMonitorFactory {\n-\n-    private Protocol protocol;\n-\n-    private ProxyFactory proxyFactory;\n-\n-    public void setProtocol(Protocol protocol) {\n-        this.protocol = protocol;\n-    }\n-\n-    public void setProxyFactory(ProxyFactory proxyFactory) {\n-        this.proxyFactory = proxyFactory;\n-    }\n-\n-    @Override\n-    protected Monitor createMonitor(URL url) {\n-        URLBuilder urlBuilder = URLBuilder.from(url);\n-        urlBuilder.setProtocol(url.getParameter(PROTOCOL_KEY, DUBBO_PROTOCOL));\n-        if (StringUtils.isEmpty(url.getPath())) {\n-            urlBuilder.setPath(MonitorService.class.getName());\n-        }\n-        String filter = url.getParameter(REFERENCE_FILTER_KEY);\n-        if (StringUtils.isEmpty(filter)) {\n-            filter = \"\";\n-        } else {\n-            filter = filter + \",\";\n-        }\n-        urlBuilder.addParameters(CHECK_KEY, String.valueOf(false),\n-                REFERENCE_FILTER_KEY, filter + \"-monitor\");\n-        Invoker<MonitorService> monitorInvoker = protocol.refer(MonitorService.class, urlBuilder.build());\n-        MonitorService monitorService = proxyFactory.getProxy(monitorInvoker);\n-        return new DubboMonitor(monitorInvoker, monitorService);\n-    }\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.monitor.dubbo;\r\n+\r\n+import org.apache.dubbo.common.URL;\r\n+import org.apache.dubbo.common.URLBuilder;\r\n+import org.apache.dubbo.common.utils.StringUtils;\r\n+import org.apache.dubbo.monitor.Monitor;\r\n+import org.apache.dubbo.monitor.MonitorService;\r\n+import org.apache.dubbo.monitor.support.AbstractMonitorFactory;\r\n+import org.apache.dubbo.rpc.Invoker;\r\n+import org.apache.dubbo.rpc.Protocol;\r\n+import org.apache.dubbo.rpc.ProxyFactory;\r\n+\r\n+import static org.apache.dubbo.common.constants.CommonConstants.DUBBO_PROTOCOL;\r\n+import static org.apache.dubbo.common.constants.CommonConstants.PROTOCOL_KEY;\r\n+import static org.apache.dubbo.common.constants.CommonConstants.REFERENCE_FILTER_KEY;\r\n+import static org.apache.dubbo.remoting.Constants.CHECK_KEY;\r\n+\r\n+/**\r\n+ * DefaultMonitorFactory\r\n+ */\r\n+public class DubboMonitorFactory extends AbstractMonitorFactory {\r\n+\r\n+    private Protocol protocol;\r\n+\r\n+    private ProxyFactory proxyFactory;\r\n+\r\n+    public void setProtocol(Protocol protocol) {\r\n+        this.protocol = protocol;\r\n+    }\r\n+\r\n+    public void setProxyFactory(ProxyFactory proxyFactory) {\r\n+        this.proxyFactory = proxyFactory;\r\n+    }\r\n+\r\n+    @Override\r\n+    protected Monitor createMonitor(URL url) {\r\n+        URLBuilder urlBuilder = URLBuilder.from(url);\r\n+        urlBuilder.setProtocol(url.getParameter(PROTOCOL_KEY, DUBBO_PROTOCOL));\r\n+        if (StringUtils.isEmpty(url.getPath())) {\r\n+            urlBuilder.setPath(MonitorService.class.getName());\r\n+        }\r\n+        String filter = url.getParameter(REFERENCE_FILTER_KEY);\r\n+        if (StringUtils.isEmpty(filter)) {\r\n+            filter = \"\";\r\n+        } else {\r\n+            filter = filter + \",\";\r\n+        }\r\n+        urlBuilder.addParameters(CHECK_KEY, String.valueOf(false),\r\n+                REFERENCE_FILTER_KEY, filter + \"-monitor\");\r\n+        Invoker<MonitorService> monitorInvoker = protocol.refer(MonitorService.class, urlBuilder.build());\r\n+        MonitorService monitorService = proxyFactory.getProxy(monitorInvoker);\r\n+        return new DubboMonitor(monitorInvoker, monitorService);\r\n+    }\r\n+\r\n+}\r\n"}, {"source1": "org/apache/dubbo/monitor/dubbo/MetricsFilter.java", "source2": "org/apache/dubbo/monitor/dubbo/MetricsFilter.java", "comments": ["Ordering differences only"], "unified_diff": "@@ -1,261 +1,261 @@\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.monitor.dubbo;\n-\n-import org.apache.dubbo.common.URL;\n-import org.apache.dubbo.common.extension.ExtensionLoader;\n-import org.apache.dubbo.common.logger.Logger;\n-import org.apache.dubbo.common.logger.LoggerFactory;\n-import org.apache.dubbo.common.store.DataStore;\n-import org.apache.dubbo.common.utils.NetUtils;\n-import org.apache.dubbo.monitor.MetricsService;\n-import org.apache.dubbo.rpc.AsyncRpcResult;\n-import org.apache.dubbo.rpc.Filter;\n-import org.apache.dubbo.rpc.Invocation;\n-import org.apache.dubbo.rpc.Invoker;\n-import org.apache.dubbo.rpc.Protocol;\n-import org.apache.dubbo.rpc.Result;\n-import org.apache.dubbo.rpc.RpcContext;\n-import org.apache.dubbo.rpc.RpcException;\n-import org.apache.dubbo.rpc.support.RpcUtils;\n-\n-import com.alibaba.fastjson.JSON;\n-import com.alibaba.metrics.FastCompass;\n-import com.alibaba.metrics.MetricLevel;\n-import com.alibaba.metrics.MetricManager;\n-import com.alibaba.metrics.MetricName;\n-import com.alibaba.metrics.MetricRegistry;\n-import com.alibaba.metrics.common.CollectLevel;\n-import com.alibaba.metrics.common.MetricObject;\n-import com.alibaba.metrics.common.MetricsCollector;\n-import com.alibaba.metrics.common.MetricsCollectorFactory;\n-\n-import java.util.ArrayList;\n-import java.util.Collections;\n-import java.util.HashMap;\n-import java.util.List;\n-import java.util.Map;\n-import java.util.SortedMap;\n-import java.util.concurrent.ExecutorService;\n-import java.util.concurrent.ThreadPoolExecutor;\n-import java.util.concurrent.TimeUnit;\n-import java.util.concurrent.atomic.AtomicBoolean;\n-\n-import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_PROTOCOL;\n-import static org.apache.dubbo.common.constants.CommonConstants.EXECUTOR_SERVICE_COMPONENT_KEY;\n-import static org.apache.dubbo.common.constants.CommonConstants.METRICS_PORT;\n-import static org.apache.dubbo.common.constants.CommonConstants.METRICS_PROTOCOL;\n-import static org.apache.dubbo.monitor.Constants.DUBBO_CONSUMER;\n-import static org.apache.dubbo.monitor.Constants.DUBBO_CONSUMER_METHOD;\n-import static org.apache.dubbo.monitor.Constants.DUBBO_GROUP;\n-import static org.apache.dubbo.monitor.Constants.DUBBO_PROVIDER;\n-import static org.apache.dubbo.monitor.Constants.DUBBO_PROVIDER_METHOD;\n-import static org.apache.dubbo.monitor.Constants.METHOD;\n-import static org.apache.dubbo.monitor.Constants.SERVICE;\n-\n-public class MetricsFilter implements Filter {\n-\n-    private static final Logger logger = LoggerFactory.getLogger(MetricsFilter.class);\n-    private static volatile AtomicBoolean exported = new AtomicBoolean(false);\n-    private Integer port;\n-    private String protocolName;\n-\n-    @Override\n-    public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {\n-        if (exported.compareAndSet(false, true)) {\n-            this.protocolName = invoker.getUrl().getParameter(METRICS_PROTOCOL) == null ?\n-                    DEFAULT_PROTOCOL : invoker.getUrl().getParameter(METRICS_PROTOCOL);\n-\n-            Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getExtension(protocolName);\n-\n-            this.port = invoker.getUrl().getParameter(METRICS_PORT) == null ?\n-                    protocol.getDefaultPort() : Integer.valueOf(invoker.getUrl().getParameter(METRICS_PORT));\n-\n-            Invoker<MetricsService> metricsInvoker = initMetricsInvoker();\n-\n-            try {\n-                protocol.export(metricsInvoker);\n-            } catch (RuntimeException e) {\n-                logger.error(\"Metrics Service need to be configured\" +\n-                        \" when multiple processes are running on a host\" + e.getMessage());\n-            }\n-        }\n-\n-        RpcContext context = RpcContext.getContext();\n-        boolean isProvider = context.isProviderSide();\n-        long start = System.currentTimeMillis();\n-        try {\n-            Result result = invoker.invoke(invocation); // proceed invocation chain\n-            long duration = System.currentTimeMillis() - start;\n-            reportMetrics(invoker, invocation, duration, \"success\", isProvider);\n-            return result;\n-        } catch (RpcException e) {\n-            long duration = System.currentTimeMillis() - start;\n-            String result = \"error\";\n-            if (e.isTimeout()) {\n-                result = \"timeoutError\";\n-            }\n-            if (e.isBiz()) {\n-                result = \"bisError\";\n-            }\n-            if (e.isNetwork()) {\n-                result = \"networkError\";\n-            }\n-            if (e.isSerialization()) {\n-                result = \"serializationError\";\n-            }\n-            reportMetrics(invoker, invocation, duration, result, isProvider);\n-            throw e;\n-        }\n-    }\n-\n-    private String buildMethodName(Invocation invocation) {\n-        String methodName = RpcUtils.getMethodName(invocation);\n-        StringBuilder method = new StringBuilder(methodName);\n-        Class<?>[] argTypes = RpcUtils.getParameterTypes(invocation);\n-\n-        method.append(\"(\");\n-\n-        for (int i = 0; i < argTypes.length; i++) {\n-            method.append((i == 0 ? \"\" : \", \") + argTypes[i].getSimpleName());\n-        }\n-        method.append(\")\");\n-        Class<?> returnType = RpcUtils.getReturnType(invocation);\n-        String typeName = null;\n-        if(returnType != null) {\n-            typeName = returnType.getTypeName();\n-            typeName = typeName.substring(typeName.lastIndexOf(\".\") + 1);\n-        }\n-\n-        return (typeName == null ? \"void\" : typeName) + \" \" + method;\n-    }\n-\n-    private void reportMetrics(Invoker<?> invoker, Invocation invocation, long duration, String result, boolean isProvider) {\n-        String serviceName = invoker.getInterface().getName();\n-        String methodName = buildMethodName(invocation);\n-        MetricName global;\n-        MetricName method;\n-        if (isProvider) {\n-            global = new MetricName(DUBBO_PROVIDER, MetricLevel.MAJOR);\n-            method = new MetricName(DUBBO_PROVIDER_METHOD, new HashMap<String, String>(4) {\n-                {\n-                    put(SERVICE, serviceName);\n-                    put(METHOD, methodName);\n-                }\n-            }, MetricLevel.NORMAL);\n-        } else {\n-            global = new MetricName(DUBBO_CONSUMER, MetricLevel.MAJOR);\n-            method = new MetricName(DUBBO_CONSUMER_METHOD, new HashMap<String, String>(4) {\n-                {\n-                    put(SERVICE, serviceName);\n-                    put(METHOD, methodName);\n-                }\n-            }, MetricLevel.NORMAL);\n-        }\n-        setCompassQuantity(DUBBO_GROUP, result, duration, global, method);\n-    }\n-\n-    private void setCompassQuantity(String groupName, String result, long duration, MetricName... metricNames) {\n-        for (MetricName metricName : metricNames) {\n-            FastCompass compass = MetricManager.getFastCompass(groupName, metricName);\n-            compass.record(duration, result);\n-        }\n-    }\n-\n-    private List<MetricObject> getThreadPoolMessage() {\n-        DataStore dataStore = ExtensionLoader.getExtensionLoader(DataStore.class).getDefaultExtension();\n-        Map<String, Object> executors = dataStore.get(EXECUTOR_SERVICE_COMPONENT_KEY);\n-\n-        List<MetricObject> threadPoolMtricList = new ArrayList<>();\n-        for (Map.Entry<String, Object> entry : executors.entrySet()) {\n-            String port = entry.getKey();\n-            ExecutorService executor = (ExecutorService) entry.getValue();\n-            if (executor instanceof ThreadPoolExecutor) {\n-                ThreadPoolExecutor tp = (ThreadPoolExecutor) executor;\n-\n-                threadPoolMtricList.add(value2MetricObject(\"threadPool.active\", tp.getActiveCount(), MetricLevel.MAJOR));\n-                threadPoolMtricList.add(value2MetricObject(\"threadPool.core\", tp.getCorePoolSize(), MetricLevel.MAJOR));\n-                threadPoolMtricList.add(value2MetricObject(\"threadPool.max\", tp.getMaximumPoolSize(), MetricLevel.MAJOR));\n-                threadPoolMtricList.add(value2MetricObject(\"threadPool.current\", tp.getPoolSize(), MetricLevel.MAJOR));\n-            }\n-        }\n-\n-        return threadPoolMtricList;\n-    }\n-\n-    private MetricObject value2MetricObject(String metric, Integer value, MetricLevel level) {\n-        if (metric == null || value == null || level == null) {\n-            return null;\n-        }\n-\n-        return new MetricObject\n-                .Builder(metric)\n-                .withValue(value)\n-                .withLevel(level)\n-                .build();\n-    }\n-\n-    private Invoker<MetricsService> initMetricsInvoker() {\n-        Invoker<MetricsService> metricsInvoker = new Invoker<MetricsService>() {\n-            @Override\n-            public Class<MetricsService> getInterface() {\n-                return MetricsService.class;\n-            }\n-\n-            @Override\n-            public Result invoke(Invocation invocation) throws RpcException {\n-                String group = invocation.getArguments()[0].toString();\n-                MetricRegistry registry = MetricManager.getIMetricManager().getMetricRegistryByGroup(group);\n-\n-                SortedMap<MetricName, FastCompass> fastCompasses = registry.getFastCompasses();\n-\n-                long timestamp = System.currentTimeMillis();\n-                double rateFactor = TimeUnit.SECONDS.toSeconds(1);\n-                double durationFactor = 1.0 / TimeUnit.MILLISECONDS.toNanos(1);\n-\n-\n-                MetricsCollector collector = MetricsCollectorFactory.createNew(\n-                        CollectLevel.NORMAL, Collections.EMPTY_MAP, rateFactor, durationFactor, null);\n-\n-                for (Map.Entry<MetricName, FastCompass> entry : fastCompasses.entrySet()) {\n-                    collector.collect(entry.getKey(), entry.getValue(), timestamp);\n-                }\n-\n-                List res = collector.build();\n-                res.addAll(getThreadPoolMessage());\n-                return AsyncRpcResult.newDefaultAsyncResult(JSON.toJSONString(res), invocation);\n-            }\n-\n-            @Override\n-            public URL getUrl() {\n-                return URL.valueOf(protocolName + \"://\" + NetUtils.getIpByConfig() + \":\" + port + \"/\" + MetricsService.class.getName());\n-            }\n-\n-            @Override\n-            public boolean isAvailable() {\n-                return false;\n-            }\n-\n-            @Override\n-            public void destroy() {\n-\n-            }\n-        };\n-\n-        return metricsInvoker;\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.monitor.dubbo;\r\n+\r\n+import org.apache.dubbo.common.URL;\r\n+import org.apache.dubbo.common.extension.ExtensionLoader;\r\n+import org.apache.dubbo.common.logger.Logger;\r\n+import org.apache.dubbo.common.logger.LoggerFactory;\r\n+import org.apache.dubbo.common.store.DataStore;\r\n+import org.apache.dubbo.common.utils.NetUtils;\r\n+import org.apache.dubbo.monitor.MetricsService;\r\n+import org.apache.dubbo.rpc.AsyncRpcResult;\r\n+import org.apache.dubbo.rpc.Filter;\r\n+import org.apache.dubbo.rpc.Invocation;\r\n+import org.apache.dubbo.rpc.Invoker;\r\n+import org.apache.dubbo.rpc.Protocol;\r\n+import org.apache.dubbo.rpc.Result;\r\n+import org.apache.dubbo.rpc.RpcContext;\r\n+import org.apache.dubbo.rpc.RpcException;\r\n+import org.apache.dubbo.rpc.support.RpcUtils;\r\n+\r\n+import com.alibaba.fastjson.JSON;\r\n+import com.alibaba.metrics.FastCompass;\r\n+import com.alibaba.metrics.MetricLevel;\r\n+import com.alibaba.metrics.MetricManager;\r\n+import com.alibaba.metrics.MetricName;\r\n+import com.alibaba.metrics.MetricRegistry;\r\n+import com.alibaba.metrics.common.CollectLevel;\r\n+import com.alibaba.metrics.common.MetricObject;\r\n+import com.alibaba.metrics.common.MetricsCollector;\r\n+import com.alibaba.metrics.common.MetricsCollectorFactory;\r\n+\r\n+import java.util.ArrayList;\r\n+import java.util.Collections;\r\n+import java.util.HashMap;\r\n+import java.util.List;\r\n+import java.util.Map;\r\n+import java.util.SortedMap;\r\n+import java.util.concurrent.ExecutorService;\r\n+import java.util.concurrent.ThreadPoolExecutor;\r\n+import java.util.concurrent.TimeUnit;\r\n+import java.util.concurrent.atomic.AtomicBoolean;\r\n+\r\n+import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_PROTOCOL;\r\n+import static org.apache.dubbo.common.constants.CommonConstants.EXECUTOR_SERVICE_COMPONENT_KEY;\r\n+import static org.apache.dubbo.common.constants.CommonConstants.METRICS_PORT;\r\n+import static org.apache.dubbo.common.constants.CommonConstants.METRICS_PROTOCOL;\r\n+import static org.apache.dubbo.monitor.Constants.DUBBO_CONSUMER;\r\n+import static org.apache.dubbo.monitor.Constants.DUBBO_CONSUMER_METHOD;\r\n+import static org.apache.dubbo.monitor.Constants.DUBBO_GROUP;\r\n+import static org.apache.dubbo.monitor.Constants.DUBBO_PROVIDER;\r\n+import static org.apache.dubbo.monitor.Constants.DUBBO_PROVIDER_METHOD;\r\n+import static org.apache.dubbo.monitor.Constants.METHOD;\r\n+import static org.apache.dubbo.monitor.Constants.SERVICE;\r\n+\r\n+public class MetricsFilter implements Filter {\r\n+\r\n+    private static final Logger logger = LoggerFactory.getLogger(MetricsFilter.class);\r\n+    private static volatile AtomicBoolean exported = new AtomicBoolean(false);\r\n+    private Integer port;\r\n+    private String protocolName;\r\n+\r\n+    @Override\r\n+    public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {\r\n+        if (exported.compareAndSet(false, true)) {\r\n+            this.protocolName = invoker.getUrl().getParameter(METRICS_PROTOCOL) == null ?\r\n+                    DEFAULT_PROTOCOL : invoker.getUrl().getParameter(METRICS_PROTOCOL);\r\n+\r\n+            Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getExtension(protocolName);\r\n+\r\n+            this.port = invoker.getUrl().getParameter(METRICS_PORT) == null ?\r\n+                    protocol.getDefaultPort() : Integer.valueOf(invoker.getUrl().getParameter(METRICS_PORT));\r\n+\r\n+            Invoker<MetricsService> metricsInvoker = initMetricsInvoker();\r\n+\r\n+            try {\r\n+                protocol.export(metricsInvoker);\r\n+            } catch (RuntimeException e) {\r\n+                logger.error(\"Metrics Service need to be configured\" +\r\n+                        \" when multiple processes are running on a host\" + e.getMessage());\r\n+            }\r\n+        }\r\n+\r\n+        RpcContext context = RpcContext.getContext();\r\n+        boolean isProvider = context.isProviderSide();\r\n+        long start = System.currentTimeMillis();\r\n+        try {\r\n+            Result result = invoker.invoke(invocation); // proceed invocation chain\r\n+            long duration = System.currentTimeMillis() - start;\r\n+            reportMetrics(invoker, invocation, duration, \"success\", isProvider);\r\n+            return result;\r\n+        } catch (RpcException e) {\r\n+            long duration = System.currentTimeMillis() - start;\r\n+            String result = \"error\";\r\n+            if (e.isTimeout()) {\r\n+                result = \"timeoutError\";\r\n+            }\r\n+            if (e.isBiz()) {\r\n+                result = \"bisError\";\r\n+            }\r\n+            if (e.isNetwork()) {\r\n+                result = \"networkError\";\r\n+            }\r\n+            if (e.isSerialization()) {\r\n+                result = \"serializationError\";\r\n+            }\r\n+            reportMetrics(invoker, invocation, duration, result, isProvider);\r\n+            throw e;\r\n+        }\r\n+    }\r\n+\r\n+    private String buildMethodName(Invocation invocation) {\r\n+        String methodName = RpcUtils.getMethodName(invocation);\r\n+        StringBuilder method = new StringBuilder(methodName);\r\n+        Class<?>[] argTypes = RpcUtils.getParameterTypes(invocation);\r\n+\r\n+        method.append(\"(\");\r\n+\r\n+        for (int i = 0; i < argTypes.length; i++) {\r\n+            method.append((i == 0 ? \"\" : \", \") + argTypes[i].getSimpleName());\r\n+        }\r\n+        method.append(\")\");\r\n+        Class<?> returnType = RpcUtils.getReturnType(invocation);\r\n+        String typeName = null;\r\n+        if(returnType != null) {\r\n+            typeName = returnType.getTypeName();\r\n+            typeName = typeName.substring(typeName.lastIndexOf(\".\") + 1);\r\n+        }\r\n+\r\n+        return (typeName == null ? \"void\" : typeName) + \" \" + method;\r\n+    }\r\n+\r\n+    private void reportMetrics(Invoker<?> invoker, Invocation invocation, long duration, String result, boolean isProvider) {\r\n+        String serviceName = invoker.getInterface().getName();\r\n+        String methodName = buildMethodName(invocation);\r\n+        MetricName global;\r\n+        MetricName method;\r\n+        if (isProvider) {\r\n+            global = new MetricName(DUBBO_PROVIDER, MetricLevel.MAJOR);\r\n+            method = new MetricName(DUBBO_PROVIDER_METHOD, new HashMap<String, String>(4) {\r\n+                {\r\n+                    put(SERVICE, serviceName);\r\n+                    put(METHOD, methodName);\r\n+                }\r\n+            }, MetricLevel.NORMAL);\r\n+        } else {\r\n+            global = new MetricName(DUBBO_CONSUMER, MetricLevel.MAJOR);\r\n+            method = new MetricName(DUBBO_CONSUMER_METHOD, new HashMap<String, String>(4) {\r\n+                {\r\n+                    put(SERVICE, serviceName);\r\n+                    put(METHOD, methodName);\r\n+                }\r\n+            }, MetricLevel.NORMAL);\r\n+        }\r\n+        setCompassQuantity(DUBBO_GROUP, result, duration, global, method);\r\n+    }\r\n+\r\n+    private void setCompassQuantity(String groupName, String result, long duration, MetricName... metricNames) {\r\n+        for (MetricName metricName : metricNames) {\r\n+            FastCompass compass = MetricManager.getFastCompass(groupName, metricName);\r\n+            compass.record(duration, result);\r\n+        }\r\n+    }\r\n+\r\n+    private List<MetricObject> getThreadPoolMessage() {\r\n+        DataStore dataStore = ExtensionLoader.getExtensionLoader(DataStore.class).getDefaultExtension();\r\n+        Map<String, Object> executors = dataStore.get(EXECUTOR_SERVICE_COMPONENT_KEY);\r\n+\r\n+        List<MetricObject> threadPoolMtricList = new ArrayList<>();\r\n+        for (Map.Entry<String, Object> entry : executors.entrySet()) {\r\n+            String port = entry.getKey();\r\n+            ExecutorService executor = (ExecutorService) entry.getValue();\r\n+            if (executor instanceof ThreadPoolExecutor) {\r\n+                ThreadPoolExecutor tp = (ThreadPoolExecutor) executor;\r\n+\r\n+                threadPoolMtricList.add(value2MetricObject(\"threadPool.active\", tp.getActiveCount(), MetricLevel.MAJOR));\r\n+                threadPoolMtricList.add(value2MetricObject(\"threadPool.core\", tp.getCorePoolSize(), MetricLevel.MAJOR));\r\n+                threadPoolMtricList.add(value2MetricObject(\"threadPool.max\", tp.getMaximumPoolSize(), MetricLevel.MAJOR));\r\n+                threadPoolMtricList.add(value2MetricObject(\"threadPool.current\", tp.getPoolSize(), MetricLevel.MAJOR));\r\n+            }\r\n+        }\r\n+\r\n+        return threadPoolMtricList;\r\n+    }\r\n+\r\n+    private MetricObject value2MetricObject(String metric, Integer value, MetricLevel level) {\r\n+        if (metric == null || value == null || level == null) {\r\n+            return null;\r\n+        }\r\n+\r\n+        return new MetricObject\r\n+                .Builder(metric)\r\n+                .withValue(value)\r\n+                .withLevel(level)\r\n+                .build();\r\n+    }\r\n+\r\n+    private Invoker<MetricsService> initMetricsInvoker() {\r\n+        Invoker<MetricsService> metricsInvoker = new Invoker<MetricsService>() {\r\n+            @Override\r\n+            public Class<MetricsService> getInterface() {\r\n+                return MetricsService.class;\r\n+            }\r\n+\r\n+            @Override\r\n+            public Result invoke(Invocation invocation) throws RpcException {\r\n+                String group = invocation.getArguments()[0].toString();\r\n+                MetricRegistry registry = MetricManager.getIMetricManager().getMetricRegistryByGroup(group);\r\n+\r\n+                SortedMap<MetricName, FastCompass> fastCompasses = registry.getFastCompasses();\r\n+\r\n+                long timestamp = System.currentTimeMillis();\r\n+                double rateFactor = TimeUnit.SECONDS.toSeconds(1);\r\n+                double durationFactor = 1.0 / TimeUnit.MILLISECONDS.toNanos(1);\r\n+\r\n+\r\n+                MetricsCollector collector = MetricsCollectorFactory.createNew(\r\n+                        CollectLevel.NORMAL, Collections.EMPTY_MAP, rateFactor, durationFactor, null);\r\n+\r\n+                for (Map.Entry<MetricName, FastCompass> entry : fastCompasses.entrySet()) {\r\n+                    collector.collect(entry.getKey(), entry.getValue(), timestamp);\r\n+                }\r\n+\r\n+                List res = collector.build();\r\n+                res.addAll(getThreadPoolMessage());\r\n+                return AsyncRpcResult.newDefaultAsyncResult(JSON.toJSONString(res), invocation);\r\n+            }\r\n+\r\n+            @Override\r\n+            public URL getUrl() {\r\n+                return URL.valueOf(protocolName + \"://\" + NetUtils.getIpByConfig() + \":\" + port + \"/\" + MetricsService.class.getName());\r\n+            }\r\n+\r\n+            @Override\r\n+            public boolean isAvailable() {\r\n+                return false;\r\n+            }\r\n+\r\n+            @Override\r\n+            public void destroy() {\r\n+\r\n+            }\r\n+        };\r\n+\r\n+        return metricsInvoker;\r\n+    }\r\n+}\r\n"}, {"source1": "META-INF/dubbo/internal/org.apache.dubbo.rpc.Filter", "source2": "META-INF/dubbo/internal/org.apache.dubbo.rpc.Filter", "comments": ["Ordering differences only"], "unified_diff": "@@ -1 +1 @@\n-metrics=org.apache.dubbo.monitor.dubbo.MetricsFilter\n+metrics=org.apache.dubbo.monitor.dubbo.MetricsFilter\r\n"}, {"source1": "META-INF/maven/org.apache.dubbo/dubbo-monitor-default/pom.xml", "source2": "META-INF/maven/org.apache.dubbo/dubbo-monitor-default/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,199 +1,194 @@\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 6f6e 6974 6f72 3c2f 6172 7469  bo-monitor</arti\n-000004a0: 6661 6374 4964 3e0d 0a20 2020 203c 7665  factId>..    <ve\n-000004b0: 7273 696f 6e3e 322e 372e 3130 3c2f 7665  rsion>2.7.10</ve\n-000004c0: 7273 696f 6e3e 0d0a 2020 3c2f 7061 7265  rsion>..  </pare\n-000004d0: 6e74 3e0d 0a20 203c 6772 6f75 7049 643e  nt>..  <groupId>\n-000004e0: 6f72 672e 6170 6163 6865 2e64 7562 626f  org.apache.dubbo\n-000004f0: 3c2f 6772 6f75 7049 643e 0d0a 2020 3c61  </groupId>..  <a\n-00000500: 7274 6966 6163 7449 643e 6475 6262 6f2d  rtifactId>dubbo-\n-00000510: 6d6f 6e69 746f 722d 6465 6661 756c 743c  monitor-default<\n-00000520: 2f61 7274 6966 6163 7449 643e 0d0a 2020  /artifactId>..  \n-00000530: 3c76 6572 7369 6f6e 3e32 2e37 2e31 303c  <version>2.7.10<\n-00000540: 2f76 6572 7369 6f6e 3e0d 0a20 203c 6e61  /version>..  <na\n-00000550: 6d65 3e24 7b70 726f 6a65 6374 2e61 7274  me>${project.art\n-00000560: 6966 6163 7449 647d 3c2f 6e61 6d65 3e0d  ifactId}</name>.\n-00000570: 0a20 203c 6465 7363 7269 7074 696f 6e3e  .  <description>\n-00000580: 5468 6520 6465 6661 756c 7420 6d6f 6e69  The default moni\n-00000590: 746f 7220 6d6f 6475 6c65 206f 6620 6475  tor module of du\n-000005a0: 6262 6f20 7072 6f6a 6563 743c 2f64 6573  bbo project</des\n-000005b0: 6372 6970 7469 6f6e 3e0d 0a20 203c 6c69  cription>..  <li\n-000005c0: 6365 6e73 6573 3e0d 0a20 2020 203c 6c69  censes>..    <li\n-000005d0: 6365 6e73 653e 0d0a 2020 2020 2020 3c6e  cense>..      <n\n-000005e0: 616d 653e 4170 6163 6865 204c 6963 656e  ame>Apache Licen\n-000005f0: 7365 2c20 5665 7273 696f 6e20 322e 303c  se, Version 2.0<\n-00000600: 2f6e 616d 653e 0d0a 2020 2020 2020 3c75  /name>..      <u\n-00000610: 726c 3e68 7474 703a 2f2f 7777 772e 6170  rl>http://www.ap\n-00000620: 6163 6865 2e6f 7267 2f6c 6963 656e 7365  ache.org/license\n-00000630: 732f 4c49 4345 4e53 452d 322e 303c 2f75  s/LICENSE-2.0</u\n-00000640: 726c 3e0d 0a20 2020 2020 203c 6469 7374  rl>..      <dist\n-00000650: 7269 6275 7469 6f6e 3e72 6570 6f3c 2f64  ribution>repo</d\n-00000660: 6973 7472 6962 7574 696f 6e3e 0d0a 2020  istribution>..  \n-00000670: 2020 3c2f 6c69 6365 6e73 653e 0d0a 2020    </license>..  \n-00000680: 3c2f 6c69 6365 6e73 6573 3e0d 0a20 203c  </licenses>..  <\n-00000690: 7072 6f70 6572 7469 6573 3e0d 0a20 2020  properties>..   \n-000006a0: 203c 736b 6970 5f6d 6176 656e 5f64 6570   <skip_maven_dep\n-000006b0: 6c6f 793e 6661 6c73 653c 2f73 6b69 705f  loy>false</skip_\n-000006c0: 6d61 7665 6e5f 6465 706c 6f79 3e0d 0a20  maven_deploy>.. \n-000006d0: 203c 2f70 726f 7065 7274 6965 733e 0d0a   </properties>..\n-000006e0: 2020 3c64 6570 656e 6465 6e63 6965 733e    <dependencies>\n-000006f0: 0d0a 2020 2020 3c64 6570 656e 6465 6e63  ..    <dependenc\n-00000700: 793e 0d0a 2020 2020 2020 3c67 726f 7570  y>..      <group\n-00000710: 4964 3e6f 7267 2e61 7061 6368 652e 6475  Id>org.apache.du\n-00000720: 6262 6f3c 2f67 726f 7570 4964 3e0d 0a20  bbo</groupId>.. \n-00000730: 2020 2020 203c 6172 7469 6661 6374 4964       <artifactId\n-00000740: 3e64 7562 626f 2d6d 6f6e 6974 6f72 2d61  >dubbo-monitor-a\n-00000750: 7069 3c2f 6172 7469 6661 6374 4964 3e0d  pi</artifactId>.\n-00000760: 0a20 2020 2020 203c 7665 7273 696f 6e3e  .      <version>\n-00000770: 247b 7072 6f6a 6563 742e 7061 7265 6e74  ${project.parent\n-00000780: 2e76 6572 7369 6f6e 7d3c 2f76 6572 7369  .version}</versi\n-00000790: 6f6e 3e0d 0a20 2020 203c 2f64 6570 656e  on>..    </depen\n-000007a0: 6465 6e63 793e 0d0a 2020 2020 3c64 6570  dency>..    <dep\n-000007b0: 656e 6465 6e63 793e 0d0a 2020 2020 2020  endency>..      \n-000007c0: 3c67 726f 7570 4964 3e63 6f6d 2e61 6c69  <groupId>com.ali\n-000007d0: 6261 6261 2e6d 6964 646c 6577 6172 653c  baba.middleware<\n-000007e0: 2f67 726f 7570 4964 3e0d 0a20 2020 2020  /groupId>..     \n-000007f0: 203c 6172 7469 6661 6374 4964 3e6d 6574   <artifactId>met\n-00000800: 7269 6373 2d63 6f72 652d 6170 693c 2f61  rics-core-api</a\n-00000810: 7274 6966 6163 7449 643e 0d0a 2020 2020  rtifactId>..    \n-00000820: 3c2f 6465 7065 6e64 656e 6379 3e0d 0a20  </dependency>.. \n-00000830: 2020 203c 6465 7065 6e64 656e 6379 3e0d     <dependency>.\n-00000840: 0a20 2020 2020 203c 6772 6f75 7049 643e  .      <groupId>\n-00000850: 636f 6d2e 616c 6962 6162 612e 6d69 6464  com.alibaba.midd\n-00000860: 6c65 7761 7265 3c2f 6772 6f75 7049 643e  leware</groupId>\n-00000870: 0d0a 2020 2020 2020 3c61 7274 6966 6163  ..      <artifac\n-00000880: 7449 643e 6d65 7472 6963 732d 636f 7265  tId>metrics-core\n-00000890: 2d69 6d70 6c3c 2f61 7274 6966 6163 7449  -impl</artifactI\n-000008a0: 643e 0d0a 2020 2020 3c2f 6465 7065 6e64  d>..    </depend\n-000008b0: 656e 6379 3e0d 0a20 2020 203c 6465 7065  ency>..    <depe\n-000008c0: 6e64 656e 6379 3e0d 0a20 2020 2020 203c  ndency>..      <\n-000008d0: 6772 6f75 7049 643e 636f 6d2e 616c 6962  groupId>com.alib\n-000008e0: 6162 612e 6d69 6464 6c65 7761 7265 3c2f  aba.middleware</\n-000008f0: 6772 6f75 7049 643e 0d0a 2020 2020 2020  groupId>..      \n-00000900: 3c61 7274 6966 6163 7449 643e 6d65 7472  <artifactId>metr\n-00000910: 6963 732d 636f 6d6d 6f6e 3c2f 6172 7469  ics-common</arti\n-00000920: 6661 6374 4964 3e0d 0a20 2020 203c 2f64  factId>..    </d\n-00000930: 6570 656e 6465 6e63 793e 0d0a 2020 2020  ependency>..    \n-00000940: 3c64 6570 656e 6465 6e63 793e 0d0a 2020  <dependency>..  \n-00000950: 2020 2020 3c67 726f 7570 4964 3e6f 7267      <groupId>org\n-00000960: 2e61 7061 6368 652e 6475 6262 6f3c 2f67  .apache.dubbo</g\n-00000970: 726f 7570 4964 3e0d 0a20 2020 2020 203c  roupId>..      <\n-00000980: 6172 7469 6661 6374 4964 3e64 7562 626f  artifactId>dubbo\n-00000990: 2d72 7063 2d64 7562 626f 3c2f 6172 7469  -rpc-dubbo</arti\n-000009a0: 6661 6374 4964 3e0d 0a20 2020 2020 203c  factId>..      <\n-000009b0: 7665 7273 696f 6e3e 247b 7072 6f6a 6563  version>${projec\n-000009c0: 742e 7061 7265 6e74 2e76 6572 7369 6f6e  t.parent.version\n-000009d0: 7d3c 2f76 6572 7369 6f6e 3e0d 0a20 2020  }</version>..   \n-000009e0: 2020 203c 7363 6f70 653e 7465 7374 3c2f     <scope>test</\n-000009f0: 7363 6f70 653e 0d0a 2020 2020 3c2f 6465  scope>..    </de\n-00000a00: 7065 6e64 656e 6379 3e0d 0a20 2020 203c  pendency>..    <\n-00000a10: 6465 7065 6e64 656e 6379 3e0d 0a20 2020  dependency>..   \n-00000a20: 2020 203c 6772 6f75 7049 643e 6f72 672e     <groupId>org.\n-00000a30: 6170 6163 6865 2e64 7562 626f 3c2f 6772  apache.dubbo</gr\n-00000a40: 6f75 7049 643e 0d0a 2020 2020 2020 3c61  oupId>..      <a\n-00000a50: 7274 6966 6163 7449 643e 6475 6262 6f2d  rtifactId>dubbo-\n-00000a60: 7265 6d6f 7469 6e67 2d6e 6574 7479 343c  remoting-netty4<\n-00000a70: 2f61 7274 6966 6163 7449 643e 0d0a 2020  /artifactId>..  \n-00000a80: 2020 2020 3c76 6572 7369 6f6e 3e24 7b70      <version>${p\n-00000a90: 726f 6a65 6374 2e70 6172 656e 742e 7665  roject.parent.ve\n-00000aa0: 7273 696f 6e7d 3c2f 7665 7273 696f 6e3e  rsion}</version>\n-00000ab0: 0d0a 2020 2020 2020 3c73 636f 7065 3e74  ..      <scope>t\n-00000ac0: 6573 743c 2f73 636f 7065 3e0d 0a20 2020  est</scope>..   \n-00000ad0: 203c 2f64 6570 656e 6465 6e63 793e 0d0a   </dependency>..\n-00000ae0: 2020 2020 3c64 6570 656e 6465 6e63 793e      <dependency>\n-00000af0: 0d0a 2020 2020 2020 3c67 726f 7570 4964  ..      <groupId\n-00000b00: 3e6f 7267 2e61 7061 6368 652e 6475 6262  >org.apache.dubb\n-00000b10: 6f3c 2f67 726f 7570 4964 3e0d 0a20 2020  o</groupId>..   \n-00000b20: 2020 203c 6172 7469 6661 6374 4964 3e64     <artifactId>d\n-00000b30: 7562 626f 2d73 6572 6961 6c69 7a61 7469  ubbo-serializati\n-00000b40: 6f6e 2d68 6573 7369 616e 323c 2f61 7274  on-hessian2</art\n-00000b50: 6966 6163 7449 643e 0d0a 2020 2020 2020  ifactId>..      \n-00000b60: 3c76 6572 7369 6f6e 3e24 7b70 726f 6a65  <version>${proje\n-00000b70: 6374 2e70 6172 656e 742e 7665 7273 696f  ct.parent.versio\n-00000b80: 6e7d 3c2f 7665 7273 696f 6e3e 0d0a 2020  n}</version>..  \n-00000b90: 2020 2020 3c73 636f 7065 3e74 6573 743c      <scope>test<\n-00000ba0: 2f73 636f 7065 3e0d 0a20 2020 203c 2f64  /scope>..    </d\n-00000bb0: 6570 656e 6465 6e63 793e 0d0a 2020 2020  ependency>..    \n-00000bc0: 3c64 6570 656e 6465 6e63 793e 0d0a 2020  <dependency>..  \n-00000bd0: 2020 2020 3c67 726f 7570 4964 3e63 6f6d      <groupId>com\n-00000be0: 2e67 6f6f 676c 652e 636f 6465 2e67 736f  .google.code.gso\n-00000bf0: 6e3c 2f67 726f 7570 4964 3e0d 0a20 2020  n</groupId>..   \n-00000c00: 2020 203c 6172 7469 6661 6374 4964 3e67     <artifactId>g\n-00000c10: 736f 6e3c 2f61 7274 6966 6163 7449 643e  son</artifactId>\n-00000c20: 0d0a 2020 2020 2020 3c73 636f 7065 3e74  ..      <scope>t\n-00000c30: 6573 743c 2f73 636f 7065 3e0d 0a20 2020  est</scope>..   \n-00000c40: 203c 2f64 6570 656e 6465 6e63 793e 0d0a   </dependency>..\n-00000c50: 2020 3c2f 6465 7065 6e64 656e 6369 6573    </dependencies\n-00000c60: 3e0d 0a3c 2f70 726f 6a65 6374 3e0d 0a    >..</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 6f6e  factId>dubbo-mon\n+00000480: 6974 6f72 3c2f 6172 7469 6661 6374 4964  itor</artifactId\n+00000490: 3e0a 2020 2020 3c76 6572 7369 6f6e 3e32  >.    <version>2\n+000004a0: 2e37 2e31 303c 2f76 6572 7369 6f6e 3e0a  .7.10</version>.\n+000004b0: 2020 3c2f 7061 7265 6e74 3e0a 2020 3c67    </parent>.  <g\n+000004c0: 726f 7570 4964 3e6f 7267 2e61 7061 6368  roupId>org.apach\n+000004d0: 652e 6475 6262 6f3c 2f67 726f 7570 4964  e.dubbo</groupId\n+000004e0: 3e0a 2020 3c61 7274 6966 6163 7449 643e  >.  <artifactId>\n+000004f0: 6475 6262 6f2d 6d6f 6e69 746f 722d 6465  dubbo-monitor-de\n+00000500: 6661 756c 743c 2f61 7274 6966 6163 7449  fault</artifactI\n+00000510: 643e 0a20 203c 7665 7273 696f 6e3e 322e  d>.  <version>2.\n+00000520: 372e 3130 3c2f 7665 7273 696f 6e3e 0a20  7.10</version>. \n+00000530: 203c 6e61 6d65 3e24 7b70 726f 6a65 6374   <name>${project\n+00000540: 2e61 7274 6966 6163 7449 647d 3c2f 6e61  .artifactId}</na\n+00000550: 6d65 3e0a 2020 3c64 6573 6372 6970 7469  me>.  <descripti\n+00000560: 6f6e 3e54 6865 2064 6566 6175 6c74 206d  on>The default m\n+00000570: 6f6e 6974 6f72 206d 6f64 756c 6520 6f66  onitor module of\n+00000580: 2064 7562 626f 2070 726f 6a65 6374 3c2f   dubbo project</\n+00000590: 6465 7363 7269 7074 696f 6e3e 0a20 203c  description>.  <\n+000005a0: 6c69 6365 6e73 6573 3e0a 2020 2020 3c6c  licenses>.    <l\n+000005b0: 6963 656e 7365 3e0a 2020 2020 2020 3c6e  icense>.      <n\n+000005c0: 616d 653e 4170 6163 6865 204c 6963 656e  ame>Apache Licen\n+000005d0: 7365 2c20 5665 7273 696f 6e20 322e 303c  se, Version 2.0<\n+000005e0: 2f6e 616d 653e 0a20 2020 2020 203c 7572  /name>.      <ur\n+000005f0: 6c3e 6874 7470 3a2f 2f77 7777 2e61 7061  l>http://www.apa\n+00000600: 6368 652e 6f72 672f 6c69 6365 6e73 6573  che.org/licenses\n+00000610: 2f4c 4943 454e 5345 2d32 2e30 3c2f 7572  /LICENSE-2.0</ur\n+00000620: 6c3e 0a20 2020 2020 203c 6469 7374 7269  l>.      <distri\n+00000630: 6275 7469 6f6e 3e72 6570 6f3c 2f64 6973  bution>repo</dis\n+00000640: 7472 6962 7574 696f 6e3e 0a20 2020 203c  tribution>.    <\n+00000650: 2f6c 6963 656e 7365 3e0a 2020 3c2f 6c69  /license>.  </li\n+00000660: 6365 6e73 6573 3e0a 2020 3c70 726f 7065  censes>.  <prope\n+00000670: 7274 6965 733e 0a20 2020 203c 736b 6970  rties>.    <skip\n+00000680: 5f6d 6176 656e 5f64 6570 6c6f 793e 6661  _maven_deploy>fa\n+00000690: 6c73 653c 2f73 6b69 705f 6d61 7665 6e5f  lse</skip_maven_\n+000006a0: 6465 706c 6f79 3e0a 2020 3c2f 7072 6f70  deploy>.  </prop\n+000006b0: 6572 7469 6573 3e0a 2020 3c64 6570 656e  erties>.  <depen\n+000006c0: 6465 6e63 6965 733e 0a20 2020 203c 6465  dencies>.    <de\n+000006d0: 7065 6e64 656e 6379 3e0a 2020 2020 2020  pendency>.      \n+000006e0: 3c67 726f 7570 4964 3e6f 7267 2e61 7061  <groupId>org.apa\n+000006f0: 6368 652e 6475 6262 6f3c 2f67 726f 7570  che.dubbo</group\n+00000700: 4964 3e0a 2020 2020 2020 3c61 7274 6966  Id>.      <artif\n+00000710: 6163 7449 643e 6475 6262 6f2d 6d6f 6e69  actId>dubbo-moni\n+00000720: 746f 722d 6170 693c 2f61 7274 6966 6163  tor-api</artifac\n+00000730: 7449 643e 0a20 2020 2020 203c 7665 7273  tId>.      <vers\n+00000740: 696f 6e3e 247b 7072 6f6a 6563 742e 7061  ion>${project.pa\n+00000750: 7265 6e74 2e76 6572 7369 6f6e 7d3c 2f76  rent.version}</v\n+00000760: 6572 7369 6f6e 3e0a 2020 2020 3c2f 6465  ersion>.    </de\n+00000770: 7065 6e64 656e 6379 3e0a 2020 2020 3c64  pendency>.    <d\n+00000780: 6570 656e 6465 6e63 793e 0a20 2020 2020  ependency>.     \n+00000790: 203c 6772 6f75 7049 643e 636f 6d2e 616c   <groupId>com.al\n+000007a0: 6962 6162 612e 6d69 6464 6c65 7761 7265  ibaba.middleware\n+000007b0: 3c2f 6772 6f75 7049 643e 0a20 2020 2020  </groupId>.     \n+000007c0: 203c 6172 7469 6661 6374 4964 3e6d 6574   <artifactId>met\n+000007d0: 7269 6373 2d63 6f72 652d 6170 693c 2f61  rics-core-api</a\n+000007e0: 7274 6966 6163 7449 643e 0a20 2020 203c  rtifactId>.    <\n+000007f0: 2f64 6570 656e 6465 6e63 793e 0a20 2020  /dependency>.   \n+00000800: 203c 6465 7065 6e64 656e 6379 3e0a 2020   <dependency>.  \n+00000810: 2020 2020 3c67 726f 7570 4964 3e63 6f6d      <groupId>com\n+00000820: 2e61 6c69 6261 6261 2e6d 6964 646c 6577  .alibaba.middlew\n+00000830: 6172 653c 2f67 726f 7570 4964 3e0a 2020  are</groupId>.  \n+00000840: 2020 2020 3c61 7274 6966 6163 7449 643e      <artifactId>\n+00000850: 6d65 7472 6963 732d 636f 7265 2d69 6d70  metrics-core-imp\n+00000860: 6c3c 2f61 7274 6966 6163 7449 643e 0a20  l</artifactId>. \n+00000870: 2020 203c 2f64 6570 656e 6465 6e63 793e     </dependency>\n+00000880: 0a20 2020 203c 6465 7065 6e64 656e 6379  .    <dependency\n+00000890: 3e0a 2020 2020 2020 3c67 726f 7570 4964  >.      <groupId\n+000008a0: 3e63 6f6d 2e61 6c69 6261 6261 2e6d 6964  >com.alibaba.mid\n+000008b0: 646c 6577 6172 653c 2f67 726f 7570 4964  dleware</groupId\n+000008c0: 3e0a 2020 2020 2020 3c61 7274 6966 6163  >.      <artifac\n+000008d0: 7449 643e 6d65 7472 6963 732d 636f 6d6d  tId>metrics-comm\n+000008e0: 6f6e 3c2f 6172 7469 6661 6374 4964 3e0a  on</artifactId>.\n+000008f0: 2020 2020 3c2f 6465 7065 6e64 656e 6379      </dependency\n+00000900: 3e0a 2020 2020 3c64 6570 656e 6465 6e63  >.    <dependenc\n+00000910: 793e 0a20 2020 2020 203c 6772 6f75 7049  y>.      <groupI\n+00000920: 643e 6f72 672e 6170 6163 6865 2e64 7562  d>org.apache.dub\n+00000930: 626f 3c2f 6772 6f75 7049 643e 0a20 2020  bo</groupId>.   \n+00000940: 2020 203c 6172 7469 6661 6374 4964 3e64     <artifactId>d\n+00000950: 7562 626f 2d72 7063 2d64 7562 626f 3c2f  ubbo-rpc-dubbo</\n+00000960: 6172 7469 6661 6374 4964 3e0a 2020 2020  artifactId>.    \n+00000970: 2020 3c76 6572 7369 6f6e 3e24 7b70 726f    <version>${pro\n+00000980: 6a65 6374 2e70 6172 656e 742e 7665 7273  ject.parent.vers\n+00000990: 696f 6e7d 3c2f 7665 7273 696f 6e3e 0a20  ion}</version>. \n+000009a0: 2020 2020 203c 7363 6f70 653e 7465 7374       <scope>test\n+000009b0: 3c2f 7363 6f70 653e 0a20 2020 203c 2f64  </scope>.    </d\n+000009c0: 6570 656e 6465 6e63 793e 0a20 2020 203c  ependency>.    <\n+000009d0: 6465 7065 6e64 656e 6379 3e0a 2020 2020  dependency>.    \n+000009e0: 2020 3c67 726f 7570 4964 3e6f 7267 2e61    <groupId>org.a\n+000009f0: 7061 6368 652e 6475 6262 6f3c 2f67 726f  pache.dubbo</gro\n+00000a00: 7570 4964 3e0a 2020 2020 2020 3c61 7274  upId>.      <art\n+00000a10: 6966 6163 7449 643e 6475 6262 6f2d 7265  ifactId>dubbo-re\n+00000a20: 6d6f 7469 6e67 2d6e 6574 7479 343c 2f61  moting-netty4</a\n+00000a30: 7274 6966 6163 7449 643e 0a20 2020 2020  rtifactId>.     \n+00000a40: 203c 7665 7273 696f 6e3e 247b 7072 6f6a   <version>${proj\n+00000a50: 6563 742e 7061 7265 6e74 2e76 6572 7369  ect.parent.versi\n+00000a60: 6f6e 7d3c 2f76 6572 7369 6f6e 3e0a 2020  on}</version>.  \n+00000a70: 2020 2020 3c73 636f 7065 3e74 6573 743c      <scope>test<\n+00000a80: 2f73 636f 7065 3e0a 2020 2020 3c2f 6465  /scope>.    </de\n+00000a90: 7065 6e64 656e 6379 3e0a 2020 2020 3c64  pendency>.    <d\n+00000aa0: 6570 656e 6465 6e63 793e 0a20 2020 2020  ependency>.     \n+00000ab0: 203c 6772 6f75 7049 643e 6f72 672e 6170   <groupId>org.ap\n+00000ac0: 6163 6865 2e64 7562 626f 3c2f 6772 6f75  ache.dubbo</grou\n+00000ad0: 7049 643e 0a20 2020 2020 203c 6172 7469  pId>.      <arti\n+00000ae0: 6661 6374 4964 3e64 7562 626f 2d73 6572  factId>dubbo-ser\n+00000af0: 6961 6c69 7a61 7469 6f6e 2d68 6573 7369  ialization-hessi\n+00000b00: 616e 323c 2f61 7274 6966 6163 7449 643e  an2</artifactId>\n+00000b10: 0a20 2020 2020 203c 7665 7273 696f 6e3e  .      <version>\n+00000b20: 247b 7072 6f6a 6563 742e 7061 7265 6e74  ${project.parent\n+00000b30: 2e76 6572 7369 6f6e 7d3c 2f76 6572 7369  .version}</versi\n+00000b40: 6f6e 3e0a 2020 2020 2020 3c73 636f 7065  on>.      <scope\n+00000b50: 3e74 6573 743c 2f73 636f 7065 3e0a 2020  >test</scope>.  \n+00000b60: 2020 3c2f 6465 7065 6e64 656e 6379 3e0a    </dependency>.\n+00000b70: 2020 2020 3c64 6570 656e 6465 6e63 793e      <dependency>\n+00000b80: 0a20 2020 2020 203c 6772 6f75 7049 643e  .      <groupId>\n+00000b90: 636f 6d2e 676f 6f67 6c65 2e63 6f64 652e  com.google.code.\n+00000ba0: 6773 6f6e 3c2f 6772 6f75 7049 643e 0a20  gson</groupId>. \n+00000bb0: 2020 2020 203c 6172 7469 6661 6374 4964       <artifactId\n+00000bc0: 3e67 736f 6e3c 2f61 7274 6966 6163 7449  >gson</artifactI\n+00000bd0: 643e 0a20 2020 2020 203c 7363 6f70 653e  d>.      <scope>\n+00000be0: 7465 7374 3c2f 7363 6f70 653e 0a20 2020  test</scope>.   \n+00000bf0: 203c 2f64 6570 656e 6465 6e63 793e 0a20   </dependency>. \n+00000c00: 203c 2f64 6570 656e 6465 6e63 6965 733e   </dependencies>\n+00000c10: 0a3c 2f70 726f 6a65 6374 3e0a            .</project>.\n"}]}
