ELF> -@P@8 @@@@888DD HH H  00 0 TTTDDPtd```llQtdRtdHH H /lib64/ld-linux-x86-64.so.2GNU GNU.>JD 3Է899:)9P ,|o&.!gC4 <Ca1IN\ Hop ["} @ libpng16.so.16_ITM_deregisterTMCloneTableinflate__gmon_start__inflateEndinflateInit2__Jv_RegisterClasses_ITM_registerTMCloneTablepng_get_image_heightpng_create_read_structpng_destroy_read_structpng_create_info_structpng_read_infopng_start_read_imagepng_set_chunk_malloc_maxpng_set_read_fnpng_set_chunk_cache_maxpng_get_error_ptrpng_set_user_limitspng_read_endpng_errorpng_read_rowpng_set_interlace_handlinglibz.so.1inflateReset2libc.so.6fflush__printf_chkexit_IO_putcfopenstrncmp__longjmp_chkperror__stack_chk_failfgetpos__assert_failstrtolfeoffsetpos__errno_locationfseek_setjmp__fprintf_chkstdoutfputcfputsmemcpyfclosemalloc__ctype_b_locstderrfwrite__memcpy_chk__cxa_finalize_IO_getcstrcmpstrerror__libc_start_mainferrorfreeZLIB_1.2.3.4PNG16_0GLIBC_2.3GLIBC_2.11GLIBC_2.14GLIBC_2.3.4GLIBC_2.4GLIBC_2.2.5  4 pL*!ii )3>ti Iii Uui _H  .P -` |h |x Qr Wq } `} cq sq } } 8~ h~ȧ ~Ч ~ا 8 x   @ `    X( q0 8 q@ H HP X Ȃ` h hp x  P   q 0 q x ȅ qȨ Ш qب @ q h r   r  ` /r( 0 8 @ FrP YrX dr` `h p x H     ` r    ȩ `Щ ة  r r r P   8 r( 0 Ѝ@  P HX ` h 0x p r   `  ؐ (Ъ Pت  r    p  ( 08 sH xP ȓX !s` h Pp x   p   8  Ȗ  Xȫ Ы ث 8  Ș  X   8  ؚ(    ( 0 8 @ H P X ` h  p  x          Ȯ Ю خ           ( !0 "8 #@ $H %P &X '` (h )p *x + , - . / 0 1 2 3 4ȯ 5Я 6د 7 8 9@ :HH HtH5B %D @%B f%B f%B f%J f%J f%J f%J f%J f%J f%J f%J f%J f%J f%J f%J f%J f%R f%R f%R f%R f%Z f%Z f%Z f%Z f%Z f%Z f%Z f%Z f%Z f%Z f%Z f%Z f%Z f%Z f%Z f%Z f%Z f%Z f%Z f%Z f%b f%b f%b f%b f%j f%j f%j f%j f%j f%j f%j fAUATHUSH @HH8H|$H=`IHD$ dH%(HD$(1HHD$HD$u3HuHD$H@bH|$HIHxPPD$D$tHt$ H|$1D$H|$H|$1H|$1FHt$H|$HM>H|$HHD$ uH|$H5HkHD$HuH5(IL;uvD$P uA~wuA~tH5HLuD$P9D$P8A~quA~tH5HLtA~vuA~tA-H1LHH|$HL<ZD$Pt,L|$LD$H=V H)HL18L|$L|$@`LyHD$H5HLL$L$DŽ$DŽ$H$HuDŽ$HDŽ$HDŽ$DŽ$DŽ$HDŽ$HDŽ$L$H$GHH$HD$Ht H5IGHHH$ H|$@zH$t H|$HH$HtXHDŽ$RH$D$HtH$HtQH$AFH$A A t'H$A xH|$@HFH$H|$@`D pD$ HD$L$$H|$$ $Ht$(HH'HHHLO IvXHL$ HAH=Ԅ HPIMHHEHPHL$H1L$h ZYD$PHt$(H|$0L¹LL$LD$HD$0LD$LLJ<H|$ LL$HD$0BƄ HD$H|$ 1HHHHPN< IviLL$ HL$8HPH= M1L$X LH|$ txH|$0LLHD$(BƄ<MHD$sHD$0Ht$ J<HD$0BƄ<HD$ D$PHD$0HD$I!D$PBƄ<uHD$ HD$HZCE1HD$f1I^HHPTL=H <H=f DH= H UH)HHvH΀ Ht ]fD]@f.H= H5z UH)HHHH?HHtH Ht ]f]@f.=a u'H=߁ UHt H= ]H]8 @f.H=1y H?u ^fDHA HtUH]@D$D$9~CHcD$GHcD$HfGL$D$9|ڍBvfHcD$HfGL$BwҋD$t!GHcD$f|GuD$D$D$D$HcD$f|GuD$D$D$ߋD$fEL$EtgL$~_L$~YE1E11D9~7DT$E9~ F EDDT$AfIHE9ąuD9ALE1fHw u tCH@AAHD AA D1AAWD DD H9uĉ& $ Df.H 7E513131@3f.FF7fDHcAVAUATIHUSHw@1Ʌ~fTGHHHх[LH9]A\A]A^1VfDLDnfuREt"HDAfu4HEu[LH=>9]A\A]A^f.H 91HLIcEL58t'L]1LLHu[]A\A]A^H AHcHDL8HOH=^~ IH91@L8GLn8tUSHHHLD$HHKH=} PLD$H8I1XZH[]fDG L>@GuAG L7DL83@L8#@L7@L7Jff.USHHDu;8Hu^H}@=w؃4H[]f.M@H7E"HaMH[]ÐH}@tEH}@!EfDAUATIUSI11HL4tÃuA]H[]A\A]ÐSH'Hu[DHھH[USHH t|H%E<H HE<H tJHDH< uJHDH<H[]HD<HDH< tH~DH<H[]afHD<Rf.AVAUATUStqIHL%76OI$f.H_IA]t6IBfx7 u1ILHA]u[]A\A]A^HAUATAUSHHHHu~KH{PDHH@HtFA8xD=TADIu5t4H5z AD$:H4=HcH,uH y H=35H 4SH551mL-y {LHkH5y L-sy { LH@H5Yy gH5Hy H H59y GH{H5$y GH5y &H ;4BH C46H 9*H 3H H3H 4H 4DHHDf.SHgHھH,HtFfTOHHHuf.AeDpHS1ff.HY;HcH@H\3HQ3HN3H3Hj3HN3H13H3H2H63USHHLPHH"H@I,8HxHI1HI@HIIXH@HHH[]H@uM`XLHH I`IhHII(A,Aǁ|AǁAL@H[]H ;H52H=(2 (H ;H51H=1 H :H51H=1H :H51H=1f.~WLH-l.HCH5qq xDI=DKHDCDH5S.HH1H5q s0H{$H5"q 0s@Hq H{4uH5p HCH5p HxH5p xH{P4t HCuIHH߾[]fD;GDH-r-Hm-H-b-HEfH먐HGH5Ep xD"IKDH5,-H¿1s0Hp H{$gH5o HH,H5o HHDSHH@u[H{H,HSHH@ 9u[6tCH,HUSHHH@tEw H[]HG,HfAWAVAUATUSH8DdH %(HL$(1HOt$EHL$7IHGPLl$'HO4H-&2D$H$HD$&MHL$IIH|$-EƈD$&~AukAAC!ADlj)@)AD9tAA9MDƈD$&AADžAMuPAEX1M}hAEp1H<$AUppA)ӃHctHDAMADžAv@In4HAF@AFX\$Av0)IF$A+VXHH$AAF0DHL$(dH3 %(DH8[]A\A]A^A_fDt AUXkM}hAEpIMHH=*Au@Im4AHIAE@AEX'@tAuXhAu@H|$AMXAE@H 0H5V(H={6 yfAIEM1LfDMIFAv@In4AHAF@AFXnAAEDu8OAAADžAf9tփ@t$&f.1LYD$D$9D$Au0T$I}$E1AE0AELIEMfEE;FHEf@INELi(L $1E1IfA<2ffA|5DEڃHD9|L $DYHi L $1E1fDA<1Aff|5DE҃HA9|DQ,AATAAUE;FDtH &H5H=}7H &H5H= t$1Ƀl$xBHcT$pW HcL$LcD$ OfBGDD$D9u fuD$ l$yf.AWAVAAUATAUSAHHHH,dH%(HD$81~_H ha H=v B,H5Ea D0(HH=%a E1A H0A9tBK<0  sFFowgFIgeMRHcDGKbBIfHD(D,HH HD$8dH3%(a HH[]A\A]A^A_BGRsTIBsLACpsYHp@B@ VfDTADITHH H@H xDTADI (P@HD(D,HHHH@HFPFL LiAU A;UB ,TADIAE F@AD%H>H0LJ41H H@HcC<9FA#H)H' n +H{Hy@EMIt,SNRtf1HXD,LD(HLeL@PCCiAEPAELltXTiHH I}Am@Iu0E1LJ4wf.ADEHD}Eu@uH4AHAw FfDt;H߃AuAl-HAD9uHlH@XHǃ@hLHHH{ H f.TSIhtpPCCiB&cARft@AMAgBLACstTLPsl@BstXTzHHEI}Eu@Iu01LJ4E~Aw*f.E9DHDuhuH\uH^@RDHIIA}@ I}Iu0ALJ4,1H߉AuC$A1H߉AuH߉C(H߈C,H߈C-H߈C.H߈C/s,{-C0AK-H=gHc HfDLC0TFf9%Hf9@H>H0LJ4JHHHGHG @G(G,G0mH@B@ǃ<@rf1HXHD(D,H8H@@P@LfDATADIH H5H=p @H\H${tXTi?tXTz':Ds$yK(}{.U{/-<AE1Ld$2D$HD$.HD$HC2HD$fs$AKAnED)A)D):Auf.EWD{idat == NULLfile->chunk == NULLfile->chunk != NULLa_digits > 0supfaststdfastdefaultmaximumcur != idat->idat_list_tailcur != NULL && cur->count > 0cur != NULL[no message]unexpected : %szlib error: %d (%s) (%s) CHKTFBOK OPT[no_message] %s %s %d %d SKP %s %d %s fgetposreskiprereadinvalid distance too far backextra compressed datazlib->rewrite_offset == 0fsetpos1.2.8zlib checkum[truncated]zlib->state >= 0test_bits == 15zlib.ok_bits == max_bits %lu 0x%.8x 0x%.8x bad CRC in critical chunkskipped: bad CRCIHDR lengthIHDR: colour typeIHDR: bit depthIHDR: widthIHDR: heightIHDR: compression methodIHDR: filter methodIHDR: interlace methodtoo shortiTXt chunk lengthextra uncompressed datacould not uncompress IDATnext_type == png_IDATout of memoryread beyond IEND %lu SYNC damaged PNG streamread callback for 0 bytesfile->read_count == 0not a PNG (too short)not a PNG (signature)file->state == STATE_CHUNKSnot a PNG (IHDR)file->read_count == 8idat != NULLread beyond end of IDAT %lu 0x%.8x pending rewritewrite byte--debug--max=--max--optimize--out=--suffix=--prefix=--strip=none--strip=crc--strip=unsafe--strip=unused--strip=transform--strip=color--strip=all--errors--quietFILE %s -> %s rbwboutput write error--warnings--verbose OPERATION the file. --optimize (-o): by the above options: values. MESSAGES --quiet (-q): --errors (-e): --warnings (-w): OUTPUT --out=: --suffix=: --prefix=: INTERNAL OPTIONSEXIT CODES *** SUBJECT TO CHANGE *** non-zero code is returned). invalid arguments.DESCRIPTION pngfix: errors). be written to a new file. CHANGE in the future: The various fields are$2 reason: One of:xXhо0@$4XXXX0`0$pIDAT_endrechunk_lengthprocess_IDATprocess_iTXtzlib_advancezlib_runzlib_resetzlib_checkprocess_zTXt_iCCPuarb_mult32calc_image_sizeprocess_chunkread_callbackIDAT_initallocate0w,aQ mjp5c飕d2yҗ+L |~-d jHqA}mQDžӃVlkdzbeO\lcc=  n;^iLA`rqgjm Zjz  ' }Dңhi]Wbgeq6lknv+ӉZzJgo߹ホCՎ`~ѡ8ROggW?K6H+ L J6`zA`Ugn1yiFafo%6hRw G "/&U;( Z+j\1е,[d&c윣ju m ?6grWJz+{8 Ғ |! ӆBhn[&wowGZpj;f\ eibkaElx TN³9a&g`MGiIwn>JjѮZf @;7SŞϲG0򽽊º0S$6к)WTg#.zfJah]+o*7 Z-!abcdefghijklmnopqrstuvwxyz56789@ABCDEFGHIJKLMNOPQRSTUVWXYZ01234Usage: %s {[options] png-file} idat->idat_index == idat->idat_length && idat->idat_length == cur->lengths[count]zlib->z.avail_out == 0 || zlib->z.avail_in == 0zlib->z.avail_in == 0 || endrc != ZLIB_OKzlib->rewrite_offset < chunk->chunk_lengthfile->chunk->chunk_type == png_IDATfile->image_digits >= 1 && file->image_digits <= 5chunk != NULL && file->idat == NULLfile->idat != NULL && file->chunk != NULLIDAT: uncompressed data too small(file->status_code & TRUNCATED) == 0(file->status_code & TRUNCATED) != 0length == sig1 && type == sig2idat->idat_index == idat->idat_lengthidat->idat_count == cur->count%s: output file name too long: %s%s%s %s: output file name too long: %s%s Tests, optimizes and optionally fixes the zlib header in PNG files. Optionally, when fixing, strips ancilliary chunks from the file. By default files are just checked for readability with a summary of the of zlib issues founds for each compressed chunk and the IDAT stream in Find the smallest deflate window size for the compressed data. --strip=[none|crc|unsafe|unused|transform|color|all]: none (default): Retain all chunks. crc: Remove chunks with a bad CRC. unsafe: Remove chunks that may be unsafe to retain if the image data is modified. This is set automatically if --max is given but may be cancelled by a later --strip=none. unused: Remove chunks not used by libpng when decoding an image. This retains any chunks that might be used by libpng image transformations. transform: unused+bKGD. color: transform+iCCP and cHRM. all: color+gAMA and sRGB. Only ancillary chunks are ever removed. In addition the tRNS and sBIT chunks are never removed as they affect exact interpretation of the image pixel values. The following known chunks are treated specially gAMA, sRGB [all]: These specify the gamma encoding used for the pixel cHRM, iCCP [color]: These specify how colors are encoded. iCCP also specifies the exact encoding of a pixel value; however, in practice most programs will ignore it. bKGD [transform]: This is used by libpng transforms. --max=: Use IDAT chunks sized . If no number is given the the IDAT chunks will be the maximum size permitted; 2^31-1 bytes. If the option is omitted the original chunk sizes will not be changed. When the option is given --strip=unsafe is set automatically. This may be cancelled if you know that all unknown unsafe-to-copy chunks really are safe to copy across an IDAT size change. This is true of all chunks that have ever been formally proposed as PNG extensions. By default the program only outputs summaries for each file. Do not output the summaries except for files that cannot be read. With two --quiets these are not output either. Output errors from libpng and the program (except too-far-back). Output warnings from libpng. By default nothing is written. Write the optimized/corrected version of the next PNG to . This overrides the following two options Set --out= for all following files unless overridden on a per-file basis by explicit --out. Set --out= for all the following files unless overridden on a per-file basis by explicit --out. These two options can be used together to produce a suffix and prefix. The program exit code is value in the range 0..127 holding a bit mask of the following codes. Notice that the results for each file are combined together - check one file at a time to get a meaningful error code! 0x01: The zlib too-far-back error existed in at least one chunk. 0x02: At least one chunk had a CRC error. 0x04: A chunk length was incorrect. 0x08: The file was truncated. Errors less than 16 are potentially recoverable, for a single file if the exit code is less than 16 the file could be read (with corrections if a 0x10: The file could not be read, even with corrections. 0x20: The output file could not be written. 0x40: An unexpected, potentially internal, error occurred. If the command line arguments are incorrect the program exits with exit 255. Some older operating systems only support 7-bit exit codes, on those systems it is suggested that this program is first tested by supplying checks each PNG file on the command line for errors. By default errors are not output and the program just returns an exit code and prints a summary. With the --quiet (-q) option the summaries are suppressed too and the program only outputs unexpected errors (internal errors and file open Various known problems in PNG files are fixed while the file is being read The exit code says what problems were fixed. In particular the zlib error: "invalid distance too far back" caused by an incorrect optimization of a zlib stream is fixed in any compressed chunk in which it is encountered. An integrity problem of the PNG stream caused by a bug in libpng which wrote an incorrect chunk length is also fixed. Chunk CRC errors are automatically fixed up. Setting one of the "OUTPUT" options causes the possibly modified file to Notice that some PNG files with the zlib optimization problem can still be read by libpng under some circumstances. This program will still detect and, if requested, correct the error. The program will reliably process all files on the command line unless either an invalid argument causes the usage message (this message) to be produced or the program crashes. The summary lines describe issues encountered with the zlib compressed stream of a chunk. They have the following format, which is SUBJECT TO chunk reason comp-level p1 p2 p3 p4 file p1 through p4 vary according to the 'reason'. There are always 8 space separated fields. Reasons specific formats are: chunk ERR status code read-errno write-errno message file chunk SKP comp-level file-bits zlib-rc compressed message file chunk ??? comp-level file-bits ok-bits compressed uncompress file$1 chunk: The chunk type of a chunk in the file or 'HEAD' if a problem is reported by libpng at the start of the IDAT stream. CHK: A zlib header checksum was detected and fixed. TFB: The zlib too far back error was detected and fixed. OK : No errors were detected in the zlib stream and optimization was not requested, or was not possible. OPT: The zlib stream window bits value could be improved (and was). SKP: The chunk was skipped because of a zlib issue (zlib-rc) with explanation 'message' ERR: The read of the file was aborted. The parameters explain why.$3 status: For 'ERR' the accumulated status code from 'EXIT CODES' above. This is printed as a 2 digit hexadecimal value comp-level: The recorded compression level (FLEVEL) of a zlib stream expressed as a string {supfast,stdfast,default,maximum}$4 code: The file exit code; where stop was called, as a fairly terse string {warning,libpng,zlib,invalid,read,write,unexpected}. file-bits: The zlib window bits recorded in the file.$5 read-errno: A system errno value from a read translated by strerror(3). zlib-rc: A zlib return code as a string (see zlib.h). ok-bits: The smallest zlib window bits value that works.$6 write-errno:A system errno value from a write translated by strerror(3). compressed: The count of compressed bytes in the zlib stream, when the reason is 'SKP'; this is a count of the bytes read from the stream when the fatal error was encountered.$7 message: An error message (spaces replaced by _, as in all parameters), uncompress: The count of bytes from uncompressing the zlib stream; this may not be the same as the number of bytes in the image.$8 file: The name of the file (this may contain spaces).;l,p  0(@X0pP0@px@Px0Pp 0xPPP0p`@в000` zRx 0+zRx $FJ w?;*3$"D\t~aXC:\EBB H(A0c (P BBBM ~ (P BBBT P(A BBB44x$oAL0N8L@\8A0DAA4lpAAG z AAK g FAB 4?BBD A(K0b(C ABB)AQ F L<BBD A(R`(A ABB4<ACL v AAH @ AAN <tBBB A(A0y (A BBBH $BBD A(J0GA aiAAZ ,TDȗ4\pAAG  AAH  AAA D~FBA A(G0d(C ABBK0 6,HcDf F W I H H F A $nDJ A ,D؛BDH lAB<t8BBH A(J08F@K(A ABB,AAG  IAK x0AQ A ?A[ A ,$GAAG e CAA LTȞBBB B(A0A8Dp 8A0A(B BBBG d'BBB B(A0A8GP 8A0A(B BBBG  8A0A(B BBBH  0AQ A L,BBB B(D0A8J| 8A0A(B BBBC |SL BBE B(D0A8JS 8A0A(B BBBI L&BBB B(A0A8G`O 8A0A(B BBBA L4 BBE B(D0A8Dp 8A0A(B BBBJ \X7 BBB B(H0A8L%m 8A0A(B BBBD %A&R%A%DeBBE B(H0H8M@r8A0A(B BBB,  .-||QrWq}`}cqsq}}8~h~~~8x@`XqqHȂhPq0qxȅqq@qhrr`/rFrYrdr`H`r `rrrP8rЍ H0pr`ؐ(Pr p0sxȓ!sP p8ȖX8ȘX8ؚ   TjH P oH k    oo0 oo o0  xV4޼fbc92e3ed94a9599441b0ce78f33cad4b7c438.debugx.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.init.plt.plt.got.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.jcr.data.rel.ro.dynamic.data.bss.gnu_debuglink 88TT !tt$4o(> FHHkNo v[o0 0 j tz!!HTjTj `j`j1 ``lММtH HP PX X` ` 0 0   0 4L